汇编跳转指令说明

本文详细介绍了80x86汇编语言中JMP、JE、JZ等无条件和条件跳转指令,以及它们基于标志位(如ZF、SF、PF、OF和CF)的使用方式。涵盖了各种条件判断和指令操作码的详细解析。
摘要由CSDN通过智能技术生成
一。 JMP 无条件跳转
说明: 不看标志位,直接跳转到目标内存地址
JMP 0046B994H
; 无条件跳转到 0x0046B994 的地方执行
二。 JEJZ)/ 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值