Hi David; I have seen two replies to your query. Both seem valid--but here is another anyway: When I first got my nice new big flash pics and began to play around, I found myself asking the same question you are. Although my fooling around hasn't approached the physical page boundary, its seems good practice to begin writing code suitable for use with all this extra program store now. So, I went ahead and figured out how to use the linker (MPLINK). At first I got the linker going at the command line since it was easier than in MPLAB. This went fairly straight forward and showed me what it all looks like. Getting my first set of object files to link in MPLAB required a fair amount of time. Setting up that project configuration node thing is a bear the first time! MPASM can produce object files. These object files have no idea where the program and file registers will live. The object file has built in little hooks for the linker to grab onto and assign various address locations. If we are very careful about how we write the source files, the object files can live anywhere and call functions (subroutines) from other object files without prior knowledge of which page they live in. I recommend you figure out how to use the linker. Although you can surely do all this by hand, the benefits of time spent learning the linker will pay off with a new level of abstraction with sound supporting methods. Once you get the thing going, you will realize how cool it is. This term runs out next week. Once school is out, I will be writing some pic code. Intend to test out the MPLIB library program for making libraries of common routines. Apparently, libraries are nothing more than a collection of object files jammed into one file. Once code is written, it can be added to a library file and then called by the linker. Hope this keeps me from rewriting code! Have fun. ok..jef Jeffrey D. Spears University of Michigan College of Engineering ``Double-E, can't spell gEEk without it!'' -Captain Gerald M. Bloomfield II, USMC (my brother)