La macro altmacro de gas con un signo de porcentaje en un parámetro predeterminado falla con "% operador necesita expresión absoluta"
Quiero crear una macro como la siguiente:
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
Para ser utilizado como:
assert_eq $1
assert_eq $1, %eax
quiero.altmacro
paraLOCAL
(Veo la otra posibilidad de usar\@
, pero yo quieroLOCAL
).
Pero cuando intento compilar esto obtengo:
Error: % operator needs absolute expression
Supongo que este problema es creado por el hecho de queb=%eax
está intentando usar otra característica habilitada por.altmacro
: Resultados de expresiones como cadenas, ya que sin.altmacro
Podría escribir esto sin problema.
Si esto es cierto, ¿cómo puedo evitar que mi macro funcione? Si no, ¿qué hay de malo con mi código?
Pregunta extra: como usar%
?
Versión GAS: 2.23.52