一、实验目的
掌握RISC-V中RV32I指令
• 熟悉每条指令的功能、构成以及扩展
• 熟练使用Jupiter软件
• 利用RISC-V指令实现斐波那契数
二.实验内容
利用 risc-v 的 RV32I 指令编写程序实现 斐波那契数,并在 Jupiter 上调试通过。
输入n, 输出f(n)即可。 2 <n<16
如果程序中出现了非RV32I指令(ecall除外), 本实验成绩为0
三、实验程序
######################
# fibonacci #
######################
.globl __start
.text
__start:
addi a0, zero, 5
ecall # 输入a0=n
addi s0, zero, 1 # f(1)=1
addi s1, zero, 1 # f(2)=1
addi t0, zero, 2 # i=2
lp:
addi t0, t0, 1 # i++
add a1, s1, s0 # f(i)=f(i-1)+f(i-2)
add s0, zero, s1 # f(i-2)<=f(i-1)
add s1, zero, a1 # f(i-1)<=f(i)
blt t0, a0, lp # i<n,循环
addi a0, zero, 1
ecall # 输出f(n)=a1
addi a0, zero, 10
ecall # 程序结束