返回顶部

EBP寻址

一.EBP寻址

 ESP:栈顶指针 (程序对与堆栈的使用 使用到哪里,esp就是哪里)

 EBP:  栈底指针 

之前都是借用ESP去寻址确定一些参数 ,但如果存到堆栈里面的值过多,那么就得不断地调整ESP的指向,这是ESP寻址的缺点

那么EBP寻址的思路是什么呢?

先把EBP的值保存起来 然后然后EBP指向ESP的位置 

然后在原来的堆栈基础上ESP上移,重新变成一块新的堆栈。

之后新的程序再使用堆栈的时候,只影响ESP但不会影响EBP

那我们寻址的时候我们使用EBP去寻址。EBP的位置相对固定。就是程序不管如何操作esp会不停浮动 但是ebp相对稳定

例子:

  

 

 

 在恢复堆栈平衡的时候在call后面还得ADD ESP 8

 

posted @ 2020-02-09 21:32  cat47  阅读(503)  评论(0编辑  收藏  举报