Can anyone verify that my saving/restoring W and STATUS below are correct? I'm getting VERY erratic behavior in my foreground code with or without this snippet (even if I just change the status register in the ISR), and I'm not entirely sure that it's really saving off the status register properly. From what I understand, if I'm doing a fast interrupt, I need to save/restore registers myself: ...saving context... movwf ISRHighW ; Save off W movf STATUS, W ; Put status in W movwf ISRHighStatus ; Store the status ...restoring context... movf ISRHighStatus, W ; Save off working register movwf STATUS ; Put back in status register movf ISRHighW, W ; Restore W! retfie I have the quintessential guide to the PIC, but it's a 16F in the book which contains assembly syntax that won't work on the 18F. ;-| I'm hoping my translation is correct - please advise me if it isn't. Thanks! -->Neil ------------------------------------------------------------------------------- Neil Bradley In the land of the blind, the one eyed man is not Synthcom Systems, Inc. king - he's a prisoner. ICQ #29402898 -- 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