ESP EBP

来源:互联网 发布:sql系统管理培训 编辑:程序博客网 时间:2024/05/04 07:37

ESP 一直指向栈的栈顶,在intel x86的系统中,堆栈在内存中是从高地址向低地址扩展,因此,栈顶地址是不断减小的,越后入栈的数据,所处的地址也就越低。每一次嵌套调用时 esp表示当前方法的栈顶,在进入嵌套方法前,ebp入栈,ebp再保存当时esp的地址, esp在进入嵌套方法后,开始发生变化,此时,可以通过ebp返回到上一个方法的调用地址。再次嵌套时,esp表示当前方法的栈顶,ebp(上一个方法的esp)入栈,同时存放此时的esp,进入嵌套方法,此后,esp代表当前最新方法的栈顶, EBP代表上一个方法的esp,至此,可以根据ebp来从嵌套中返回到上个方法,后在根据栈上ebp继续找到上个方法的esp.跳出嵌套,直到根方法.

0 0