Сборка MIPS Указатель на указатель? - PullRequest
4 голосов
/ 19 сентября 2008

Я думаю, что знаю, как справиться с этим делом, но я просто хочу убедиться, что я правильно понял. Скажем, у вас есть следующий код C:

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

P содержит адрес, который указывает на место в памяти, которое имеет другой адрес. Я хотел бы изменить второй адрес. Итак, код 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

Так ты это сделал?

1 Ответ

4 голосов
/ 19 сентября 2008

Да, это правильно, насколько я могу судить. Было бы проще, если бы вы использовали одинаковые имена переменных (например, символы вместо жестких имен регистров).

Почему вы просто не скомпилировали c-код и не взглянули на файл списка или вывод сборки? Я всегда так делаю, когда сомневаюсь.

...