概述: JCC 汇编指令

0x01 指令全英

指令FALG
AaboveZF=0 OR CF=0
BblowCF=1
EequalZF=1
Nnot
CcarryCF=1
GgreatSF==OF && ZF=0
LlessSF!=OF
OoverflowOF=1
Pparity even 奇偶PF=1
Ssign为负SF=1
Zzero为0ZF=1

0x02 基于特定标志位值的跳转

指令说明
JC进位跳转(进位标志位置 1)
JNC无进位跳转(进位标志位清零)
JZ/JE结果为零则跳转(相等时跳转)
JNZ结果不为零则跳转(不相等时跳转)
JS结果为负则跳转
JNS结果为非负则跳转
JP结果中1的个数为偶数则跳转
JNP结果中1的个数为奇数则跳转
JO结果溢出了则跳转
JNO结果没有溢出则跳转

0x03 JCC满足条件时跳转

操作码指令说明
77 cbJA rel8高于(CF=0 且 ZF=0)时短跳转
73 cbJAE rel8高于或等于 (CF=0) 时短跳转
72 cbJB rel8低于 (CF=1) 时短跳转
76 cbJBE rel8低于或等于(CF=1 或 ZF=1)时短跳转
72 cbJC rel8进位 (CF=1) 时短跳转
E3 cbJCXZ rel8CX 寄存器为 0 时短跳转
E3 cbJECXZ rel8ECX 寄存器为 0 时短跳转
74 cbJE rel8等于 (ZF=1) 时短跳转
7F cbJG rel8大于(ZF=0 且 SF=OF)时短跳转
7D cbJGE rel8大于或等于 (SF=OF) 时短跳转
7C cbJL rel8小于 (SF<>OF) 时短跳转
7E cbJLE rel8小于或等于(ZF=1 或 SF<>OF)时短跳转
76 cbJNA rel8不高于(CF=1 或 ZF=1)时短跳转
72 cbJNAE rel8不高于或等于 (CF=1) 时短跳转
73 cbJNB rel8不低于 (CF=0) 时短跳转
77 cbJNBE rel8不低于或等于(CF=0 或 ZF=0)时短跳转
73 cbJNC rel8无进位 (CF=0) 时短跳转
75 cbJNE rel8不相等 (ZF=0) 时短跳转
7E cbJNG rel8不大于(ZF=1 或 SF<>OF)时短跳转
7C cbJNGE rel8不大于或等于 (SF<>OF) 时短跳转
7D cbJNL rel8不小于 (SF=OF) 时短跳转
7F cbJNLE rel8不小于或等于(ZF=0 且 SF=OF)时短跳转
71 cbJNO rel8不上溢 (OF=0) 时短跳转
7B cbJNP rel8奇校验 (PF=0) 时短跳转
79 cbJNS rel8正数时 (SF=0) 短跳转
75 cbJNZ rel8不为零 (ZF=0) 时短跳转
70 cbJO rel8上溢 (OF=1) 时短跳转
7A cbJP rel8偶校验 (PF=1) 时短跳转
7A cbJPE rel8偶校验 (PF=1) 时短跳转
7B cbJPO rel8奇校验 (PF=0) 时短跳转
78 cbJS rel8负数 (SF=1) 时短跳转
74 cbJZ rel8为零 (ZF=1) 时短跳转
0F 87 cw/cdJA rel16/32高于(CF=0 且 ZF=0)时近跳转
0F 83 cw/cdJAE rel16/32高于或等于 (CF=0) 时近跳转
0F 82 cw/cdJB rel16/32低于 (CF=1) 时近跳转
0F 86 cw/cdJBE rel16/32低于或等于(CF=1 或 ZF=1)时近跳转
0F 82 cw/cdJC rel16/32进位 (CF=1) 时近跳转
0F 84 cw/cdJE rel16/32相等 (ZF=1) 时近跳转
0F 84 cw/cdJZ rel16/32为 0 (ZF=1) 时近跳转
0F 8F cw/cdJG rel16/32大于(ZF=0 且 SF=OF)时近跳转
操作码指令说明
0F 8D cw/cdJGE rel16/32大于或等于 (SF=OF) 时近跳转
0F 8C cw/cdJL rel16/32小于 (SF<>OF) 时近跳转
0F 8E cw/cdJLE rel16/32小于或等于(ZF=1 或 SF<>OF)时近跳转
0F 86 cw/cdJNA rel16/32不高于(CF=1 或 ZF=1)时近跳转
0F 82 cw/cdJNAE rel16/32不高于或等于 (CF=1) 时近跳转
0F 83 cw/cdJNB rel16/32不低于 (CF=0) 时近跳转
0F 87 cw/cdJNBE rel16/32不低于或等于(CF=0 或 ZF=0)时近跳转
0F 83 cw/cdJNC rel16/32无进位 (CF=0) 时近跳转
0F 85 cw/cdJNE rel16/32不相等 (ZF=0) 时近跳转
0F 8E cw/cdJNG rel16/32不大于(ZF=1 或 SF<>OF)时近跳转
0F 8C cw/cdJNGE rel16/32不大于或等于 (SF<>OF) 时近跳转
0F 8D cw/cdJNL rel16/32不小于 (SF=OF) 时近跳转
0F 8F cw/cdJNLE rel16/32不小于或等于(ZF=0 且 SF=OF)时近跳转
0F 81 cw/cdJNO rel16/32不上溢 (OF=0) 时近跳转
0F 8B cw/cdJNP rel16/32奇校验 (PF=0) 时近跳转
0F 89 cw/cdJNS rel16/32正数 (SF=0) 时近跳转
0F 85 cw/cdJNZ rel16/32不为零 (ZF=0) 时近跳转
0F 80 cw/cdJO rel16/32上溢 (OF=1) 时近跳转
0F 8A cw/cdJP rel16/32偶校验 (PF=1) 时近跳转
0F 8A cw/cdJPE rel16/32偶校验 (PF=1) 时近跳转
0F 8B cw/cdJPO rel16/32奇校验 (PF=0) 时近跳转
0F 88 cw/cdJS rel16/32负数 (SF=1) 时近跳转
0F 84 cw/cdJZ rel16/32为 0 (ZF=1) 时近跳转