Hi Folks, I'm trying to write a 16C84 EEPROM and when I do, the PIC Locks up (doesn't return from the Loop polling "WR" in "EECON1"). The Code is: movlw 0 ; Put the Data in EEPROM Address 0 movwf EEADR movlw 0x055 ; Simple Check Pattern movwf EEDATA call EEWRITE . : EEWRITE ; Put the Contents of EEDATA into EEPROM at bsf STATUS, RP0 ; EEADR bsf EECON1 & 0x07F, WREN bcf INTCON, GIE ; Turn Off Interrupts During Write movlw 0x055 movwf EECON2 & 0x07F movlw 0x0AA movwf EECON2 & 0x07F bsf EECON1 & 0x07F, WR bsf INTCON, GIE btfsc EECON1 & 0x07F, WR ; Wait for the EEPROM Write to Complete goto $ - 1 bcf EECON1 & 0x077F, WREN ; Disable the EEPROM From Writing bcf STATUS, RP0 return Data is displayed on three seven-segment LED displays. Only the Timer is used for Interrupts (to switch between the LED displays). When I run this on the MPLAB Simulator, it runs fine (although executes in one cycle, which I find surprising). The code above is identical to what's shown in the Datasheets, except for the "bsf EECON1 & 0x07F, WREN" after the switch to Register Page 1. Does anybody know what I'm doing wrong? Thanx, Myke Do you ever feel like an XT Clone caught in the Pentium Pro Zone?