After reading Olin's post a few days back about using the linker it got me thinking. With linking modules you get some advantages over absolute code and some disadvantages. But it did give me an idea. What about a "super assembler parser" for the PIC? You could write the code in assembly in an easy format, using variable names and call/goto labels without having to think about paging and banking issues. For program branching you would use simple mnemonics like "branch on zero" or "call on zero" etc. Then you run a little dos program (parser) that goes through the code, and replaces all the branching mnemonics with correct (and smallest) code including all PCLATH and paging issues. And anything that was obviously a table or computed goto would be relocated to the correct code page using ORGs. It would generate an output .asm file that was easy to read and did everything for you. You could just type in all your assembler code, make sure it is marked as 16F84/16F877 etc at the top and it would generate the correct .asm file to run on that chip. change the chip tag and re-parse it to reconfigure code for the new PIC. Maybe you could even get it to use the same code on 12xxx PICs by replacing the "addlw" etc with the appropriate instructions. Any thoughts on this?? :o) -Roman -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads