JCC

汇编条件判断整理(CMP/TEST的实现)
执行到CMP指令的时候会读取这两个寄存器的内容,并加以减法运算,结果本身不保留,并按照结果设置符号位(属算术运算)。
当执行到TEST指令的时候会读取这两个寄存器的内容,并加以按位与运算,结果不保留,并按照结果设置符号位(属逻辑运算)。

JCC指令含义检查符号C含义
JZ/JE结果若为0则跳转,若相等则跳转ZF=1if(i == j);if(i = 0);
JNZ/JNE若不为0则跳转;若不相等则跳转ZF=0if(i != j);if(i != 0);
JS若为负则跳转SF=1if (i < 0);
JNS若为正则跳转SF=0if (i > 0);
JP/JPE若1出现的次数为偶数则跳转PF=1(null)
JNP/JPO若1出现次数为奇数则跳转PF=0(null)
JO若溢出则跳转OF=1(null)
JNO若无溢出则跳转OF=0(null)
JC/JB/JNAE若进位则跳转;若低于则跳转;若不高于等于则跳转(无符号数)CF=1if (i < j);
JNC/JNB/JAE若无进位则跳转;若不低于则跳转;若高于等于则跳转 (无符号数)CF=0if (i >= j);
JBE/JNA若低于等于则跳转;若不高于则跳转(无符号数)ZF=1或CF=1if (i <= j);
JNBE/JA若不低于等于则跳转;若高于则跳转(无符号数)ZF=0或CF=0if (i > j);
JL/JNGE若小于则跳转;若不大于等于则跳转(有符号数)SF != OFif (si < sj);
JNL/JGE若不小于则跳转;若大于等于则跳转(有符号数)SF = OFif (si >= sj);
JLE/JNG若小于等于则跳转;若不大于则跳转(有符号数)SF != OF 或 ZF=1if (si <= sj);
JNLE/JG若不小于等于则跳转;若大于则跳转(有符号数)SF=0F 且 ZF=0if(si>sj)
VC格式OVUPEIPLZRACPECY
FLAGS位OFDFIFSFZFAFPFCF
含义溢出方向中断允许符号为零辅助进位奇偶进位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值