各位老大,問一個菜鳥問題!

lydragon 2001-09-11 10:37:32
對如下這段代碼:
pushad
call delta
delta:
pop ebp
sub ebp, offset delta

此時ebp中是否為零(用softice跟蹤是這樣),為什麼?
pushad最後入棧的是edi,那麼我覺得pop ebp後ebp應該與edi相等啊,
是不是call的時候又做了什麼把offset delta入棧的動作?

各位老大,我是菜鳥,希望經過的時候能不吝賜教!
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyang_cn 2001-09-11
  • 打赏
  • 举报
回复
楼上说的对!补充此处DELTA为NEAR型,所以只压IP入栈
zara 2001-09-11
  • 打赏
  • 举报
回复
call指令将call指令后的一条指令的地址压栈, 这里就是delta的地址了, 所以pop ebp后ebp中为delta的地址, 再所以sub指令后ebp中的值为0.
lydragon 2001-09-11
  • 打赏
  • 举报
回复
不會吧,到現在都沒人回答?!
各位高手,請你們高抬貴手吧!

21,459

社区成员

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

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