我正在尝试执行斐波那契数列,但是给我bge $ s0,$ t0,Felse带来了Spim:(解析器)语法错误。我在QtSpim上运行此代码,某些分支指令的工作方式类似于bgtz,但是对于大多数分支指令来说,这给了我语法错误,有人可以解释我在做什么吗?
.data
.globl welcome
wlecome:
.ascii "\nPrinting fibonacci sequence up to inputted number\n"
.asciiz "Please enter the number: "
.text
.globl main
main:
ori $v0, $0, 4 # command to print string
lui $a0, 0x1001
ori $a0, $a0,0
syscall
ori $v0, $0, 4 # command to print string
lui $a0, 0x1001
ori $a0, $a0,0x0034
syscall
ori $v0, $0, 5 #command to read integer
syscall
add $a0, $zero, $v0
jal fib
fib:
addi $sp, $sp, -12
sw $ra, 0($sp)
sw $s0, 4($sp)
sw $s1, 8($sp)
add $s0, $zero, $a0
addi $t0, $zero, 2
bge $s0, $t0, Felse
addi $v0, $zero, 1
j End
Felse:
addi $a0, $s0, -2
jal fib
add $s1, $zero, $v0
addi $a0, $s0, -1
jal fib
add $v0, $s1, $v0
End:
lw $s1, 8($sp)
lw $s0, 4($sp)
lw $ra, 0($sp)
addi $sp, $sp, 12
jr $ra