K8076 - PicProg2009 with PIC18F2480 writes spurious code

I am using PicProg2009 v on a laptop with a real com port connected to K8076 programmer. The setup is working ok except that I am programming a PIC18F2480 chip and the PicProg software is loading unexpected code into the first 14 bytes of the chip memory. The hex file produced by the MPASM assembler looks correct but the code displayed in the Program Window of the PicProg sofware is not as I would expect.

Instead of a GOTO INIT (EF10) instruction at location 0000 (the reset vector location) the following code appears in the Program Window:

  0000: 0001 001E 8580 FFFF C00F E00F 400F

The impact of this spurious code, that appears to execute in line and does not branch, is that a GOTO statement at the interrupt vector loaction (0x0018) is executing prematurely. I can work around this problem by inserting a GOTO INIT statement after the spurious code and before the interrupt vector location. However if at a later date I want to use the high priority interrupt vector at location 0x0008 this will not work.

Its ok, I eventually worked out what was causing this problem. I was using the INHX8M hex format option in the MPASM.win assembler which can’t handle memory addresses greater than FFFF. So probably the Config bits at 300001h were screwing things up. Using the INHX32 hex fomat everything is working fine. Phew.