Hi, I sent my .s19 file to Technological Arts and they replied with the following explanation and that solved the problem. "It is important to use Init first in your program, because that is where you initialize the CONFIG register to disable the COP feature. If your program tries to send a string first (before disabling COP), the COP will time out and vector to the COP reset address contained in 0xFFFA. Since your program does not initialize any other vectors besides reset and TOC4, the other vectors still contain values left over from the demo program. Also, the demo program is still intact in EEPROM at 0xE000, because you have started your program at 0x8000 (note that MicroLoad doesn't erase the entire EEPROM before loading new code-- it just overwrites the new locations as per your .s19 file). It is good programming practice to initialize all the interrupt vectors so that spurious interrupts won't cause misleading behaviour. For example, you could initialize all unused interrupt vectors to point to the beginning of your program." So thats it. But thanks a lot guys for taking interest in this matter. --- In , "indrajeetak" <indrajeetak@g...> wrote: > > Hi, > I have a microstamp11 and use Imagecraft's ICC11 compiler and > Microload for my software needs. Lately the following phenomenon has > been observed: > > I compile the code in ICC11 successfully. I then switch the > microstamp11 over to write mode and download the code into it using > Microload. It does so successfully. When I switch over to run mode, > it runs the code that was previously downloaded. It is as if the > code downloaded into it does not get written into the EEPROM. After > several tries, it succeeds. > I am absolutely dumbfounded. > > Regards, > Indrajeet |