In the .map file I got:
01:ea17 495 update_dif_obrir \MICRO5_205.C 986
01:ec06 14420 UpdatePrograms \MICRO5_205.C 1010
05:e45a 2995 procesa_entrada \MICRO5_205.C 1038
the UpdatePrograms show 14420 bytes size, very big for the function:
xmem void UpdatePrograms(void)
{
int i,flag;
for(i=1; i<_PROGRAMAS; i++)
{
flag=0;
if(programas.consigna == i) continue;
if(programas.consigna == 0) continue;
if(programas.referencia != programas[programas.consigna].referencia)
{programas.referencia=programas[programas.consigna].referencia; flag=1;}
if(programas.dif_obrir != programas[programas.consigna].dif_obrir)
{programas.dif_obrir=programas[programas.consigna].dif_obrir; flag=1;}
if(programas.dif_tancar != programas[programas.consigna].dif_tancar)
{programas.dif_tancar=programas[programas.consigna].dif_tancar; flag=1;}
if(programas.t_ciclo != programas[programas.consigna].t_ciclo)
{programas.t_ciclo=programas[programas.consigna].t_ciclo; flag=1;}
if(programas.t_apertura != programas[programas.consigna].t_apertura)
{programas.t_apertura=programas[programas.consigna].t_apertura; flag=1;}
if(programas.t_cerrar != programas[programas.consigna].t_cerrar)
{programas.t_cerrar=programas[programas.consigna].t_cerrar; flag=1;}
if(flag) writeUserBlock(0x000+(sizeof(programas)*programa),&programas,sizeof(programas));
}
}