> ORG 0x004 ; interrupt vector > > movwf w_temp ; save off current W > movf STATUS,w ; move status register > > bcf STATUS,RP0 ; ensure file register > > movwf status_temp ; save off contents of > movf DelayValue,w ; move status register > > movwf DelayTemp ; save off current This is not a valid method of context saving. That is because 'movf' affects the STATUS register. The example below performs proper context saving/restoring. 'swapf' does not affect the STATUS register. To save: movwf w_temp ; save off W and STATUS registers swapf STATUS, 0 movwf status_temp clrf STATUS ; select Bank0 To restore: swapf status_temp, 0 ; restore all registers movwf STATUS swapf w_temp, 1 swapf w_temp, 0 retfie ; return from interrupt I really didn't look at the rest very carefully; there may still be errors hiding there as well. Try the abovementioned fix first. You're using a chainsaw to cut butter in your program, but it's good to explore all the options of the PIC first before you actually try a more complex program. I'm assuming, of course, that you intend to do something more complicated with this chip, otherwise you could use an 8-pin or 18-pin flash chip without the extra timers, ports, options, etc. --Andrew _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics