10.3.5 SFR Addresses

Absolute addresses for the SFRs are defined as a series of symbol definitions:

/*
** ============== Equates for SFR Addresses =============
*/

 PC           = 0x0;
_PC           = 0x0;
_PCbits       = 0x0;
 SPLIM        = 0x4;
_SPLIM        = 0x4;
_SPLIMbits    = 0x4;
:
:
Note: If identifiers in a C or assembly program are defined with the same names as SFRs, multiple definition linker errors will result.

Two versions of each SFR address are included, with and without a leading underscore. This is to enable both C and assembly language programmers to refer to the SFR using the same name. By convention, the C compiler adds a leading underscore to every identifier.