-sfr at 0x80 P0 ; // Port 0
-sfr at 0x81 SP ; // Stack Pointer
-sfr at 0x82 DPL ; // Data Pointer Low
-sfr at 0x83 DPH ; // Data Pointer High
-sfr at 0x84 P0M1 ; // Port 0 output mode 1
-sfr at 0x85 P0M2 ; // Port 0 output mode 2
-sfr at 0x86 KBI ; // Keyboard interrupt
-sfr at 0x87 PCON ; // Power Control
-sfr at 0x88 TCON ; // Timer Control
-sfr at 0x89 TMOD ; // Timer Mode
-sfr at 0x8A TL0 ; // Timer Low 0
-sfr at 0x8B TL1 ; // Timer Low 1
-sfr at 0x8C TH0 ; // Timer High 0
-sfr at 0x8D TH1 ; // Timer High 1
-
-sfr at 0x90 P1 ; // Port 1
-sfr at 0x91 P1M1 ; // Port 1 output mode 1
-sfr at 0x92 P1M2 ; // Port 1 output mode 2
-sfr at 0x95 DIVM ; // CPU clock divide by N control
-sfr at 0x98 SCON ; // Serial Control
-sfr at 0x99 SBUF ; // Serial Data Buffer
-
-sfr at 0xA0 P2 ; // Port 2
-sfr at 0xA2 AUXR1 ; // Auxilliary 1 (not available on 80C51FA/87C51Fx)
-sfr at 0xA4 P2M1 ; // Port 2 output mode 1
-sfr at 0xA5 P2M2 ; // Port 2 output mode 2
-sfr at 0xA6 WDRST ; // Watchdog reset register
-sfr at 0xA7 WDCON ; // Watchdog control register
-sfr at 0xA8 IEN0 ; // Interrupt Enable 0
-sfr at 0xA9 SADDR ; // Serial slave Address
-sfr at 0xAC CMP1 ; // Comparator 1 control register
-sfr at 0xAD CMP2 ; // Comparator 2 control register
-
-sfr at 0xB7 IP0H ; // Interrupt Priority 0 High
-sfr at 0xB8 IP0 ; // Interrupt Priority 0
-sfr at 0xB9 SADEN ; // Serial slave Address Mask
-
-sfr at 0xC8 I2CFG ; // I2C configuration register
-
-sfr at 0xD0 PSW ; // Program Status Word
-sfr at 0xD8 I2CON ; // I2C control register
-sfr at 0xD9 I2DAT ; // I2C data register
-
-sfr at 0xE0 ACC ; // Accumulator
-sfr at 0xE8 IEN1 ; // Interrupt enable 1
-
-sfr at 0xF0 B ; // B Register
-sfr at 0xF6 PT0AD ; // Port 0 digital input disable
-sfr at 0xF7 IP1H ; // Interrupt Priority 1 High
-sfr at 0xF8 IP1 ; // Interrupt Priority 1
+__sfr __at 0x80 P0 ; // Port 0
+__sfr __at 0x81 SP ; // Stack Pointer
+__sfr __at 0x82 DPL ; // Data Pointer Low
+__sfr __at 0x83 DPH ; // Data Pointer High
+__sfr __at 0x84 P0M1 ; // Port 0 output mode 1
+__sfr __at 0x85 P0M2 ; // Port 0 output mode 2
+__sfr __at 0x86 KBI ; // Keyboard interrupt
+__sfr __at 0x87 PCON ; // Power Control
+__sfr __at 0x88 TCON ; // Timer Control
+__sfr __at 0x89 TMOD ; // Timer Mode
+__sfr __at 0x8A TL0 ; // Timer Low 0
+__sfr __at 0x8B TL1 ; // Timer Low 1
+__sfr __at 0x8C TH0 ; // Timer High 0
+__sfr __at 0x8D TH1 ; // Timer High 1
+
+__sfr __at 0x90 P1 ; // Port 1
+__sfr __at 0x91 P1M1 ; // Port 1 output mode 1
+__sfr __at 0x92 P1M2 ; // Port 1 output mode 2
+__sfr __at 0x95 DIVM ; // CPU clock divide by N control
+__sfr __at 0x98 SCON ; // Serial Control
+__sfr __at 0x99 SBUF ; // Serial Data Buffer
+
+__sfr __at 0xA0 P2 ; // Port 2
+__sfr __at 0xA2 AUXR1 ; // Auxilliary 1 (not available on 80C51FA/87C51Fx)
+__sfr __at 0xA4 P2M1 ; // Port 2 output mode 1
+__sfr __at 0xA5 P2M2 ; // Port 2 output mode 2
+__sfr __at 0xA6 WDRST ; // Watchdog reset register
+__sfr __at 0xA7 WDCON ; // Watchdog control register
+__sfr __at 0xA8 IEN0 ; // Interrupt Enable 0
+__sfr __at 0xA9 SADDR ; // Serial slave Address
+__sfr __at 0xAC CMP1 ; // Comparator 1 control register
+__sfr __at 0xAD CMP2 ; // Comparator 2 control register
+
+__sfr __at 0xB7 IP0H ; // Interrupt Priority 0 High
+__sfr __at 0xB8 IP0 ; // Interrupt Priority 0
+__sfr __at 0xB9 SADEN ; // Serial slave Address Mask
+
+__sfr __at 0xC8 I2CFG ; // I2C configuration register
+
+__sfr __at 0xD0 PSW ; // Program Status Word
+__sfr __at 0xD8 I2CON ; // I2C control register
+__sfr __at 0xD9 I2DAT ; // I2C data register
+
+__sfr __at 0xE0 ACC ; // Accumulator
+__sfr __at 0xE8 IEN1 ; // Interrupt enable 1
+
+__sfr __at 0xF0 B ; // B Register
+__sfr __at 0xF6 PT0AD ; // Port 0 digital input disable
+__sfr __at 0xF7 IP1H ; // Interrupt Priority 1 High
+__sfr __at 0xF8 IP1 ; // Interrupt Priority 1