Вот какая штука замечена в 3.20С:
Объявляю в регистре кучу флагов, например:
Код
volatile __regvar __no_init struct
{
unsigned char gluk1:1; // не исп из-за глюка компилера
unsigned char sending:1; //
unsigned char priem:1; //
unsigned char setpnt:1; //
unsigned char sohran:1; //
unsigned char newotscet:1; //
unsigned char smena_rezima:1; //
unsigned char flagt0:1; //
} @ 15;
так вот при оптимизации выше средней запись 1 в мл бит - нормально, а очистка мл бита - генерится CLR R15. Все остальные биты - нормально...