Компиллер от IAR при обращении к переменным которые втиснуты в EEPROM всавляет свои процедуры.
т.е. если написать a = 5; он вызовет поппрограмку на асме которая в момент записи запретит прерывания а поосле окончания разрешит их. проверить это можно получив ассемблерный листинг своей программы ! Тоько вот забыл как компиллеру указать что переменная 'а' находится в EEPROM.
Но это можно узнать почитав доку !