汇编基础-栈基础

来源:互联网 发布:将java值写到jsp 编辑:程序博客网 时间:2024/05/01 05:57



stack:

主要用途:

1.暂时保存局部变量

2.保存函数的返回地址

3.调用函数时传递参数

栈是一种特殊的数据结构,采用先进后出的原则来存储数据


一个进程中,栈顶指针(ESP)是指向栈底的,当执行push命令时,栈顶指针会移动到栈顶,当执行pop命令弹出数据时,栈顶指针会向下移,如果栈为空,那么栈顶指针重新回到栈底。

将一个exe文件拖入ollydbg

ESP  0012FF8C

如果执行push命令    将一个数据压入栈中,那么ESP指向0012FF88(减少4个字节)

再执行pop命令    ESP指向0012FF8C

又指向原来的位置。

向栈中压入数据的时候    栈顶指针减小,当pop弹出数据的时候   栈顶指针增大。




0 0