我想创建一个如下所示的宏:
.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
:Expression results as strings,因为没有.altmacro
我可以毫无问题地写这个。
如果这是真的,我如何逃避它以使我的宏工作?如果没有,我的代码有什么问题?
奖金问题:如何使用%
?
GAS 版本:2.23.52