一。
JMP 无条件跳转
说明: 不看标志位,直接跳转到目标内存地址
JMP 0046B994H
; 无条件跳转到 0x0046B994 的地方执行
二。
JE(
JZ)/
JNE (
JNZ) 条件跳转
说明: 根据
ZF(ZeroFlag)标志位的值执行跳转
JE 0046B994H
; 当ZF标志位为1的时候跳转 0x0046B994 为0不跳转
JNE 0046B994H
; 当ZF标志位为0的时候跳转 0x0046B994 为1不跳转
三。
JS /
JNS 条件跳转
说明: 根据
SF 标志位的值执行跳转
JS 0046B994H
; 当SF的值为1的时候跳转 0x0046B994 为0不跳转
JNS 0046B994H
; 当SF的值为0的时候跳转 0x0046B994 为1不跳转
四。
JP /
JNP 条件跳转
说明: 根据
PF 标志位的值进行跳转
JP 0046B994H
; 当PF的值为1的时候跳转 0x0046B994 为0不跳转
JNP 0046B994H
; 当PF的值为0的时候跳转 0x0046B994 为1不跳转
五。
JO /
JNO 条件跳转
说明: 根据
OF 标志位的值进行跳转
JO 0046B9946H
; 当OF的值为1的时候跳转 0x0046B9946
JNO 0046B9946H
; 当OF的值为0的时候跳转 0x0046B9946
六。
JB /
JNB 条件跳转
说明: 根据
CF 标志位的值进行跳转
JB 0046B9946H
; 当CF的值为1的时候跳转 0x0046B9946
JNB 0046B9946H
; 当CF的值为0的时候跳转 0x0046B9946
七。
JBE 条件跳转
说明: 根据
CF或者
ZF的标志位跳转
JBE 0046B9946H
; 当CF或者ZF的标志位为1的时候跳转
指令
|
跳转条件
|
指令
|
跳转条件
|
ja
|
CF==0 && ZF == 0
|
jnc
|
CF==0
|
jab
|
CF==0
|
jne
|
ZF==0
|
jb
|
CF==1
|
jng
|
ZF==1 || SF!=OF
|
jbe
|
CF==1 || ZF==1
|
jnge
|
SF!=OF
|
jc
|
CF==1
|
jnl
|
SF==OF
|
jcxz
|
EXC==0
|
jnle
|
ZF==0 && SF==OF
|
je
|
ZF==0
|
jno
|
OF==0
|
jecxz
|
ECX==0
|
jnp
|
PF==0
|
jg
|
ZF==0 && SF==OF
|
jns
|
SF==0
|
jge
|
SF==OF
|
jnz
|
ZF==0
|
jle
|
ZF==1 && SF!=OF
|
jo
|
OF==1
|
jmp
|
TRUE
|
jp
|
PF==1
|
jna
|
CF==1 && ZF==1
|
jpe
|
PF==1
|
jnae
|
CF==1
|
jpo
|
PF==0
|
jnb
|
CF==0
|
js
|
SF==1
|
jnbe
|
CF==0 && ZF==0
|
jz
|
ZF==1
|