一、JMP无条件跳转

不用看标志位,jmp后面跟一个内存地址,直接跳转到该地址

jmp 0x0046B994

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_指令

二、JE(JZ)条件跳转

当ZF标致为1的时候发生跳转,为0的时候不跳转,可以双击标志位,进行判断

je 0x0046B99F

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_汇编_02

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_指令_03

三、JNE(JNZ)条件跳转

当ZF标致为0的时候发生跳转,为1的时候不跳转,可以双击标志位,进行判断

jne 0x0046B99F

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_指令_04

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_指令_05

四、JS条件跳转(JNS相反操作)

当为整数时,SF标志位为0,负数事SF标志位为1,当SF为1时,JS发生跳转

js 0x0046B99F

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_内存地址_06

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_内存地址_07

五、JP条件跳转(JNP反向操作)

当二进制1的个数为偶数时,PF标志位为1,当二进制1的个数为奇数时,PF标志位为0,当PF标志位为1时,JP发生跳转

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_汇编_08

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_汇编_09

六、JO条件跳转(JNO反向操作)

当结果溢出了,OF标志位为1,JO会发生跳转,当OF标志位为0时,JO不发生跳转

mov eax,7FFFFFFF 
add eax,1
jo test.46B99F

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_汇编_10

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_内存地址_11

七、JB条件跳转(JNB反向操作)

当结果需要借位或者进位的时候,CF变为1,当值1 的时候,JB发生跳转

add al, bl
jb 0x0046B99F

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_汇编_12

汇编指令学习(JMP、JE、JS、JP,JO,J*b)_内存地址_13

八、JBE跳转

当CF或者ZF标志位1的时候跳转