Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我使用寄存器名称,我会得到:
Error: illegal operands `add $t0,$zero,$zero'
如果我使用注册号($8而不是$t0和$0而不是$zero)它可以工作。(我使用的是 binutils 2.17)。
$8
$t0
$0
$zero
GNU 汇编器不直接支持符号寄存器名称。如果使用 gcc 来驱动汇编程序,一种常见的方法是使用“.S”扩展名作为汇编程序源文件(它告诉 gcc 在汇编程序之前通过 C 预处理器传递源代码)和 #include 包含定义的头文件像:
#define zero $0 #define v0 $2 #define v1 $3
然后汇编源代码可以有如下语句
add v0, zero, zero