汇编指令:[1]PUSH指令解析
1、下断点,运行到这里,可以此时右边的寄存器
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/bf6e59704618dfda5576d53589214f57925677e1.jpg)
2、此时
ESP =0x 0018FEFC
EAX = 0xCCCCCCCC
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/4759c1dae43b3b86b16ca1e4185653bbf92075e1.jpg)
3、按F10,发现ESP寄存器中的值变为如图 0018FEF8,即LEA ESP, [ESP-4]
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/3ac71c214f579356e5f61693effb960b302170e1.jpg)
4、再按F10,发现ESP中地址所指的内存空间,值都被置为EAX中的值,即第二步为MOV [ESP],EAX
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/4e168d5653bbf820dcb678b8ba21056105a36ee1.jpg)
5、即push EAX分为两步
1, LEA ESP [ESP-4]
2, MOV EAX [ESP]
我自己的疑问,为什么再向下执行一步eax的值会都被置为0
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/65ba880b31210561b8eebb5a08aee8d7582a6ae1.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:92
阅读量:52
阅读量:195
阅读量:59
阅读量:176