MIPS プログラムでメモリ位置 100(10 進数) で配列を宣言するにはどうすればよいですか?
質問する
1215 次
1 に答える
4
spim
シミュレーターは、オプションのディレクティブdata
引数をサポートしています。詳しくはこちらをご覧ください。
.data <addr>
次のデータ項目は、データ セグメントに格納する必要があります。オプションの引数
addr
が存在する場合、アイテムは address から格納されますaddr
。
したがって、 を使用するspim
と、ユーザー データ セグメントの範囲内にある限り、任意のデータを正確なアドレスに格納できます。ではspim
、予約範囲は0x10000000 - 0x10040000
です。
たとえば、アドレスに配列を格納したい場合は、次の0x10000030
ように記述します。
.data 0x10000030
list: .word 3, 0, 1, 2, 6, -2, 4, 9, 3, 7
ただし、アドレス100
はシミュレータのユーザー データ セグメントの許容範囲内ではありませんspim
(または、メモリの最初のページの一部であるため、おそらく他の状況で)。
ディレクティブからロードしようとしたときにどうなるかを確認するために、.data 100
ディレクティブを試してみましたが、答えはエラーです。spim
Memory address out of bounds
于 2016-03-01T09:12:41.797 に答える