A macro altmacro a gás com um sinal de porcentagem em um parâmetro padrão falha com “% de expressão absoluta precisa do operador”
Eu quero criar uma macro como o seguinte:
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
Para ser usado como:
assert_eq $1
assert_eq $1, %eax
eu quero.altmacro
paraLOCAL
(Eu vejo a outra possibilidade de usar\@
, mas eu queroLOCAL
).
Mas quando eu tento compilar isso eu recebo:
Error: % operator needs absolute expression
Eu estou supondo que este problema é criado pelo fato de queb=%eax
está tentando usar outro recurso ativado por.altmacro
: Resultados de expressão como strings, desde que sem.altmacro
Eu poderia escrever isso sem problema.
Se isso for verdade, como faço para evitar que minha macro funcione? Se não, o que há de errado com o meu código?
Pergunta bônus: como usar%
?
Versão do GAS: 2.23.52