In externen Speicher kann man keinen Programmcode ablegen, nur Daten.
Stimmt schon, außer du baust dir einen wirklichen Parser, der dir je nach eingelesenem Befehl eine anderen im programmcode abgespeicherten Befehl ausführt. Ist Mega aufwendig und meist ist es einfacher das Programm intern abzuspeichern, schon weil das Interface für den EPROM/Flash-Speicher sehr schnell sehr Portintensiv wird. Lohnt sich echt nur, wenn man ein vorprogrammiertes Programm hat und es versucht mit einem PIC zum Laufen zu bringen (zum Beispiel das BIOS einer ISA-Graca zu interpretieren). Wobei sich es beim Beispiel schon lohnt den EPROM auszulesen und mittels disassembler den eigentlich Code in x86-Asm zu bekommen und diesen dann einfach auf PIC-Code umzuschreiben.

Wie gesagt, für lookup Tabellen lohnt es sich nur, wenn du 1. viele unbenutzten Pins hast (viele = min 2 Ports, oder es wird sehr langsam, ich sag nur shiftregister) und 2. diese echt nicht in den PIC-Speicher passen. Wenn ich erlich sein soll, ich hab bis heute nie die 2k Grenze bei PIC-Programmen überschritten und das war ein Sinus-Generator mit 2 lookup Tabellen.
MfG
Mobius