ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
139162
MBedder, терминатор (18.11.2008 02:44, просмотров: 5552)
Хотя вопрос по ASM30, но задам здесь - у ASM30 ведь ноги GNUтые. Каким макаром можно OR'ить .ifdef'ы/.ifdecl'ы или хотя бы .if'ы? Надо пускать ветви условной трансляции по разным ГРУППАМ условий, и хотелось бы сделать не через жопу (с дополнительной переменной), а вот так: .ifdef bla1 OR bla2 OR bla3 ; do something .elseif bla4 OR bla5 ; do something else .else ; abort .endif Разумеется, никакие операторы OR (|,||) не принимаются - Error: non-constant expression in ".if" statement, что закономерно, когда операнд не определен. Пока обходился черезжопным образом: .ifdef bla1 foo = 1 .endif .ifdef bla2 foo = 2 .endif .ifdef bla3 foo = 3 .endif ... .ifndef foo .error "Bad foo!" .elseif foo < 3 ; do something .else ; do something else .endif Но душа просит гармонии. На какие кнопки жать?