Есть такой массив:
Код
BYTE PIN_[3]={
(BYTE)(&PINB),
(BYTE)(&PINF),
(BYTE)(&PING)
};
(BYTE)(&PINB),
(BYTE)(&PINF),
(BYTE)(&PING)
};
Доступ к нему присходит вот так:
Код
PIN_tmp=_SFR_IO8(PIN_[0]-0x20);
......
PIN_tmp=_SFR_IO8(PIN_[2]-0x20);
......
PIN_tmp=_SFR_IO8(PIN_[2]-0x20);
Все работает, более того мне даже нравится код который генерит при этом GCC,
НО, осадок остается


Собствено вопросы:
1. Есть ли в GCC другие варианты доступа к массиву PINx, без использования _SFR_IO8 ?
2. Насколько такой вариант портируем на более старые/новые реализации GCC AVR ?
3. 0x20 режет глаз, а что с этим делать ?