汇编中修改EIP值的指令

本文介绍了EIP寄存器的用途,它是CPU执行下一条指令的地址。通过 jmp 指令无条件跳转实现EIP值的修改,call 指令在调用子程序时影响EIP和栈,而 ret 指令则将栈顶指针的值放入EIP并调整栈顶指针。
摘要由CSDN通过智能技术生成

什么是EIP

EIP也是一个寄存器,但不是通用寄存器,原因是它里面存的值,是我们CPU下一次要执行的地址,CPU通过EIP寄存器,找到地址,去执行地址上的指令。

在这里插入图片描述

如何修改EIP的值

可以使用以下指令来修改EIP的值:

指令 格式
jmp jmp 内存/立即数/寄存器
call call 内存/立即数/寄存器
ret ret

jmp指令

jmp指令无条件跳转,之前修改通用寄存器我们可以使用mov指令,但这对于EIP这寄存器来说并不好用,不过我们可以使用jmp这个指令来实现mov指令的功能。
在这里插入图片描述运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值