Да, пожалуй, для 16 пиков лучше хайтека сишных компиляторов не найти. Вот 18 и выше - это другое дело. Тут, как говорится, есть варианты. Итак OPTION_REG,INTCON,STATUS и прочие регистры асм увидит, но вначале каждого нужно ставить нижний пробел, например:
#asm bcf _STATUS, 0 #endasm
То же самое нужно делать и для объявленных вами глобальных переменных. Например:
char i; #asm movlw 0x0D movwf _i #endasm
Вот с локальными переменными - проблема. Лучше с этим не заморачиваться, хотя, если очень очень нужно - всегда можно посмотреть асмовский листинг.
И ещё один совсем маленький ньюанс - вставки типа asm("bcf _STATUS, 0") и #asm bcf _STATUS, 0 #endasm отличаются, это важно в циклах. Почитайте даташит.
|