Next is an example of a Special Function Register (SFR) definition file, created for the 8051, 8031, 8751, 80C51, 80C31 and 87C51 derivatives. See the -Ccpu compiler option for a list of all SFR files.
/* special function register definition file: reg51.sfr */
_sfrbyte P0 _at( 0x80 ); | _sfrbit TR1 _at( 0x8E ); |
_sfrbyte SP _at( 0x81 ); | _sfrbit TF1 _at( 0x8F ); |
_sfrbyte DPL _at( 0x82 ); | _sfrbit P1_0 _at( 0x90 ); |
_sfrbyte DPH _at( 0x83 ); | _sfrbit P1_1 _at( 0x91 ); |
_sfrbyte PCON _at( 0x87 ); | _sfrbit P1_2 _at( 0x92 ); |
_sfrbyte TCON _at( 0x88 ); | _sfrbit P1_3 _at( 0x93 ); |
_sfrbyte TMOD _at( 0x89 ); | _sfrbit P1_4 _at( 0x94 ); |
_sfrbyte TL0 _at( 0x8A ); | _sfrbit P1_5 _at( 0x95 ); |
_sfrbyte TL1 _at( 0x8B ); | _sfrbit P1_6 _at( 0x96 ); |
_sfrbyte TH0 _at( 0x8C ); | _sfrbit P1_7 _at( 0x97 ); |
_sfrbyte TH1 _at( 0x8D ); | _sfrbit RI _at( 0x98 ); |
_sfrbyte P1 _at( 0x90 ); | _sfrbit TI _at( 0x99 ); |
_sfrbyte SCON _at( 0x98 ); | _sfrbit RB8 _at( 0x9A ); |
_sfrbyte SBUF _at( 0x99 ); | _sfrbit TB8 _at( 0x9B ); |
_sfrbyte P2 _at( 0xA0 ); | _sfrbit REN _at( 0x9C ); |
_sfrbyte IE _at( 0xA8 ); | _sfrbit SM2 _at( 0x9D ); |
_sfrbyte P3 _at( 0xB0 ); | _sfrbit SM1 _at( 0x9E ); |
_sfrbyte IP _at( 0xB8 ); | _sfrbit SM0 _at( 0x9F ); |
_sfrbyte PSW _at( 0xD0 ); | _sfrbit P2_0 _at( 0xA0 ); |
_sfrbyte ACC _at( 0xE0 ); | _sfrbit P2_1 _at( 0xA1 ); |
_sfrbyte B _at( 0xF0 ); | _sfrbit P2_2 _at( 0xA2 ); |
_sfrbit P0_0 _at( 0x80 ); | _sfrbit P2_3 _at( 0xA3 ); |
_sfrbit P0_1 _at( 0x81 ); | _sfrbit P2_4 _at( 0xA4 ); |
_sfrbit P0_2 _at( 0x82 ); | _sfrbit P2_5 _at( 0xA5 ); |
_sfrbit P0_3 _at( 0x83 ); | _sfrbit P2_6 _at( 0xA6 ); |
_sfrbit P0_4 _at( 0x84 ); | _sfrbit P2_7 _at( 0xA7 ); |
_sfrbit P0_5 _at( 0x85 ); | _sfrbit EX0 _at( 0xA8 ); |
_sfrbit P0_6 _at( 0x86 ); | _sfrbit ET0 _at( 0xA9 ); |
_sfrbit P0_7 _at( 0x87 ); | _sfrbit EX1 _at( 0xAA ); |
_sfrbit IT0 _at( 0x88 ); | _sfrbit ET1 _at( 0xAB ); |
_sfrbit IE0 _at( 0x89 ); | _sfrbit ES _at( 0xAC ); |
_sfrbit IT1 _at( 0x8A ); | _sfrbit EA _at( 0xAF ); |
_sfrbit IE1 _at( 0x8B ); | _sfrbit P3_0 _at( 0xB0 ); |
_sfrbit TR0 _at( 0x8C ); | _sfrbit RXD _at( 0xB0 ); |
_sfrbit TF0 _at( 0x8D ); | _sfrbit P3_1 _at( 0xB1 ); |
_sfrbit TXD _at( 0xB1 ); | _sfrbit RS1 _at( 0xD4 ); |
_sfrbit INT0 _at( 0xB2 ); | _sfrbit F0 _at( 0xD5 ); |
_sfrbit P3_2 _at( 0xB2 ); | _sfrbit AC _at( 0xD6 ); |
_sfrbit INT1 _at( 0xB3 ); | _sfrbit CY _at( 0xD7 ); |
_sfrbit P3_3 _at( 0xB3 ); | _sfrbit ACC_0 _at( 0xE0 ); |
_sfrbit P3_4 _at( 0xB4 ); | _sfrbit ACC_1 _at( 0xE1 ); |
_sfrbit T0 _at( 0xB4 ); | _sfrbit ACC_2 _at( 0xE2 ); |
_sfrbit P3_5 _at( 0xB5 ); | _sfrbit ACC_3 _at( 0xE3 ); |
_sfrbit T1 _at( 0xB5 ); | _sfrbit ACC_4 _at( 0xE4 ); |
_sfrbit P3_6 _at( 0xB6 ); | _sfrbit ACC_5 _at( 0xE5 ); |
_sfrbit WR _at( 0xB6 ); | _sfrbit ACC_6 _at( 0xE6 ); |
_sfrbit P3_7 _at( 0xB7 ); | _sfrbit ACC_7 _at( 0xE7 ); |
_sfrbit RD _at( 0xB7 ); | _sfrbit B_0 _at( 0xF0 ); |
_sfrbit PX0 _at( 0xB8 ); | _sfrbit B_1 _at( 0xF1 ); |
_sfrbit PT0 _at( 0xB9 ); | _sfrbit B_2 _at( 0xF2 ); |
_sfrbit PX1 _at( 0xBA ); | _sfrbit B_3 _at( 0xF3 ); |
_sfrbit PT1 _at( 0xBB ); | _sfrbit B_4 _at( 0xF4 ); |
_sfrbit PS _at( 0xBC ); | _sfrbit B_5 _at( 0xF5 ); |
_sfrbit P _at( 0xD0 ); | _sfrbit B_6 _at( 0xF6 ); |
_sfrbit OV _at( 0xD2 ); | _sfrbit B_7 _at( 0xF7 ); |
_sfrbit RS0 _at( 0xD3 ); |