原文:http://blog.csdn.net/yeruby/article/details/39780943 esp是栈指针,是cpu机制决定的,push.pop指令会自动调整esp的值: ebp只是存取某时刻的esp,这个时刻就是进入一个函数内后,cpu会将esp的值赋给ebp,此时就可以通过ebp对栈进行操作,比如获取函数参数,局部变量等,实际上使用esp也可以: 既然使用esp也可以,那么为什么要设定ebp呢? 答案是为了方便程序员. 因为esp在函数运行时会不断的变化,所以保存一个一进…