【汇编】JCC
概述: JCC 汇编指令
0x01 指令全英
指令 | FALG | |
---|---|---|
A | above | ZF=0 OR CF=0 |
B | blow | CF=1 |
E | equal | ZF=1 |
N | not | |
C | carry | CF=1 |
G | great | SF==OF && ZF=0 |
L | less | SF!=OF |
O | overflow | OF=1 |
P | parity even 奇偶 | PF=1 |
S | sign为负 | SF=1 |
Z | zero为0 | ZF=1 |
0x02 基于特定标志位值的跳转
指令 | 说明 |
---|---|
JC | 进位跳转(进位标志位置 1) |
JNC | 无进位跳转(进位标志位清零) |
JZ/JE | 结果为零则跳转(相等时跳转) |
JNZ | 结果不为零则跳转(不相等时跳转) |
JS | 结果为负则跳转 |
JNS | 结果为非负则跳转 |
JP | 结果中1的个数为偶数则跳转 |
JNP | 结果中1的个数为奇数则跳转 |
JO | 结果溢出了则跳转 |
JNO | 结果没有溢出则跳转 |
0x03 JCC满足条件时跳转
操作码 | 指令 | 说明 |
---|---|---|
77 cb | JA rel8 | 高于(CF=0 且 ZF=0)时短跳转 |
73 cb | JAE rel8 | 高于或等于 (CF=0) 时短跳转 |
72 cb | JB rel8 | 低于 (CF=1) 时短跳转 |
76 cb | JBE rel8 | 低于或等于(CF=1 或 ZF=1)时短跳转 |
72 cb | JC rel8 | 进位 (CF=1) 时短跳转 |
E3 cb | JCXZ rel8 | CX 寄存器为 0 时短跳转 |
E3 cb | JECXZ rel8 | ECX 寄存器为 0 时短跳转 |
74 cb | JE rel8 | 等于 (ZF=1) 时短跳转 |
7F cb | JG rel8 | 大于(ZF=0 且 SF=OF)时短跳转 |
7D cb | JGE rel8 | 大于或等于 (SF=OF) 时短跳转 |
7C cb | JL rel8 | 小于 (SF<>OF) 时短跳转 |
7E cb | JLE rel8 | 小于或等于(ZF=1 或 SF<>OF)时短跳转 |
76 cb | JNA rel8 | 不高于(CF=1 或 ZF=1)时短跳转 |
72 cb | JNAE rel8 | 不高于或等于 (CF=1) 时短跳转 |
73 cb | JNB rel8 | 不低于 (CF=0) 时短跳转 |
77 cb | JNBE rel8 | 不低于或等于(CF=0 或 ZF=0)时短跳转 |
73 cb | JNC rel8 | 无进位 (CF=0) 时短跳转 |
75 cb | JNE rel8 | 不相等 (ZF=0) 时短跳转 |
7E cb | JNG rel8 | 不大于(ZF=1 或 SF<>OF)时短跳转 |
7C cb | JNGE rel8 | 不大于或等于 (SF<>OF) 时短跳转 |
7D cb | JNL rel8 | 不小于 (SF=OF) 时短跳转 |
7F cb | JNLE rel8 | 不小于或等于(ZF=0 且 SF=OF)时短跳转 |
71 cb | JNO rel8 | 不上溢 (OF=0) 时短跳转 |
7B cb | JNP rel8 | 奇校验 (PF=0) 时短跳转 |
79 cb | JNS rel8 | 正数时 (SF=0) 短跳转 |
75 cb | JNZ rel8 | 不为零 (ZF=0) 时短跳转 |
70 cb | JO rel8 | 上溢 (OF=1) 时短跳转 |
7A cb | JP rel8 | 偶校验 (PF=1) 时短跳转 |
7A cb | JPE rel8 | 偶校验 (PF=1) 时短跳转 |
7B cb | JPO rel8 | 奇校验 (PF=0) 时短跳转 |
78 cb | JS rel8 | 负数 (SF=1) 时短跳转 |
74 cb | JZ rel8 | 为零 (ZF=1) 时短跳转 |
0F 87 cw/cd | JA rel16/32 | 高于(CF=0 且 ZF=0)时近跳转 |
0F 83 cw/cd | JAE rel16/32 | 高于或等于 (CF=0) 时近跳转 |
0F 82 cw/cd | JB rel16/32 | 低于 (CF=1) 时近跳转 |
0F 86 cw/cd | JBE rel16/32 | 低于或等于(CF=1 或 ZF=1)时近跳转 |
0F 82 cw/cd | JC rel16/32 | 进位 (CF=1) 时近跳转 |
0F 84 cw/cd | JE rel16/32 | 相等 (ZF=1) 时近跳转 |
0F 84 cw/cd | JZ rel16/32 | 为 0 (ZF=1) 时近跳转 |
0F 8F cw/cd | JG rel16/32 | 大于(ZF=0 且 SF=OF)时近跳转 |
操作码 | 指令 | 说明 |
---|---|---|
0F 8D cw/cd | JGE rel16/32 | 大于或等于 (SF=OF) 时近跳转 |
0F 8C cw/cd | JL rel16/32 | 小于 (SF<>OF) 时近跳转 |
0F 8E cw/cd | JLE rel16/32 | 小于或等于(ZF=1 或 SF<>OF)时近跳转 |
0F 86 cw/cd | JNA rel16/32 | 不高于(CF=1 或 ZF=1)时近跳转 |
0F 82 cw/cd | JNAE rel16/32 | 不高于或等于 (CF=1) 时近跳转 |
0F 83 cw/cd | JNB rel16/32 | 不低于 (CF=0) 时近跳转 |
0F 87 cw/cd | JNBE rel16/32 | 不低于或等于(CF=0 或 ZF=0)时近跳转 |
0F 83 cw/cd | JNC rel16/32 | 无进位 (CF=0) 时近跳转 |
0F 85 cw/cd | JNE rel16/32 | 不相等 (ZF=0) 时近跳转 |
0F 8E cw/cd | JNG rel16/32 | 不大于(ZF=1 或 SF<>OF)时近跳转 |
0F 8C cw/cd | JNGE rel16/32 | 不大于或等于 (SF<>OF) 时近跳转 |
0F 8D cw/cd | JNL rel16/32 | 不小于 (SF=OF) 时近跳转 |
0F 8F cw/cd | JNLE rel16/32 | 不小于或等于(ZF=0 且 SF=OF)时近跳转 |
0F 81 cw/cd | JNO rel16/32 | 不上溢 (OF=0) 时近跳转 |
0F 8B cw/cd | JNP rel16/32 | 奇校验 (PF=0) 时近跳转 |
0F 89 cw/cd | JNS rel16/32 | 正数 (SF=0) 时近跳转 |
0F 85 cw/cd | JNZ rel16/32 | 不为零 (ZF=0) 时近跳转 |
0F 80 cw/cd | JO rel16/32 | 上溢 (OF=1) 时近跳转 |
0F 8A cw/cd | JP rel16/32 | 偶校验 (PF=1) 时近跳转 |
0F 8A cw/cd | JPE rel16/32 | 偶校验 (PF=1) 时近跳转 |
0F 8B cw/cd | JPO rel16/32 | 奇校验 (PF=0) 时近跳转 |
0F 88 cw/cd | JS rel16/32 | 负数 (SF=1) 时近跳转 |
0F 84 cw/cd | JZ rel16/32 | 为 0 (ZF=1) 时近跳转 |
【汇编】JCC
https://hodlyounger.github.io/2023/11/20/B_Code/汇编/【汇编】JCC/