Цитата(_Алекс @ Sep 14 2006, 13:10)

В общем, структура:
struct RX_BUFER{
unsigned char rxData[RX_BUFFER_SIZE0];
unsigned char index;
unsigned char errorFrame:1;
unsigned char errorCrc16:2;
unsigned char errorComand:4;
unsigned char firstByte:5;
unsigned char readyReceiveByte:6;
unsigned char buferOverflow:7;
unsigned char mesagCompl:8;
} rx_bufer;
Наверное Вы имели в виду так:
Код
struct RX_BUFER{
unsigned char rxData[16];
unsigned char index;
unsigned char errorFrame:1;
unsigned char errorCrc16:1;
unsigned char empty:1;
unsigned char errorComand:1;
unsigned char firstByte:1;
unsigned char readyReceiveByte:1;
unsigned char buferOverflow:1;
unsigned char mesagCompl:1;
} rx_bufer;
Цитата(_Алекс @ Sep 14 2006, 13:10)

Вроде все нормально работает но, например
rx_bufer. errorFrame = 1
Генерит длинный код, в место одной инструкции asm sbr r16, const, в результате откомпилированный код растет на глазах!
Sbr r16,const , будет только для переменных хранящихся в регистрах, а нужно
еще грузить/сохранять в память.
Да и скорее будет ori r,const