MIPS - 装配计数下降但进入无限循环

时间:2017-09-26 18:25:52

标签: assembly mips

我试图从用户输入的数字开始倒计时,并希望显示数字和0之间的所有整数。我的输出我相信会下降,但随后会变为无限循环在1.似乎永远不会为零。

我刚开始学习装配,所以如果这是一个糟糕的问题,我会提前道歉。

由于

这是我的代码:

{**** highlighted comments ****}

1 个答案:

答案 0 :(得分:0)

这似乎对我有用,我一直搞砸了我在寄存器中放置常量的地方。因此,每次我尝试打印寄存器时都包含1.

doLoop: 

sub     $t2, $t0, $t1   # subtracts 1 from given input stores in $v0

li  $v0, 1      
move    $a0, $t2    # Places answer in $a0
la  $v0, 1
syscall

move    $t0, $t2    
bgt $a0, 0, doLoop

li  $v0,10      # load the "exit" number into register $v0
syscall