Цитата(GetSmart @ Dec 20 2007, 12:53)

Смотрел. Компилятор понятия не имел откуда я буду читать и читал 4 байта в одной команде. При этом он читал LONG с адреса (addr & ~3) и сдвигал его вправо на ((addr & 3) << 3) бит.
Точнее сдвигал вправо по кругу. Можно сказать на (addr & 3) байт.
Почитал я мануал на 21хх, действительно про обращение по невыровненным адресам ни слова.
можно сделать вывод, что контроллер памяти разруливает такие ситуации.
Но это всё таки частный случай.