堆栈帧 【汇编语言(5)--高级过程】堆栈帧:是一块堆栈保留区域,用于存放被传递的实际参数,子程序的返回值,局部变量以及被保存的寄存器。
堆栈帧的创建步骤:
- 被传递的实际参数。如果有,则压入堆栈。
- 当子程序被调用时,是该程序的返回值压入堆栈。
- 子程序开始执行时,EBP被压入堆栈。
- 设置EBP等于ESP。从这时开始,EBP就变成了该子程序所有参数的引用基址。
- 如果有局部变量,修改ESP以便在堆栈中为这些变量预留空间
- 如果需要保存寄存器就见它们压入堆栈
推荐阅读
- 汇编语言(3) 条件处理
- 汇编语言(4)整数运算
- ARM|GNU ARM中的汇编指令.word
- 本实验题目(将一个文件myprog.txt里面的内容中的小写字母全部转化为大写,其他字符保持不变,且不能使用临时文件。(对前面一道题目的改进版本))
- Link指向一个字线性表,其中的首单元保存线性表的长度,编制程序 ;将该线性表中内容为0FFFFH的项删除,并更新线性表长度 ;线性表长度是指线性表中实际
- Link指向一个字线性表,其中的首单元保存线性表的长度,编制程序将该线性表中内容为0FFFFH的项删除,并更新线性表长度
- 进制转化(从键盘接收一个4位的十进制数,将它转化为16进制并输出)
- 试编写一个程序,实现对N字节的NUM的值求补(类似NEG的操作),并把求反后的值仍保存在NUM中。求补即是取反后加1