0

ユーザーに整数を入力するように求める場合に MIPS アセンブリを使用すると、その整数を取得して必要な部分に分割するにはどうすればよいですか?

例:

                 # User inputs a number
li  $v0, 5      # read value of n
    syscall

次に、$v0 の値を $t0 などの一時レジスタに格納し、それを構成する各部分に分割する必要があります。したがって、308 は 3、0、および 8 に分割する必要があります。これを行う必要があるのは、これらの各部分を 2 乗して足し合わせることができるようにするためです。

ユーザーからの入力値は、整数として入力する必要があります。

ありがとう、nmr

4

2 に答える 2

2

商がゼロでない場合は、10 で割り、余りを使用して 8 を取得します。商がゼロでない場合は、再度 10 で割り、残りを使用してゼロにします。商がゼロでない場合は、繰り返します。

于 2009-11-30T05:48:38.877 に答える
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

于 2009-11-30T05:56:39.953 に答える