* device/include/Makefile.in: add support for hc08 subdirectory
[fw/sdcc] / device / include / sab80515.h
index 14f12fb52b22a9a7aff874f04dfb23e7c96107e0..fc773f59d629c131fbac9994bec5b0110151585a 100644 (file)
 #define SAB80515_H
 
 /* BYTE addressable registers */
-sfr at 0x80 P0          ;
-sfr at 0x81 SP          ;
-sfr at 0x82 DPL         ;
-sfr at 0x83 DPH         ;
-sfr at 0x87 PCON        ;
-sfr at 0x88 TCON        ;
-sfr at 0x89 TMOD        ;
-sfr at 0x8A TL0         ;
-sfr at 0x8B TL1         ;
-sfr at 0x8C TH0         ;
-sfr at 0x8D TH1         ;
-sfr at 0x90 P1          ;
-sfr at 0x98 SCON        ;
-sfr at 0x99 SBUF        ;
-sfr at 0xA0 P2          ;
-sfr at 0xA8 IE          ;
-sfr at 0xA8 IEN0        ; /* as called by Siemens */
-sfr at 0xA9 IP0         ; /* interrupt priority register - SAB80515 specific */
-sfr at 0xB0 P3          ;
-sfr at 0xB8 IEN1        ; /* interrupt enable register - SAB80515 specific */
-sfr at 0xB9 IP1         ; /* interrupt priority register as called by Siemens */
-sfr at 0xC0 IRCON       ; /* interrupt control register - SAB80515 specific */
-sfr at 0xC1 CCEN        ; /* compare/capture enable register */
-sfr at 0xC2 CCL1        ; /* compare/capture register 1, low byte */
-sfr at 0xC3 CCH1        ; /* compare/capture register 1, high byte */
-sfr at 0xC4 CCL2        ; /* compare/capture register 2, low byte */
-sfr at 0xC5 CCH2        ; /* compare/capture register 2, high byte */
-sfr at 0xC6 CCL3        ; /* compare/capture register 3, low byte */
-sfr at 0xC7 CCH3        ; /* compare/capture register 3, high byte */
-sfr at 0xC8 T2CON       ;
-sfr at 0xCA CRCL        ; /* compare/reload/capture register, low byte */
-sfr at 0xCB CRCH        ; /* compare/reload/capture register, high byte */
-sfr at 0xCC TL2         ;
-sfr at 0xCD TH2         ;
-sfr at 0xD0 PSW         ;
-sfr at 0xD8 ADCON       ; /* A/D-converter control register */
-sfr at 0xD9 ADDAT       ; /* A/D-converter data register */
-sfr at 0xDA DAPR        ; /* D/A-converter program register */
-sfr at 0xDB P6          ; /* Port 6 - SAB80515 specific */
-sfr at 0xE0 ACC         ;
-sfr at 0xE0 A           ;
-sfr at 0xE8 P4          ; /* Port 4 - SAB80515 specific */
-sfr at 0xF0 B           ;
-sfr at 0xF8 P5          ; /* Port 5 - SAB80515 specific */
+__sfr __at 0x80 P0          ;
+__sfr __at 0x81 SP          ;
+__sfr __at 0x82 DPL         ;
+__sfr __at 0x83 DPH         ;
+__sfr __at 0x87 PCON        ;
+__sfr __at 0x88 TCON        ;
+__sfr __at 0x89 TMOD        ;
+__sfr __at 0x8A TL0         ;
+__sfr __at 0x8B TL1         ;
+__sfr __at 0x8C TH0         ;
+__sfr __at 0x8D TH1         ;
+__sfr __at 0x90 P1          ;
+__sfr __at 0x98 SCON        ;
+__sfr __at 0x99 SBUF        ;
+__sfr __at 0xA0 P2          ;
+__sfr __at 0xA8 IE          ;
+__sfr __at 0xA8 IEN0        ; /* as called by Siemens */
+__sfr __at 0xA9 IP0         ; /* interrupt priority register - SAB80515 specific */
+__sfr __at 0xB0 P3          ;
+__sfr __at 0xB8 IEN1        ; /* interrupt enable register - SAB80515 specific */
+__sfr __at 0xB9 IP1         ; /* interrupt priority register as called by Siemens */
+__sfr __at 0xC0 IRCON       ; /* interrupt control register - SAB80515 specific */
+__sfr __at 0xC1 CCEN        ; /* compare/capture enable register */
+__sfr __at 0xC2 CCL1        ; /* compare/capture register 1, low byte */
+__sfr __at 0xC3 CCH1        ; /* compare/capture register 1, high byte */
+__sfr __at 0xC4 CCL2        ; /* compare/capture register 2, low byte */
+__sfr __at 0xC5 CCH2        ; /* compare/capture register 2, high byte */
+__sfr __at 0xC6 CCL3        ; /* compare/capture register 3, low byte */
+__sfr __at 0xC7 CCH3        ; /* compare/capture register 3, high byte */
+__sfr __at 0xC8 T2CON       ;
+__sfr __at 0xCA CRCL        ; /* compare/reload/capture register, low byte */
+__sfr __at 0xCB CRCH        ; /* compare/reload/capture register, high byte */
+__sfr __at 0xCC TL2         ;
+__sfr __at 0xCD TH2         ;
+__sfr __at 0xD0 PSW         ;
+__sfr __at 0xD8 ADCON       ; /* A/D-converter control register */
+__sfr __at 0xD9 ADDAT       ; /* A/D-converter data register */
+__sfr __at 0xDA DAPR        ; /* D/A-converter program register */
+__sfr __at 0xDB P6          ; /* Port 6 - SAB80515 specific */
+__sfr __at 0xE0 ACC         ;
+__sfr __at 0xE0 A           ;
+__sfr __at 0xE8 P4          ; /* Port 4 - SAB80515 specific */
+__sfr __at 0xF0 B           ;
+__sfr __at 0xF8 P5          ; /* Port 5 - SAB80515 specific */
 
 
 /* BIT addressable registers */
 /* P0 */
-sbit at 0x80 P0_0       ;
-sbit at 0x81 P0_1       ;
-sbit at 0x82 P0_2       ;
-sbit at 0x83 P0_3       ;
-sbit at 0x84 P0_4       ;
-sbit at 0x85 P0_5       ;
-sbit at 0x86 P0_6       ;
-sbit at 0x87 P0_7       ;
+__sbit __at 0x80 P0_0       ;
+__sbit __at 0x81 P0_1       ;
+__sbit __at 0x82 P0_2       ;
+__sbit __at 0x83 P0_3       ;
+__sbit __at 0x84 P0_4       ;
+__sbit __at 0x85 P0_5       ;
+__sbit __at 0x86 P0_6       ;
+__sbit __at 0x87 P0_7       ;
 
 /* TCON */
-sbit at 0x88 IT0        ;
-sbit at 0x89 IE0        ;
-sbit at 0x8A IT1        ;
-sbit at 0x8B IE1        ;
-sbit at 0x8C TR0        ;
-sbit at 0x8D TF0        ;
-sbit at 0x8E TR1        ;
-sbit at 0x8F TF1        ;
+__sbit __at 0x88 IT0        ;
+__sbit __at 0x89 IE0        ;
+__sbit __at 0x8A IT1        ;
+__sbit __at 0x8B IE1        ;
+__sbit __at 0x8C TR0        ;
+__sbit __at 0x8D TF0        ;
+__sbit __at 0x8E TR1        ;
+__sbit __at 0x8F TF1        ;
 
 /* P1 */
-sbit at 0x90 P1_0       ;
-sbit at 0x91 P1_1       ;
-sbit at 0x92 P1_2       ;
-sbit at 0x93 P1_3       ;
-sbit at 0x94 P1_4       ;
-sbit at 0x95 P1_5       ;
-sbit at 0x96 P1_6       ;
-sbit at 0x97 P1_7       ;
-
-sbit at 0x90 INT3_CC0   ; /* P1 alternate functions - SAB80515 specific */
-sbit at 0x91 INT4_CC1   ;
-sbit at 0x92 INT5_CC2   ;
-sbit at 0x93 INT6_CC3   ;
-sbit at 0x94 INT2       ;
-sbit at 0x95 T2EX       ;
-sbit at 0x96 CLKOUT     ;
-sbit at 0x97 T2         ;
+__sbit __at 0x90 P1_0       ;
+__sbit __at 0x91 P1_1       ;
+__sbit __at 0x92 P1_2       ;
+__sbit __at 0x93 P1_3       ;
+__sbit __at 0x94 P1_4       ;
+__sbit __at 0x95 P1_5       ;
+__sbit __at 0x96 P1_6       ;
+__sbit __at 0x97 P1_7       ;
+
+__sbit __at 0x90 INT3_CC0   ; /* P1 alternate functions - SAB80515 specific */
+__sbit __at 0x91 INT4_CC1   ;
+__sbit __at 0x92 INT5_CC2   ;
+__sbit __at 0x93 INT6_CC3   ;
+__sbit __at 0x94 INT2       ;
+__sbit __at 0x95 T2EX       ;
+__sbit __at 0x96 CLKOUT     ;
+__sbit __at 0x97 T2         ;
 
 /* SCON */
-sbit at 0x98 RI         ;
-sbit at 0x99 TI         ;
-sbit at 0x9A RB8        ;
-sbit at 0x9B TB8        ;
-sbit at 0x9C REN        ;
-sbit at 0x9D SM2        ;
-sbit at 0x9E SM1        ;
-sbit at 0x9F SM0        ;
+__sbit __at 0x98 RI         ;
+__sbit __at 0x99 TI         ;
+__sbit __at 0x9A RB8        ;
+__sbit __at 0x9B TB8        ;
+__sbit __at 0x9C REN        ;
+__sbit __at 0x9D SM2        ;
+__sbit __at 0x9E SM1        ;
+__sbit __at 0x9F SM0        ;
 
 /* P2 */
-sbit at 0xA0 P2_0       ;
-sbit at 0xA1 P2_1       ;
-sbit at 0xA2 P2_2       ;
-sbit at 0xA3 P2_3       ;
-sbit at 0xA4 P2_4       ;
-sbit at 0xA5 P2_5       ;
-sbit at 0xA6 P2_6       ;
-sbit at 0xA7 P2_7       ;
+__sbit __at 0xA0 P2_0       ;
+__sbit __at 0xA1 P2_1       ;
+__sbit __at 0xA2 P2_2       ;
+__sbit __at 0xA3 P2_3       ;
+__sbit __at 0xA4 P2_4       ;
+__sbit __at 0xA5 P2_5       ;
+__sbit __at 0xA6 P2_6       ;
+__sbit __at 0xA7 P2_7       ;
 
 /* IEN0 */
-sbit at 0xA8 EX0        ;
-sbit at 0xA9 ET0        ;
-sbit at 0xAA EX1        ;
-sbit at 0xAB ET1        ;
-sbit at 0xAC ES         ;
-sbit at 0xAD ET2        ;
-sbit at 0xAE WDT        ; /* watchdog timer reset - SAB80515 specific */
-sbit at 0xAF EA         ;
+__sbit __at 0xA8 EX0        ;
+__sbit __at 0xA9 ET0        ;
+__sbit __at 0xAA EX1        ;
+__sbit __at 0xAB ET1        ;
+__sbit __at 0xAC ES         ;
+__sbit __at 0xAD ET2        ;
+__sbit __at 0xAE WDT        ; /* watchdog timer reset - SAB80515 specific */
+__sbit __at 0xAF EA         ;
 
-sbit at 0xAF EAL        ; /* EA as called by Siemens */
+__sbit __at 0xAF EAL        ; /* EA as called by Siemens */
 
 /* P3 */
-sbit at 0xB0 P3_0       ;
-sbit at 0xB1 P3_1       ;
-sbit at 0xB2 P3_2       ;
-sbit at 0xB3 P3_3       ;
-sbit at 0xB4 P3_4       ;
-sbit at 0xB5 P3_5       ;
-sbit at 0xB6 P3_6       ;
-sbit at 0xB7 P3_7       ;
-
-sbit at 0xB0 RXD        ;
-sbit at 0xB1 TXD        ;
-sbit at 0xB2 INT0       ;
-sbit at 0xB3 INT1       ;
-sbit at 0xB4 T0         ;
-sbit at 0xB5 T1         ;
-sbit at 0xB6 WR         ;
-sbit at 0xB7 RD         ;
+__sbit __at 0xB0 P3_0       ;
+__sbit __at 0xB1 P3_1       ;
+__sbit __at 0xB2 P3_2       ;
+__sbit __at 0xB3 P3_3       ;
+__sbit __at 0xB4 P3_4       ;
+__sbit __at 0xB5 P3_5       ;
+__sbit __at 0xB6 P3_6       ;
+__sbit __at 0xB7 P3_7       ;
+
+__sbit __at 0xB0 RXD        ;
+__sbit __at 0xB1 TXD        ;
+__sbit __at 0xB2 INT0       ;
+__sbit __at 0xB3 INT1       ;
+__sbit __at 0xB4 T0         ;
+__sbit __at 0xB5 T1         ;
+__sbit __at 0xB6 WR         ;
+__sbit __at 0xB7 RD         ;
 
 /* IEN1 */
-sbit at 0xB8 EADC       ; /* A/D converter interrupt enable */
-sbit at 0xB9 EX2        ;
-sbit at 0xBA EX3        ;
-sbit at 0xBB EX4        ;
-sbit at 0xBC EX5        ;
-sbit at 0xBD EX6        ;
-sbit at 0xBE SWDT       ; /* watchdog timer start/reset */
-sbit at 0xBF EXEN2      ; /* timer2 external reload interrupt enable */
+__sbit __at 0xB8 EADC       ; /* A/D converter interrupt enable */
+__sbit __at 0xB9 EX2        ;
+__sbit __at 0xBA EX3        ;
+__sbit __at 0xBB EX4        ;
+__sbit __at 0xBC EX5        ;
+__sbit __at 0xBD EX6        ;
+__sbit __at 0xBE SWDT       ; /* watchdog timer start/reset */
+__sbit __at 0xBF EXEN2      ; /* timer2 external reload interrupt enable */
 
 /* IRCON */
-sbit at 0xC0 IADC       ; /* A/D converter irq flag */
-sbit at 0xC1 IEX2       ; /* external interrupt edge detect flag */
-sbit at 0xC2 IEX3       ;
-sbit at 0xC3 IEX4       ;
-sbit at 0xC4 IEX5       ;
-sbit at 0xC5 IEX6       ;
-sbit at 0xC6 TF2        ; /* timer 2 owerflow flag  */
-sbit at 0xC7 EXF2       ; /* timer2 reload flag */
+__sbit __at 0xC0 IADC       ; /* A/D converter irq flag */
+__sbit __at 0xC1 IEX2       ; /* external interrupt edge detect flag */
+__sbit __at 0xC2 IEX3       ;
+__sbit __at 0xC3 IEX4       ;
+__sbit __at 0xC4 IEX5       ;
+__sbit __at 0xC5 IEX6       ;
+__sbit __at 0xC6 TF2        ; /* timer 2 owerflow flag  */
+__sbit __at 0xC7 EXF2       ; /* timer2 reload flag */
 
 /* T2CON */
-sbit at 0xC8 T2CON_0    ;
-sbit at 0xC9 T2CON_1    ;
-sbit at 0xCA T2CON_2    ;
-sbit at 0xCB T2CON_3    ;
-sbit at 0xCC T2CON_4    ;
-sbit at 0xCD T2CON_5    ;
-sbit at 0xCE T2CON_6    ;
-sbit at 0xCF T2CON_7    ;
-
-sbit at 0xC8 T2I0       ;
-sbit at 0xC9 T2I1       ;
-sbit at 0xCA T2CM       ;
-sbit at 0xCB T2R0       ;
-sbit at 0xCC T2R1       ;
-sbit at 0xCD I2FR       ;
-sbit at 0xCE I3FR       ;
-sbit at 0xCF T2PS       ;
+__sbit __at 0xC8 T2CON_0    ;
+__sbit __at 0xC9 T2CON_1    ;
+__sbit __at 0xCA T2CON_2    ;
+__sbit __at 0xCB T2CON_3    ;
+__sbit __at 0xCC T2CON_4    ;
+__sbit __at 0xCD T2CON_5    ;
+__sbit __at 0xCE T2CON_6    ;
+__sbit __at 0xCF T2CON_7    ;
+
+__sbit __at 0xC8 T2I0       ;
+__sbit __at 0xC9 T2I1       ;
+__sbit __at 0xCA T2CM       ;
+__sbit __at 0xCB T2R0       ;
+__sbit __at 0xCC T2R1       ;
+__sbit __at 0xCD I2FR       ;
+__sbit __at 0xCE I3FR       ;
+__sbit __at 0xCF T2PS       ;
 
 
 /* PSW */
-sbit at 0xD0 P          ;
-sbit at 0xD1 FL         ;
-sbit at 0xD2 OV         ;
-sbit at 0xD3 RS0        ;
-sbit at 0xD4 RS1        ;
-sbit at 0xD5 F0         ;
-sbit at 0xD6 AC         ;
-sbit at 0xD7 CY         ;
+__sbit __at 0xD0 P          ;
+__sbit __at 0xD1 FL         ;
+__sbit __at 0xD2 OV         ;
+__sbit __at 0xD3 RS0        ;
+__sbit __at 0xD4 RS1        ;
+__sbit __at 0xD5 F0         ;
+__sbit __at 0xD6 AC         ;
+__sbit __at 0xD7 CY         ;
 
-sbit at 0xD1 F1         ;
+__sbit __at 0xD1 F1         ;
 
 /* ADCON */
-sbit at 0xD8 MX0        ;
-sbit at 0xD9 MX1        ;
-sbit at 0xDA MX2        ;
-sbit at 0xDB ADM        ;
-sbit at 0xDC BSY        ;
+__sbit __at 0xD8 MX0        ;
+__sbit __at 0xD9 MX1        ;
+__sbit __at 0xDA MX2        ;
+__sbit __at 0xDB ADM        ;
+__sbit __at 0xDC BSY        ;
 
-sbit at 0xDE CLK        ;
-sbit at 0xDF BD         ;
+__sbit __at 0xDE CLK        ;
+__sbit __at 0xDF BD         ;
 
 /* A */
-sbit at 0xA0 AREG_F0    ;
-sbit at 0xA1 AREG_F1    ;
-sbit at 0xA2 AREG_F2    ;
-sbit at 0xA3 AREG_F3    ;
-sbit at 0xA4 AREG_F4    ;
-sbit at 0xA5 AREG_F5    ;
-sbit at 0xA6 AREG_F6    ;
-sbit at 0xA7 AREG_F7    ;
+__sbit __at 0xA0 AREG_F0    ;
+__sbit __at 0xA1 AREG_F1    ;
+__sbit __at 0xA2 AREG_F2    ;
+__sbit __at 0xA3 AREG_F3    ;
+__sbit __at 0xA4 AREG_F4    ;
+__sbit __at 0xA5 AREG_F5    ;
+__sbit __at 0xA6 AREG_F6    ;
+__sbit __at 0xA7 AREG_F7    ;
 
 /* P4 */
-sbit at 0xE8 P4_0       ;
-sbit at 0xE9 P4_1       ;
-sbit at 0xEA P4_2       ;
-sbit at 0xEB P4_3       ;
-sbit at 0xEC P4_4       ;
-sbit at 0xED P4_5       ;
-sbit at 0xEE P4_6       ;
-sbit at 0xEF P4_7       ;
+__sbit __at 0xE8 P4_0       ;
+__sbit __at 0xE9 P4_1       ;
+__sbit __at 0xEA P4_2       ;
+__sbit __at 0xEB P4_3       ;
+__sbit __at 0xEC P4_4       ;
+__sbit __at 0xED P4_5       ;
+__sbit __at 0xEE P4_6       ;
+__sbit __at 0xEF P4_7       ;
 
 /* B */
-sbit at 0xF0 BREG_F0    ;
-sbit at 0xF1 BREG_F1    ;
-sbit at 0xF2 BREG_F2    ;
-sbit at 0xF3 BREG_F3    ;
-sbit at 0xF4 BREG_F4    ;
-sbit at 0xF5 BREG_F5    ;
-sbit at 0xF6 BREG_F6    ;
-sbit at 0xF7 BREG_F7    ;
+__sbit __at 0xF0 BREG_F0    ;
+__sbit __at 0xF1 BREG_F1    ;
+__sbit __at 0xF2 BREG_F2    ;
+__sbit __at 0xF3 BREG_F3    ;
+__sbit __at 0xF4 BREG_F4    ;
+__sbit __at 0xF5 BREG_F5    ;
+__sbit __at 0xF6 BREG_F6    ;
+__sbit __at 0xF7 BREG_F7    ;
 
 /* P5 */
-sbit at 0xF8 P5_0       ;
-sbit at 0xF9 P5_1       ;
-sbit at 0xFA P5_2       ;
-sbit at 0xFB P5_3       ;
-sbit at 0xFC P5_4       ;
-sbit at 0xFD P5_5       ;
-sbit at 0xFE P5_6       ;
-sbit at 0xFF P5_7       ;
+__sbit __at 0xF8 P5_0       ;
+__sbit __at 0xF9 P5_1       ;
+__sbit __at 0xFA P5_2       ;
+__sbit __at 0xFB P5_3       ;
+__sbit __at 0xFC P5_4       ;
+__sbit __at 0xFD P5_5       ;
+__sbit __at 0xFE P5_6       ;
+__sbit __at 0xFF P5_7       ;
 
 /* BIT definitions for bits that are not directly accessible */
 /* PCON bits */