Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
#define sbi(sfr, bit) ((sfr) |= _BV(bit)) Ну, там же внутри есть |=. Значит убьётся (если там кто-то есть, конечно :)) А компилятор может конструкцию |= превратить в асмовскую SBI, а может и сделать из нее триаду IN-ORI-OUT. Все равно каюк. Там, где есть ASM-комнда SBI (см. свой листинг), или С-конструкция |= то убьётся. Надо просто cбрасывать флаги ldi r16,(1 << TOV0); out TIFR,r16. А на Си: TIFR=(1 << TOV0)... Кстати, TIFR на русской раскладке означает ЕШАК :)
Составить ответ | Вернуться на конференцию
Ответы