5

このケースの処理方法はわかっていると思いますが、それが正しいことを確認したいだけです。次の C コードがあるとします。

int myInt = 3;
int* myPointer = &myInt;
int** mySecondPointer = &myPointer;

P には、別のアドレスを持つメモリ内の場所を指すアドレスが含まれています。2 番目の住所を変更したいのですが。したがって、MIPS コードは次のようになります。

la $t0, my_new_address
lw $t1, ($a0) # address that points to the address we want to modify
sw $t0, ($t1) # load address into memory pointed to by $t1

それはあなたがそれをする方法ですか?

4

1 に答える 1

4

はい、私が知る限り、それは正しいです。同じ変数名 (たとえば、ハード レジスタ名の代わりにシンボル) を使用すると、より簡単になります。

Cコードをコンパイルして、リストファイルまたはアセンブリ出力を確認しなかったのはなぜですか? 迷った時はいつもそうしています。

于 2008-09-19T00:21:17.543 に答える