* as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
[fw/sdcc] / device / include / pic / pic16f819.h
index 8d03bdf13802dbcabebcfd03457a264151412c74..071d8dde198e9740ff348b187dd1aa8d5a4d80ba 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
 //
 // Memory organization.
 //
 
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000   // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000   // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000     // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000       // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000     // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000       // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000       // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000   // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000   // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000   // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000       // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000       // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000       // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000       // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000     // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000       // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000       // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000       // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000   // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000   // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000   // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000       // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000     // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000     // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000       // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000     // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000       // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000       // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000       // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000       // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000       // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000       // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000       // EECON2
 
 
 //         LIST
 
 //----- Register Files------------------------------------------------------
 
-extern data __at (INDF_ADDR) volatile char      INDF;
-extern sfr  __at (TMR0_ADDR)                    TMR0;
-extern data __at (PCL_ADDR) volatile char       PCL;
-extern sfr  __at (STATUS_ADDR)                  STATUS;
-extern sfr  __at (FSR_ADDR)                     FSR;
-extern sfr  __at (PORTA_ADDR)                   PORTA;
-extern sfr  __at (PORTB_ADDR)                   PORTB;
-extern sfr  __at (PCLATH_ADDR)                  PCLATH;
-extern sfr  __at (INTCON_ADDR)                  INTCON;
-extern sfr  __at (PIR1_ADDR)                    PIR1;
-extern sfr  __at (PIR2_ADDR)                    PIR2;
-extern sfr  __at (TMR1L_ADDR)                   TMR1L;
-extern sfr  __at (TMR1H_ADDR)                   TMR1H;
-extern sfr  __at (T1CON_ADDR)                   T1CON;
-extern sfr  __at (TMR2_ADDR)                    TMR2;
-extern sfr  __at (T2CON_ADDR)                   T2CON;
-extern sfr  __at (SSPBUF_ADDR)                  SSPBUF;
-extern sfr  __at (SSPCON_ADDR)                  SSPCON;
-extern sfr  __at (CCPR1L_ADDR)                  CCPR1L;
-extern sfr  __at (CCPR1H_ADDR)                  CCPR1H;
-extern sfr  __at (CCP1CON_ADDR)                 CCP1CON;
-extern sfr  __at (ADRESH_ADDR)                  ADRESH;
-extern sfr  __at (ADCON0_ADDR)                  ADCON0;
-
-extern sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
-extern sfr  __at (TRISA_ADDR)                   TRISA;
-extern sfr  __at (TRISB_ADDR)                   TRISB;
-extern sfr  __at (PIE1_ADDR)                    PIE1;
-extern sfr  __at (PIE2_ADDR)                    PIE2;
-extern sfr  __at (PCON_ADDR)                    PCON;
-extern sfr  __at (OSCCON_ADDR)                  OSCCON;
-extern sfr  __at (OSCTUNE_ADDR)                 OSCTUNE;
-extern sfr  __at (PR2_ADDR)                     PR2;
-extern sfr  __at (SSPADD_ADDR)                  SSPADD;
-extern sfr  __at (SSPSTAT_ADDR)                 SSPSTAT;
-extern sfr  __at (ADRESL_ADDR)                  ADRESL;
-extern sfr  __at (ADCON1_ADDR)                  ADCON1;
-
-extern sfr  __at (EEDATA_ADDR)                  EEDATA;
-extern sfr  __at (EEADR_ADDR)                   EEADR;
-extern sfr  __at (EEDATH_ADDR)                  EEDATH;
-extern sfr  __at (EEADRH_ADDR)                  EEADRH;
-
-extern sfr  __at (EECON1_ADDR)                  EECON1;
-extern sfr  __at (EECON2_ADDR)                  EECON2;
+extern __sfr  __at (INDF_ADDR)                    INDF;
+extern __sfr  __at (TMR0_ADDR)                    TMR0;
+extern __sfr  __at (PCL_ADDR)                     PCL;
+extern __sfr  __at (STATUS_ADDR)                  STATUS;
+extern __sfr  __at (FSR_ADDR)                     FSR;
+extern __sfr  __at (PORTA_ADDR)                   PORTA;
+extern __sfr  __at (PORTB_ADDR)                   PORTB;
+extern __sfr  __at (PCLATH_ADDR)                  PCLATH;
+extern __sfr  __at (INTCON_ADDR)                  INTCON;
+extern __sfr  __at (PIR1_ADDR)                    PIR1;
+extern __sfr  __at (PIR2_ADDR)                    PIR2;
+extern __sfr  __at (TMR1L_ADDR)                   TMR1L;
+extern __sfr  __at (TMR1H_ADDR)                   TMR1H;
+extern __sfr  __at (T1CON_ADDR)                   T1CON;
+extern __sfr  __at (TMR2_ADDR)                    TMR2;
+extern __sfr  __at (T2CON_ADDR)                   T2CON;
+extern __sfr  __at (SSPBUF_ADDR)                  SSPBUF;
+extern __sfr  __at (SSPCON_ADDR)                  SSPCON;
+extern __sfr  __at (CCPR1L_ADDR)                  CCPR1L;
+extern __sfr  __at (CCPR1H_ADDR)                  CCPR1H;
+extern __sfr  __at (CCP1CON_ADDR)                 CCP1CON;
+extern __sfr  __at (ADRESH_ADDR)                  ADRESH;
+extern __sfr  __at (ADCON0_ADDR)                  ADCON0;
+
+extern __sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
+extern __sfr  __at (TRISA_ADDR)                   TRISA;
+extern __sfr  __at (TRISB_ADDR)                   TRISB;
+extern __sfr  __at (PIE1_ADDR)                    PIE1;
+extern __sfr  __at (PIE2_ADDR)                    PIE2;
+extern __sfr  __at (PCON_ADDR)                    PCON;
+extern __sfr  __at (OSCCON_ADDR)                  OSCCON;
+extern __sfr  __at (OSCTUNE_ADDR)                 OSCTUNE;
+extern __sfr  __at (PR2_ADDR)                     PR2;
+extern __sfr  __at (SSPADD_ADDR)                  SSPADD;
+extern __sfr  __at (SSPSTAT_ADDR)                 SSPSTAT;
+extern __sfr  __at (ADRESL_ADDR)                  ADRESL;
+extern __sfr  __at (ADCON1_ADDR)                  ADCON1;
+
+extern __sfr  __at (EEDATA_ADDR)                  EEDATA;
+extern __sfr  __at (EEADR_ADDR)                   EEADR;
+extern __sfr  __at (EEDATH_ADDR)                  EEDATH;
+extern __sfr  __at (EEADRH_ADDR)                  EEADRH;
+
+extern __sfr  __at (EECON1_ADDR)                  EECON1;
+extern __sfr  __at (EECON2_ADDR)                  EECON2;
 
 //----- STATUS Bits --------------------------------------------------------
 
@@ -238,7 +196,7 @@ extern sfr  __at (EECON2_ADDR)                  EECON2;
 //----- ADCON0 Bits --------------------------------------------------------
 
 
-//----- OPTION Bits -----------------------------------------------------
+//----- OPTION_REG Bits -----------------------------------------------------
 
 
 //----- PIE1 Bits ----------------------------------------------------------
@@ -351,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
@@ -360,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 {
@@ -376,12 +336,14 @@ 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 ADCS2                ADCON1_bits.ADCS2
 #define ADFM                 ADCON1_bits.ADFM
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -398,12 +360,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 {
@@ -420,12 +384,14 @@ 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 FREE                 EECON1_bits.FREE
 #define EEPGD                EECON1_bits.EEPGD
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -442,6 +408,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 TMR0IF               INTCON_bits.TMR0IF
@@ -450,6 +417,7 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define TMR0IE               INTCON_bits.TMR0IE
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -466,6 +434,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
@@ -474,6 +443,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 */
 
 // ----- OSCCON bits --------------------
 typedef union {
@@ -490,10 +460,12 @@ typedef union {
 } __OSCCON_bits_t;
 extern volatile __OSCCON_bits_t __at(OSCCON_ADDR) OSCCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define IOFS                 OSCCON_bits.IOFS
 #define IRCF0                OSCCON_bits.IRCF0
 #define IRCF1                OSCCON_bits.IRCF1
 #define IRCF2                OSCCON_bits.IRCF2
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCTUNE bits --------------------
 typedef union {
@@ -510,12 +482,14 @@ typedef union {
 } __OSCTUNE_bits_t;
 extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TUN0                 OSCTUNE_bits.TUN0
 #define TUN1                 OSCTUNE_bits.TUN1
 #define TUN2                 OSCTUNE_bits.TUN2
 #define TUN3                 OSCTUNE_bits.TUN3
 #define TUN4                 OSCTUNE_bits.TUN4
 #define TUN5                 OSCTUNE_bits.TUN5
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -542,9 +516,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 {
@@ -561,11 +537,13 @@ 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
 #define SSPIE                PIE1_bits.SSPIE
 #define ADIE                 PIE1_bits.ADIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE2 bits --------------------
 typedef union {
@@ -582,7 +560,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 {
@@ -599,11 +579,13 @@ 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
 #define SSPIF                PIR1_bits.SSPIF
 #define ADIF                 PIR1_bits.ADIF
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR2 bits --------------------
 typedef union {
@@ -620,7 +602,59 @@ 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 */
 
 // ----- SSPCON bits --------------------
 typedef union {
@@ -637,6 +671,7 @@ typedef union {
 } __SSPCON_bits_t;
 extern volatile __SSPCON_bits_t __at(SSPCON_ADDR) SSPCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SSPM0                SSPCON_bits.SSPM0
 #define SSPM1                SSPCON_bits.SSPM1
 #define SSPM2                SSPCON_bits.SSPM2
@@ -645,6 +680,7 @@ extern volatile __SSPCON_bits_t __at(SSPCON_ADDR) SSPCON_bits;
 #define SSPEN                SSPCON_bits.SSPEN
 #define SSPOV                SSPCON_bits.SSPOV
 #define WCOL                 SSPCON_bits.WCOL
+#endif /* NO_BIT_DEFINES */
 
 // ----- SSPSTAT bits --------------------
 typedef union {
@@ -711,6 +747,7 @@ typedef union {
 } __SSPSTAT_bits_t;
 extern volatile __SSPSTAT_bits_t __at(SSPSTAT_ADDR) SSPSTAT_bits;
 
+#ifndef NO_BIT_DEFINES
 #define BF                   SSPSTAT_bits.BF
 #define UA                   SSPSTAT_bits.UA
 #define R                    SSPSTAT_bits.R
@@ -731,6 +768,7 @@ extern volatile __SSPSTAT_bits_t __at(SSPSTAT_ADDR) SSPSTAT_bits;
 #define DATA_ADDRESS         SSPSTAT_bits.DATA_ADDRESS
 #define CKE                  SSPSTAT_bits.CKE
 #define SMP                  SSPSTAT_bits.SMP
+#endif /* NO_BIT_DEFINES */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -747,6 +785,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
@@ -755,6 +794,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 {
@@ -781,6 +821,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
@@ -788,6 +829,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 {
@@ -804,6 +846,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
@@ -811,5 +854,56 @@ 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 */
 
 #endif