li $v0,5
syscall
move $a0,$v0
jal f
move $a0,$v0
li $v0,1
syscall
li $v0,10
syscall
f: li $t2,2
bgt $a0,$t2,recur
li $v0,1
jr $ra
recur: addi $sp,$sp,-8
sw $a0,0($sp)
sw $ra,4($sp)
#after store,find f(n-1)
addi $a0,$a0,-1
jal f
#after f(n-1) was found,then lw and up_sp
lw $ra,4($sp)
lw $a0,0($sp)
addi $sp,$sp,8
#set $s1 as $v0(f(n-1))
move $s1,$v0
#find f(n-2),another recur
addi $sp,$sp,-12
sw $s1,0($sp)
sw $a0,4($sp)
sw $ra,8($sp)
addi $a0,$a0,-2
jal f
lw $ra,8($sp)
lw $a0,4($sp)
lw $s1,0($sp)
addi $sp,$sp,12
add $v0,$v0,$s1
jr $ra