> So when you run your program, some sort of ORG > instruction sets the PC to a known value, which is the memory address you > want your program to begin at. No, no, no! Beginners have enough confusion here. We must be very precise to avoid adding to it. ORG is an assembler directive. It tells the assembler where in memory to put subsequent instructions. It does NOT load the PC or cause anything else to happen at run time. On a power up or other reset, the processor initializes the PC to 0 on most PICs. After that it is completely up to the code what happens to the PC, except for interrupts. On an interrupt, the processor sets the PC to 4, after saving the original PC value on the stack. This applies to the 16xxx series, others have some other wrinkles. ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.