li $a0, 6 jal fib move $a0, $v0 li $v0, 1 syscall li $v0, 10 syscall fib: # computes F_n for n >= 0 # $a0 contains n # $v0 will contain the result value # $ra contains the return address slti $t0, $a0, 2 beqz $t0, recursion move $v0, $a0 jr $ra recursion: addi $sp, $sp, -12 sw $s0, 0($sp) sw $ra, 4($sp) sw $s2, 8($sp) subi $a0, $a0, 1 subi $s0, $a0, 1 jal fib move $a0, $s0 move $s2, $v0 jal fib add $v0, $v0, $s2 lw $s0, 0($sp) lw $ra, 4($sp) lw $s2, 8($sp) addi $sp, $sp, 12 jr $ra