程序为什么开头总是PUSH EBP

因为对堆栈的操作寄存器有EBP和ESP两个。EBP是堆栈的基址,ESP一直指向栈顶(只要有PUSH动作,ESP就自动减小,栈的生长方向从大往小,不需要手动改变ESP。)所以要压入EBP,然后再用EBP来存取堆栈。返回时需要进行EBP恢复操作。
posted @ 2013-10-21 15:31  N3verL4nd  阅读(1055)  评论(0)    收藏  举报