PIC18F27Q84 interrupt vectors

Reset at 0x0000, then a vector table of 125 sources: each source's entry is at IVTBASE + 2 × its IRQ number (IVTBASE is 0x0008 after reset) and holds its handler's address. With MVECEN off the chip uses 0x0008 and 0x0018 as the other PIC18s do. Each source has an enable bit and a flag (the Registers page lists them). In XC8 a handler is void __interrupt(irq(TMR0)) isr(void).

VectorProgram addressNameHandlerSource
00x0000RESET reset: main() after start-upReset vector, address 0x0000
10x0008SWINT __interrupt(irq(SWINT))Software Interrupt; IRQ 0, vector table entry IVTBASE + 0x00 (IVTBASE resets to 0x0008)
20x000AHLVD __interrupt(irq(HLVD))HLVD Interrupt; IRQ 1, vector table entry IVTBASE + 0x02 (IVTBASE resets to 0x0008)
30x000COSF __interrupt(irq(OSF))Oscillator Failure Interrupt; IRQ 2, vector table entry IVTBASE + 0x04 (IVTBASE resets to 0x0008)
40x000ECSW __interrupt(irq(CSW))Clock Switch Interrupt; IRQ 3, vector table entry IVTBASE + 0x06 (IVTBASE resets to 0x0008)
50x0010TU16A __interrupt(irq(TU16A))Universal Timer 16A Interrupt; IRQ 4, vector table entry IVTBASE + 0x08 (IVTBASE resets to 0x0008)
60x0012CLC1 __interrupt(irq(CLC1))CLC1 Interrupt; IRQ 5, vector table entry IVTBASE + 0x0A (IVTBASE resets to 0x0008)
70x0014CAN __interrupt(irq(CAN))CAN FD Interrupt; IRQ 6, vector table entry IVTBASE + 0x0C (IVTBASE resets to 0x0008)
80x0016IOC __interrupt(irq(IOC))Interrupt on change; IRQ 7, vector table entry IVTBASE + 0x0E (IVTBASE resets to 0x0008)
90x0018INT0 __interrupt(irq(INT0))External Interrupt 0; IRQ 8, vector table entry IVTBASE + 0x10 (IVTBASE resets to 0x0008)
100x001AZCD __interrupt(irq(ZCD))ZCD Interrupt; IRQ 9, vector table entry IVTBASE + 0x12 (IVTBASE resets to 0x0008)
110x001CAD __interrupt(irq(AD))ADC Interrupt; IRQ 10, vector table entry IVTBASE + 0x14 (IVTBASE resets to 0x0008)
120x001EACT __interrupt(irq(ACT))ADC Treshold Interrupt; IRQ 11, vector table entry IVTBASE + 0x16 (IVTBASE resets to 0x0008)
130x0020CM1 __interrupt(irq(CM1))Comparator 1 Interrupt; IRQ 12, vector table entry IVTBASE + 0x18 (IVTBASE resets to 0x0008)
140x0022SMT1 __interrupt(irq(SMT1))SMT1 Interrupt; IRQ 13, vector table entry IVTBASE + 0x1A (IVTBASE resets to 0x0008)
150x0024SMT1PRA __interrupt(irq(SMT1PRA)); IRQ 14, vector table entry IVTBASE + 0x1C (IVTBASE resets to 0x0008)
160x0026SMT1PWA __interrupt(irq(SMT1PWA)); IRQ 15, vector table entry IVTBASE + 0x1E (IVTBASE resets to 0x0008)
170x0028ADCH1 __interrupt(irq(ADCH1))ADC Threshold Interrupt-Context 0; IRQ 16, vector table entry IVTBASE + 0x20 (IVTBASE resets to 0x0008)
180x002AADCH2 __interrupt(irq(ADCH2))ADC Threshold Interrupt-Context 1; IRQ 17, vector table entry IVTBASE + 0x22 (IVTBASE resets to 0x0008)
190x002CADCH3 __interrupt(irq(ADCH3))ADC Threshold Interrupt-Context 2; IRQ 18, vector table entry IVTBASE + 0x24 (IVTBASE resets to 0x0008)
200x002EADCH4 __interrupt(irq(ADCH4))ADC Threshold Interrupt-Context 3; IRQ 19, vector table entry IVTBASE + 0x26 (IVTBASE resets to 0x0008)
210x0030DMA1SCNT __interrupt(irq(DMA1SCNT))DMA1 Source count Interrupt; IRQ 20, vector table entry IVTBASE + 0x28 (IVTBASE resets to 0x0008)
220x0032DMA1DCNT __interrupt(irq(DMA1DCNT))DMA1 Destination count Interrupt; IRQ 21, vector table entry IVTBASE + 0x2A (IVTBASE resets to 0x0008)
230x0034DMA1OR __interrupt(irq(DMA1OR))DMA1 Overflow Interrupt; IRQ 22, vector table entry IVTBASE + 0x2C (IVTBASE resets to 0x0008)
240x0036DMA1A __interrupt(irq(DMA1A))DMA1 Abort Interrupt; IRQ 23, vector table entry IVTBASE + 0x2E (IVTBASE resets to 0x0008)
250x0038SPI1RX __interrupt(irq(SPI1RX))SPI1 Receive Interrupt; IRQ 24, vector table entry IVTBASE + 0x30 (IVTBASE resets to 0x0008)
260x003ASPI1TX __interrupt(irq(SPI1TX))SPI1 Transmit Interrupt; IRQ 25, vector table entry IVTBASE + 0x32 (IVTBASE resets to 0x0008)
270x003CSPI1 __interrupt(irq(SPI1))SPI1 Interrupt; IRQ 26, vector table entry IVTBASE + 0x34 (IVTBASE resets to 0x0008)
280x003ETMR2 __interrupt(irq(TMR2))Timer 2 Interrupt; IRQ 27, vector table entry IVTBASE + 0x36 (IVTBASE resets to 0x0008)
290x0040TMR1 __interrupt(irq(TMR1))Timer 1 Interrupt; IRQ 28, vector table entry IVTBASE + 0x38 (IVTBASE resets to 0x0008)
300x0042TMR1G __interrupt(irq(TMR1G))Timer 1 Gate Interrupt; IRQ 29, vector table entry IVTBASE + 0x3A (IVTBASE resets to 0x0008)
310x0044CCP1 __interrupt(irq(CCP1))CCP1 Interrupt; IRQ 30, vector table entry IVTBASE + 0x3C (IVTBASE resets to 0x0008)
320x0046TMR0 __interrupt(irq(TMR0))Timer0 Interrupt; IRQ 31, vector table entry IVTBASE + 0x3E (IVTBASE resets to 0x0008)
330x0048U1RX __interrupt(irq(U1RX))UART1 Receive Interrupt; IRQ 32, vector table entry IVTBASE + 0x40 (IVTBASE resets to 0x0008)
340x004AU1TX __interrupt(irq(U1TX))UART1 Transmit Interrupt; IRQ 33, vector table entry IVTBASE + 0x42 (IVTBASE resets to 0x0008)
350x004CU1E __interrupt(irq(U1E))UART1 Error Interrupt; IRQ 34, vector table entry IVTBASE + 0x44 (IVTBASE resets to 0x0008)
360x004EU1 __interrupt(irq(U1))UART1 Interrupt; IRQ 35, vector table entry IVTBASE + 0x46 (IVTBASE resets to 0x0008)
370x0050CANRX __interrupt(irq(CANRX))CAN FD Receive Interrupt; IRQ 36, vector table entry IVTBASE + 0x48 (IVTBASE resets to 0x0008)
380x0052CANTX __interrupt(irq(CANTX))CAN FD Transmit Interrupt; IRQ 37, vector table entry IVTBASE + 0x4A (IVTBASE resets to 0x0008)
390x0054PWM1PR __interrupt(irq(PWM1PR))PWM1 Period Interrupt; IRQ 38, vector table entry IVTBASE + 0x4C (IVTBASE resets to 0x0008)
400x0056PWM1 __interrupt(irq(PWM1))PWM1 Interrupt; IRQ 39, vector table entry IVTBASE + 0x4E (IVTBASE resets to 0x0008)
410x0058SPI2RX __interrupt(irq(SPI2RX))SPI2 Receive Interrupt; IRQ 40, vector table entry IVTBASE + 0x50 (IVTBASE resets to 0x0008)
420x005ASPI2TX __interrupt(irq(SPI2TX))SPI2 Transmit Interrupt; IRQ 41, vector table entry IVTBASE + 0x52 (IVTBASE resets to 0x0008)
430x005CSPI2 __interrupt(irq(SPI2))SPI 2 Interrupt; IRQ 42, vector table entry IVTBASE + 0x54 (IVTBASE resets to 0x0008)
440x005ETU16B __interrupt(irq(TU16B))Universal Time 16B Interrupt; IRQ 43, vector table entry IVTBASE + 0x56 (IVTBASE resets to 0x0008)
450x0060TMR3 __interrupt(irq(TMR3))Timer 3 Interrupt; IRQ 44, vector table entry IVTBASE + 0x58 (IVTBASE resets to 0x0008)
460x0062TMR3G __interrupt(irq(TMR3G))Timer 3 Gate Interrupt; IRQ 45, vector table entry IVTBASE + 0x5A (IVTBASE resets to 0x0008)
470x0064PWM2PR __interrupt(irq(PWM2PR))PWM2 Period Interrupt; IRQ 46, vector table entry IVTBASE + 0x5C (IVTBASE resets to 0x0008)
480x0066PWM2 __interrupt(irq(PWM2))PWM2 Interrupt; IRQ 47, vector table entry IVTBASE + 0x5E (IVTBASE resets to 0x0008)
490x0068INT1 __interrupt(irq(INT1))External Interrupt 1; IRQ 48, vector table entry IVTBASE + 0x60 (IVTBASE resets to 0x0008)
500x006ACLC2 __interrupt(irq(CLC2))CLC2 Interrupt; IRQ 49, vector table entry IVTBASE + 0x62 (IVTBASE resets to 0x0008)
510x006CCWG1 __interrupt(irq(CWG1))CWG 1 Interrupt; IRQ 50, vector table entry IVTBASE + 0x64 (IVTBASE resets to 0x0008)
520x006ENCO1 __interrupt(irq(NCO1))NCO 1 Interrupt; IRQ 51, vector table entry IVTBASE + 0x66 (IVTBASE resets to 0x0008)
530x0070DMA2SCNT __interrupt(irq(DMA2SCNT))DMA2 Source Count Interrupt; IRQ 52, vector table entry IVTBASE + 0x68 (IVTBASE resets to 0x0008)
540x0072DMA2DCNT __interrupt(irq(DMA2DCNT))DMA2 Destination Count Interrupt; IRQ 53, vector table entry IVTBASE + 0x6A (IVTBASE resets to 0x0008)
550x0074DMA2OR __interrupt(irq(DMA2OR))DMA2 Overflow Interrupt; IRQ 54, vector table entry IVTBASE + 0x6C (IVTBASE resets to 0x0008)
560x0076DMA2A __interrupt(irq(DMA2A))DMA2 Abort Interrupt; IRQ 55, vector table entry IVTBASE + 0x6E (IVTBASE resets to 0x0008)
570x0078I2C1RX __interrupt(irq(I2C1RX))I2C1 Receive Interrupt; IRQ 56, vector table entry IVTBASE + 0x70 (IVTBASE resets to 0x0008)
580x007AI2C1TX __interrupt(irq(I2C1TX))I2C1 Transmit Interrupt; IRQ 57, vector table entry IVTBASE + 0x72 (IVTBASE resets to 0x0008)
590x007CI2C1 __interrupt(irq(I2C1))I2C1 General Interrupt; IRQ 58, vector table entry IVTBASE + 0x74 (IVTBASE resets to 0x0008)
600x007EI2C1E __interrupt(irq(I2C1E))I2C1 Error Interrupt; IRQ 59, vector table entry IVTBASE + 0x76 (IVTBASE resets to 0x0008)
620x0082CLC3 __interrupt(irq(CLC3))CLC3 Interrupt; IRQ 61, vector table entry IVTBASE + 0x7A (IVTBASE resets to 0x0008)
630x0084PWM3PR __interrupt(irq(PWM3PR))PWM3 Period Interrupt; IRQ 62, vector table entry IVTBASE + 0x7C (IVTBASE resets to 0x0008)
640x0086PWM3 __interrupt(irq(PWM3))PWM3 Interrupt; IRQ 63, vector table entry IVTBASE + 0x7E (IVTBASE resets to 0x0008)
650x0088U2RX __interrupt(irq(U2RX))UART2 Receive Interrupt; IRQ 64, vector table entry IVTBASE + 0x80 (IVTBASE resets to 0x0008)
660x008AU2TX __interrupt(irq(U2TX))UART2 Transmit Interrupt; IRQ 65, vector table entry IVTBASE + 0x82 (IVTBASE resets to 0x0008)
670x008CU2E __interrupt(irq(U2E))UART2 Error Interrupt; IRQ 66, vector table entry IVTBASE + 0x84 (IVTBASE resets to 0x0008)
680x008EU2 __interrupt(irq(U2))UART2 Interrupt; IRQ 67, vector table entry IVTBASE + 0x86 (IVTBASE resets to 0x0008)
690x0090TMR5 __interrupt(irq(TMR5))Timer5 Interrupt; IRQ 68, vector table entry IVTBASE + 0x88 (IVTBASE resets to 0x0008)
700x0092TMR5G __interrupt(irq(TMR5G))Timer5 Gate Interrupt; IRQ 69, vector table entry IVTBASE + 0x8A (IVTBASE resets to 0x0008)
710x0094CCP2 __interrupt(irq(CCP2))CCP2 Interrupt; IRQ 70, vector table entry IVTBASE + 0x8C (IVTBASE resets to 0x0008)
720x0096SCAN __interrupt(irq(SCAN))Scanner Interrupt; IRQ 71, vector table entry IVTBASE + 0x8E (IVTBASE resets to 0x0008)
730x0098U3RX __interrupt(irq(U3RX))UART3 Receive Interrupt; IRQ 72, vector table entry IVTBASE + 0x90 (IVTBASE resets to 0x0008)
740x009AU3TX __interrupt(irq(U3TX))UART3 Transmit Interrupt; IRQ 73, vector table entry IVTBASE + 0x92 (IVTBASE resets to 0x0008)
750x009CU3E __interrupt(irq(U3E))UART3 Error Interrupt; IRQ 74, vector table entry IVTBASE + 0x94 (IVTBASE resets to 0x0008)
760x009EU3 __interrupt(irq(U3))UART3 Interrupt; IRQ 75, vector table entry IVTBASE + 0x96 (IVTBASE resets to 0x0008)
780x00A2CLC4 __interrupt(irq(CLC4))CLC4 Interrupt; IRQ 77, vector table entry IVTBASE + 0x9A (IVTBASE resets to 0x0008)
790x00A4PWM4PR __interrupt(irq(PWM4PR))PWM4 Period Interrupt; IRQ 78, vector table entry IVTBASE + 0x9C (IVTBASE resets to 0x0008)
800x00A6PWM4 __interrupt(irq(PWM4))PWM4 Interrupt; IRQ 79, vector table entry IVTBASE + 0x9E (IVTBASE resets to 0x0008)
810x00A8INT2 __interrupt(irq(INT2))External Interrupt 2; IRQ 80, vector table entry IVTBASE + 0xA0 (IVTBASE resets to 0x0008)
820x00AACLC5 __interrupt(irq(CLC5))CLC5 Interrupt; IRQ 81, vector table entry IVTBASE + 0xA2 (IVTBASE resets to 0x0008)
830x00ACCWG2 __interrupt(irq(CWG2))CWG2 Interrupt; IRQ 82, vector table entry IVTBASE + 0xA4 (IVTBASE resets to 0x0008)
840x00AENCO2 __interrupt(irq(NCO2))NCO2 Interrupt; IRQ 83, vector table entry IVTBASE + 0xA6 (IVTBASE resets to 0x0008)
850x00B0DMA3SCNT __interrupt(irq(DMA3SCNT))DMA3 Source count Interrupt; IRQ 84, vector table entry IVTBASE + 0xA8 (IVTBASE resets to 0x0008)
860x00B2DMA3DCNT __interrupt(irq(DMA3DCNT))DMA3 Destination count Interrupt; IRQ 85, vector table entry IVTBASE + 0xAA (IVTBASE resets to 0x0008)
870x00B4DMA3OR __interrupt(irq(DMA3OR))DMA3 Overflow Interrupt; IRQ 86, vector table entry IVTBASE + 0xAC (IVTBASE resets to 0x0008)
880x00B6DMA3A __interrupt(irq(DMA3A))DMA3 Abort Interrupt; IRQ 87, vector table entry IVTBASE + 0xAE (IVTBASE resets to 0x0008)
890x00B8CCP3 __interrupt(irq(CCP3))CCP3 Interrupt; IRQ 88, vector table entry IVTBASE + 0xB0 (IVTBASE resets to 0x0008)
900x00BACLC6 __interrupt(irq(CLC6))CLC6 Interrupt; IRQ 89, vector table entry IVTBASE + 0xB2 (IVTBASE resets to 0x0008)
910x00BCCWG3 __interrupt(irq(CWG3))CWG3 Interrupt; IRQ 90, vector table entry IVTBASE + 0xB4 (IVTBASE resets to 0x0008)
920x00BETMR4 __interrupt(irq(TMR4))TMR4 Interrupt; IRQ 91, vector table entry IVTBASE + 0xB6 (IVTBASE resets to 0x0008)
930x00C0DMA4SCNT __interrupt(irq(DMA4SCNT))DMA4 Source count Interrupt; IRQ 92, vector table entry IVTBASE + 0xB8 (IVTBASE resets to 0x0008)
940x00C2DMA4DCNT __interrupt(irq(DMA4DCNT))DMA4 Destination count Interrupt; IRQ 93, vector table entry IVTBASE + 0xBA (IVTBASE resets to 0x0008)
950x00C4DMA4OR __interrupt(irq(DMA4OR))DMA4 Overflow Interrupt; IRQ 94, vector table entry IVTBASE + 0xBC (IVTBASE resets to 0x0008)
960x00C6DMA4A __interrupt(irq(DMA4A))DMA4 Abort Interrupt; IRQ 95, vector table entry IVTBASE + 0xBE (IVTBASE resets to 0x0008)
970x00C8U4RX __interrupt(irq(U4RX))UART2 Receive Interrupt; IRQ 96, vector table entry IVTBASE + 0xC0 (IVTBASE resets to 0x0008)
980x00CAU4TX __interrupt(irq(U4TX))UART 4 Transmit Interrupt; IRQ 97, vector table entry IVTBASE + 0xC2 (IVTBASE resets to 0x0008)
990x00CCU4E __interrupt(irq(U4E))UART4 Error Interrupt; IRQ 98, vector table entry IVTBASE + 0xC4 (IVTBASE resets to 0x0008)
1000x00CEU4 __interrupt(irq(U4))UART4 Interrupt; IRQ 99, vector table entry IVTBASE + 0xC6 (IVTBASE resets to 0x0008)
1010x00D0DMA5SCNT __interrupt(irq(DMA5SCNT))DMA5 Source Count Interrupt; IRQ 100, vector table entry IVTBASE + 0xC8 (IVTBASE resets to 0x0008)
1020x00D2DMA5DCNT __interrupt(irq(DMA5DCNT))DMA5 Destination Count Interrupt; IRQ 101, vector table entry IVTBASE + 0xCA (IVTBASE resets to 0x0008)
1030x00D4DMA5OR __interrupt(irq(DMA5OR))DMA5 Overflow Interrupt; IRQ 102, vector table entry IVTBASE + 0xCC (IVTBASE resets to 0x0008)
1040x00D6DMA5A __interrupt(irq(DMA5A))DMA5 Abort Interrupt; IRQ 103, vector table entry IVTBASE + 0xCE (IVTBASE resets to 0x0008)
1050x00D8U5RX __interrupt(irq(U5RX))UART5 Receive Interrupt; IRQ 104, vector table entry IVTBASE + 0xD0 (IVTBASE resets to 0x0008)
1060x00DAU5TX __interrupt(irq(U5TX))UART5 Transmit Interrupt; IRQ 105, vector table entry IVTBASE + 0xD2 (IVTBASE resets to 0x0008)
1070x00DCU5E __interrupt(irq(U5E))UART5 Error Interrupt; IRQ 106, vector table entry IVTBASE + 0xD4 (IVTBASE resets to 0x0008)
1080x00DEU5 __interrupt(irq(U5))UART5 Interrupt; IRQ 107, vector table entry IVTBASE + 0xD6 (IVTBASE resets to 0x0008)
1090x00E0DMA6SCNT __interrupt(irq(DMA6SCNT))DMA6 Source Count Interrupt; IRQ 108, vector table entry IVTBASE + 0xD8 (IVTBASE resets to 0x0008)
1100x00E2DMA6DCNT __interrupt(irq(DMA6DCNT))DMA6 Destination Count Interrupt; IRQ 109, vector table entry IVTBASE + 0xDA (IVTBASE resets to 0x0008)
1110x00E4DMA6OR __interrupt(irq(DMA6OR))DMA6 Overflow Interrupt; IRQ 110, vector table entry IVTBASE + 0xDC (IVTBASE resets to 0x0008)
1120x00E6DMA6A __interrupt(irq(DMA6A))DMA6 Abort Interrupt; IRQ 111, vector table entry IVTBASE + 0xDE (IVTBASE resets to 0x0008)
1140x00EACLC7 __interrupt(irq(CLC7))CLC7 Interrupt; IRQ 113, vector table entry IVTBASE + 0xE2 (IVTBASE resets to 0x0008)
1150x00ECCM2 __interrupt(irq(CM2))Comparator 2 Interrupt; IRQ 114, vector table entry IVTBASE + 0xE4 (IVTBASE resets to 0x0008)
1160x00EENCO3 __interrupt(irq(NCO3))NCO3 Interrupt; IRQ 115, vector table entry IVTBASE + 0xE6 (IVTBASE resets to 0x0008)
1170x00F0DMA7SCNT __interrupt(irq(DMA7SCNT))DMA7 Source Count Interrupt; IRQ 116, vector table entry IVTBASE + 0xE8 (IVTBASE resets to 0x0008)
1180x00F2DMA7DCNT __interrupt(irq(DMA7DCNT))DMA7 Destination Count Interrupt; IRQ 117, vector table entry IVTBASE + 0xEA (IVTBASE resets to 0x0008)
1190x00F4DMA7OR __interrupt(irq(DMA7OR))DMA7 Overflow Interrupt; IRQ 118, vector table entry IVTBASE + 0xEC (IVTBASE resets to 0x0008)
1200x00F6DMA7A __interrupt(irq(DMA7A))DMA7 Abort Interrupt; IRQ 119, vector table entry IVTBASE + 0xEE (IVTBASE resets to 0x0008)
1210x00F8NVM __interrupt(irq(NVM))NVM Interrupt; IRQ 120, vector table entry IVTBASE + 0xF0 (IVTBASE resets to 0x0008)
1220x00FACLC8 __interrupt(irq(CLC8))CLC8 Interrupt; IRQ 121, vector table entry IVTBASE + 0xF2 (IVTBASE resets to 0x0008)
1230x00FCCRC __interrupt(irq(CRC))CRC Interrupt; IRQ 122, vector table entry IVTBASE + 0xF4 (IVTBASE resets to 0x0008)
1240x00FETMR6 __interrupt(irq(TMR6))TMR6 Interrupt; IRQ 123, vector table entry IVTBASE + 0xF6 (IVTBASE resets to 0x0008)
1250x0100DMA8SCNT __interrupt(irq(DMA8SCNT))DMA8 Source Count Interrupt; IRQ 124, vector table entry IVTBASE + 0xF8 (IVTBASE resets to 0x0008)
1260x0102DMA8DCNT __interrupt(irq(DMA8DCNT))DMA8 Destination Count Interrupt; IRQ 125, vector table entry IVTBASE + 0xFA (IVTBASE resets to 0x0008)
1270x0104DMA8OR __interrupt(irq(DMA8OR))DMA8 Overflow Interrupt; IRQ 126, vector table entry IVTBASE + 0xFC (IVTBASE resets to 0x0008)
1280x0106DMA8A __interrupt(irq(DMA8A))DMA8 Abort Interrupt; IRQ 127, vector table entry IVTBASE + 0xFE (IVTBASE resets to 0x0008)