質問

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で割ってから剰余を使用してゼロにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top