我正在尝试在Mars MIPS程序集中构造一个while循环,但是我遇到了一个问题,该循环本身可以工作,但是每次循环将数字减半的动作似乎并没有在第一轮之后开始。
下面是我的循环:
div:
sra $s0, $t1, 1 #halves the number in $s0
li $v0, 1
add $a0, $zero, $s0 #Prints out the number in $s0
syscall
li $a0, 32
li $v0, 11 #Prints out a space
syscall
loop:
blt $s0, $s4, exit #Loops to the start of div until it reaches 1
j div
exit:
li $v0, 10 #This is the exit.
syscall
欢迎大家的帮助,因为我很害怕在这里犯了一个菜鸟错误。