pointers - MIPS 汇编指针到指针?

标签 pointers assembly mips

我想我知道如何处理这个案子,但我只是想确保我做得正确。假设您有以下 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 代码并查看列表文件或程序集输出?当有疑问时我总是这样做。

关于pointers - MIPS 汇编指针到指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/98236/

相关文章:

c++ - 使用指针对象的 std::vector。当 vector 超出范围时,有没有办法从 vector 中删除该项目?

c - 如何更改 C 代码以使用指针?

c - 将值从 void 指针分配给非 void 指针

assembly - 在 Assembly x86 中将字符打印到标准输出

integer - MIPS 控制台输出中出现意外的十进制值

mips - MIPS和RISC有什么区别?

c - 指针关闭后,无法使用system()命令删除该文件,并显示该文件已被其他程序使用

c - 在 asm 语言中使用 scanf 函数

c - 堆栈清理不起作用(__stdcall MASM 函数)

loops - 汇编循环遍历寄存器值的每一位