CSAPP: Machine Programming III: Procedures
stack
register 使用约定
1 | rax 返回/传出寄存器 |
1 | 寄存器 %rsp 存放栈顶地址 (lowest stack address) pushq %rsp-8 popq %rsp+8 |
caller 调用者 callee 被调用者
calling procedure
1 | callq 调用 |
调用控制
https://bkfish.github.io/2018/12/21/CSAPP又双叒叕来一遍之函数调用过程栈帧的变化/
传参数
- push到栈里
- 递归调用,把上一级的数据及时push保存
- 保存在寄存器里
Managing local data
需要进一步的研究学习
暂无
遇到的问题
暂无