第 8 章:RISC-V 汇编编程
学习目标
- 编写完整的汇编程序
- 理解汇编伪指令
8.1 汇编程序结构
.section .text
.global _start
_start:
li a0, 10 # 加载立即数
li a1, 20
add a2, a0, a1 # a2 = a0 + a1
# 退出
li a7, 93 # exit 系统调用
ecall
8.2 伪指令
li a0, 100 # 加载立即数
la a0, label # 加载地址
mv a0, a1 # 移动(实际是 addi a0, a1, 0)
j label # 跳转(实际是 jal x0, label)
ret # 返回(实际是 jalr x0, 0(ra))
8.3 函数示例
# int add(int a, int b)
add:
add a0, a0, a1
ret
# 调用
main:
li a0, 10
li a1, 20
call add # 调用函数
实践练习
用汇编实现斐波那契数列。