0

私は pcspim シミュレーターを使用しており、プロセッサーは Intel x86 (リトルエンディアン) です。

私が理解しているように、宣言 .word -5 は、次のバイト 1111 1011 1111 1111 1111 1111 1111 1111 (リトルエンディアン) をメモリに配置する必要があります。しかし、シミュレータ pcspim は、この単語をビッグエンディアンの順序でメモリに配置します。これは、1111 1111 1111 1111 1111 1111 1111 1011 を意味します。誰がこれを説明できますか? 前もって感謝します、

xyoavx

4

1 に答える 1

1

スピムのドキュメントは次のように述べています。

SPIM のバイト オーダーは、シミュレーターを実行する基盤となるマシンのバイト オーダーと同じです。

そうです、あなたのマシンではバイトオーダーはリトルエンディアンでなければなりません。バイト順のビューを見ていますか? 一度に 1 ワードずつメモリを見ている場合、見ているビューは通常、バイトを前後に入れ替えます。例えば:

バイト単位:

fb ff ff ff ff ff ff ff
ef cd ab 89 67 45 23 01

言葉で:

fffffffffffffffb
0123456789abcdef

もう 1 つの可能性は、pcspim のビルドが実際にビッグ エンディアン プロセッサをシミュレートしているということです。

于 2010-02-04T23:45:32.173 に答える