в зависимости от ранее объявленных переменных вида FLAG1 equ TRUE, FLAG2 equ TRUE формировалась строка из флагов.
Влоб макрос
;
COMPILATIONFLAGS equ \
match=TRUE, FLAG1 {
'(FLAG1)'
}
match=TRUE, FLAG2 {
'(FLAG2)'
}
match=TRUE, FLAG3 {
'(FLAG3)'
match=TRUE, FLAG4 \{
'(FLAG4)'
\}
match=TRUE, FLAG5 \{
'(FLAG5)'
\}
}
match=TRUE, FLAG6 {
'(FLAG6)'
}
FlagArea db COMPILATIONFLAGS
не прошёл
define FLAG1 TRUE define FLAG2 TRUE define FLAG3 TRUE define FLAG4 TRUE define FLAG5 FALSE define FLAG6 TRUE macro check_flags [name,text] { compilation_flags equ '' forward match =TRUE,name \{ compilation_flags equ compilation_flags,text,', ' \} } check_flags \ FLAG1,'f1', \ FLAG2,'two', \ FLAG3,'the_flag_3', \ FLAG4,'4', \ FLAG5,'FLAG5', \ FLAG6,'(FLAG6)' display compilation_flags Или можно в именованный virtual совать, а потом memcpy в нужное место repeat-ом.
О, спасибо большое! А то не хотел утратить привычку в About флаги условной компиляции отображать
Если тебе просто список флагов сделать, ты можешь вообще избавиться от text и пихать в equ просто `name.
Обсуждают сегодня