首页 > 解决方案 > MIPS - 我的循环没有完全按照它应该的方式执行

问题描述

我正在尝试在 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

欢迎所有帮助,因为我有一种可怕的感觉,这里正在犯一个新手错误。

标签: mipsmars-simulator

解决方案


推荐阅读