I am using MicroCode Studio v2.2.1.1 and PBP v2.43.

I use a bootloader and therefore prefix all my PBP programs with
DEFINE LOADER_USED 1

As expected, this results in a hex file with a GOTO statement in the first word, a gap of three words, and the rest of the program.

However, when I use I2CREAD/I2CWRITE in my PBP program, the resulting hex has an extra instruction (CLRF) before the GOTO statement. This is causing a problem with my bootloader (Bloader from sparkfun.com) because it expects to see the GOTO statement at location 0.

Does anyone know why the I2CREAD/I2CWRITE instructions cause this behavior. Is this possibly a PBP compiler bug?