I belive that u are letting the WDT time out as when your program reaches _main0 it goes into an endless loop without a clear wdt statement hence continually restarts form 0 every WDT period as specified in the option register. Try 1. Turn off the WDT 2. clear WDT in _main0 Cheers Steve.....