は、この文は有効なものですか?はどのように実際に動作MIPSにLWのでしょうか?
lw $t0, 21($s0)
$s0
小数点2022
が含まれています。
私の知る限りでは、オフセット+レジスタで指定されたアドレスは常にmultiple of 4
である必要があるため、これは無効です。これは正しいかどうか?
提供された回答に基づいてこの質問に拡張されていますが、アドレスは$s0
であるか、アドレス21+$s0
の計算後にのみ発生しますか?
は、この文は有効なものですか?はどのように実際に動作MIPSにLWのでしょうか?
lw $t0, 21($s0)
$s0
小数点2022
が含まれています。
私の知る限りでは、オフセット+レジスタで指定されたアドレスは常にmultiple of 4
である必要があるため、これは無効です。これは正しいかどうか?
提供された回答に基づいてこの質問に拡張されていますが、アドレスは$s0
であるか、アドレス21+$s0
の計算後にのみ発生しますか?
その命令の実行$ S0は小数2022による実効アドレス(= 2022 + 21 2041)に、例外が発生します含ま正しく整列されていません。
推論:OSのカーネルは非常にsignificativeパフォーマンスコストで不整列アクセスをエミュレートすることができます(たとえば、Linuxでは/ MIPSのは、 'アーチ/ MIPS /カーネル/ unaligned.c'参照します)。 – ninjalj
@Sibi:あなたは疑いのための新しい質問を開く必要があります。 – ninjalj