在GNU汇编程序中,我定义了一个像这样的宏。
.macro test_cond condition, index
STR\conditionB r4, [r6, #\index*17]
.endm
test_cond EQ, 0
应该扩展到
STREQB r4, [r6, #0*17]
相反,它失败了
bad instruction `streq\conditionB r4,[r6,#0*17]'
有没有办法让宏中的占位符后面跟一个字符?
答案 0 :(得分:2)
使用\()
构造将宏参数与其后面的字符分开:
.macro test_cond condition, index
STR\condition\()B r4, [r6, #\index*17]
.endm