[an error occurred while processing this directive]
Потому как пишете 32-битное слово, а читаете младший байт. Который по разумению обоих находится в разных местах. Читайте тоже 32-битное слово, и потом его на 4 байта сдвигами делите, и будет все ОК.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)