2013-10-12 12 views
5

私はアセンブリ言語が初めてのため、コンピューターアーキテクチャーの大学コースを受講しています。私の質問は、どのように疑似命令を使用せずにCからMIPSアセンブリ言語に次のコードを変換するのですか?1本のCラインをMIPSアセンブリーに翻訳する

B [8] = A [i-j] 

iとjがレジスタに割り当てられている$ S3およびS4 $ AおよびBのベースアドレスレジスタ$ S6であり、$ S7。これまでのところ私は持っています:

sub $t0, $s3, $s4 
sll $t0, $t0, 2 
lw $t1, $t0($s6) #Is this line allright? 
add $s5, $t1, $zero 
sw $s5, 32($s7) 

3行目のメモリをアドレス指定するオフセットとして$ t0レジスタを使用することについてはわかりません。前もって感謝します。

答えて

8

いいえ、代わりに$ t0から$ s6を追加して必要なアドレスを計算してください。

sub $t0, $s3, $s4 
sll $t0, $t0, 2 
add $t0, $t0, $s6 
lw $t1, 0($t0) 
sw $t1, 32($s7) 
+0

ありがとうございました。それはとても役に立ちました! –

+0

SOを歓迎し、歓迎します。私の記事があなたに役立っていれば、答えを受け入れupvoteすることは慣例です。 –

+0

OK、既に受け入れられていますが、評判が低いためアップフォートできません。 –

関連する問題