汇编学习之《push , pop指令》

学习本章前线了解ESP, EBP 指令 汇编学习之《指针寄存器&大小端学习》-CSDN博客

栈的特点:

好比一个垂直容器,可以陆续放入物体,但是先放的物体通常会被后面放的物体压着,只有等上面后放的物品拿出来后,才能被拿出来。也就是先入的后出,后入的先出。这个就是栈的重要特点。

push 压栈指令

压入的步骤:

第一步,先提升栈顶,比如原来地址是01BBFB9C, 提升后就是01BBFB98

第二步, 压入栈的数据压入到栈中,也就是上面提升的地址的位置。比如 地址01BBFB98, 值是压入对象的值。

测试语句 push ebp

执行前数据

执行后数据:

pop 出栈指令

pop ebp

第一步: 从栈顶里面的值取出来放入ebp

第二步: 恢复栈原来的样子。 ebp - 4

测试语句,pop ebp

执行前先记录下数据 ESP 地址是 01BBFB98 恢复后 01BBFB98 + 4 = 01BBFB9C

执行语句后

上一篇: 汇编学习之《test, cmp指令》

下一篇:汇编学习之《jmp, nop指令》

相关推荐
吃着火锅x唱着歌15 小时前
深度探索C++对象模型 学习笔记 第四章 Function语意学(2)
c++·笔记·学习
勤劳的进取家16 小时前
应用层基础
运维·网络·学习
xian_wwq16 小时前
【学习笔记】储能系统的铁三角:BMS、PCS、EMS分别管啥
笔记·学习·储能系统
QiZhang | UESTC16 小时前
学习并复现minimind
学习
stm32 菜鸟17 小时前
nucleo-f411re学习记录-14,OTA 固件升级-bootloader与app分区实现
学习
Bechamz17 小时前
大数据开发学习Day24
大数据·学习
在下_诸葛17 小时前
langgraph学习笔记
笔记·python·学习·langgraph教程
charlie11451419118 小时前
现代Qt开发教程(新手篇)1.10——进程
开发语言·c++·qt·学习
绿豆人18 小时前
Cache缓存项目学习2
学习·缓存
山楂树の18 小时前
H.265 (HEVC) 视频解码转逐帧图像 完整实现方案
学习·音视频·h.265