In MPLAB® XC32, ISRs can be written using the following macros:
The __ISR macro will assign the vector-number location to a specific Interrupt Priority Level (IPL). This will place a jump to the interrupt handler at the associated vector location.
The __ISR_AT_VECTOR(v, IPL) will place the entire interrupt handler at the vector location and associate it with the software-assigned interrupt priority. Software should make sure that the vector spacing is set to accommodate the size of the handler.
Header file ‘attribs.h’ contains macro definitions for __ISR and __ISR_AT_VECTOR. Macro for interrupt vector number can be found in device specific header file under the folder