MIPS组装指向一个指针?

时间:2020-03-06 14:24:08  来源:igfitidea点击:

我想我知道该如何处理,但我只是想确保自己做对了。假设我们有以下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

那是你会做的方式吗?

解决方案

是的,据我所知这是正确的。如果我们使用相同的变量名称(例如,用符号代替硬寄存器名称)会更容易。

为什么不简单地编译C代码并查看列表文件或者程序集输出呢?如有疑问,我总是这样做。