【摘要】:与加法指令类似,该指令的执行会对PSW中的进位标志CY、辅助进位标志AC、溢出标志OV及奇偶校验标志P产生影响。若进行不带进位的减法运算,要在运算前使用CLR C等指令将进位标志清0。
1.带进位减法指令SUBB
视频:SUBB指令调试
这组带进位的减法指令的功能是以累加器A中内容作为被减数,减去指定的操作数和进位标志,将运算结果存入累加器A中。与加法指令类似,该指令的执行会对PSW中的进位标志CY、辅助进位标志AC、溢出标志OV及奇偶校验标志P产生影响。
如果运算中被减数D7位需要借位,则CY=1,否则CY=0;如果D3需要借位,则AC=1,否则AC=0。若把参加运算的数看作是带符号数,如果出现一个正数减一个负数得到的是负数,或一个负数减一个正数结果为正数,说明运算结果超过8位二进制补码所表示的范围,则OV被置1,否则OV被清0。
注意:在MCS-51指令系统中,没有不带进位(实为借位)减法。若进行不带进位的减法运算,要在运算前使用CLR C等指令将进位标志清0。
例如:设(A)=0C9H,(R2)=54H,PSW=80H,执行指令:
则运算结果为(A)=74H;(PSW)=04H,其中(CY)=0,(AC)=0,(OV)=1,(P)=0。(www.xing528.com)
2.减1指令DEC
视频:DEC指令调试
这组指令的功能是把所指的操作数减1,若原来操作数为00H,执行该指令后将溢出为0FFH。除“DEC A”影响标志P外,这组指令不影响其他任何标志位。
例如:设(A)=45H,(R1)=30H,(30H)=00H,(R3)=50H,(20H)=7FH,执行指令:
则运算结果为(A)=44H,(30H)=0FFH,(R3)=4FH,(20H)=7EH,(P)=0。
视频:MUL指令调试
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。