第 11 章:RISC-V ABI
学习目标
- 理解 RISC-V ABI 规范
- 掌握寄存器使用约定
11.1 寄存器约定
Caller-saved(调用者保存):
- a0-a7, t0-t6
- 调用函数前需要保存
Callee-saved(被调用者保存):
- s0-s11
- 函数内使用需要保存
11.2 函数序言与尾声
func:
# 序言
addi sp, sp, -16
sw ra, 12(sp)
sw s0, 8(sp)
# 函数体
...
# 尾声
lw s0, 8(sp)
lw ra, 12(sp)
addi sp, sp, 16
ret
实践练习
手写符合 ABI 的函数。