学习目标

  • 理解调用约定
  • 掌握栈帧结构

10.1 调用约定

函数调用时的规则:

  • 参数如何传递
  • 返回值如何传递
  • 哪些寄存器需要保存

10.2 参数传递

a0-a7: 前 8 个参数
栈:   更多参数
a0-a1: 返回值

10.3 栈帧

高地址
    +----------------+
    | 返回地址 (ra)  |
    +----------------+
    | 保存的寄存器   |
    +----------------+
    | 局部变量       |
    +----------------+ <- sp
低地址

实践练习

分析函数调用的汇编代码。

下一步

第 11 章:RISC-V ABI

更新时间: