次のようなマクロを作成したいと思います。
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
用途:
assert_eq $1
assert_eq $1, %eax
が必要.altmacro
ですLOCAL
( を使用する別の可能性が見えますが\@
、 が必要ですLOCAL
)。
But when I try to compile this I get:
Error: % operator needs absolute expression
b=%eax
この問題は、によって有効にされた別の機能を使用しようとしているという事実によって作成されていると推測しています.altmacro
: Expression results as strings、.altmacro
これがなくても問題なく記述できるからです。
これが正しい場合、マクロを機能させるにはどうすればそれを回避できますか? そうでない場合、コードの何が問題になっていますか?
おまけの質問: 使い方は%
?
ガスのバージョン: 2.23.52