我想我知道如何处理这个案子,但我只是想确保我做对了。假设您有以下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
这样你会这样做吗?
答案 0 :(得分:4)
是的,就我所知,这是正确的。如果使用相同的变量名称(例如符号而不是硬件寄存器名称)会更容易。
为什么不简单地编译c代码并查看list-file或assembly-output?当有疑问时,我总是这样做。