PIC16 port defines the following preprocessor macros while translating a source.
| Macro | Description |
| SDCC_pic16 | Port identification |
| __pic16 | Port identification (same as above) |
| pic18fxxxx | MCU Identification. xxxx is the microcontrol identification number, i.e. 452, 6620, etc |
| __18Fxxxx | MCU Identification (same as above) |
| STACK_MODEL_nnn | nnn = SMALL or LARGE respectively according to the stack model used |
In addition the following macros are defined when calling assembler:
| Macro | Description |
| __18Fxxxx | MCU Identification. xxxx is the microcontrol identification number, i.e. 452, 6620, etc |
| SDCC_MODEL_nnn | nnn = SMALL or LARGE respectively according to the memory model used for SDCC |
| STACK_MODEL_nnn | nnn = SMALL or LARGE respectively according to the stack model used |