> I won't claim that this rises to the level of a "tutorial", but > I've put up a small linker project at > > http://mywebpages.comcast.net/dilatush/lnkrdemo.zip That a lot closer to a tutorial than anything I have. I looked at your stuff and have a few comments: 1 - The linker control file creates a separate section for the first 256 program memory locations, which include the reset and interrupt vectors. I don't see any point to this and there is a down side. You can force the reset and interrupt code to their specific addresses by supply a value after the CODE directive as you did. That will cause the interrupt code to get loaded starting at location 4. The separate section will only cause additional fragmentation of program memory, and will cause linker failure if the interrupt routine grows past 252 locations. 2 - Each of your modules includes the Microchip file for the target processor separately. I strongly recommend having one master project include file that does this once. Among other things, it will make it easier to reuse code between project and move one project between processors. I actually use two include files per project, details at http://www.embedinc.com/pic. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads