您的位置:首页 > 其它

执行retn、call、leave指令的时候,esp和eip的变化情况

2010-08-10 21:21 183 查看
windows 32位汇编的环境下

[b]0A10FF61 call 0A11FFAA[/b]
[b]0A10FF66 MOV EAX,DWORD PTR SS:[EBP+3C][/b]

call

esp = esp - 4

[esp] = 0A10FF66   //将返回地址压入栈中   eip = 0A11FFAA    //跳转到函数地址


 2. retn

eip = [esp]
esp = esp - 4  //将esp中的数据出栈到eip中


 3.  leave

mov esp,ebp
pop ebp    //还原函数栈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: