> Just a guess, but you might have to explicity place some of your variables > in ACCESS RAM (you do this by including the keyword "near" in the data > declaration). > > Unless you are specifying "near" for some variables, the linker is trying > to > place everything into locations 0x80 through 0xFF. I am guessing that some > of the C Library variables are being placed in ACCESS RAM which is > allowing > the total bytes used to be greather than 128. > > If you do place variables in access RAM you should choose the most often > referenced ones because the compiler can generate significantly better > code > to handle them vs. variables in a normal RAM bank. > > -- Bob Ammerman > RAm Systems After looking at the excerpt from your map file I am nearly certain the above will fix you up fine. You have filled up the normal RAM bank from 0x80 through 0xFF, but you have plenty of space in the ACCESS RAM bank from 0x00 through 0x7F. The only variables currently in that section are some that are part of the C runtime environment. -- Bob Ammerman RAm Systems -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist