[解決済み] MIPS:lw(ロードワード)命令
質問
は
lw $s0,8($0)
と同じです。
lw $s0,0($v0)
?
違いがわかりません。8はオフセットを表していると思います。つまり、$0のアドレスが必要で、そのアドレスに2(8/4)を足すということです。
EDITです。
lw命令とMIPSのレジスタセットについて質問です。オフセットが正確にどのように機能するのかを理解するのはかなり難しいです...。
どのように解決するのですか?
状況によっては同じような動作をすることもありますが、同じではありません。
の書式は
lw
命令は次のようになります。
lw RegDest, Offset(RegSource)
ここで RegDest と RegSource は MIPS レジスタで、Offset は即値です。
これは、レジスタRegSourceの内容と指定されたOffsetを加算した結果のアドレスに含まれるワードをレジスタRegDestにロードすることを意味します。結果のソース・アドレスは、ワード・アラインド(すなわち4の倍数)でなければなりません。
したがって
lw $s0,8($0)
で読み込むことを意味します。
$s0
で指定されたアドレスにあるワードの内容です。
$0
に8を加えたものです。として
$0
はレジスタ
$zero
は常に定数0を含むので、絶対アドレス8に位置するワードを
$s0
.
lw $s0,0($v0)
で読み込むことを意味します。
$s0
で指定されたアドレスにあるワードの内容です。
$v0
. もし
$v0
が値8を含んでいる場合、どちらの命令も同じ効果を持ちます。もし
$v0
が4の倍数でない場合、この命令はアドレッシングトラップを発生させます。
通常
lw
は、アセンブラがその命令を実現するために複数の命令を出す可能性があるという意味で、擬似命令です。オフセット(変位)は、16ビットの符号付き値でなければなりません。
もし命令がより多くのビットを持つ即値を持つ場合、アセンブラは通常、一時的なレジスタ(
$at
) に即値の内容を保持させ、それと同等の命令を出して目的の動作をさせる。ディスアセンブラやMIPSモニタ(MARSシミュレータでのコード検査も可能)を使って、この動作を確認することができます。
関連
-
[解決済み】単純なforループのためのMIPSアセンブリ
-
[解決済み】JNZとCMPのアセンブリ命令
-
[解決済み] ミップスアセンブリの文字列の長さ
-
[解決済み] アセンブリでは、`PTR`は何の略ですか?
-
[解決済み] 8086アセンブリ言語での2つのレジスタのスワッピング(16ビット)
-
[解決済み] cmovlオペコードの中で何と何が比較されるのですか?
-
[解決済み] ARMv8でリテラル0ではなく、xzrレジスタを使用するのはなぜですか?
-
[解決済み] ベースレジスタを持たないqword ptr [hexvalue]の意味するところ
-
[解決済み] インテルアセンブリの%ripレジスタを理解する
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JNZとCMPのアセンブリ命令
-
[解決済み] アセンブリで値をnullに設定する
-
[解決済み] DOSBox - このプログラムはDOSモードでは実行できません (アセンブリ)
-
[解決済み] アセンブリ - CMP後のJG/JNLE/JL/JNGE
-
[解決済み] ARMはSDIVとUDIVを区別していますが、ADD、SUB、MULでは区別していないのはなぜですか?
-
[解決済み] ベースレジスタを持たないqword ptr [hexvalue]の意味するところ
-
[解決済み] CS:IPの組み立ての意味と仕組みについて教えてください。
-
[解決済み] アセンブルmov命令
-
[解決済み] movqアセンブリ機能
-
[解決済み] この状況でのlwとbneは何を意味するのか?