> To read from my EEPROM inside the 'F628 I put the desired EE address in w > and call 'ReadEE' (see code snippet). > > I'll confirm the value in address 0x00 of the EE space equal to 0xAA, and > address 0x01 equal to 0x55 by looking at the EEPROM memory window. If I run > at 4Mhz and read the two addresses one after the other, 'ReadEE' sends back > 0xAA each time. How do you know this if you're not stepping? Betcha there is an assumption in there somewhere you're not thinking about right now. > If I step through the program using the ICE2000, I'll get > the correct values: 0xAA, and 0x55. What gives? > > ReadEE > BANK1 > movwf EEADR ;Address to read > bsf EECON1,RD ;EE Read > movf EEDATA,w ;w = EEDATA > BANK0 > return I don't believe it. The EEPROM read looks fine to me, and I don't believe it is acting differently at high and low speed. You'll find this a lot quicker by assuming the PIC is working correctly and something is wrong with your code. Have you tried this on the real chip or just the emulator? ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu