【发布时间】:2017-04-12 19:11:41
【问题描述】:
我很难弄清楚如何将使用“srl”指令进行的除法的剩余部分保存在寄存器中,以打印带有二进制值的整数。
f.e.如果 t1 是我们要转换的数字,我们在循环内使用逻辑右移 2 来除它:
loop:
srl $t2, $t1, 2 #number/2
beq $t2, '0', exit #if the quotient is 0, exit the loop
j loop
exit:
如何在 srl 命令后保留余数,然后将余数的位倒回以打印二进制数?
【问题讨论】:
-
按位使用
and。 PS:srlby2不是除以2,而是除以4。 -
如何打印?你到底想要什么样的结果?十进制是如何产生的(我以为你已经在寄存器中有一个整数,而不是十进制字符串)?
-
我已经在 t1 中有整数,所以我想将整数打印为二进制。 f.e.如果输入为 9,则输出应为 1001