В результате как только обьявил переменные глобально, все заработало
__eeprom _no_init Long int E;
__eeprom _no_init Long int S;
long int a=0;
long int b=0;
int main( void )
{
while(1)
{
.
if(.........условие)
{
__disable_interrupt();
E=a;
S=b;
__enable_interrupt();
}
}
.
}
IAR 5.50, С, CLIB, optimtsation-high(maksimum)