+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+
+// ----- 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;
+
+#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
+