当前位置: 首页 > 工具软件 > JCC > 使用案例 >

JCC

端木冷勋
2023-12-01

汇编条件判断整理(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
含义溢出方向中断允许符号为零辅助进位奇偶进位
 类似资料: