1

如果我使用寄存器名称,我会得到:

Error: illegal operands `add $t0,$zero,$zero'

如果我使用注册号($8而不是$t0$0而不是$zero)它可以工作。(我使用的是 binutils 2.17)。

4

1 回答 1

2

GNU 汇编器不直接支持符号寄存器名称。如果使用 gcc 来驱动汇编程序,一种常见的方法是使用“.S”扩展名作为汇编程序源文件(它告诉 gcc 在汇编程序之前通过 C 预处理器传递源代码)和 #include 包含定义的头文件像:

#define zero $0
#define v0   $2
#define v1   $3

然后汇编源代码可以有如下语句

add v0, zero, zero
于 2009-04-17T00:56:17.487 回答