MIPS汇编QtSpim异常/错误地址错误

时间:2016-02-22 03:39:47

标签: assembly error-handling mips fibonacci qtspim

我正在尝试为斐波纳契序列执行此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

0 个答案:

没有答案