質問
MIPSアセンブリを使用してユーザーに整数の入力を求める場合、その整数を取得して必要な部分に分割するにはどうすればよいですか?
例:
# User inputs a number
li $v0, 5 # read value of n
syscall
次に、値を$ t0などの一時レジスタの$ v0に保存し、それを構成する各部分に分割する必要があります。したがって、308は3、0、および8に分割する必要があります。これらの各部分を2乗して一緒に追加できるように、これを行う必要があります。
ユーザーからの入力値は整数として入力する必要があります。
ありがとう、 nmr
解決
これは、@ 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
他のヒント
10で除算し、商がゼロでない場合は剰余を使用して8を取得し、商がゼロでない場合は商を10で割ってから剰余を使用してゼロにします。
所属していません StackOverflow