I have the same problem. I DO (I think) save the PCLATH. What did I do wrong? ISR ;******** Save the important registers ************************* ;Save_Env ;Save the world... movpf ALUSTA, ALUSTA_TEMP ;movpf affects Z movpf WREG, WREG_TEMP movpf BSR, WREG movpf PCLATH, PCLATH_TEMP movlr 0 movpf WREG,ISR_Real_BSR ;save the BSR for real for exitting -----Original Message----- From: Andrew Warren [mailto:fastfwd@IX.NETCOM.COM] Sent: Monday, April 17, 2000 2:43 PM To: PICLIST@MITVMA.MIT.EDU Subject: Re: Page Limit? John Gerthoffer wrote: > I had to disable interrupts while operating on PCLATH. An > interrupt completely screws up the program the simulator. In real > life, who knows??? John: Interrupts screwed up PCLATH because your interrupt-service routine didn't save/restore the PCLATH register. If you DO save the register on entry to the ISR (BEFORE any GOTOs or CALLs) and restore it when you exit the ISR, everything will work just fine. -Andy === Andrew Warren - fastfwd@ix.netcom.com === Fast Forward Engineering - San Diego, California === http://www.geocities.com/SiliconValley/2499