微型计算机指令系统-算术运算指令-减法

https://blog.youkuaiyun.com/weixin_45609535/article/details/124499616

以上是各种字母标志的综合

普通减法SUB,带借位减法SBB,减1DEC,求补NEG,比较CMP,减法ASCII调整ASS,十进制调整DAS。

1.1 SUB

SUB dest,src;(dest)<--(dest)-(src)

目标-源,结果送到目标。

无符号数小减大,产生借位,CF=1.有符号数相减结果溢出,OF=1.(溢出标志位)

1.2 SBB

SBB dest,src;(dest)<--(dest)-(src)-(CF)

带借位减法,主要用于多字节减法。

1.3 DEC

eg:DEC dest

目标操作数自减1,不影响进/借位标志CF。常用于循环程序中修改循环次数。

目标操作数不能是段寄存器。与自增指令INC的操作对象一样。

1.4 NEG

eg:NEG dest;(dest)<---0 -(dest)

求补指令 ,可以得到负数的绝对值。p71 2.4

1.5 CMP

CMP dest,src;(dest)-(src)

目标操作数减源操作数但结果不送到源操作数中,只影响标志位。

两个被比较的内容相同,(ZF)= 1。(ZF是零标志位)

1.6 AAS

减法ASCII调整,调整之后得到的结果是正确结果。个位在AL,十位在AH。不压缩BCD码(加法AAA)

如果得到的AL大于9或者AF(四位运算,辅助进位标志,BCD码专用,为1时有进位/借位,否则为0) 八位运算是CF。

AL-6,AH-1,AF,CF置1。

否则不变。

1.7 DAS

十进制调整,隐含寄存器操作数AL。压缩BCD码(加法DAA)

如果AL大于9或者进/借位标志AF=1

AL-6,AF置1。

如果AL大于9FH,或者进/借位标志CF=1

AL-60H,CF置1。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值