ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
173165 Топик полностью
AlexAbel (22.11.2009 13:19, просмотров: 239) ответил MBedder на Элементарно, Ватсон! (хотя не могу понять, зачем такой код может понадобиться)
Спасибо за внимание,но я уже с самого начала написал что .irpc не подходит, т.к. он в цикле генерит код заключенный между .irpc и .endr и число элементов (циклов) нужно знать заранее, а оно нам не известно. ;**************************************************** variable NUM, SP, TMP _TEST_BIT_THEN MACRO FILE, BIT LAB#v(SP)=NUM BTFSC FILE, BIT BRA ENTRY#v(NUM) NUM=NUM+1 SP=SP+1 ENDM _ELSE MACRO SP=SP-1 TMP=LAB#v(SP) LAB#v(SP)=NUM BRA ENTRY#v(NUM) ENTRY#v(TMP) NUM=NUM+1 SP=SP+1 ENDM _END_TEST MACRO SP=SP-1 TMP=LAB#v(SP) ENTRY#v(TMP) ENDM А всё это даёт следующее поведение: какой-то код для PIC18 _TEST_BIT_THEN STATUS, Z ;блок кода 1 _if_bc_then STATUS, Z ;блок кода 2 _if_bc_then STATUS, Z ;блок кода 3 ;и так далее _END_TEST _END_TEST _else goto aa ;(к примеру) __END_TEST aa: nop А теперь вопрос - как данное поведение описать с помощью .irpc - никак, вот я и написал что .irpc не подходит. Извеняюсь что не написал конкретно что мне нужно.