首页 > 代码库 > JCC指令
JCC指令
0、JMP
1、JE, JZ 结果为零则跳转(相等时跳转) ZF=1
2、JNE,
JNZ 结果不为零则跳转(不相等时跳转) ZF=0
3、JS 结果为负则跳转 SF=1
4、JNS 结果为非负则跳转 SF=0
5、JP,
JPE 结果中1的个数为偶数则跳转 PF=1
6、JNP, JPO
结果中1的个数为偶数则跳转 PF=0
7、JO 结果溢出了则跳转 OF=1
8、JNO 结果没有溢出则跳转 OF=0
9、JB,
JNAE 小于则跳转 (无符号数) CF=1
10、JNB, JAE 大于等于则跳转 (无符号数)
CF=0
11、JBE, JNA 小于等于则跳转 (无符号数) CF=1 or ZF=1
12、JNBE, JA 大于则跳转(无符号数) CF=0 and ZF=0
13、JL, JNGE 小于则跳转 (有符号数) SF≠ OF
14、JNL, JGE 大于等于则跳转 (有符号数) SF=OF
15、JLE, JNG 小于等于则跳转 (有符号数) ZF=1 or SF≠ OF
16、JNLE, JG 大于则跳转(有符号数) ZF=0 and SF=OF
指令 | 英文 | 中文 |
je | Equal | 等于 |
jne | Not Equal | 不等于 |
jg | Creater | 大于 |
jge | Creater or Equal | 大于等于 |
jng | Not Greater | 不大于 |
jnge | Not Greater or Equal | 不大于等于 |
jl | Less | 小于 |
jle | Less or Equal | 小于等于 |
jnl | Not Less | 不小于 |
jnle | Not Less or Equal | 不小于等于 |
ja | Above | 高于 |
jae | Above or Equal | 高于等于 |
jna | Not Above | 不高于 |
jnae | Not Above or Equal | 不高于等于 |
jb | Below | 低于 |
jbe | Below or Equal | 低于等于 |
jnb | Not Below | 不低于 |
jnbe | Not Below or Equal | 不低于等于 |
jpe | Parity Even | 校验为偶 |
jpo | Parity Odd | 检验为奇 |
非常显而易见的是,如果你英语基础比较好,认识上面那些单词的话,这些指令都可以在短时间内轻松记住。英语基础不太好的人也不要灰心,事实上,根本不需要记住这些指令和它们的测试条件,因为我们平时很少用得了这么多。需要的时候再回过头来查查,这是个好办法,时间一长,自然就记住了。
最后一个要讲述的条件转移指令是
jcxz(jump if CX is
zero),意思是当CX寄存器的内容为零时则转移。执行这条指令时,处理器先测试寄存器CX是否为零。例如: jcxz show
这里,“show”是程序中的一个标号。执行这条指令时,如果CX寄存器的内容为零,则转移;否则不转移,继续往下执行。
JCC指令