day05.1-转移指令

一、JMP
jmp指令的作用:修改EIP的值,且jmp执行时只有eip发生变化

EIP是什么:EIP中的地址值就是CPU要读取指令的地址,但是jmp准确说没有跳转的作用,只是去修改EIP中的值,只有CPU才根据eip中的值去跳转,而且不是所有的指令都可以改EIP中的值,比如mov指令没法对EIP做修改
格式: jmp short 立即数 #简写:jmp 立即数
jmp 寄存器

如果转移的目标地址的范围在JMP指令所处地址的-128~+127字节范围之内,则会自动加上short,如果超过此范围再用short会报错

二、call
作用:修改EIP中的值,并且将call的下一跳指令的地址压入堆栈中!所以栈顶地址也会发生变化,即ESP会发生变化,此地址也称返回地址 格式: CALL 地址A/寄存器
计算机是怎么知道下一跳指令的地址的:根据硬编码知识

day05.1-转移指令最先出现在Python成神之路

版权声明:
作者:Zad
链接:https://www.techfm.club/p/19249.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>