mov eax, [ebp-18h]表示的是第几个局部变量

stsz_sky 2007-09-01 08:53:50
[ebp-18h]表示的是第几个局部变量呢?怎么算的呢?
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pig4210 2007-09-01
  • 打赏
  • 举报
回复
同意楼上说的。
一般来说,如果函数体第一句是push ebp的话,那么第一个变量从[esp-4]开始算起,否则从[esp]开始算起。
如果都是dword类型的局部变量的话,[esp-18h]一般来说是第五个变量。
sunlin7 2007-09-01
  • 打赏
  • 举报
回复
楼主是编32位的喽,
这个还真不确定是第几局部变量。
比如函数:
_Main proc
local hello[10]:dword // 一下子就占用了10*4字节的栈空间。 ret
_Main endp
所以得从第一个局部变量开始,然后用4字节对齐,一直计算到目标局部变量,才能确定到底是多少。
大熊猫侯佩 2007-09-01
  • 打赏
  • 举报
回复
强烈建议楼主自己通过调试了解!

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧