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

相关推荐
Larry_Yanan1 小时前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互
Rock_yzh2 小时前
AI学习日记——PyTorch深度学习快速入门:神经网络构建与训练实战
人工智能·pytorch·python·深度学习·神经网络·学习
hello kitty w2 小时前
Python学习(10) ----- Python的继承
开发语言·python·学习
CandyU22 小时前
C++ 学习 —— 02 - 排序算法
c++·学习·排序算法
~无忧花开~2 小时前
CSS学习笔记(二):CSS动画核心属性全解析
开发语言·前端·css·笔记·学习·css3·动画
浮游本尊4 小时前
React 18.x 学习计划 - 第五天:React状态管理
前端·学习·react.js
baole9634 小时前
YOLOv4简单基础学习
学习·yolo·目标跟踪
Pluchon5 小时前
硅基计划5.0 MySQL 叁 E-R关系图&联合/多表查询&三大连接&子查询&合并查询
开发语言·数据库·学习·mysql
学工科的皮皮志^_^5 小时前
网口学习理解
经验分享·笔记·嵌入式硬件·学习·fpga开发·以太网
后端小张7 小时前
【鸿蒙开发手册】重生之我要学习鸿蒙HarmonyOS开发
开发语言·学习·华为·架构·harmonyos·鸿蒙·鸿蒙系统