1 / 9

算术运算类指令

算术运算类指令. 一、 指令特点 二、 不带进位的加法指令 三、 带进位的加法指令 四、 带借位的减法指令 五、 加 1 指令 六、 减 1 指令 七、 乘、除法指令 八、 十进制调整指令. 主讲:吴政江. 一、指令特点. 1 、包括加、减、乘、除基本运算共 24 条指令; 2 、除加 1 、减 1 指令外,对 PSW 中的 Cy 、 Ac 、 Ov 、 P 四个标志位都有影响; 3 、助记符: ADD 、 ADDC 、 SUBB 、 INC 、 DEC 、 DA 、 MUL 和 DIV 等 8 种。. 二、 不带进位的加法指令.

abla
Download Presentation

算术运算类指令

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 算术运算类指令 一、指令特点 二、不带进位的加法指令 三、带进位的加法指令 四、带借位的减法指令 五、加1指令 六、减1指令 七、乘、除法指令 八、十进制调整指令 主讲:吴政江

  2. 一、指令特点 1、包括加、减、乘、除基本运算共24条指令; 2、除加1、减1指令外,对PSW中的Cy、Ac、Ov、P四个标志位都有影响; 3、助记符:ADD、ADDC、SUBB、INC、DEC、DA、MUL和DIV等8种。

  3. 二、不带进位的加法指令 • ADD A,#data;A←(A)+ data • ADD A,Rn ;A←(A)+ (Rn) • ADD A,@Ri ;A←(A)+(( Ri)) • ADD A,direct ; A←(A)+ (direct) • 功能:把源操作数和A中的数相加,其结果仍存在A中。 • 对PSW中各位的影响: • 若D7位有进位,则Cy=1,否则Cy=0; • 若D3位有进位,则Ac =1,否则Ac =0; • 若D6和D7中有且只有一个有进位,则Ov=1,否则Ov=0,即Ov=D6 CyD7Cy; • 若结果A中1的个数为奇数,则P=1,否则P=0。 • 例3-16

  4. 三、带进位的加法指令 • ADDC A,#data;A←(A)+ data+ Cy • ADDC A,Rn ;A←(A)+ (Rn)+ Cy • ADDC A,@Ri ;A←(A)+(( Ri))+ Cy • ADDC A,direct ; A←(A)+(direct)+ Cy • 功能:把源操作数和A中的内容及Cy中的值相加,其结果仍存在A中。 • 对PSW中各位的影响:与ADD指令相同。 • 作用:一般用于多字节数的加法运算,低字节相加时可能产生进位,可以通过带进位加法指令将低字节的进位加到高字节上去。高字节求和时必须使用带进位的加法指令。 • 例3-17、例3-18

  5. 四、带借位的减法指令 • SUBB A,#data;A←(A)- data- Cy • SUBB A,Rn ;A←(A)-( Rn) - Cy • SUBB A,@Ri ;A←(A)-(( Ri)) - Cy • SUBB A,direct ; A←(A)-(direct)- Cy • 功能:把A中的内容减去源操作数所指出的内容和进位位标志Cy的值,差存入A中。 • 对PSW中各位的影响: • 若D7位有进位(借位),则Cy=1,否则Cy=0; • 若D3位有进位(借位) ,则Ac =1,否则Ac =0; • 若D6和D7中有且只有一个有进位(借位) ,则Ov=1,否则Ov=0; • 若结果A中1的个数为奇数,则P=1,否则P=0。 • 例3-19

  6. 五、加1指令 • INC A ;A←(A)+1 • INC Rn ; Rn ←( Rn )+1 • INC @Ri ;( Ri)←(( Ri))+1 • INC direct ; direct←( direct)+1 • INC DPTR ;DPTR←(DPTR)+1 • 功能:将源操作数所指定的单元或寄存器中的内容加1,其结果仍送回原操作单元中。前四条是8位数加1指令,最后一条是唯一的16位数加1指令。只有第一条指令对PSW中的奇偶标志位P产生影响,其余指令不会对PSW的任何标志位产生影响。 • 例3-20

  7. 六、减1指令 • DEC A ;A←(A)-1 • DEC Rn ; Rn ←( Rn )-1 • DEC @Ri ;( Ri)←(( Ri))-1 • DEC direct ; direct←( direct)-1 • 功能:将源操作数所指定的单元或寄存器中的内容减1,其结果仍送回原操作单元中。对PSW的影响同INC指令。 • 例3-21

  8. 七、乘、除法指令 • 1、乘法指令 • MUL AB;BA←(A)X(B) • 功能:把A和B中两个8位无符号数相乘,得到16位积,低8位存放在A中,高8位存放在B中。 • 对PSW中各位的影响:若积大于255(FFH),即B的内容不为0时,则Ov=1,否则Ov=0;Cy总是清零;P由A中1的个数的奇偶性确定;对Ac位无影响。(例3-21) • 2、除法指令 • DIV AB;A(商)…B(余数)←A/B • 功能:把A中的8位无符号整数除以B中的8位无符号整数,结果商存放在A中,余数存放在B中。 • 对PSW中各位的影响: Cy总是清零; Ac位无影响; P由A中1的个数的奇偶性确定;若除数为0(B=0),此时Ov=1,说明除法溢出,否则Ov=0。(例3-23)

  9. 八、十进制调整指令 • DA A;若Ac=1或A3~0>9,则A3~0← A3~0+6(A←A+06H);若Cy=1或A7~4>9,则A7~4← A7~4+6(A←A+60H)(由CPU自动判断并执行) • 功能:在进行BCD码加法运算时,用来对BCD码的加法运算结果自动进行修正。一般跟在ADD或ADDC指令之后,用来对加法结果进行修正。 • 为什么要进行修正?在计算机中,十进制数字0~9是用BCD码来表示的。而计算机在进行运算时是按二进制规则进行的(只有ADD、ADDC两条二进制加法指令)。对于4位二进制数有16种状态,对应16个数字,而十进制只用其中的10种状态来表示0~9,因而按二进制规则运算就可能导致错误的结果。因此,必须用DA A指令进行调整。 • 例3-24、例3-25

More Related