是否有可能与GAS(GNU汇编器)使用MIPS寄存器的名字呢?
题
如果我使用的寄存器名字,我得到:
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
不隶属于 StackOverflow