Well, I have finally decided to try using the linker with one of my projects which requires careful placement of certain code in memory. What I don't understand is how I can get it to place code where it needs to go without wasting memory. For example, I have a block of code which must all be in the same 256-byte page on an PIC18F. This is because I am presetting the PCLATU/PCLATH and then just setting PCL to do computed jumps within the code. Now, I realize that I can do the following: 1. Put the code in its own code section: keeepit CODE start_of_keepit: 2. Let the assembler make sure it isn't too long if $-start_of_keepit > 256 yech! endif 3. Force the linker to put it in its own section in the .LKR file: CODEPAGE NAME=keepitpage START = 0x7F00 END=0x7FFF // end of memory SECTION NAME=keepit ROM=keepitpage ====== But now (correct me if I am wrong), I will be wasting the rest of the 'keepitpage' code page whenever the 'keepit' section is less than 256 bytes. Bob Ammerman RAm Systems -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body