You're not just running out of stack are you? Richard P --------------------------------------------------------------------------------- 16F876 I've got this line in my code: M22 BTFSS UP ;pushbutton on RB2 GOTO M22 ;check for release, key debouncing has been done. These lines sits in page1 and my ISR sits in page0. I've get a lot of interrupts from page1 and they all work fine, except here. Seems like my pic gets lost here for some reason and re-initialize. I use interrupts from RB0 and RB4 and TMR0. RB0 and RB4 are not used at this stage (ie: they are not triggered), but TMR0 is. When these lines are in page0 I have no problems. I've put a few NOPs in between the two lines so that the program can stay in the loop and that showed me the "reset" occurs as soon as the first line gets executed. I've managed to get it to work by switching GIE off before it and on again later in the code, but it is a mystery why it does that. Can anybody shed some light on this? Thanks Quentin -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu