0

たとえば、C コードを同等の MIPS に変換しようとしています。

int a[50];
int i;
...
a[0] = 1;
a[1] = 1;
...

答えの1つを見ると、やる以外に方法はありませんか?:

     .data
array: .word  1,1,...,0  (till the 50th zero)
4

3 に答える 3

2

リテラル データは、C コードと同等ではありません。これはもっと似ているでしょう

mov [data], 1
mov [data+1], 1

.data初期化されていないBSSセクションにあります。この方法を使用する場合は、必ずデータをゼロにしてください。

ただし、実際のリテラル データを挿入しても問題はありません。ゼロが 50 個あるだけでは意味がありませんが、入力するほどではなく、テキスト エディターの機能を使用します。よりランダムなデータについては、バイナリ形式をコードに挿入できる形式に変換する短いプログラムをいくつか作成しました。

于 2013-07-21T11:28:02.460 に答える