I have re-read the errata sheet, and remember seeing it before. It doesn't say you need a stub routine between your main and sub. You have to insert a FFFFh at the *target* of any jump over the 4000h "boarder line" : 1. Insert a data word of value FFFFh as the first instruction in the destination of a CALL or GOTO. 2. Insert a data word of value FFFFh immediately following any RETURN, RETLW, or RETFIE instruction. So, whenever the PIC jumps over the 4000h boarder (from executing a CALL or GOTO), it has to see a FFFFh instruction as the first one. Note also that the RETURN (if it "returns" over the 4000h boarder) needs FFFFh directly *after* the RETURN instruction, not at the *target* of the RETURN ! Could easily be fixed with a "458_RETURN" macro that inserts both the RETURN and the FFFFh. Or is it be something with "C" that makes this harder to implement ? Jan-Erik. -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body