59 #define __PRAGMA__(x) _Pragma(#x) 61 #if defined(__GNUC__) && (__GNUC__ >= 9) 62 #define ISR(a,b) __attribute__((interrupt(a ## _VECTOR))) void b(void) 63 #elif defined(__GNUC__) && defined(__MSP430__) 65 #define ISR(a,b) interrupt(a ## _VECTOR) b(void) 66 #elif defined(__AQCOMPILER__) 68 #define ISR(a,b) void _INTERRUPT[a ## _VECTOR] b(void) 69 #elif defined(__IAR_SYSTEMS_ICC__) && (((__TID__ >> 8) & 0x7f) == 43) && (__VER__ < 200) 71 #define ISR(a,b) interrupt[a ## _VECTOR] void b(void) 72 #elif defined(__IAR_SYSTEMS_ICC__) && (((__TID__ >> 8) & 0x7f) == 43) && (__VER__ < 600) 75 __PRAGMA__(vector=a ##_VECTOR) \ 76 __interrupt void b(void) 77 #elif defined(__CROSSWORKS_MSP430) 79 #define ISR(a,b) void b __interrupt[a ## _VECTOR](void) 80 #elif defined(__TI_COMPILER_VERSION__) 82 #define ISR(a,b) __interrupt void b(void); \ 84 __interrupt void b(void) 86 #error Compiler not recognised.