堆栈框架(stack frame)也称活动框架(activation record),他是为传递的参数、子例程的返回地址、局部变量和保存的寄存器保留的堆栈空间。
堆栈框架的创建步骤:
(1)如果有传递的参数,则压入堆栈
(2)子例程被调用,子例程的返回地址压入堆栈
(3)子例程开始执行时,EBP被压入堆栈
(4)EBP设为ESP的值,ESP减去一个数值,EBP就被作为寻址所有子例程参数的基址指针使用了
(5)如果有局部变量,ESP减去一个数值,以便在多站上为局部变量保存空间
(6)如果任何寄存器需要保存,则压入堆栈
堆栈结构的结构受程序的内存模式及参数传递约定的直接影响。