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

Respuestas a la pregunta(2)

Su respuesta a la pregunta