+2008-06-21 Raphael Neider <rneider AT web.de>
+
+ * device/include/pic16/pic18f66j60.h,
+ * device/include/pic16/pic18f66j65.h,
+ * device/include/pic16/pic18f67j60.h,
+ * device/include/pic16/pic18f86j60.h,
+ * device/include/pic16/pic18f86j65.h,
+ * device/include/pic16/pic18f87j60.h,
+ * device/include/pic16/pic18f96j60.h,
+ * device/include/pic16/pic18f96j65.h,
+ * device/include/pic16/pic18f97j60.h,
+ * device/lib/pic16/libdev/pic18f66j60.c,
+ * device/lib/pic16/libdev/pic18f66j65.c,
+ * device/lib/pic16/libdev/pic18f67j60.c,
+ * device/lib/pic16/libdev/pic18f86j60.c,
+ * device/lib/pic16/libdev/pic18f86j65.c,
+ * device/lib/pic16/libdev/pic18f87j60.c,
+ * device/lib/pic16/libdev/pic18f96j60.c,
+ * device/lib/pic16/libdev/pic18f96j65.c,
+ * device/lib/pic16/libdev/pic18f97j60.c,
+ * device/include/pic16/pic16devices.txt,
+ * device/include/pic16/pic18fregs.h,
+ * device/lib/pic16/pics.all: added new devices
+
+ * device/include/pic16/adc.h,
+ * device/lib/pic16/libio/adc/adcbusy.c,
+ * device/lib/pic16/libio/adc/adcopen.c,
+ * device/lib/pic16/libio/adc/adcsetch.c,
+ * device/lib/pic16/libio/i2c/i2copen.c,
+ * device/lib/pic16/libio/usart/uopen.c: adapted to new devices,
+ all changes from a patch by Anton Strobl
+
2008-06-12 Borut Razem <borut.razem AT siol.net>
* sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
#define __SDCC_ADC_STYLE2455 1
+// 97j60 family
+#elif defined(pic18f66j60) || defined(pic18f66j65) || defined(pic18f67j60) \
+ || defined(pic18f86j60) || defined(pic18f86j65) || defined(pic18f87j60) \
+ || defined(pic18f96j60) || defined(pic18f96j65) || defined(pic18f97j60) \
+
+#define __SDCC_ADC_STYLE97J60 1
+
// small ADC device?
#elif defined(pic18f242) || defined(pic18f252) || defined(pic18f442) || defined(pic18f452) \
|| defined(pic18f248) || defined(pic18f258) || defined(pic18f448) || defined(pic18f458)
/* channel selection */
-#if defined(__SDCC_ADC_STYLE2455)
-
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
#define ADC_CHN_0 0x00
#define ADC_CHN_1 0x01
#define ADC_CHN_2 0x02
#define ADC_CHN_10 0x0a
#define ADC_CHN_11 0x0b
#define ADC_CHN_12 0x0c
+#if defined(__SDCC_ADC_STYLE97J60) // 97j60 family has 2 more ADC ports
+#define ADC_CHN_13 0x0d
+#define ADC_CHN_14 0x0e
+#define ADC_CHN_15 0x0f
+#endif
#else /* all other devices */
/* reference and pin configuration */
-#if defined(__SDCC_ADC_STYLE2455)
-
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
+
+// 97j60 family has 2 more possible ADC configs
+#if defined(__SDCC_ADC_STYLE97J60) // 97j60 family has 2 more ADC ports
+#define ADC_CFG_16A_0R 0x00
+#define ADC_CFG_16A_1R 0x10
+#define ADC_CFG_16A_2R 0x30
+#define ADC_CFG_15A_0R 0x00 // can switch only from 14 analog ports to 16 enabled analog ports
+#define ADC_CFG_15A_1R 0x10
+#define ADC_CFG_15A_2R 0x30
+#define ADC_CFG_14A_0R 0x01
+#define ADC_CFG_14A_1R 0x11
+#define ADC_CFG_14A_2R 0x31
+#define ADC_CFG_13A_0R 0x02
+#define ADC_CFG_13A_1R 0x12
+#define ADC_CFG_13A_2R 0x32
+#else
#define ADC_CFG_13A_0R 0x01
#define ADC_CFG_13A_1R 0x11
#define ADC_CFG_13A_2R 0x31
+#endif
#define ADC_CFG_12A_0R 0x03
#define ADC_CFG_12A_1R 0x13
#define ADC_CFG_12A_2R 0x33
ramsize 3840
+name 18f66j60
+ramsize 4096
+split 0x60
+configrange 0xfff8 0xfffd
+configword 0xfff8 0xc1 0xff
+configword 0xfff9 0x04 0xf7
+configword 0xfffa 0xc7 0xff
+configword 0xfffb 0x0f 0xff
+configword 0xfffc 0xf8 0xff
+configword 0xfffd 0x07 0xff
+
+
+name 18f66j65
+ramsize 4096
+split 0x60
+configrange 0x17ff8 0x17ffd
+configword 0x17ff8 0xc1 0xff
+configword 0x17ff9 0x04 0xf7
+configword 0x17ffa 0xc7 0xff
+configword 0x17ffb 0x0f 0xff
+configword 0x17ffc 0xf8 0xff
+configword 0x17ffd 0x07 0xff
+
+
+name 18f67j60
+ramsize 4096
+split 0x60
+configrange 0x1fff8 0x1fffd
+configword 0x1fff8 0xc1 0xff
+configword 0x1fff9 0x04 0xf7
+configword 0x1fffa 0xc7 0xff
+configword 0x1fffb 0x0f 0xff
+configword 0x1fffc 0xf8 0xff
+configword 0x1fffd 0x07 0xff
+
+
+name 18f86j60
+using 18f66j60
+
+
+name 18f86j65
+using 18f66j65
+
+
+name 18f87j60
+using 18f67j60
+
+
+name 18f96j60
+using 18f66j60
+
+
+name 18f96j65
+using 18f66j65
+
+
+name 18f97j60
+using 18f67j60
+
--- /dev/null
+/*
+ * pic18f66j60.h - device specific declarations
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#ifndef __PIC18F66J60_H__
+#define __PIC18F66J60_H__ 1
+
+#define _DEVID1 0x3FFFFE
+#define _DEVID2 0x3FFFFF
+
+extern __sfr __at (0xE80) MAADR5;
+
+extern __sfr __at (0xE81) MAADR6;
+
+extern __sfr __at (0xE82) MAADR3;
+
+extern __sfr __at (0xE83) MAADR4;
+
+extern __sfr __at (0xE84) MAADR1;
+
+extern __sfr __at (0xE85) MAADR2;
+
+extern __sfr __at (0xE86) EBSTSD;
+
+extern __sfr __at (0xE87) EBSTCON;
+typedef union {
+ struct {
+ unsigned BISTST : 1;
+ unsigned TME : 1;
+ unsigned TMSEL0 : 1;
+ unsigned TMSEL1 : 1;
+ unsigned : 1;
+ unsigned PSV0 : 1;
+ unsigned PSV1 : 1;
+ unsigned PSV2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMSEL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PSV : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EBSTCONbits_t;
+extern volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+extern __sfr __at (0xE88) EBSTCS;
+
+extern __sfr __at (0xE88) EBSTCSL;
+
+extern __sfr __at (0xE89) EBSTCSH;
+
+extern __sfr __at (0xE8A) MISTAT;
+typedef union {
+ struct {
+ unsigned BUSY : 1;
+ unsigned SCAN : 1;
+ unsigned NVALID : 1;
+ unsigned LINKFL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MISTATbits_t;
+extern volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+extern __sfr __at (0xE97) EFLOCON;
+typedef union {
+ struct {
+ unsigned FCEN0 : 1;
+ unsigned FCEN1 : 1;
+ unsigned FULDPXS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EFLOCONbits_t;
+extern volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+extern __sfr __at (0xE98) EPAUS;
+
+extern __sfr __at (0xE98) EPAUSL;
+
+extern __sfr __at (0xE99) EPAUSH;
+
+extern __sfr __at (0xEA0) MACON1;
+typedef union {
+ struct {
+ unsigned MARXEN : 1;
+ unsigned PASSALL : 1;
+ unsigned RXPAUS : 1;
+ unsigned TXPAUS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON1bits_t;
+extern volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+extern __sfr __at (0xEA1) MACON2;
+typedef union {
+ struct {
+ unsigned TFUNRST : 1;
+ unsigned MATXRST : 1;
+ unsigned RFUNRST : 1;
+ unsigned MARXRST : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RNDRST : 1;
+ unsigned MARST : 1;
+ };
+} __MACON2bits_t;
+extern volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+extern __sfr __at (0xEA2) MACON3;
+typedef union {
+ struct {
+ unsigned FULDPX : 1;
+ unsigned FRMLNEN : 1;
+ unsigned HFRMEN : 1;
+ unsigned PHDRLEN : 1;
+ unsigned TXCRCEN : 1;
+ unsigned PADCFG0 : 1;
+ unsigned PADCFG1 : 1;
+ unsigned PADCFG2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PADCFG : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON3bits_t;
+extern volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+extern __sfr __at (0xEA3) MACON4;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOBKOFF : 1;
+ unsigned BPEN : 1;
+ unsigned DEFER : 1;
+ unsigned : 1;
+ };
+} __MACON4bits_t;
+extern volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+extern __sfr __at (0xEA4) MABBIPG;
+
+extern __sfr __at (0xEA6) MAIPG;
+
+extern __sfr __at (0xEA6) MAIPGL;
+
+extern __sfr __at (0xEA7) MAIPGH;
+
+extern __sfr __at (0xEA8) MACLCON1;
+typedef union {
+ struct {
+ unsigned RETMAX : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON1bits_t;
+extern volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+extern __sfr __at (0xEA9) MACLCON2;
+typedef union {
+ struct {
+ unsigned COLWIN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON2bits_t;
+extern volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+extern __sfr __at (0xEAA) MAMXFL;
+
+extern __sfr __at (0xEAA) MAMXFLL;
+
+extern __sfr __at (0xEAB) MAMXFLH;
+
+extern __sfr __at (0xEB1) MICON;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RSTMII : 1;
+ };
+} __MICONbits_t;
+extern volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+extern __sfr __at (0xEB2) MICMD;
+typedef union {
+ struct {
+ unsigned MIIRD : 1;
+ unsigned MIISCAN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MICMDbits_t;
+extern volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+extern __sfr __at (0xEB4) MIREGADR;
+
+extern __sfr __at (0xEB6) MIWR;
+
+extern __sfr __at (0xEB6) MIWRL;
+
+extern __sfr __at (0xEB7) MIWRH;
+
+extern __sfr __at (0xEB8) MIRD;
+
+extern __sfr __at (0xEB8) MIRDL;
+
+extern __sfr __at (0xEB9) MIRDH;
+
+extern __sfr __at (0xEC0) EHT0;
+
+extern __sfr __at (0xEC1) EHT1;
+
+extern __sfr __at (0xEC2) EHT2;
+
+extern __sfr __at (0xEC3) EHT3;
+
+extern __sfr __at (0xEC4) EHT4;
+
+extern __sfr __at (0xEC5) EHT5;
+
+extern __sfr __at (0xEC6) EHT6;
+
+extern __sfr __at (0xEC7) EHT7;
+
+extern __sfr __at (0xEC8) EPMM0;
+
+extern __sfr __at (0xEC9) EPMM1;
+
+extern __sfr __at (0xECA) EPMM2;
+
+extern __sfr __at (0xECB) EPMM3;
+
+extern __sfr __at (0xECC) EPMM4;
+
+extern __sfr __at (0xECD) EPMM5;
+
+extern __sfr __at (0xECE) EPMM6;
+
+extern __sfr __at (0xECF) EPMM7;
+
+extern __sfr __at (0xED0) EPMCS;
+
+extern __sfr __at (0xED0) EPMCSL;
+
+extern __sfr __at (0xED1) EPMCSH;
+
+extern __sfr __at (0xED4) EPMO;
+
+extern __sfr __at (0xED4) EPMOL;
+
+extern __sfr __at (0xED5) EPMOH;
+
+extern __sfr __at (0xED6) EWOLIE;
+typedef union {
+ struct {
+ unsigned BCWOLIE : 1;
+ unsigned MCWOLIE : 1;
+ unsigned HTWOLIE : 1;
+ unsigned MPWOLIE : 1;
+ unsigned PMWOLIE : 1;
+ unsigned : 1;
+ unsigned AWOLIE : 1;
+ unsigned UCWOLIE : 1;
+ };
+} __EWOLIEbits_t;
+extern volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+extern __sfr __at (0xED7) EWOLIR;
+typedef union {
+ struct {
+ unsigned BCWOLIF : 1;
+ unsigned MCWOLIF : 1;
+ unsigned HTWOLIF : 1;
+ unsigned MPWOLIF : 1;
+ unsigned PMWOLIF : 1;
+ unsigned : 1;
+ unsigned AWOLIF : 1;
+ unsigned UCWOLIF : 1;
+ };
+} __EWOLIRbits_t;
+extern volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+extern __sfr __at (0xED8) ERXFCON;
+typedef union {
+ struct {
+ unsigned BCEN : 1;
+ unsigned MCEN : 1;
+ unsigned HTEN : 1;
+ unsigned MPEN : 1;
+ unsigned PMEN : 1;
+ unsigned CRCEN : 1;
+ unsigned ANDOR : 1;
+ unsigned UCEN : 1;
+ };
+} __ERXFCONbits_t;
+extern volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+extern __sfr __at (0xED9) EPKTCNT;
+
+extern __sfr __at (0xEE2) EWRPT;
+
+extern __sfr __at (0xEE2) EWRPTL;
+
+extern __sfr __at (0xEE3) EWRPTH;
+
+extern __sfr __at (0xEE4) ETXST;
+
+extern __sfr __at (0xEE4) ETXSTL;
+
+extern __sfr __at (0xEE5) ETXSTH;
+
+extern __sfr __at (0xEE6) ETXND;
+
+extern __sfr __at (0xEE6) ETXNDL;
+
+extern __sfr __at (0xEE7) ETXNDH;
+
+extern __sfr __at (0xEE8) ERXST;
+
+extern __sfr __at (0xEE8) ERXSTL;
+
+extern __sfr __at (0xEE9) ERXSTH;
+
+extern __sfr __at (0xEEA) ERXND;
+
+extern __sfr __at (0xEEA) ERXNDL;
+
+extern __sfr __at (0xEEB) ERXNDH;
+
+extern __sfr __at (0xEEC) ERXRDPT;
+
+extern __sfr __at (0xEEC) ERXRDPTL;
+
+extern __sfr __at (0xEED) ERXRDPTH;
+
+extern __sfr __at (0xEEE) ERXWRPT;
+
+extern __sfr __at (0xEEE) ERXWRPTL;
+
+extern __sfr __at (0xEEF) ERXWRPTH;
+
+extern __sfr __at (0xEF0) EDMAST;
+
+extern __sfr __at (0xEF0) EDMASTL;
+
+extern __sfr __at (0xEF1) EDMASTH;
+
+extern __sfr __at (0xEF2) EDMAND;
+
+extern __sfr __at (0xEF2) EDMANDL;
+
+extern __sfr __at (0xEF3) EDMANDH;
+
+extern __sfr __at (0xEF4) EDMADST;
+
+extern __sfr __at (0xEF4) EDMADSTL;
+
+extern __sfr __at (0xEF5) EDMADSTH;
+
+extern __sfr __at (0xEF6) EDMACS;
+
+extern __sfr __at (0xEF6) EDMACSL;
+
+extern __sfr __at (0xEF7) EDMACSH;
+
+extern __sfr __at (0xEFB) EIE;
+typedef union {
+ struct {
+ unsigned RXERIE : 1;
+ unsigned TXERIE : 1;
+ unsigned : 1;
+ unsigned TXIE_EIE : 1;
+ unsigned LINKIE : 1;
+ unsigned DMAIE : 1;
+ unsigned PKTIE : 1;
+ unsigned : 1;
+ };
+} __EIEbits_t;
+extern volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+extern __sfr __at (0xEFD) ESTAT;
+typedef union {
+ struct {
+ unsigned PHYRDY : 1;
+ unsigned TXABRT : 1;
+ unsigned RXBUSY : 1;
+ unsigned : 1;
+ unsigned LATECOL : 1;
+ unsigned : 1;
+ unsigned BUFER : 1;
+ unsigned : 1;
+ };
+} __ESTATbits_t;
+extern volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+extern __sfr __at (0xEFE) ECON2;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned ETHEN : 1;
+ unsigned PKTDEC : 1;
+ unsigned AUTOINC : 1;
+ };
+} __ECON2bits_t;
+extern volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+extern __sfr __at (0xF60) EIR;
+typedef union {
+ struct {
+ unsigned RXERIF : 1;
+ unsigned TXERIF : 1;
+ unsigned : 1;
+ unsigned TXIF_EIR : 1;
+ unsigned LINKIF : 1;
+ unsigned DMAIF : 1;
+ unsigned PKTIF : 1;
+ unsigned : 1;
+ };
+} __EIRbits_t;
+extern volatile __EIRbits_t __at (0xF60) EIRbits;
+
+extern __sfr __at (0xF61) EDATA;
+typedef union {
+ struct {
+ unsigned EDATA0 : 1;
+ unsigned EDATA1 : 1;
+ unsigned EDATA2 : 1;
+ unsigned EDATA3 : 1;
+ unsigned EDATA4 : 1;
+ unsigned EDATA5 : 1;
+ unsigned EDATA6 : 1;
+ unsigned EDATA7 : 1;
+ };
+} __EDATAbits_t;
+extern volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+extern __sfr __at (0xF67) ECCP2DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P2DC0 : 1;
+ unsigned P2DC1 : 1;
+ unsigned P2DC2 : 1;
+ unsigned P2DC3 : 1;
+ unsigned P2DC4 : 1;
+ unsigned P2DC5 : 1;
+ unsigned P2DC6 : 1;
+ unsigned P2RSEN : 1;
+ };
+} __ECCP2DELbits_t;
+extern volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+extern __sfr __at (0xF68) ECCP2AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS2BD0 : 1;
+ unsigned PSS2BD1 : 1;
+ unsigned PSS2AC0 : 1;
+ unsigned PSS2AC1 : 1;
+ unsigned ECCP2AS0 : 1;
+ unsigned ECCP2AS1 : 1;
+ unsigned ECCP2AS2 : 1;
+ unsigned ECCP2ASE : 1;
+ };
+} __ECCP2ASbits_t;
+extern volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+extern __sfr __at (0xF69) ECCP3DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P3DC0 : 1;
+ unsigned P3DC1 : 1;
+ unsigned P3DC2 : 1;
+ unsigned P3DC3 : 1;
+ unsigned P3DC4 : 1;
+ unsigned P3DC5 : 1;
+ unsigned P3DC6 : 1;
+ unsigned P3RSEN : 1;
+ };
+} __ECCP3DELbits_t;
+extern volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+extern __sfr __at (0xF6A) ECCP3AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS3BD0 : 1;
+ unsigned PSS3BD1 : 1;
+ unsigned PSS3AC0 : 1;
+ unsigned PSS3AC1 : 1;
+ unsigned ECCP3AS0 : 1;
+ unsigned ECCP3AS1 : 1;
+ unsigned ECCP3AS2 : 1;
+ unsigned ECCP3ASE : 1;
+ };
+} __ECCP3ASbits_t;
+extern volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+extern __sfr __at (0xF70) CCP5CON;
+typedef union {
+ struct {
+ unsigned CCP5M0 : 1;
+ unsigned CCP5M1 : 1;
+ unsigned CCP5M2 : 1;
+ unsigned CCP5M3 : 1;
+ unsigned CCP5Y : 1;
+ unsigned CCP5X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC5B0 : 1;
+ unsigned DC5B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP5CONbits_t;
+extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+extern __sfr __at (0xF71) CCPR5;
+
+extern __sfr __at (0xF71) CCPR5L;
+
+extern __sfr __at (0xF72) CCPR5H;
+
+extern __sfr __at (0xF73) CCP4CON;
+typedef union {
+ struct {
+ unsigned CCP4M0 : 1;
+ unsigned CCP4M1 : 1;
+ unsigned CCP4M2 : 1;
+ unsigned CCP4M3 : 1;
+ unsigned CCP4Y : 1;
+ unsigned CCP4X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC4B0 : 1;
+ unsigned DC4B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP4CONbits_t;
+extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+extern __sfr __at (0xF74) CCPR4;
+
+extern __sfr __at (0xF74) CCPR4L;
+
+extern __sfr __at (0xF75) CCPR4H;
+
+extern __sfr __at (0xF76) T4CON;
+typedef union {
+ struct {
+ unsigned T4CKPS0 : 1;
+ unsigned T4CKPS1 : 1;
+ unsigned TMR4ON : 1;
+ unsigned T4OUTPS0 : 1;
+ unsigned T4OUTPS1 : 1;
+ unsigned T4OUTPS2 : 1;
+ unsigned T4OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T4CONbits_t;
+extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+extern __sfr __at (0xF77) PR4;
+
+extern __sfr __at (0xF78) TMR4;
+
+extern __sfr __at (0xF79) ECCP1DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P1DC0 : 1;
+ unsigned P1DC1 : 1;
+ unsigned P1DC2 : 1;
+ unsigned P1DC3 : 1;
+ unsigned P1DC4 : 1;
+ unsigned P1DC5 : 1;
+ unsigned P1DC6 : 1;
+ unsigned P1RSEN : 1;
+ };
+} __ECCP1DELbits_t;
+extern volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+extern __sfr __at (0xF7A) ERDPT;
+
+extern __sfr __at (0xF7A) ERDPTL;
+
+extern __sfr __at (0xF7B) ERDPTH;
+
+extern __sfr __at (0xF7E) BAUDCON;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCONbits_t;
+extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+extern __sfr __at (0xF7E) BAUDCON1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCON1bits_t;
+extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+extern __sfr __at (0xF7E) BAUDCTL;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTLbits_t;
+extern volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+extern __sfr __at (0xF7E) BAUDCTL1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTL1bits_t;
+extern volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+extern __sfr __at (0xF7F) SPBRGH;
+
+extern __sfr __at (0xF7F) SPBRGH1;
+
+extern __sfr __at (0xF80) PORTA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned AN0 : 1;
+ unsigned AN1 : 1;
+ unsigned AN2 : 1;
+ unsigned AN3 : 1;
+ unsigned T0CKI : 1;
+ unsigned AN4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned LEDA : 1;
+ unsigned LEDB : 1;
+ unsigned VREFM : 1;
+ unsigned VREFP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTAbits_t;
+extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+extern __sfr __at (0xF81) PORTB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+ struct {
+ unsigned INT0 : 1;
+ unsigned INT1 : 1;
+ unsigned INT2 : 1;
+ unsigned INT3 : 1;
+ unsigned KBI0 : 1;
+ unsigned KBI1 : 1;
+ unsigned KBI2 : 1;
+ unsigned KBI3 : 1;
+ };
+ struct {
+ unsigned FLT0 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PGC : 1;
+ unsigned PGD : 1;
+ };
+} __PORTBbits_t;
+extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+extern __sfr __at (0xF82) PORTC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+ struct {
+ unsigned T1OSO : 1;
+ unsigned T1OSI : 1;
+ unsigned CCP1 : 1;
+ unsigned SCK : 1;
+ unsigned SDI : 1;
+ unsigned SDO : 1;
+ unsigned TX : 1;
+ unsigned RX : 1;
+ };
+ struct {
+ unsigned T13CKI : 1;
+ unsigned CCP2 : 1;
+ unsigned : 1;
+ unsigned SCL : 1;
+ unsigned SDA : 1;
+ unsigned SDO1 : 1;
+ unsigned CK : 1;
+ unsigned DT : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCK1 : 1;
+ unsigned SDI1 : 1;
+ unsigned : 1;
+ unsigned TX1 : 1;
+ unsigned RX1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCL1 : 1;
+ unsigned SDA1 : 1;
+ unsigned : 1;
+ unsigned CK1 : 1;
+ unsigned DT1 : 1;
+ };
+} __PORTCbits_t;
+extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+extern __sfr __at (0xF83) PORTD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned CCP3 : 1;
+ unsigned CCP4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTDbits_t;
+extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+extern __sfr __at (0xF84) PORTE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTEbits_t;
+extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+extern __sfr __at (0xF85) PORTF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned AN6 : 1;
+ unsigned AN7 : 1;
+ unsigned AN8 : 1;
+ unsigned AN9 : 1;
+ unsigned AN10 : 1;
+ unsigned AN11 : 1;
+ unsigned SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CVREF : 1;
+ unsigned : 1;
+ unsigned NOT_SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SS1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_SS1 : 1;
+ };
+} __PORTFbits_t;
+extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+extern __sfr __at (0xF86) PORTG;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTGbits_t;
+extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+extern __sfr __at (0xF89) LATA;
+typedef union {
+ struct {
+ unsigned LATA0 : 1;
+ unsigned LATA1 : 1;
+ unsigned LATA2 : 1;
+ unsigned LATA3 : 1;
+ unsigned LATA4 : 1;
+ unsigned LATA5 : 1;
+ unsigned REPU : 1;
+ unsigned RDPU : 1;
+ };
+} __LATAbits_t;
+extern volatile __LATAbits_t __at (0xF89) LATAbits;
+
+extern __sfr __at (0xF8A) LATB;
+typedef union {
+ struct {
+ unsigned LATB0 : 1;
+ unsigned LATB1 : 1;
+ unsigned LATB2 : 1;
+ unsigned LATB3 : 1;
+ unsigned LATB4 : 1;
+ unsigned LATB5 : 1;
+ unsigned LATB6 : 1;
+ unsigned LATB7 : 1;
+ };
+} __LATBbits_t;
+extern volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+extern __sfr __at (0xF8B) LATC;
+typedef union {
+ struct {
+ unsigned LATC0 : 1;
+ unsigned LATC1 : 1;
+ unsigned LATC2 : 1;
+ unsigned LATC3 : 1;
+ unsigned LATC4 : 1;
+ unsigned LATC5 : 1;
+ unsigned LATC6 : 1;
+ unsigned LATC7 : 1;
+ };
+} __LATCbits_t;
+extern volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+extern __sfr __at (0xF8C) LATD;
+typedef union {
+ struct {
+ unsigned LATD0 : 1;
+ unsigned LATD1 : 1;
+ unsigned LATD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATDbits_t;
+extern volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+extern __sfr __at (0xF8D) LATE;
+typedef union {
+ struct {
+ unsigned LATE0 : 1;
+ unsigned LATE1 : 1;
+ unsigned LATE2 : 1;
+ unsigned LATE3 : 1;
+ unsigned LATE4 : 1;
+ unsigned LATE5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATEbits_t;
+extern volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+extern __sfr __at (0xF8E) LATF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned LATF1 : 1;
+ unsigned LATF2 : 1;
+ unsigned LATF3 : 1;
+ unsigned LATF4 : 1;
+ unsigned LATF5 : 1;
+ unsigned LATF6 : 1;
+ unsigned LATF7 : 1;
+ };
+} __LATFbits_t;
+extern volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+extern __sfr __at (0xF8F) LATG;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned LATG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATGbits_t;
+extern volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+extern __sfr __at (0xF92) DDRA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRAbits_t;
+extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+extern __sfr __at (0xF92) TRISA;
+typedef union {
+ struct {
+ unsigned TRISA0 : 1;
+ unsigned TRISA1 : 1;
+ unsigned TRISA2 : 1;
+ unsigned TRISA3 : 1;
+ unsigned TRISA4 : 1;
+ unsigned TRISA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISAbits_t;
+extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+extern __sfr __at (0xF93) DDRB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+} __DDRBbits_t;
+extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+extern __sfr __at (0xF93) TRISB;
+typedef union {
+ struct {
+ unsigned TRISB0 : 1;
+ unsigned TRISB1 : 1;
+ unsigned TRISB2 : 1;
+ unsigned TRISB3 : 1;
+ unsigned TRISB4 : 1;
+ unsigned TRISB5 : 1;
+ unsigned TRISB6 : 1;
+ unsigned TRISB7 : 1;
+ };
+} __TRISBbits_t;
+extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+extern __sfr __at (0xF94) DDRC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+} __DDRCbits_t;
+extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+extern __sfr __at (0xF94) TRISC;
+typedef union {
+ struct {
+ unsigned TRISC0 : 1;
+ unsigned TRISC1 : 1;
+ unsigned TRISC2 : 1;
+ unsigned TRISC3 : 1;
+ unsigned TRISC4 : 1;
+ unsigned TRISC5 : 1;
+ unsigned TRISC6 : 1;
+ unsigned TRISC7 : 1;
+ };
+} __TRISCbits_t;
+extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+extern __sfr __at (0xF95) DDRD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRDbits_t;
+extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+extern __sfr __at (0xF95) TRISD;
+typedef union {
+ struct {
+ unsigned TRISD0 : 1;
+ unsigned TRISD1 : 1;
+ unsigned TRISD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISDbits_t;
+extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+extern __sfr __at (0xF96) DDRE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDREbits_t;
+extern volatile __DDREbits_t __at (0xF96) DDREbits;
+
+extern __sfr __at (0xF96) TRISE;
+typedef union {
+ struct {
+ unsigned TRISE0 : 1;
+ unsigned TRISE1 : 1;
+ unsigned TRISE2 : 1;
+ unsigned TRISE3 : 1;
+ unsigned TRISE4 : 1;
+ unsigned TRISE5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISEbits_t;
+extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+extern __sfr __at (0xF97) DDRF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+} __DDRFbits_t;
+extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+extern __sfr __at (0xF97) TRISF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned TRISF1 : 1;
+ unsigned TRISF2 : 1;
+ unsigned TRISF3 : 1;
+ unsigned TRISF4 : 1;
+ unsigned TRISF5 : 1;
+ unsigned TRISF6 : 1;
+ unsigned TRISF7 : 1;
+ };
+} __TRISFbits_t;
+extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+extern __sfr __at (0xF98) DDRG;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRGbits_t;
+extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+extern __sfr __at (0xF98) TRISG;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TRISG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISGbits_t;
+extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+extern __sfr __at (0xF9B) OSCTUNE;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PPRE : 1;
+ unsigned PPST0 : 1;
+ unsigned PLLEN : 1;
+ unsigned PPST1 : 1;
+ };
+} __OSCTUNEbits_t;
+extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+extern __sfr __at (0xF9D) PIE1;
+typedef union {
+ struct {
+ unsigned TMR1IE : 1;
+ unsigned TMR2IE : 1;
+ unsigned CCP1IE : 1;
+ unsigned SSPIE : 1;
+ unsigned TXIE_PIE1 : 1;
+ unsigned RCIE : 1;
+ unsigned ADIE : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IE : 1;
+ unsigned TX1IE : 1;
+ unsigned RC1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE1bits_t;
+extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+extern __sfr __at (0xF9E) PIR1;
+typedef union {
+ struct {
+ unsigned TMR1IF : 1;
+ unsigned TMR2IF : 1;
+ unsigned CCP1IF : 1;
+ unsigned SSPIF : 1;
+ unsigned TXIF_PIR1 : 1;
+ unsigned RCIF : 1;
+ unsigned ADIF : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IF : 1;
+ unsigned TX1IF : 1;
+ unsigned RC1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR1bits_t;
+extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+extern __sfr __at (0xF9F) IPR1;
+typedef union {
+ struct {
+ unsigned TMR1IP : 1;
+ unsigned TMR2IP : 1;
+ unsigned CCP1IP : 1;
+ unsigned SSPIP : 1;
+ unsigned TXIP : 1;
+ unsigned RCIP : 1;
+ unsigned ADIP : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IP : 1;
+ unsigned TX1IP : 1;
+ unsigned RC1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR1bits_t;
+extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+extern __sfr __at (0xFA0) PIE2;
+typedef union {
+ struct {
+ unsigned CCP2IE : 1;
+ unsigned TMR3IE : 1;
+ unsigned : 1;
+ unsigned BCLIE : 1;
+ unsigned ETHWIE : 1;
+ unsigned ETHIE : 1;
+ unsigned CMIE : 1;
+ unsigned OSCFIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE2bits_t;
+extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+extern __sfr __at (0xFA1) PIR2;
+typedef union {
+ struct {
+ unsigned CCP2IF : 1;
+ unsigned TMR3IF : 1;
+ unsigned : 1;
+ unsigned BCLIF : 1;
+ unsigned ETHWIF : 1;
+ unsigned ETHIF : 1;
+ unsigned CMIF : 1;
+ unsigned OSCFIF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR2bits_t;
+extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+extern __sfr __at (0xFA2) IPR2;
+typedef union {
+ struct {
+ unsigned CCP2IP : 1;
+ unsigned TMR3IP : 1;
+ unsigned : 1;
+ unsigned BCLIP : 1;
+ unsigned ETHWIP : 1;
+ unsigned ETHIP : 1;
+ unsigned CMIP : 1;
+ unsigned OSCFIP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR2bits_t;
+extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+extern __sfr __at (0xFA3) PIE3;
+typedef union {
+ struct {
+ unsigned CCP3IE : 1;
+ unsigned CCP4IE : 1;
+ unsigned CCP5IE : 1;
+ unsigned TMR4IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL2IE : 1;
+ unsigned : 1;
+ };
+} __PIE3bits_t;
+extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+extern __sfr __at (0xFA4) PIR3;
+typedef union {
+ struct {
+ unsigned CCP3IF : 1;
+ unsigned CCP4IF : 1;
+ unsigned CCP5IF : 1;
+ unsigned TMR4IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL2IF : 1;
+ unsigned : 1;
+ };
+} __PIR3bits_t;
+extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+extern __sfr __at (0xFA5) IPR3;
+typedef union {
+ struct {
+ unsigned CCP3IP : 1;
+ unsigned CCP4IP : 1;
+ unsigned CCP5IP : 1;
+ unsigned TMR4IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL2IP : 1;
+ unsigned : 1;
+ };
+} __IPR3bits_t;
+extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+extern __sfr __at (0xFA6) EECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned WR : 1;
+ unsigned WREN : 1;
+ unsigned WRERR : 1;
+ unsigned FREE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EECON1bits_t;
+extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+extern __sfr __at (0xFA7) EECON2;
+
+extern __sfr __at (0xFAB) RCSTA;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTAbits_t;
+extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+extern __sfr __at (0xFAB) RCSTA1;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTA1bits_t;
+extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+extern __sfr __at (0xFAC) TXSTA;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTAbits_t;
+extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+extern __sfr __at (0xFAC) TXSTA1;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTA1bits_t;
+extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+extern __sfr __at (0xFAD) TXREG;
+
+extern __sfr __at (0xFAD) TXREG1;
+
+extern __sfr __at (0xFAE) RCREG;
+
+extern __sfr __at (0xFAE) RCREG1;
+
+extern __sfr __at (0xFAF) SPBRG;
+
+extern __sfr __at (0xFAF) SPBRG1;
+
+extern __sfr __at (0xFB1) T3CON;
+typedef union {
+ struct {
+ unsigned TMR3ON : 1;
+ unsigned TMR3CS : 1;
+ unsigned T3SYNC : 1;
+ unsigned T3CCP1 : 1;
+ unsigned T3CKPS0 : 1;
+ unsigned T3CKPS1 : 1;
+ unsigned T3CCP2 : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T3INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T3SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T3CONbits_t;
+extern volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+extern __sfr __at (0xFB2) TMR3L;
+
+extern __sfr __at (0xFB3) TMR3H;
+
+extern __sfr __at (0xFB4) CMCON;
+typedef union {
+ struct {
+ unsigned CM0 : 1;
+ unsigned CM1 : 1;
+ unsigned CM2 : 1;
+ unsigned CIS : 1;
+ unsigned C1INV : 1;
+ unsigned C2INV : 1;
+ unsigned C1OUT : 1;
+ unsigned C2OUT : 1;
+ };
+} __CMCONbits_t;
+extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+extern __sfr __at (0xFB5) CVRCON;
+typedef union {
+ struct {
+ unsigned CVR0 : 1;
+ unsigned CVR1 : 1;
+ unsigned CVR2 : 1;
+ unsigned CVR3 : 1;
+ unsigned CVRSS : 1;
+ unsigned CVRR : 1;
+ unsigned CVROE : 1;
+ unsigned CVREN : 1;
+ };
+} __CVRCONbits_t;
+extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+extern __sfr __at (0xFB6) ECCP1AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS1BD0 : 1;
+ unsigned PSS1BD1 : 1;
+ unsigned PSS1AC0 : 1;
+ unsigned PSS1AC1 : 1;
+ unsigned ECCP1AS0 : 1;
+ unsigned ECCP1AS1 : 1;
+ unsigned ECCP1AS2 : 1;
+ unsigned ECCP1ASE : 1;
+ };
+} __ECCP1ASbits_t;
+extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+extern __sfr __at (0xFB7) CCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP3CONbits_t;
+extern volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+extern __sfr __at (0xFB7) ECCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP3CONbits_t;
+extern volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+extern __sfr __at (0xFB8) CCPR3;
+
+extern __sfr __at (0xFB8) CCPR3L;
+
+extern __sfr __at (0xFB9) CCPR3H;
+
+extern __sfr __at (0xFBA) CCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP2CONbits_t;
+extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+extern __sfr __at (0xFBA) ECCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP2CONbits_t;
+extern volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+extern __sfr __at (0xFBB) CCPR2;
+
+extern __sfr __at (0xFBB) CCPR2L;
+
+extern __sfr __at (0xFBC) CCPR2H;
+
+extern __sfr __at (0xFBD) CCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP1CONbits_t;
+extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+extern __sfr __at (0xFBD) ECCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP1CONbits_t;
+extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+extern __sfr __at (0xFBE) CCPR1;
+
+extern __sfr __at (0xFBE) CCPR1L;
+
+extern __sfr __at (0xFBF) CCPR1H;
+
+extern __sfr __at (0xFC0) ADCON2;
+typedef union {
+ struct {
+ unsigned ADCS0 : 1;
+ unsigned ADCS1 : 1;
+ unsigned ADCS2 : 1;
+ unsigned ACQT0 : 1;
+ unsigned ACQT1 : 1;
+ unsigned ACQT2 : 1;
+ unsigned : 1;
+ unsigned ADFM : 1;
+ };
+} __ADCON2bits_t;
+extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+extern __sfr __at (0xFC1) ADCON1;
+typedef union {
+ struct {
+ unsigned PCFG0 : 1;
+ unsigned PCFG1 : 1;
+ unsigned PCFG2 : 1;
+ unsigned PCFG3 : 1;
+ unsigned VCFG0 : 1;
+ unsigned VCFG1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON1bits_t;
+extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+extern __sfr __at (0xFC2) ADCON0;
+typedef union {
+ struct {
+ unsigned ADON : 1;
+ unsigned DONE : 1;
+ unsigned CHS0 : 1;
+ unsigned CHS1 : 1;
+ unsigned CHS2 : 1;
+ unsigned CHS3 : 1;
+ unsigned : 1;
+ unsigned ADCAL : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned NOT_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON0bits_t;
+extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+extern __sfr __at (0xFC3) ADRES;
+
+extern __sfr __at (0xFC3) ADRESL;
+
+extern __sfr __at (0xFC4) ADRESH;
+
+extern __sfr __at (0xFC5) SSP1CON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1CON2bits_t;
+extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+extern __sfr __at (0xFC5) SSPCON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPCON2bits_t;
+extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+extern __sfr __at (0xFC6) SSP1CON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSP1CON1bits_t;
+extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+extern __sfr __at (0xFC6) SSPCON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSPCON1bits_t;
+extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+extern __sfr __at (0xFC7) SSP1STAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1STATbits_t;
+extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+extern __sfr __at (0xFC7) SSPSTAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPSTATbits_t;
+extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+extern __sfr __at (0xFC8) SSP1ADD;
+
+extern __sfr __at (0xFC8) SSPADD;
+
+extern __sfr __at (0xFC9) SSP1BUF;
+
+extern __sfr __at (0xFC9) SSPBUF;
+
+extern __sfr __at (0xFCA) T2CON;
+typedef union {
+ struct {
+ unsigned T2CKPS0 : 1;
+ unsigned T2CKPS1 : 1;
+ unsigned TMR2ON : 1;
+ unsigned T2OUTPS0 : 1;
+ unsigned T2OUTPS1 : 1;
+ unsigned T2OUTPS2 : 1;
+ unsigned T2OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T2CONbits_t;
+extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+extern __sfr __at (0xFCB) PR2;
+
+extern __sfr __at (0xFCC) TMR2;
+
+extern __sfr __at (0xFCD) T1CON;
+typedef union {
+ struct {
+ unsigned TMR1ON : 1;
+ unsigned TMR1CS : 1;
+ unsigned T1SYNC : 1;
+ unsigned T1OSCEN : 1;
+ unsigned T1CKPS0 : 1;
+ unsigned T1CKPS1 : 1;
+ unsigned T1RUN : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T1INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T1SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T1CONbits_t;
+extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+extern __sfr __at (0xFCE) TMR1L;
+
+extern __sfr __at (0xFCF) TMR1H;
+
+extern __sfr __at (0xFD0) RCON;
+typedef union {
+ struct {
+ unsigned NOT_BOR : 1;
+ unsigned NOT_POR : 1;
+ unsigned NOT_PD : 1;
+ unsigned NOT_TO : 1;
+ unsigned NOT_RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IPEN : 1;
+ };
+ struct {
+ unsigned BOR : 1;
+ unsigned POR : 1;
+ unsigned PD : 1;
+ unsigned TO : 1;
+ unsigned RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __RCONbits_t;
+extern volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+extern __sfr __at (0xFD1) WDTCON;
+typedef union {
+ struct {
+ unsigned SWDTE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned SWDTEN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __WDTCONbits_t;
+extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+extern __sfr __at (0xFD2) ECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RXEN : 1;
+ unsigned TXRTS : 1;
+ unsigned CSUMEN : 1;
+ unsigned DMAST : 1;
+ unsigned RXRST : 1;
+ unsigned TXRST : 1;
+ };
+} __ECON1bits_t;
+extern volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+extern __sfr __at (0xFD3) OSCCON;
+typedef union {
+ struct {
+ unsigned SCS0 : 1;
+ unsigned SCS1 : 1;
+ unsigned : 1;
+ unsigned OSTS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IDLEN : 1;
+ };
+} __OSCCONbits_t;
+extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+extern __sfr __at (0xFD5) T0CON;
+typedef union {
+ struct {
+ unsigned T0PS0 : 1;
+ unsigned T0PS1 : 1;
+ unsigned T0PS2 : 1;
+ unsigned PSA : 1;
+ unsigned T0SE : 1;
+ unsigned T0CS : 1;
+ unsigned T08BIT : 1;
+ unsigned TMR0ON : 1;
+ };
+} __T0CONbits_t;
+extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+extern __sfr __at (0xFD6) TMR0L;
+
+extern __sfr __at (0xFD7) TMR0H;
+
+extern __sfr __at (0xFD8) STATUS;
+typedef union {
+ struct {
+ unsigned C : 1;
+ unsigned DC : 1;
+ unsigned Z : 1;
+ unsigned OV : 1;
+ unsigned N : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __STATUSbits_t;
+extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+extern __sfr __at (0xFD9) FSR2L;
+
+extern __sfr __at (0xFDA) FSR2H;
+
+extern __sfr __at (0xFDB) PLUSW2;
+
+extern __sfr __at (0xFDC) PREINC2;
+
+extern __sfr __at (0xFDD) POSTDEC2;
+
+extern __sfr __at (0xFDE) POSTINC2;
+
+extern __sfr __at (0xFDF) INDF2;
+
+extern __sfr __at (0xFE0) BSR;
+
+extern __sfr __at (0xFE1) FSR1L;
+
+extern __sfr __at (0xFE2) FSR1H;
+
+extern __sfr __at (0xFE3) PLUSW1;
+
+extern __sfr __at (0xFE4) PREINC1;
+
+extern __sfr __at (0xFE5) POSTDEC1;
+
+extern __sfr __at (0xFE6) POSTINC1;
+
+extern __sfr __at (0xFE7) INDF1;
+
+extern __sfr __at (0xFE8) WREG;
+
+extern __sfr __at (0xFE9) FSR0L;
+
+extern __sfr __at (0xFEA) FSR0H;
+
+extern __sfr __at (0xFEB) PLUSW0;
+
+extern __sfr __at (0xFEC) PREINC0;
+
+extern __sfr __at (0xFED) POSTDEC0;
+
+extern __sfr __at (0xFEE) POSTINC0;
+
+extern __sfr __at (0xFEF) INDF0;
+
+extern __sfr __at (0xFF0) INTCON3;
+typedef union {
+ struct {
+ unsigned INT1F : 1;
+ unsigned INT2F : 1;
+ unsigned INT3F : 1;
+ unsigned INT1E : 1;
+ unsigned INT2E : 1;
+ unsigned INT3E : 1;
+ unsigned INT1P : 1;
+ unsigned INT2P : 1;
+ };
+ struct {
+ unsigned INT1IF : 1;
+ unsigned INT2IF : 1;
+ unsigned INT3IF : 1;
+ unsigned INT1IE : 1;
+ unsigned INT2IE : 1;
+ unsigned INT3IE : 1;
+ unsigned INT1IP : 1;
+ unsigned INT2IP : 1;
+ };
+} __INTCON3bits_t;
+extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+extern __sfr __at (0xFF1) INTCON2;
+typedef union {
+ struct {
+ unsigned RBIP : 1;
+ unsigned INT3IP : 1;
+ unsigned T0IP : 1;
+ unsigned INTEDG3 : 1;
+ unsigned INTEDG2 : 1;
+ unsigned INTEDG1 : 1;
+ unsigned INTEDG0 : 1;
+ unsigned NOT_RBPU : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMR0IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RBPU : 1;
+ };
+} __INTCON2bits_t;
+extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+extern __sfr __at (0xFF2) INTCON;
+typedef union {
+ struct {
+ unsigned RBIF : 1;
+ unsigned INT0F : 1;
+ unsigned T0IF : 1;
+ unsigned RBIE : 1;
+ unsigned INT0E : 1;
+ unsigned T0IE : 1;
+ unsigned PEIE : 1;
+ unsigned GIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned INT0IF : 1;
+ unsigned TMR0IF : 1;
+ unsigned : 1;
+ unsigned INT0IE : 1;
+ unsigned TMR0IE : 1;
+ unsigned GIEL : 1;
+ unsigned GIEH : 1;
+ };
+} __INTCONbits_t;
+extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+extern __sfr __at (0xFF3) PROD;
+
+extern __sfr __at (0xFF3) PRODL;
+
+extern __sfr __at (0xFF4) PRODH;
+
+extern __sfr __at (0xFF5) TABLAT;
+
+extern __sfr __at (0xFF6) TBLPTR;
+
+extern __sfr __at (0xFF6) TBLPTRL;
+
+extern __sfr __at (0xFF7) TBLPTRH;
+
+extern __sfr __at (0xFF8) TBLPTRU;
+
+extern __sfr __at (0xFF9) PC;
+
+extern __sfr __at (0xFF9) PCL;
+
+extern __sfr __at (0xFFA) PCLATH;
+
+extern __sfr __at (0xFFB) PCLATU;
+
+extern __sfr __at (0xFFC) STKPTR;
+typedef union {
+ struct {
+ unsigned STKPTR0 : 1;
+ unsigned STKPTR1 : 1;
+ unsigned STKPTR2 : 1;
+ unsigned STKPTR3 : 1;
+ unsigned STKPTR4 : 1;
+ unsigned : 1;
+ unsigned STKUNF : 1;
+ unsigned STKOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned STKFUL : 1;
+ };
+} __STKPTRbits_t;
+extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+extern __sfr __at (0xFFD) TOS;
+
+extern __sfr __at (0xFFD) TOSL;
+
+extern __sfr __at (0xFFE) TOSH;
+
+extern __sfr __at (0xFFF) TOSU;
+
+
+#endif
+
--- /dev/null
+/*
+ * pic18f66j65.h - PIC18F66J65 Device Library Header
+ */
+
+#include "pic18f66j60.h"
+
--- /dev/null
+/*
+ * pic18f67j60.h - PIC18F67J60 Device Library Header
+ */
+
+#include "pic18f66j60.h"
+
--- /dev/null
+/*
+ * pic18f86j60.h - device specific declarations
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#ifndef __PIC18F86J60_H__
+#define __PIC18F86J60_H__ 1
+
+#define _DEVID1 0x3FFFFE
+#define _DEVID2 0x3FFFFF
+
+extern __sfr __at (0xE80) MAADR5;
+
+extern __sfr __at (0xE81) MAADR6;
+
+extern __sfr __at (0xE82) MAADR3;
+
+extern __sfr __at (0xE83) MAADR4;
+
+extern __sfr __at (0xE84) MAADR1;
+
+extern __sfr __at (0xE85) MAADR2;
+
+extern __sfr __at (0xE86) EBSTSD;
+
+extern __sfr __at (0xE87) EBSTCON;
+typedef union {
+ struct {
+ unsigned BISTST : 1;
+ unsigned TME : 1;
+ unsigned TMSEL0 : 1;
+ unsigned TMSEL1 : 1;
+ unsigned : 1;
+ unsigned PSV0 : 1;
+ unsigned PSV1 : 1;
+ unsigned PSV2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMSEL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PSV : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EBSTCONbits_t;
+extern volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+extern __sfr __at (0xE88) EBSTCS;
+
+extern __sfr __at (0xE88) EBSTCSL;
+
+extern __sfr __at (0xE89) EBSTCSH;
+
+extern __sfr __at (0xE8A) MISTAT;
+typedef union {
+ struct {
+ unsigned BUSY : 1;
+ unsigned SCAN : 1;
+ unsigned NVALID : 1;
+ unsigned LINKFL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MISTATbits_t;
+extern volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+extern __sfr __at (0xE97) EFLOCON;
+typedef union {
+ struct {
+ unsigned FCEN0 : 1;
+ unsigned FCEN1 : 1;
+ unsigned FULDPXS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EFLOCONbits_t;
+extern volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+extern __sfr __at (0xE98) EPAUS;
+
+extern __sfr __at (0xE98) EPAUSL;
+
+extern __sfr __at (0xE99) EPAUSH;
+
+extern __sfr __at (0xEA0) MACON1;
+typedef union {
+ struct {
+ unsigned MARXEN : 1;
+ unsigned PASSALL : 1;
+ unsigned RXPAUS : 1;
+ unsigned TXPAUS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON1bits_t;
+extern volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+extern __sfr __at (0xEA1) MACON2;
+typedef union {
+ struct {
+ unsigned TFUNRST : 1;
+ unsigned MATXRST : 1;
+ unsigned RFUNRST : 1;
+ unsigned MARXRST : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RNDRST : 1;
+ unsigned MARST : 1;
+ };
+} __MACON2bits_t;
+extern volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+extern __sfr __at (0xEA2) MACON3;
+typedef union {
+ struct {
+ unsigned FULDPX : 1;
+ unsigned FRMLNEN : 1;
+ unsigned HFRMEN : 1;
+ unsigned PHDRLEN : 1;
+ unsigned TXCRCEN : 1;
+ unsigned PADCFG0 : 1;
+ unsigned PADCFG1 : 1;
+ unsigned PADCFG2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PADCFG : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON3bits_t;
+extern volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+extern __sfr __at (0xEA3) MACON4;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOBKOFF : 1;
+ unsigned BPEN : 1;
+ unsigned DEFER : 1;
+ unsigned : 1;
+ };
+} __MACON4bits_t;
+extern volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+extern __sfr __at (0xEA4) MABBIPG;
+
+extern __sfr __at (0xEA6) MAIPG;
+
+extern __sfr __at (0xEA6) MAIPGL;
+
+extern __sfr __at (0xEA7) MAIPGH;
+
+extern __sfr __at (0xEA8) MACLCON1;
+typedef union {
+ struct {
+ unsigned RETMAX : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON1bits_t;
+extern volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+extern __sfr __at (0xEA9) MACLCON2;
+typedef union {
+ struct {
+ unsigned COLWIN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON2bits_t;
+extern volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+extern __sfr __at (0xEAA) MAMXFL;
+
+extern __sfr __at (0xEAA) MAMXFLL;
+
+extern __sfr __at (0xEAB) MAMXFLH;
+
+extern __sfr __at (0xEB1) MICON;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RSTMII : 1;
+ };
+} __MICONbits_t;
+extern volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+extern __sfr __at (0xEB2) MICMD;
+typedef union {
+ struct {
+ unsigned MIIRD : 1;
+ unsigned MIISCAN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MICMDbits_t;
+extern volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+extern __sfr __at (0xEB4) MIREGADR;
+
+extern __sfr __at (0xEB6) MIWR;
+
+extern __sfr __at (0xEB6) MIWRL;
+
+extern __sfr __at (0xEB7) MIWRH;
+
+extern __sfr __at (0xEB8) MIRD;
+
+extern __sfr __at (0xEB8) MIRDL;
+
+extern __sfr __at (0xEB9) MIRDH;
+
+extern __sfr __at (0xEC0) EHT0;
+
+extern __sfr __at (0xEC1) EHT1;
+
+extern __sfr __at (0xEC2) EHT2;
+
+extern __sfr __at (0xEC3) EHT3;
+
+extern __sfr __at (0xEC4) EHT4;
+
+extern __sfr __at (0xEC5) EHT5;
+
+extern __sfr __at (0xEC6) EHT6;
+
+extern __sfr __at (0xEC7) EHT7;
+
+extern __sfr __at (0xEC8) EPMM0;
+
+extern __sfr __at (0xEC9) EPMM1;
+
+extern __sfr __at (0xECA) EPMM2;
+
+extern __sfr __at (0xECB) EPMM3;
+
+extern __sfr __at (0xECC) EPMM4;
+
+extern __sfr __at (0xECD) EPMM5;
+
+extern __sfr __at (0xECE) EPMM6;
+
+extern __sfr __at (0xECF) EPMM7;
+
+extern __sfr __at (0xED0) EPMCS;
+
+extern __sfr __at (0xED0) EPMCSL;
+
+extern __sfr __at (0xED1) EPMCSH;
+
+extern __sfr __at (0xED4) EPMO;
+
+extern __sfr __at (0xED4) EPMOL;
+
+extern __sfr __at (0xED5) EPMOH;
+
+extern __sfr __at (0xED6) EWOLIE;
+typedef union {
+ struct {
+ unsigned BCWOLIE : 1;
+ unsigned MCWOLIE : 1;
+ unsigned HTWOLIE : 1;
+ unsigned MPWOLIE : 1;
+ unsigned PMWOLIE : 1;
+ unsigned : 1;
+ unsigned AWOLIE : 1;
+ unsigned UCWOLIE : 1;
+ };
+} __EWOLIEbits_t;
+extern volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+extern __sfr __at (0xED7) EWOLIR;
+typedef union {
+ struct {
+ unsigned BCWOLIF : 1;
+ unsigned MCWOLIF : 1;
+ unsigned HTWOLIF : 1;
+ unsigned MPWOLIF : 1;
+ unsigned PMWOLIF : 1;
+ unsigned : 1;
+ unsigned AWOLIF : 1;
+ unsigned UCWOLIF : 1;
+ };
+} __EWOLIRbits_t;
+extern volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+extern __sfr __at (0xED8) ERXFCON;
+typedef union {
+ struct {
+ unsigned BCEN : 1;
+ unsigned MCEN : 1;
+ unsigned HTEN : 1;
+ unsigned MPEN : 1;
+ unsigned PMEN : 1;
+ unsigned CRCEN : 1;
+ unsigned ANDOR : 1;
+ unsigned UCEN : 1;
+ };
+} __ERXFCONbits_t;
+extern volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+extern __sfr __at (0xED9) EPKTCNT;
+
+extern __sfr __at (0xEE2) EWRPT;
+
+extern __sfr __at (0xEE2) EWRPTL;
+
+extern __sfr __at (0xEE3) EWRPTH;
+
+extern __sfr __at (0xEE4) ETXST;
+
+extern __sfr __at (0xEE4) ETXSTL;
+
+extern __sfr __at (0xEE5) ETXSTH;
+
+extern __sfr __at (0xEE6) ETXND;
+
+extern __sfr __at (0xEE6) ETXNDL;
+
+extern __sfr __at (0xEE7) ETXNDH;
+
+extern __sfr __at (0xEE8) ERXST;
+
+extern __sfr __at (0xEE8) ERXSTL;
+
+extern __sfr __at (0xEE9) ERXSTH;
+
+extern __sfr __at (0xEEA) ERXND;
+
+extern __sfr __at (0xEEA) ERXNDL;
+
+extern __sfr __at (0xEEB) ERXNDH;
+
+extern __sfr __at (0xEEC) ERXRDPT;
+
+extern __sfr __at (0xEEC) ERXRDPTL;
+
+extern __sfr __at (0xEED) ERXRDPTH;
+
+extern __sfr __at (0xEEE) ERXWRPT;
+
+extern __sfr __at (0xEEE) ERXWRPTL;
+
+extern __sfr __at (0xEEF) ERXWRPTH;
+
+extern __sfr __at (0xEF0) EDMAST;
+
+extern __sfr __at (0xEF0) EDMASTL;
+
+extern __sfr __at (0xEF1) EDMASTH;
+
+extern __sfr __at (0xEF2) EDMAND;
+
+extern __sfr __at (0xEF2) EDMANDL;
+
+extern __sfr __at (0xEF3) EDMANDH;
+
+extern __sfr __at (0xEF4) EDMADST;
+
+extern __sfr __at (0xEF4) EDMADSTL;
+
+extern __sfr __at (0xEF5) EDMADSTH;
+
+extern __sfr __at (0xEF6) EDMACS;
+
+extern __sfr __at (0xEF6) EDMACSL;
+
+extern __sfr __at (0xEF7) EDMACSH;
+
+extern __sfr __at (0xEFB) EIE;
+typedef union {
+ struct {
+ unsigned RXERIE : 1;
+ unsigned TXERIE : 1;
+ unsigned : 1;
+ unsigned TXIE_EIE : 1;
+ unsigned LINKIE : 1;
+ unsigned DMAIE : 1;
+ unsigned PKTIE : 1;
+ unsigned : 1;
+ };
+} __EIEbits_t;
+extern volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+extern __sfr __at (0xEFD) ESTAT;
+typedef union {
+ struct {
+ unsigned PHYRDY : 1;
+ unsigned TXABRT : 1;
+ unsigned RXBUSY : 1;
+ unsigned : 1;
+ unsigned LATECOL : 1;
+ unsigned : 1;
+ unsigned BUFER : 1;
+ unsigned : 1;
+ };
+} __ESTATbits_t;
+extern volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+extern __sfr __at (0xEFE) ECON2;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned ETHEN : 1;
+ unsigned PKTDEC : 1;
+ unsigned AUTOINC : 1;
+ };
+} __ECON2bits_t;
+extern volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+extern __sfr __at (0xF60) EIR;
+typedef union {
+ struct {
+ unsigned RXERIF : 1;
+ unsigned TXERIF : 1;
+ unsigned : 1;
+ unsigned TXIF_EIR : 1;
+ unsigned LINKIF : 1;
+ unsigned DMAIF : 1;
+ unsigned PKTIF : 1;
+ unsigned : 1;
+ };
+} __EIRbits_t;
+extern volatile __EIRbits_t __at (0xF60) EIRbits;
+
+extern __sfr __at (0xF61) EDATA;
+typedef union {
+ struct {
+ unsigned EDATA0 : 1;
+ unsigned EDATA1 : 1;
+ unsigned EDATA2 : 1;
+ unsigned EDATA3 : 1;
+ unsigned EDATA4 : 1;
+ unsigned EDATA5 : 1;
+ unsigned EDATA6 : 1;
+ unsigned EDATA7 : 1;
+ };
+} __EDATAbits_t;
+extern volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+extern __sfr __at (0xF67) ECCP2DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P2DC0 : 1;
+ unsigned P2DC1 : 1;
+ unsigned P2DC2 : 1;
+ unsigned P2DC3 : 1;
+ unsigned P2DC4 : 1;
+ unsigned P2DC5 : 1;
+ unsigned P2DC6 : 1;
+ unsigned P2RSEN : 1;
+ };
+} __ECCP2DELbits_t;
+extern volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+extern __sfr __at (0xF68) ECCP2AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS2BD0 : 1;
+ unsigned PSS2BD1 : 1;
+ unsigned PSS2AC0 : 1;
+ unsigned PSS2AC1 : 1;
+ unsigned ECCP2AS0 : 1;
+ unsigned ECCP2AS1 : 1;
+ unsigned ECCP2AS2 : 1;
+ unsigned ECCP2ASE : 1;
+ };
+} __ECCP2ASbits_t;
+extern volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+extern __sfr __at (0xF69) ECCP3DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P3DC0 : 1;
+ unsigned P3DC1 : 1;
+ unsigned P3DC2 : 1;
+ unsigned P3DC3 : 1;
+ unsigned P3DC4 : 1;
+ unsigned P3DC5 : 1;
+ unsigned P3DC6 : 1;
+ unsigned P3RSEN : 1;
+ };
+} __ECCP3DELbits_t;
+extern volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+extern __sfr __at (0xF6A) ECCP3AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS3BD0 : 1;
+ unsigned PSS3BD1 : 1;
+ unsigned PSS3AC0 : 1;
+ unsigned PSS3AC1 : 1;
+ unsigned ECCP3AS0 : 1;
+ unsigned ECCP3AS1 : 1;
+ unsigned ECCP3AS2 : 1;
+ unsigned ECCP3ASE : 1;
+ };
+} __ECCP3ASbits_t;
+extern volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+extern __sfr __at (0xF6B) RCSTA2;
+typedef union {
+ struct {
+ unsigned RCD8 : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RC9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RX9D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RX9 : 1;
+ unsigned : 1;
+ };
+} __RCSTA2bits_t;
+extern volatile __RCSTA2bits_t __at (0xF6B) RCSTA2bits;
+
+extern __sfr __at (0xF6C) TXSTA2;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTA2bits_t;
+extern volatile __TXSTA2bits_t __at (0xF6C) TXSTA2bits;
+
+extern __sfr __at (0xF6D) TXREG2;
+
+extern __sfr __at (0xF6E) RCREG2;
+
+extern __sfr __at (0xF6F) SPBRG2;
+
+extern __sfr __at (0xF70) CCP5CON;
+typedef union {
+ struct {
+ unsigned CCP5M0 : 1;
+ unsigned CCP5M1 : 1;
+ unsigned CCP5M2 : 1;
+ unsigned CCP5M3 : 1;
+ unsigned CCP5Y : 1;
+ unsigned CCP5X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC5B0 : 1;
+ unsigned DC5B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP5CONbits_t;
+extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+extern __sfr __at (0xF71) CCPR5;
+
+extern __sfr __at (0xF71) CCPR5L;
+
+extern __sfr __at (0xF72) CCPR5H;
+
+extern __sfr __at (0xF73) CCP4CON;
+typedef union {
+ struct {
+ unsigned CCP4M0 : 1;
+ unsigned CCP4M1 : 1;
+ unsigned CCP4M2 : 1;
+ unsigned CCP4M3 : 1;
+ unsigned CCP4Y : 1;
+ unsigned CCP4X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC4B0 : 1;
+ unsigned DC4B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP4CONbits_t;
+extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+extern __sfr __at (0xF74) CCPR4;
+
+extern __sfr __at (0xF74) CCPR4L;
+
+extern __sfr __at (0xF75) CCPR4H;
+
+extern __sfr __at (0xF76) T4CON;
+typedef union {
+ struct {
+ unsigned T4CKPS0 : 1;
+ unsigned T4CKPS1 : 1;
+ unsigned TMR4ON : 1;
+ unsigned T4OUTPS0 : 1;
+ unsigned T4OUTPS1 : 1;
+ unsigned T4OUTPS2 : 1;
+ unsigned T4OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T4CONbits_t;
+extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+extern __sfr __at (0xF77) PR4;
+
+extern __sfr __at (0xF78) TMR4;
+
+extern __sfr __at (0xF79) ECCP1DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P1DC0 : 1;
+ unsigned P1DC1 : 1;
+ unsigned P1DC2 : 1;
+ unsigned P1DC3 : 1;
+ unsigned P1DC4 : 1;
+ unsigned P1DC5 : 1;
+ unsigned P1DC6 : 1;
+ unsigned P1RSEN : 1;
+ };
+} __ECCP1DELbits_t;
+extern volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+extern __sfr __at (0xF7A) ERDPT;
+
+extern __sfr __at (0xF7A) ERDPTL;
+
+extern __sfr __at (0xF7B) ERDPTH;
+
+extern __sfr __at (0xF7C) BAUDCON2;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCON2bits_t;
+extern volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
+
+extern __sfr __at (0xF7C) BAUDCTL2;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTL2bits_t;
+extern volatile __BAUDCTL2bits_t __at (0xF7C) BAUDCTL2bits;
+
+extern __sfr __at (0xF7D) SPBRGH2;
+
+extern __sfr __at (0xF7E) BAUDCON;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCONbits_t;
+extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+extern __sfr __at (0xF7E) BAUDCON1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCON1bits_t;
+extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+extern __sfr __at (0xF7E) BAUDCTL;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTLbits_t;
+extern volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+extern __sfr __at (0xF7E) BAUDCTL1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTL1bits_t;
+extern volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+extern __sfr __at (0xF7F) SPBRGH;
+
+extern __sfr __at (0xF7F) SPBRGH1;
+
+extern __sfr __at (0xF80) PORTA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned RJPU : 1;
+ };
+ struct {
+ unsigned AN0 : 1;
+ unsigned AN1 : 1;
+ unsigned AN2 : 1;
+ unsigned AN3 : 1;
+ unsigned T0CKI : 1;
+ unsigned AN4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned LEDA : 1;
+ unsigned LEDB : 1;
+ unsigned VREFM : 1;
+ unsigned VREFP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTAbits_t;
+extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+extern __sfr __at (0xF81) PORTB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+ struct {
+ unsigned INT0 : 1;
+ unsigned INT1 : 1;
+ unsigned INT2 : 1;
+ unsigned INT3 : 1;
+ unsigned KBI0 : 1;
+ unsigned KBI1 : 1;
+ unsigned KBI2 : 1;
+ unsigned KBI3 : 1;
+ };
+ struct {
+ unsigned FLT0 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PGC : 1;
+ unsigned PGD : 1;
+ };
+} __PORTBbits_t;
+extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+extern __sfr __at (0xF82) PORTC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+ struct {
+ unsigned T1OSO : 1;
+ unsigned T1OSI : 1;
+ unsigned CCP1 : 1;
+ unsigned SCK : 1;
+ unsigned SDI : 1;
+ unsigned SDO : 1;
+ unsigned TX : 1;
+ unsigned RX : 1;
+ };
+ struct {
+ unsigned T13CKI : 1;
+ unsigned CCP2 : 1;
+ unsigned : 1;
+ unsigned SCL : 1;
+ unsigned SDA : 1;
+ unsigned SDO1 : 1;
+ unsigned CK : 1;
+ unsigned DT : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCK1 : 1;
+ unsigned SDI1 : 1;
+ unsigned : 1;
+ unsigned TX1 : 1;
+ unsigned RX1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCL1 : 1;
+ unsigned SDA1 : 1;
+ unsigned : 1;
+ unsigned CK1 : 1;
+ unsigned DT1 : 1;
+ };
+} __PORTCbits_t;
+extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+extern __sfr __at (0xF83) PORTD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTDbits_t;
+extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+extern __sfr __at (0xF84) PORTE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned RE6 : 1;
+ unsigned RE7 : 1;
+ };
+} __PORTEbits_t;
+extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+extern __sfr __at (0xF85) PORTF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned AN6 : 1;
+ unsigned AN7 : 1;
+ unsigned AN8 : 1;
+ unsigned AN9 : 1;
+ unsigned AN10 : 1;
+ unsigned AN11 : 1;
+ unsigned SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CVREF : 1;
+ unsigned : 1;
+ unsigned NOT_SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SS1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_SS1 : 1;
+ };
+} __PORTFbits_t;
+extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+extern __sfr __at (0xF86) PORTG;
+typedef union {
+ struct {
+ unsigned RG0 : 1;
+ unsigned RG1 : 1;
+ unsigned RG2 : 1;
+ unsigned RG3 : 1;
+ unsigned RG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned CCP3 : 1;
+ unsigned TX2 : 1;
+ unsigned RX2 : 1;
+ unsigned CCP4 : 1;
+ unsigned CCP5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned CK2 : 1;
+ unsigned DT2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTGbits_t;
+extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+extern __sfr __at (0xF87) PORTH;
+typedef union {
+ struct {
+ unsigned RH0 : 1;
+ unsigned RH1 : 1;
+ unsigned RH2 : 1;
+ unsigned RH3 : 1;
+ unsigned RH4 : 1;
+ unsigned RH5 : 1;
+ unsigned RH6 : 1;
+ unsigned RH7 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned AN12 : 1;
+ unsigned AN13 : 1;
+ unsigned AN14 : 1;
+ unsigned AN15 : 1;
+ };
+} __PORTHbits_t;
+extern volatile __PORTHbits_t __at (0xF87) PORTHbits;
+
+extern __sfr __at (0xF88) PORTJ;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RJ4 : 1;
+ unsigned RJ5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTJbits_t;
+extern volatile __PORTJbits_t __at (0xF88) PORTJbits;
+
+extern __sfr __at (0xF89) LATA;
+typedef union {
+ struct {
+ unsigned LATA0 : 1;
+ unsigned LATA1 : 1;
+ unsigned LATA2 : 1;
+ unsigned LATA3 : 1;
+ unsigned LATA4 : 1;
+ unsigned LATA5 : 1;
+ unsigned REPU : 1;
+ unsigned RDPU : 1;
+ };
+} __LATAbits_t;
+extern volatile __LATAbits_t __at (0xF89) LATAbits;
+
+extern __sfr __at (0xF8A) LATB;
+typedef union {
+ struct {
+ unsigned LATB0 : 1;
+ unsigned LATB1 : 1;
+ unsigned LATB2 : 1;
+ unsigned LATB3 : 1;
+ unsigned LATB4 : 1;
+ unsigned LATB5 : 1;
+ unsigned LATB6 : 1;
+ unsigned LATB7 : 1;
+ };
+} __LATBbits_t;
+extern volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+extern __sfr __at (0xF8B) LATC;
+typedef union {
+ struct {
+ unsigned LATC0 : 1;
+ unsigned LATC1 : 1;
+ unsigned LATC2 : 1;
+ unsigned LATC3 : 1;
+ unsigned LATC4 : 1;
+ unsigned LATC5 : 1;
+ unsigned LATC6 : 1;
+ unsigned LATC7 : 1;
+ };
+} __LATCbits_t;
+extern volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+extern __sfr __at (0xF8C) LATD;
+typedef union {
+ struct {
+ unsigned LATD0 : 1;
+ unsigned LATD1 : 1;
+ unsigned LATD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATDbits_t;
+extern volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+extern __sfr __at (0xF8D) LATE;
+typedef union {
+ struct {
+ unsigned LATE0 : 1;
+ unsigned LATE1 : 1;
+ unsigned LATE2 : 1;
+ unsigned LATE3 : 1;
+ unsigned LATE4 : 1;
+ unsigned LATE5 : 1;
+ unsigned LATE6 : 1;
+ unsigned LATE7 : 1;
+ };
+} __LATEbits_t;
+extern volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+extern __sfr __at (0xF8E) LATF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned LATF1 : 1;
+ unsigned LATF2 : 1;
+ unsigned LATF3 : 1;
+ unsigned LATF4 : 1;
+ unsigned LATF5 : 1;
+ unsigned LATF6 : 1;
+ unsigned LATF7 : 1;
+ };
+} __LATFbits_t;
+extern volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+extern __sfr __at (0xF8F) LATG;
+typedef union {
+ struct {
+ unsigned LATG0 : 1;
+ unsigned LATG1 : 1;
+ unsigned LATG2 : 1;
+ unsigned LATG3 : 1;
+ unsigned LATG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATGbits_t;
+extern volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+extern __sfr __at (0xF90) LATH;
+typedef union {
+ struct {
+ unsigned LATH0 : 1;
+ unsigned LATH1 : 1;
+ unsigned LATH2 : 1;
+ unsigned LATH3 : 1;
+ unsigned LATH4 : 1;
+ unsigned LATH5 : 1;
+ unsigned LATH6 : 1;
+ unsigned LATH7 : 1;
+ };
+} __LATHbits_t;
+extern volatile __LATHbits_t __at (0xF90) LATHbits;
+
+extern __sfr __at (0xF91) LATJ;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned LATJ4 : 1;
+ unsigned LATJ5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __LATJbits_t;
+extern volatile __LATJbits_t __at (0xF91) LATJbits;
+
+extern __sfr __at (0xF92) DDRA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRAbits_t;
+extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+extern __sfr __at (0xF92) TRISA;
+typedef union {
+ struct {
+ unsigned TRISA0 : 1;
+ unsigned TRISA1 : 1;
+ unsigned TRISA2 : 1;
+ unsigned TRISA3 : 1;
+ unsigned TRISA4 : 1;
+ unsigned TRISA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISAbits_t;
+extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+extern __sfr __at (0xF93) DDRB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+} __DDRBbits_t;
+extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+extern __sfr __at (0xF93) TRISB;
+typedef union {
+ struct {
+ unsigned TRISB0 : 1;
+ unsigned TRISB1 : 1;
+ unsigned TRISB2 : 1;
+ unsigned TRISB3 : 1;
+ unsigned TRISB4 : 1;
+ unsigned TRISB5 : 1;
+ unsigned TRISB6 : 1;
+ unsigned TRISB7 : 1;
+ };
+} __TRISBbits_t;
+extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+extern __sfr __at (0xF94) DDRC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+} __DDRCbits_t;
+extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+extern __sfr __at (0xF94) TRISC;
+typedef union {
+ struct {
+ unsigned TRISC0 : 1;
+ unsigned TRISC1 : 1;
+ unsigned TRISC2 : 1;
+ unsigned TRISC3 : 1;
+ unsigned TRISC4 : 1;
+ unsigned TRISC5 : 1;
+ unsigned TRISC6 : 1;
+ unsigned TRISC7 : 1;
+ };
+} __TRISCbits_t;
+extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+extern __sfr __at (0xF95) DDRD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRDbits_t;
+extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+extern __sfr __at (0xF95) TRISD;
+typedef union {
+ struct {
+ unsigned TRISD0 : 1;
+ unsigned TRISD1 : 1;
+ unsigned TRISD2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISDbits_t;
+extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+extern __sfr __at (0xF96) DDRE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned RE6 : 1;
+ unsigned RE7 : 1;
+ };
+} __DDREbits_t;
+extern volatile __DDREbits_t __at (0xF96) DDREbits;
+
+extern __sfr __at (0xF96) TRISE;
+typedef union {
+ struct {
+ unsigned TRISE0 : 1;
+ unsigned TRISE1 : 1;
+ unsigned TRISE2 : 1;
+ unsigned TRISE3 : 1;
+ unsigned TRISE4 : 1;
+ unsigned TRISE5 : 1;
+ unsigned TRISE6 : 1;
+ unsigned TRISE7 : 1;
+ };
+} __TRISEbits_t;
+extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+extern __sfr __at (0xF97) DDRF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+} __DDRFbits_t;
+extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+extern __sfr __at (0xF97) TRISF;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned TRISF1 : 1;
+ unsigned TRISF2 : 1;
+ unsigned TRISF3 : 1;
+ unsigned TRISF4 : 1;
+ unsigned TRISF5 : 1;
+ unsigned TRISF6 : 1;
+ unsigned TRISF7 : 1;
+ };
+} __TRISFbits_t;
+extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+extern __sfr __at (0xF98) DDRG;
+typedef union {
+ struct {
+ unsigned RG0 : 1;
+ unsigned RG1 : 1;
+ unsigned RG2 : 1;
+ unsigned RG3 : 1;
+ unsigned RG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRGbits_t;
+extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+extern __sfr __at (0xF98) TRISG;
+typedef union {
+ struct {
+ unsigned TRISG0 : 1;
+ unsigned TRISG1 : 1;
+ unsigned TRISG2 : 1;
+ unsigned TRISG3 : 1;
+ unsigned TRISG4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISGbits_t;
+extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+extern __sfr __at (0xF99) DDRH;
+typedef union {
+ struct {
+ unsigned RH0 : 1;
+ unsigned RH1 : 1;
+ unsigned RH2 : 1;
+ unsigned RH3 : 1;
+ unsigned RH4 : 1;
+ unsigned RH5 : 1;
+ unsigned RH6 : 1;
+ unsigned RH7 : 1;
+ };
+} __DDRHbits_t;
+extern volatile __DDRHbits_t __at (0xF99) DDRHbits;
+
+extern __sfr __at (0xF99) TRISH;
+typedef union {
+ struct {
+ unsigned TRISH0 : 1;
+ unsigned TRISH1 : 1;
+ unsigned TRISH2 : 1;
+ unsigned TRISH3 : 1;
+ unsigned TRISH4 : 1;
+ unsigned TRISH5 : 1;
+ unsigned TRISH6 : 1;
+ unsigned TRISH7 : 1;
+ };
+} __TRISHbits_t;
+extern volatile __TRISHbits_t __at (0xF99) TRISHbits;
+
+extern __sfr __at (0xF9A) DDRJ;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RJ4 : 1;
+ unsigned RJ5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRJbits_t;
+extern volatile __DDRJbits_t __at (0xF9A) DDRJbits;
+
+extern __sfr __at (0xF9A) TRISJ;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TRISJ4 : 1;
+ unsigned TRISJ5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISJbits_t;
+extern volatile __TRISJbits_t __at (0xF9A) TRISJbits;
+
+extern __sfr __at (0xF9B) OSCTUNE;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PPRE : 1;
+ unsigned PPST0 : 1;
+ unsigned PLLEN : 1;
+ unsigned PPST1 : 1;
+ };
+} __OSCTUNEbits_t;
+extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+extern __sfr __at (0xF9D) PIE1;
+typedef union {
+ struct {
+ unsigned TMR1IE : 1;
+ unsigned TMR2IE : 1;
+ unsigned CCP1IE : 1;
+ unsigned SSPIE : 1;
+ unsigned TXIE_PIE1 : 1;
+ unsigned RCIE : 1;
+ unsigned ADIE : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IE : 1;
+ unsigned TX1IE : 1;
+ unsigned RC1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE1bits_t;
+extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+extern __sfr __at (0xF9E) PIR1;
+typedef union {
+ struct {
+ unsigned TMR1IF : 1;
+ unsigned TMR2IF : 1;
+ unsigned CCP1IF : 1;
+ unsigned SSPIF : 1;
+ unsigned TXIF_PIR1 : 1;
+ unsigned RCIF : 1;
+ unsigned ADIF : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IF : 1;
+ unsigned TX1IF : 1;
+ unsigned RC1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR1bits_t;
+extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+extern __sfr __at (0xF9F) IPR1;
+typedef union {
+ struct {
+ unsigned TMR1IP : 1;
+ unsigned TMR2IP : 1;
+ unsigned CCP1IP : 1;
+ unsigned SSPIP : 1;
+ unsigned TXIP : 1;
+ unsigned RCIP : 1;
+ unsigned ADIP : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IP : 1;
+ unsigned TX1IP : 1;
+ unsigned RC1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR1bits_t;
+extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+extern __sfr __at (0xFA0) PIE2;
+typedef union {
+ struct {
+ unsigned CCP2IE : 1;
+ unsigned TMR3IE : 1;
+ unsigned : 1;
+ unsigned BCLIE : 1;
+ unsigned ETHWIE : 1;
+ unsigned ETHIE : 1;
+ unsigned CMIE : 1;
+ unsigned OSCFIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE2bits_t;
+extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+extern __sfr __at (0xFA1) PIR2;
+typedef union {
+ struct {
+ unsigned CCP2IF : 1;
+ unsigned TMR3IF : 1;
+ unsigned : 1;
+ unsigned BCLIF : 1;
+ unsigned ETHWIF : 1;
+ unsigned ETHIF : 1;
+ unsigned CMIF : 1;
+ unsigned OSCFIF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR2bits_t;
+extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+extern __sfr __at (0xFA2) IPR2;
+typedef union {
+ struct {
+ unsigned CCP2IP : 1;
+ unsigned TMR3IP : 1;
+ unsigned : 1;
+ unsigned BCLIP : 1;
+ unsigned ETHWIP : 1;
+ unsigned ETHIP : 1;
+ unsigned CMIP : 1;
+ unsigned OSCFIP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR2bits_t;
+extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+extern __sfr __at (0xFA3) PIE3;
+typedef union {
+ struct {
+ unsigned CCP3IE : 1;
+ unsigned CCP4IE : 1;
+ unsigned CCP5IE : 1;
+ unsigned TMR4IE : 1;
+ unsigned TX2IE : 1;
+ unsigned RC2IE : 1;
+ unsigned BCL2IE : 1;
+ unsigned : 1;
+ };
+} __PIE3bits_t;
+extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+extern __sfr __at (0xFA4) PIR3;
+typedef union {
+ struct {
+ unsigned CCP3IF : 1;
+ unsigned CCP4IF : 1;
+ unsigned CCP5IF : 1;
+ unsigned TMR4IF : 1;
+ unsigned TX2IF : 1;
+ unsigned RC2IF : 1;
+ unsigned BCL2IF : 1;
+ unsigned : 1;
+ };
+} __PIR3bits_t;
+extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+extern __sfr __at (0xFA5) IPR3;
+typedef union {
+ struct {
+ unsigned CCP3IP : 1;
+ unsigned CCP4IP : 1;
+ unsigned CCP5IP : 1;
+ unsigned TMR4IP : 1;
+ unsigned TX2IP : 1;
+ unsigned RC2IP : 1;
+ unsigned BCL2IP : 1;
+ unsigned : 1;
+ };
+} __IPR3bits_t;
+extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+extern __sfr __at (0xFA6) EECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned WR : 1;
+ unsigned WREN : 1;
+ unsigned WRERR : 1;
+ unsigned FREE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EECON1bits_t;
+extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+extern __sfr __at (0xFA7) EECON2;
+
+extern __sfr __at (0xFAB) RCSTA;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTAbits_t;
+extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+extern __sfr __at (0xFAB) RCSTA1;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTA1bits_t;
+extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+extern __sfr __at (0xFAC) TXSTA;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTAbits_t;
+extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+extern __sfr __at (0xFAC) TXSTA1;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTA1bits_t;
+extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+extern __sfr __at (0xFAD) TXREG;
+
+extern __sfr __at (0xFAD) TXREG1;
+
+extern __sfr __at (0xFAE) RCREG;
+
+extern __sfr __at (0xFAE) RCREG1;
+
+extern __sfr __at (0xFAF) SPBRG;
+
+extern __sfr __at (0xFAF) SPBRG1;
+
+extern __sfr __at (0xFB1) T3CON;
+typedef union {
+ struct {
+ unsigned TMR3ON : 1;
+ unsigned TMR3CS : 1;
+ unsigned T3SYNC : 1;
+ unsigned T3CCP1 : 1;
+ unsigned T3CKPS0 : 1;
+ unsigned T3CKPS1 : 1;
+ unsigned T3CCP2 : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T3INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T3SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T3CONbits_t;
+extern volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+extern __sfr __at (0xFB2) TMR3L;
+
+extern __sfr __at (0xFB3) TMR3H;
+
+extern __sfr __at (0xFB4) CMCON;
+typedef union {
+ struct {
+ unsigned CM0 : 1;
+ unsigned CM1 : 1;
+ unsigned CM2 : 1;
+ unsigned CIS : 1;
+ unsigned C1INV : 1;
+ unsigned C2INV : 1;
+ unsigned C1OUT : 1;
+ unsigned C2OUT : 1;
+ };
+} __CMCONbits_t;
+extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+extern __sfr __at (0xFB5) CVRCON;
+typedef union {
+ struct {
+ unsigned CVR0 : 1;
+ unsigned CVR1 : 1;
+ unsigned CVR2 : 1;
+ unsigned CVR3 : 1;
+ unsigned CVRSS : 1;
+ unsigned CVRR : 1;
+ unsigned CVROE : 1;
+ unsigned CVREN : 1;
+ };
+} __CVRCONbits_t;
+extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+extern __sfr __at (0xFB6) ECCP1AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS1BD0 : 1;
+ unsigned PSS1BD1 : 1;
+ unsigned PSS1AC0 : 1;
+ unsigned PSS1AC1 : 1;
+ unsigned ECCP1AS0 : 1;
+ unsigned ECCP1AS1 : 1;
+ unsigned ECCP1AS2 : 1;
+ unsigned ECCP1ASE : 1;
+ };
+} __ECCP1ASbits_t;
+extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+extern __sfr __at (0xFB7) CCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP3CONbits_t;
+extern volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+extern __sfr __at (0xFB7) ECCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP3CONbits_t;
+extern volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+extern __sfr __at (0xFB8) CCPR3;
+
+extern __sfr __at (0xFB8) CCPR3L;
+
+extern __sfr __at (0xFB9) CCPR3H;
+
+extern __sfr __at (0xFBA) CCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP2CONbits_t;
+extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+extern __sfr __at (0xFBA) ECCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP2CONbits_t;
+extern volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+extern __sfr __at (0xFBB) CCPR2;
+
+extern __sfr __at (0xFBB) CCPR2L;
+
+extern __sfr __at (0xFBC) CCPR2H;
+
+extern __sfr __at (0xFBD) CCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP1CONbits_t;
+extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+extern __sfr __at (0xFBD) ECCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP1CONbits_t;
+extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+extern __sfr __at (0xFBE) CCPR1;
+
+extern __sfr __at (0xFBE) CCPR1L;
+
+extern __sfr __at (0xFBF) CCPR1H;
+
+extern __sfr __at (0xFC0) ADCON2;
+typedef union {
+ struct {
+ unsigned ADCS0 : 1;
+ unsigned ADCS1 : 1;
+ unsigned ADCS2 : 1;
+ unsigned ACQT0 : 1;
+ unsigned ACQT1 : 1;
+ unsigned ACQT2 : 1;
+ unsigned : 1;
+ unsigned ADFM : 1;
+ };
+} __ADCON2bits_t;
+extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+extern __sfr __at (0xFC1) ADCON1;
+typedef union {
+ struct {
+ unsigned PCFG0 : 1;
+ unsigned PCFG1 : 1;
+ unsigned PCFG2 : 1;
+ unsigned PCFG3 : 1;
+ unsigned VCFG0 : 1;
+ unsigned VCFG1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON1bits_t;
+extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+extern __sfr __at (0xFC2) ADCON0;
+typedef union {
+ struct {
+ unsigned ADON : 1;
+ unsigned DONE : 1;
+ unsigned CHS0 : 1;
+ unsigned CHS1 : 1;
+ unsigned CHS2 : 1;
+ unsigned CHS3 : 1;
+ unsigned : 1;
+ unsigned ADCAL : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned NOT_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON0bits_t;
+extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+extern __sfr __at (0xFC3) ADRES;
+
+extern __sfr __at (0xFC3) ADRESL;
+
+extern __sfr __at (0xFC4) ADRESH;
+
+extern __sfr __at (0xFC5) SSP1CON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1CON2bits_t;
+extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+extern __sfr __at (0xFC5) SSPCON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPCON2bits_t;
+extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+extern __sfr __at (0xFC6) SSP1CON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSP1CON1bits_t;
+extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+extern __sfr __at (0xFC6) SSPCON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSPCON1bits_t;
+extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+extern __sfr __at (0xFC7) SSP1STAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1STATbits_t;
+extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+extern __sfr __at (0xFC7) SSPSTAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPSTATbits_t;
+extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+extern __sfr __at (0xFC8) SSP1ADD;
+
+extern __sfr __at (0xFC8) SSPADD;
+
+extern __sfr __at (0xFC9) SSP1BUF;
+
+extern __sfr __at (0xFC9) SSPBUF;
+
+extern __sfr __at (0xFCA) T2CON;
+typedef union {
+ struct {
+ unsigned T2CKPS0 : 1;
+ unsigned T2CKPS1 : 1;
+ unsigned TMR2ON : 1;
+ unsigned T2OUTPS0 : 1;
+ unsigned T2OUTPS1 : 1;
+ unsigned T2OUTPS2 : 1;
+ unsigned T2OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T2CONbits_t;
+extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+extern __sfr __at (0xFCB) PR2;
+
+extern __sfr __at (0xFCC) TMR2;
+
+extern __sfr __at (0xFCD) T1CON;
+typedef union {
+ struct {
+ unsigned TMR1ON : 1;
+ unsigned TMR1CS : 1;
+ unsigned T1SYNC : 1;
+ unsigned T1OSCEN : 1;
+ unsigned T1CKPS0 : 1;
+ unsigned T1CKPS1 : 1;
+ unsigned T1RUN : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T1INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T1SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T1CONbits_t;
+extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+extern __sfr __at (0xFCE) TMR1L;
+
+extern __sfr __at (0xFCF) TMR1H;
+
+extern __sfr __at (0xFD0) RCON;
+typedef union {
+ struct {
+ unsigned NOT_BOR : 1;
+ unsigned NOT_POR : 1;
+ unsigned NOT_PD : 1;
+ unsigned NOT_TO : 1;
+ unsigned NOT_RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IPEN : 1;
+ };
+ struct {
+ unsigned BOR : 1;
+ unsigned POR : 1;
+ unsigned PD : 1;
+ unsigned TO : 1;
+ unsigned RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __RCONbits_t;
+extern volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+extern __sfr __at (0xFD1) WDTCON;
+typedef union {
+ struct {
+ unsigned SWDTE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned SWDTEN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __WDTCONbits_t;
+extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+extern __sfr __at (0xFD2) ECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RXEN : 1;
+ unsigned TXRTS : 1;
+ unsigned CSUMEN : 1;
+ unsigned DMAST : 1;
+ unsigned RXRST : 1;
+ unsigned TXRST : 1;
+ };
+} __ECON1bits_t;
+extern volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+extern __sfr __at (0xFD3) OSCCON;
+typedef union {
+ struct {
+ unsigned SCS0 : 1;
+ unsigned SCS1 : 1;
+ unsigned : 1;
+ unsigned OSTS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IDLEN : 1;
+ };
+} __OSCCONbits_t;
+extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+extern __sfr __at (0xFD5) T0CON;
+typedef union {
+ struct {
+ unsigned T0PS0 : 1;
+ unsigned T0PS1 : 1;
+ unsigned T0PS2 : 1;
+ unsigned PSA : 1;
+ unsigned T0SE : 1;
+ unsigned T0CS : 1;
+ unsigned T08BIT : 1;
+ unsigned TMR0ON : 1;
+ };
+} __T0CONbits_t;
+extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+extern __sfr __at (0xFD6) TMR0L;
+
+extern __sfr __at (0xFD7) TMR0H;
+
+extern __sfr __at (0xFD8) STATUS;
+typedef union {
+ struct {
+ unsigned C : 1;
+ unsigned DC : 1;
+ unsigned Z : 1;
+ unsigned OV : 1;
+ unsigned N : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __STATUSbits_t;
+extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+extern __sfr __at (0xFD9) FSR2L;
+
+extern __sfr __at (0xFDA) FSR2H;
+
+extern __sfr __at (0xFDB) PLUSW2;
+
+extern __sfr __at (0xFDC) PREINC2;
+
+extern __sfr __at (0xFDD) POSTDEC2;
+
+extern __sfr __at (0xFDE) POSTINC2;
+
+extern __sfr __at (0xFDF) INDF2;
+
+extern __sfr __at (0xFE0) BSR;
+
+extern __sfr __at (0xFE1) FSR1L;
+
+extern __sfr __at (0xFE2) FSR1H;
+
+extern __sfr __at (0xFE3) PLUSW1;
+
+extern __sfr __at (0xFE4) PREINC1;
+
+extern __sfr __at (0xFE5) POSTDEC1;
+
+extern __sfr __at (0xFE6) POSTINC1;
+
+extern __sfr __at (0xFE7) INDF1;
+
+extern __sfr __at (0xFE8) WREG;
+
+extern __sfr __at (0xFE9) FSR0L;
+
+extern __sfr __at (0xFEA) FSR0H;
+
+extern __sfr __at (0xFEB) PLUSW0;
+
+extern __sfr __at (0xFEC) PREINC0;
+
+extern __sfr __at (0xFED) POSTDEC0;
+
+extern __sfr __at (0xFEE) POSTINC0;
+
+extern __sfr __at (0xFEF) INDF0;
+
+extern __sfr __at (0xFF0) INTCON3;
+typedef union {
+ struct {
+ unsigned INT1F : 1;
+ unsigned INT2F : 1;
+ unsigned INT3F : 1;
+ unsigned INT1E : 1;
+ unsigned INT2E : 1;
+ unsigned INT3E : 1;
+ unsigned INT1P : 1;
+ unsigned INT2P : 1;
+ };
+ struct {
+ unsigned INT1IF : 1;
+ unsigned INT2IF : 1;
+ unsigned INT3IF : 1;
+ unsigned INT1IE : 1;
+ unsigned INT2IE : 1;
+ unsigned INT3IE : 1;
+ unsigned INT1IP : 1;
+ unsigned INT2IP : 1;
+ };
+} __INTCON3bits_t;
+extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+extern __sfr __at (0xFF1) INTCON2;
+typedef union {
+ struct {
+ unsigned RBIP : 1;
+ unsigned INT3IP : 1;
+ unsigned T0IP : 1;
+ unsigned INTEDG3 : 1;
+ unsigned INTEDG2 : 1;
+ unsigned INTEDG1 : 1;
+ unsigned INTEDG0 : 1;
+ unsigned NOT_RBPU : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMR0IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RBPU : 1;
+ };
+} __INTCON2bits_t;
+extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+extern __sfr __at (0xFF2) INTCON;
+typedef union {
+ struct {
+ unsigned RBIF : 1;
+ unsigned INT0F : 1;
+ unsigned T0IF : 1;
+ unsigned RBIE : 1;
+ unsigned INT0E : 1;
+ unsigned T0IE : 1;
+ unsigned PEIE : 1;
+ unsigned GIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned INT0IF : 1;
+ unsigned TMR0IF : 1;
+ unsigned : 1;
+ unsigned INT0IE : 1;
+ unsigned TMR0IE : 1;
+ unsigned GIEL : 1;
+ unsigned GIEH : 1;
+ };
+} __INTCONbits_t;
+extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+extern __sfr __at (0xFF3) PROD;
+
+extern __sfr __at (0xFF3) PRODL;
+
+extern __sfr __at (0xFF4) PRODH;
+
+extern __sfr __at (0xFF5) TABLAT;
+
+extern __sfr __at (0xFF6) TBLPTR;
+
+extern __sfr __at (0xFF6) TBLPTRL;
+
+extern __sfr __at (0xFF7) TBLPTRH;
+
+extern __sfr __at (0xFF8) TBLPTRU;
+
+extern __sfr __at (0xFF9) PC;
+
+extern __sfr __at (0xFF9) PCL;
+
+extern __sfr __at (0xFFA) PCLATH;
+
+extern __sfr __at (0xFFB) PCLATU;
+
+extern __sfr __at (0xFFC) STKPTR;
+typedef union {
+ struct {
+ unsigned STKPTR0 : 1;
+ unsigned STKPTR1 : 1;
+ unsigned STKPTR2 : 1;
+ unsigned STKPTR3 : 1;
+ unsigned STKPTR4 : 1;
+ unsigned : 1;
+ unsigned STKUNF : 1;
+ unsigned STKOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned STKFUL : 1;
+ };
+} __STKPTRbits_t;
+extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+extern __sfr __at (0xFFD) TOS;
+
+extern __sfr __at (0xFFD) TOSL;
+
+extern __sfr __at (0xFFE) TOSH;
+
+extern __sfr __at (0xFFF) TOSU;
+
+
+#endif
+
--- /dev/null
+/*
+ * pic18f86j65.h - PIC18F86J65 Device Library Header
+ */
+
+#include "pic18f86j60.h"
+
--- /dev/null
+/*
+ * pic18f87j60.h - PIC18F87J60 Device Library Header
+ */
+
+#include "pic18f86j60.h"
+
--- /dev/null
+/*
+ * pic18f96j60.h - device specific declarations
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#ifndef __PIC18F96J60_H__
+#define __PIC18F96J60_H__ 1
+
+#define _DEVID1 0x3FFFFE
+#define _DEVID2 0x3FFFFF
+
+extern __sfr __at (0xE80) MAADR5;
+
+extern __sfr __at (0xE81) MAADR6;
+
+extern __sfr __at (0xE82) MAADR3;
+
+extern __sfr __at (0xE83) MAADR4;
+
+extern __sfr __at (0xE84) MAADR1;
+
+extern __sfr __at (0xE85) MAADR2;
+
+extern __sfr __at (0xE86) EBSTSD;
+
+extern __sfr __at (0xE87) EBSTCON;
+typedef union {
+ struct {
+ unsigned BISTST : 1;
+ unsigned TME : 1;
+ unsigned TMSEL0 : 1;
+ unsigned TMSEL1 : 1;
+ unsigned : 1;
+ unsigned PSV0 : 1;
+ unsigned PSV1 : 1;
+ unsigned PSV2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMSEL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PSV : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EBSTCONbits_t;
+extern volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+extern __sfr __at (0xE88) EBSTCS;
+
+extern __sfr __at (0xE88) EBSTCSL;
+
+extern __sfr __at (0xE89) EBSTCSH;
+
+extern __sfr __at (0xE8A) MISTAT;
+typedef union {
+ struct {
+ unsigned BUSY : 1;
+ unsigned SCAN : 1;
+ unsigned NVALID : 1;
+ unsigned LINKFL : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MISTATbits_t;
+extern volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+extern __sfr __at (0xE97) EFLOCON;
+typedef union {
+ struct {
+ unsigned FCEN0 : 1;
+ unsigned FCEN1 : 1;
+ unsigned FULDPXS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EFLOCONbits_t;
+extern volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+extern __sfr __at (0xE98) EPAUS;
+
+extern __sfr __at (0xE98) EPAUSL;
+
+extern __sfr __at (0xE99) EPAUSH;
+
+extern __sfr __at (0xEA0) MACON1;
+typedef union {
+ struct {
+ unsigned MARXEN : 1;
+ unsigned PASSALL : 1;
+ unsigned RXPAUS : 1;
+ unsigned TXPAUS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON1bits_t;
+extern volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+extern __sfr __at (0xEA1) MACON2;
+typedef union {
+ struct {
+ unsigned TFUNRST : 1;
+ unsigned MATXRST : 1;
+ unsigned RFUNRST : 1;
+ unsigned MARXRST : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RNDRST : 1;
+ unsigned MARST : 1;
+ };
+} __MACON2bits_t;
+extern volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+extern __sfr __at (0xEA2) MACON3;
+typedef union {
+ struct {
+ unsigned FULDPX : 1;
+ unsigned FRMLNEN : 1;
+ unsigned HFRMEN : 1;
+ unsigned PHDRLEN : 1;
+ unsigned TXCRCEN : 1;
+ unsigned PADCFG0 : 1;
+ unsigned PADCFG1 : 1;
+ unsigned PADCFG2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PADCFG : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACON3bits_t;
+extern volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+extern __sfr __at (0xEA3) MACON4;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOBKOFF : 1;
+ unsigned BPEN : 1;
+ unsigned DEFER : 1;
+ unsigned : 1;
+ };
+} __MACON4bits_t;
+extern volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+extern __sfr __at (0xEA4) MABBIPG;
+
+extern __sfr __at (0xEA6) MAIPG;
+
+extern __sfr __at (0xEA6) MAIPGL;
+
+extern __sfr __at (0xEA7) MAIPGH;
+
+extern __sfr __at (0xEA8) MACLCON1;
+typedef union {
+ struct {
+ unsigned RETMAX : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON1bits_t;
+extern volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+extern __sfr __at (0xEA9) MACLCON2;
+typedef union {
+ struct {
+ unsigned COLWIN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MACLCON2bits_t;
+extern volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+extern __sfr __at (0xEAA) MAMXFL;
+
+extern __sfr __at (0xEAA) MAMXFLL;
+
+extern __sfr __at (0xEAB) MAMXFLH;
+
+extern __sfr __at (0xEB1) MICON;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RSTMII : 1;
+ };
+} __MICONbits_t;
+extern volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+extern __sfr __at (0xEB2) MICMD;
+typedef union {
+ struct {
+ unsigned MIIRD : 1;
+ unsigned MIISCAN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __MICMDbits_t;
+extern volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+extern __sfr __at (0xEB4) MIREGADR;
+
+extern __sfr __at (0xEB6) MIWR;
+
+extern __sfr __at (0xEB6) MIWRL;
+
+extern __sfr __at (0xEB7) MIWRH;
+
+extern __sfr __at (0xEB8) MIRD;
+
+extern __sfr __at (0xEB8) MIRDL;
+
+extern __sfr __at (0xEB9) MIRDH;
+
+extern __sfr __at (0xEC0) EHT0;
+
+extern __sfr __at (0xEC1) EHT1;
+
+extern __sfr __at (0xEC2) EHT2;
+
+extern __sfr __at (0xEC3) EHT3;
+
+extern __sfr __at (0xEC4) EHT4;
+
+extern __sfr __at (0xEC5) EHT5;
+
+extern __sfr __at (0xEC6) EHT6;
+
+extern __sfr __at (0xEC7) EHT7;
+
+extern __sfr __at (0xEC8) EPMM0;
+
+extern __sfr __at (0xEC9) EPMM1;
+
+extern __sfr __at (0xECA) EPMM2;
+
+extern __sfr __at (0xECB) EPMM3;
+
+extern __sfr __at (0xECC) EPMM4;
+
+extern __sfr __at (0xECD) EPMM5;
+
+extern __sfr __at (0xECE) EPMM6;
+
+extern __sfr __at (0xECF) EPMM7;
+
+extern __sfr __at (0xED0) EPMCS;
+
+extern __sfr __at (0xED0) EPMCSL;
+
+extern __sfr __at (0xED1) EPMCSH;
+
+extern __sfr __at (0xED4) EPMO;
+
+extern __sfr __at (0xED4) EPMOL;
+
+extern __sfr __at (0xED5) EPMOH;
+
+extern __sfr __at (0xED6) EWOLIE;
+typedef union {
+ struct {
+ unsigned BCWOLIE : 1;
+ unsigned MCWOLIE : 1;
+ unsigned HTWOLIE : 1;
+ unsigned MPWOLIE : 1;
+ unsigned PMWOLIE : 1;
+ unsigned : 1;
+ unsigned AWOLIE : 1;
+ unsigned UCWOLIE : 1;
+ };
+} __EWOLIEbits_t;
+extern volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+extern __sfr __at (0xED7) EWOLIR;
+typedef union {
+ struct {
+ unsigned BCWOLIF : 1;
+ unsigned MCWOLIF : 1;
+ unsigned HTWOLIF : 1;
+ unsigned MPWOLIF : 1;
+ unsigned PMWOLIF : 1;
+ unsigned : 1;
+ unsigned AWOLIF : 1;
+ unsigned UCWOLIF : 1;
+ };
+} __EWOLIRbits_t;
+extern volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+extern __sfr __at (0xED8) ERXFCON;
+typedef union {
+ struct {
+ unsigned BCEN : 1;
+ unsigned MCEN : 1;
+ unsigned HTEN : 1;
+ unsigned MPEN : 1;
+ unsigned PMEN : 1;
+ unsigned CRCEN : 1;
+ unsigned ANDOR : 1;
+ unsigned UCEN : 1;
+ };
+} __ERXFCONbits_t;
+extern volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+extern __sfr __at (0xED9) EPKTCNT;
+
+extern __sfr __at (0xEE2) EWRPT;
+
+extern __sfr __at (0xEE2) EWRPTL;
+
+extern __sfr __at (0xEE3) EWRPTH;
+
+extern __sfr __at (0xEE4) ETXST;
+
+extern __sfr __at (0xEE4) ETXSTL;
+
+extern __sfr __at (0xEE5) ETXSTH;
+
+extern __sfr __at (0xEE6) ETXND;
+
+extern __sfr __at (0xEE6) ETXNDL;
+
+extern __sfr __at (0xEE7) ETXNDH;
+
+extern __sfr __at (0xEE8) ERXST;
+
+extern __sfr __at (0xEE8) ERXSTL;
+
+extern __sfr __at (0xEE9) ERXSTH;
+
+extern __sfr __at (0xEEA) ERXND;
+
+extern __sfr __at (0xEEA) ERXNDL;
+
+extern __sfr __at (0xEEB) ERXNDH;
+
+extern __sfr __at (0xEEC) ERXRDPT;
+
+extern __sfr __at (0xEEC) ERXRDPTL;
+
+extern __sfr __at (0xEED) ERXRDPTH;
+
+extern __sfr __at (0xEEE) ERXWRPT;
+
+extern __sfr __at (0xEEE) ERXWRPTL;
+
+extern __sfr __at (0xEEF) ERXWRPTH;
+
+extern __sfr __at (0xEF0) EDMAST;
+
+extern __sfr __at (0xEF0) EDMASTL;
+
+extern __sfr __at (0xEF1) EDMASTH;
+
+extern __sfr __at (0xEF2) EDMAND;
+
+extern __sfr __at (0xEF2) EDMANDL;
+
+extern __sfr __at (0xEF3) EDMANDH;
+
+extern __sfr __at (0xEF4) EDMADST;
+
+extern __sfr __at (0xEF4) EDMADSTL;
+
+extern __sfr __at (0xEF5) EDMADSTH;
+
+extern __sfr __at (0xEF6) EDMACS;
+
+extern __sfr __at (0xEF6) EDMACSL;
+
+extern __sfr __at (0xEF7) EDMACSH;
+
+extern __sfr __at (0xEFB) EIE;
+typedef union {
+ struct {
+ unsigned RXERIE : 1;
+ unsigned TXERIE : 1;
+ unsigned : 1;
+ unsigned TXIE_EIE : 1;
+ unsigned LINKIE : 1;
+ unsigned DMAIE : 1;
+ unsigned PKTIE : 1;
+ unsigned : 1;
+ };
+} __EIEbits_t;
+extern volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+extern __sfr __at (0xEFD) ESTAT;
+typedef union {
+ struct {
+ unsigned PHYRDY : 1;
+ unsigned TXABRT : 1;
+ unsigned RXBUSY : 1;
+ unsigned : 1;
+ unsigned LATECOL : 1;
+ unsigned : 1;
+ unsigned BUFER : 1;
+ unsigned : 1;
+ };
+} __ESTATbits_t;
+extern volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+extern __sfr __at (0xEFE) ECON2;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned ETHEN : 1;
+ unsigned PKTDEC : 1;
+ unsigned AUTOINC : 1;
+ };
+} __ECON2bits_t;
+extern volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+extern __sfr __at (0xF60) EIR;
+typedef union {
+ struct {
+ unsigned RXERIF : 1;
+ unsigned TXERIF : 1;
+ unsigned : 1;
+ unsigned TXIF_EIR : 1;
+ unsigned LINKIF : 1;
+ unsigned DMAIF : 1;
+ unsigned PKTIF : 1;
+ unsigned : 1;
+ };
+} __EIRbits_t;
+extern volatile __EIRbits_t __at (0xF60) EIRbits;
+
+extern __sfr __at (0xF61) EDATA;
+typedef union {
+ struct {
+ unsigned EDATA0 : 1;
+ unsigned EDATA1 : 1;
+ unsigned EDATA2 : 1;
+ unsigned EDATA3 : 1;
+ unsigned EDATA4 : 1;
+ unsigned EDATA5 : 1;
+ unsigned EDATA6 : 1;
+ unsigned EDATA7 : 1;
+ };
+} __EDATAbits_t;
+extern volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+extern __sfr __at (0xF62) SSP2CON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP2CON2bits_t;
+extern volatile __SSP2CON2bits_t __at (0xF62) SSP2CON2bits;
+
+extern __sfr __at (0xF63) SSP2CON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSP2CON1bits_t;
+extern volatile __SSP2CON1bits_t __at (0xF63) SSP2CON1bits;
+
+extern __sfr __at (0xF64) SSP2STAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP2STATbits_t;
+extern volatile __SSP2STATbits_t __at (0xF64) SSP2STATbits;
+
+extern __sfr __at (0xF65) SSP2ADD;
+
+extern __sfr __at (0xF66) SSP2BUF;
+
+extern __sfr __at (0xF67) ECCP2DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P2DC0 : 1;
+ unsigned P2DC1 : 1;
+ unsigned P2DC2 : 1;
+ unsigned P2DC3 : 1;
+ unsigned P2DC4 : 1;
+ unsigned P2DC5 : 1;
+ unsigned P2DC6 : 1;
+ unsigned P2RSEN : 1;
+ };
+} __ECCP2DELbits_t;
+extern volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+extern __sfr __at (0xF68) ECCP2AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS2BD0 : 1;
+ unsigned PSS2BD1 : 1;
+ unsigned PSS2AC0 : 1;
+ unsigned PSS2AC1 : 1;
+ unsigned ECCP2AS0 : 1;
+ unsigned ECCP2AS1 : 1;
+ unsigned ECCP2AS2 : 1;
+ unsigned ECCP2ASE : 1;
+ };
+} __ECCP2ASbits_t;
+extern volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+extern __sfr __at (0xF69) ECCP3DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P3DC0 : 1;
+ unsigned P3DC1 : 1;
+ unsigned P3DC2 : 1;
+ unsigned P3DC3 : 1;
+ unsigned P3DC4 : 1;
+ unsigned P3DC5 : 1;
+ unsigned P3DC6 : 1;
+ unsigned P3RSEN : 1;
+ };
+} __ECCP3DELbits_t;
+extern volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+extern __sfr __at (0xF6A) ECCP3AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS3BD0 : 1;
+ unsigned PSS3BD1 : 1;
+ unsigned PSS3AC0 : 1;
+ unsigned PSS3AC1 : 1;
+ unsigned ECCP3AS0 : 1;
+ unsigned ECCP3AS1 : 1;
+ unsigned ECCP3AS2 : 1;
+ unsigned ECCP3ASE : 1;
+ };
+} __ECCP3ASbits_t;
+extern volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+extern __sfr __at (0xF6B) RCSTA2;
+typedef union {
+ struct {
+ unsigned RCD8 : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RC9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RX9D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RX9 : 1;
+ unsigned : 1;
+ };
+} __RCSTA2bits_t;
+extern volatile __RCSTA2bits_t __at (0xF6B) RCSTA2bits;
+
+extern __sfr __at (0xF6C) TXSTA2;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTA2bits_t;
+extern volatile __TXSTA2bits_t __at (0xF6C) TXSTA2bits;
+
+extern __sfr __at (0xF6D) TXREG2;
+
+extern __sfr __at (0xF6E) RCREG2;
+
+extern __sfr __at (0xF6F) SPBRG2;
+
+extern __sfr __at (0xF70) CCP5CON;
+typedef union {
+ struct {
+ unsigned CCP5M0 : 1;
+ unsigned CCP5M1 : 1;
+ unsigned CCP5M2 : 1;
+ unsigned CCP5M3 : 1;
+ unsigned CCP5Y : 1;
+ unsigned CCP5X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC5B0 : 1;
+ unsigned DC5B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP5CONbits_t;
+extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+extern __sfr __at (0xF71) CCPR5;
+
+extern __sfr __at (0xF71) CCPR5L;
+
+extern __sfr __at (0xF72) CCPR5H;
+
+extern __sfr __at (0xF73) CCP4CON;
+typedef union {
+ struct {
+ unsigned CCP4M0 : 1;
+ unsigned CCP4M1 : 1;
+ unsigned CCP4M2 : 1;
+ unsigned CCP4M3 : 1;
+ unsigned CCP4Y : 1;
+ unsigned CCP4X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DC4B0 : 1;
+ unsigned DC4B1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP4CONbits_t;
+extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+extern __sfr __at (0xF74) CCPR4;
+
+extern __sfr __at (0xF74) CCPR4L;
+
+extern __sfr __at (0xF75) CCPR4H;
+
+extern __sfr __at (0xF76) T4CON;
+typedef union {
+ struct {
+ unsigned T4CKPS0 : 1;
+ unsigned T4CKPS1 : 1;
+ unsigned TMR4ON : 1;
+ unsigned T4OUTPS0 : 1;
+ unsigned T4OUTPS1 : 1;
+ unsigned T4OUTPS2 : 1;
+ unsigned T4OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T4CONbits_t;
+extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+extern __sfr __at (0xF77) PR4;
+
+extern __sfr __at (0xF78) TMR4;
+
+extern __sfr __at (0xF79) ECCP1DEL;
+typedef union {
+ struct {
+ unsigned PDC0 : 1;
+ unsigned PDC1 : 1;
+ unsigned PDC2 : 1;
+ unsigned PDC3 : 1;
+ unsigned PDC4 : 1;
+ unsigned PDC5 : 1;
+ unsigned PDC6 : 1;
+ unsigned PRSEN : 1;
+ };
+ struct {
+ unsigned P1DC0 : 1;
+ unsigned P1DC1 : 1;
+ unsigned P1DC2 : 1;
+ unsigned P1DC3 : 1;
+ unsigned P1DC4 : 1;
+ unsigned P1DC5 : 1;
+ unsigned P1DC6 : 1;
+ unsigned P1RSEN : 1;
+ };
+} __ECCP1DELbits_t;
+extern volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+extern __sfr __at (0xF7A) ERDPT;
+
+extern __sfr __at (0xF7A) ERDPTL;
+
+extern __sfr __at (0xF7B) ERDPTH;
+
+extern __sfr __at (0xF7C) BAUDCON2;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCON2bits_t;
+extern volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
+
+extern __sfr __at (0xF7C) BAUDCTL2;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTL2bits_t;
+extern volatile __BAUDCTL2bits_t __at (0xF7C) BAUDCTL2bits;
+
+extern __sfr __at (0xF7D) SPBRGH2;
+
+extern __sfr __at (0xF7E) BAUDCON;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCONbits_t;
+extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+extern __sfr __at (0xF7E) BAUDCON1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCON1bits_t;
+extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+extern __sfr __at (0xF7E) BAUDCTL;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTLbits_t;
+extern volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+extern __sfr __at (0xF7E) BAUDCTL1;
+typedef union {
+ struct {
+ unsigned ABDEN : 1;
+ unsigned WUE : 1;
+ unsigned : 1;
+ unsigned BRG16 : 1;
+ unsigned SCKP : 1;
+ unsigned RXDTP : 1;
+ unsigned RCMT : 1;
+ unsigned ABDOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TXCKP : 1;
+ unsigned : 1;
+ unsigned RCIDL : 1;
+ unsigned : 1;
+ };
+} __BAUDCTL1bits_t;
+extern volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+extern __sfr __at (0xF7F) SPBRGH;
+
+extern __sfr __at (0xF7F) SPBRGH1;
+
+extern __sfr __at (0xF80) PORTA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned RJPU : 1;
+ };
+ struct {
+ unsigned AN0 : 1;
+ unsigned AN1 : 1;
+ unsigned AN2 : 1;
+ unsigned AN3 : 1;
+ unsigned T0CKI : 1;
+ unsigned AN4 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned LEDA : 1;
+ unsigned LEDB : 1;
+ unsigned VREFM : 1;
+ unsigned VREFP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTAbits_t;
+extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+extern __sfr __at (0xF81) PORTB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+ struct {
+ unsigned INT0 : 1;
+ unsigned INT1 : 1;
+ unsigned INT2 : 1;
+ unsigned INT3 : 1;
+ unsigned KBI0 : 1;
+ unsigned KBI1 : 1;
+ unsigned KBI2 : 1;
+ unsigned KBI3 : 1;
+ };
+ struct {
+ unsigned FLT0 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PGC : 1;
+ unsigned PGD : 1;
+ };
+} __PORTBbits_t;
+extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+extern __sfr __at (0xF82) PORTC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+ struct {
+ unsigned T1OSO : 1;
+ unsigned T1OSI : 1;
+ unsigned CCP1 : 1;
+ unsigned SCK : 1;
+ unsigned SDI : 1;
+ unsigned SDO : 1;
+ unsigned TX : 1;
+ unsigned RX : 1;
+ };
+ struct {
+ unsigned T13CKI : 1;
+ unsigned CCP2 : 1;
+ unsigned : 1;
+ unsigned SCL : 1;
+ unsigned SDA : 1;
+ unsigned SDO1 : 1;
+ unsigned CK : 1;
+ unsigned DT : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCK1 : 1;
+ unsigned SDI1 : 1;
+ unsigned : 1;
+ unsigned TX1 : 1;
+ unsigned RX1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SCL1 : 1;
+ unsigned SDA1 : 1;
+ unsigned : 1;
+ unsigned CK1 : 1;
+ unsigned DT1 : 1;
+ };
+} __PORTCbits_t;
+extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+extern __sfr __at (0xF83) PORTD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned RD3 : 1;
+ unsigned RD4 : 1;
+ unsigned RD5 : 1;
+ unsigned RD6 : 1;
+ unsigned RD7 : 1;
+ };
+ struct {
+ unsigned PSP0 : 1;
+ unsigned PSP1 : 1;
+ unsigned PSP2 : 1;
+ unsigned PSP3 : 1;
+ unsigned PSP4 : 1;
+ unsigned PSP5 : 1;
+ unsigned PSP6 : 1;
+ unsigned PSP7 : 1;
+ };
+ struct {
+ unsigned AD0 : 1;
+ unsigned AD1 : 1;
+ unsigned AD2 : 1;
+ unsigned AD3 : 1;
+ unsigned AD4 : 1;
+ unsigned AD5 : 1;
+ unsigned AD6 : 1;
+ unsigned AD7 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SDO2 : 1;
+ unsigned SDA2 : 1;
+ unsigned SCL2 : 1;
+ unsigned SS2 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SDI2 : 1;
+ unsigned SCK2 : 1;
+ unsigned NOT_SS2 : 1;
+ };
+} __PORTDbits_t;
+extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+extern __sfr __at (0xF84) PORTE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned RE6 : 1;
+ unsigned RE7 : 1;
+ };
+ struct {
+ unsigned RD : 1;
+ unsigned WR : 1;
+ unsigned CS : 1;
+ unsigned AD11 : 1;
+ unsigned AD12 : 1;
+ unsigned AD13 : 1;
+ unsigned AD14 : 1;
+ unsigned AD15 : 1;
+ };
+ struct {
+ unsigned NOT_RD : 1;
+ unsigned NOT_WR : 1;
+ unsigned NOT_CS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned AD8 : 1;
+ unsigned AD9 : 1;
+ unsigned AD10 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTEbits_t;
+extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+extern __sfr __at (0xF85) PORTF;
+typedef union {
+ struct {
+ unsigned RF0 : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+ struct {
+ unsigned AN5 : 1;
+ unsigned AN6 : 1;
+ unsigned AN7 : 1;
+ unsigned AN8 : 1;
+ unsigned AN9 : 1;
+ unsigned AN10 : 1;
+ unsigned AN11 : 1;
+ unsigned SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CVREF : 1;
+ unsigned : 1;
+ unsigned NOT_SS : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SS1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_SS1 : 1;
+ };
+} __PORTFbits_t;
+extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+extern __sfr __at (0xF86) PORTG;
+typedef union {
+ struct {
+ unsigned RG0 : 1;
+ unsigned RG1 : 1;
+ unsigned RG2 : 1;
+ unsigned RG3 : 1;
+ unsigned RG4 : 1;
+ unsigned RG5 : 1;
+ unsigned RG6 : 1;
+ unsigned RG7 : 1;
+ };
+ struct {
+ unsigned CCP3 : 1;
+ unsigned TX2 : 1;
+ unsigned RX2 : 1;
+ unsigned CCP4 : 1;
+ unsigned CCP5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned CK2 : 1;
+ unsigned DT2 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PORTGbits_t;
+extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+extern __sfr __at (0xF87) PORTH;
+typedef union {
+ struct {
+ unsigned RH0 : 1;
+ unsigned RH1 : 1;
+ unsigned RH2 : 1;
+ unsigned RH3 : 1;
+ unsigned RH4 : 1;
+ unsigned RH5 : 1;
+ unsigned RH6 : 1;
+ unsigned RH7 : 1;
+ };
+ struct {
+ unsigned AD16 : 1;
+ unsigned AD17 : 1;
+ unsigned AD18 : 1;
+ unsigned AD19 : 1;
+ unsigned AN12 : 1;
+ unsigned AN13 : 1;
+ unsigned AN14 : 1;
+ unsigned AN15 : 1;
+ };
+} __PORTHbits_t;
+extern volatile __PORTHbits_t __at (0xF87) PORTHbits;
+
+extern __sfr __at (0xF88) PORTJ;
+typedef union {
+ struct {
+ unsigned RJ0 : 1;
+ unsigned RJ1 : 1;
+ unsigned RJ2 : 1;
+ unsigned RJ3 : 1;
+ unsigned RJ4 : 1;
+ unsigned RJ5 : 1;
+ unsigned RJ6 : 1;
+ unsigned RJ7 : 1;
+ };
+ struct {
+ unsigned ALE : 1;
+ unsigned OE : 1;
+ unsigned WRL : 1;
+ unsigned WRH : 1;
+ unsigned BA0 : 1;
+ unsigned CE : 1;
+ unsigned LB : 1;
+ unsigned UB : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned NOT_OE : 1;
+ unsigned NOT_WRL : 1;
+ unsigned NOT_WRH : 1;
+ unsigned : 1;
+ unsigned NOT_CE : 1;
+ unsigned NOT_LB : 1;
+ unsigned NOT_UB : 1;
+ };
+} __PORTJbits_t;
+extern volatile __PORTJbits_t __at (0xF88) PORTJbits;
+
+extern __sfr __at (0xF89) LATA;
+typedef union {
+ struct {
+ unsigned LATA0 : 1;
+ unsigned LATA1 : 1;
+ unsigned LATA2 : 1;
+ unsigned LATA3 : 1;
+ unsigned LATA4 : 1;
+ unsigned LATA5 : 1;
+ unsigned REPU : 1;
+ unsigned RDPU : 1;
+ };
+} __LATAbits_t;
+extern volatile __LATAbits_t __at (0xF89) LATAbits;
+
+extern __sfr __at (0xF8A) LATB;
+typedef union {
+ struct {
+ unsigned LATB0 : 1;
+ unsigned LATB1 : 1;
+ unsigned LATB2 : 1;
+ unsigned LATB3 : 1;
+ unsigned LATB4 : 1;
+ unsigned LATB5 : 1;
+ unsigned LATB6 : 1;
+ unsigned LATB7 : 1;
+ };
+} __LATBbits_t;
+extern volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+extern __sfr __at (0xF8B) LATC;
+typedef union {
+ struct {
+ unsigned LATC0 : 1;
+ unsigned LATC1 : 1;
+ unsigned LATC2 : 1;
+ unsigned LATC3 : 1;
+ unsigned LATC4 : 1;
+ unsigned LATC5 : 1;
+ unsigned LATC6 : 1;
+ unsigned LATC7 : 1;
+ };
+} __LATCbits_t;
+extern volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+extern __sfr __at (0xF8C) LATD;
+typedef union {
+ struct {
+ unsigned LATD0 : 1;
+ unsigned LATD1 : 1;
+ unsigned LATD2 : 1;
+ unsigned LATD3 : 1;
+ unsigned LATD4 : 1;
+ unsigned LATD5 : 1;
+ unsigned LATD6 : 1;
+ unsigned LATD7 : 1;
+ };
+} __LATDbits_t;
+extern volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+extern __sfr __at (0xF8D) LATE;
+typedef union {
+ struct {
+ unsigned LATE0 : 1;
+ unsigned LATE1 : 1;
+ unsigned LATE2 : 1;
+ unsigned LATE3 : 1;
+ unsigned LATE4 : 1;
+ unsigned LATE5 : 1;
+ unsigned LATE6 : 1;
+ unsigned LATE7 : 1;
+ };
+} __LATEbits_t;
+extern volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+extern __sfr __at (0xF8E) LATF;
+typedef union {
+ struct {
+ unsigned LATF0 : 1;
+ unsigned LATF1 : 1;
+ unsigned LATF2 : 1;
+ unsigned LATF3 : 1;
+ unsigned LATF4 : 1;
+ unsigned LATF5 : 1;
+ unsigned LATF6 : 1;
+ unsigned LATF7 : 1;
+ };
+} __LATFbits_t;
+extern volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+extern __sfr __at (0xF8F) LATG;
+typedef union {
+ struct {
+ unsigned LATG0 : 1;
+ unsigned LATG1 : 1;
+ unsigned LATG2 : 1;
+ unsigned LATG3 : 1;
+ unsigned LATG4 : 1;
+ unsigned LATG5 : 1;
+ unsigned LATG6 : 1;
+ unsigned LATG7 : 1;
+ };
+} __LATGbits_t;
+extern volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+extern __sfr __at (0xF90) LATH;
+typedef union {
+ struct {
+ unsigned LATH0 : 1;
+ unsigned LATH1 : 1;
+ unsigned LATH2 : 1;
+ unsigned LATH3 : 1;
+ unsigned LATH4 : 1;
+ unsigned LATH5 : 1;
+ unsigned LATH6 : 1;
+ unsigned LATH7 : 1;
+ };
+} __LATHbits_t;
+extern volatile __LATHbits_t __at (0xF90) LATHbits;
+
+extern __sfr __at (0xF91) LATJ;
+typedef union {
+ struct {
+ unsigned LATJ0 : 1;
+ unsigned LATJ1 : 1;
+ unsigned LATJ2 : 1;
+ unsigned LATJ3 : 1;
+ unsigned LATJ4 : 1;
+ unsigned LATJ5 : 1;
+ unsigned LATJ6 : 1;
+ unsigned LATJ7 : 1;
+ };
+} __LATJbits_t;
+extern volatile __LATJbits_t __at (0xF91) LATJbits;
+
+extern __sfr __at (0xF92) DDRA;
+typedef union {
+ struct {
+ unsigned RA0 : 1;
+ unsigned RA1 : 1;
+ unsigned RA2 : 1;
+ unsigned RA3 : 1;
+ unsigned RA4 : 1;
+ unsigned RA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __DDRAbits_t;
+extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+extern __sfr __at (0xF92) TRISA;
+typedef union {
+ struct {
+ unsigned TRISA0 : 1;
+ unsigned TRISA1 : 1;
+ unsigned TRISA2 : 1;
+ unsigned TRISA3 : 1;
+ unsigned TRISA4 : 1;
+ unsigned TRISA5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __TRISAbits_t;
+extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+extern __sfr __at (0xF93) DDRB;
+typedef union {
+ struct {
+ unsigned RB0 : 1;
+ unsigned RB1 : 1;
+ unsigned RB2 : 1;
+ unsigned RB3 : 1;
+ unsigned RB4 : 1;
+ unsigned RB5 : 1;
+ unsigned RB6 : 1;
+ unsigned RB7 : 1;
+ };
+} __DDRBbits_t;
+extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+extern __sfr __at (0xF93) TRISB;
+typedef union {
+ struct {
+ unsigned TRISB0 : 1;
+ unsigned TRISB1 : 1;
+ unsigned TRISB2 : 1;
+ unsigned TRISB3 : 1;
+ unsigned TRISB4 : 1;
+ unsigned TRISB5 : 1;
+ unsigned TRISB6 : 1;
+ unsigned TRISB7 : 1;
+ };
+} __TRISBbits_t;
+extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+extern __sfr __at (0xF94) DDRC;
+typedef union {
+ struct {
+ unsigned RC0 : 1;
+ unsigned RC1 : 1;
+ unsigned RC2 : 1;
+ unsigned RC3 : 1;
+ unsigned RC4 : 1;
+ unsigned RC5 : 1;
+ unsigned RC6 : 1;
+ unsigned RC7 : 1;
+ };
+} __DDRCbits_t;
+extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+extern __sfr __at (0xF94) TRISC;
+typedef union {
+ struct {
+ unsigned TRISC0 : 1;
+ unsigned TRISC1 : 1;
+ unsigned TRISC2 : 1;
+ unsigned TRISC3 : 1;
+ unsigned TRISC4 : 1;
+ unsigned TRISC5 : 1;
+ unsigned TRISC6 : 1;
+ unsigned TRISC7 : 1;
+ };
+} __TRISCbits_t;
+extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+extern __sfr __at (0xF95) DDRD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned RD3 : 1;
+ unsigned RD4 : 1;
+ unsigned RD5 : 1;
+ unsigned RD6 : 1;
+ unsigned RD7 : 1;
+ };
+} __DDRDbits_t;
+extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+extern __sfr __at (0xF95) TRISD;
+typedef union {
+ struct {
+ unsigned TRISD0 : 1;
+ unsigned TRISD1 : 1;
+ unsigned TRISD2 : 1;
+ unsigned TRISD3 : 1;
+ unsigned TRISD4 : 1;
+ unsigned TRISD5 : 1;
+ unsigned TRISD6 : 1;
+ unsigned TRISD7 : 1;
+ };
+} __TRISDbits_t;
+extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+extern __sfr __at (0xF96) DDRE;
+typedef union {
+ struct {
+ unsigned RE0 : 1;
+ unsigned RE1 : 1;
+ unsigned RE2 : 1;
+ unsigned RE3 : 1;
+ unsigned RE4 : 1;
+ unsigned RE5 : 1;
+ unsigned RE6 : 1;
+ unsigned RE7 : 1;
+ };
+} __DDREbits_t;
+extern volatile __DDREbits_t __at (0xF96) DDREbits;
+
+extern __sfr __at (0xF96) TRISE;
+typedef union {
+ struct {
+ unsigned TRISE0 : 1;
+ unsigned TRISE1 : 1;
+ unsigned TRISE2 : 1;
+ unsigned TRISE3 : 1;
+ unsigned TRISE4 : 1;
+ unsigned TRISE5 : 1;
+ unsigned TRISE6 : 1;
+ unsigned TRISE7 : 1;
+ };
+} __TRISEbits_t;
+extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+extern __sfr __at (0xF97) DDRF;
+typedef union {
+ struct {
+ unsigned RF0 : 1;
+ unsigned RF1 : 1;
+ unsigned RF2 : 1;
+ unsigned RF3 : 1;
+ unsigned RF4 : 1;
+ unsigned RF5 : 1;
+ unsigned RF6 : 1;
+ unsigned RF7 : 1;
+ };
+} __DDRFbits_t;
+extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+extern __sfr __at (0xF97) TRISF;
+typedef union {
+ struct {
+ unsigned TRISF0 : 1;
+ unsigned TRISF1 : 1;
+ unsigned TRISF2 : 1;
+ unsigned TRISF3 : 1;
+ unsigned TRISF4 : 1;
+ unsigned TRISF5 : 1;
+ unsigned TRISF6 : 1;
+ unsigned TRISF7 : 1;
+ };
+} __TRISFbits_t;
+extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+extern __sfr __at (0xF98) DDRG;
+typedef union {
+ struct {
+ unsigned RG0 : 1;
+ unsigned RG1 : 1;
+ unsigned RG2 : 1;
+ unsigned RG3 : 1;
+ unsigned RG4 : 1;
+ unsigned RG5 : 1;
+ unsigned RG6 : 1;
+ unsigned RG7 : 1;
+ };
+} __DDRGbits_t;
+extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+extern __sfr __at (0xF98) TRISG;
+typedef union {
+ struct {
+ unsigned TRISG0 : 1;
+ unsigned TRISG1 : 1;
+ unsigned TRISG2 : 1;
+ unsigned TRISG3 : 1;
+ unsigned TRISG4 : 1;
+ unsigned TRISG5 : 1;
+ unsigned TRISG6 : 1;
+ unsigned TRISG7 : 1;
+ };
+} __TRISGbits_t;
+extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+extern __sfr __at (0xF99) DDRH;
+typedef union {
+ struct {
+ unsigned RH0 : 1;
+ unsigned RH1 : 1;
+ unsigned RH2 : 1;
+ unsigned RH3 : 1;
+ unsigned RH4 : 1;
+ unsigned RH5 : 1;
+ unsigned RH6 : 1;
+ unsigned RH7 : 1;
+ };
+} __DDRHbits_t;
+extern volatile __DDRHbits_t __at (0xF99) DDRHbits;
+
+extern __sfr __at (0xF99) TRISH;
+typedef union {
+ struct {
+ unsigned TRISH0 : 1;
+ unsigned TRISH1 : 1;
+ unsigned TRISH2 : 1;
+ unsigned TRISH3 : 1;
+ unsigned TRISH4 : 1;
+ unsigned TRISH5 : 1;
+ unsigned TRISH6 : 1;
+ unsigned TRISH7 : 1;
+ };
+} __TRISHbits_t;
+extern volatile __TRISHbits_t __at (0xF99) TRISHbits;
+
+extern __sfr __at (0xF9A) DDRJ;
+typedef union {
+ struct {
+ unsigned RJ0 : 1;
+ unsigned RJ1 : 1;
+ unsigned RJ2 : 1;
+ unsigned RJ3 : 1;
+ unsigned RJ4 : 1;
+ unsigned RJ5 : 1;
+ unsigned RJ6 : 1;
+ unsigned RJ7 : 1;
+ };
+} __DDRJbits_t;
+extern volatile __DDRJbits_t __at (0xF9A) DDRJbits;
+
+extern __sfr __at (0xF9A) TRISJ;
+typedef union {
+ struct {
+ unsigned TRISJ0 : 1;
+ unsigned TRISJ1 : 1;
+ unsigned TRISJ2 : 1;
+ unsigned TRISJ3 : 1;
+ unsigned TRISJ4 : 1;
+ unsigned TRISJ5 : 1;
+ unsigned TRISJ6 : 1;
+ unsigned TRISJ7 : 1;
+ };
+} __TRISJbits_t;
+extern volatile __TRISJbits_t __at (0xF9A) TRISJbits;
+
+extern __sfr __at (0xF9B) OSCTUNE;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PPRE : 1;
+ unsigned PPST0 : 1;
+ unsigned PLLEN : 1;
+ unsigned PPST1 : 1;
+ };
+} __OSCTUNEbits_t;
+extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+extern __sfr __at (0xF9C) MEMCON;
+typedef union {
+ struct {
+ unsigned WM0 : 1;
+ unsigned WM1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned WAIT0 : 1;
+ unsigned WAIT1 : 1;
+ unsigned : 1;
+ unsigned EBDIS : 1;
+ };
+} __MEMCONbits_t;
+extern volatile __MEMCONbits_t __at (0xF9C) MEMCONbits;
+
+extern __sfr __at (0xF9D) PIE1;
+typedef union {
+ struct {
+ unsigned TMR1IE : 1;
+ unsigned TMR2IE : 1;
+ unsigned CCP1IE : 1;
+ unsigned SSPIE : 1;
+ unsigned TXIE_PIE1 : 1;
+ unsigned RCIE : 1;
+ unsigned ADIE : 1;
+ unsigned PSPIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IE : 1;
+ unsigned TX1IE : 1;
+ unsigned RC1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE1bits_t;
+extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+extern __sfr __at (0xF9E) PIR1;
+typedef union {
+ struct {
+ unsigned TMR1IF : 1;
+ unsigned TMR2IF : 1;
+ unsigned CCP1IF : 1;
+ unsigned SSPIF : 1;
+ unsigned TXIF_PIR1 : 1;
+ unsigned RCIF : 1;
+ unsigned ADIF : 1;
+ unsigned PSPIF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IF : 1;
+ unsigned TX1IF : 1;
+ unsigned RC1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR1bits_t;
+extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+extern __sfr __at (0xF9F) IPR1;
+typedef union {
+ struct {
+ unsigned TMR1IP : 1;
+ unsigned TMR2IP : 1;
+ unsigned CCP1IP : 1;
+ unsigned SSPIP : 1;
+ unsigned TXIP : 1;
+ unsigned RCIP : 1;
+ unsigned ADIP : 1;
+ unsigned PSPIP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned SSP1IP : 1;
+ unsigned TX1IP : 1;
+ unsigned RC1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR1bits_t;
+extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+extern __sfr __at (0xFA0) PIE2;
+typedef union {
+ struct {
+ unsigned CCP2IE : 1;
+ unsigned TMR3IE : 1;
+ unsigned : 1;
+ unsigned BCLIE : 1;
+ unsigned ETHWIE : 1;
+ unsigned ETHIE : 1;
+ unsigned CMIE : 1;
+ unsigned OSCFIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIE2bits_t;
+extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+extern __sfr __at (0xFA1) PIR2;
+typedef union {
+ struct {
+ unsigned CCP2IF : 1;
+ unsigned TMR3IF : 1;
+ unsigned : 1;
+ unsigned BCLIF : 1;
+ unsigned ETHWIF : 1;
+ unsigned ETHIF : 1;
+ unsigned CMIF : 1;
+ unsigned OSCFIF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IF : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __PIR2bits_t;
+extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+extern __sfr __at (0xFA2) IPR2;
+typedef union {
+ struct {
+ unsigned CCP2IP : 1;
+ unsigned TMR3IP : 1;
+ unsigned : 1;
+ unsigned BCLIP : 1;
+ unsigned ETHWIP : 1;
+ unsigned ETHIP : 1;
+ unsigned CMIP : 1;
+ unsigned OSCFIP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned BCL1IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __IPR2bits_t;
+extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+extern __sfr __at (0xFA3) PIE3;
+typedef union {
+ struct {
+ unsigned CCP3IE : 1;
+ unsigned CCP4IE : 1;
+ unsigned CCP5IE : 1;
+ unsigned TMR4IE : 1;
+ unsigned TX2IE : 1;
+ unsigned RC2IE : 1;
+ unsigned BCL2IE : 1;
+ unsigned SSP2IE : 1;
+ };
+} __PIE3bits_t;
+extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+extern __sfr __at (0xFA4) PIR3;
+typedef union {
+ struct {
+ unsigned CCP3IF : 1;
+ unsigned CCP4IF : 1;
+ unsigned CCP5IF : 1;
+ unsigned TMR4IF : 1;
+ unsigned TX2IF : 1;
+ unsigned RC2IF : 1;
+ unsigned BCL2IF : 1;
+ unsigned SSP2IF : 1;
+ };
+} __PIR3bits_t;
+extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+extern __sfr __at (0xFA5) IPR3;
+typedef union {
+ struct {
+ unsigned CCP3IP : 1;
+ unsigned CCP4IP : 1;
+ unsigned CCP5IP : 1;
+ unsigned TMR4IP : 1;
+ unsigned TX2IP : 1;
+ unsigned RC2IP : 1;
+ unsigned BCL2IP : 1;
+ unsigned SSP2IP : 1;
+ };
+} __IPR3bits_t;
+extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+extern __sfr __at (0xFA6) EECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned WR : 1;
+ unsigned WREN : 1;
+ unsigned WRERR : 1;
+ unsigned FREE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __EECON1bits_t;
+extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+extern __sfr __at (0xFA7) EECON2;
+
+extern __sfr __at (0xFAB) RCSTA;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTAbits_t;
+extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+extern __sfr __at (0xFAB) RCSTA1;
+typedef union {
+ struct {
+ unsigned RX9D : 1;
+ unsigned OERR : 1;
+ unsigned FERR : 1;
+ unsigned ADDEN : 1;
+ unsigned CREN : 1;
+ unsigned SREN : 1;
+ unsigned RX9 : 1;
+ unsigned SPEN : 1;
+ };
+ struct {
+ unsigned RCD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_RC8 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RC8_9 : 1;
+ unsigned : 1;
+ };
+} __RCSTA1bits_t;
+extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+extern __sfr __at (0xFAC) TXSTA;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTAbits_t;
+extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+extern __sfr __at (0xFAC) TXSTA1;
+typedef union {
+ struct {
+ unsigned TX9D : 1;
+ unsigned TRMT : 1;
+ unsigned BRGH : 1;
+ unsigned SENDB : 1;
+ unsigned SYNC : 1;
+ unsigned TXEN : 1;
+ unsigned TX9 : 1;
+ unsigned CSRC : 1;
+ };
+ struct {
+ unsigned TXD8 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TX8_9 : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_TX8 : 1;
+ unsigned : 1;
+ };
+} __TXSTA1bits_t;
+extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+extern __sfr __at (0xFAD) TXREG;
+
+extern __sfr __at (0xFAD) TXREG1;
+
+extern __sfr __at (0xFAE) RCREG;
+
+extern __sfr __at (0xFAE) RCREG1;
+
+extern __sfr __at (0xFAF) SPBRG;
+
+extern __sfr __at (0xFAF) SPBRG1;
+
+extern __sfr __at (0xFB0) PSPCON;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned PSPMODE : 1;
+ unsigned IBOV : 1;
+ unsigned OBF : 1;
+ unsigned IBF : 1;
+ };
+} __PSPCONbits_t;
+extern volatile __PSPCONbits_t __at (0xFB0) PSPCONbits;
+
+extern __sfr __at (0xFB1) T3CON;
+typedef union {
+ struct {
+ unsigned TMR3ON : 1;
+ unsigned TMR3CS : 1;
+ unsigned T3SYNC : 1;
+ unsigned T3CCP1 : 1;
+ unsigned T3CKPS0 : 1;
+ unsigned T3CKPS1 : 1;
+ unsigned T3CCP2 : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T3INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T3SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T3CONbits_t;
+extern volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+extern __sfr __at (0xFB2) TMR3L;
+
+extern __sfr __at (0xFB3) TMR3H;
+
+extern __sfr __at (0xFB4) CMCON;
+typedef union {
+ struct {
+ unsigned CM0 : 1;
+ unsigned CM1 : 1;
+ unsigned CM2 : 1;
+ unsigned CIS : 1;
+ unsigned C1INV : 1;
+ unsigned C2INV : 1;
+ unsigned C1OUT : 1;
+ unsigned C2OUT : 1;
+ };
+} __CMCONbits_t;
+extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+extern __sfr __at (0xFB5) CVRCON;
+typedef union {
+ struct {
+ unsigned CVR0 : 1;
+ unsigned CVR1 : 1;
+ unsigned CVR2 : 1;
+ unsigned CVR3 : 1;
+ unsigned CVRSS : 1;
+ unsigned CVRR : 1;
+ unsigned CVROE : 1;
+ unsigned CVREN : 1;
+ };
+} __CVRCONbits_t;
+extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+extern __sfr __at (0xFB6) ECCP1AS;
+typedef union {
+ struct {
+ unsigned PSSBD0 : 1;
+ unsigned PSSBD1 : 1;
+ unsigned PSSAC0 : 1;
+ unsigned PSSAC1 : 1;
+ unsigned ECCPAS0 : 1;
+ unsigned ECCPAS1 : 1;
+ unsigned ECCPAS2 : 1;
+ unsigned ECCPASE : 1;
+ };
+ struct {
+ unsigned PSS1BD0 : 1;
+ unsigned PSS1BD1 : 1;
+ unsigned PSS1AC0 : 1;
+ unsigned PSS1AC1 : 1;
+ unsigned ECCP1AS0 : 1;
+ unsigned ECCP1AS1 : 1;
+ unsigned ECCP1AS2 : 1;
+ unsigned ECCP1ASE : 1;
+ };
+} __ECCP1ASbits_t;
+extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+extern __sfr __at (0xFB7) CCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP3CONbits_t;
+extern volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+extern __sfr __at (0xFB7) ECCP3CON;
+typedef union {
+ struct {
+ unsigned CCP3M0 : 1;
+ unsigned CCP3M1 : 1;
+ unsigned CCP3M2 : 1;
+ unsigned CCP3M3 : 1;
+ unsigned DC3B0 : 1;
+ unsigned DC3B1 : 1;
+ unsigned P3M0 : 1;
+ unsigned P3M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP3Y : 1;
+ unsigned CCP3X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP3CONbits_t;
+extern volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+extern __sfr __at (0xFB8) CCPR3;
+
+extern __sfr __at (0xFB8) CCPR3L;
+
+extern __sfr __at (0xFB9) CCPR3H;
+
+extern __sfr __at (0xFBA) CCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP2CONbits_t;
+extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+extern __sfr __at (0xFBA) ECCP2CON;
+typedef union {
+ struct {
+ unsigned CCP2M0 : 1;
+ unsigned CCP2M1 : 1;
+ unsigned CCP2M2 : 1;
+ unsigned CCP2M3 : 1;
+ unsigned DC2B0 : 1;
+ unsigned DC2B1 : 1;
+ unsigned P2M0 : 1;
+ unsigned P2M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP2Y : 1;
+ unsigned CCP2X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP2CONbits_t;
+extern volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+extern __sfr __at (0xFBB) CCPR2;
+
+extern __sfr __at (0xFBB) CCPR2L;
+
+extern __sfr __at (0xFBC) CCPR2H;
+
+extern __sfr __at (0xFBD) CCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __CCP1CONbits_t;
+extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+extern __sfr __at (0xFBD) ECCP1CON;
+typedef union {
+ struct {
+ unsigned CCP1M0 : 1;
+ unsigned CCP1M1 : 1;
+ unsigned CCP1M2 : 1;
+ unsigned CCP1M3 : 1;
+ unsigned DC1B0 : 1;
+ unsigned DC1B1 : 1;
+ unsigned P1M0 : 1;
+ unsigned P1M1 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned CCP1Y : 1;
+ unsigned CCP1X : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ECCP1CONbits_t;
+extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+extern __sfr __at (0xFBE) CCPR1;
+
+extern __sfr __at (0xFBE) CCPR1L;
+
+extern __sfr __at (0xFBF) CCPR1H;
+
+extern __sfr __at (0xFC0) ADCON2;
+typedef union {
+ struct {
+ unsigned ADCS0 : 1;
+ unsigned ADCS1 : 1;
+ unsigned ADCS2 : 1;
+ unsigned ACQT0 : 1;
+ unsigned ACQT1 : 1;
+ unsigned ACQT2 : 1;
+ unsigned : 1;
+ unsigned ADFM : 1;
+ };
+} __ADCON2bits_t;
+extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+extern __sfr __at (0xFC1) ADCON1;
+typedef union {
+ struct {
+ unsigned PCFG0 : 1;
+ unsigned PCFG1 : 1;
+ unsigned PCFG2 : 1;
+ unsigned PCFG3 : 1;
+ unsigned VCFG0 : 1;
+ unsigned VCFG1 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON1bits_t;
+extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+extern __sfr __at (0xFC2) ADCON0;
+typedef union {
+ struct {
+ unsigned ADON : 1;
+ unsigned DONE : 1;
+ unsigned CHS0 : 1;
+ unsigned CHS1 : 1;
+ unsigned CHS2 : 1;
+ unsigned CHS3 : 1;
+ unsigned : 1;
+ unsigned ADCAL : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned GO : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned NOT_DONE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __ADCON0bits_t;
+extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+extern __sfr __at (0xFC3) ADRES;
+
+extern __sfr __at (0xFC3) ADRESL;
+
+extern __sfr __at (0xFC4) ADRESH;
+
+extern __sfr __at (0xFC5) SSP1CON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1CON2bits_t;
+extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+extern __sfr __at (0xFC5) SSPCON2;
+typedef union {
+ struct {
+ unsigned SEN : 1;
+ unsigned RSEN : 1;
+ unsigned PEN : 1;
+ unsigned RCEN : 1;
+ unsigned ACKEN : 1;
+ unsigned ACKDT : 1;
+ unsigned ACKSTAT : 1;
+ unsigned GCEN : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK1 : 1;
+ unsigned ADMSK2 : 1;
+ unsigned ADMSK3 : 1;
+ unsigned ADMSK4 : 1;
+ unsigned ADMSK5 : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned ADMSK : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPCON2bits_t;
+extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+extern __sfr __at (0xFC6) SSP1CON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSP1CON1bits_t;
+extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+extern __sfr __at (0xFC6) SSPCON1;
+typedef union {
+ struct {
+ unsigned SSPM0 : 1;
+ unsigned SSPM1 : 1;
+ unsigned SSPM2 : 1;
+ unsigned SSPM3 : 1;
+ unsigned CKP : 1;
+ unsigned SSPEN : 1;
+ unsigned SSPOV : 1;
+ unsigned WCOL : 1;
+ };
+} __SSPCON1bits_t;
+extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+extern __sfr __at (0xFC7) SSP1STAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSP1STATbits_t;
+extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+extern __sfr __at (0xFC7) SSPSTAT;
+typedef union {
+ struct {
+ unsigned BF : 1;
+ unsigned UA : 1;
+ unsigned R_W : 1;
+ unsigned S : 1;
+ unsigned P : 1;
+ unsigned D_A : 1;
+ unsigned CKE : 1;
+ unsigned SMP : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned I2C_READ : 1;
+ unsigned I2C_START : 1;
+ unsigned I2C_STOP : 1;
+ unsigned I2C_DAT : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_W : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_A : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned READ_WRITE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned DATA_ADDRESS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned R : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned D : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __SSPSTATbits_t;
+extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+extern __sfr __at (0xFC8) SSP1ADD;
+
+extern __sfr __at (0xFC8) SSPADD;
+
+extern __sfr __at (0xFC9) SSP1BUF;
+
+extern __sfr __at (0xFC9) SSPBUF;
+
+extern __sfr __at (0xFCA) T2CON;
+typedef union {
+ struct {
+ unsigned T2CKPS0 : 1;
+ unsigned T2CKPS1 : 1;
+ unsigned TMR2ON : 1;
+ unsigned T2OUTPS0 : 1;
+ unsigned T2OUTPS1 : 1;
+ unsigned T2OUTPS2 : 1;
+ unsigned T2OUTPS3 : 1;
+ unsigned : 1;
+ };
+} __T2CONbits_t;
+extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+extern __sfr __at (0xFCB) PR2;
+
+extern __sfr __at (0xFCC) TMR2;
+
+extern __sfr __at (0xFCD) T1CON;
+typedef union {
+ struct {
+ unsigned TMR1ON : 1;
+ unsigned TMR1CS : 1;
+ unsigned T1SYNC : 1;
+ unsigned T1OSCEN : 1;
+ unsigned T1CKPS0 : 1;
+ unsigned T1CKPS1 : 1;
+ unsigned T1RUN : 1;
+ unsigned RD16 : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned T1INSYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned NOT_T1SYNC : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __T1CONbits_t;
+extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+extern __sfr __at (0xFCE) TMR1L;
+
+extern __sfr __at (0xFCF) TMR1H;
+
+extern __sfr __at (0xFD0) RCON;
+typedef union {
+ struct {
+ unsigned NOT_BOR : 1;
+ unsigned NOT_POR : 1;
+ unsigned NOT_PD : 1;
+ unsigned NOT_TO : 1;
+ unsigned NOT_RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IPEN : 1;
+ };
+ struct {
+ unsigned BOR : 1;
+ unsigned POR : 1;
+ unsigned PD : 1;
+ unsigned TO : 1;
+ unsigned RI : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __RCONbits_t;
+extern volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+extern __sfr __at (0xFD1) WDTCON;
+typedef union {
+ struct {
+ unsigned SWDTE : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+ struct {
+ unsigned SWDTEN : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __WDTCONbits_t;
+extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+extern __sfr __at (0xFD2) ECON1;
+typedef union {
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RXEN : 1;
+ unsigned TXRTS : 1;
+ unsigned CSUMEN : 1;
+ unsigned DMAST : 1;
+ unsigned RXRST : 1;
+ unsigned TXRST : 1;
+ };
+} __ECON1bits_t;
+extern volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+extern __sfr __at (0xFD3) OSCCON;
+typedef union {
+ struct {
+ unsigned SCS0 : 1;
+ unsigned SCS1 : 1;
+ unsigned : 1;
+ unsigned OSTS : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned IDLEN : 1;
+ };
+} __OSCCONbits_t;
+extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+extern __sfr __at (0xFD5) T0CON;
+typedef union {
+ struct {
+ unsigned T0PS0 : 1;
+ unsigned T0PS1 : 1;
+ unsigned T0PS2 : 1;
+ unsigned PSA : 1;
+ unsigned T0SE : 1;
+ unsigned T0CS : 1;
+ unsigned T08BIT : 1;
+ unsigned TMR0ON : 1;
+ };
+} __T0CONbits_t;
+extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+extern __sfr __at (0xFD6) TMR0L;
+
+extern __sfr __at (0xFD7) TMR0H;
+
+extern __sfr __at (0xFD8) STATUS;
+typedef union {
+ struct {
+ unsigned C : 1;
+ unsigned DC : 1;
+ unsigned Z : 1;
+ unsigned OV : 1;
+ unsigned N : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ };
+} __STATUSbits_t;
+extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+extern __sfr __at (0xFD9) FSR2L;
+
+extern __sfr __at (0xFDA) FSR2H;
+
+extern __sfr __at (0xFDB) PLUSW2;
+
+extern __sfr __at (0xFDC) PREINC2;
+
+extern __sfr __at (0xFDD) POSTDEC2;
+
+extern __sfr __at (0xFDE) POSTINC2;
+
+extern __sfr __at (0xFDF) INDF2;
+
+extern __sfr __at (0xFE0) BSR;
+
+extern __sfr __at (0xFE1) FSR1L;
+
+extern __sfr __at (0xFE2) FSR1H;
+
+extern __sfr __at (0xFE3) PLUSW1;
+
+extern __sfr __at (0xFE4) PREINC1;
+
+extern __sfr __at (0xFE5) POSTDEC1;
+
+extern __sfr __at (0xFE6) POSTINC1;
+
+extern __sfr __at (0xFE7) INDF1;
+
+extern __sfr __at (0xFE8) WREG;
+
+extern __sfr __at (0xFE9) FSR0L;
+
+extern __sfr __at (0xFEA) FSR0H;
+
+extern __sfr __at (0xFEB) PLUSW0;
+
+extern __sfr __at (0xFEC) PREINC0;
+
+extern __sfr __at (0xFED) POSTDEC0;
+
+extern __sfr __at (0xFEE) POSTINC0;
+
+extern __sfr __at (0xFEF) INDF0;
+
+extern __sfr __at (0xFF0) INTCON3;
+typedef union {
+ struct {
+ unsigned INT1F : 1;
+ unsigned INT2F : 1;
+ unsigned INT3F : 1;
+ unsigned INT1E : 1;
+ unsigned INT2E : 1;
+ unsigned INT3E : 1;
+ unsigned INT1P : 1;
+ unsigned INT2P : 1;
+ };
+ struct {
+ unsigned INT1IF : 1;
+ unsigned INT2IF : 1;
+ unsigned INT3IF : 1;
+ unsigned INT1IE : 1;
+ unsigned INT2IE : 1;
+ unsigned INT3IE : 1;
+ unsigned INT1IP : 1;
+ unsigned INT2IP : 1;
+ };
+} __INTCON3bits_t;
+extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+extern __sfr __at (0xFF1) INTCON2;
+typedef union {
+ struct {
+ unsigned RBIP : 1;
+ unsigned INT3IP : 1;
+ unsigned T0IP : 1;
+ unsigned INTEDG3 : 1;
+ unsigned INTEDG2 : 1;
+ unsigned INTEDG1 : 1;
+ unsigned INTEDG0 : 1;
+ unsigned NOT_RBPU : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned TMR0IP : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned RBPU : 1;
+ };
+} __INTCON2bits_t;
+extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+extern __sfr __at (0xFF2) INTCON;
+typedef union {
+ struct {
+ unsigned RBIF : 1;
+ unsigned INT0F : 1;
+ unsigned T0IF : 1;
+ unsigned RBIE : 1;
+ unsigned INT0E : 1;
+ unsigned T0IE : 1;
+ unsigned PEIE : 1;
+ unsigned GIE : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned INT0IF : 1;
+ unsigned TMR0IF : 1;
+ unsigned : 1;
+ unsigned INT0IE : 1;
+ unsigned TMR0IE : 1;
+ unsigned GIEL : 1;
+ unsigned GIEH : 1;
+ };
+} __INTCONbits_t;
+extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+extern __sfr __at (0xFF3) PROD;
+
+extern __sfr __at (0xFF3) PRODL;
+
+extern __sfr __at (0xFF4) PRODH;
+
+extern __sfr __at (0xFF5) TABLAT;
+
+extern __sfr __at (0xFF6) TBLPTR;
+
+extern __sfr __at (0xFF6) TBLPTRL;
+
+extern __sfr __at (0xFF7) TBLPTRH;
+
+extern __sfr __at (0xFF8) TBLPTRU;
+
+extern __sfr __at (0xFF9) PC;
+
+extern __sfr __at (0xFF9) PCL;
+
+extern __sfr __at (0xFFA) PCLATH;
+
+extern __sfr __at (0xFFB) PCLATU;
+
+extern __sfr __at (0xFFC) STKPTR;
+typedef union {
+ struct {
+ unsigned STKPTR0 : 1;
+ unsigned STKPTR1 : 1;
+ unsigned STKPTR2 : 1;
+ unsigned STKPTR3 : 1;
+ unsigned STKPTR4 : 1;
+ unsigned : 1;
+ unsigned STKUNF : 1;
+ unsigned STKOVF : 1;
+ };
+ struct {
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned : 1;
+ unsigned STKFUL : 1;
+ };
+} __STKPTRbits_t;
+extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+extern __sfr __at (0xFFD) TOS;
+
+extern __sfr __at (0xFFD) TOSL;
+
+extern __sfr __at (0xFFE) TOSH;
+
+extern __sfr __at (0xFFF) TOSU;
+
+
+#endif
+
--- /dev/null
+/*
+ * pic18f96j65.h - PIC18F96J65 Device Library Header
+ */
+
+#include "pic18f96j60.h"
+
--- /dev/null
+/*
+ * pic18f97j60.h - PIC18F97J60 Device Library Header
+ */
+
+#include "pic18f96j60.h"
+
#elif defined(pic18f6680)
# include <pic18f6680.h>
+#elif defined(pic18f66j60)
+# include <pic18f66j60.h>
+
+#elif defined(pic18f66j65)
+# include <pic18f66j65.h>
+
#elif defined(pic18f6720)
# include <pic18f6720.h>
+#elif defined(pic18f67j60)
+# include <pic18f67j60.h>
+
#elif defined(pic18f8520)
# include <pic18f8520.h>
#elif defined(pic18f8680)
# include <pic18f8680.h>
+#elif defined(pic18f86j60)
+# include <pic18f86j60.h>
+
+#elif defined(pic18f86j65)
+# include <pic18f86j65.h>
+
#elif defined(pic18f8720)
# include <pic18f8720.h>
+#elif defined(pic18f87j60)
+# include <pic18f87j60.h>
+
+#elif defined(pic18f96j60)
+# include <pic18f96j60.h>
+
+#elif defined(pic18f96j65)
+# include <pic18f96j65.h>
+
+#elif defined(pic18f97j60)
+# include <pic18f97j60.h>
+
+
#else
# error Unsupported processor
--- /dev/null
+/*
+ * pic18f66j60.c - device specific definitions
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#include <pic18f66j60.h>
+
+
+__sfr __at (0xE80) MAADR5;
+
+__sfr __at (0xE81) MAADR6;
+
+__sfr __at (0xE82) MAADR3;
+
+__sfr __at (0xE83) MAADR4;
+
+__sfr __at (0xE84) MAADR1;
+
+__sfr __at (0xE85) MAADR2;
+
+__sfr __at (0xE86) EBSTSD;
+
+__sfr __at (0xE87) EBSTCON;
+volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+__sfr __at (0xE88) EBSTCS;
+
+__sfr __at (0xE88) EBSTCSL;
+
+__sfr __at (0xE89) EBSTCSH;
+
+__sfr __at (0xE8A) MISTAT;
+volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+__sfr __at (0xE97) EFLOCON;
+volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+__sfr __at (0xE98) EPAUS;
+
+__sfr __at (0xE98) EPAUSL;
+
+__sfr __at (0xE99) EPAUSH;
+
+__sfr __at (0xEA0) MACON1;
+volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+__sfr __at (0xEA1) MACON2;
+volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+__sfr __at (0xEA2) MACON3;
+volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+__sfr __at (0xEA3) MACON4;
+volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+__sfr __at (0xEA4) MABBIPG;
+
+__sfr __at (0xEA6) MAIPG;
+
+__sfr __at (0xEA6) MAIPGL;
+
+__sfr __at (0xEA7) MAIPGH;
+
+__sfr __at (0xEA8) MACLCON1;
+volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+__sfr __at (0xEA9) MACLCON2;
+volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+__sfr __at (0xEAA) MAMXFL;
+
+__sfr __at (0xEAA) MAMXFLL;
+
+__sfr __at (0xEAB) MAMXFLH;
+
+__sfr __at (0xEB1) MICON;
+volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+__sfr __at (0xEB2) MICMD;
+volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+__sfr __at (0xEB4) MIREGADR;
+
+__sfr __at (0xEB6) MIWR;
+
+__sfr __at (0xEB6) MIWRL;
+
+__sfr __at (0xEB7) MIWRH;
+
+__sfr __at (0xEB8) MIRD;
+
+__sfr __at (0xEB8) MIRDL;
+
+__sfr __at (0xEB9) MIRDH;
+
+__sfr __at (0xEC0) EHT0;
+
+__sfr __at (0xEC1) EHT1;
+
+__sfr __at (0xEC2) EHT2;
+
+__sfr __at (0xEC3) EHT3;
+
+__sfr __at (0xEC4) EHT4;
+
+__sfr __at (0xEC5) EHT5;
+
+__sfr __at (0xEC6) EHT6;
+
+__sfr __at (0xEC7) EHT7;
+
+__sfr __at (0xEC8) EPMM0;
+
+__sfr __at (0xEC9) EPMM1;
+
+__sfr __at (0xECA) EPMM2;
+
+__sfr __at (0xECB) EPMM3;
+
+__sfr __at (0xECC) EPMM4;
+
+__sfr __at (0xECD) EPMM5;
+
+__sfr __at (0xECE) EPMM6;
+
+__sfr __at (0xECF) EPMM7;
+
+__sfr __at (0xED0) EPMCS;
+
+__sfr __at (0xED0) EPMCSL;
+
+__sfr __at (0xED1) EPMCSH;
+
+__sfr __at (0xED4) EPMO;
+
+__sfr __at (0xED4) EPMOL;
+
+__sfr __at (0xED5) EPMOH;
+
+__sfr __at (0xED6) EWOLIE;
+volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+__sfr __at (0xED7) EWOLIR;
+volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+__sfr __at (0xED8) ERXFCON;
+volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+__sfr __at (0xED9) EPKTCNT;
+
+__sfr __at (0xEE2) EWRPT;
+
+__sfr __at (0xEE2) EWRPTL;
+
+__sfr __at (0xEE3) EWRPTH;
+
+__sfr __at (0xEE4) ETXST;
+
+__sfr __at (0xEE4) ETXSTL;
+
+__sfr __at (0xEE5) ETXSTH;
+
+__sfr __at (0xEE6) ETXND;
+
+__sfr __at (0xEE6) ETXNDL;
+
+__sfr __at (0xEE7) ETXNDH;
+
+__sfr __at (0xEE8) ERXST;
+
+__sfr __at (0xEE8) ERXSTL;
+
+__sfr __at (0xEE9) ERXSTH;
+
+__sfr __at (0xEEA) ERXND;
+
+__sfr __at (0xEEA) ERXNDL;
+
+__sfr __at (0xEEB) ERXNDH;
+
+__sfr __at (0xEEC) ERXRDPT;
+
+__sfr __at (0xEEC) ERXRDPTL;
+
+__sfr __at (0xEED) ERXRDPTH;
+
+__sfr __at (0xEEE) ERXWRPT;
+
+__sfr __at (0xEEE) ERXWRPTL;
+
+__sfr __at (0xEEF) ERXWRPTH;
+
+__sfr __at (0xEF0) EDMAST;
+
+__sfr __at (0xEF0) EDMASTL;
+
+__sfr __at (0xEF1) EDMASTH;
+
+__sfr __at (0xEF2) EDMAND;
+
+__sfr __at (0xEF2) EDMANDL;
+
+__sfr __at (0xEF3) EDMANDH;
+
+__sfr __at (0xEF4) EDMADST;
+
+__sfr __at (0xEF4) EDMADSTL;
+
+__sfr __at (0xEF5) EDMADSTH;
+
+__sfr __at (0xEF6) EDMACS;
+
+__sfr __at (0xEF6) EDMACSL;
+
+__sfr __at (0xEF7) EDMACSH;
+
+__sfr __at (0xEFB) EIE;
+volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+__sfr __at (0xEFD) ESTAT;
+volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+__sfr __at (0xEFE) ECON2;
+volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+__sfr __at (0xF60) EIR;
+volatile __EIRbits_t __at (0xF60) EIRbits;
+
+__sfr __at (0xF61) EDATA;
+volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+__sfr __at (0xF67) ECCP2DEL;
+volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+__sfr __at (0xF68) ECCP2AS;
+volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+__sfr __at (0xF69) ECCP3DEL;
+volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+__sfr __at (0xF6A) ECCP3AS;
+volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+__sfr __at (0xF70) CCP5CON;
+volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+__sfr __at (0xF71) CCPR5;
+
+__sfr __at (0xF71) CCPR5L;
+
+__sfr __at (0xF72) CCPR5H;
+
+__sfr __at (0xF73) CCP4CON;
+volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+__sfr __at (0xF74) CCPR4;
+
+__sfr __at (0xF74) CCPR4L;
+
+__sfr __at (0xF75) CCPR4H;
+
+__sfr __at (0xF76) T4CON;
+volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+__sfr __at (0xF77) PR4;
+
+__sfr __at (0xF78) TMR4;
+
+__sfr __at (0xF79) ECCP1DEL;
+volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+__sfr __at (0xF7A) ERDPT;
+
+__sfr __at (0xF7A) ERDPTL;
+
+__sfr __at (0xF7B) ERDPTH;
+
+__sfr __at (0xF7E) BAUDCON;
+volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+__sfr __at (0xF7E) BAUDCON1;
+volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+__sfr __at (0xF7E) BAUDCTL;
+volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+__sfr __at (0xF7E) BAUDCTL1;
+volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+__sfr __at (0xF7F) SPBRGH;
+
+__sfr __at (0xF7F) SPBRGH1;
+
+__sfr __at (0xF80) PORTA;
+volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+__sfr __at (0xF81) PORTB;
+volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+__sfr __at (0xF82) PORTC;
+volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+__sfr __at (0xF83) PORTD;
+volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+__sfr __at (0xF84) PORTE;
+volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+__sfr __at (0xF85) PORTF;
+volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+__sfr __at (0xF86) PORTG;
+volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+__sfr __at (0xF89) LATA;
+volatile __LATAbits_t __at (0xF89) LATAbits;
+
+__sfr __at (0xF8A) LATB;
+volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+__sfr __at (0xF8B) LATC;
+volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+__sfr __at (0xF8C) LATD;
+volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+__sfr __at (0xF8D) LATE;
+volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+__sfr __at (0xF8E) LATF;
+volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+__sfr __at (0xF8F) LATG;
+volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+__sfr __at (0xF92) DDRA;
+volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+__sfr __at (0xF92) TRISA;
+volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+__sfr __at (0xF93) DDRB;
+volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+__sfr __at (0xF93) TRISB;
+volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+__sfr __at (0xF94) DDRC;
+volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+__sfr __at (0xF94) TRISC;
+volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+__sfr __at (0xF95) DDRD;
+volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+__sfr __at (0xF95) TRISD;
+volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+__sfr __at (0xF96) DDRE;
+volatile __DDREbits_t __at (0xF96) DDREbits;
+
+__sfr __at (0xF96) TRISE;
+volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+__sfr __at (0xF97) DDRF;
+volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+__sfr __at (0xF97) TRISF;
+volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+__sfr __at (0xF98) DDRG;
+volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+__sfr __at (0xF98) TRISG;
+volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+__sfr __at (0xF9B) OSCTUNE;
+volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+__sfr __at (0xF9D) PIE1;
+volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+__sfr __at (0xF9E) PIR1;
+volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+__sfr __at (0xF9F) IPR1;
+volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+__sfr __at (0xFA0) PIE2;
+volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+__sfr __at (0xFA1) PIR2;
+volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+__sfr __at (0xFA2) IPR2;
+volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+__sfr __at (0xFA3) PIE3;
+volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+__sfr __at (0xFA4) PIR3;
+volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+__sfr __at (0xFA5) IPR3;
+volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+__sfr __at (0xFA6) EECON1;
+volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+__sfr __at (0xFA7) EECON2;
+
+__sfr __at (0xFAB) RCSTA;
+volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+__sfr __at (0xFAB) RCSTA1;
+volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+__sfr __at (0xFAC) TXSTA;
+volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+__sfr __at (0xFAC) TXSTA1;
+volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+__sfr __at (0xFAD) TXREG;
+
+__sfr __at (0xFAD) TXREG1;
+
+__sfr __at (0xFAE) RCREG;
+
+__sfr __at (0xFAE) RCREG1;
+
+__sfr __at (0xFAF) SPBRG;
+
+__sfr __at (0xFAF) SPBRG1;
+
+__sfr __at (0xFB1) T3CON;
+volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+__sfr __at (0xFB2) TMR3L;
+
+__sfr __at (0xFB3) TMR3H;
+
+__sfr __at (0xFB4) CMCON;
+volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+__sfr __at (0xFB5) CVRCON;
+volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+__sfr __at (0xFB6) ECCP1AS;
+volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+__sfr __at (0xFB7) CCP3CON;
+volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+__sfr __at (0xFB7) ECCP3CON;
+volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+__sfr __at (0xFB8) CCPR3;
+
+__sfr __at (0xFB8) CCPR3L;
+
+__sfr __at (0xFB9) CCPR3H;
+
+__sfr __at (0xFBA) CCP2CON;
+volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+__sfr __at (0xFBA) ECCP2CON;
+volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+__sfr __at (0xFBB) CCPR2;
+
+__sfr __at (0xFBB) CCPR2L;
+
+__sfr __at (0xFBC) CCPR2H;
+
+__sfr __at (0xFBD) CCP1CON;
+volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+__sfr __at (0xFBD) ECCP1CON;
+volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+__sfr __at (0xFBE) CCPR1;
+
+__sfr __at (0xFBE) CCPR1L;
+
+__sfr __at (0xFBF) CCPR1H;
+
+__sfr __at (0xFC0) ADCON2;
+volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+__sfr __at (0xFC1) ADCON1;
+volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+__sfr __at (0xFC2) ADCON0;
+volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+__sfr __at (0xFC3) ADRES;
+
+__sfr __at (0xFC3) ADRESL;
+
+__sfr __at (0xFC4) ADRESH;
+
+__sfr __at (0xFC5) SSP1CON2;
+volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+__sfr __at (0xFC5) SSPCON2;
+volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+__sfr __at (0xFC6) SSP1CON1;
+volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+__sfr __at (0xFC6) SSPCON1;
+volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+__sfr __at (0xFC7) SSP1STAT;
+volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+__sfr __at (0xFC7) SSPSTAT;
+volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+__sfr __at (0xFC8) SSP1ADD;
+
+__sfr __at (0xFC8) SSPADD;
+
+__sfr __at (0xFC9) SSP1BUF;
+
+__sfr __at (0xFC9) SSPBUF;
+
+__sfr __at (0xFCA) T2CON;
+volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+__sfr __at (0xFCB) PR2;
+
+__sfr __at (0xFCC) TMR2;
+
+__sfr __at (0xFCD) T1CON;
+volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+__sfr __at (0xFCE) TMR1L;
+
+__sfr __at (0xFCF) TMR1H;
+
+__sfr __at (0xFD0) RCON;
+volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+__sfr __at (0xFD1) WDTCON;
+volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+__sfr __at (0xFD2) ECON1;
+volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+__sfr __at (0xFD3) OSCCON;
+volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+__sfr __at (0xFD5) T0CON;
+volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+__sfr __at (0xFD6) TMR0L;
+
+__sfr __at (0xFD7) TMR0H;
+
+__sfr __at (0xFD8) STATUS;
+volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+__sfr __at (0xFD9) FSR2L;
+
+__sfr __at (0xFDA) FSR2H;
+
+__sfr __at (0xFDB) PLUSW2;
+
+__sfr __at (0xFDC) PREINC2;
+
+__sfr __at (0xFDD) POSTDEC2;
+
+__sfr __at (0xFDE) POSTINC2;
+
+__sfr __at (0xFDF) INDF2;
+
+__sfr __at (0xFE0) BSR;
+
+__sfr __at (0xFE1) FSR1L;
+
+__sfr __at (0xFE2) FSR1H;
+
+__sfr __at (0xFE3) PLUSW1;
+
+__sfr __at (0xFE4) PREINC1;
+
+__sfr __at (0xFE5) POSTDEC1;
+
+__sfr __at (0xFE6) POSTINC1;
+
+__sfr __at (0xFE7) INDF1;
+
+__sfr __at (0xFE8) WREG;
+
+__sfr __at (0xFE9) FSR0L;
+
+__sfr __at (0xFEA) FSR0H;
+
+__sfr __at (0xFEB) PLUSW0;
+
+__sfr __at (0xFEC) PREINC0;
+
+__sfr __at (0xFED) POSTDEC0;
+
+__sfr __at (0xFEE) POSTINC0;
+
+__sfr __at (0xFEF) INDF0;
+
+__sfr __at (0xFF0) INTCON3;
+volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+__sfr __at (0xFF1) INTCON2;
+volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+__sfr __at (0xFF2) INTCON;
+volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+__sfr __at (0xFF3) PROD;
+
+__sfr __at (0xFF3) PRODL;
+
+__sfr __at (0xFF4) PRODH;
+
+__sfr __at (0xFF5) TABLAT;
+
+__sfr __at (0xFF6) TBLPTR;
+
+__sfr __at (0xFF6) TBLPTRL;
+
+__sfr __at (0xFF7) TBLPTRH;
+
+__sfr __at (0xFF8) TBLPTRU;
+
+__sfr __at (0xFF9) PC;
+
+__sfr __at (0xFF9) PCL;
+
+__sfr __at (0xFFA) PCLATH;
+
+__sfr __at (0xFFB) PCLATU;
+
+__sfr __at (0xFFC) STKPTR;
+volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+__sfr __at (0xFFD) TOS;
+
+__sfr __at (0xFFD) TOSL;
+
+__sfr __at (0xFFE) TOSH;
+
+__sfr __at (0xFFF) TOSU;
+
+
--- /dev/null
+/*
+ * pic18f66j65.c - device specific definitions
+ */
+
+#include "pic18f66j60.c"
+
--- /dev/null
+/*
+ * pic18f67j60.c - device specific definitions
+ */
+
+#include "pic18f66j60.c"
+
--- /dev/null
+/*
+ * pic18f86j60.c - device specific definitions
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#include <pic18f86j60.h>
+
+
+__sfr __at (0xE80) MAADR5;
+
+__sfr __at (0xE81) MAADR6;
+
+__sfr __at (0xE82) MAADR3;
+
+__sfr __at (0xE83) MAADR4;
+
+__sfr __at (0xE84) MAADR1;
+
+__sfr __at (0xE85) MAADR2;
+
+__sfr __at (0xE86) EBSTSD;
+
+__sfr __at (0xE87) EBSTCON;
+volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+__sfr __at (0xE88) EBSTCS;
+
+__sfr __at (0xE88) EBSTCSL;
+
+__sfr __at (0xE89) EBSTCSH;
+
+__sfr __at (0xE8A) MISTAT;
+volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+__sfr __at (0xE97) EFLOCON;
+volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+__sfr __at (0xE98) EPAUS;
+
+__sfr __at (0xE98) EPAUSL;
+
+__sfr __at (0xE99) EPAUSH;
+
+__sfr __at (0xEA0) MACON1;
+volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+__sfr __at (0xEA1) MACON2;
+volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+__sfr __at (0xEA2) MACON3;
+volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+__sfr __at (0xEA3) MACON4;
+volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+__sfr __at (0xEA4) MABBIPG;
+
+__sfr __at (0xEA6) MAIPG;
+
+__sfr __at (0xEA6) MAIPGL;
+
+__sfr __at (0xEA7) MAIPGH;
+
+__sfr __at (0xEA8) MACLCON1;
+volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+__sfr __at (0xEA9) MACLCON2;
+volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+__sfr __at (0xEAA) MAMXFL;
+
+__sfr __at (0xEAA) MAMXFLL;
+
+__sfr __at (0xEAB) MAMXFLH;
+
+__sfr __at (0xEB1) MICON;
+volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+__sfr __at (0xEB2) MICMD;
+volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+__sfr __at (0xEB4) MIREGADR;
+
+__sfr __at (0xEB6) MIWR;
+
+__sfr __at (0xEB6) MIWRL;
+
+__sfr __at (0xEB7) MIWRH;
+
+__sfr __at (0xEB8) MIRD;
+
+__sfr __at (0xEB8) MIRDL;
+
+__sfr __at (0xEB9) MIRDH;
+
+__sfr __at (0xEC0) EHT0;
+
+__sfr __at (0xEC1) EHT1;
+
+__sfr __at (0xEC2) EHT2;
+
+__sfr __at (0xEC3) EHT3;
+
+__sfr __at (0xEC4) EHT4;
+
+__sfr __at (0xEC5) EHT5;
+
+__sfr __at (0xEC6) EHT6;
+
+__sfr __at (0xEC7) EHT7;
+
+__sfr __at (0xEC8) EPMM0;
+
+__sfr __at (0xEC9) EPMM1;
+
+__sfr __at (0xECA) EPMM2;
+
+__sfr __at (0xECB) EPMM3;
+
+__sfr __at (0xECC) EPMM4;
+
+__sfr __at (0xECD) EPMM5;
+
+__sfr __at (0xECE) EPMM6;
+
+__sfr __at (0xECF) EPMM7;
+
+__sfr __at (0xED0) EPMCS;
+
+__sfr __at (0xED0) EPMCSL;
+
+__sfr __at (0xED1) EPMCSH;
+
+__sfr __at (0xED4) EPMO;
+
+__sfr __at (0xED4) EPMOL;
+
+__sfr __at (0xED5) EPMOH;
+
+__sfr __at (0xED6) EWOLIE;
+volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+__sfr __at (0xED7) EWOLIR;
+volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+__sfr __at (0xED8) ERXFCON;
+volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+__sfr __at (0xED9) EPKTCNT;
+
+__sfr __at (0xEE2) EWRPT;
+
+__sfr __at (0xEE2) EWRPTL;
+
+__sfr __at (0xEE3) EWRPTH;
+
+__sfr __at (0xEE4) ETXST;
+
+__sfr __at (0xEE4) ETXSTL;
+
+__sfr __at (0xEE5) ETXSTH;
+
+__sfr __at (0xEE6) ETXND;
+
+__sfr __at (0xEE6) ETXNDL;
+
+__sfr __at (0xEE7) ETXNDH;
+
+__sfr __at (0xEE8) ERXST;
+
+__sfr __at (0xEE8) ERXSTL;
+
+__sfr __at (0xEE9) ERXSTH;
+
+__sfr __at (0xEEA) ERXND;
+
+__sfr __at (0xEEA) ERXNDL;
+
+__sfr __at (0xEEB) ERXNDH;
+
+__sfr __at (0xEEC) ERXRDPT;
+
+__sfr __at (0xEEC) ERXRDPTL;
+
+__sfr __at (0xEED) ERXRDPTH;
+
+__sfr __at (0xEEE) ERXWRPT;
+
+__sfr __at (0xEEE) ERXWRPTL;
+
+__sfr __at (0xEEF) ERXWRPTH;
+
+__sfr __at (0xEF0) EDMAST;
+
+__sfr __at (0xEF0) EDMASTL;
+
+__sfr __at (0xEF1) EDMASTH;
+
+__sfr __at (0xEF2) EDMAND;
+
+__sfr __at (0xEF2) EDMANDL;
+
+__sfr __at (0xEF3) EDMANDH;
+
+__sfr __at (0xEF4) EDMADST;
+
+__sfr __at (0xEF4) EDMADSTL;
+
+__sfr __at (0xEF5) EDMADSTH;
+
+__sfr __at (0xEF6) EDMACS;
+
+__sfr __at (0xEF6) EDMACSL;
+
+__sfr __at (0xEF7) EDMACSH;
+
+__sfr __at (0xEFB) EIE;
+volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+__sfr __at (0xEFD) ESTAT;
+volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+__sfr __at (0xEFE) ECON2;
+volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+__sfr __at (0xF60) EIR;
+volatile __EIRbits_t __at (0xF60) EIRbits;
+
+__sfr __at (0xF61) EDATA;
+volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+__sfr __at (0xF67) ECCP2DEL;
+volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+__sfr __at (0xF68) ECCP2AS;
+volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+__sfr __at (0xF69) ECCP3DEL;
+volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+__sfr __at (0xF6A) ECCP3AS;
+volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+__sfr __at (0xF6B) RCSTA2;
+volatile __RCSTA2bits_t __at (0xF6B) RCSTA2bits;
+
+__sfr __at (0xF6C) TXSTA2;
+volatile __TXSTA2bits_t __at (0xF6C) TXSTA2bits;
+
+__sfr __at (0xF6D) TXREG2;
+
+__sfr __at (0xF6E) RCREG2;
+
+__sfr __at (0xF6F) SPBRG2;
+
+__sfr __at (0xF70) CCP5CON;
+volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+__sfr __at (0xF71) CCPR5;
+
+__sfr __at (0xF71) CCPR5L;
+
+__sfr __at (0xF72) CCPR5H;
+
+__sfr __at (0xF73) CCP4CON;
+volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+__sfr __at (0xF74) CCPR4;
+
+__sfr __at (0xF74) CCPR4L;
+
+__sfr __at (0xF75) CCPR4H;
+
+__sfr __at (0xF76) T4CON;
+volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+__sfr __at (0xF77) PR4;
+
+__sfr __at (0xF78) TMR4;
+
+__sfr __at (0xF79) ECCP1DEL;
+volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+__sfr __at (0xF7A) ERDPT;
+
+__sfr __at (0xF7A) ERDPTL;
+
+__sfr __at (0xF7B) ERDPTH;
+
+__sfr __at (0xF7C) BAUDCON2;
+volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
+
+__sfr __at (0xF7C) BAUDCTL2;
+volatile __BAUDCTL2bits_t __at (0xF7C) BAUDCTL2bits;
+
+__sfr __at (0xF7D) SPBRGH2;
+
+__sfr __at (0xF7E) BAUDCON;
+volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+__sfr __at (0xF7E) BAUDCON1;
+volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+__sfr __at (0xF7E) BAUDCTL;
+volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+__sfr __at (0xF7E) BAUDCTL1;
+volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+__sfr __at (0xF7F) SPBRGH;
+
+__sfr __at (0xF7F) SPBRGH1;
+
+__sfr __at (0xF80) PORTA;
+volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+__sfr __at (0xF81) PORTB;
+volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+__sfr __at (0xF82) PORTC;
+volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+__sfr __at (0xF83) PORTD;
+volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+__sfr __at (0xF84) PORTE;
+volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+__sfr __at (0xF85) PORTF;
+volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+__sfr __at (0xF86) PORTG;
+volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+__sfr __at (0xF87) PORTH;
+volatile __PORTHbits_t __at (0xF87) PORTHbits;
+
+__sfr __at (0xF88) PORTJ;
+volatile __PORTJbits_t __at (0xF88) PORTJbits;
+
+__sfr __at (0xF89) LATA;
+volatile __LATAbits_t __at (0xF89) LATAbits;
+
+__sfr __at (0xF8A) LATB;
+volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+__sfr __at (0xF8B) LATC;
+volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+__sfr __at (0xF8C) LATD;
+volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+__sfr __at (0xF8D) LATE;
+volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+__sfr __at (0xF8E) LATF;
+volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+__sfr __at (0xF8F) LATG;
+volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+__sfr __at (0xF90) LATH;
+volatile __LATHbits_t __at (0xF90) LATHbits;
+
+__sfr __at (0xF91) LATJ;
+volatile __LATJbits_t __at (0xF91) LATJbits;
+
+__sfr __at (0xF92) DDRA;
+volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+__sfr __at (0xF92) TRISA;
+volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+__sfr __at (0xF93) DDRB;
+volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+__sfr __at (0xF93) TRISB;
+volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+__sfr __at (0xF94) DDRC;
+volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+__sfr __at (0xF94) TRISC;
+volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+__sfr __at (0xF95) DDRD;
+volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+__sfr __at (0xF95) TRISD;
+volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+__sfr __at (0xF96) DDRE;
+volatile __DDREbits_t __at (0xF96) DDREbits;
+
+__sfr __at (0xF96) TRISE;
+volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+__sfr __at (0xF97) DDRF;
+volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+__sfr __at (0xF97) TRISF;
+volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+__sfr __at (0xF98) DDRG;
+volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+__sfr __at (0xF98) TRISG;
+volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+__sfr __at (0xF99) DDRH;
+volatile __DDRHbits_t __at (0xF99) DDRHbits;
+
+__sfr __at (0xF99) TRISH;
+volatile __TRISHbits_t __at (0xF99) TRISHbits;
+
+__sfr __at (0xF9A) DDRJ;
+volatile __DDRJbits_t __at (0xF9A) DDRJbits;
+
+__sfr __at (0xF9A) TRISJ;
+volatile __TRISJbits_t __at (0xF9A) TRISJbits;
+
+__sfr __at (0xF9B) OSCTUNE;
+volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+__sfr __at (0xF9D) PIE1;
+volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+__sfr __at (0xF9E) PIR1;
+volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+__sfr __at (0xF9F) IPR1;
+volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+__sfr __at (0xFA0) PIE2;
+volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+__sfr __at (0xFA1) PIR2;
+volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+__sfr __at (0xFA2) IPR2;
+volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+__sfr __at (0xFA3) PIE3;
+volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+__sfr __at (0xFA4) PIR3;
+volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+__sfr __at (0xFA5) IPR3;
+volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+__sfr __at (0xFA6) EECON1;
+volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+__sfr __at (0xFA7) EECON2;
+
+__sfr __at (0xFAB) RCSTA;
+volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+__sfr __at (0xFAB) RCSTA1;
+volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+__sfr __at (0xFAC) TXSTA;
+volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+__sfr __at (0xFAC) TXSTA1;
+volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+__sfr __at (0xFAD) TXREG;
+
+__sfr __at (0xFAD) TXREG1;
+
+__sfr __at (0xFAE) RCREG;
+
+__sfr __at (0xFAE) RCREG1;
+
+__sfr __at (0xFAF) SPBRG;
+
+__sfr __at (0xFAF) SPBRG1;
+
+__sfr __at (0xFB1) T3CON;
+volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+__sfr __at (0xFB2) TMR3L;
+
+__sfr __at (0xFB3) TMR3H;
+
+__sfr __at (0xFB4) CMCON;
+volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+__sfr __at (0xFB5) CVRCON;
+volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+__sfr __at (0xFB6) ECCP1AS;
+volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+__sfr __at (0xFB7) CCP3CON;
+volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+__sfr __at (0xFB7) ECCP3CON;
+volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+__sfr __at (0xFB8) CCPR3;
+
+__sfr __at (0xFB8) CCPR3L;
+
+__sfr __at (0xFB9) CCPR3H;
+
+__sfr __at (0xFBA) CCP2CON;
+volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+__sfr __at (0xFBA) ECCP2CON;
+volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+__sfr __at (0xFBB) CCPR2;
+
+__sfr __at (0xFBB) CCPR2L;
+
+__sfr __at (0xFBC) CCPR2H;
+
+__sfr __at (0xFBD) CCP1CON;
+volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+__sfr __at (0xFBD) ECCP1CON;
+volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+__sfr __at (0xFBE) CCPR1;
+
+__sfr __at (0xFBE) CCPR1L;
+
+__sfr __at (0xFBF) CCPR1H;
+
+__sfr __at (0xFC0) ADCON2;
+volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+__sfr __at (0xFC1) ADCON1;
+volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+__sfr __at (0xFC2) ADCON0;
+volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+__sfr __at (0xFC3) ADRES;
+
+__sfr __at (0xFC3) ADRESL;
+
+__sfr __at (0xFC4) ADRESH;
+
+__sfr __at (0xFC5) SSP1CON2;
+volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+__sfr __at (0xFC5) SSPCON2;
+volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+__sfr __at (0xFC6) SSP1CON1;
+volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+__sfr __at (0xFC6) SSPCON1;
+volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+__sfr __at (0xFC7) SSP1STAT;
+volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+__sfr __at (0xFC7) SSPSTAT;
+volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+__sfr __at (0xFC8) SSP1ADD;
+
+__sfr __at (0xFC8) SSPADD;
+
+__sfr __at (0xFC9) SSP1BUF;
+
+__sfr __at (0xFC9) SSPBUF;
+
+__sfr __at (0xFCA) T2CON;
+volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+__sfr __at (0xFCB) PR2;
+
+__sfr __at (0xFCC) TMR2;
+
+__sfr __at (0xFCD) T1CON;
+volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+__sfr __at (0xFCE) TMR1L;
+
+__sfr __at (0xFCF) TMR1H;
+
+__sfr __at (0xFD0) RCON;
+volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+__sfr __at (0xFD1) WDTCON;
+volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+__sfr __at (0xFD2) ECON1;
+volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+__sfr __at (0xFD3) OSCCON;
+volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+__sfr __at (0xFD5) T0CON;
+volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+__sfr __at (0xFD6) TMR0L;
+
+__sfr __at (0xFD7) TMR0H;
+
+__sfr __at (0xFD8) STATUS;
+volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+__sfr __at (0xFD9) FSR2L;
+
+__sfr __at (0xFDA) FSR2H;
+
+__sfr __at (0xFDB) PLUSW2;
+
+__sfr __at (0xFDC) PREINC2;
+
+__sfr __at (0xFDD) POSTDEC2;
+
+__sfr __at (0xFDE) POSTINC2;
+
+__sfr __at (0xFDF) INDF2;
+
+__sfr __at (0xFE0) BSR;
+
+__sfr __at (0xFE1) FSR1L;
+
+__sfr __at (0xFE2) FSR1H;
+
+__sfr __at (0xFE3) PLUSW1;
+
+__sfr __at (0xFE4) PREINC1;
+
+__sfr __at (0xFE5) POSTDEC1;
+
+__sfr __at (0xFE6) POSTINC1;
+
+__sfr __at (0xFE7) INDF1;
+
+__sfr __at (0xFE8) WREG;
+
+__sfr __at (0xFE9) FSR0L;
+
+__sfr __at (0xFEA) FSR0H;
+
+__sfr __at (0xFEB) PLUSW0;
+
+__sfr __at (0xFEC) PREINC0;
+
+__sfr __at (0xFED) POSTDEC0;
+
+__sfr __at (0xFEE) POSTINC0;
+
+__sfr __at (0xFEF) INDF0;
+
+__sfr __at (0xFF0) INTCON3;
+volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+__sfr __at (0xFF1) INTCON2;
+volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+__sfr __at (0xFF2) INTCON;
+volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+__sfr __at (0xFF3) PROD;
+
+__sfr __at (0xFF3) PRODL;
+
+__sfr __at (0xFF4) PRODH;
+
+__sfr __at (0xFF5) TABLAT;
+
+__sfr __at (0xFF6) TBLPTR;
+
+__sfr __at (0xFF6) TBLPTRL;
+
+__sfr __at (0xFF7) TBLPTRH;
+
+__sfr __at (0xFF8) TBLPTRU;
+
+__sfr __at (0xFF9) PC;
+
+__sfr __at (0xFF9) PCL;
+
+__sfr __at (0xFFA) PCLATH;
+
+__sfr __at (0xFFB) PCLATU;
+
+__sfr __at (0xFFC) STKPTR;
+volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+__sfr __at (0xFFD) TOS;
+
+__sfr __at (0xFFD) TOSL;
+
+__sfr __at (0xFFE) TOSH;
+
+__sfr __at (0xFFF) TOSU;
+
+
--- /dev/null
+/*
+ * pic18f86j65.c - device specific definitions
+ */
+
+#include "pic18f86j60.c"
+
--- /dev/null
+/*
+ * pic18f87j60.c - device specific definitions
+ */
+
+#include "pic18f86j60.c"
+
--- /dev/null
+/*
+ * pic18f96j60.c - device specific definitions
+ *
+ * This file is part of the GNU PIC library for SDCC,
+ * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
+ *
+ * It has been automatically generated by inc2h-pic16.pl,
+ * (c) 2007 by Raphael Neider <rneider AT web.de>
+ */
+
+#include <pic18f96j60.h>
+
+
+__sfr __at (0xE80) MAADR5;
+
+__sfr __at (0xE81) MAADR6;
+
+__sfr __at (0xE82) MAADR3;
+
+__sfr __at (0xE83) MAADR4;
+
+__sfr __at (0xE84) MAADR1;
+
+__sfr __at (0xE85) MAADR2;
+
+__sfr __at (0xE86) EBSTSD;
+
+__sfr __at (0xE87) EBSTCON;
+volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
+
+__sfr __at (0xE88) EBSTCS;
+
+__sfr __at (0xE88) EBSTCSL;
+
+__sfr __at (0xE89) EBSTCSH;
+
+__sfr __at (0xE8A) MISTAT;
+volatile __MISTATbits_t __at (0xE8A) MISTATbits;
+
+__sfr __at (0xE97) EFLOCON;
+volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
+
+__sfr __at (0xE98) EPAUS;
+
+__sfr __at (0xE98) EPAUSL;
+
+__sfr __at (0xE99) EPAUSH;
+
+__sfr __at (0xEA0) MACON1;
+volatile __MACON1bits_t __at (0xEA0) MACON1bits;
+
+__sfr __at (0xEA1) MACON2;
+volatile __MACON2bits_t __at (0xEA1) MACON2bits;
+
+__sfr __at (0xEA2) MACON3;
+volatile __MACON3bits_t __at (0xEA2) MACON3bits;
+
+__sfr __at (0xEA3) MACON4;
+volatile __MACON4bits_t __at (0xEA3) MACON4bits;
+
+__sfr __at (0xEA4) MABBIPG;
+
+__sfr __at (0xEA6) MAIPG;
+
+__sfr __at (0xEA6) MAIPGL;
+
+__sfr __at (0xEA7) MAIPGH;
+
+__sfr __at (0xEA8) MACLCON1;
+volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
+
+__sfr __at (0xEA9) MACLCON2;
+volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
+
+__sfr __at (0xEAA) MAMXFL;
+
+__sfr __at (0xEAA) MAMXFLL;
+
+__sfr __at (0xEAB) MAMXFLH;
+
+__sfr __at (0xEB1) MICON;
+volatile __MICONbits_t __at (0xEB1) MICONbits;
+
+__sfr __at (0xEB2) MICMD;
+volatile __MICMDbits_t __at (0xEB2) MICMDbits;
+
+__sfr __at (0xEB4) MIREGADR;
+
+__sfr __at (0xEB6) MIWR;
+
+__sfr __at (0xEB6) MIWRL;
+
+__sfr __at (0xEB7) MIWRH;
+
+__sfr __at (0xEB8) MIRD;
+
+__sfr __at (0xEB8) MIRDL;
+
+__sfr __at (0xEB9) MIRDH;
+
+__sfr __at (0xEC0) EHT0;
+
+__sfr __at (0xEC1) EHT1;
+
+__sfr __at (0xEC2) EHT2;
+
+__sfr __at (0xEC3) EHT3;
+
+__sfr __at (0xEC4) EHT4;
+
+__sfr __at (0xEC5) EHT5;
+
+__sfr __at (0xEC6) EHT6;
+
+__sfr __at (0xEC7) EHT7;
+
+__sfr __at (0xEC8) EPMM0;
+
+__sfr __at (0xEC9) EPMM1;
+
+__sfr __at (0xECA) EPMM2;
+
+__sfr __at (0xECB) EPMM3;
+
+__sfr __at (0xECC) EPMM4;
+
+__sfr __at (0xECD) EPMM5;
+
+__sfr __at (0xECE) EPMM6;
+
+__sfr __at (0xECF) EPMM7;
+
+__sfr __at (0xED0) EPMCS;
+
+__sfr __at (0xED0) EPMCSL;
+
+__sfr __at (0xED1) EPMCSH;
+
+__sfr __at (0xED4) EPMO;
+
+__sfr __at (0xED4) EPMOL;
+
+__sfr __at (0xED5) EPMOH;
+
+__sfr __at (0xED6) EWOLIE;
+volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
+
+__sfr __at (0xED7) EWOLIR;
+volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
+
+__sfr __at (0xED8) ERXFCON;
+volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
+
+__sfr __at (0xED9) EPKTCNT;
+
+__sfr __at (0xEE2) EWRPT;
+
+__sfr __at (0xEE2) EWRPTL;
+
+__sfr __at (0xEE3) EWRPTH;
+
+__sfr __at (0xEE4) ETXST;
+
+__sfr __at (0xEE4) ETXSTL;
+
+__sfr __at (0xEE5) ETXSTH;
+
+__sfr __at (0xEE6) ETXND;
+
+__sfr __at (0xEE6) ETXNDL;
+
+__sfr __at (0xEE7) ETXNDH;
+
+__sfr __at (0xEE8) ERXST;
+
+__sfr __at (0xEE8) ERXSTL;
+
+__sfr __at (0xEE9) ERXSTH;
+
+__sfr __at (0xEEA) ERXND;
+
+__sfr __at (0xEEA) ERXNDL;
+
+__sfr __at (0xEEB) ERXNDH;
+
+__sfr __at (0xEEC) ERXRDPT;
+
+__sfr __at (0xEEC) ERXRDPTL;
+
+__sfr __at (0xEED) ERXRDPTH;
+
+__sfr __at (0xEEE) ERXWRPT;
+
+__sfr __at (0xEEE) ERXWRPTL;
+
+__sfr __at (0xEEF) ERXWRPTH;
+
+__sfr __at (0xEF0) EDMAST;
+
+__sfr __at (0xEF0) EDMASTL;
+
+__sfr __at (0xEF1) EDMASTH;
+
+__sfr __at (0xEF2) EDMAND;
+
+__sfr __at (0xEF2) EDMANDL;
+
+__sfr __at (0xEF3) EDMANDH;
+
+__sfr __at (0xEF4) EDMADST;
+
+__sfr __at (0xEF4) EDMADSTL;
+
+__sfr __at (0xEF5) EDMADSTH;
+
+__sfr __at (0xEF6) EDMACS;
+
+__sfr __at (0xEF6) EDMACSL;
+
+__sfr __at (0xEF7) EDMACSH;
+
+__sfr __at (0xEFB) EIE;
+volatile __EIEbits_t __at (0xEFB) EIEbits;
+
+__sfr __at (0xEFD) ESTAT;
+volatile __ESTATbits_t __at (0xEFD) ESTATbits;
+
+__sfr __at (0xEFE) ECON2;
+volatile __ECON2bits_t __at (0xEFE) ECON2bits;
+
+__sfr __at (0xF60) EIR;
+volatile __EIRbits_t __at (0xF60) EIRbits;
+
+__sfr __at (0xF61) EDATA;
+volatile __EDATAbits_t __at (0xF61) EDATAbits;
+
+__sfr __at (0xF62) SSP2CON2;
+volatile __SSP2CON2bits_t __at (0xF62) SSP2CON2bits;
+
+__sfr __at (0xF63) SSP2CON1;
+volatile __SSP2CON1bits_t __at (0xF63) SSP2CON1bits;
+
+__sfr __at (0xF64) SSP2STAT;
+volatile __SSP2STATbits_t __at (0xF64) SSP2STATbits;
+
+__sfr __at (0xF65) SSP2ADD;
+
+__sfr __at (0xF66) SSP2BUF;
+
+__sfr __at (0xF67) ECCP2DEL;
+volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
+
+__sfr __at (0xF68) ECCP2AS;
+volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
+
+__sfr __at (0xF69) ECCP3DEL;
+volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
+
+__sfr __at (0xF6A) ECCP3AS;
+volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
+
+__sfr __at (0xF6B) RCSTA2;
+volatile __RCSTA2bits_t __at (0xF6B) RCSTA2bits;
+
+__sfr __at (0xF6C) TXSTA2;
+volatile __TXSTA2bits_t __at (0xF6C) TXSTA2bits;
+
+__sfr __at (0xF6D) TXREG2;
+
+__sfr __at (0xF6E) RCREG2;
+
+__sfr __at (0xF6F) SPBRG2;
+
+__sfr __at (0xF70) CCP5CON;
+volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
+
+__sfr __at (0xF71) CCPR5;
+
+__sfr __at (0xF71) CCPR5L;
+
+__sfr __at (0xF72) CCPR5H;
+
+__sfr __at (0xF73) CCP4CON;
+volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
+
+__sfr __at (0xF74) CCPR4;
+
+__sfr __at (0xF74) CCPR4L;
+
+__sfr __at (0xF75) CCPR4H;
+
+__sfr __at (0xF76) T4CON;
+volatile __T4CONbits_t __at (0xF76) T4CONbits;
+
+__sfr __at (0xF77) PR4;
+
+__sfr __at (0xF78) TMR4;
+
+__sfr __at (0xF79) ECCP1DEL;
+volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
+
+__sfr __at (0xF7A) ERDPT;
+
+__sfr __at (0xF7A) ERDPTL;
+
+__sfr __at (0xF7B) ERDPTH;
+
+__sfr __at (0xF7C) BAUDCON2;
+volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
+
+__sfr __at (0xF7C) BAUDCTL2;
+volatile __BAUDCTL2bits_t __at (0xF7C) BAUDCTL2bits;
+
+__sfr __at (0xF7D) SPBRGH2;
+
+__sfr __at (0xF7E) BAUDCON;
+volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
+
+__sfr __at (0xF7E) BAUDCON1;
+volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
+
+__sfr __at (0xF7E) BAUDCTL;
+volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
+
+__sfr __at (0xF7E) BAUDCTL1;
+volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
+
+__sfr __at (0xF7F) SPBRGH;
+
+__sfr __at (0xF7F) SPBRGH1;
+
+__sfr __at (0xF80) PORTA;
+volatile __PORTAbits_t __at (0xF80) PORTAbits;
+
+__sfr __at (0xF81) PORTB;
+volatile __PORTBbits_t __at (0xF81) PORTBbits;
+
+__sfr __at (0xF82) PORTC;
+volatile __PORTCbits_t __at (0xF82) PORTCbits;
+
+__sfr __at (0xF83) PORTD;
+volatile __PORTDbits_t __at (0xF83) PORTDbits;
+
+__sfr __at (0xF84) PORTE;
+volatile __PORTEbits_t __at (0xF84) PORTEbits;
+
+__sfr __at (0xF85) PORTF;
+volatile __PORTFbits_t __at (0xF85) PORTFbits;
+
+__sfr __at (0xF86) PORTG;
+volatile __PORTGbits_t __at (0xF86) PORTGbits;
+
+__sfr __at (0xF87) PORTH;
+volatile __PORTHbits_t __at (0xF87) PORTHbits;
+
+__sfr __at (0xF88) PORTJ;
+volatile __PORTJbits_t __at (0xF88) PORTJbits;
+
+__sfr __at (0xF89) LATA;
+volatile __LATAbits_t __at (0xF89) LATAbits;
+
+__sfr __at (0xF8A) LATB;
+volatile __LATBbits_t __at (0xF8A) LATBbits;
+
+__sfr __at (0xF8B) LATC;
+volatile __LATCbits_t __at (0xF8B) LATCbits;
+
+__sfr __at (0xF8C) LATD;
+volatile __LATDbits_t __at (0xF8C) LATDbits;
+
+__sfr __at (0xF8D) LATE;
+volatile __LATEbits_t __at (0xF8D) LATEbits;
+
+__sfr __at (0xF8E) LATF;
+volatile __LATFbits_t __at (0xF8E) LATFbits;
+
+__sfr __at (0xF8F) LATG;
+volatile __LATGbits_t __at (0xF8F) LATGbits;
+
+__sfr __at (0xF90) LATH;
+volatile __LATHbits_t __at (0xF90) LATHbits;
+
+__sfr __at (0xF91) LATJ;
+volatile __LATJbits_t __at (0xF91) LATJbits;
+
+__sfr __at (0xF92) DDRA;
+volatile __DDRAbits_t __at (0xF92) DDRAbits;
+
+__sfr __at (0xF92) TRISA;
+volatile __TRISAbits_t __at (0xF92) TRISAbits;
+
+__sfr __at (0xF93) DDRB;
+volatile __DDRBbits_t __at (0xF93) DDRBbits;
+
+__sfr __at (0xF93) TRISB;
+volatile __TRISBbits_t __at (0xF93) TRISBbits;
+
+__sfr __at (0xF94) DDRC;
+volatile __DDRCbits_t __at (0xF94) DDRCbits;
+
+__sfr __at (0xF94) TRISC;
+volatile __TRISCbits_t __at (0xF94) TRISCbits;
+
+__sfr __at (0xF95) DDRD;
+volatile __DDRDbits_t __at (0xF95) DDRDbits;
+
+__sfr __at (0xF95) TRISD;
+volatile __TRISDbits_t __at (0xF95) TRISDbits;
+
+__sfr __at (0xF96) DDRE;
+volatile __DDREbits_t __at (0xF96) DDREbits;
+
+__sfr __at (0xF96) TRISE;
+volatile __TRISEbits_t __at (0xF96) TRISEbits;
+
+__sfr __at (0xF97) DDRF;
+volatile __DDRFbits_t __at (0xF97) DDRFbits;
+
+__sfr __at (0xF97) TRISF;
+volatile __TRISFbits_t __at (0xF97) TRISFbits;
+
+__sfr __at (0xF98) DDRG;
+volatile __DDRGbits_t __at (0xF98) DDRGbits;
+
+__sfr __at (0xF98) TRISG;
+volatile __TRISGbits_t __at (0xF98) TRISGbits;
+
+__sfr __at (0xF99) DDRH;
+volatile __DDRHbits_t __at (0xF99) DDRHbits;
+
+__sfr __at (0xF99) TRISH;
+volatile __TRISHbits_t __at (0xF99) TRISHbits;
+
+__sfr __at (0xF9A) DDRJ;
+volatile __DDRJbits_t __at (0xF9A) DDRJbits;
+
+__sfr __at (0xF9A) TRISJ;
+volatile __TRISJbits_t __at (0xF9A) TRISJbits;
+
+__sfr __at (0xF9B) OSCTUNE;
+volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
+
+__sfr __at (0xF9C) MEMCON;
+volatile __MEMCONbits_t __at (0xF9C) MEMCONbits;
+
+__sfr __at (0xF9D) PIE1;
+volatile __PIE1bits_t __at (0xF9D) PIE1bits;
+
+__sfr __at (0xF9E) PIR1;
+volatile __PIR1bits_t __at (0xF9E) PIR1bits;
+
+__sfr __at (0xF9F) IPR1;
+volatile __IPR1bits_t __at (0xF9F) IPR1bits;
+
+__sfr __at (0xFA0) PIE2;
+volatile __PIE2bits_t __at (0xFA0) PIE2bits;
+
+__sfr __at (0xFA1) PIR2;
+volatile __PIR2bits_t __at (0xFA1) PIR2bits;
+
+__sfr __at (0xFA2) IPR2;
+volatile __IPR2bits_t __at (0xFA2) IPR2bits;
+
+__sfr __at (0xFA3) PIE3;
+volatile __PIE3bits_t __at (0xFA3) PIE3bits;
+
+__sfr __at (0xFA4) PIR3;
+volatile __PIR3bits_t __at (0xFA4) PIR3bits;
+
+__sfr __at (0xFA5) IPR3;
+volatile __IPR3bits_t __at (0xFA5) IPR3bits;
+
+__sfr __at (0xFA6) EECON1;
+volatile __EECON1bits_t __at (0xFA6) EECON1bits;
+
+__sfr __at (0xFA7) EECON2;
+
+__sfr __at (0xFAB) RCSTA;
+volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
+
+__sfr __at (0xFAB) RCSTA1;
+volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
+
+__sfr __at (0xFAC) TXSTA;
+volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
+
+__sfr __at (0xFAC) TXSTA1;
+volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
+
+__sfr __at (0xFAD) TXREG;
+
+__sfr __at (0xFAD) TXREG1;
+
+__sfr __at (0xFAE) RCREG;
+
+__sfr __at (0xFAE) RCREG1;
+
+__sfr __at (0xFAF) SPBRG;
+
+__sfr __at (0xFAF) SPBRG1;
+
+__sfr __at (0xFB0) PSPCON;
+volatile __PSPCONbits_t __at (0xFB0) PSPCONbits;
+
+__sfr __at (0xFB1) T3CON;
+volatile __T3CONbits_t __at (0xFB1) T3CONbits;
+
+__sfr __at (0xFB2) TMR3L;
+
+__sfr __at (0xFB3) TMR3H;
+
+__sfr __at (0xFB4) CMCON;
+volatile __CMCONbits_t __at (0xFB4) CMCONbits;
+
+__sfr __at (0xFB5) CVRCON;
+volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
+
+__sfr __at (0xFB6) ECCP1AS;
+volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
+
+__sfr __at (0xFB7) CCP3CON;
+volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
+
+__sfr __at (0xFB7) ECCP3CON;
+volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
+
+__sfr __at (0xFB8) CCPR3;
+
+__sfr __at (0xFB8) CCPR3L;
+
+__sfr __at (0xFB9) CCPR3H;
+
+__sfr __at (0xFBA) CCP2CON;
+volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
+
+__sfr __at (0xFBA) ECCP2CON;
+volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
+
+__sfr __at (0xFBB) CCPR2;
+
+__sfr __at (0xFBB) CCPR2L;
+
+__sfr __at (0xFBC) CCPR2H;
+
+__sfr __at (0xFBD) CCP1CON;
+volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
+
+__sfr __at (0xFBD) ECCP1CON;
+volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
+
+__sfr __at (0xFBE) CCPR1;
+
+__sfr __at (0xFBE) CCPR1L;
+
+__sfr __at (0xFBF) CCPR1H;
+
+__sfr __at (0xFC0) ADCON2;
+volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
+
+__sfr __at (0xFC1) ADCON1;
+volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
+
+__sfr __at (0xFC2) ADCON0;
+volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
+
+__sfr __at (0xFC3) ADRES;
+
+__sfr __at (0xFC3) ADRESL;
+
+__sfr __at (0xFC4) ADRESH;
+
+__sfr __at (0xFC5) SSP1CON2;
+volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
+
+__sfr __at (0xFC5) SSPCON2;
+volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
+
+__sfr __at (0xFC6) SSP1CON1;
+volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
+
+__sfr __at (0xFC6) SSPCON1;
+volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
+
+__sfr __at (0xFC7) SSP1STAT;
+volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
+
+__sfr __at (0xFC7) SSPSTAT;
+volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
+
+__sfr __at (0xFC8) SSP1ADD;
+
+__sfr __at (0xFC8) SSPADD;
+
+__sfr __at (0xFC9) SSP1BUF;
+
+__sfr __at (0xFC9) SSPBUF;
+
+__sfr __at (0xFCA) T2CON;
+volatile __T2CONbits_t __at (0xFCA) T2CONbits;
+
+__sfr __at (0xFCB) PR2;
+
+__sfr __at (0xFCC) TMR2;
+
+__sfr __at (0xFCD) T1CON;
+volatile __T1CONbits_t __at (0xFCD) T1CONbits;
+
+__sfr __at (0xFCE) TMR1L;
+
+__sfr __at (0xFCF) TMR1H;
+
+__sfr __at (0xFD0) RCON;
+volatile __RCONbits_t __at (0xFD0) RCONbits;
+
+__sfr __at (0xFD1) WDTCON;
+volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
+
+__sfr __at (0xFD2) ECON1;
+volatile __ECON1bits_t __at (0xFD2) ECON1bits;
+
+__sfr __at (0xFD3) OSCCON;
+volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
+
+__sfr __at (0xFD5) T0CON;
+volatile __T0CONbits_t __at (0xFD5) T0CONbits;
+
+__sfr __at (0xFD6) TMR0L;
+
+__sfr __at (0xFD7) TMR0H;
+
+__sfr __at (0xFD8) STATUS;
+volatile __STATUSbits_t __at (0xFD8) STATUSbits;
+
+__sfr __at (0xFD9) FSR2L;
+
+__sfr __at (0xFDA) FSR2H;
+
+__sfr __at (0xFDB) PLUSW2;
+
+__sfr __at (0xFDC) PREINC2;
+
+__sfr __at (0xFDD) POSTDEC2;
+
+__sfr __at (0xFDE) POSTINC2;
+
+__sfr __at (0xFDF) INDF2;
+
+__sfr __at (0xFE0) BSR;
+
+__sfr __at (0xFE1) FSR1L;
+
+__sfr __at (0xFE2) FSR1H;
+
+__sfr __at (0xFE3) PLUSW1;
+
+__sfr __at (0xFE4) PREINC1;
+
+__sfr __at (0xFE5) POSTDEC1;
+
+__sfr __at (0xFE6) POSTINC1;
+
+__sfr __at (0xFE7) INDF1;
+
+__sfr __at (0xFE8) WREG;
+
+__sfr __at (0xFE9) FSR0L;
+
+__sfr __at (0xFEA) FSR0H;
+
+__sfr __at (0xFEB) PLUSW0;
+
+__sfr __at (0xFEC) PREINC0;
+
+__sfr __at (0xFED) POSTDEC0;
+
+__sfr __at (0xFEE) POSTINC0;
+
+__sfr __at (0xFEF) INDF0;
+
+__sfr __at (0xFF0) INTCON3;
+volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
+
+__sfr __at (0xFF1) INTCON2;
+volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
+
+__sfr __at (0xFF2) INTCON;
+volatile __INTCONbits_t __at (0xFF2) INTCONbits;
+
+__sfr __at (0xFF3) PROD;
+
+__sfr __at (0xFF3) PRODL;
+
+__sfr __at (0xFF4) PRODH;
+
+__sfr __at (0xFF5) TABLAT;
+
+__sfr __at (0xFF6) TBLPTR;
+
+__sfr __at (0xFF6) TBLPTRL;
+
+__sfr __at (0xFF7) TBLPTRH;
+
+__sfr __at (0xFF8) TBLPTRU;
+
+__sfr __at (0xFF9) PC;
+
+__sfr __at (0xFF9) PCL;
+
+__sfr __at (0xFFA) PCLATH;
+
+__sfr __at (0xFFB) PCLATU;
+
+__sfr __at (0xFFC) STKPTR;
+volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
+
+__sfr __at (0xFFD) TOS;
+
+__sfr __at (0xFFD) TOSL;
+
+__sfr __at (0xFFE) TOSH;
+
+__sfr __at (0xFFF) TOSU;
+
+
--- /dev/null
+/*
+ * pic18f96j65.c - device specific definitions
+ */
+
+#include "pic18f96j60.c"
+
--- /dev/null
+/*
+ * pic18f97j60.c - device specific definitions
+ */
+
+#include "pic18f96j60.c"
+
#else
__asm
movlw 0x00
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
btfsc _ADCON0bits, 0
#else /* all other devices */
btfsc _ADCON0bits, 2
ADCON1 = 0;
/* setup channel */
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
ADCON0 |= (channel & 0x07) << 2;
#else /* all other devices */
ADCON0 |= (channel & 0x07) << 3;
#endif
/* setup fosc */
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
ADCON2 |= (fosc & 0x03);
#else /* all other devices */
ADCON0 |= (fosc & 0x03) << 6;
#endif
/* setup reference and pins */
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
ADCON1 |= pcfg & 0x3f;
#else /* all other devices */
ADCON1 |= pcfg & 0x0f;
#endif
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
ADCON2 |= (config & ADC_FRM_RJUST);
#else /* all other devices */
ADCON1 |= (config & ADC_FRM_RJUST);
void adc_setchannel(unsigned char channel) __naked
{
#if 0
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
ADCON0 &= ~(0xf << 2);
ADCON0 |= channel << 2;
#else /* all other devices */
(void)channel;
__asm
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
movlw 0xc3
#else /* all other devices */
movlw 0xc7
movlw 0x01
movf _PLUSW1, w
-#if defined(__SDCC_ADC_STYLE2455)
+#if defined(__SDCC_ADC_STYLE2455) || defined(__SDCC_ADC_STYLE97J60)
#else /* all other devices */
rlcf _WREG, w
#endif
SSPCON2 = 0;
SSPCON1 |= mode;
SSPSTAT |= slew;
-
-
+
+
#if defined(pic18f2455) || defined (pic18f2550) \
- || defined(pic18f4455) || defined (pic18f4550)
+ || defined(pic18f4455) || defined (pic18f4550) \
+ || defined(pic18f66j60) || defined(pic18f66j65) || defined(pic18f67j60) \
+ || defined(pic18f86j60) || defined(pic18f86j65) || defined(pic18f87j60) \
+ || defined(pic18f96j60) || defined(pic18f96j65) || defined(pic18f97j60)
TRISBbits.TRISB1 = 1;
TRISBbits.TRISB0 = 1;
{
TXSTA = 0; // Reset USART registers to POR state
RCSTA = 0;
-
+
if(config&0x01)TXSTAbits.SYNC = 1;
if(config&0x02) {
else TXSTAbits.BRGH = 0;
/* TX interrupts */
+#if defined(pic18f66j60) || defined(pic18f66j65) || \
+ defined(pic18f67j60) || defined(pic18f86j60) || \
+ defined(pic18f86j65) || defined(pic18f87j60) || \
+ defined(pic18f96j60) || defined(pic18f96j65) || \
+ defined(pic18f97j60)
+
+ PIR1bits.TXIF_PIR1 = 0;
+
+#else /* all other devices */
+
PIR1bits.TXIF = 0;
+#endif
+
if(config&0x40)PIE1bits.RCIE = 1;
else PIE1bits.RCIE = 0;
/* RX interrupts */
PIR1bits.RCIF = 0;
+#if defined(pic18f66j60) || defined(pic18f66j65) || \
+ defined(pic18f67j60) || defined(pic18f86j60) || \
+ defined(pic18f86j65) || defined(pic18f87j60) || \
+ defined(pic18f96j60) || defined(pic18f96j65) || \
+ defined(pic18f97j60)
+
+ if(config&0x80)PIE1bits.TXIE_PIE1 = 1;
+ else PIE1bits.TXIE_PIE1 = 0;
+
+#else /* all other devices */
+
if(config&0x80)PIE1bits.TXIE = 1;
else PIE1bits.TXIE = 0;
+#endif
+
SPBRG = (char)spbrg;
TXSTAbits.TXEN = 1;
6585
6620
6680
+66j60
+66j65
6720
+67j60
8520
8585
8620
8680
+86j60
+86j65
8720
+87j60
+96j60
+96j65
+97j60