(该类指令有加、减、乘、除四种,其特点是运算结果影响程序状态寄存器 PSW中的标志位)
1.加法类运算指令
(1)加法指令(影响 CY、OV、AC、P)
1 2 3 4
| ADD A,#data ;A<-(A)+data ADD A,Rn ;A<-(A)+(Rn) ADD A,direct ;A<-(A)+(direct) ADD A,@Ri ;A<-(A)+((Ri))
|
(2)带进位位 CY 的加法(影响 CY、OV、AC、P)
1 2 3 4
| ADDC A,#data ;A<-(A)+data+CY ADDC A,Rn ;A<-(A)+(Rn)+CY ADDC A,direct ;A<-(A)+(direct)+CY ADDC A,@Ri ;A<-(A)+((Ri))+CY
|
(3)加一指令
1 2 3 4
| INC A ;A<-(A)+1 (影响P) INC Rn ;Rn<-(Rn)+1 INC direct ;direct<-(direct)+1 INC @Ri ;(Ri)<-((Ri))+1
|
2.减法运算指令
(1)带借位位 CY 的减法(影响 CY、OV、AC、P)
1 2 3 4
| SUBB A,#data ;A<-(A)-data-CY SUBB A,Rn ;A<-(A)-(Rn)-CY SUBB A,direct ;A<-(A)-(direct)-CY SUBB A,@Ri ;A<-(A)-((Ri))-CY
|
(2)减一指令
1 2 3 4
| DEC A ;A<-(A)-1 (影响P) DEC Rn ;Rn<-(Rn)-1 DEC direct ;direct<-(direct)-1 DEC @Ri ;(Ri)<-((Ri))-1
|
3.乘除指令
(1)乘法指令
1 2
| MUL AB ;B、A<-(A)*(B) 影响OV、P ;若(B)>0,则OV=1;否则OV=0
|
(2)除法指令
1 2
| DIV AB ;A、B<-(A)/(B) 影响OV、P ;A中存放被除数,B中存放除数,执行之后A中存放商,B中存放余数。若除数为0,则OV=1,表示除法无意义
|
4.十进制调整指令
十进制调整指令用于 BCD 码十进制数加法运算结果进行调整。
调整方法为:
- A 中低四位大于 9 或标志位 AC=1,则低四位加 6 调整,即
A<-(A)+06H
- A 中高四位大于 9 或标志位 CY=1,则高四位加 6 调整,即
A<-(A)+06H