2015-07-05 59 views
1

在GNU彙編器中,我定義了一個像這樣的宏。GNU as .macro佔位符後面緊跟字符

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

有沒有辦法有一個宏觀的佔位符緊跟一個字符?

回答

2

使用\()結構的宏參數從它後面的字符分隔:

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