Imported Upstream version 2.9.0
[debian/cc1111] / device / include / pic16 / pic18f66j60.h
1 /*
2  * pic18f66j60.h - device specific declarations
3  *
4  * This file is part of the GNU PIC library for SDCC,
5  * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
6  *
7  * It has been automatically generated by inc2h-pic16.pl,
8  * (c) 2007 by Raphael Neider <rneider AT web.de>
9  */
10
11 #ifndef __PIC18F66J60_H__
12 #define __PIC18F66J60_H__ 1
13
14 #define _DEVID1                 0x3FFFFE
15 #define _DEVID2                 0x3FFFFF
16
17 extern __sfr __at (0xE80) MAADR5;
18
19 extern __sfr __at (0xE81) MAADR6;
20
21 extern __sfr __at (0xE82) MAADR3;
22
23 extern __sfr __at (0xE83) MAADR4;
24
25 extern __sfr __at (0xE84) MAADR1;
26
27 extern __sfr __at (0xE85) MAADR2;
28
29 extern __sfr __at (0xE86) EBSTSD;
30
31 extern __sfr __at (0xE87) EBSTCON;
32 typedef union {
33         struct {
34                 unsigned BISTST         : 1;
35                 unsigned TME            : 1;
36                 unsigned TMSEL0         : 1;
37                 unsigned TMSEL1         : 1;
38                 unsigned                : 1;
39                 unsigned PSV0           : 1;
40                 unsigned PSV1           : 1;
41                 unsigned PSV2           : 1;
42         };
43         struct {
44                 unsigned                : 1;
45                 unsigned                : 1;
46                 unsigned TMSEL          : 1;
47                 unsigned                : 1;
48                 unsigned                : 1;
49                 unsigned PSV            : 1;
50                 unsigned                : 1;
51                 unsigned                : 1;
52         };
53 } __EBSTCONbits_t;
54 extern volatile __EBSTCONbits_t __at (0xE87) EBSTCONbits;
55
56 extern __sfr __at (0xE88) EBSTCS;
57
58 extern __sfr __at (0xE88) EBSTCSL;
59
60 extern __sfr __at (0xE89) EBSTCSH;
61
62 extern __sfr __at (0xE8A) MISTAT;
63 typedef union {
64         struct {
65                 unsigned BUSY           : 1;
66                 unsigned SCAN           : 1;
67                 unsigned NVALID         : 1;
68                 unsigned LINKFL         : 1;
69                 unsigned                : 1;
70                 unsigned                : 1;
71                 unsigned                : 1;
72                 unsigned                : 1;
73         };
74 } __MISTATbits_t;
75 extern volatile __MISTATbits_t __at (0xE8A) MISTATbits;
76
77 extern __sfr __at (0xE97) EFLOCON;
78 typedef union {
79         struct {
80                 unsigned FCEN0          : 1;
81                 unsigned FCEN1          : 1;
82                 unsigned FULDPXS        : 1;
83                 unsigned                : 1;
84                 unsigned                : 1;
85                 unsigned                : 1;
86                 unsigned                : 1;
87                 unsigned                : 1;
88         };
89 } __EFLOCONbits_t;
90 extern volatile __EFLOCONbits_t __at (0xE97) EFLOCONbits;
91
92 extern __sfr __at (0xE98) EPAUS;
93
94 extern __sfr __at (0xE98) EPAUSL;
95
96 extern __sfr __at (0xE99) EPAUSH;
97
98 extern __sfr __at (0xEA0) MACON1;
99 typedef union {
100         struct {
101                 unsigned MARXEN         : 1;
102                 unsigned PASSALL        : 1;
103                 unsigned RXPAUS         : 1;
104                 unsigned TXPAUS         : 1;
105                 unsigned                : 1;
106                 unsigned                : 1;
107                 unsigned                : 1;
108                 unsigned                : 1;
109         };
110 } __MACON1bits_t;
111 extern volatile __MACON1bits_t __at (0xEA0) MACON1bits;
112
113 extern __sfr __at (0xEA1) MACON2;
114 typedef union {
115         struct {
116                 unsigned TFUNRST        : 1;
117                 unsigned MATXRST        : 1;
118                 unsigned RFUNRST        : 1;
119                 unsigned MARXRST        : 1;
120                 unsigned                : 1;
121                 unsigned                : 1;
122                 unsigned RNDRST         : 1;
123                 unsigned MARST          : 1;
124         };
125 } __MACON2bits_t;
126 extern volatile __MACON2bits_t __at (0xEA1) MACON2bits;
127
128 extern __sfr __at (0xEA2) MACON3;
129 typedef union {
130         struct {
131                 unsigned FULDPX         : 1;
132                 unsigned FRMLNEN        : 1;
133                 unsigned HFRMEN         : 1;
134                 unsigned PHDRLEN        : 1;
135                 unsigned TXCRCEN        : 1;
136                 unsigned PADCFG0        : 1;
137                 unsigned PADCFG1        : 1;
138                 unsigned PADCFG2        : 1;
139         };
140         struct {
141                 unsigned                : 1;
142                 unsigned                : 1;
143                 unsigned                : 1;
144                 unsigned                : 1;
145                 unsigned                : 1;
146                 unsigned PADCFG         : 1;
147                 unsigned                : 1;
148                 unsigned                : 1;
149         };
150 } __MACON3bits_t;
151 extern volatile __MACON3bits_t __at (0xEA2) MACON3bits;
152
153 extern __sfr __at (0xEA3) MACON4;
154 typedef union {
155         struct {
156                 unsigned                : 1;
157                 unsigned                : 1;
158                 unsigned                : 1;
159                 unsigned                : 1;
160                 unsigned NOBKOFF        : 1;
161                 unsigned BPEN           : 1;
162                 unsigned DEFER          : 1;
163                 unsigned                : 1;
164         };
165 } __MACON4bits_t;
166 extern volatile __MACON4bits_t __at (0xEA3) MACON4bits;
167
168 extern __sfr __at (0xEA4) MABBIPG;
169
170 extern __sfr __at (0xEA6) MAIPG;
171
172 extern __sfr __at (0xEA6) MAIPGL;
173
174 extern __sfr __at (0xEA7) MAIPGH;
175
176 extern __sfr __at (0xEA8) MACLCON1;
177 typedef union {
178         struct {
179                 unsigned RETMAX         : 1;
180                 unsigned                : 1;
181                 unsigned                : 1;
182                 unsigned                : 1;
183                 unsigned                : 1;
184                 unsigned                : 1;
185                 unsigned                : 1;
186                 unsigned                : 1;
187         };
188 } __MACLCON1bits_t;
189 extern volatile __MACLCON1bits_t __at (0xEA8) MACLCON1bits;
190
191 extern __sfr __at (0xEA9) MACLCON2;
192 typedef union {
193         struct {
194                 unsigned COLWIN         : 1;
195                 unsigned                : 1;
196                 unsigned                : 1;
197                 unsigned                : 1;
198                 unsigned                : 1;
199                 unsigned                : 1;
200                 unsigned                : 1;
201                 unsigned                : 1;
202         };
203 } __MACLCON2bits_t;
204 extern volatile __MACLCON2bits_t __at (0xEA9) MACLCON2bits;
205
206 extern __sfr __at (0xEAA) MAMXFL;
207
208 extern __sfr __at (0xEAA) MAMXFLL;
209
210 extern __sfr __at (0xEAB) MAMXFLH;
211
212 extern __sfr __at (0xEB1) MICON;
213 typedef union {
214         struct {
215                 unsigned                : 1;
216                 unsigned                : 1;
217                 unsigned                : 1;
218                 unsigned                : 1;
219                 unsigned                : 1;
220                 unsigned                : 1;
221                 unsigned                : 1;
222                 unsigned RSTMII         : 1;
223         };
224 } __MICONbits_t;
225 extern volatile __MICONbits_t __at (0xEB1) MICONbits;
226
227 extern __sfr __at (0xEB2) MICMD;
228 typedef union {
229         struct {
230                 unsigned MIIRD          : 1;
231                 unsigned MIISCAN        : 1;
232                 unsigned                : 1;
233                 unsigned                : 1;
234                 unsigned                : 1;
235                 unsigned                : 1;
236                 unsigned                : 1;
237                 unsigned                : 1;
238         };
239 } __MICMDbits_t;
240 extern volatile __MICMDbits_t __at (0xEB2) MICMDbits;
241
242 extern __sfr __at (0xEB4) MIREGADR;
243
244 extern __sfr __at (0xEB6) MIWR;
245
246 extern __sfr __at (0xEB6) MIWRL;
247
248 extern __sfr __at (0xEB7) MIWRH;
249
250 extern __sfr __at (0xEB8) MIRD;
251
252 extern __sfr __at (0xEB8) MIRDL;
253
254 extern __sfr __at (0xEB9) MIRDH;
255
256 extern __sfr __at (0xEC0) EHT0;
257
258 extern __sfr __at (0xEC1) EHT1;
259
260 extern __sfr __at (0xEC2) EHT2;
261
262 extern __sfr __at (0xEC3) EHT3;
263
264 extern __sfr __at (0xEC4) EHT4;
265
266 extern __sfr __at (0xEC5) EHT5;
267
268 extern __sfr __at (0xEC6) EHT6;
269
270 extern __sfr __at (0xEC7) EHT7;
271
272 extern __sfr __at (0xEC8) EPMM0;
273
274 extern __sfr __at (0xEC9) EPMM1;
275
276 extern __sfr __at (0xECA) EPMM2;
277
278 extern __sfr __at (0xECB) EPMM3;
279
280 extern __sfr __at (0xECC) EPMM4;
281
282 extern __sfr __at (0xECD) EPMM5;
283
284 extern __sfr __at (0xECE) EPMM6;
285
286 extern __sfr __at (0xECF) EPMM7;
287
288 extern __sfr __at (0xED0) EPMCS;
289
290 extern __sfr __at (0xED0) EPMCSL;
291
292 extern __sfr __at (0xED1) EPMCSH;
293
294 extern __sfr __at (0xED4) EPMO;
295
296 extern __sfr __at (0xED4) EPMOL;
297
298 extern __sfr __at (0xED5) EPMOH;
299
300 extern __sfr __at (0xED6) EWOLIE;
301 typedef union {
302         struct {
303                 unsigned BCWOLIE        : 1;
304                 unsigned MCWOLIE        : 1;
305                 unsigned HTWOLIE        : 1;
306                 unsigned MPWOLIE        : 1;
307                 unsigned PMWOLIE        : 1;
308                 unsigned                : 1;
309                 unsigned AWOLIE         : 1;
310                 unsigned UCWOLIE        : 1;
311         };
312 } __EWOLIEbits_t;
313 extern volatile __EWOLIEbits_t __at (0xED6) EWOLIEbits;
314
315 extern __sfr __at (0xED7) EWOLIR;
316 typedef union {
317         struct {
318                 unsigned BCWOLIF        : 1;
319                 unsigned MCWOLIF        : 1;
320                 unsigned HTWOLIF        : 1;
321                 unsigned MPWOLIF        : 1;
322                 unsigned PMWOLIF        : 1;
323                 unsigned                : 1;
324                 unsigned AWOLIF         : 1;
325                 unsigned UCWOLIF        : 1;
326         };
327 } __EWOLIRbits_t;
328 extern volatile __EWOLIRbits_t __at (0xED7) EWOLIRbits;
329
330 extern __sfr __at (0xED8) ERXFCON;
331 typedef union {
332         struct {
333                 unsigned BCEN           : 1;
334                 unsigned MCEN           : 1;
335                 unsigned HTEN           : 1;
336                 unsigned MPEN           : 1;
337                 unsigned PMEN           : 1;
338                 unsigned CRCEN          : 1;
339                 unsigned ANDOR          : 1;
340                 unsigned UCEN           : 1;
341         };
342 } __ERXFCONbits_t;
343 extern volatile __ERXFCONbits_t __at (0xED8) ERXFCONbits;
344
345 extern __sfr __at (0xED9) EPKTCNT;
346
347 extern __sfr __at (0xEE2) EWRPT;
348
349 extern __sfr __at (0xEE2) EWRPTL;
350
351 extern __sfr __at (0xEE3) EWRPTH;
352
353 extern __sfr __at (0xEE4) ETXST;
354
355 extern __sfr __at (0xEE4) ETXSTL;
356
357 extern __sfr __at (0xEE5) ETXSTH;
358
359 extern __sfr __at (0xEE6) ETXND;
360
361 extern __sfr __at (0xEE6) ETXNDL;
362
363 extern __sfr __at (0xEE7) ETXNDH;
364
365 extern __sfr __at (0xEE8) ERXST;
366
367 extern __sfr __at (0xEE8) ERXSTL;
368
369 extern __sfr __at (0xEE9) ERXSTH;
370
371 extern __sfr __at (0xEEA) ERXND;
372
373 extern __sfr __at (0xEEA) ERXNDL;
374
375 extern __sfr __at (0xEEB) ERXNDH;
376
377 extern __sfr __at (0xEEC) ERXRDPT;
378
379 extern __sfr __at (0xEEC) ERXRDPTL;
380
381 extern __sfr __at (0xEED) ERXRDPTH;
382
383 extern __sfr __at (0xEEE) ERXWRPT;
384
385 extern __sfr __at (0xEEE) ERXWRPTL;
386
387 extern __sfr __at (0xEEF) ERXWRPTH;
388
389 extern __sfr __at (0xEF0) EDMAST;
390
391 extern __sfr __at (0xEF0) EDMASTL;
392
393 extern __sfr __at (0xEF1) EDMASTH;
394
395 extern __sfr __at (0xEF2) EDMAND;
396
397 extern __sfr __at (0xEF2) EDMANDL;
398
399 extern __sfr __at (0xEF3) EDMANDH;
400
401 extern __sfr __at (0xEF4) EDMADST;
402
403 extern __sfr __at (0xEF4) EDMADSTL;
404
405 extern __sfr __at (0xEF5) EDMADSTH;
406
407 extern __sfr __at (0xEF6) EDMACS;
408
409 extern __sfr __at (0xEF6) EDMACSL;
410
411 extern __sfr __at (0xEF7) EDMACSH;
412
413 extern __sfr __at (0xEFB) EIE;
414 typedef union {
415         struct {
416                 unsigned RXERIE         : 1;
417                 unsigned TXERIE         : 1;
418                 unsigned                : 1;
419                 unsigned TXIE_EIE       : 1;
420                 unsigned LINKIE         : 1;
421                 unsigned DMAIE          : 1;
422                 unsigned PKTIE          : 1;
423                 unsigned                : 1;
424         };
425 } __EIEbits_t;
426 extern volatile __EIEbits_t __at (0xEFB) EIEbits;
427
428 extern __sfr __at (0xEFD) ESTAT;
429 typedef union {
430         struct {
431                 unsigned PHYRDY         : 1;
432                 unsigned TXABRT         : 1;
433                 unsigned RXBUSY         : 1;
434                 unsigned                : 1;
435                 unsigned LATECOL        : 1;
436                 unsigned                : 1;
437                 unsigned BUFER          : 1;
438                 unsigned                : 1;
439         };
440 } __ESTATbits_t;
441 extern volatile __ESTATbits_t __at (0xEFD) ESTATbits;
442
443 extern __sfr __at (0xEFE) ECON2;
444 typedef union {
445         struct {
446                 unsigned                : 1;
447                 unsigned                : 1;
448                 unsigned                : 1;
449                 unsigned                : 1;
450                 unsigned                : 1;
451                 unsigned ETHEN          : 1;
452                 unsigned PKTDEC         : 1;
453                 unsigned AUTOINC        : 1;
454         };
455 } __ECON2bits_t;
456 extern volatile __ECON2bits_t __at (0xEFE) ECON2bits;
457
458 extern __sfr __at (0xF60) EIR;
459 typedef union {
460         struct {
461                 unsigned RXERIF         : 1;
462                 unsigned TXERIF         : 1;
463                 unsigned                : 1;
464                 unsigned TXIF_EIR       : 1;
465                 unsigned LINKIF         : 1;
466                 unsigned DMAIF          : 1;
467                 unsigned PKTIF          : 1;
468                 unsigned                : 1;
469         };
470 } __EIRbits_t;
471 extern volatile __EIRbits_t __at (0xF60) EIRbits;
472
473 extern __sfr __at (0xF61) EDATA;
474 typedef union {
475         struct {
476                 unsigned EDATA0         : 1;
477                 unsigned EDATA1         : 1;
478                 unsigned EDATA2         : 1;
479                 unsigned EDATA3         : 1;
480                 unsigned EDATA4         : 1;
481                 unsigned EDATA5         : 1;
482                 unsigned EDATA6         : 1;
483                 unsigned EDATA7         : 1;
484         };
485 } __EDATAbits_t;
486 extern volatile __EDATAbits_t __at (0xF61) EDATAbits;
487
488 extern __sfr __at (0xF67) ECCP2DEL;
489 typedef union {
490         struct {
491                 unsigned PDC0           : 1;
492                 unsigned PDC1           : 1;
493                 unsigned PDC2           : 1;
494                 unsigned PDC3           : 1;
495                 unsigned PDC4           : 1;
496                 unsigned PDC5           : 1;
497                 unsigned PDC6           : 1;
498                 unsigned PRSEN          : 1;
499         };
500         struct {
501                 unsigned P2DC0          : 1;
502                 unsigned P2DC1          : 1;
503                 unsigned P2DC2          : 1;
504                 unsigned P2DC3          : 1;
505                 unsigned P2DC4          : 1;
506                 unsigned P2DC5          : 1;
507                 unsigned P2DC6          : 1;
508                 unsigned P2RSEN         : 1;
509         };
510 } __ECCP2DELbits_t;
511 extern volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
512
513 extern __sfr __at (0xF68) ECCP2AS;
514 typedef union {
515         struct {
516                 unsigned PSSBD0         : 1;
517                 unsigned PSSBD1         : 1;
518                 unsigned PSSAC0         : 1;
519                 unsigned PSSAC1         : 1;
520                 unsigned ECCPAS0        : 1;
521                 unsigned ECCPAS1        : 1;
522                 unsigned ECCPAS2        : 1;
523                 unsigned ECCPASE        : 1;
524         };
525         struct {
526                 unsigned PSS2BD0        : 1;
527                 unsigned PSS2BD1        : 1;
528                 unsigned PSS2AC0        : 1;
529                 unsigned PSS2AC1        : 1;
530                 unsigned ECCP2AS0       : 1;
531                 unsigned ECCP2AS1       : 1;
532                 unsigned ECCP2AS2       : 1;
533                 unsigned ECCP2ASE       : 1;
534         };
535 } __ECCP2ASbits_t;
536 extern volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
537
538 extern __sfr __at (0xF69) ECCP3DEL;
539 typedef union {
540         struct {
541                 unsigned PDC0           : 1;
542                 unsigned PDC1           : 1;
543                 unsigned PDC2           : 1;
544                 unsigned PDC3           : 1;
545                 unsigned PDC4           : 1;
546                 unsigned PDC5           : 1;
547                 unsigned PDC6           : 1;
548                 unsigned PRSEN          : 1;
549         };
550         struct {
551                 unsigned P3DC0          : 1;
552                 unsigned P3DC1          : 1;
553                 unsigned P3DC2          : 1;
554                 unsigned P3DC3          : 1;
555                 unsigned P3DC4          : 1;
556                 unsigned P3DC5          : 1;
557                 unsigned P3DC6          : 1;
558                 unsigned P3RSEN         : 1;
559         };
560 } __ECCP3DELbits_t;
561 extern volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
562
563 extern __sfr __at (0xF6A) ECCP3AS;
564 typedef union {
565         struct {
566                 unsigned PSSBD0         : 1;
567                 unsigned PSSBD1         : 1;
568                 unsigned PSSAC0         : 1;
569                 unsigned PSSAC1         : 1;
570                 unsigned ECCPAS0        : 1;
571                 unsigned ECCPAS1        : 1;
572                 unsigned ECCPAS2        : 1;
573                 unsigned ECCPASE        : 1;
574         };
575         struct {
576                 unsigned PSS3BD0        : 1;
577                 unsigned PSS3BD1        : 1;
578                 unsigned PSS3AC0        : 1;
579                 unsigned PSS3AC1        : 1;
580                 unsigned ECCP3AS0       : 1;
581                 unsigned ECCP3AS1       : 1;
582                 unsigned ECCP3AS2       : 1;
583                 unsigned ECCP3ASE       : 1;
584         };
585 } __ECCP3ASbits_t;
586 extern volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
587
588 extern __sfr __at (0xF70) CCP5CON;
589 typedef union {
590         struct {
591                 unsigned CCP5M0         : 1;
592                 unsigned CCP5M1         : 1;
593                 unsigned CCP5M2         : 1;
594                 unsigned CCP5M3         : 1;
595                 unsigned CCP5Y          : 1;
596                 unsigned CCP5X          : 1;
597                 unsigned                : 1;
598                 unsigned                : 1;
599         };
600         struct {
601                 unsigned                : 1;
602                 unsigned                : 1;
603                 unsigned                : 1;
604                 unsigned                : 1;
605                 unsigned DC5B0          : 1;
606                 unsigned DC5B1          : 1;
607                 unsigned                : 1;
608                 unsigned                : 1;
609         };
610 } __CCP5CONbits_t;
611 extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
612
613 extern __sfr __at (0xF71) CCPR5;
614
615 extern __sfr __at (0xF71) CCPR5L;
616
617 extern __sfr __at (0xF72) CCPR5H;
618
619 extern __sfr __at (0xF73) CCP4CON;
620 typedef union {
621         struct {
622                 unsigned CCP4M0         : 1;
623                 unsigned CCP4M1         : 1;
624                 unsigned CCP4M2         : 1;
625                 unsigned CCP4M3         : 1;
626                 unsigned CCP4Y          : 1;
627                 unsigned CCP4X          : 1;
628                 unsigned                : 1;
629                 unsigned                : 1;
630         };
631         struct {
632                 unsigned                : 1;
633                 unsigned                : 1;
634                 unsigned                : 1;
635                 unsigned                : 1;
636                 unsigned DC4B0          : 1;
637                 unsigned DC4B1          : 1;
638                 unsigned                : 1;
639                 unsigned                : 1;
640         };
641 } __CCP4CONbits_t;
642 extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
643
644 extern __sfr __at (0xF74) CCPR4;
645
646 extern __sfr __at (0xF74) CCPR4L;
647
648 extern __sfr __at (0xF75) CCPR4H;
649
650 extern __sfr __at (0xF76) T4CON;
651 typedef union {
652         struct {
653                 unsigned T4CKPS0        : 1;
654                 unsigned T4CKPS1        : 1;
655                 unsigned TMR4ON         : 1;
656                 unsigned T4OUTPS0       : 1;
657                 unsigned T4OUTPS1       : 1;
658                 unsigned T4OUTPS2       : 1;
659                 unsigned T4OUTPS3       : 1;
660                 unsigned                : 1;
661         };
662 } __T4CONbits_t;
663 extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
664
665 extern __sfr __at (0xF77) PR4;
666
667 extern __sfr __at (0xF78) TMR4;
668
669 extern __sfr __at (0xF79) ECCP1DEL;
670 typedef union {
671         struct {
672                 unsigned PDC0           : 1;
673                 unsigned PDC1           : 1;
674                 unsigned PDC2           : 1;
675                 unsigned PDC3           : 1;
676                 unsigned PDC4           : 1;
677                 unsigned PDC5           : 1;
678                 unsigned PDC6           : 1;
679                 unsigned PRSEN          : 1;
680         };
681         struct {
682                 unsigned P1DC0          : 1;
683                 unsigned P1DC1          : 1;
684                 unsigned P1DC2          : 1;
685                 unsigned P1DC3          : 1;
686                 unsigned P1DC4          : 1;
687                 unsigned P1DC5          : 1;
688                 unsigned P1DC6          : 1;
689                 unsigned P1RSEN         : 1;
690         };
691 } __ECCP1DELbits_t;
692 extern volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
693
694 extern __sfr __at (0xF7A) ERDPT;
695
696 extern __sfr __at (0xF7A) ERDPTL;
697
698 extern __sfr __at (0xF7B) ERDPTH;
699
700 extern __sfr __at (0xF7E) BAUDCON;
701 typedef union {
702         struct {
703                 unsigned ABDEN          : 1;
704                 unsigned WUE            : 1;
705                 unsigned                : 1;
706                 unsigned BRG16          : 1;
707                 unsigned SCKP           : 1;
708                 unsigned RXDTP          : 1;
709                 unsigned RCMT           : 1;
710                 unsigned ABDOVF         : 1;
711         };
712         struct {
713                 unsigned                : 1;
714                 unsigned                : 1;
715                 unsigned                : 1;
716                 unsigned                : 1;
717                 unsigned TXCKP          : 1;
718                 unsigned                : 1;
719                 unsigned RCIDL          : 1;
720                 unsigned                : 1;
721         };
722 } __BAUDCONbits_t;
723 extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
724
725 extern __sfr __at (0xF7E) BAUDCON1;
726 typedef union {
727         struct {
728                 unsigned ABDEN          : 1;
729                 unsigned WUE            : 1;
730                 unsigned                : 1;
731                 unsigned BRG16          : 1;
732                 unsigned SCKP           : 1;
733                 unsigned RXDTP          : 1;
734                 unsigned RCMT           : 1;
735                 unsigned ABDOVF         : 1;
736         };
737         struct {
738                 unsigned                : 1;
739                 unsigned                : 1;
740                 unsigned                : 1;
741                 unsigned                : 1;
742                 unsigned TXCKP          : 1;
743                 unsigned                : 1;
744                 unsigned RCIDL          : 1;
745                 unsigned                : 1;
746         };
747 } __BAUDCON1bits_t;
748 extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
749
750 extern __sfr __at (0xF7E) BAUDCTL;
751 typedef union {
752         struct {
753                 unsigned ABDEN          : 1;
754                 unsigned WUE            : 1;
755                 unsigned                : 1;
756                 unsigned BRG16          : 1;
757                 unsigned SCKP           : 1;
758                 unsigned RXDTP          : 1;
759                 unsigned RCMT           : 1;
760                 unsigned ABDOVF         : 1;
761         };
762         struct {
763                 unsigned                : 1;
764                 unsigned                : 1;
765                 unsigned                : 1;
766                 unsigned                : 1;
767                 unsigned TXCKP          : 1;
768                 unsigned                : 1;
769                 unsigned RCIDL          : 1;
770                 unsigned                : 1;
771         };
772 } __BAUDCTLbits_t;
773 extern volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
774
775 extern __sfr __at (0xF7E) BAUDCTL1;
776 typedef union {
777         struct {
778                 unsigned ABDEN          : 1;
779                 unsigned WUE            : 1;
780                 unsigned                : 1;
781                 unsigned BRG16          : 1;
782                 unsigned SCKP           : 1;
783                 unsigned RXDTP          : 1;
784                 unsigned RCMT           : 1;
785                 unsigned ABDOVF         : 1;
786         };
787         struct {
788                 unsigned                : 1;
789                 unsigned                : 1;
790                 unsigned                : 1;
791                 unsigned                : 1;
792                 unsigned TXCKP          : 1;
793                 unsigned                : 1;
794                 unsigned RCIDL          : 1;
795                 unsigned                : 1;
796         };
797 } __BAUDCTL1bits_t;
798 extern volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
799
800 extern __sfr __at (0xF7F) SPBRGH;
801
802 extern __sfr __at (0xF7F) SPBRGH1;
803
804 extern __sfr __at (0xF80) PORTA;
805 typedef union {
806         struct {
807                 unsigned RA0            : 1;
808                 unsigned RA1            : 1;
809                 unsigned RA2            : 1;
810                 unsigned RA3            : 1;
811                 unsigned RA4            : 1;
812                 unsigned RA5            : 1;
813                 unsigned                : 1;
814                 unsigned                : 1;
815         };
816         struct {
817                 unsigned AN0            : 1;
818                 unsigned AN1            : 1;
819                 unsigned AN2            : 1;
820                 unsigned AN3            : 1;
821                 unsigned T0CKI          : 1;
822                 unsigned AN4            : 1;
823                 unsigned                : 1;
824                 unsigned                : 1;
825         };
826         struct {
827                 unsigned LEDA           : 1;
828                 unsigned LEDB           : 1;
829                 unsigned VREFM          : 1;
830                 unsigned VREFP          : 1;
831                 unsigned                : 1;
832                 unsigned                : 1;
833                 unsigned                : 1;
834                 unsigned                : 1;
835         };
836 } __PORTAbits_t;
837 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
838
839 extern __sfr __at (0xF81) PORTB;
840 typedef union {
841         struct {
842                 unsigned RB0            : 1;
843                 unsigned RB1            : 1;
844                 unsigned RB2            : 1;
845                 unsigned RB3            : 1;
846                 unsigned RB4            : 1;
847                 unsigned RB5            : 1;
848                 unsigned RB6            : 1;
849                 unsigned RB7            : 1;
850         };
851         struct {
852                 unsigned INT0           : 1;
853                 unsigned INT1           : 1;
854                 unsigned INT2           : 1;
855                 unsigned INT3           : 1;
856                 unsigned KBI0           : 1;
857                 unsigned KBI1           : 1;
858                 unsigned KBI2           : 1;
859                 unsigned KBI3           : 1;
860         };
861         struct {
862                 unsigned FLT0           : 1;
863                 unsigned                : 1;
864                 unsigned                : 1;
865                 unsigned                : 1;
866                 unsigned                : 1;
867                 unsigned                : 1;
868                 unsigned PGC            : 1;
869                 unsigned PGD            : 1;
870         };
871 } __PORTBbits_t;
872 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
873
874 extern __sfr __at (0xF82) PORTC;
875 typedef union {
876         struct {
877                 unsigned RC0            : 1;
878                 unsigned RC1            : 1;
879                 unsigned RC2            : 1;
880                 unsigned RC3            : 1;
881                 unsigned RC4            : 1;
882                 unsigned RC5            : 1;
883                 unsigned RC6            : 1;
884                 unsigned RC7            : 1;
885         };
886         struct {
887                 unsigned T1OSO          : 1;
888                 unsigned T1OSI          : 1;
889                 unsigned CCP1           : 1;
890                 unsigned SCK            : 1;
891                 unsigned SDI            : 1;
892                 unsigned SDO            : 1;
893                 unsigned TX             : 1;
894                 unsigned RX             : 1;
895         };
896         struct {
897                 unsigned T13CKI         : 1;
898                 unsigned CCP2           : 1;
899                 unsigned                : 1;
900                 unsigned SCL            : 1;
901                 unsigned SDA            : 1;
902                 unsigned SDO1           : 1;
903                 unsigned CK             : 1;
904                 unsigned DT             : 1;
905         };
906         struct {
907                 unsigned                : 1;
908                 unsigned                : 1;
909                 unsigned                : 1;
910                 unsigned SCK1           : 1;
911                 unsigned SDI1           : 1;
912                 unsigned                : 1;
913                 unsigned TX1            : 1;
914                 unsigned RX1            : 1;
915         };
916         struct {
917                 unsigned                : 1;
918                 unsigned                : 1;
919                 unsigned                : 1;
920                 unsigned SCL1           : 1;
921                 unsigned SDA1           : 1;
922                 unsigned                : 1;
923                 unsigned CK1            : 1;
924                 unsigned DT1            : 1;
925         };
926 } __PORTCbits_t;
927 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
928
929 extern __sfr __at (0xF83) PORTD;
930 typedef union {
931         struct {
932                 unsigned RD0            : 1;
933                 unsigned RD1            : 1;
934                 unsigned RD2            : 1;
935                 unsigned                : 1;
936                 unsigned                : 1;
937                 unsigned                : 1;
938                 unsigned                : 1;
939                 unsigned                : 1;
940         };
941         struct {
942                 unsigned                : 1;
943                 unsigned CCP3           : 1;
944                 unsigned CCP4           : 1;
945                 unsigned                : 1;
946                 unsigned                : 1;
947                 unsigned                : 1;
948                 unsigned                : 1;
949                 unsigned                : 1;
950         };
951 } __PORTDbits_t;
952 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
953
954 extern __sfr __at (0xF84) PORTE;
955 typedef union {
956         struct {
957                 unsigned RE0            : 1;
958                 unsigned RE1            : 1;
959                 unsigned RE2            : 1;
960                 unsigned RE3            : 1;
961                 unsigned RE4            : 1;
962                 unsigned RE5            : 1;
963                 unsigned                : 1;
964                 unsigned                : 1;
965         };
966 } __PORTEbits_t;
967 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
968
969 extern __sfr __at (0xF85) PORTF;
970 typedef union {
971         struct {
972                 unsigned                : 1;
973                 unsigned RF1            : 1;
974                 unsigned RF2            : 1;
975                 unsigned RF3            : 1;
976                 unsigned RF4            : 1;
977                 unsigned RF5            : 1;
978                 unsigned RF6            : 1;
979                 unsigned RF7            : 1;
980         };
981         struct {
982                 unsigned                : 1;
983                 unsigned AN6            : 1;
984                 unsigned AN7            : 1;
985                 unsigned AN8            : 1;
986                 unsigned AN9            : 1;
987                 unsigned AN10           : 1;
988                 unsigned AN11           : 1;
989                 unsigned SS             : 1;
990         };
991         struct {
992                 unsigned                : 1;
993                 unsigned                : 1;
994                 unsigned                : 1;
995                 unsigned                : 1;
996                 unsigned                : 1;
997                 unsigned CVREF          : 1;
998                 unsigned                : 1;
999                 unsigned NOT_SS         : 1;
1000         };
1001         struct {
1002                 unsigned                : 1;
1003                 unsigned                : 1;
1004                 unsigned                : 1;
1005                 unsigned                : 1;
1006                 unsigned                : 1;
1007                 unsigned                : 1;
1008                 unsigned                : 1;
1009                 unsigned SS1            : 1;
1010         };
1011         struct {
1012                 unsigned                : 1;
1013                 unsigned                : 1;
1014                 unsigned                : 1;
1015                 unsigned                : 1;
1016                 unsigned                : 1;
1017                 unsigned                : 1;
1018                 unsigned                : 1;
1019                 unsigned NOT_SS1        : 1;
1020         };
1021 } __PORTFbits_t;
1022 extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
1023
1024 extern __sfr __at (0xF86) PORTG;
1025 typedef union {
1026         struct {
1027                 unsigned                : 1;
1028                 unsigned                : 1;
1029                 unsigned                : 1;
1030                 unsigned                : 1;
1031                 unsigned RG4            : 1;
1032                 unsigned                : 1;
1033                 unsigned                : 1;
1034                 unsigned                : 1;
1035         };
1036         struct {
1037                 unsigned                : 1;
1038                 unsigned                : 1;
1039                 unsigned                : 1;
1040                 unsigned                : 1;
1041                 unsigned CCP5           : 1;
1042                 unsigned                : 1;
1043                 unsigned                : 1;
1044                 unsigned                : 1;
1045         };
1046 } __PORTGbits_t;
1047 extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
1048
1049 extern __sfr __at (0xF89) LATA;
1050 typedef union {
1051         struct {
1052                 unsigned LATA0          : 1;
1053                 unsigned LATA1          : 1;
1054                 unsigned LATA2          : 1;
1055                 unsigned LATA3          : 1;
1056                 unsigned LATA4          : 1;
1057                 unsigned LATA5          : 1;
1058                 unsigned REPU           : 1;
1059                 unsigned RDPU           : 1;
1060         };
1061 } __LATAbits_t;
1062 extern volatile __LATAbits_t __at (0xF89) LATAbits;
1063
1064 extern __sfr __at (0xF8A) LATB;
1065 typedef union {
1066         struct {
1067                 unsigned LATB0          : 1;
1068                 unsigned LATB1          : 1;
1069                 unsigned LATB2          : 1;
1070                 unsigned LATB3          : 1;
1071                 unsigned LATB4          : 1;
1072                 unsigned LATB5          : 1;
1073                 unsigned LATB6          : 1;
1074                 unsigned LATB7          : 1;
1075         };
1076 } __LATBbits_t;
1077 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
1078
1079 extern __sfr __at (0xF8B) LATC;
1080 typedef union {
1081         struct {
1082                 unsigned LATC0          : 1;
1083                 unsigned LATC1          : 1;
1084                 unsigned LATC2          : 1;
1085                 unsigned LATC3          : 1;
1086                 unsigned LATC4          : 1;
1087                 unsigned LATC5          : 1;
1088                 unsigned LATC6          : 1;
1089                 unsigned LATC7          : 1;
1090         };
1091 } __LATCbits_t;
1092 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
1093
1094 extern __sfr __at (0xF8C) LATD;
1095 typedef union {
1096         struct {
1097                 unsigned LATD0          : 1;
1098                 unsigned LATD1          : 1;
1099                 unsigned LATD2          : 1;
1100                 unsigned                : 1;
1101                 unsigned                : 1;
1102                 unsigned                : 1;
1103                 unsigned                : 1;
1104                 unsigned                : 1;
1105         };
1106 } __LATDbits_t;
1107 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
1108
1109 extern __sfr __at (0xF8D) LATE;
1110 typedef union {
1111         struct {
1112                 unsigned LATE0          : 1;
1113                 unsigned LATE1          : 1;
1114                 unsigned LATE2          : 1;
1115                 unsigned LATE3          : 1;
1116                 unsigned LATE4          : 1;
1117                 unsigned LATE5          : 1;
1118                 unsigned                : 1;
1119                 unsigned                : 1;
1120         };
1121 } __LATEbits_t;
1122 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
1123
1124 extern __sfr __at (0xF8E) LATF;
1125 typedef union {
1126         struct {
1127                 unsigned                : 1;
1128                 unsigned LATF1          : 1;
1129                 unsigned LATF2          : 1;
1130                 unsigned LATF3          : 1;
1131                 unsigned LATF4          : 1;
1132                 unsigned LATF5          : 1;
1133                 unsigned LATF6          : 1;
1134                 unsigned LATF7          : 1;
1135         };
1136 } __LATFbits_t;
1137 extern volatile __LATFbits_t __at (0xF8E) LATFbits;
1138
1139 extern __sfr __at (0xF8F) LATG;
1140 typedef union {
1141         struct {
1142                 unsigned                : 1;
1143                 unsigned                : 1;
1144                 unsigned                : 1;
1145                 unsigned                : 1;
1146                 unsigned LATG4          : 1;
1147                 unsigned                : 1;
1148                 unsigned                : 1;
1149                 unsigned                : 1;
1150         };
1151 } __LATGbits_t;
1152 extern volatile __LATGbits_t __at (0xF8F) LATGbits;
1153
1154 extern __sfr __at (0xF92) DDRA;
1155 typedef union {
1156         struct {
1157                 unsigned RA0            : 1;
1158                 unsigned RA1            : 1;
1159                 unsigned RA2            : 1;
1160                 unsigned RA3            : 1;
1161                 unsigned RA4            : 1;
1162                 unsigned RA5            : 1;
1163                 unsigned                : 1;
1164                 unsigned                : 1;
1165         };
1166 } __DDRAbits_t;
1167 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
1168
1169 extern __sfr __at (0xF92) TRISA;
1170 typedef union {
1171         struct {
1172                 unsigned TRISA0         : 1;
1173                 unsigned TRISA1         : 1;
1174                 unsigned TRISA2         : 1;
1175                 unsigned TRISA3         : 1;
1176                 unsigned TRISA4         : 1;
1177                 unsigned TRISA5         : 1;
1178                 unsigned                : 1;
1179                 unsigned                : 1;
1180         };
1181 } __TRISAbits_t;
1182 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
1183
1184 extern __sfr __at (0xF93) DDRB;
1185 typedef union {
1186         struct {
1187                 unsigned RB0            : 1;
1188                 unsigned RB1            : 1;
1189                 unsigned RB2            : 1;
1190                 unsigned RB3            : 1;
1191                 unsigned RB4            : 1;
1192                 unsigned RB5            : 1;
1193                 unsigned RB6            : 1;
1194                 unsigned RB7            : 1;
1195         };
1196 } __DDRBbits_t;
1197 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
1198
1199 extern __sfr __at (0xF93) TRISB;
1200 typedef union {
1201         struct {
1202                 unsigned TRISB0         : 1;
1203                 unsigned TRISB1         : 1;
1204                 unsigned TRISB2         : 1;
1205                 unsigned TRISB3         : 1;
1206                 unsigned TRISB4         : 1;
1207                 unsigned TRISB5         : 1;
1208                 unsigned TRISB6         : 1;
1209                 unsigned TRISB7         : 1;
1210         };
1211 } __TRISBbits_t;
1212 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
1213
1214 extern __sfr __at (0xF94) DDRC;
1215 typedef union {
1216         struct {
1217                 unsigned RC0            : 1;
1218                 unsigned RC1            : 1;
1219                 unsigned RC2            : 1;
1220                 unsigned RC3            : 1;
1221                 unsigned RC4            : 1;
1222                 unsigned RC5            : 1;
1223                 unsigned RC6            : 1;
1224                 unsigned RC7            : 1;
1225         };
1226 } __DDRCbits_t;
1227 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
1228
1229 extern __sfr __at (0xF94) TRISC;
1230 typedef union {
1231         struct {
1232                 unsigned TRISC0         : 1;
1233                 unsigned TRISC1         : 1;
1234                 unsigned TRISC2         : 1;
1235                 unsigned TRISC3         : 1;
1236                 unsigned TRISC4         : 1;
1237                 unsigned TRISC5         : 1;
1238                 unsigned TRISC6         : 1;
1239                 unsigned TRISC7         : 1;
1240         };
1241 } __TRISCbits_t;
1242 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
1243
1244 extern __sfr __at (0xF95) DDRD;
1245 typedef union {
1246         struct {
1247                 unsigned RD0            : 1;
1248                 unsigned RD1            : 1;
1249                 unsigned RD2            : 1;
1250                 unsigned                : 1;
1251                 unsigned                : 1;
1252                 unsigned                : 1;
1253                 unsigned                : 1;
1254                 unsigned                : 1;
1255         };
1256 } __DDRDbits_t;
1257 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
1258
1259 extern __sfr __at (0xF95) TRISD;
1260 typedef union {
1261         struct {
1262                 unsigned TRISD0         : 1;
1263                 unsigned TRISD1         : 1;
1264                 unsigned TRISD2         : 1;
1265                 unsigned                : 1;
1266                 unsigned                : 1;
1267                 unsigned                : 1;
1268                 unsigned                : 1;
1269                 unsigned                : 1;
1270         };
1271 } __TRISDbits_t;
1272 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
1273
1274 extern __sfr __at (0xF96) DDRE;
1275 typedef union {
1276         struct {
1277                 unsigned RE0            : 1;
1278                 unsigned RE1            : 1;
1279                 unsigned RE2            : 1;
1280                 unsigned RE3            : 1;
1281                 unsigned RE4            : 1;
1282                 unsigned RE5            : 1;
1283                 unsigned                : 1;
1284                 unsigned                : 1;
1285         };
1286 } __DDREbits_t;
1287 extern volatile __DDREbits_t __at (0xF96) DDREbits;
1288
1289 extern __sfr __at (0xF96) TRISE;
1290 typedef union {
1291         struct {
1292                 unsigned TRISE0         : 1;
1293                 unsigned TRISE1         : 1;
1294                 unsigned TRISE2         : 1;
1295                 unsigned TRISE3         : 1;
1296                 unsigned TRISE4         : 1;
1297                 unsigned TRISE5         : 1;
1298                 unsigned                : 1;
1299                 unsigned                : 1;
1300         };
1301 } __TRISEbits_t;
1302 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
1303
1304 extern __sfr __at (0xF97) DDRF;
1305 typedef union {
1306         struct {
1307                 unsigned                : 1;
1308                 unsigned RF1            : 1;
1309                 unsigned RF2            : 1;
1310                 unsigned RF3            : 1;
1311                 unsigned RF4            : 1;
1312                 unsigned RF5            : 1;
1313                 unsigned RF6            : 1;
1314                 unsigned RF7            : 1;
1315         };
1316 } __DDRFbits_t;
1317 extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
1318
1319 extern __sfr __at (0xF97) TRISF;
1320 typedef union {
1321         struct {
1322                 unsigned                : 1;
1323                 unsigned TRISF1         : 1;
1324                 unsigned TRISF2         : 1;
1325                 unsigned TRISF3         : 1;
1326                 unsigned TRISF4         : 1;
1327                 unsigned TRISF5         : 1;
1328                 unsigned TRISF6         : 1;
1329                 unsigned TRISF7         : 1;
1330         };
1331 } __TRISFbits_t;
1332 extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
1333
1334 extern __sfr __at (0xF98) DDRG;
1335 typedef union {
1336         struct {
1337                 unsigned                : 1;
1338                 unsigned                : 1;
1339                 unsigned                : 1;
1340                 unsigned                : 1;
1341                 unsigned RG4            : 1;
1342                 unsigned                : 1;
1343                 unsigned                : 1;
1344                 unsigned                : 1;
1345         };
1346 } __DDRGbits_t;
1347 extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
1348
1349 extern __sfr __at (0xF98) TRISG;
1350 typedef union {
1351         struct {
1352                 unsigned                : 1;
1353                 unsigned                : 1;
1354                 unsigned                : 1;
1355                 unsigned                : 1;
1356                 unsigned TRISG4         : 1;
1357                 unsigned                : 1;
1358                 unsigned                : 1;
1359                 unsigned                : 1;
1360         };
1361 } __TRISGbits_t;
1362 extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
1363
1364 extern __sfr __at (0xF9B) OSCTUNE;
1365 typedef union {
1366         struct {
1367                 unsigned                : 1;
1368                 unsigned                : 1;
1369                 unsigned                : 1;
1370                 unsigned                : 1;
1371                 unsigned PPRE           : 1;
1372                 unsigned PPST0          : 1;
1373                 unsigned PLLEN          : 1;
1374                 unsigned PPST1          : 1;
1375         };
1376 } __OSCTUNEbits_t;
1377 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
1378
1379 extern __sfr __at (0xF9D) PIE1;
1380 typedef union {
1381         struct {
1382                 unsigned TMR1IE         : 1;
1383                 unsigned TMR2IE         : 1;
1384                 unsigned CCP1IE         : 1;
1385                 unsigned SSPIE          : 1;
1386                 unsigned TXIE_PIE1      : 1;
1387                 unsigned RCIE           : 1;
1388                 unsigned ADIE           : 1;
1389                 unsigned                : 1;
1390         };
1391         struct {
1392                 unsigned                : 1;
1393                 unsigned                : 1;
1394                 unsigned                : 1;
1395                 unsigned SSP1IE         : 1;
1396                 unsigned TX1IE          : 1;
1397                 unsigned RC1IE          : 1;
1398                 unsigned                : 1;
1399                 unsigned                : 1;
1400         };
1401 } __PIE1bits_t;
1402 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
1403
1404 extern __sfr __at (0xF9E) PIR1;
1405 typedef union {
1406         struct {
1407                 unsigned TMR1IF         : 1;
1408                 unsigned TMR2IF         : 1;
1409                 unsigned CCP1IF         : 1;
1410                 unsigned SSPIF          : 1;
1411                 unsigned TXIF_PIR1      : 1;
1412                 unsigned RCIF           : 1;
1413                 unsigned ADIF           : 1;
1414                 unsigned                : 1;
1415         };
1416         struct {
1417                 unsigned                : 1;
1418                 unsigned                : 1;
1419                 unsigned                : 1;
1420                 unsigned SSP1IF         : 1;
1421                 unsigned TX1IF          : 1;
1422                 unsigned RC1IF          : 1;
1423                 unsigned                : 1;
1424                 unsigned                : 1;
1425         };
1426 } __PIR1bits_t;
1427 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
1428
1429 extern __sfr __at (0xF9F) IPR1;
1430 typedef union {
1431         struct {
1432                 unsigned TMR1IP         : 1;
1433                 unsigned TMR2IP         : 1;
1434                 unsigned CCP1IP         : 1;
1435                 unsigned SSPIP          : 1;
1436                 unsigned TXIP           : 1;
1437                 unsigned RCIP           : 1;
1438                 unsigned ADIP           : 1;
1439                 unsigned                : 1;
1440         };
1441         struct {
1442                 unsigned                : 1;
1443                 unsigned                : 1;
1444                 unsigned                : 1;
1445                 unsigned SSP1IP         : 1;
1446                 unsigned TX1IP          : 1;
1447                 unsigned RC1IP          : 1;
1448                 unsigned                : 1;
1449                 unsigned                : 1;
1450         };
1451 } __IPR1bits_t;
1452 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
1453
1454 extern __sfr __at (0xFA0) PIE2;
1455 typedef union {
1456         struct {
1457                 unsigned CCP2IE         : 1;
1458                 unsigned TMR3IE         : 1;
1459                 unsigned                : 1;
1460                 unsigned BCLIE          : 1;
1461                 unsigned ETHWIE         : 1;
1462                 unsigned ETHIE          : 1;
1463                 unsigned CMIE           : 1;
1464                 unsigned OSCFIE         : 1;
1465         };
1466         struct {
1467                 unsigned                : 1;
1468                 unsigned                : 1;
1469                 unsigned                : 1;
1470                 unsigned BCL1IE         : 1;
1471                 unsigned                : 1;
1472                 unsigned                : 1;
1473                 unsigned                : 1;
1474                 unsigned                : 1;
1475         };
1476 } __PIE2bits_t;
1477 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
1478
1479 extern __sfr __at (0xFA1) PIR2;
1480 typedef union {
1481         struct {
1482                 unsigned CCP2IF         : 1;
1483                 unsigned TMR3IF         : 1;
1484                 unsigned                : 1;
1485                 unsigned BCLIF          : 1;
1486                 unsigned ETHWIF         : 1;
1487                 unsigned ETHIF          : 1;
1488                 unsigned CMIF           : 1;
1489                 unsigned OSCFIF         : 1;
1490         };
1491         struct {
1492                 unsigned                : 1;
1493                 unsigned                : 1;
1494                 unsigned                : 1;
1495                 unsigned BCL1IF         : 1;
1496                 unsigned                : 1;
1497                 unsigned                : 1;
1498                 unsigned                : 1;
1499                 unsigned                : 1;
1500         };
1501 } __PIR2bits_t;
1502 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
1503
1504 extern __sfr __at (0xFA2) IPR2;
1505 typedef union {
1506         struct {
1507                 unsigned CCP2IP         : 1;
1508                 unsigned TMR3IP         : 1;
1509                 unsigned                : 1;
1510                 unsigned BCLIP          : 1;
1511                 unsigned ETHWIP         : 1;
1512                 unsigned ETHIP          : 1;
1513                 unsigned CMIP           : 1;
1514                 unsigned OSCFIP         : 1;
1515         };
1516         struct {
1517                 unsigned                : 1;
1518                 unsigned                : 1;
1519                 unsigned                : 1;
1520                 unsigned BCL1IP         : 1;
1521                 unsigned                : 1;
1522                 unsigned                : 1;
1523                 unsigned                : 1;
1524                 unsigned                : 1;
1525         };
1526 } __IPR2bits_t;
1527 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
1528
1529 extern __sfr __at (0xFA3) PIE3;
1530 typedef union {
1531         struct {
1532                 unsigned CCP3IE         : 1;
1533                 unsigned CCP4IE         : 1;
1534                 unsigned CCP5IE         : 1;
1535                 unsigned TMR4IE         : 1;
1536                 unsigned                : 1;
1537                 unsigned                : 1;
1538                 unsigned BCL2IE         : 1;
1539                 unsigned                : 1;
1540         };
1541 } __PIE3bits_t;
1542 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
1543
1544 extern __sfr __at (0xFA4) PIR3;
1545 typedef union {
1546         struct {
1547                 unsigned CCP3IF         : 1;
1548                 unsigned CCP4IF         : 1;
1549                 unsigned CCP5IF         : 1;
1550                 unsigned TMR4IF         : 1;
1551                 unsigned                : 1;
1552                 unsigned                : 1;
1553                 unsigned BCL2IF         : 1;
1554                 unsigned                : 1;
1555         };
1556 } __PIR3bits_t;
1557 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
1558
1559 extern __sfr __at (0xFA5) IPR3;
1560 typedef union {
1561         struct {
1562                 unsigned CCP3IP         : 1;
1563                 unsigned CCP4IP         : 1;
1564                 unsigned CCP5IP         : 1;
1565                 unsigned TMR4IP         : 1;
1566                 unsigned                : 1;
1567                 unsigned                : 1;
1568                 unsigned BCL2IP         : 1;
1569                 unsigned                : 1;
1570         };
1571 } __IPR3bits_t;
1572 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
1573
1574 extern __sfr __at (0xFA6) EECON1;
1575 typedef union {
1576         struct {
1577                 unsigned                : 1;
1578                 unsigned WR             : 1;
1579                 unsigned WREN           : 1;
1580                 unsigned WRERR          : 1;
1581                 unsigned FREE           : 1;
1582                 unsigned                : 1;
1583                 unsigned                : 1;
1584                 unsigned                : 1;
1585         };
1586 } __EECON1bits_t;
1587 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
1588
1589 extern __sfr __at (0xFA7) EECON2;
1590
1591 extern __sfr __at (0xFAB) RCSTA;
1592 typedef union {
1593         struct {
1594                 unsigned RX9D           : 1;
1595                 unsigned OERR           : 1;
1596                 unsigned FERR           : 1;
1597                 unsigned ADDEN          : 1;
1598                 unsigned CREN           : 1;
1599                 unsigned SREN           : 1;
1600                 unsigned RX9            : 1;
1601                 unsigned SPEN           : 1;
1602         };
1603         struct {
1604                 unsigned RCD8           : 1;
1605                 unsigned                : 1;
1606                 unsigned                : 1;
1607                 unsigned                : 1;
1608                 unsigned                : 1;
1609                 unsigned                : 1;
1610                 unsigned RC9            : 1;
1611                 unsigned                : 1;
1612         };
1613         struct {
1614                 unsigned                : 1;
1615                 unsigned                : 1;
1616                 unsigned                : 1;
1617                 unsigned                : 1;
1618                 unsigned                : 1;
1619                 unsigned                : 1;
1620                 unsigned NOT_RC8        : 1;
1621                 unsigned                : 1;
1622         };
1623         struct {
1624                 unsigned                : 1;
1625                 unsigned                : 1;
1626                 unsigned                : 1;
1627                 unsigned                : 1;
1628                 unsigned                : 1;
1629                 unsigned                : 1;
1630                 unsigned RC8_9          : 1;
1631                 unsigned                : 1;
1632         };
1633 } __RCSTAbits_t;
1634 extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
1635
1636 extern __sfr __at (0xFAB) RCSTA1;
1637 typedef union {
1638         struct {
1639                 unsigned RX9D           : 1;
1640                 unsigned OERR           : 1;
1641                 unsigned FERR           : 1;
1642                 unsigned ADDEN          : 1;
1643                 unsigned CREN           : 1;
1644                 unsigned SREN           : 1;
1645                 unsigned RX9            : 1;
1646                 unsigned SPEN           : 1;
1647         };
1648         struct {
1649                 unsigned RCD8           : 1;
1650                 unsigned                : 1;
1651                 unsigned                : 1;
1652                 unsigned                : 1;
1653                 unsigned                : 1;
1654                 unsigned                : 1;
1655                 unsigned RC9            : 1;
1656                 unsigned                : 1;
1657         };
1658         struct {
1659                 unsigned                : 1;
1660                 unsigned                : 1;
1661                 unsigned                : 1;
1662                 unsigned                : 1;
1663                 unsigned                : 1;
1664                 unsigned                : 1;
1665                 unsigned NOT_RC8        : 1;
1666                 unsigned                : 1;
1667         };
1668         struct {
1669                 unsigned                : 1;
1670                 unsigned                : 1;
1671                 unsigned                : 1;
1672                 unsigned                : 1;
1673                 unsigned                : 1;
1674                 unsigned                : 1;
1675                 unsigned RC8_9          : 1;
1676                 unsigned                : 1;
1677         };
1678 } __RCSTA1bits_t;
1679 extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
1680
1681 extern __sfr __at (0xFAC) TXSTA;
1682 typedef union {
1683         struct {
1684                 unsigned TX9D           : 1;
1685                 unsigned TRMT           : 1;
1686                 unsigned BRGH           : 1;
1687                 unsigned SENDB          : 1;
1688                 unsigned SYNC           : 1;
1689                 unsigned TXEN           : 1;
1690                 unsigned TX9            : 1;
1691                 unsigned CSRC           : 1;
1692         };
1693         struct {
1694                 unsigned TXD8           : 1;
1695                 unsigned                : 1;
1696                 unsigned                : 1;
1697                 unsigned                : 1;
1698                 unsigned                : 1;
1699                 unsigned                : 1;
1700                 unsigned TX8_9          : 1;
1701                 unsigned                : 1;
1702         };
1703         struct {
1704                 unsigned                : 1;
1705                 unsigned                : 1;
1706                 unsigned                : 1;
1707                 unsigned                : 1;
1708                 unsigned                : 1;
1709                 unsigned                : 1;
1710                 unsigned NOT_TX8        : 1;
1711                 unsigned                : 1;
1712         };
1713 } __TXSTAbits_t;
1714 extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
1715
1716 extern __sfr __at (0xFAC) TXSTA1;
1717 typedef union {
1718         struct {
1719                 unsigned TX9D           : 1;
1720                 unsigned TRMT           : 1;
1721                 unsigned BRGH           : 1;
1722                 unsigned SENDB          : 1;
1723                 unsigned SYNC           : 1;
1724                 unsigned TXEN           : 1;
1725                 unsigned TX9            : 1;
1726                 unsigned CSRC           : 1;
1727         };
1728         struct {
1729                 unsigned TXD8           : 1;
1730                 unsigned                : 1;
1731                 unsigned                : 1;
1732                 unsigned                : 1;
1733                 unsigned                : 1;
1734                 unsigned                : 1;
1735                 unsigned TX8_9          : 1;
1736                 unsigned                : 1;
1737         };
1738         struct {
1739                 unsigned                : 1;
1740                 unsigned                : 1;
1741                 unsigned                : 1;
1742                 unsigned                : 1;
1743                 unsigned                : 1;
1744                 unsigned                : 1;
1745                 unsigned NOT_TX8        : 1;
1746                 unsigned                : 1;
1747         };
1748 } __TXSTA1bits_t;
1749 extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
1750
1751 extern __sfr __at (0xFAD) TXREG;
1752
1753 extern __sfr __at (0xFAD) TXREG1;
1754
1755 extern __sfr __at (0xFAE) RCREG;
1756
1757 extern __sfr __at (0xFAE) RCREG1;
1758
1759 extern __sfr __at (0xFAF) SPBRG;
1760
1761 extern __sfr __at (0xFAF) SPBRG1;
1762
1763 extern __sfr __at (0xFB1) T3CON;
1764 typedef union {
1765         struct {
1766                 unsigned TMR3ON         : 1;
1767                 unsigned TMR3CS         : 1;
1768                 unsigned T3SYNC         : 1;
1769                 unsigned T3CCP1         : 1;
1770                 unsigned T3CKPS0        : 1;
1771                 unsigned T3CKPS1        : 1;
1772                 unsigned T3CCP2         : 1;
1773                 unsigned RD16           : 1;
1774         };
1775         struct {
1776                 unsigned                : 1;
1777                 unsigned                : 1;
1778                 unsigned T3INSYNC       : 1;
1779                 unsigned                : 1;
1780                 unsigned                : 1;
1781                 unsigned                : 1;
1782                 unsigned                : 1;
1783                 unsigned                : 1;
1784         };
1785         struct {
1786                 unsigned                : 1;
1787                 unsigned                : 1;
1788                 unsigned NOT_T3SYNC     : 1;
1789                 unsigned                : 1;
1790                 unsigned                : 1;
1791                 unsigned                : 1;
1792                 unsigned                : 1;
1793                 unsigned                : 1;
1794         };
1795 } __T3CONbits_t;
1796 extern volatile __T3CONbits_t __at (0xFB1) T3CONbits;
1797
1798 extern __sfr __at (0xFB2) TMR3L;
1799
1800 extern __sfr __at (0xFB3) TMR3H;
1801
1802 extern __sfr __at (0xFB4) CMCON;
1803 typedef union {
1804         struct {
1805                 unsigned CM0            : 1;
1806                 unsigned CM1            : 1;
1807                 unsigned CM2            : 1;
1808                 unsigned CIS            : 1;
1809                 unsigned C1INV          : 1;
1810                 unsigned C2INV          : 1;
1811                 unsigned C1OUT          : 1;
1812                 unsigned C2OUT          : 1;
1813         };
1814 } __CMCONbits_t;
1815 extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
1816
1817 extern __sfr __at (0xFB5) CVRCON;
1818 typedef union {
1819         struct {
1820                 unsigned CVR0           : 1;
1821                 unsigned CVR1           : 1;
1822                 unsigned CVR2           : 1;
1823                 unsigned CVR3           : 1;
1824                 unsigned CVRSS          : 1;
1825                 unsigned CVRR           : 1;
1826                 unsigned CVROE          : 1;
1827                 unsigned CVREN          : 1;
1828         };
1829 } __CVRCONbits_t;
1830 extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
1831
1832 extern __sfr __at (0xFB6) ECCP1AS;
1833 typedef union {
1834         struct {
1835                 unsigned PSSBD0         : 1;
1836                 unsigned PSSBD1         : 1;
1837                 unsigned PSSAC0         : 1;
1838                 unsigned PSSAC1         : 1;
1839                 unsigned ECCPAS0        : 1;
1840                 unsigned ECCPAS1        : 1;
1841                 unsigned ECCPAS2        : 1;
1842                 unsigned ECCPASE        : 1;
1843         };
1844         struct {
1845                 unsigned PSS1BD0        : 1;
1846                 unsigned PSS1BD1        : 1;
1847                 unsigned PSS1AC0        : 1;
1848                 unsigned PSS1AC1        : 1;
1849                 unsigned ECCP1AS0       : 1;
1850                 unsigned ECCP1AS1       : 1;
1851                 unsigned ECCP1AS2       : 1;
1852                 unsigned ECCP1ASE       : 1;
1853         };
1854 } __ECCP1ASbits_t;
1855 extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
1856
1857 extern __sfr __at (0xFB7) CCP3CON;
1858 typedef union {
1859         struct {
1860                 unsigned CCP3M0         : 1;
1861                 unsigned CCP3M1         : 1;
1862                 unsigned CCP3M2         : 1;
1863                 unsigned CCP3M3         : 1;
1864                 unsigned DC3B0          : 1;
1865                 unsigned DC3B1          : 1;
1866                 unsigned P3M0           : 1;
1867                 unsigned P3M1           : 1;
1868         };
1869         struct {
1870                 unsigned                : 1;
1871                 unsigned                : 1;
1872                 unsigned                : 1;
1873                 unsigned                : 1;
1874                 unsigned CCP3Y          : 1;
1875                 unsigned CCP3X          : 1;
1876                 unsigned                : 1;
1877                 unsigned                : 1;
1878         };
1879 } __CCP3CONbits_t;
1880 extern volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
1881
1882 extern __sfr __at (0xFB7) ECCP3CON;
1883 typedef union {
1884         struct {
1885                 unsigned CCP3M0         : 1;
1886                 unsigned CCP3M1         : 1;
1887                 unsigned CCP3M2         : 1;
1888                 unsigned CCP3M3         : 1;
1889                 unsigned DC3B0          : 1;
1890                 unsigned DC3B1          : 1;
1891                 unsigned P3M0           : 1;
1892                 unsigned P3M1           : 1;
1893         };
1894         struct {
1895                 unsigned                : 1;
1896                 unsigned                : 1;
1897                 unsigned                : 1;
1898                 unsigned                : 1;
1899                 unsigned CCP3Y          : 1;
1900                 unsigned CCP3X          : 1;
1901                 unsigned                : 1;
1902                 unsigned                : 1;
1903         };
1904 } __ECCP3CONbits_t;
1905 extern volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
1906
1907 extern __sfr __at (0xFB8) CCPR3;
1908
1909 extern __sfr __at (0xFB8) CCPR3L;
1910
1911 extern __sfr __at (0xFB9) CCPR3H;
1912
1913 extern __sfr __at (0xFBA) CCP2CON;
1914 typedef union {
1915         struct {
1916                 unsigned CCP2M0         : 1;
1917                 unsigned CCP2M1         : 1;
1918                 unsigned CCP2M2         : 1;
1919                 unsigned CCP2M3         : 1;
1920                 unsigned DC2B0          : 1;
1921                 unsigned DC2B1          : 1;
1922                 unsigned P2M0           : 1;
1923                 unsigned P2M1           : 1;
1924         };
1925         struct {
1926                 unsigned                : 1;
1927                 unsigned                : 1;
1928                 unsigned                : 1;
1929                 unsigned                : 1;
1930                 unsigned CCP2Y          : 1;
1931                 unsigned CCP2X          : 1;
1932                 unsigned                : 1;
1933                 unsigned                : 1;
1934         };
1935 } __CCP2CONbits_t;
1936 extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
1937
1938 extern __sfr __at (0xFBA) ECCP2CON;
1939 typedef union {
1940         struct {
1941                 unsigned CCP2M0         : 1;
1942                 unsigned CCP2M1         : 1;
1943                 unsigned CCP2M2         : 1;
1944                 unsigned CCP2M3         : 1;
1945                 unsigned DC2B0          : 1;
1946                 unsigned DC2B1          : 1;
1947                 unsigned P2M0           : 1;
1948                 unsigned P2M1           : 1;
1949         };
1950         struct {
1951                 unsigned                : 1;
1952                 unsigned                : 1;
1953                 unsigned                : 1;
1954                 unsigned                : 1;
1955                 unsigned CCP2Y          : 1;
1956                 unsigned CCP2X          : 1;
1957                 unsigned                : 1;
1958                 unsigned                : 1;
1959         };
1960 } __ECCP2CONbits_t;
1961 extern volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
1962
1963 extern __sfr __at (0xFBB) CCPR2;
1964
1965 extern __sfr __at (0xFBB) CCPR2L;
1966
1967 extern __sfr __at (0xFBC) CCPR2H;
1968
1969 extern __sfr __at (0xFBD) CCP1CON;
1970 typedef union {
1971         struct {
1972                 unsigned CCP1M0         : 1;
1973                 unsigned CCP1M1         : 1;
1974                 unsigned CCP1M2         : 1;
1975                 unsigned CCP1M3         : 1;
1976                 unsigned DC1B0          : 1;
1977                 unsigned DC1B1          : 1;
1978                 unsigned P1M0           : 1;
1979                 unsigned P1M1           : 1;
1980         };
1981         struct {
1982                 unsigned                : 1;
1983                 unsigned                : 1;
1984                 unsigned                : 1;
1985                 unsigned                : 1;
1986                 unsigned CCP1Y          : 1;
1987                 unsigned CCP1X          : 1;
1988                 unsigned                : 1;
1989                 unsigned                : 1;
1990         };
1991 } __CCP1CONbits_t;
1992 extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
1993
1994 extern __sfr __at (0xFBD) ECCP1CON;
1995 typedef union {
1996         struct {
1997                 unsigned CCP1M0         : 1;
1998                 unsigned CCP1M1         : 1;
1999                 unsigned CCP1M2         : 1;
2000                 unsigned CCP1M3         : 1;
2001                 unsigned DC1B0          : 1;
2002                 unsigned DC1B1          : 1;
2003                 unsigned P1M0           : 1;
2004                 unsigned P1M1           : 1;
2005         };
2006         struct {
2007                 unsigned                : 1;
2008                 unsigned                : 1;
2009                 unsigned                : 1;
2010                 unsigned                : 1;
2011                 unsigned CCP1Y          : 1;
2012                 unsigned CCP1X          : 1;
2013                 unsigned                : 1;
2014                 unsigned                : 1;
2015         };
2016 } __ECCP1CONbits_t;
2017 extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
2018
2019 extern __sfr __at (0xFBE) CCPR1;
2020
2021 extern __sfr __at (0xFBE) CCPR1L;
2022
2023 extern __sfr __at (0xFBF) CCPR1H;
2024
2025 extern __sfr __at (0xFC0) ADCON2;
2026 typedef union {
2027         struct {
2028                 unsigned ADCS0          : 1;
2029                 unsigned ADCS1          : 1;
2030                 unsigned ADCS2          : 1;
2031                 unsigned ACQT0          : 1;
2032                 unsigned ACQT1          : 1;
2033                 unsigned ACQT2          : 1;
2034                 unsigned                : 1;
2035                 unsigned ADFM           : 1;
2036         };
2037 } __ADCON2bits_t;
2038 extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
2039
2040 extern __sfr __at (0xFC1) ADCON1;
2041 typedef union {
2042         struct {
2043                 unsigned PCFG0          : 1;
2044                 unsigned PCFG1          : 1;
2045                 unsigned PCFG2          : 1;
2046                 unsigned PCFG3          : 1;
2047                 unsigned VCFG0          : 1;
2048                 unsigned VCFG1          : 1;
2049                 unsigned                : 1;
2050                 unsigned                : 1;
2051         };
2052 } __ADCON1bits_t;
2053 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
2054
2055 extern __sfr __at (0xFC2) ADCON0;
2056 typedef union {
2057         struct {
2058                 unsigned ADON           : 1;
2059                 unsigned DONE           : 1;
2060                 unsigned CHS0           : 1;
2061                 unsigned CHS1           : 1;
2062                 unsigned CHS2           : 1;
2063                 unsigned CHS3           : 1;
2064                 unsigned                : 1;
2065                 unsigned ADCAL          : 1;
2066         };
2067         struct {
2068                 unsigned                : 1;
2069                 unsigned GO_DONE        : 1;
2070                 unsigned                : 1;
2071                 unsigned                : 1;
2072                 unsigned                : 1;
2073                 unsigned                : 1;
2074                 unsigned                : 1;
2075                 unsigned                : 1;
2076         };
2077         struct {
2078                 unsigned                : 1;
2079                 unsigned GO             : 1;
2080                 unsigned                : 1;
2081                 unsigned                : 1;
2082                 unsigned                : 1;
2083                 unsigned                : 1;
2084                 unsigned                : 1;
2085                 unsigned                : 1;
2086         };
2087         struct {
2088                 unsigned                : 1;
2089                 unsigned NOT_DONE       : 1;
2090                 unsigned                : 1;
2091                 unsigned                : 1;
2092                 unsigned                : 1;
2093                 unsigned                : 1;
2094                 unsigned                : 1;
2095                 unsigned                : 1;
2096         };
2097 } __ADCON0bits_t;
2098 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
2099
2100 extern __sfr __at (0xFC3) ADRES;
2101
2102 extern __sfr __at (0xFC3) ADRESL;
2103
2104 extern __sfr __at (0xFC4) ADRESH;
2105
2106 extern __sfr __at (0xFC5) SSP1CON2;
2107 typedef union {
2108         struct {
2109                 unsigned SEN            : 1;
2110                 unsigned RSEN           : 1;
2111                 unsigned PEN            : 1;
2112                 unsigned RCEN           : 1;
2113                 unsigned ACKEN          : 1;
2114                 unsigned ACKDT          : 1;
2115                 unsigned ACKSTAT        : 1;
2116                 unsigned GCEN           : 1;
2117         };
2118         struct {
2119                 unsigned                : 1;
2120                 unsigned ADMSK1         : 1;
2121                 unsigned ADMSK2         : 1;
2122                 unsigned ADMSK3         : 1;
2123                 unsigned ADMSK4         : 1;
2124                 unsigned ADMSK5         : 1;
2125                 unsigned                : 1;
2126                 unsigned                : 1;
2127         };
2128         struct {
2129                 unsigned                : 1;
2130                 unsigned ADMSK          : 1;
2131                 unsigned                : 1;
2132                 unsigned                : 1;
2133                 unsigned                : 1;
2134                 unsigned                : 1;
2135                 unsigned                : 1;
2136                 unsigned                : 1;
2137         };
2138 } __SSP1CON2bits_t;
2139 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
2140
2141 extern __sfr __at (0xFC5) SSPCON2;
2142 typedef union {
2143         struct {
2144                 unsigned SEN            : 1;
2145                 unsigned RSEN           : 1;
2146                 unsigned PEN            : 1;
2147                 unsigned RCEN           : 1;
2148                 unsigned ACKEN          : 1;
2149                 unsigned ACKDT          : 1;
2150                 unsigned ACKSTAT        : 1;
2151                 unsigned GCEN           : 1;
2152         };
2153         struct {
2154                 unsigned                : 1;
2155                 unsigned ADMSK1         : 1;
2156                 unsigned ADMSK2         : 1;
2157                 unsigned ADMSK3         : 1;
2158                 unsigned ADMSK4         : 1;
2159                 unsigned ADMSK5         : 1;
2160                 unsigned                : 1;
2161                 unsigned                : 1;
2162         };
2163         struct {
2164                 unsigned                : 1;
2165                 unsigned ADMSK          : 1;
2166                 unsigned                : 1;
2167                 unsigned                : 1;
2168                 unsigned                : 1;
2169                 unsigned                : 1;
2170                 unsigned                : 1;
2171                 unsigned                : 1;
2172         };
2173 } __SSPCON2bits_t;
2174 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
2175
2176 extern __sfr __at (0xFC6) SSP1CON1;
2177 typedef union {
2178         struct {
2179                 unsigned SSPM0          : 1;
2180                 unsigned SSPM1          : 1;
2181                 unsigned SSPM2          : 1;
2182                 unsigned SSPM3          : 1;
2183                 unsigned CKP            : 1;
2184                 unsigned SSPEN          : 1;
2185                 unsigned SSPOV          : 1;
2186                 unsigned WCOL           : 1;
2187         };
2188 } __SSP1CON1bits_t;
2189 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
2190
2191 extern __sfr __at (0xFC6) SSPCON1;
2192 typedef union {
2193         struct {
2194                 unsigned SSPM0          : 1;
2195                 unsigned SSPM1          : 1;
2196                 unsigned SSPM2          : 1;
2197                 unsigned SSPM3          : 1;
2198                 unsigned CKP            : 1;
2199                 unsigned SSPEN          : 1;
2200                 unsigned SSPOV          : 1;
2201                 unsigned WCOL           : 1;
2202         };
2203 } __SSPCON1bits_t;
2204 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
2205
2206 extern __sfr __at (0xFC7) SSP1STAT;
2207 typedef union {
2208         struct {
2209                 unsigned BF             : 1;
2210                 unsigned UA             : 1;
2211                 unsigned R_W            : 1;
2212                 unsigned S              : 1;
2213                 unsigned P              : 1;
2214                 unsigned D_A            : 1;
2215                 unsigned CKE            : 1;
2216                 unsigned SMP            : 1;
2217         };
2218         struct {
2219                 unsigned                : 1;
2220                 unsigned                : 1;
2221                 unsigned I2C_READ       : 1;
2222                 unsigned I2C_START      : 1;
2223                 unsigned I2C_STOP       : 1;
2224                 unsigned I2C_DAT        : 1;
2225                 unsigned                : 1;
2226                 unsigned                : 1;
2227         };
2228         struct {
2229                 unsigned                : 1;
2230                 unsigned                : 1;
2231                 unsigned NOT_W          : 1;
2232                 unsigned                : 1;
2233                 unsigned                : 1;
2234                 unsigned NOT_A          : 1;
2235                 unsigned                : 1;
2236                 unsigned                : 1;
2237         };
2238         struct {
2239                 unsigned                : 1;
2240                 unsigned                : 1;
2241                 unsigned NOT_WRITE      : 1;
2242                 unsigned                : 1;
2243                 unsigned                : 1;
2244                 unsigned NOT_ADDRESS    : 1;
2245                 unsigned                : 1;
2246                 unsigned                : 1;
2247         };
2248         struct {
2249                 unsigned                : 1;
2250                 unsigned                : 1;
2251                 unsigned READ_WRITE     : 1;
2252                 unsigned                : 1;
2253                 unsigned                : 1;
2254                 unsigned DATA_ADDRESS   : 1;
2255                 unsigned                : 1;
2256                 unsigned                : 1;
2257         };
2258         struct {
2259                 unsigned                : 1;
2260                 unsigned                : 1;
2261                 unsigned R              : 1;
2262                 unsigned                : 1;
2263                 unsigned                : 1;
2264                 unsigned D              : 1;
2265                 unsigned                : 1;
2266                 unsigned                : 1;
2267         };
2268 } __SSP1STATbits_t;
2269 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
2270
2271 extern __sfr __at (0xFC7) SSPSTAT;
2272 typedef union {
2273         struct {
2274                 unsigned BF             : 1;
2275                 unsigned UA             : 1;
2276                 unsigned R_W            : 1;
2277                 unsigned S              : 1;
2278                 unsigned P              : 1;
2279                 unsigned D_A            : 1;
2280                 unsigned CKE            : 1;
2281                 unsigned SMP            : 1;
2282         };
2283         struct {
2284                 unsigned                : 1;
2285                 unsigned                : 1;
2286                 unsigned I2C_READ       : 1;
2287                 unsigned I2C_START      : 1;
2288                 unsigned I2C_STOP       : 1;
2289                 unsigned I2C_DAT        : 1;
2290                 unsigned                : 1;
2291                 unsigned                : 1;
2292         };
2293         struct {
2294                 unsigned                : 1;
2295                 unsigned                : 1;
2296                 unsigned NOT_W          : 1;
2297                 unsigned                : 1;
2298                 unsigned                : 1;
2299                 unsigned NOT_A          : 1;
2300                 unsigned                : 1;
2301                 unsigned                : 1;
2302         };
2303         struct {
2304                 unsigned                : 1;
2305                 unsigned                : 1;
2306                 unsigned NOT_WRITE      : 1;
2307                 unsigned                : 1;
2308                 unsigned                : 1;
2309                 unsigned NOT_ADDRESS    : 1;
2310                 unsigned                : 1;
2311                 unsigned                : 1;
2312         };
2313         struct {
2314                 unsigned                : 1;
2315                 unsigned                : 1;
2316                 unsigned READ_WRITE     : 1;
2317                 unsigned                : 1;
2318                 unsigned                : 1;
2319                 unsigned DATA_ADDRESS   : 1;
2320                 unsigned                : 1;
2321                 unsigned                : 1;
2322         };
2323         struct {
2324                 unsigned                : 1;
2325                 unsigned                : 1;
2326                 unsigned R              : 1;
2327                 unsigned                : 1;
2328                 unsigned                : 1;
2329                 unsigned D              : 1;
2330                 unsigned                : 1;
2331                 unsigned                : 1;
2332         };
2333 } __SSPSTATbits_t;
2334 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
2335
2336 extern __sfr __at (0xFC8) SSP1ADD;
2337
2338 extern __sfr __at (0xFC8) SSPADD;
2339
2340 extern __sfr __at (0xFC9) SSP1BUF;
2341
2342 extern __sfr __at (0xFC9) SSPBUF;
2343
2344 extern __sfr __at (0xFCA) T2CON;
2345 typedef union {
2346         struct {
2347                 unsigned T2CKPS0        : 1;
2348                 unsigned T2CKPS1        : 1;
2349                 unsigned TMR2ON         : 1;
2350                 unsigned T2OUTPS0       : 1;
2351                 unsigned T2OUTPS1       : 1;
2352                 unsigned T2OUTPS2       : 1;
2353                 unsigned T2OUTPS3       : 1;
2354                 unsigned                : 1;
2355         };
2356 } __T2CONbits_t;
2357 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
2358
2359 extern __sfr __at (0xFCB) PR2;
2360
2361 extern __sfr __at (0xFCC) TMR2;
2362
2363 extern __sfr __at (0xFCD) T1CON;
2364 typedef union {
2365         struct {
2366                 unsigned TMR1ON         : 1;
2367                 unsigned TMR1CS         : 1;
2368                 unsigned T1SYNC         : 1;
2369                 unsigned T1OSCEN        : 1;
2370                 unsigned T1CKPS0        : 1;
2371                 unsigned T1CKPS1        : 1;
2372                 unsigned T1RUN          : 1;
2373                 unsigned RD16           : 1;
2374         };
2375         struct {
2376                 unsigned                : 1;
2377                 unsigned                : 1;
2378                 unsigned T1INSYNC       : 1;
2379                 unsigned                : 1;
2380                 unsigned                : 1;
2381                 unsigned                : 1;
2382                 unsigned                : 1;
2383                 unsigned                : 1;
2384         };
2385         struct {
2386                 unsigned                : 1;
2387                 unsigned                : 1;
2388                 unsigned NOT_T1SYNC     : 1;
2389                 unsigned                : 1;
2390                 unsigned                : 1;
2391                 unsigned                : 1;
2392                 unsigned                : 1;
2393                 unsigned                : 1;
2394         };
2395 } __T1CONbits_t;
2396 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
2397
2398 extern __sfr __at (0xFCE) TMR1L;
2399
2400 extern __sfr __at (0xFCF) TMR1H;
2401
2402 extern __sfr __at (0xFD0) RCON;
2403 typedef union {
2404         struct {
2405                 unsigned NOT_BOR        : 1;
2406                 unsigned NOT_POR        : 1;
2407                 unsigned NOT_PD         : 1;
2408                 unsigned NOT_TO         : 1;
2409                 unsigned NOT_RI         : 1;
2410                 unsigned                : 1;
2411                 unsigned                : 1;
2412                 unsigned IPEN           : 1;
2413         };
2414         struct {
2415                 unsigned BOR            : 1;
2416                 unsigned POR            : 1;
2417                 unsigned PD             : 1;
2418                 unsigned TO             : 1;
2419                 unsigned RI             : 1;
2420                 unsigned                : 1;
2421                 unsigned                : 1;
2422                 unsigned                : 1;
2423         };
2424 } __RCONbits_t;
2425 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
2426
2427 extern __sfr __at (0xFD1) WDTCON;
2428 typedef union {
2429         struct {
2430                 unsigned SWDTE          : 1;
2431                 unsigned                : 1;
2432                 unsigned                : 1;
2433                 unsigned                : 1;
2434                 unsigned                : 1;
2435                 unsigned                : 1;
2436                 unsigned                : 1;
2437                 unsigned                : 1;
2438         };
2439         struct {
2440                 unsigned SWDTEN         : 1;
2441                 unsigned                : 1;
2442                 unsigned                : 1;
2443                 unsigned                : 1;
2444                 unsigned                : 1;
2445                 unsigned                : 1;
2446                 unsigned                : 1;
2447                 unsigned                : 1;
2448         };
2449 } __WDTCONbits_t;
2450 extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
2451
2452 extern __sfr __at (0xFD2) ECON1;
2453 typedef union {
2454         struct {
2455                 unsigned                : 1;
2456                 unsigned                : 1;
2457                 unsigned RXEN           : 1;
2458                 unsigned TXRTS          : 1;
2459                 unsigned CSUMEN         : 1;
2460                 unsigned DMAST          : 1;
2461                 unsigned RXRST          : 1;
2462                 unsigned TXRST          : 1;
2463         };
2464 } __ECON1bits_t;
2465 extern volatile __ECON1bits_t __at (0xFD2) ECON1bits;
2466
2467 extern __sfr __at (0xFD3) OSCCON;
2468 typedef union {
2469         struct {
2470                 unsigned SCS0           : 1;
2471                 unsigned SCS1           : 1;
2472                 unsigned                : 1;
2473                 unsigned OSTS           : 1;
2474                 unsigned                : 1;
2475                 unsigned                : 1;
2476                 unsigned                : 1;
2477                 unsigned IDLEN          : 1;
2478         };
2479 } __OSCCONbits_t;
2480 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
2481
2482 extern __sfr __at (0xFD5) T0CON;
2483 typedef union {
2484         struct {
2485                 unsigned T0PS0          : 1;
2486                 unsigned T0PS1          : 1;
2487                 unsigned T0PS2          : 1;
2488                 unsigned PSA            : 1;
2489                 unsigned T0SE           : 1;
2490                 unsigned T0CS           : 1;
2491                 unsigned T08BIT         : 1;
2492                 unsigned TMR0ON         : 1;
2493         };
2494 } __T0CONbits_t;
2495 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
2496
2497 extern __sfr __at (0xFD6) TMR0L;
2498
2499 extern __sfr __at (0xFD7) TMR0H;
2500
2501 extern __sfr __at (0xFD8) STATUS;
2502 typedef union {
2503         struct {
2504                 unsigned C              : 1;
2505                 unsigned DC             : 1;
2506                 unsigned Z              : 1;
2507                 unsigned OV             : 1;
2508                 unsigned N              : 1;
2509                 unsigned                : 1;
2510                 unsigned                : 1;
2511                 unsigned                : 1;
2512         };
2513 } __STATUSbits_t;
2514 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
2515
2516 extern __sfr __at (0xFD9) FSR2L;
2517
2518 extern __sfr __at (0xFDA) FSR2H;
2519
2520 extern __sfr __at (0xFDB) PLUSW2;
2521
2522 extern __sfr __at (0xFDC) PREINC2;
2523
2524 extern __sfr __at (0xFDD) POSTDEC2;
2525
2526 extern __sfr __at (0xFDE) POSTINC2;
2527
2528 extern __sfr __at (0xFDF) INDF2;
2529
2530 extern __sfr __at (0xFE0) BSR;
2531
2532 extern __sfr __at (0xFE1) FSR1L;
2533
2534 extern __sfr __at (0xFE2) FSR1H;
2535
2536 extern __sfr __at (0xFE3) PLUSW1;
2537
2538 extern __sfr __at (0xFE4) PREINC1;
2539
2540 extern __sfr __at (0xFE5) POSTDEC1;
2541
2542 extern __sfr __at (0xFE6) POSTINC1;
2543
2544 extern __sfr __at (0xFE7) INDF1;
2545
2546 extern __sfr __at (0xFE8) WREG;
2547
2548 extern __sfr __at (0xFE9) FSR0L;
2549
2550 extern __sfr __at (0xFEA) FSR0H;
2551
2552 extern __sfr __at (0xFEB) PLUSW0;
2553
2554 extern __sfr __at (0xFEC) PREINC0;
2555
2556 extern __sfr __at (0xFED) POSTDEC0;
2557
2558 extern __sfr __at (0xFEE) POSTINC0;
2559
2560 extern __sfr __at (0xFEF) INDF0;
2561
2562 extern __sfr __at (0xFF0) INTCON3;
2563 typedef union {
2564         struct {
2565                 unsigned INT1F          : 1;
2566                 unsigned INT2F          : 1;
2567                 unsigned INT3F          : 1;
2568                 unsigned INT1E          : 1;
2569                 unsigned INT2E          : 1;
2570                 unsigned INT3E          : 1;
2571                 unsigned INT1P          : 1;
2572                 unsigned INT2P          : 1;
2573         };
2574         struct {
2575                 unsigned INT1IF         : 1;
2576                 unsigned INT2IF         : 1;
2577                 unsigned INT3IF         : 1;
2578                 unsigned INT1IE         : 1;
2579                 unsigned INT2IE         : 1;
2580                 unsigned INT3IE         : 1;
2581                 unsigned INT1IP         : 1;
2582                 unsigned INT2IP         : 1;
2583         };
2584 } __INTCON3bits_t;
2585 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
2586
2587 extern __sfr __at (0xFF1) INTCON2;
2588 typedef union {
2589         struct {
2590                 unsigned RBIP           : 1;
2591                 unsigned INT3IP         : 1;
2592                 unsigned T0IP           : 1;
2593                 unsigned INTEDG3        : 1;
2594                 unsigned INTEDG2        : 1;
2595                 unsigned INTEDG1        : 1;
2596                 unsigned INTEDG0        : 1;
2597                 unsigned NOT_RBPU       : 1;
2598         };
2599         struct {
2600                 unsigned                : 1;
2601                 unsigned                : 1;
2602                 unsigned TMR0IP         : 1;
2603                 unsigned                : 1;
2604                 unsigned                : 1;
2605                 unsigned                : 1;
2606                 unsigned                : 1;
2607                 unsigned RBPU           : 1;
2608         };
2609 } __INTCON2bits_t;
2610 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
2611
2612 extern __sfr __at (0xFF2) INTCON;
2613 typedef union {
2614         struct {
2615                 unsigned RBIF           : 1;
2616                 unsigned INT0F          : 1;
2617                 unsigned T0IF           : 1;
2618                 unsigned RBIE           : 1;
2619                 unsigned INT0E          : 1;
2620                 unsigned T0IE           : 1;
2621                 unsigned PEIE           : 1;
2622                 unsigned GIE            : 1;
2623         };
2624         struct {
2625                 unsigned                : 1;
2626                 unsigned INT0IF         : 1;
2627                 unsigned TMR0IF         : 1;
2628                 unsigned                : 1;
2629                 unsigned INT0IE         : 1;
2630                 unsigned TMR0IE         : 1;
2631                 unsigned GIEL           : 1;
2632                 unsigned GIEH           : 1;
2633         };
2634 } __INTCONbits_t;
2635 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
2636
2637 extern __sfr __at (0xFF3) PROD;
2638
2639 extern __sfr __at (0xFF3) PRODL;
2640
2641 extern __sfr __at (0xFF4) PRODH;
2642
2643 extern __sfr __at (0xFF5) TABLAT;
2644
2645 extern __sfr __at (0xFF6) TBLPTR;
2646
2647 extern __sfr __at (0xFF6) TBLPTRL;
2648
2649 extern __sfr __at (0xFF7) TBLPTRH;
2650
2651 extern __sfr __at (0xFF8) TBLPTRU;
2652
2653 extern __sfr __at (0xFF9) PC;
2654
2655 extern __sfr __at (0xFF9) PCL;
2656
2657 extern __sfr __at (0xFFA) PCLATH;
2658
2659 extern __sfr __at (0xFFB) PCLATU;
2660
2661 extern __sfr __at (0xFFC) STKPTR;
2662 typedef union {
2663         struct {
2664                 unsigned STKPTR0        : 1;
2665                 unsigned STKPTR1        : 1;
2666                 unsigned STKPTR2        : 1;
2667                 unsigned STKPTR3        : 1;
2668                 unsigned STKPTR4        : 1;
2669                 unsigned                : 1;
2670                 unsigned STKUNF         : 1;
2671                 unsigned STKOVF         : 1;
2672         };
2673         struct {
2674                 unsigned                : 1;
2675                 unsigned                : 1;
2676                 unsigned                : 1;
2677                 unsigned                : 1;
2678                 unsigned                : 1;
2679                 unsigned                : 1;
2680                 unsigned                : 1;
2681                 unsigned STKFUL         : 1;
2682         };
2683 } __STKPTRbits_t;
2684 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
2685
2686 extern __sfr __at (0xFFD) TOS;
2687
2688 extern __sfr __at (0xFFD) TOSL;
2689
2690 extern __sfr __at (0xFFE) TOSH;
2691
2692 extern __sfr __at (0xFFF) TOSU;
2693
2694
2695 #endif
2696