GNU as .macro占位符后紧跟字符

时间:2015-07-05 14:34:52

标签: assembly gnu

在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]'

有没有办法让宏中的占位符后面跟一个字符?

1 个答案:

答案 0 :(得分:2)

使用\()构造将宏参数与其后面的字符分开:

.macro test_cond condition, index
    STR\condition\()B r4, [r6, #\index*17]
.endm