Compiler Warning Messages such as...

'...[102] code crosses boundary @ 800h "

are there to tell you (as if you really wanted to know) that your program code has exceeded one Page Boundary (at 2k) and has moved into another.

There will another message at 1000h (4k), and another at 1800h (6k) and again at 2000h (8k). When you write big programs you'll end up with quite a collection of them.

Whats the meaning of this warning?

There are a number of Assembler instructions that only work correctly within a Page Boundary, this is just a reminder to you (as the programmer) that this has happened.

And what must I do?

Nothing. It's just a reminder. PIC Basic handles everything for you with two exceptions...

1. Use of the PIC Basic BRANCH Command.

If you have used this command, consider using it's bigger brother BRANCHL. See the PIC Basic manual for the salient differences.

2. You've got embedded ASSEMBLER within your Basic Code.

Then this reminder is for you to check whether incrementing across a Page Boundary will affect usage of Page Select Registers PA0 & PA1 or PCLATH. If you are performing forward jumps, your code may not land where you expect it to.

Where can I find more information about these messages?

In your installation directory of your MeLabs compiler, you will find a file called PM.TXT. Open it up and have a look. This is the manual for the PM Assembler. All the messages, Warnings and Errors are listed inside by number.

Hands-up everybody that's seen Error 300? That's the excuse you've got for keeping an 'emergency' crate of Beer in the fridge...