É possível usar MIPS registrar nomes com GAS (GNU assembler)?
Pergunta
Se eu usar registrar nomes eu recebo:
Error: illegal operands `add $t0,$zero,$zero'
Se eu usar registar número ($8
vez de $t0
e $0
vez de $zero
) ele funciona.
(Estou usando binutils 2,17).
Solução
O GNU assembler não suporta nomes de registro simbólico diretamente. Uma abordagem comum, se estiver usando gcc para conduzir a montadora, é usar a extensão ".S" para o arquivo de origem assembler (que diz gcc para passar a fonte através do pré-processador C antes do assembler) e #include um arquivo de cabeçalho contendo definições como:
#define zero $0
#define v0 $2
#define v1 $3
Em seguida, a fonte assembler pode ter declarações como
add v0, zero, zero
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow