Keyword: interrupt Context: type qualifier Tool: HTC compilers only Example(s): void interrupt tc_int(void); void interrupt tc_int(void) { } Keyword: short long int Context: typename Tool: C18 compiler only Notes: Example(s): short long foo = 240; // a 24 bit type short long int bar = 97261; Keyword: bit Context: typename Tool: HTC compilers only Notes: bit variables can only store 0 or 1 bit variables cannot be auto or parameters Example(s): bit foo; int bar() { static bit foo; } Keyword: persistent Context: type qualifier Tool: HTC compilers only Notes: persistent variables cannot be auto or parameters Example(s): int persistent foo; persistent int bar; int init() { static persistent int done; } Keyword: near Context: type qualifier Tool: HTC compilers & C18 only Notes: near variables cannot be auto or parameters Example(s): int near foo; near int bar; int init() { static near int done; } Keyword: far Context: type qualifier Tool: HTC compilers & C18 only Notes: far variables cannot be auto or parameters Example(s): int far foo; far int bar; int init() { static far int done; } Keyword: rom Context: type qualifier Tool: HTC compilers & C18 only Notes: rom variables cannot be auto or parameters Example(s): int rom foo; int rom * rom pf; rom int bar; int init() { static rom int done; } Keyword: ram Context: type qualifier Tool: HTC compilers & C18 only Notes: ram variables cannot be auto or parameters Example(s): int ram foo; ram int bar; int init() { static ram int done; } Keyword: bank0 Context: type qualifier Tool: HTC PICC compiler only Notes: bank0 variables cannot be auto or parameters Example(s): int bank0 foo; bank0 int bar; int init() { static bank0 int done; } Keyword: bank1 Context: type qualifier Tool: HTC PICC compiler only Notes: bank1 variables cannot be auto or parameters Example(s): int bank1 foo; bank1 int bar; int init() { static bank1 int done; } Keyword: bank2 Context: type qualifier Tool: HTC PICC compiler only Notes: bank2 variables cannot be auto or parameters Example(s): int bank2 foo; bank2 int bar; int init() { static bank2 int done; } Keyword: bank3 Context: type qualifier Tool: HTC PICC compiler only Notes: bank3 variables cannot be auto or parameters Example(s): int bank3 foo; bank3 int bar; int init() { static bank3 int done; } Keyword: eeprom Context: type qualifier Tool: HTC compilers only Notes: eeprom variables cannot be auto or parameters Example(s): int eeprom foo; eeprom int bar; int init() { static eeprom int done; } Keyword: bdata Context: type qualifier Tool: HTC compilers only Notes: bdata variables cannot be auto or parameters Example(s): int bdata foo; bdata int bar; int init() { static bdata int done; } Keyword: rd: ydata Context: type qualifier Tool: HTC dsPICC compiler only Notes: ydata variables cannot be auto or parameters Example(s): int ydata foo; ydata int bar; int init() { static ydata int done; } Keyword: xdata Context: type qualifier Tool: HTC dsPICC compiler only Notes: xdata variables cannot be auto or parameters Example(s): int xdata foo; xdata int bar; int init() { static xdata int done; } Keyword: fastcall Context: type qualifier Tool: HTC PICC compiler only Notes: fastcall is only applicable to functions Example(s): fastcall int foo() { } Keyword: #asm/#endasm Context: none Tool: HTC compilers only Notes: Everything should be 'ignored' between #asm/#endasm Colour it whatever you would colour assembly language Example(s): #asm BCF 0,3 BANKSEL(_var) This is assembly language and may be gibberish #endasm Keyword: _asm/_endasm Context: none Tool: C18 compiler only Notes: Everything should be 'ignored' between _asm/_endasm Colour it whatever you would colour assembly language Example(s): _asm BCF 0,3 BANKSEL(_var) This is assembly language and may be gibberish _endasm Keyword: overlay Context: storage class Tool: C18 compiler only Notes: overlay can only be applied where auto may be applied overlay and auto cannot be applied together Example(s): int foo(int bar) { overlay int baz; } Keyword: static Context: parameter delcaration Tool: C18 Example(s): int foo(static int bar) { } Keyword: __psv__ Context: type qualifier Tool: C30 only Notes: I am assuming that the syntax checker will properly ignore attributes Example(s): __psv__ int foo __attribute__((space(psv))); int __psv__ bar; Keyword: __prog__ Context: type qualifier Tool: C30 only Notes: I am assuming that the syntax checker will properly ignore attributes Example(s): int __prog__ foo __attribute__((space(prog))); __prog__ int bar __attribute__((space(psv))); Keyword: __pmp__ Context: type qualifier Tool: C30 only Notes: I am assuming that the syntax checker will properly ignore attributes Example(s): int __pmp__ foo __attribute__((space(pmp))); __pmp__ int bar __attribute__((space(pmp))); Keyword: __external__ Context: type qualifier Tool: C30 only Notes: I am assuming that the syntax checker will properly ignore attributes Example(s): int __external__ foo __attribute__((space(external()))); Keyword: __prog__ Context: type qualifier Tool: C30 only Notes: I am assuming that the syntax checker will properly ignore attributes Example(s): int __prog__ foo __attribute__((space(prog))); __prog__ int bar __attribute__((space(psv))); int init() { static near int done; } Keyword: 0b Context: binary literal values Tool: Note: 0b introduces a binary literal in the same way 0x introduces a hex literal Example(s): int foo = 0b0111011;