使用指针将C语言转换为MIPS汇编

3
我将尝试存储一个指针,其初始化如下:
int* x;

转换为一个已初始化的普通变量

int y;

因此:
y = *x;

在MIPS中,这只是一件非常简单的事情。
$s1 = ($a0);?

反之亦然?

4
那个例子中,xy都没有被初始化。你的意思是“声明”吗? - Carl Norum
1个回答

3
汇编语言通常没有运算符。您可能需要使用lw指令:
lw $s1, 0($a0)

使用$s1$a0是与上下文相关的。如果这些寄存器与您使用的其余代码匹配,那么就没有问题。

当我进一步研究它时,我开始觉得。不过还是谢谢你的确认! - Gasper Gulotta
谢谢!如果是类似于“*y = *x”的东西,但是像“lw 0($s1), 0($a0)”这样的话,你会做同样的事情吗? - jcflinn14
1
@jcflinn14,不行。你需要使用两个指令,一个是加载指令,另一个是存储指令。 - Carl Norum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接