如果我使用的寄存器名字,我得到:

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

如果我使用注册号码($8代替$t0$0代替$zero)它的工作原理。 (我使用的binutils 2.17)。

有帮助吗?

解决方案

在GNU汇编并不直接支持符号寄存器名称。一种常见的方法中,如果使用gcc驱动汇编程序,是用于汇编源程序文件中的“.S”扩展(它告诉GCC通过汇编器之前C预处理源)和#包括包含定义一个标题文件像:

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

然后汇编源可以具有象语句

add v0, zero, zero
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top