社区
汇编语言
帖子详情
ebp,esp有什么区别啊
PRuby
2002-10-05 04:37:46
pushl %ebp
movl %esp,%ebp
干嘛要这样?
...全文
1073
3
打赏
收藏
ebp,esp有什么区别啊
pushl %ebp movl %esp,%ebp 干嘛要这样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
giantzz
2002-10-05
打赏
举报
回复
esp始终指向栈顶,ebp是在堆栈中寻址用的
itaolu
2002-10-05
打赏
举报
回复
楼主写的好像是要用GCC来编译的汇编?
以下摘自我的一篇文章:
push ebp ;ebp入栈
mov ebp, esp ;因为esp是堆栈指针,无法暂借使用,所以得用ebp来存取堆栈
sub esp, 4*5 ;下面的wsprintf一共使用了5个参数,每个参数占用4个字节,所以要入栈4*5个字节
push 1111
push 2222
push 3333
push offset szFormat
push offset szOut
call wsprintf ;调用wsprintf
add esp, 4*5 ;堆栈使用完毕,“还”回4*5个字节给系统
...
mov esp, ebp ;恢复esp的值
pop ebp ;ebp出栈
ret
明白了吗?主要是用来保存/恢复堆栈,以便传递参数给函数。
在MASM里面,有一条更方便的语句,就是invoke
使用它后,你就不用自己做这些事情了。
--------------------------原创文档----
请参观:老罗的缤纷天地
网 址:http://laoluoc.yeah.net
E-mail:lcother@163.net
--------------------------------------
myblind
2002-10-05
打赏
举报
回复
esp是堆栈指针
ebp是基址指针
那两条指令的意思是 将栈顶指向 ebp 的地址
esp
和
ebp
有什么
区别
本文解释了
ESP
(堆栈指针)与
EBP
(基址指针)的
区别
及其在汇编语言中的应用。通过示例代码说明了如何利用这两者进行函数参数的传递和堆栈的管理。
汇编中
EBP
寄存器和
ESP
寄存器的
区别
本文介绍了汇编语言中
ESP
(栈指针寄存器)与
EBP
(基址指针寄存器)的
区别
及作用。
ESP
始终指向栈顶,而
EBP
则指向栈帧的底部。通过具体实例,展示了函数调用过程中这两个寄存器的变化情况。
通过一段汇编,加深对寄存器
ESP
和
EBP
的理解
本文通过一段具体的__stdcall调用约定的汇编代码,详细解释了
ESP
(栈顶指针)和
EBP
(基址指针)的
区别
及作用。
ESP
始终指向栈顶,而
EBP
保存特定时刻的栈顶指针以便进行参数和局部变量访问。
ESP
(栈顶指针)
EBP
(栈底指针)
本文介绍了
ESP
(栈顶指针寄存器)和
EBP
(基址指针寄存器)的作用及
区别
。
ESP
指向当前栈帧的栈顶,而
EBP
则指向栈帧的底部。eax通常用于保存函数返回值。
汇编语言里 eax, ebx, ecx, edx, esi, edi,
ebp
,
esp
这些都是什么意思啊?
本文详细介绍了X86汇编语言中常用的寄存器,包括EAX、EBX、ECX、EDX、ESI、EDI、
EBP
、
ESP
的功能和用途,并通过示例代码帮助读者理解寄存器
ESP
和
EBP
的
区别
。
汇编语言
21,499
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章