Here is the EEPROM Read code found on Page 93 of the 16f628 data sheet. BCF STATUS, RP0 ; Bank 0 MOVLW CONFIG_ADDR ; MOVWF EEADR ; Address to read BSF STATUS, RP0 ; Bank 1 BSF EECON1, RD ; EE Read BCF STATUS, RP0 ; Bank 0 MOVF EEDATA, W ; W = EEDATA Everything seems fine except for the last line. The register map shows that EEDATA is in Bank1. So reading EEDATA would actually read RCREG! Is this an error in the data sheet ? I guess they merely copied the routine from The 16f84 data sheet. How misguiding this could be to newbies! Jeethu Rao -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads