QUOTE (Twen @ Oct 26 2011, 16:09)

На stm32 нормально работает, short - 2 байта(6,4,6); Переменная b находится на границе 2 байт.
Конечно. Вся структура скопом грузится в 32-разрядный регистр. Я предлагал посмотреть на код для 8-разрядного процессора.
QUOTE (Twen @ Oct 26 2011, 16:09)

переменные в зависимости от их типов автоматически выравниваются отладчиком
Отладчик только показывает. Выравниваются они компилятором, а в остальном - верно.