Bootstrap

计算机组成原理实验——四、risc-v指令实验

一、实验目的

掌握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               # 程序结束

四、实验结果

请添加图片描述

;