本文承接汇编语言学习笔记 上
上篇文章记录了汇编语言寄存器,汇编语言基本组成部分,数据传送指令,寻址指令,加减法指令,堆栈,过程,条件处理,整数运算的内容
高级过程
大多数现代编程语言在调用子程序的时候会把参数压入对战
子程序也常常把局部变量压入堆栈
- 子程序在C和C++中被称为函数
- 在Java中被称为方法
- 在宏汇编程序(MASM)中被称为过程
堆栈帧
堆栈参数
堆栈帧是一块堆栈保留区域
存放
- 被传递的实际参数
- 子程序的返回值
- 局部变量
- 被保存的寄存器
创建步骤
- 将被传递的实际参数压入堆栈
- 当子程序被调用时,该子程序的返回值压入堆栈
- 子程序开始执行的时候,EBP被压入堆栈
- 设置EBP等于ESP,EBP成为子程序所有参数的引用基址
- 如果有局部变量,修改ESP在堆栈中为其预留空间
- 需要保留的寄存器,将它们压入堆栈
未完待续,在新年0点0分0秒发出