Газовый макрос 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

Ответы на вопрос(2)

Ваш ответ на вопрос