如果我提示用户输入一个整数,那么使用MIPS汇编我怎样才能获取该整数并将其分解为必需的部分?
示例:
# User inputs a number
li $v0, 5 # read value of n
syscall
然后我将$ v0中的值存储在临时寄存器中,比如$ t0,并且需要将其分解为构成它的每个部分。因此,308必须分解为:3,0和8.我需要这样做,这样我就可以对每个部分进行平方并将它们加在一起。
用户的输入值必须以整数形式输入。
感谢, NMR
答案 0 :(得分:2)
除以10,使用余数得到8,如果商为非零,再除以10,然后使用余数为零,如果商为非零重复。
答案 1 :(得分:1)
这是@ Don的回答,有一个转折
$ t0包含用户输入。 (无签名)
li $t1,10
DIVU $t0,$t1 //divide by 10
mfhi $t2 //t2 contains the division result
mflo $t3 //t3 containts the division remainder
使用beq,bgt进行比较。
一些帮助
http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html