首页
社区
课程
招聘
关于 esp 寄存器,不是很明白,请教各位
发表于: 2004-8-24 02:55 5578

关于 esp 寄存器,不是很明白,请教各位

2004-8-24 02:55
5578
esp 是栈顶指针寄存器

但是计算单位和内存不一样吗?

看下面语句

mov ebp,esp
mov esi,dword ptr ss:[ebp+8]

为什么 ebp+8 的数据不等于 esp+8 的数据?

问题出在 dword ptr ss: ?

能给我解释一下这个吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
就到你这两行来说,  应该是一样的。。。
2004-8-24 06:49
0
雪    币: 251
活跃值: (260)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
在执行完你这一句后,此时的esp和ebp是相等的,不过如果以后还有入栈的话
会改变esp值,而ebp一般在同一个call内保持不变
2004-8-24 10:42
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
对的,前面还有一句

push ebp   
mov ebp,esp
mov esi,dword ptr ss:[ebp+8]

为什么 ebp 入栈后会导致 ebp+8 和 esp+8 不同?
2004-8-24 10:52
0
雪    币: 236
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
push一次,esp就-4。
:)
2004-8-24 13:06
0
游客
登录 | 注册 方可回帖
返回