下面的指令,根据标志位状态的不同,都可能会影响到CS和IP寄存器的值,也就是实现CPU跳转。

一、所有数字类型

指令名称 中文解释 针对数字类型 相关标志位
JE OR JZ 结果为零则跳转[相等时跳转] ALL ZF=1
JNE OR JNZ 结果不为零则跳转[不相等时跳转] ALL ZF=0
JP OR JPE 结果低8位中1的个数为偶数则跳转 ALL PF=1
JNP OR JPO 结果低8位中1的个数为奇数则跳转 ALL PF=0
JCXZ cx=0 则跳转 ALL 无关标志位

二、无符号数字类型

指令名称 中文解释 针对数字类型 相关标志位
JB OR JNAE 小于则跳转 无符号数 CF=1
JNB OR JAE 大于等于则跳转 无符号数 CF=0
JBE OR JNA 小于等于则跳转 无符号数 CF=1 OR ZF=1
JNBE OR JA 大于则跳转 无符号数 CF=0 AND ZF=0

三、有符号数字类型

指令名称 中文解释 针对数字类型 相关标志位
JS 结果为负则跳转 有符号数 SF=1
JNS 结果为非负则跳转 有符号数 SF=0
JO 结果溢出了则跳转 有符号数 OF=1
JNO 结果没有溢出则跳转 有符号数 OF=0
JL OR JNGE 小于则跳转 有符号数 SF≠ OF
JNL OR JGE 大于等于则跳转 有符号数 SF=OF
JLE OR JNG 小于等于则跳转 有符号数 ZF=1 OR SF≠ OF
JNLE OR JG 大于则跳转 有符号数 ZF=0 AND SF=OF