汇编学习之《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指令》

相关推荐
V搜xhliang02465 小时前
AI智能体的数据安全与合规实践
人工智能·学习·数据分析·自动化·ai编程
无敌的牛5 小时前
redis学习过程
数据库·redis·学习
旅僧8 小时前
Π环境部署(运行 且 无理论讲解)
学习
jushi89998 小时前
Lucas Chess R国际象棋、中国象棋、日本将棋、五子棋训练学习工具游戏软件
学习
自传.8 小时前
尚硅谷 Vibe Coding|第一章 AI 编程基础理论 学习笔记
笔记·学习·尚硅谷·vibe coding
吃好睡好便好9 小时前
改变时间轴的跨度
学习·生活
fox_lht9 小时前
15.3.改进我们之前的输入、输出项目
开发语言·后端·学习·rust
chase。9 小时前
【学习笔记】SimpleVLA-RL:通过强化学习扩展 VLA 训练
笔记·学习
C语言小火车10 小时前
什么时候用智能指针?什么时候用裸指针?
c语言·c++·学习·指针
AOwhisky10 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算