I am using the 17C44 with external EEPROM memory as shown on page 29 of the PIC17C4X DATA SHEET. The setup I am using is identical. The clock rate is 4Mz. The Amtel EEPROM has a 120 ns access time. I have a boot loader program residing in the PIC which, with the aid of a computer, transfers the program contents from a hex file to EEPROM memory using the table write instruction. Upon transferring the program, the boot loader jumps to new program and begins executing the code there. Note that interrupts are redirected within the PIC to the appropriate handler in EEPROM memory. The PIC is set up for extended microcontroller mode. The problem I am experiencing is that, although smaller programs work fine (will execute normally from EEPROM memory), larger programs run for a while and jump to some random memory address in EEPROM. Interrupts appear to operate normally. Is it possible the program counter is not able to fetch the next instruction quickly enough and returns a garbage instruction? I have verified that the program contents are intact by comparing each byte to the listing file. Any comments or suggestions would be helpful.