-sfr at 0x80 P0 ; /* PORT 0 */
-sfr at 0x81 SP ; /* STACK POINTER */
-sfr at 0x82 DPL ; /* DATA POINTER - LOW BYTE */
-sfr at 0x83 DPH ; /* DATA POINTER - HIGH BYTE */
-sfr at 0x87 PCON ; /* POWER CONTROL */
-sfr at 0x88 TCON ; /* TIMER CONTROL */
-sfr at 0x89 TMOD ; /* TIMER MODE */
-sfr at 0x8A TL0 ; /* TIMER 0 - LOW BYTE */
-sfr at 0x8B TL1 ; /* TIMER 1 - LOW BYTE */
-sfr at 0x8C TH0 ; /* TIMER 0 - HIGH BYTE */
-sfr at 0x8D TH1 ; /* TIMER 1 - HIGH BYTE */
-sfr at 0x8E CKCON ; /* CLOCK CONTROL */
-sfr at 0x8F PSCTL ; /* PROGRAM STORE R/W CONTROL */
-sfr at 0x98 SCON ; /* SERIAL PORT CONTROL */
-sfr at 0x98 SCON0 ; /* SERIAL PORT CONTROL */
-sfr at 0x99 SBUF ; /* SERIAL PORT BUFFER */
-sfr at 0x99 SBUF0 ; /* SERIAL PORT BUFFER */
-sfr at 0x9D CPT0MD ; /* COMPARATOR 0 MODE SELECTION */
-sfr at 0x9F CPT0MX ; /* COMPARATOR 0 MUX SELECTION */
-sfr at 0xA4 P0MDOUT ; /* PORT 0 OUTPUT MODE CONFIGURATION */
-sfr at 0xA8 IE ; /* INTERRUPT ENABLE */
-sfr at 0xB1 OSCXCN ; /* EXTERNAL OSCILLATOR CONTROL */
-sfr at 0xB2 OSCICN ; /* INTERNAL OSCILLATOR CONTROL */
-sfr at 0xB3 OSCICL ; /* INTERNAL OSCILLATOR CALIBRATION */
-sfr at 0xB6 FLSCL ; /* FLASH MEMORY TIMING PRESCALER */
-sfr at 0xB7 FLKEY ; /* FLASH ACESS LIMIT */
-sfr at 0xB8 IP ; /* INTERRUPT PRIORITY */
-sfr at 0xBB AMX0SL ; /* ADC 0 MUX CHANNEL SELECTION */
-sfr at 0xBC ADC0CF ; /* ADC 0 CONFIGURATION */
-sfr at 0xBE ADC0 ; /* ADC 0 DATA */
-sfr at 0xC0 SMB0CN ; /* SMBUS CONTROL */
-sfr at 0xC1 SMB0CF ; /* SMBUS CONFIGURATION */
-sfr at 0xC2 SMB0DAT ; /* SMBUS DATA */
-sfr at 0xC4 ADC0GT ; /* ADC 0 GREATER-THAN REGISTER */
-sfr at 0xC6 ADC0LT ; /* ADC 0 LESS-THAN REGISTER */
-sfr at 0xC8 T2CON ; /* TIMER 2 CONTROL */
-sfr at 0xC8 TMR2CN ; /* TIMER 2 CONTROL */
-sfr at 0xCA RCAP2L ; /* TIMER 2 CAPTURE REGISTER - LOW BYTE */
-sfr at 0xCA TMR2RLL ; /* TIMER 2 CAPTURE REGISTER - LOW BYTE */
-sfr at 0xCB RCAP2H ; /* TIMER 2 CAPTURE REGISTER - HIGH BYTE */
-sfr at 0xCB TMR2RLH ; /* TIMER 2 CAPTURE REGISTER - HIGH BYTE */
-sfr at 0xCC TL2 ; /* TIMER 2 - LOW BYTE */
-sfr at 0xCC TMR2L ; /* TIMER 2 - LOW BYTE */
-sfr at 0xCD TH2 ; /* TIMER 2 - HIGH BYTE */
-sfr at 0xCD TMR2H ; /* TIMER 2 - HIGH BYTE */
-sfr at 0xD0 PSW ; /* PROGRAM STATUS WORD */
-sfr at 0xD1 REF0CN ; /* VOLTAGE REFERENCE 0 CONTROL */
-sfr at 0xD8 PCA0CN ; /* PCA CONTROL */
-sfr at 0xD9 PCA0MD ; /* PCA MODE */
-sfr at 0xDA PCA0CPM0 ; /* PCA MODULE 0 MODE REGISTER */
-sfr at 0xDB PCA0CPM1 ; /* PCA MODULE 1 MODE REGISTER */
-sfr at 0xDC PCA0CPM2 ; /* PCA MODULE 2 MODE REGISTER */
-sfr at 0xE0 ACC ; /* ACCUMULATOR */
-sfr at 0xE1 PRT0MX ; /* PORT MUX CONFIGURATION REGISTER 0 */
-sfr at 0xE1 XBR0 ; /* PORT MUX CONFIGURATION REGISTER 0 */
-sfr at 0xE2 PRT1MX ; /* PORT MUX CONFIGURATION REGISTER 1 */
-sfr at 0xE2 XBR1 ; /* PORT MUX CONFIGURATION REGISTER 1 */
-sfr at 0xE3 PRT2MX ; /* PORT MUX CONFIGURATION REGISTER 2 */
-sfr at 0xE3 XBR2 ; /* PORT MUX CONFIGURATION REGISTER 2 */
-sfr at 0xE4 IT01CF ; /* INT0/INT1 CONFIGURATION REGISTER */
-sfr at 0xE4 INT01CF ; /* INT0/INT1 CONFIGURATION REGISTER */
-sfr at 0xE6 EIE1 ; /* EXTERNAL INTERRUPT ENABLE 1 */
-sfr at 0xE8 ADC0CN ; /* ADC 0 CONTROL */
-sfr at 0xE9 PCA0CPL1 ; /* PCA CAPTURE 1 LOW */
-sfr at 0xEA PCA0CPH1 ; /* PCA CAPTURE 1 HIGH */
-sfr at 0xEB PCA0CPL2 ; /* PCA CAPTURE 2 LOW */
-sfr at 0xEC PCA0CPH2 ; /* PCA CAPTURE 2 HIGH */
-sfr at 0xEF RSTSRC ; /* RESET SOURCE */
-sfr at 0xF0 B ; /* B REGISTER */
-sfr at 0xF1 P0MODE ; /* PORT 0 INPUT MODE CONFIGURATION */
-sfr at 0xF1 P0MDIN ; /* PORT 0 INPUT MODE CONFIGURATION */
-sfr at 0xF6 EIP1 ; /* EXTERNAL INTERRUPT PRIORITY REGISTER 1 */
-sfr at 0xF8 CPT0CN ; /* COMPARATOR 0 CONTROL */
-sfr at 0xF9 PCA0L ; /* PCA COUNTER LOW */
-sfr at 0xFA PCA0H ; /* PCA COUNTER HIGH */
-sfr at 0xFB PCA0CPL0 ; /* PCA CAPTURE 0 LOW */
-sfr at 0xFC PCA0CPH0 ; /* PCA CAPTURE 0 HIGH */
+
+__sfr __at (0x80) P0 ; /* PORT 0 */
+__sfr __at (0x81) SP ; /* STACK POINTER */
+__sfr __at (0x82) DPL ; /* DATA POINTER - LOW BYTE */
+__sfr __at (0x83) DPH ; /* DATA POINTER - HIGH BYTE */
+__sfr __at (0x87) PCON ; /* POWER CONTROL */
+__sfr __at (0x88) TCON ; /* TIMER CONTROL */
+__sfr __at (0x89) TMOD ; /* TIMER MODE */
+__sfr __at (0x8A) TL0 ; /* TIMER 0 - LOW BYTE */
+__sfr __at (0x8B) TL1 ; /* TIMER 1 - LOW BYTE */
+__sfr __at (0x8C) TH0 ; /* TIMER 0 - HIGH BYTE */
+__sfr __at (0x8D) TH1 ; /* TIMER 1 - HIGH BYTE */
+__sfr __at (0x8E) CKCON ; /* CLOCK CONTROL */
+__sfr __at (0x8F) PSCTL ; /* PROGRAM STORE R/W CONTROL */
+__sfr __at (0x98) SCON ; /* SERIAL PORT CONTROL */
+__sfr __at (0x98) SCON0 ; /* SERIAL PORT CONTROL */
+__sfr __at (0x99) SBUF ; /* SERIAL PORT BUFFER */
+__sfr __at (0x99) SBUF0 ; /* SERIAL PORT BUFFER */
+__sfr __at (0x9D) CPT0MD ; /* COMPARATOR 0 MODE SELECTION */
+__sfr __at (0x9F) CPT0MX ; /* COMPARATOR 0 MUX SELECTION */
+__sfr __at (0xA4) P0MDOUT ; /* PORT 0 OUTPUT MODE CONFIGURATION */
+__sfr __at (0xA8) IE ; /* INTERRUPT ENABLE */
+__sfr __at (0xB1) OSCXCN ; /* EXTERNAL OSCILLATOR CONTROL */
+__sfr __at (0xB2) OSCICN ; /* INTERNAL OSCILLATOR CONTROL */
+__sfr __at (0xB3) OSCICL ; /* INTERNAL OSCILLATOR CALIBRATION */
+__sfr __at (0xB6) FLSCL ; /* FLASH MEMORY TIMING PRESCALER */
+__sfr __at (0xB7) FLKEY ; /* FLASH ACESS LIMIT */
+__sfr __at (0xB8) IP ; /* INTERRUPT PRIORITY */
+__sfr __at (0xBB) AMX0SL ; /* ADC 0 MUX CHANNEL SELECTION */
+__sfr __at (0xBC) ADC0CF ; /* ADC 0 CONFIGURATION */
+__sfr __at (0xBE) ADC0 ; /* ADC 0 DATA */
+__sfr __at (0xC0) SMB0CN ; /* SMBUS CONTROL */
+__sfr __at (0xC1) SMB0CF ; /* SMBUS CONFIGURATION */
+__sfr __at (0xC2) SMB0DAT ; /* SMBUS DATA */
+__sfr __at (0xC4) ADC0GT ; /* ADC 0 GREATER-THAN REGISTER */
+__sfr __at (0xC6) ADC0LT ; /* ADC 0 LESS-THAN REGISTER */
+__sfr __at (0xC8) T2CON ; /* TIMER 2 CONTROL */
+__sfr __at (0xC8) TMR2CN ; /* TIMER 2 CONTROL */
+__sfr __at (0xCA) RCAP2L ; /* TIMER 2 CAPTURE REGISTER - LOW BYTE */
+__sfr __at (0xCA) TMR2RLL ; /* TIMER 2 CAPTURE REGISTER - LOW BYTE */
+__sfr __at (0xCB) RCAP2H ; /* TIMER 2 CAPTURE REGISTER - HIGH BYTE */
+__sfr __at (0xCB) TMR2RLH ; /* TIMER 2 CAPTURE REGISTER - HIGH BYTE */
+__sfr __at (0xCC) TL2 ; /* TIMER 2 - LOW BYTE */
+__sfr __at (0xCC) TMR2L ; /* TIMER 2 - LOW BYTE */
+__sfr __at (0xCD) TH2 ; /* TIMER 2 - HIGH BYTE */
+__sfr __at (0xCD) TMR2H ; /* TIMER 2 - HIGH BYTE */
+__sfr __at (0xD0) PSW ; /* PROGRAM STATUS WORD */
+__sfr __at (0xD1) REF0CN ; /* VOLTAGE REFERENCE 0 CONTROL */
+__sfr __at (0xD8) PCA0CN ; /* PCA CONTROL */
+__sfr __at (0xD9) PCA0MD ; /* PCA MODE */
+__sfr __at (0xDA) PCA0CPM0 ; /* PCA MODULE 0 MODE REGISTER */
+__sfr __at (0xDB) PCA0CPM1 ; /* PCA MODULE 1 MODE REGISTER */
+__sfr __at (0xDC) PCA0CPM2 ; /* PCA MODULE 2 MODE REGISTER */
+__sfr __at (0xE0) ACC ; /* ACCUMULATOR */
+__sfr __at (0xE1) PRT0MX ; /* PORT MUX CONFIGURATION REGISTER 0 */
+__sfr __at (0xE1) XBR0 ; /* PORT MUX CONFIGURATION REGISTER 0 */
+__sfr __at (0xE2) PRT1MX ; /* PORT MUX CONFIGURATION REGISTER 1 */
+__sfr __at (0xE2) XBR1 ; /* PORT MUX CONFIGURATION REGISTER 1 */
+__sfr __at (0xE3) PRT2MX ; /* PORT MUX CONFIGURATION REGISTER 2 */
+__sfr __at (0xE3) XBR2 ; /* PORT MUX CONFIGURATION REGISTER 2 */
+__sfr __at (0xE4) IT01CF ; /* INT0/INT1 CONFIGURATION REGISTER */
+__sfr __at (0xE4) INT01CF ; /* INT0/INT1 CONFIGURATION REGISTER */
+__sfr __at (0xE6) EIE1 ; /* EXTERNAL INTERRUPT ENABLE 1 */
+__sfr __at (0xE8) ADC0CN ; /* ADC 0 CONTROL */
+__sfr __at (0xE9) PCA0CPL1 ; /* PCA CAPTURE 1 LOW */
+__sfr __at (0xEA) PCA0CPH1 ; /* PCA CAPTURE 1 HIGH */
+__sfr __at (0xEB) PCA0CPL2 ; /* PCA CAPTURE 2 LOW */
+__sfr __at (0xEC) PCA0CPH2 ; /* PCA CAPTURE 2 HIGH */
+__sfr __at (0xEF) RSTSRC ; /* RESET SOURCE */
+__sfr __at (0xF0) B ; /* B REGISTER */
+__sfr __at (0xF1) P0MODE ; /* PORT 0 INPUT MODE CONFIGURATION */
+__sfr __at (0xF1) P0MDIN ; /* PORT 0 INPUT MODE CONFIGURATION */
+__sfr __at (0xF6) EIP1 ; /* EXTERNAL INTERRUPT PRIORITY REGISTER 1 */
+__sfr __at (0xF8) CPT0CN ; /* COMPARATOR 0 CONTROL */
+__sfr __at (0xF9) PCA0L ; /* PCA COUNTER LOW */
+__sfr __at (0xFA) PCA0H ; /* PCA COUNTER HIGH */
+__sfr __at (0xFB) PCA0CPL0 ; /* PCA CAPTURE 0 LOW */
+__sfr __at (0xFC) PCA0CPH0 ; /* PCA CAPTURE 0 HIGH */
+
+
+/* WORD/DWORD Registers */
+
+__sfr16 __at (0x8C8A) TMR0 ; /* TIMER 0 COUNTER */
+__sfr16 __at (0x8D8B) TMR1 ; /* TIMER 1 COUNTER */
+__sfr16 __at (0xCDCC) TMR2 ; /* TIMER 2 COUNTER */
+__sfr16 __at (0xCBCA) RCAP2 ; /* TIMER 2 CAPTURE REGISTER WORD */
+__sfr16 __at (0xCBCA) TMR2RL ; /* TIMER 2 CAPTURE REGISTER WORD */
+__sfr16 __at (0xFAF9) PCA0 ; /* PCA COUNTER */
+__sfr16 __at (0xFCFB) PCA0CP0 ; /* PCA CAPTURE 0 WORD */
+__sfr16 __at (0xEAE9) PCA0CP1 ; /* PCA CAPTURE 1 WORD */
+__sfr16 __at (0xECEB) PCA0CP2 ; /* PCA CAPTURE 2 WORD */