* support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
[fw/sdcc] / device / include / pic / pic16f871.h
index c37b8323ff28988bf6dafc30d2bdc9f2ce829453..454cbdb7f9c324e6f1b6062e5d32b6d00f91410e 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4783
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
 
 //----- Register Files------------------------------------------------------
 
-extern __data __at (INDF_ADDR) volatile char      INDF;
+extern __sfr  __at (INDF_ADDR)                    INDF;
 extern __sfr  __at (TMR0_ADDR)                    TMR0;
-extern __data __at (PCL_ADDR) volatile char       PCL;
+extern __sfr  __at (PCL_ADDR)                     PCL;
 extern __sfr  __at (STATUS_ADDR)                  STATUS;
 extern __sfr  __at (FSR_ADDR)                     FSR;
 extern __sfr  __at (PORTA_ADDR)                   PORTA;
@@ -181,7 +181,7 @@ extern __sfr  __at (EECON2_ADDR)                  EECON2;
 //----- STATUS Bits --------------------------------------------------------
 
 
-//----- OPTION Bits ----------------------------------------------------
+//----- OPTION_REG Bits ----------------------------------------------------
 
 
 //----- INTCON Bits --------------------------------------------------------
@@ -309,6 +309,7 @@ typedef union {
 } __ADCON0_bits_t;
 extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 
+#ifndef NO_BIT_DEFINES
 #define ADON                 ADCON0_bits.ADON
 #define GO                   ADCON0_bits.GO
 #define NOT_DONE             ADCON0_bits.NOT_DONE
@@ -318,6 +319,7 @@ extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 #define CHS2                 ADCON0_bits.CHS2
 #define ADCS0                ADCON0_bits.ADCS0
 #define ADCS1                ADCON0_bits.ADCS1
+#endif /* NO_BIT_DEFINES */
 
 // ----- ADCON1 bits --------------------
 typedef union {
@@ -334,11 +336,13 @@ typedef union {
 } __ADCON1_bits_t;
 extern volatile __ADCON1_bits_t __at(ADCON1_ADDR) ADCON1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PCFG0                ADCON1_bits.PCFG0
 #define PCFG1                ADCON1_bits.PCFG1
 #define PCFG2                ADCON1_bits.PCFG2
 #define PCFG3                ADCON1_bits.PCFG3
 #define ADFM                 ADCON1_bits.ADFM
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -355,12 +359,14 @@ typedef union {
 } __CCP1CON_bits_t;
 extern volatile __CCP1CON_bits_t __at(CCP1CON_ADDR) CCP1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP1M0               CCP1CON_bits.CCP1M0
 #define CCP1M1               CCP1CON_bits.CCP1M1
 #define CCP1M2               CCP1CON_bits.CCP1M2
 #define CCP1M3               CCP1CON_bits.CCP1M3
 #define CCP1Y                CCP1CON_bits.CCP1Y
 #define CCP1X                CCP1CON_bits.CCP1X
+#endif /* NO_BIT_DEFINES */
 
 // ----- EECON1 bits --------------------
 typedef union {
@@ -377,11 +383,13 @@ typedef union {
 } __EECON1_bits_t;
 extern volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RD                   EECON1_bits.RD
 #define WR                   EECON1_bits.WR
 #define WREN                 EECON1_bits.WREN
 #define WRERR                EECON1_bits.WRERR
 #define EEPGD                EECON1_bits.EEPGD
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -398,6 +406,7 @@ typedef union {
 } __INTCON_bits_t;
 extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RBIF                 INTCON_bits.RBIF
 #define INTF                 INTCON_bits.INTF
 #define T0IF                 INTCON_bits.T0IF
@@ -406,6 +415,7 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define T0IE                 INTCON_bits.T0IE
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -422,6 +432,7 @@ typedef union {
 } __OPTION_REG_bits_t;
 extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PS0                  OPTION_REG_bits.PS0
 #define PS1                  OPTION_REG_bits.PS1
 #define PS2                  OPTION_REG_bits.PS2
@@ -430,6 +441,7 @@ extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 #define T0CS                 OPTION_REG_bits.T0CS
 #define INTEDG               OPTION_REG_bits.INTEDG
 #define NOT_RBPU             OPTION_REG_bits.NOT_RBPU
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -456,9 +468,11 @@ typedef union {
 } __PCON_bits_t;
 extern volatile __PCON_bits_t __at(PCON_ADDR) PCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define NOT_BO               PCON_bits.NOT_BO
 #define NOT_BOR              PCON_bits.NOT_BOR
 #define NOT_POR              PCON_bits.NOT_POR
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE1 bits --------------------
 typedef union {
@@ -475,6 +489,7 @@ typedef union {
 } __PIE1_bits_t;
 extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1IE               PIE1_bits.TMR1IE
 #define TMR2IE               PIE1_bits.TMR2IE
 #define CCP1IE               PIE1_bits.CCP1IE
@@ -482,6 +497,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define RCIE                 PIE1_bits.RCIE
 #define ADIE                 PIE1_bits.ADIE
 #define PSPIE                PIE1_bits.PSPIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE2 bits --------------------
 typedef union {
@@ -498,7 +514,9 @@ typedef union {
 } __PIE2_bits_t;
 extern volatile __PIE2_bits_t __at(PIE2_ADDR) PIE2_bits;
 
+#ifndef NO_BIT_DEFINES
 #define EEIE                 PIE2_bits.EEIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -515,6 +533,7 @@ typedef union {
 } __PIR1_bits_t;
 extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1IF               PIR1_bits.TMR1IF
 #define TMR2IF               PIR1_bits.TMR2IF
 #define CCP1IF               PIR1_bits.CCP1IF
@@ -522,6 +541,7 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define RCIF                 PIR1_bits.RCIF
 #define ADIF                 PIR1_bits.ADIF
 #define PSPIF                PIR1_bits.PSPIF
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR2 bits --------------------
 typedef union {
@@ -538,7 +558,132 @@ typedef union {
 } __PIR2_bits_t;
 extern volatile __PIR2_bits_t __at(PIR2_ADDR) PIR2_bits;
 
+#ifndef NO_BIT_DEFINES
 #define EEIF                 PIR2_bits.EEIF
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTA bits --------------------
+typedef union {
+  struct {
+    unsigned char RA0:1;
+    unsigned char RA1:1;
+    unsigned char RA2:1;
+    unsigned char RA3:1;
+    unsigned char RA4:1;
+    unsigned char RA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PORTA_bits_t;
+extern volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RA0                  PORTA_bits.RA0
+#define RA1                  PORTA_bits.RA1
+#define RA2                  PORTA_bits.RA2
+#define RA3                  PORTA_bits.RA3
+#define RA4                  PORTA_bits.RA4
+#define RA5                  PORTA_bits.RA5
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTB bits --------------------
+typedef union {
+  struct {
+    unsigned char RB0:1;
+    unsigned char RB1:1;
+    unsigned char RB2:1;
+    unsigned char RB3:1;
+    unsigned char RB4:1;
+    unsigned char RB5:1;
+    unsigned char RB6:1;
+    unsigned char RB7:1;
+  };
+} __PORTB_bits_t;
+extern volatile __PORTB_bits_t __at(PORTB_ADDR) PORTB_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RB0                  PORTB_bits.RB0
+#define RB1                  PORTB_bits.RB1
+#define RB2                  PORTB_bits.RB2
+#define RB3                  PORTB_bits.RB3
+#define RB4                  PORTB_bits.RB4
+#define RB5                  PORTB_bits.RB5
+#define RB6                  PORTB_bits.RB6
+#define RB7                  PORTB_bits.RB7
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTC bits --------------------
+typedef union {
+  struct {
+    unsigned char RC0:1;
+    unsigned char RC1:1;
+    unsigned char RC2:1;
+    unsigned char RC3:1;
+    unsigned char RC4:1;
+    unsigned char RC5:1;
+    unsigned char RC6:1;
+    unsigned char RC7:1;
+  };
+} __PORTC_bits_t;
+extern volatile __PORTC_bits_t __at(PORTC_ADDR) PORTC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RC0                  PORTC_bits.RC0
+#define RC1                  PORTC_bits.RC1
+#define RC2                  PORTC_bits.RC2
+#define RC3                  PORTC_bits.RC3
+#define RC4                  PORTC_bits.RC4
+#define RC5                  PORTC_bits.RC5
+#define RC6                  PORTC_bits.RC6
+#define RC7                  PORTC_bits.RC7
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTD bits --------------------
+typedef union {
+  struct {
+    unsigned char RD0:1;
+    unsigned char RD1:1;
+    unsigned char RD2:1;
+    unsigned char RD3:1;
+    unsigned char RD4:1;
+    unsigned char RD5:1;
+    unsigned char RD6:1;
+    unsigned char RD7:1;
+  };
+} __PORTD_bits_t;
+extern volatile __PORTD_bits_t __at(PORTD_ADDR) PORTD_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RD0                  PORTD_bits.RD0
+#define RD1                  PORTD_bits.RD1
+#define RD2                  PORTD_bits.RD2
+#define RD3                  PORTD_bits.RD3
+#define RD4                  PORTD_bits.RD4
+#define RD5                  PORTD_bits.RD5
+#define RD6                  PORTD_bits.RD6
+#define RD7                  PORTD_bits.RD7
+#endif /* NO_BIT_DEFINES */
+
+// ----- PORTE bits --------------------
+typedef union {
+  struct {
+    unsigned char RE0:1;
+    unsigned char RE1:1;
+    unsigned char RE2:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PORTE_bits_t;
+extern volatile __PORTE_bits_t __at(PORTE_ADDR) PORTE_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RE0                  PORTE_bits.RE0
+#define RE1                  PORTE_bits.RE1
+#define RE2                  PORTE_bits.RE2
+#endif /* NO_BIT_DEFINES */
 
 // ----- RCSTA bits --------------------
 typedef union {
@@ -585,6 +730,7 @@ typedef union {
 } __RCSTA_bits_t;
 extern volatile __RCSTA_bits_t __at(RCSTA_ADDR) RCSTA_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RX9D                 RCSTA_bits.RX9D
 #define RCD8                 RCSTA_bits.RCD8
 #define OERR                 RCSTA_bits.OERR
@@ -597,6 +743,7 @@ extern volatile __RCSTA_bits_t __at(RCSTA_ADDR) RCSTA_bits;
 #define NOT_RC8              RCSTA_bits.NOT_RC8
 #define RC8_9                RCSTA_bits.RC8_9
 #define SPEN                 RCSTA_bits.SPEN
+#endif /* NO_BIT_DEFINES */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -613,6 +760,7 @@ typedef union {
 } __STATUS_bits_t;
 extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 
+#ifndef NO_BIT_DEFINES
 #define C                    STATUS_bits.C
 #define DC                   STATUS_bits.DC
 #define Z                    STATUS_bits.Z
@@ -621,6 +769,7 @@ extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 #define RP0                  STATUS_bits.RP0
 #define RP1                  STATUS_bits.RP1
 #define IRP                  STATUS_bits.IRP
+#endif /* NO_BIT_DEFINES */
 
 // ----- T1CON bits --------------------
 typedef union {
@@ -657,6 +806,7 @@ typedef union {
 } __T1CON_bits_t;
 extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1ON               T1CON_bits.TMR1ON
 #define TMR1CS               T1CON_bits.TMR1CS
 #define NOT_T1SYNC           T1CON_bits.NOT_T1SYNC
@@ -665,6 +815,7 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define T1OSCEN              T1CON_bits.T1OSCEN
 #define T1CKPS0              T1CON_bits.T1CKPS0
 #define T1CKPS1              T1CON_bits.T1CKPS1
+#endif /* NO_BIT_DEFINES */
 
 // ----- T2CON bits --------------------
 typedef union {
@@ -681,6 +832,7 @@ typedef union {
 } __T2CON_bits_t;
 extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T2CKPS0              T2CON_bits.T2CKPS0
 #define T2CKPS1              T2CON_bits.T2CKPS1
 #define TMR2ON               T2CON_bits.TMR2ON
@@ -688,6 +840,109 @@ extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 #define TOUTPS1              T2CON_bits.TOUTPS1
 #define TOUTPS2              T2CON_bits.TOUTPS2
 #define TOUTPS3              T2CON_bits.TOUTPS3
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISA bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISA0:1;
+    unsigned char TRISA1:1;
+    unsigned char TRISA2:1;
+    unsigned char TRISA3:1;
+    unsigned char TRISA4:1;
+    unsigned char TRISA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __TRISA_bits_t;
+extern volatile __TRISA_bits_t __at(TRISA_ADDR) TRISA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISA0               TRISA_bits.TRISA0
+#define TRISA1               TRISA_bits.TRISA1
+#define TRISA2               TRISA_bits.TRISA2
+#define TRISA3               TRISA_bits.TRISA3
+#define TRISA4               TRISA_bits.TRISA4
+#define TRISA5               TRISA_bits.TRISA5
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISB bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISB0:1;
+    unsigned char TRISB1:1;
+    unsigned char TRISB2:1;
+    unsigned char TRISB3:1;
+    unsigned char TRISB4:1;
+    unsigned char TRISB5:1;
+    unsigned char TRISB6:1;
+    unsigned char TRISB7:1;
+  };
+} __TRISB_bits_t;
+extern volatile __TRISB_bits_t __at(TRISB_ADDR) TRISB_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISB0               TRISB_bits.TRISB0
+#define TRISB1               TRISB_bits.TRISB1
+#define TRISB2               TRISB_bits.TRISB2
+#define TRISB3               TRISB_bits.TRISB3
+#define TRISB4               TRISB_bits.TRISB4
+#define TRISB5               TRISB_bits.TRISB5
+#define TRISB6               TRISB_bits.TRISB6
+#define TRISB7               TRISB_bits.TRISB7
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISC bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISC0:1;
+    unsigned char TRISC1:1;
+    unsigned char TRISC2:1;
+    unsigned char TRISC3:1;
+    unsigned char TRISC4:1;
+    unsigned char TRISC5:1;
+    unsigned char TRISC6:1;
+    unsigned char TRISC7:1;
+  };
+} __TRISC_bits_t;
+extern volatile __TRISC_bits_t __at(TRISC_ADDR) TRISC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISC0               TRISC_bits.TRISC0
+#define TRISC1               TRISC_bits.TRISC1
+#define TRISC2               TRISC_bits.TRISC2
+#define TRISC3               TRISC_bits.TRISC3
+#define TRISC4               TRISC_bits.TRISC4
+#define TRISC5               TRISC_bits.TRISC5
+#define TRISC6               TRISC_bits.TRISC6
+#define TRISC7               TRISC_bits.TRISC7
+#endif /* NO_BIT_DEFINES */
+
+// ----- TRISD bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISD0:1;
+    unsigned char TRISD1:1;
+    unsigned char TRISD2:1;
+    unsigned char TRISD3:1;
+    unsigned char TRISD4:1;
+    unsigned char TRISD5:1;
+    unsigned char TRISD6:1;
+    unsigned char TRISD7:1;
+  };
+} __TRISD_bits_t;
+extern volatile __TRISD_bits_t __at(TRISD_ADDR) TRISD_bits;
+
+#ifndef NO_BIT_DEFINES
+#define TRISD0               TRISD_bits.TRISD0
+#define TRISD1               TRISD_bits.TRISD1
+#define TRISD2               TRISD_bits.TRISD2
+#define TRISD3               TRISD_bits.TRISD3
+#define TRISD4               TRISD_bits.TRISD4
+#define TRISD5               TRISD_bits.TRISD5
+#define TRISD6               TRISD_bits.TRISD6
+#define TRISD7               TRISD_bits.TRISD7
+#endif /* NO_BIT_DEFINES */
 
 // ----- TRISE bits --------------------
 typedef union {
@@ -704,6 +959,7 @@ typedef union {
 } __TRISE_bits_t;
 extern volatile __TRISE_bits_t __at(TRISE_ADDR) TRISE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TRISE0               TRISE_bits.TRISE0
 #define TRISE1               TRISE_bits.TRISE1
 #define TRISE2               TRISE_bits.TRISE2
@@ -711,6 +967,7 @@ extern volatile __TRISE_bits_t __at(TRISE_ADDR) TRISE_bits;
 #define IBOV                 TRISE_bits.IBOV
 #define OBF                  TRISE_bits.OBF
 #define IBF                  TRISE_bits.IBF
+#endif /* NO_BIT_DEFINES */
 
 // ----- TXSTA bits --------------------
 typedef union {
@@ -747,6 +1004,7 @@ typedef union {
 } __TXSTA_bits_t;
 extern volatile __TXSTA_bits_t __at(TXSTA_ADDR) TXSTA_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TX9D                 TXSTA_bits.TX9D
 #define TXD8                 TXSTA_bits.TXD8
 #define TRMT                 TXSTA_bits.TRMT
@@ -757,5 +1015,6 @@ extern volatile __TXSTA_bits_t __at(TXSTA_ADDR) TXSTA_bits;
 #define NOT_TX8              TXSTA_bits.NOT_TX8
 #define TX8_9                TXSTA_bits.TX8_9
 #define CSRC                 TXSTA_bits.CSRC
+#endif /* NO_BIT_DEFINES */
 
 #endif