我正在尝试为斐波纳契序列执行此MIPS汇编代码(试图在QtSpim中找到主要的第10个斐波纳契数,fib(10)并且它不断抛出错误,例如:“在PC = 0x7ffff774发生异常”和“文字阅读中的错误地址......”
我不确定我做错了什么,我认为错误可能在主要陈述中。
.data
num: .word 10
ans: .word -1
.text
.globl main
main:
lw $a3, num
jal fib
sw $v1, ans
li $v0, 1
move $a0, $v1
syscall
fib: addi $sp, $sp, -12
sw $a0, 8($sp)
sw $ra, 4($sp)
sw $s0, 0($sp)
slti $t0, $a0, 2
beq $t0, $0, else
addi $v0, $a0, 0
j exit
else: addi $a0, $a0, -1
jal fib
add $s0, $v0, $0
addi $a0, $a0, -1
jal fib
add $v0, $v0, $s0
exit: lw $a0, 8($sp)
lw $ra, 4($sp)
lw $s0, 0($sp)
addi $sp, $sp, 12
jr $ra