Цитата(vetal @ Nov 30 2007, 22:13)

Как раз относится. Главное как выделить, а передавать можно любым поинтером.
К примеру у адреса int младшие 2 бита должны быть "00". Если вы с этим интом будете работать через char*, то байты 0-3 будут на своем месте в соответствии в byteenable. А если выделять char без выравнивания, то будет смещение от раза к разу разное и вам придется пересчитывать в железе адреса слов и byteenable чтобы выковырять нужный байт.
Хм. В том примере, который я приводил, адрес передается выровненый, последние два бита 0. Однако, не помогло. Или же я чего-то не понимаю. Надо будет в понедельник проверить, что будет читаться при Adr+=4.
Цитата(vetal @ Nov 30 2007, 22:13)

Не понимаю вашего рвения читать именно 1 байт, и боязнь 4 сразу - по скорости они будут читаться одинаково!
Да, честно говоря, лень дополнительный автомат распределения 4 байт по одному писать.

Хотя, думаю, так и сделаю.
PS: А точно проблема именно в адресации? Других вариантов нет?