ih_ 0 22 августа, 2018 Опубликовано 22 августа, 2018 · Жалоба Как передать в макрос внутреннюю переменную i из другого макроса ? Хочется из одного макроса вызвать другой макрос несколько раз с разным параметрами. Но IAR не воспринимает i как число, как параметр, а передает ее как букву "i" tZond MACRO pZond\1: DS16 1 ENDM tZonds MACRO LOCAL i i SET 0 REPT \1 tZond i i SET i+1 ENDR ENDM tZonds 8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 29 декабря, 2018 Опубликовано 29 декабря, 2018 · Жалоба В препроцессоре C используются символы # и ## для "упрятывания" значения переменной в строку. Для ASM должно быть нечто подобное (или оноже). См. док. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 30 декабря, 2018 Опубликовано 30 декабря, 2018 · Жалоба 11 часов назад, k155la3 сказал: В препроцессоре C используются символы # и ## для "упрятывания" значения переменной в строку. Не значения переменной, а ее идентификатора. #define TO_STR_MACRO(var) #var ... printf(TO_STR_MACRO(var=) "%d", var); ... printf(TO_STR_MACRO(var) "=%d", var); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 30 декабря, 2018 Опубликовано 30 декабря, 2018 · Жалоба 3 hours ago, Arlleex said: Не значения переменной, а ее идентификатора. Да, конечно. Значение появляется на этапе исполнения :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться