搜索
编程论坛
→
集成开发
→
『 操作系统内核开发 』
→ IA32中pushl %esp 和一般的 pushl %ebp 有什么区别吗?
标题:
IA32中pushl %esp 和一般的 pushl %ebp 有什么区别吗?
只看楼主
wtyj112
等 级:
新手上路
帖 子:222
专家分:0
注 册:2007-5-9
结帖率:
85.71%
楼主
问题点数:0 回复次数:1
IA32中pushl %esp 和一般的 pushl %ebp 有什么区别吗?
问题一、IA32中pushl %esp 栈指针是怎么做的?
问题二、IA32pushl %ebp 是先栈指针--再入栈,还是先入栈再指针--?
搜索更多相关主题的帖子:
ebp
esp
pushl
2010-05-11 23:05
chengstone
等 级:
版主
帖 子:562
专家分:226
注 册:2004-4-3
第
2
楼
得分:0
push语句算是一个元语(元操作),期间不能被打断,作为CPU的一条指令,它跟实际的处理器指令体系有关系
现在大多的教程对于PUSH的解释都是先移动栈指针,再数据入栈
也有的处理器是先进行数据入栈然后再移动指针的, 而且有的栈是栈向上生长,有的是栈向下生长,所以要根据具体的实际情况来定
根据我的记忆,通常把PUSH操作看成是先移动栈指针,再数据入栈
pushl %esp 和 pushl %ebp的区别:
pushl %ebp这个我就不解释了,pushl %esp这句其实就是push old_esp,入栈以后,得到了new_esp
qq:69558139
2010-05-14 09:35
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-306261-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.879988 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved