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 ); |