16.2.4 Using Macros to Declare Simple ISRs

If an interrupt handler does not require any of the optional parameters of the interrupt attribute, then a simplified syntax may be used. The following macros are defined in the device-specific header files:

#define _ISR __attribute__((interrupt))

#define _ISRFAST __attribute__((interrupt, shadow))

For example, to declare an interrupt handler for external interrupt 0:

#include <xc.h>

void _ISR _INT0Interrupt(void);

To declare an interrupt handler for the SPI1 interrupt with fast context save:

#include <xc.h>

void _ISRFAST _SPI1Interrupt(void);