1

たとえば、次のようになります。

lw $t1, 0($t0)

また

lw $t2, 8($t0)

C または C++ に変換しますか? つまり、アドレスからレジスタにワードをロードしているということです。配列も同様の概念ですか、それとも何ですか?

前もって感謝します。

4

4 に答える 4

0

MIPS32 を使用している (したがって 32 ビット メモリ アドレッシングを使用している) と仮定すると、それらの機能は非常に簡単です。

lw $t1, 0($t0)

これは、メモリ アドレス t0 からバイト オフセット 0 の値を t1 レジスタにロードすることです。

lw $t2, 8($t0)

これは、メモリ アドレス t0 からバイト オフセット 8 の値を t2 レジスタにロードすることです。

メモリ アドレスが 0x12345678 であるとします。次に、MIPS アセンブリは基本的に次のことを行います。

int t0 = 0x12345678;
// ...
int t1 = *(int*)(t0 + 0);
int t2 = *(int*)(t0 + 8);
于 2009-10-22T08:20:19.780 に答える