Газовый макрос altmacro со знаком процента в параметре по умолчанию завершается неудачно с «оператором% необходимо абсолютное выражение»
Я хочу создать макрос, как показано ниже:
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
Для использования в качестве:
assert_eq $1
assert_eq $1, %eax
я хочу.altmacro
заLOCAL
(Я вижу другую возможность использования\@
, но я хочуLOCAL
).
Но когда я пытаюсь скомпилировать это, я получаю:
Error: % operator needs absolute expression
Я предполагаю, что эта проблема создается тем, чтоb=%eax
пытается использовать другую функцию, активированную.altmacro
: Результаты выражения в виде строкт.к. без.altmacro
Я мог бы написать это без проблем.
Если это правда, как мне избежать этого, чтобы мой макрос работал? Если нет, что не так с моим кодом?
Бонусный вопрос: как пользоваться%
?
ГАЗ версия: 2.23.52