一.EBP寻址
ESP:栈顶指针 (程序对与堆栈的使用 使用到哪里,esp就是哪里)
EBP: 栈底指针
之前都是借用ESP去寻址确定一些参数 ,但如果存到堆栈里面的值过多,那么就得不断地调整ESP的指向,这是ESP寻址的缺点
那么EBP寻址的思路是什么呢?
先把EBP的值保存起来 然后然后EBP指向ESP的位置
然后在原来的堆栈基础上ESP上移,重新变成一块新的堆栈。
之后新的程序再使用堆栈的时候,只影响ESP但不会影响EBP
那我们寻址的时候我们使用EBP去寻址。EBP的位置相对固定。就是程序不管如何操作esp会不停浮动 但是ebp相对稳定
例子:
在恢复堆栈平衡的时候在call后面还得ADD ESP 8