汇编指令:[1]PUSH指令解析
1、下断点,运行到这里,可以此时右边的寄存器
![汇编指令:[1]PUSH指令解析](https://exp-picture.cdn.bcebos.com/bf6e59704618dfda5576d53589214f57925677e1.jpg)
2、此时ESP =0x 0018FEFCEAX = 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)