我无法让此代码 100% 正确工作。如果用户输入一个较大的数字作为第一个数字,那么程序会给出正确的最大公分母。
但是,如果首先输入较小的数字,则将较小的数字作为 GCD 返回。
我一直试图弄清楚这几个小时无济于事。请有人帮忙!!
$a0
好吧,$a1
如果第二个输入项大于第一个,您可以轻松交换寄存器。例如:
move $a1, $v0 # store input in $a1 -> this is your code
# Here goes the test & swap code, just before your original base label
bge $a0, $a1, noswap
move $a1, $a0 # Swap $a0 and $a1
move $a0, $v0 # if the second item is greater than the first one
noswap:
# Here continues your code
base: