2016-08-08 24 views
2

MIPSでは、値で初期化された.byteを使用して配列を作成しました。配列のバイトにアクセスするMIPS

array: .byte 1,2,3,4,5,6,7,8,9 

これらの値は、例えば、8ビット整数としてメモリに格納されます。

0x04030201 

私は整数を合計するために、個々の値にアクセスするにはどうすればよいですか?唯一の方法はビットマスクを使用していますか?それを行う簡単な方法はありますか?

答えて

4

オペコードlb $t, offset($s)を使用できます。 lw $t, offset($s)と同じように動作しますが、$ tに4バイトの単語の代わりに1バイトを読み込みます。

これで、配列の6番目のバイトをロードするとします。あなたはどうなる:

la $t0, array # load the array address 
lb $t1, 5($t0) # get 6th byte through an offset 

# then do whatever you want with it here 

EDIT:あなたはまた、2バイトのハーフワードのためのlhを持っています。また、私はあなたの質問に答えるために私が使用したMIPSの命令リファレンスを以下に示します:http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

+0

私はlbを使いました。 –

関連する問題