I'm using HT PICC 8.05 with MPLAB, and noticed that the instructions are allocated quite oddly throughout the program memory space. For instance, it will fill memory locations 01E8-04A8, and then 04A9-07FF (the end of Page 0), but then there's a huge gap of unused program memory until 0D6E, almost 1400 words left unused.
Why does this bother me? Well, I'm trying to fit a bootloader at the end of the program memory space, from 0F00-0FFF, the last 256 words, but since the gap at 07FF-0D6E is empty, my program overflows into the reserved space I need.
Is there a reason the compiler does this? I don't understand why the first 1400 words of the Page 1 memory block would be left empty.
I've tried using the -resrom0F00-0FFF option, but it doesn't seem to help.