汇编-控制转移指令

-JMP

把操作数无条件转移到EIP(下一条指令)中去,经常用于保存数据。
其操作数在机器代码中的数据等于目标操作数-下一条指令地址

-Loop

循环指令,判断ECX是否等于0,否则跳转到目标操作数,是则继续执行下一条指令。

-条件转移指令

一般限制性 CMP EAX,EBX

1.判断是否相等
JZ/JE (判断ZF的值,等于1则跳转到目标地址)
JNZ/JNE(判断ZF的值,等于0则跳转到目标地址)

2.判断无符号数大小
JA (判断CF、ZF的值,都为0则跳转到目标地址)EAX无符号大于EBX
JB (判断CF的值,等于1则跳转到目标地址)EAX无符号小于EBX

JNA:无符号的不大于 JBE:无符号的小于等于
JNB:无符号的不小于 JAE:无符号的大于等于

JNAE:无符号的不大于也不等于 等价于JB
JNBE:无符号的不小于也不等于 等价于JA

3.判断有符号数的大小
JG: 【(SF XOR OF)=0,则跳转到目标地址】EAX>EBX
JL: 【(SF XOR OF)=1,则跳转到目标地址】EAX<EBX

JNG: 不大于 JLE
JNL 不小于 JGE

JNGE: 不大于也不等于 等价于JL
JNLE: 不小于也不等于 等价于 JG

4.单标识符类
JZ/JNZ
JC/JNC 等同JB JNAE
JO/JNO
JP/JNP
JS/JNS
判断状态标识符的值,为1/0就转移到目标地址,否则则继续往下执行

5.过程调用与返回
CALL (单操作数,转移目标地址,与JMP区别在于转移之前会把下条指令入栈)

RET 无操作数,将栈顶的4个字节弹出到EIP,以实现 向CALL的下一条指令返回。
RETN 剔除无用的堆栈元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值