Gas-Altmacro-Makro mit einem Prozentzeichen in einem Standardparameter schlägt fehl mit "% Operator benötigt absoluten Ausdruck"
Ich möchte ein Makro wie das folgende erstellen:
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
Zu verwenden als:
assert_eq $1
assert_eq $1, %eax
Ich will.altmacro
zumLOCAL
(Ich sehe die andere Möglichkeit der Verwendung\@
, aber ich möchteLOCAL
).
Aber wenn ich versuche, dies zu kompilieren, erhalte ich:
Error: % operator needs absolute expression
Ich vermute, dass dieses Problem dadurch entsteht, dassb=%eax
versucht, eine andere Funktion zu verwenden, die von aktiviert wurde.altmacro
: Ausdrucksergebnisse als Zeichenfolgen, da ohne.altmacro
Ich könnte das ohne Problem schreiben.
Wenn dies zutrifft, wie kann ich das umgehen, damit mein Makro funktioniert? Wenn nicht, was stimmt mit meinem Code nicht?
Bonusfrage: Wie benutzt man%
?
GAS-Version: 2.23.52