Цитата(Velund @ Jun 26 2006, 05:46)

ltemp = LPtr->Id;
0001BACC E5990000 LDR R0, [R9, #+0]
0001BAD0 E1B0A000 MOVS R10, R0
Вот кусок дампа памяти на тот же момент...
0x40002960 00 00 00 00 00 48 00 47 00 00 00 42 e6 9d 44 0c 00 04 01
Дебаггер, когда пытаешься посмотреть LPtr->Id кажет 0x00000047. Quick Watch структуру показывает как надо.
Вот только в результате выполнения той строчки в ltemp (R10) стабильно оказывается 0x00480047
Очень странно, что адрес 32 битной переменной не выровнен на 4.
В приведенном описании сложно разбираться. Сделайте минимально-достаточную структуру и функцию, в которой будет проявляться приведенный эффект и запостите сюда. Возможно, когда будете делать, все само и прояснится.
Пасу котов...