2010-11-26 8 views
0

は、この文は有効なものですか?はどのように実際に動作MIPSにLWのでしょうか?

lw $t0, 21($s0) 

$s0小数点2022が含まれています。

私の知る限りでは、オフセット+レジスタで指定されたアドレスは常にmultiple of 4である必要があるため、これは無効です。これは正しいかどうか?

提供された回答に基づいてこの質問に拡張されていますが、アドレスは$s0であるか、アドレス21+$s0の計算後にのみ発生しますか?

+0

@Sibi:あなたは疑いのための新しい質問を開く必要があります。 – ninjalj

答えて

3

その命令の実行$ S0は小数2022による実効アドレス(= 2022 + 21 2041)に、例外が発生します含ま正しく整列されていません。

+0

推論:OSのカーネルは非常にsignificativeパフォーマンスコストで不整列アクセスをエミュレートすることができます(たとえば、Linuxでは/ MIPSのは、 'アーチ/ MIPS /カーネル/ unaligned.c'参照します)。 – ninjalj

関連する問題