В теплом ламповом ARMCC версии ниже 6 было ключевое слово __packed,
с помощью которого можно было объявлять указатели на __packed-типы
(т.е. на невыровненные типы). При этом генерировался лишний код, но
работало: Reg[8]=((unsigned short __packed *)(&(IntEeprom.Speed)))[1];
Reg[9]=((unsigned short __packed *)(&(IntEeprom.Speed)))[0];