函数堆栈
2016-03-18 15:34
134 查看
EBP:栈底指针寄存器
ESP:栈顶指针寄存器
EBP大,ESP小,压栈时ESP变小,EBP不变。
对于_cdecl,调用一个函数的时候,先从右向左压栈,在把call指令的下一个指令的地址压栈,进入被调用函数,被调用函数结束时,依次出栈。返回到函数调用前的指令继续执行。
开始调用,先将ebp1压栈,然后将现在的栈顶esp1作为函数调用时的栈底
00413700 push ebp
00413701 mov ebp,esp
结束调用
00413728 mov esp,ebp
还原栈顶指针
0041372A pop ebp
还原栈底指针
0041372B ret
返回到函数调用前的指令继续执行。
ESP:栈顶指针寄存器
EBP大,ESP小,压栈时ESP变小,EBP不变。
对于_cdecl,调用一个函数的时候,先从右向左压栈,在把call指令的下一个指令的地址压栈,进入被调用函数,被调用函数结束时,依次出栈。返回到函数调用前的指令继续执行。
开始调用,先将ebp1压栈,然后将现在的栈顶esp1作为函数调用时的栈底
00413700 push ebp
00413701 mov ebp,esp
结束调用
00413728 mov esp,ebp
还原栈顶指针
0041372A pop ebp
还原栈底指针
0041372B ret
返回到函数调用前的指令继续执行。
相关文章推荐
- 整数 位数不足,在前补0
- 判断文件是否被占用
- Linux中的tar命令和scp命令
- activemq
- WAS上配置数据源连接失败
- 【Android笔记】Http状态码
- 贪心算法—Problem C
- hihocoder #1121 : 二分图一•二分图判定 并不能AC 孤立点问题?
- 表间关系
- SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)
- 贪吃——1013 盈利亏空
- 详解DevExpress.LookUpEdit控件实现自动搜索定位功能
- [ssh新闻发布系统三]存储新闻
- SecureCRT连接CentOS
- SilkTest循序渐进7-使用TrueLog
- IOS 视图插入到最顶层
- linux 文件相关的命令
- 《第一行代码》中的简易新闻总结
- 关于安卓 上传下载的一些方法 网络 网络部分记得一定要在 线程中去启动
- BZOJ4531 && BJOI2014 trace