PIC24E writing address and increment for ICSP programming
You'd start at 0x0, because the stuff there (IVT, etc) are part of what you want to upload.  PIC addressing is always confusing because of their insistence on weird architectures with 14 or 24 bit words, but I believe the destination address would increment by 0x100 for 128 instructions -- this is supported by the comment in 5.2.9 of the programming spec, "The destination address should be a multiple of 0x100", as well as the flow chart shown in figure 3-4.