汇编cmp比较指令解释,其影响CF,ZF,OF,AF,PF

例:cmp oprd1,oprd2
为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.

判断相等:
若执行指令后:ZF=1,则说明两个数相等,因为zero为1说明结果为0.

当无符号时:

若CF=1,则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1<oprd2;

CF=0,则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2.

对于有符号判断:
影响判断的标志位是OF,SF

OF:判断溢出,1溢出,0无溢出
SF:判断正负,1负,0非负      (不影响PF,纯粹记忆一下:奇偶性,1偶,0奇 )

可根据这两个标志位判断正负,是否溢出
判断前,已知条件:
CMP做减法操作

当OF=1时有溢出,SF=0时,即操作数为正,说明dest<source

说明dest-source有溢出,dest-source>0不成立

其它类似

有符号这里说的更详细:
https://blog.csdn.net/feixiang3839/article/details/82666090

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值