4.6.1.12 Ivt Option

The -mivt=address option selects the interrupt vector table that will be used at the beginning of program execution for those PIC18 devices that implement interrupt vector tables.

The address argument specified is written to the IVTBASE register during startup, for example, -mivt=0x200 will select the interrupt vector table whose base address is at 200h. The table at the address you specify must be populated by vectors in your source code. This is achieved using the base argument in the interrupt routine definitions you write (see 5.9.1 Writing an Interrupt Service Routine). The default operation is to leave the vector table at address 0x8 and this can be made explicit using the option -mno-ivt.