Imported Upstream version 2.9.0
[debian/cc1111] / device / include / pic16 / pic18f96j60.h
1 /*
2  * pic18f96j60.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 __PIC18F96J60_H__
12 #define __PIC18F96J60_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 (0xF62) SSP2CON2;
489 typedef union {
490         struct {
491                 unsigned SEN            : 1;
492                 unsigned RSEN           : 1;
493                 unsigned PEN            : 1;
494                 unsigned RCEN           : 1;
495                 unsigned ACKEN          : 1;
496                 unsigned ACKDT          : 1;
497                 unsigned ACKSTAT        : 1;
498                 unsigned GCEN           : 1;
499         };
500         struct {
501                 unsigned                : 1;
502                 unsigned ADMSK1         : 1;
503                 unsigned ADMSK2         : 1;
504                 unsigned ADMSK3         : 1;
505                 unsigned ADMSK4         : 1;
506                 unsigned ADMSK5         : 1;
507                 unsigned                : 1;
508                 unsigned                : 1;
509         };
510         struct {
511                 unsigned                : 1;
512                 unsigned ADMSK          : 1;
513                 unsigned                : 1;
514                 unsigned                : 1;
515                 unsigned                : 1;
516                 unsigned                : 1;
517                 unsigned                : 1;
518                 unsigned                : 1;
519         };
520 } __SSP2CON2bits_t;
521 extern volatile __SSP2CON2bits_t __at (0xF62) SSP2CON2bits;
522
523 extern __sfr __at (0xF63) SSP2CON1;
524 typedef union {
525         struct {
526                 unsigned SSPM0          : 1;
527                 unsigned SSPM1          : 1;
528                 unsigned SSPM2          : 1;
529                 unsigned SSPM3          : 1;
530                 unsigned CKP            : 1;
531                 unsigned SSPEN          : 1;
532                 unsigned SSPOV          : 1;
533                 unsigned WCOL           : 1;
534         };
535 } __SSP2CON1bits_t;
536 extern volatile __SSP2CON1bits_t __at (0xF63) SSP2CON1bits;
537
538 extern __sfr __at (0xF64) SSP2STAT;
539 typedef union {
540         struct {
541                 unsigned BF             : 1;
542                 unsigned UA             : 1;
543                 unsigned R_W            : 1;
544                 unsigned S              : 1;
545                 unsigned P              : 1;
546                 unsigned D_A            : 1;
547                 unsigned CKE            : 1;
548                 unsigned SMP            : 1;
549         };
550         struct {
551                 unsigned                : 1;
552                 unsigned                : 1;
553                 unsigned I2C_READ       : 1;
554                 unsigned I2C_START      : 1;
555                 unsigned I2C_STOP       : 1;
556                 unsigned I2C_DAT        : 1;
557                 unsigned                : 1;
558                 unsigned                : 1;
559         };
560         struct {
561                 unsigned                : 1;
562                 unsigned                : 1;
563                 unsigned NOT_W          : 1;
564                 unsigned                : 1;
565                 unsigned                : 1;
566                 unsigned NOT_A          : 1;
567                 unsigned                : 1;
568                 unsigned                : 1;
569         };
570         struct {
571                 unsigned                : 1;
572                 unsigned                : 1;
573                 unsigned NOT_WRITE      : 1;
574                 unsigned                : 1;
575                 unsigned                : 1;
576                 unsigned NOT_ADDRESS    : 1;
577                 unsigned                : 1;
578                 unsigned                : 1;
579         };
580         struct {
581                 unsigned                : 1;
582                 unsigned                : 1;
583                 unsigned READ_WRITE     : 1;
584                 unsigned                : 1;
585                 unsigned                : 1;
586                 unsigned DATA_ADDRESS   : 1;
587                 unsigned                : 1;
588                 unsigned                : 1;
589         };
590         struct {
591                 unsigned                : 1;
592                 unsigned                : 1;
593                 unsigned R              : 1;
594                 unsigned                : 1;
595                 unsigned                : 1;
596                 unsigned D              : 1;
597                 unsigned                : 1;
598                 unsigned                : 1;
599         };
600 } __SSP2STATbits_t;
601 extern volatile __SSP2STATbits_t __at (0xF64) SSP2STATbits;
602
603 extern __sfr __at (0xF65) SSP2ADD;
604
605 extern __sfr __at (0xF66) SSP2BUF;
606
607 extern __sfr __at (0xF67) ECCP2DEL;
608 typedef union {
609         struct {
610                 unsigned PDC0           : 1;
611                 unsigned PDC1           : 1;
612                 unsigned PDC2           : 1;
613                 unsigned PDC3           : 1;
614                 unsigned PDC4           : 1;
615                 unsigned PDC5           : 1;
616                 unsigned PDC6           : 1;
617                 unsigned PRSEN          : 1;
618         };
619         struct {
620                 unsigned P2DC0          : 1;
621                 unsigned P2DC1          : 1;
622                 unsigned P2DC2          : 1;
623                 unsigned P2DC3          : 1;
624                 unsigned P2DC4          : 1;
625                 unsigned P2DC5          : 1;
626                 unsigned P2DC6          : 1;
627                 unsigned P2RSEN         : 1;
628         };
629 } __ECCP2DELbits_t;
630 extern volatile __ECCP2DELbits_t __at (0xF67) ECCP2DELbits;
631
632 extern __sfr __at (0xF68) ECCP2AS;
633 typedef union {
634         struct {
635                 unsigned PSSBD0         : 1;
636                 unsigned PSSBD1         : 1;
637                 unsigned PSSAC0         : 1;
638                 unsigned PSSAC1         : 1;
639                 unsigned ECCPAS0        : 1;
640                 unsigned ECCPAS1        : 1;
641                 unsigned ECCPAS2        : 1;
642                 unsigned ECCPASE        : 1;
643         };
644         struct {
645                 unsigned PSS2BD0        : 1;
646                 unsigned PSS2BD1        : 1;
647                 unsigned PSS2AC0        : 1;
648                 unsigned PSS2AC1        : 1;
649                 unsigned ECCP2AS0       : 1;
650                 unsigned ECCP2AS1       : 1;
651                 unsigned ECCP2AS2       : 1;
652                 unsigned ECCP2ASE       : 1;
653         };
654 } __ECCP2ASbits_t;
655 extern volatile __ECCP2ASbits_t __at (0xF68) ECCP2ASbits;
656
657 extern __sfr __at (0xF69) ECCP3DEL;
658 typedef union {
659         struct {
660                 unsigned PDC0           : 1;
661                 unsigned PDC1           : 1;
662                 unsigned PDC2           : 1;
663                 unsigned PDC3           : 1;
664                 unsigned PDC4           : 1;
665                 unsigned PDC5           : 1;
666                 unsigned PDC6           : 1;
667                 unsigned PRSEN          : 1;
668         };
669         struct {
670                 unsigned P3DC0          : 1;
671                 unsigned P3DC1          : 1;
672                 unsigned P3DC2          : 1;
673                 unsigned P3DC3          : 1;
674                 unsigned P3DC4          : 1;
675                 unsigned P3DC5          : 1;
676                 unsigned P3DC6          : 1;
677                 unsigned P3RSEN         : 1;
678         };
679 } __ECCP3DELbits_t;
680 extern volatile __ECCP3DELbits_t __at (0xF69) ECCP3DELbits;
681
682 extern __sfr __at (0xF6A) ECCP3AS;
683 typedef union {
684         struct {
685                 unsigned PSSBD0         : 1;
686                 unsigned PSSBD1         : 1;
687                 unsigned PSSAC0         : 1;
688                 unsigned PSSAC1         : 1;
689                 unsigned ECCPAS0        : 1;
690                 unsigned ECCPAS1        : 1;
691                 unsigned ECCPAS2        : 1;
692                 unsigned ECCPASE        : 1;
693         };
694         struct {
695                 unsigned PSS3BD0        : 1;
696                 unsigned PSS3BD1        : 1;
697                 unsigned PSS3AC0        : 1;
698                 unsigned PSS3AC1        : 1;
699                 unsigned ECCP3AS0       : 1;
700                 unsigned ECCP3AS1       : 1;
701                 unsigned ECCP3AS2       : 1;
702                 unsigned ECCP3ASE       : 1;
703         };
704 } __ECCP3ASbits_t;
705 extern volatile __ECCP3ASbits_t __at (0xF6A) ECCP3ASbits;
706
707 extern __sfr __at (0xF6B) RCSTA2;
708 typedef union {
709         struct {
710                 unsigned RCD8           : 1;
711                 unsigned OERR           : 1;
712                 unsigned FERR           : 1;
713                 unsigned ADDEN          : 1;
714                 unsigned CREN           : 1;
715                 unsigned SREN           : 1;
716                 unsigned RC9            : 1;
717                 unsigned SPEN           : 1;
718         };
719         struct {
720                 unsigned RX9D           : 1;
721                 unsigned                : 1;
722                 unsigned                : 1;
723                 unsigned                : 1;
724                 unsigned                : 1;
725                 unsigned                : 1;
726                 unsigned NOT_RC8        : 1;
727                 unsigned                : 1;
728         };
729         struct {
730                 unsigned                : 1;
731                 unsigned                : 1;
732                 unsigned                : 1;
733                 unsigned                : 1;
734                 unsigned                : 1;
735                 unsigned                : 1;
736                 unsigned RC8_9          : 1;
737                 unsigned                : 1;
738         };
739         struct {
740                 unsigned                : 1;
741                 unsigned                : 1;
742                 unsigned                : 1;
743                 unsigned                : 1;
744                 unsigned                : 1;
745                 unsigned                : 1;
746                 unsigned RX9            : 1;
747                 unsigned                : 1;
748         };
749 } __RCSTA2bits_t;
750 extern volatile __RCSTA2bits_t __at (0xF6B) RCSTA2bits;
751
752 extern __sfr __at (0xF6C) TXSTA2;
753 typedef union {
754         struct {
755                 unsigned TX9D           : 1;
756                 unsigned TRMT           : 1;
757                 unsigned BRGH           : 1;
758                 unsigned SENDB          : 1;
759                 unsigned SYNC           : 1;
760                 unsigned TXEN           : 1;
761                 unsigned TX9            : 1;
762                 unsigned CSRC           : 1;
763         };
764         struct {
765                 unsigned TXD8           : 1;
766                 unsigned                : 1;
767                 unsigned                : 1;
768                 unsigned                : 1;
769                 unsigned                : 1;
770                 unsigned                : 1;
771                 unsigned TX8_9          : 1;
772                 unsigned                : 1;
773         };
774         struct {
775                 unsigned                : 1;
776                 unsigned                : 1;
777                 unsigned                : 1;
778                 unsigned                : 1;
779                 unsigned                : 1;
780                 unsigned                : 1;
781                 unsigned NOT_TX8        : 1;
782                 unsigned                : 1;
783         };
784 } __TXSTA2bits_t;
785 extern volatile __TXSTA2bits_t __at (0xF6C) TXSTA2bits;
786
787 extern __sfr __at (0xF6D) TXREG2;
788
789 extern __sfr __at (0xF6E) RCREG2;
790
791 extern __sfr __at (0xF6F) SPBRG2;
792
793 extern __sfr __at (0xF70) CCP5CON;
794 typedef union {
795         struct {
796                 unsigned CCP5M0         : 1;
797                 unsigned CCP5M1         : 1;
798                 unsigned CCP5M2         : 1;
799                 unsigned CCP5M3         : 1;
800                 unsigned CCP5Y          : 1;
801                 unsigned CCP5X          : 1;
802                 unsigned                : 1;
803                 unsigned                : 1;
804         };
805         struct {
806                 unsigned                : 1;
807                 unsigned                : 1;
808                 unsigned                : 1;
809                 unsigned                : 1;
810                 unsigned DC5B0          : 1;
811                 unsigned DC5B1          : 1;
812                 unsigned                : 1;
813                 unsigned                : 1;
814         };
815 } __CCP5CONbits_t;
816 extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
817
818 extern __sfr __at (0xF71) CCPR5;
819
820 extern __sfr __at (0xF71) CCPR5L;
821
822 extern __sfr __at (0xF72) CCPR5H;
823
824 extern __sfr __at (0xF73) CCP4CON;
825 typedef union {
826         struct {
827                 unsigned CCP4M0         : 1;
828                 unsigned CCP4M1         : 1;
829                 unsigned CCP4M2         : 1;
830                 unsigned CCP4M3         : 1;
831                 unsigned CCP4Y          : 1;
832                 unsigned CCP4X          : 1;
833                 unsigned                : 1;
834                 unsigned                : 1;
835         };
836         struct {
837                 unsigned                : 1;
838                 unsigned                : 1;
839                 unsigned                : 1;
840                 unsigned                : 1;
841                 unsigned DC4B0          : 1;
842                 unsigned DC4B1          : 1;
843                 unsigned                : 1;
844                 unsigned                : 1;
845         };
846 } __CCP4CONbits_t;
847 extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
848
849 extern __sfr __at (0xF74) CCPR4;
850
851 extern __sfr __at (0xF74) CCPR4L;
852
853 extern __sfr __at (0xF75) CCPR4H;
854
855 extern __sfr __at (0xF76) T4CON;
856 typedef union {
857         struct {
858                 unsigned T4CKPS0        : 1;
859                 unsigned T4CKPS1        : 1;
860                 unsigned TMR4ON         : 1;
861                 unsigned T4OUTPS0       : 1;
862                 unsigned T4OUTPS1       : 1;
863                 unsigned T4OUTPS2       : 1;
864                 unsigned T4OUTPS3       : 1;
865                 unsigned                : 1;
866         };
867 } __T4CONbits_t;
868 extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
869
870 extern __sfr __at (0xF77) PR4;
871
872 extern __sfr __at (0xF78) TMR4;
873
874 extern __sfr __at (0xF79) ECCP1DEL;
875 typedef union {
876         struct {
877                 unsigned PDC0           : 1;
878                 unsigned PDC1           : 1;
879                 unsigned PDC2           : 1;
880                 unsigned PDC3           : 1;
881                 unsigned PDC4           : 1;
882                 unsigned PDC5           : 1;
883                 unsigned PDC6           : 1;
884                 unsigned PRSEN          : 1;
885         };
886         struct {
887                 unsigned P1DC0          : 1;
888                 unsigned P1DC1          : 1;
889                 unsigned P1DC2          : 1;
890                 unsigned P1DC3          : 1;
891                 unsigned P1DC4          : 1;
892                 unsigned P1DC5          : 1;
893                 unsigned P1DC6          : 1;
894                 unsigned P1RSEN         : 1;
895         };
896 } __ECCP1DELbits_t;
897 extern volatile __ECCP1DELbits_t __at (0xF79) ECCP1DELbits;
898
899 extern __sfr __at (0xF7A) ERDPT;
900
901 extern __sfr __at (0xF7A) ERDPTL;
902
903 extern __sfr __at (0xF7B) ERDPTH;
904
905 extern __sfr __at (0xF7C) BAUDCON2;
906 typedef union {
907         struct {
908                 unsigned ABDEN          : 1;
909                 unsigned WUE            : 1;
910                 unsigned                : 1;
911                 unsigned BRG16          : 1;
912                 unsigned SCKP           : 1;
913                 unsigned RXDTP          : 1;
914                 unsigned RCMT           : 1;
915                 unsigned ABDOVF         : 1;
916         };
917         struct {
918                 unsigned                : 1;
919                 unsigned                : 1;
920                 unsigned                : 1;
921                 unsigned                : 1;
922                 unsigned TXCKP          : 1;
923                 unsigned                : 1;
924                 unsigned RCIDL          : 1;
925                 unsigned                : 1;
926         };
927 } __BAUDCON2bits_t;
928 extern volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
929
930 extern __sfr __at (0xF7C) BAUDCTL2;
931 typedef union {
932         struct {
933                 unsigned ABDEN          : 1;
934                 unsigned WUE            : 1;
935                 unsigned                : 1;
936                 unsigned BRG16          : 1;
937                 unsigned SCKP           : 1;
938                 unsigned RXDTP          : 1;
939                 unsigned RCMT           : 1;
940                 unsigned ABDOVF         : 1;
941         };
942         struct {
943                 unsigned                : 1;
944                 unsigned                : 1;
945                 unsigned                : 1;
946                 unsigned                : 1;
947                 unsigned TXCKP          : 1;
948                 unsigned                : 1;
949                 unsigned RCIDL          : 1;
950                 unsigned                : 1;
951         };
952 } __BAUDCTL2bits_t;
953 extern volatile __BAUDCTL2bits_t __at (0xF7C) BAUDCTL2bits;
954
955 extern __sfr __at (0xF7D) SPBRGH2;
956
957 extern __sfr __at (0xF7E) BAUDCON;
958 typedef union {
959         struct {
960                 unsigned ABDEN          : 1;
961                 unsigned WUE            : 1;
962                 unsigned                : 1;
963                 unsigned BRG16          : 1;
964                 unsigned SCKP           : 1;
965                 unsigned RXDTP          : 1;
966                 unsigned RCMT           : 1;
967                 unsigned ABDOVF         : 1;
968         };
969         struct {
970                 unsigned                : 1;
971                 unsigned                : 1;
972                 unsigned                : 1;
973                 unsigned                : 1;
974                 unsigned TXCKP          : 1;
975                 unsigned                : 1;
976                 unsigned RCIDL          : 1;
977                 unsigned                : 1;
978         };
979 } __BAUDCONbits_t;
980 extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
981
982 extern __sfr __at (0xF7E) BAUDCON1;
983 typedef union {
984         struct {
985                 unsigned ABDEN          : 1;
986                 unsigned WUE            : 1;
987                 unsigned                : 1;
988                 unsigned BRG16          : 1;
989                 unsigned SCKP           : 1;
990                 unsigned RXDTP          : 1;
991                 unsigned RCMT           : 1;
992                 unsigned ABDOVF         : 1;
993         };
994         struct {
995                 unsigned                : 1;
996                 unsigned                : 1;
997                 unsigned                : 1;
998                 unsigned                : 1;
999                 unsigned TXCKP          : 1;
1000                 unsigned                : 1;
1001                 unsigned RCIDL          : 1;
1002                 unsigned                : 1;
1003         };
1004 } __BAUDCON1bits_t;
1005 extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
1006
1007 extern __sfr __at (0xF7E) BAUDCTL;
1008 typedef union {
1009         struct {
1010                 unsigned ABDEN          : 1;
1011                 unsigned WUE            : 1;
1012                 unsigned                : 1;
1013                 unsigned BRG16          : 1;
1014                 unsigned SCKP           : 1;
1015                 unsigned RXDTP          : 1;
1016                 unsigned RCMT           : 1;
1017                 unsigned ABDOVF         : 1;
1018         };
1019         struct {
1020                 unsigned                : 1;
1021                 unsigned                : 1;
1022                 unsigned                : 1;
1023                 unsigned                : 1;
1024                 unsigned TXCKP          : 1;
1025                 unsigned                : 1;
1026                 unsigned RCIDL          : 1;
1027                 unsigned                : 1;
1028         };
1029 } __BAUDCTLbits_t;
1030 extern volatile __BAUDCTLbits_t __at (0xF7E) BAUDCTLbits;
1031
1032 extern __sfr __at (0xF7E) BAUDCTL1;
1033 typedef union {
1034         struct {
1035                 unsigned ABDEN          : 1;
1036                 unsigned WUE            : 1;
1037                 unsigned                : 1;
1038                 unsigned BRG16          : 1;
1039                 unsigned SCKP           : 1;
1040                 unsigned RXDTP          : 1;
1041                 unsigned RCMT           : 1;
1042                 unsigned ABDOVF         : 1;
1043         };
1044         struct {
1045                 unsigned                : 1;
1046                 unsigned                : 1;
1047                 unsigned                : 1;
1048                 unsigned                : 1;
1049                 unsigned TXCKP          : 1;
1050                 unsigned                : 1;
1051                 unsigned RCIDL          : 1;
1052                 unsigned                : 1;
1053         };
1054 } __BAUDCTL1bits_t;
1055 extern volatile __BAUDCTL1bits_t __at (0xF7E) BAUDCTL1bits;
1056
1057 extern __sfr __at (0xF7F) SPBRGH;
1058
1059 extern __sfr __at (0xF7F) SPBRGH1;
1060
1061 extern __sfr __at (0xF80) PORTA;
1062 typedef union {
1063         struct {
1064                 unsigned RA0            : 1;
1065                 unsigned RA1            : 1;
1066                 unsigned RA2            : 1;
1067                 unsigned RA3            : 1;
1068                 unsigned RA4            : 1;
1069                 unsigned RA5            : 1;
1070                 unsigned                : 1;
1071                 unsigned RJPU           : 1;
1072         };
1073         struct {
1074                 unsigned AN0            : 1;
1075                 unsigned AN1            : 1;
1076                 unsigned AN2            : 1;
1077                 unsigned AN3            : 1;
1078                 unsigned T0CKI          : 1;
1079                 unsigned AN4            : 1;
1080                 unsigned                : 1;
1081                 unsigned                : 1;
1082         };
1083         struct {
1084                 unsigned LEDA           : 1;
1085                 unsigned LEDB           : 1;
1086                 unsigned VREFM          : 1;
1087                 unsigned VREFP          : 1;
1088                 unsigned                : 1;
1089                 unsigned                : 1;
1090                 unsigned                : 1;
1091                 unsigned                : 1;
1092         };
1093 } __PORTAbits_t;
1094 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
1095
1096 extern __sfr __at (0xF81) PORTB;
1097 typedef union {
1098         struct {
1099                 unsigned RB0            : 1;
1100                 unsigned RB1            : 1;
1101                 unsigned RB2            : 1;
1102                 unsigned RB3            : 1;
1103                 unsigned RB4            : 1;
1104                 unsigned RB5            : 1;
1105                 unsigned RB6            : 1;
1106                 unsigned RB7            : 1;
1107         };
1108         struct {
1109                 unsigned INT0           : 1;
1110                 unsigned INT1           : 1;
1111                 unsigned INT2           : 1;
1112                 unsigned INT3           : 1;
1113                 unsigned KBI0           : 1;
1114                 unsigned KBI1           : 1;
1115                 unsigned KBI2           : 1;
1116                 unsigned KBI3           : 1;
1117         };
1118         struct {
1119                 unsigned FLT0           : 1;
1120                 unsigned                : 1;
1121                 unsigned                : 1;
1122                 unsigned                : 1;
1123                 unsigned                : 1;
1124                 unsigned                : 1;
1125                 unsigned PGC            : 1;
1126                 unsigned PGD            : 1;
1127         };
1128 } __PORTBbits_t;
1129 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
1130
1131 extern __sfr __at (0xF82) PORTC;
1132 typedef union {
1133         struct {
1134                 unsigned RC0            : 1;
1135                 unsigned RC1            : 1;
1136                 unsigned RC2            : 1;
1137                 unsigned RC3            : 1;
1138                 unsigned RC4            : 1;
1139                 unsigned RC5            : 1;
1140                 unsigned RC6            : 1;
1141                 unsigned RC7            : 1;
1142         };
1143         struct {
1144                 unsigned T1OSO          : 1;
1145                 unsigned T1OSI          : 1;
1146                 unsigned CCP1           : 1;
1147                 unsigned SCK            : 1;
1148                 unsigned SDI            : 1;
1149                 unsigned SDO            : 1;
1150                 unsigned TX             : 1;
1151                 unsigned RX             : 1;
1152         };
1153         struct {
1154                 unsigned T13CKI         : 1;
1155                 unsigned CCP2           : 1;
1156                 unsigned                : 1;
1157                 unsigned SCL            : 1;
1158                 unsigned SDA            : 1;
1159                 unsigned SDO1           : 1;
1160                 unsigned CK             : 1;
1161                 unsigned DT             : 1;
1162         };
1163         struct {
1164                 unsigned                : 1;
1165                 unsigned                : 1;
1166                 unsigned                : 1;
1167                 unsigned SCK1           : 1;
1168                 unsigned SDI1           : 1;
1169                 unsigned                : 1;
1170                 unsigned TX1            : 1;
1171                 unsigned RX1            : 1;
1172         };
1173         struct {
1174                 unsigned                : 1;
1175                 unsigned                : 1;
1176                 unsigned                : 1;
1177                 unsigned SCL1           : 1;
1178                 unsigned SDA1           : 1;
1179                 unsigned                : 1;
1180                 unsigned CK1            : 1;
1181                 unsigned DT1            : 1;
1182         };
1183 } __PORTCbits_t;
1184 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
1185
1186 extern __sfr __at (0xF83) PORTD;
1187 typedef union {
1188         struct {
1189                 unsigned RD0            : 1;
1190                 unsigned RD1            : 1;
1191                 unsigned RD2            : 1;
1192                 unsigned RD3            : 1;
1193                 unsigned RD4            : 1;
1194                 unsigned RD5            : 1;
1195                 unsigned RD6            : 1;
1196                 unsigned RD7            : 1;
1197         };
1198         struct {
1199                 unsigned PSP0           : 1;
1200                 unsigned PSP1           : 1;
1201                 unsigned PSP2           : 1;
1202                 unsigned PSP3           : 1;
1203                 unsigned PSP4           : 1;
1204                 unsigned PSP5           : 1;
1205                 unsigned PSP6           : 1;
1206                 unsigned PSP7           : 1;
1207         };
1208         struct {
1209                 unsigned AD0            : 1;
1210                 unsigned AD1            : 1;
1211                 unsigned AD2            : 1;
1212                 unsigned AD3            : 1;
1213                 unsigned AD4            : 1;
1214                 unsigned AD5            : 1;
1215                 unsigned AD6            : 1;
1216                 unsigned AD7            : 1;
1217         };
1218         struct {
1219                 unsigned                : 1;
1220                 unsigned                : 1;
1221                 unsigned                : 1;
1222                 unsigned                : 1;
1223                 unsigned SDO2           : 1;
1224                 unsigned SDA2           : 1;
1225                 unsigned SCL2           : 1;
1226                 unsigned SS2            : 1;
1227         };
1228         struct {
1229                 unsigned                : 1;
1230                 unsigned                : 1;
1231                 unsigned                : 1;
1232                 unsigned                : 1;
1233                 unsigned                : 1;
1234                 unsigned SDI2           : 1;
1235                 unsigned SCK2           : 1;
1236                 unsigned NOT_SS2        : 1;
1237         };
1238 } __PORTDbits_t;
1239 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
1240
1241 extern __sfr __at (0xF84) PORTE;
1242 typedef union {
1243         struct {
1244                 unsigned RE0            : 1;
1245                 unsigned RE1            : 1;
1246                 unsigned RE2            : 1;
1247                 unsigned RE3            : 1;
1248                 unsigned RE4            : 1;
1249                 unsigned RE5            : 1;
1250                 unsigned RE6            : 1;
1251                 unsigned RE7            : 1;
1252         };
1253         struct {
1254                 unsigned RD             : 1;
1255                 unsigned WR             : 1;
1256                 unsigned CS             : 1;
1257                 unsigned AD11           : 1;
1258                 unsigned AD12           : 1;
1259                 unsigned AD13           : 1;
1260                 unsigned AD14           : 1;
1261                 unsigned AD15           : 1;
1262         };
1263         struct {
1264                 unsigned NOT_RD         : 1;
1265                 unsigned NOT_WR         : 1;
1266                 unsigned NOT_CS         : 1;
1267                 unsigned                : 1;
1268                 unsigned                : 1;
1269                 unsigned                : 1;
1270                 unsigned                : 1;
1271                 unsigned                : 1;
1272         };
1273         struct {
1274                 unsigned AD8            : 1;
1275                 unsigned AD9            : 1;
1276                 unsigned AD10           : 1;
1277                 unsigned                : 1;
1278                 unsigned                : 1;
1279                 unsigned                : 1;
1280                 unsigned                : 1;
1281                 unsigned                : 1;
1282         };
1283 } __PORTEbits_t;
1284 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
1285
1286 extern __sfr __at (0xF85) PORTF;
1287 typedef union {
1288         struct {
1289                 unsigned RF0            : 1;
1290                 unsigned RF1            : 1;
1291                 unsigned RF2            : 1;
1292                 unsigned RF3            : 1;
1293                 unsigned RF4            : 1;
1294                 unsigned RF5            : 1;
1295                 unsigned RF6            : 1;
1296                 unsigned RF7            : 1;
1297         };
1298         struct {
1299                 unsigned AN5            : 1;
1300                 unsigned AN6            : 1;
1301                 unsigned AN7            : 1;
1302                 unsigned AN8            : 1;
1303                 unsigned AN9            : 1;
1304                 unsigned AN10           : 1;
1305                 unsigned AN11           : 1;
1306                 unsigned SS             : 1;
1307         };
1308         struct {
1309                 unsigned                : 1;
1310                 unsigned                : 1;
1311                 unsigned                : 1;
1312                 unsigned                : 1;
1313                 unsigned                : 1;
1314                 unsigned CVREF          : 1;
1315                 unsigned                : 1;
1316                 unsigned NOT_SS         : 1;
1317         };
1318         struct {
1319                 unsigned                : 1;
1320                 unsigned                : 1;
1321                 unsigned                : 1;
1322                 unsigned                : 1;
1323                 unsigned                : 1;
1324                 unsigned                : 1;
1325                 unsigned                : 1;
1326                 unsigned SS1            : 1;
1327         };
1328         struct {
1329                 unsigned                : 1;
1330                 unsigned                : 1;
1331                 unsigned                : 1;
1332                 unsigned                : 1;
1333                 unsigned                : 1;
1334                 unsigned                : 1;
1335                 unsigned                : 1;
1336                 unsigned NOT_SS1        : 1;
1337         };
1338 } __PORTFbits_t;
1339 extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
1340
1341 extern __sfr __at (0xF86) PORTG;
1342 typedef union {
1343         struct {
1344                 unsigned RG0            : 1;
1345                 unsigned RG1            : 1;
1346                 unsigned RG2            : 1;
1347                 unsigned RG3            : 1;
1348                 unsigned RG4            : 1;
1349                 unsigned RG5            : 1;
1350                 unsigned RG6            : 1;
1351                 unsigned RG7            : 1;
1352         };
1353         struct {
1354                 unsigned CCP3           : 1;
1355                 unsigned TX2            : 1;
1356                 unsigned RX2            : 1;
1357                 unsigned CCP4           : 1;
1358                 unsigned CCP5           : 1;
1359                 unsigned                : 1;
1360                 unsigned                : 1;
1361                 unsigned                : 1;
1362         };
1363         struct {
1364                 unsigned                : 1;
1365                 unsigned CK2            : 1;
1366                 unsigned DT2            : 1;
1367                 unsigned                : 1;
1368                 unsigned                : 1;
1369                 unsigned                : 1;
1370                 unsigned                : 1;
1371                 unsigned                : 1;
1372         };
1373 } __PORTGbits_t;
1374 extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
1375
1376 extern __sfr __at (0xF87) PORTH;
1377 typedef union {
1378         struct {
1379                 unsigned RH0            : 1;
1380                 unsigned RH1            : 1;
1381                 unsigned RH2            : 1;
1382                 unsigned RH3            : 1;
1383                 unsigned RH4            : 1;
1384                 unsigned RH5            : 1;
1385                 unsigned RH6            : 1;
1386                 unsigned RH7            : 1;
1387         };
1388         struct {
1389                 unsigned AD16           : 1;
1390                 unsigned AD17           : 1;
1391                 unsigned AD18           : 1;
1392                 unsigned AD19           : 1;
1393                 unsigned AN12           : 1;
1394                 unsigned AN13           : 1;
1395                 unsigned AN14           : 1;
1396                 unsigned AN15           : 1;
1397         };
1398 } __PORTHbits_t;
1399 extern volatile __PORTHbits_t __at (0xF87) PORTHbits;
1400
1401 extern __sfr __at (0xF88) PORTJ;
1402 typedef union {
1403         struct {
1404                 unsigned RJ0            : 1;
1405                 unsigned RJ1            : 1;
1406                 unsigned RJ2            : 1;
1407                 unsigned RJ3            : 1;
1408                 unsigned RJ4            : 1;
1409                 unsigned RJ5            : 1;
1410                 unsigned RJ6            : 1;
1411                 unsigned RJ7            : 1;
1412         };
1413         struct {
1414                 unsigned ALE            : 1;
1415                 unsigned OE             : 1;
1416                 unsigned WRL            : 1;
1417                 unsigned WRH            : 1;
1418                 unsigned BA0            : 1;
1419                 unsigned CE             : 1;
1420                 unsigned LB             : 1;
1421                 unsigned UB             : 1;
1422         };
1423         struct {
1424                 unsigned                : 1;
1425                 unsigned NOT_OE         : 1;
1426                 unsigned NOT_WRL        : 1;
1427                 unsigned NOT_WRH        : 1;
1428                 unsigned                : 1;
1429                 unsigned NOT_CE         : 1;
1430                 unsigned NOT_LB         : 1;
1431                 unsigned NOT_UB         : 1;
1432         };
1433 } __PORTJbits_t;
1434 extern volatile __PORTJbits_t __at (0xF88) PORTJbits;
1435
1436 extern __sfr __at (0xF89) LATA;
1437 typedef union {
1438         struct {
1439                 unsigned LATA0          : 1;
1440                 unsigned LATA1          : 1;
1441                 unsigned LATA2          : 1;
1442                 unsigned LATA3          : 1;
1443                 unsigned LATA4          : 1;
1444                 unsigned LATA5          : 1;
1445                 unsigned REPU           : 1;
1446                 unsigned RDPU           : 1;
1447         };
1448 } __LATAbits_t;
1449 extern volatile __LATAbits_t __at (0xF89) LATAbits;
1450
1451 extern __sfr __at (0xF8A) LATB;
1452 typedef union {
1453         struct {
1454                 unsigned LATB0          : 1;
1455                 unsigned LATB1          : 1;
1456                 unsigned LATB2          : 1;
1457                 unsigned LATB3          : 1;
1458                 unsigned LATB4          : 1;
1459                 unsigned LATB5          : 1;
1460                 unsigned LATB6          : 1;
1461                 unsigned LATB7          : 1;
1462         };
1463 } __LATBbits_t;
1464 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
1465
1466 extern __sfr __at (0xF8B) LATC;
1467 typedef union {
1468         struct {
1469                 unsigned LATC0          : 1;
1470                 unsigned LATC1          : 1;
1471                 unsigned LATC2          : 1;
1472                 unsigned LATC3          : 1;
1473                 unsigned LATC4          : 1;
1474                 unsigned LATC5          : 1;
1475                 unsigned LATC6          : 1;
1476                 unsigned LATC7          : 1;
1477         };
1478 } __LATCbits_t;
1479 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
1480
1481 extern __sfr __at (0xF8C) LATD;
1482 typedef union {
1483         struct {
1484                 unsigned LATD0          : 1;
1485                 unsigned LATD1          : 1;
1486                 unsigned LATD2          : 1;
1487                 unsigned LATD3          : 1;
1488                 unsigned LATD4          : 1;
1489                 unsigned LATD5          : 1;
1490                 unsigned LATD6          : 1;
1491                 unsigned LATD7          : 1;
1492         };
1493 } __LATDbits_t;
1494 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
1495
1496 extern __sfr __at (0xF8D) LATE;
1497 typedef union {
1498         struct {
1499                 unsigned LATE0          : 1;
1500                 unsigned LATE1          : 1;
1501                 unsigned LATE2          : 1;
1502                 unsigned LATE3          : 1;
1503                 unsigned LATE4          : 1;
1504                 unsigned LATE5          : 1;
1505                 unsigned LATE6          : 1;
1506                 unsigned LATE7          : 1;
1507         };
1508 } __LATEbits_t;
1509 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
1510
1511 extern __sfr __at (0xF8E) LATF;
1512 typedef union {
1513         struct {
1514                 unsigned LATF0          : 1;
1515                 unsigned LATF1          : 1;
1516                 unsigned LATF2          : 1;
1517                 unsigned LATF3          : 1;
1518                 unsigned LATF4          : 1;
1519                 unsigned LATF5          : 1;
1520                 unsigned LATF6          : 1;
1521                 unsigned LATF7          : 1;
1522         };
1523 } __LATFbits_t;
1524 extern volatile __LATFbits_t __at (0xF8E) LATFbits;
1525
1526 extern __sfr __at (0xF8F) LATG;
1527 typedef union {
1528         struct {
1529                 unsigned LATG0          : 1;
1530                 unsigned LATG1          : 1;
1531                 unsigned LATG2          : 1;
1532                 unsigned LATG3          : 1;
1533                 unsigned LATG4          : 1;
1534                 unsigned LATG5          : 1;
1535                 unsigned LATG6          : 1;
1536                 unsigned LATG7          : 1;
1537         };
1538 } __LATGbits_t;
1539 extern volatile __LATGbits_t __at (0xF8F) LATGbits;
1540
1541 extern __sfr __at (0xF90) LATH;
1542 typedef union {
1543         struct {
1544                 unsigned LATH0          : 1;
1545                 unsigned LATH1          : 1;
1546                 unsigned LATH2          : 1;
1547                 unsigned LATH3          : 1;
1548                 unsigned LATH4          : 1;
1549                 unsigned LATH5          : 1;
1550                 unsigned LATH6          : 1;
1551                 unsigned LATH7          : 1;
1552         };
1553 } __LATHbits_t;
1554 extern volatile __LATHbits_t __at (0xF90) LATHbits;
1555
1556 extern __sfr __at (0xF91) LATJ;
1557 typedef union {
1558         struct {
1559                 unsigned LATJ0          : 1;
1560                 unsigned LATJ1          : 1;
1561                 unsigned LATJ2          : 1;
1562                 unsigned LATJ3          : 1;
1563                 unsigned LATJ4          : 1;
1564                 unsigned LATJ5          : 1;
1565                 unsigned LATJ6          : 1;
1566                 unsigned LATJ7          : 1;
1567         };
1568 } __LATJbits_t;
1569 extern volatile __LATJbits_t __at (0xF91) LATJbits;
1570
1571 extern __sfr __at (0xF92) DDRA;
1572 typedef union {
1573         struct {
1574                 unsigned RA0            : 1;
1575                 unsigned RA1            : 1;
1576                 unsigned RA2            : 1;
1577                 unsigned RA3            : 1;
1578                 unsigned RA4            : 1;
1579                 unsigned RA5            : 1;
1580                 unsigned                : 1;
1581                 unsigned                : 1;
1582         };
1583 } __DDRAbits_t;
1584 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
1585
1586 extern __sfr __at (0xF92) TRISA;
1587 typedef union {
1588         struct {
1589                 unsigned TRISA0         : 1;
1590                 unsigned TRISA1         : 1;
1591                 unsigned TRISA2         : 1;
1592                 unsigned TRISA3         : 1;
1593                 unsigned TRISA4         : 1;
1594                 unsigned TRISA5         : 1;
1595                 unsigned                : 1;
1596                 unsigned                : 1;
1597         };
1598 } __TRISAbits_t;
1599 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
1600
1601 extern __sfr __at (0xF93) DDRB;
1602 typedef union {
1603         struct {
1604                 unsigned RB0            : 1;
1605                 unsigned RB1            : 1;
1606                 unsigned RB2            : 1;
1607                 unsigned RB3            : 1;
1608                 unsigned RB4            : 1;
1609                 unsigned RB5            : 1;
1610                 unsigned RB6            : 1;
1611                 unsigned RB7            : 1;
1612         };
1613 } __DDRBbits_t;
1614 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
1615
1616 extern __sfr __at (0xF93) TRISB;
1617 typedef union {
1618         struct {
1619                 unsigned TRISB0         : 1;
1620                 unsigned TRISB1         : 1;
1621                 unsigned TRISB2         : 1;
1622                 unsigned TRISB3         : 1;
1623                 unsigned TRISB4         : 1;
1624                 unsigned TRISB5         : 1;
1625                 unsigned TRISB6         : 1;
1626                 unsigned TRISB7         : 1;
1627         };
1628 } __TRISBbits_t;
1629 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
1630
1631 extern __sfr __at (0xF94) DDRC;
1632 typedef union {
1633         struct {
1634                 unsigned RC0            : 1;
1635                 unsigned RC1            : 1;
1636                 unsigned RC2            : 1;
1637                 unsigned RC3            : 1;
1638                 unsigned RC4            : 1;
1639                 unsigned RC5            : 1;
1640                 unsigned RC6            : 1;
1641                 unsigned RC7            : 1;
1642         };
1643 } __DDRCbits_t;
1644 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
1645
1646 extern __sfr __at (0xF94) TRISC;
1647 typedef union {
1648         struct {
1649                 unsigned TRISC0         : 1;
1650                 unsigned TRISC1         : 1;
1651                 unsigned TRISC2         : 1;
1652                 unsigned TRISC3         : 1;
1653                 unsigned TRISC4         : 1;
1654                 unsigned TRISC5         : 1;
1655                 unsigned TRISC6         : 1;
1656                 unsigned TRISC7         : 1;
1657         };
1658 } __TRISCbits_t;
1659 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
1660
1661 extern __sfr __at (0xF95) DDRD;
1662 typedef union {
1663         struct {
1664                 unsigned RD0            : 1;
1665                 unsigned RD1            : 1;
1666                 unsigned RD2            : 1;
1667                 unsigned RD3            : 1;
1668                 unsigned RD4            : 1;
1669                 unsigned RD5            : 1;
1670                 unsigned RD6            : 1;
1671                 unsigned RD7            : 1;
1672         };
1673 } __DDRDbits_t;
1674 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
1675
1676 extern __sfr __at (0xF95) TRISD;
1677 typedef union {
1678         struct {
1679                 unsigned TRISD0         : 1;
1680                 unsigned TRISD1         : 1;
1681                 unsigned TRISD2         : 1;
1682                 unsigned TRISD3         : 1;
1683                 unsigned TRISD4         : 1;
1684                 unsigned TRISD5         : 1;
1685                 unsigned TRISD6         : 1;
1686                 unsigned TRISD7         : 1;
1687         };
1688 } __TRISDbits_t;
1689 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
1690
1691 extern __sfr __at (0xF96) DDRE;
1692 typedef union {
1693         struct {
1694                 unsigned RE0            : 1;
1695                 unsigned RE1            : 1;
1696                 unsigned RE2            : 1;
1697                 unsigned RE3            : 1;
1698                 unsigned RE4            : 1;
1699                 unsigned RE5            : 1;
1700                 unsigned RE6            : 1;
1701                 unsigned RE7            : 1;
1702         };
1703 } __DDREbits_t;
1704 extern volatile __DDREbits_t __at (0xF96) DDREbits;
1705
1706 extern __sfr __at (0xF96) TRISE;
1707 typedef union {
1708         struct {
1709                 unsigned TRISE0         : 1;
1710                 unsigned TRISE1         : 1;
1711                 unsigned TRISE2         : 1;
1712                 unsigned TRISE3         : 1;
1713                 unsigned TRISE4         : 1;
1714                 unsigned TRISE5         : 1;
1715                 unsigned TRISE6         : 1;
1716                 unsigned TRISE7         : 1;
1717         };
1718 } __TRISEbits_t;
1719 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
1720
1721 extern __sfr __at (0xF97) DDRF;
1722 typedef union {
1723         struct {
1724                 unsigned RF0            : 1;
1725                 unsigned RF1            : 1;
1726                 unsigned RF2            : 1;
1727                 unsigned RF3            : 1;
1728                 unsigned RF4            : 1;
1729                 unsigned RF5            : 1;
1730                 unsigned RF6            : 1;
1731                 unsigned RF7            : 1;
1732         };
1733 } __DDRFbits_t;
1734 extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
1735
1736 extern __sfr __at (0xF97) TRISF;
1737 typedef union {
1738         struct {
1739                 unsigned TRISF0         : 1;
1740                 unsigned TRISF1         : 1;
1741                 unsigned TRISF2         : 1;
1742                 unsigned TRISF3         : 1;
1743                 unsigned TRISF4         : 1;
1744                 unsigned TRISF5         : 1;
1745                 unsigned TRISF6         : 1;
1746                 unsigned TRISF7         : 1;
1747         };
1748 } __TRISFbits_t;
1749 extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
1750
1751 extern __sfr __at (0xF98) DDRG;
1752 typedef union {
1753         struct {
1754                 unsigned RG0            : 1;
1755                 unsigned RG1            : 1;
1756                 unsigned RG2            : 1;
1757                 unsigned RG3            : 1;
1758                 unsigned RG4            : 1;
1759                 unsigned RG5            : 1;
1760                 unsigned RG6            : 1;
1761                 unsigned RG7            : 1;
1762         };
1763 } __DDRGbits_t;
1764 extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
1765
1766 extern __sfr __at (0xF98) TRISG;
1767 typedef union {
1768         struct {
1769                 unsigned TRISG0         : 1;
1770                 unsigned TRISG1         : 1;
1771                 unsigned TRISG2         : 1;
1772                 unsigned TRISG3         : 1;
1773                 unsigned TRISG4         : 1;
1774                 unsigned TRISG5         : 1;
1775                 unsigned TRISG6         : 1;
1776                 unsigned TRISG7         : 1;
1777         };
1778 } __TRISGbits_t;
1779 extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
1780
1781 extern __sfr __at (0xF99) DDRH;
1782 typedef union {
1783         struct {
1784                 unsigned RH0            : 1;
1785                 unsigned RH1            : 1;
1786                 unsigned RH2            : 1;
1787                 unsigned RH3            : 1;
1788                 unsigned RH4            : 1;
1789                 unsigned RH5            : 1;
1790                 unsigned RH6            : 1;
1791                 unsigned RH7            : 1;
1792         };
1793 } __DDRHbits_t;
1794 extern volatile __DDRHbits_t __at (0xF99) DDRHbits;
1795
1796 extern __sfr __at (0xF99) TRISH;
1797 typedef union {
1798         struct {
1799                 unsigned TRISH0         : 1;
1800                 unsigned TRISH1         : 1;
1801                 unsigned TRISH2         : 1;
1802                 unsigned TRISH3         : 1;
1803                 unsigned TRISH4         : 1;
1804                 unsigned TRISH5         : 1;
1805                 unsigned TRISH6         : 1;
1806                 unsigned TRISH7         : 1;
1807         };
1808 } __TRISHbits_t;
1809 extern volatile __TRISHbits_t __at (0xF99) TRISHbits;
1810
1811 extern __sfr __at (0xF9A) DDRJ;
1812 typedef union {
1813         struct {
1814                 unsigned RJ0            : 1;
1815                 unsigned RJ1            : 1;
1816                 unsigned RJ2            : 1;
1817                 unsigned RJ3            : 1;
1818                 unsigned RJ4            : 1;
1819                 unsigned RJ5            : 1;
1820                 unsigned RJ6            : 1;
1821                 unsigned RJ7            : 1;
1822         };
1823 } __DDRJbits_t;
1824 extern volatile __DDRJbits_t __at (0xF9A) DDRJbits;
1825
1826 extern __sfr __at (0xF9A) TRISJ;
1827 typedef union {
1828         struct {
1829                 unsigned TRISJ0         : 1;
1830                 unsigned TRISJ1         : 1;
1831                 unsigned TRISJ2         : 1;
1832                 unsigned TRISJ3         : 1;
1833                 unsigned TRISJ4         : 1;
1834                 unsigned TRISJ5         : 1;
1835                 unsigned TRISJ6         : 1;
1836                 unsigned TRISJ7         : 1;
1837         };
1838 } __TRISJbits_t;
1839 extern volatile __TRISJbits_t __at (0xF9A) TRISJbits;
1840
1841 extern __sfr __at (0xF9B) OSCTUNE;
1842 typedef union {
1843         struct {
1844                 unsigned                : 1;
1845                 unsigned                : 1;
1846                 unsigned                : 1;
1847                 unsigned                : 1;
1848                 unsigned PPRE           : 1;
1849                 unsigned PPST0          : 1;
1850                 unsigned PLLEN          : 1;
1851                 unsigned PPST1          : 1;
1852         };
1853 } __OSCTUNEbits_t;
1854 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
1855
1856 extern __sfr __at (0xF9C) MEMCON;
1857 typedef union {
1858         struct {
1859                 unsigned WM0            : 1;
1860                 unsigned WM1            : 1;
1861                 unsigned                : 1;
1862                 unsigned                : 1;
1863                 unsigned WAIT0          : 1;
1864                 unsigned WAIT1          : 1;
1865                 unsigned                : 1;
1866                 unsigned EBDIS          : 1;
1867         };
1868 } __MEMCONbits_t;
1869 extern volatile __MEMCONbits_t __at (0xF9C) MEMCONbits;
1870
1871 extern __sfr __at (0xF9D) PIE1;
1872 typedef union {
1873         struct {
1874                 unsigned TMR1IE         : 1;
1875                 unsigned TMR2IE         : 1;
1876                 unsigned CCP1IE         : 1;
1877                 unsigned SSPIE          : 1;
1878                 unsigned TXIE_PIE1      : 1;
1879                 unsigned RCIE           : 1;
1880                 unsigned ADIE           : 1;
1881                 unsigned PSPIE          : 1;
1882         };
1883         struct {
1884                 unsigned                : 1;
1885                 unsigned                : 1;
1886                 unsigned                : 1;
1887                 unsigned SSP1IE         : 1;
1888                 unsigned TX1IE          : 1;
1889                 unsigned RC1IE          : 1;
1890                 unsigned                : 1;
1891                 unsigned                : 1;
1892         };
1893 } __PIE1bits_t;
1894 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
1895
1896 extern __sfr __at (0xF9E) PIR1;
1897 typedef union {
1898         struct {
1899                 unsigned TMR1IF         : 1;
1900                 unsigned TMR2IF         : 1;
1901                 unsigned CCP1IF         : 1;
1902                 unsigned SSPIF          : 1;
1903                 unsigned TXIF_PIR1      : 1;
1904                 unsigned RCIF           : 1;
1905                 unsigned ADIF           : 1;
1906                 unsigned PSPIF          : 1;
1907         };
1908         struct {
1909                 unsigned                : 1;
1910                 unsigned                : 1;
1911                 unsigned                : 1;
1912                 unsigned SSP1IF         : 1;
1913                 unsigned TX1IF          : 1;
1914                 unsigned RC1IF          : 1;
1915                 unsigned                : 1;
1916                 unsigned                : 1;
1917         };
1918 } __PIR1bits_t;
1919 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
1920
1921 extern __sfr __at (0xF9F) IPR1;
1922 typedef union {
1923         struct {
1924                 unsigned TMR1IP         : 1;
1925                 unsigned TMR2IP         : 1;
1926                 unsigned CCP1IP         : 1;
1927                 unsigned SSPIP          : 1;
1928                 unsigned TXIP           : 1;
1929                 unsigned RCIP           : 1;
1930                 unsigned ADIP           : 1;
1931                 unsigned PSPIP          : 1;
1932         };
1933         struct {
1934                 unsigned                : 1;
1935                 unsigned                : 1;
1936                 unsigned                : 1;
1937                 unsigned SSP1IP         : 1;
1938                 unsigned TX1IP          : 1;
1939                 unsigned RC1IP          : 1;
1940                 unsigned                : 1;
1941                 unsigned                : 1;
1942         };
1943 } __IPR1bits_t;
1944 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
1945
1946 extern __sfr __at (0xFA0) PIE2;
1947 typedef union {
1948         struct {
1949                 unsigned CCP2IE         : 1;
1950                 unsigned TMR3IE         : 1;
1951                 unsigned                : 1;
1952                 unsigned BCLIE          : 1;
1953                 unsigned ETHWIE         : 1;
1954                 unsigned ETHIE          : 1;
1955                 unsigned CMIE           : 1;
1956                 unsigned OSCFIE         : 1;
1957         };
1958         struct {
1959                 unsigned                : 1;
1960                 unsigned                : 1;
1961                 unsigned                : 1;
1962                 unsigned BCL1IE         : 1;
1963                 unsigned                : 1;
1964                 unsigned                : 1;
1965                 unsigned                : 1;
1966                 unsigned                : 1;
1967         };
1968 } __PIE2bits_t;
1969 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
1970
1971 extern __sfr __at (0xFA1) PIR2;
1972 typedef union {
1973         struct {
1974                 unsigned CCP2IF         : 1;
1975                 unsigned TMR3IF         : 1;
1976                 unsigned                : 1;
1977                 unsigned BCLIF          : 1;
1978                 unsigned ETHWIF         : 1;
1979                 unsigned ETHIF          : 1;
1980                 unsigned CMIF           : 1;
1981                 unsigned OSCFIF         : 1;
1982         };
1983         struct {
1984                 unsigned                : 1;
1985                 unsigned                : 1;
1986                 unsigned                : 1;
1987                 unsigned BCL1IF         : 1;
1988                 unsigned                : 1;
1989                 unsigned                : 1;
1990                 unsigned                : 1;
1991                 unsigned                : 1;
1992         };
1993 } __PIR2bits_t;
1994 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
1995
1996 extern __sfr __at (0xFA2) IPR2;
1997 typedef union {
1998         struct {
1999                 unsigned CCP2IP         : 1;
2000                 unsigned TMR3IP         : 1;
2001                 unsigned                : 1;
2002                 unsigned BCLIP          : 1;
2003                 unsigned ETHWIP         : 1;
2004                 unsigned ETHIP          : 1;
2005                 unsigned CMIP           : 1;
2006                 unsigned OSCFIP         : 1;
2007         };
2008         struct {
2009                 unsigned                : 1;
2010                 unsigned                : 1;
2011                 unsigned                : 1;
2012                 unsigned BCL1IP         : 1;
2013                 unsigned                : 1;
2014                 unsigned                : 1;
2015                 unsigned                : 1;
2016                 unsigned                : 1;
2017         };
2018 } __IPR2bits_t;
2019 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
2020
2021 extern __sfr __at (0xFA3) PIE3;
2022 typedef union {
2023         struct {
2024                 unsigned CCP3IE         : 1;
2025                 unsigned CCP4IE         : 1;
2026                 unsigned CCP5IE         : 1;
2027                 unsigned TMR4IE         : 1;
2028                 unsigned TX2IE          : 1;
2029                 unsigned RC2IE          : 1;
2030                 unsigned BCL2IE         : 1;
2031                 unsigned SSP2IE         : 1;
2032         };
2033 } __PIE3bits_t;
2034 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
2035
2036 extern __sfr __at (0xFA4) PIR3;
2037 typedef union {
2038         struct {
2039                 unsigned CCP3IF         : 1;
2040                 unsigned CCP4IF         : 1;
2041                 unsigned CCP5IF         : 1;
2042                 unsigned TMR4IF         : 1;
2043                 unsigned TX2IF          : 1;
2044                 unsigned RC2IF          : 1;
2045                 unsigned BCL2IF         : 1;
2046                 unsigned SSP2IF         : 1;
2047         };
2048 } __PIR3bits_t;
2049 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
2050
2051 extern __sfr __at (0xFA5) IPR3;
2052 typedef union {
2053         struct {
2054                 unsigned CCP3IP         : 1;
2055                 unsigned CCP4IP         : 1;
2056                 unsigned CCP5IP         : 1;
2057                 unsigned TMR4IP         : 1;
2058                 unsigned TX2IP          : 1;
2059                 unsigned RC2IP          : 1;
2060                 unsigned BCL2IP         : 1;
2061                 unsigned SSP2IP         : 1;
2062         };
2063 } __IPR3bits_t;
2064 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
2065
2066 extern __sfr __at (0xFA6) EECON1;
2067 typedef union {
2068         struct {
2069                 unsigned                : 1;
2070                 unsigned WR             : 1;
2071                 unsigned WREN           : 1;
2072                 unsigned WRERR          : 1;
2073                 unsigned FREE           : 1;
2074                 unsigned                : 1;
2075                 unsigned                : 1;
2076                 unsigned                : 1;
2077         };
2078 } __EECON1bits_t;
2079 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
2080
2081 extern __sfr __at (0xFA7) EECON2;
2082
2083 extern __sfr __at (0xFAB) RCSTA;
2084 typedef union {
2085         struct {
2086                 unsigned RX9D           : 1;
2087                 unsigned OERR           : 1;
2088                 unsigned FERR           : 1;
2089                 unsigned ADDEN          : 1;
2090                 unsigned CREN           : 1;
2091                 unsigned SREN           : 1;
2092                 unsigned RX9            : 1;
2093                 unsigned SPEN           : 1;
2094         };
2095         struct {
2096                 unsigned RCD8           : 1;
2097                 unsigned                : 1;
2098                 unsigned                : 1;
2099                 unsigned                : 1;
2100                 unsigned                : 1;
2101                 unsigned                : 1;
2102                 unsigned RC9            : 1;
2103                 unsigned                : 1;
2104         };
2105         struct {
2106                 unsigned                : 1;
2107                 unsigned                : 1;
2108                 unsigned                : 1;
2109                 unsigned                : 1;
2110                 unsigned                : 1;
2111                 unsigned                : 1;
2112                 unsigned NOT_RC8        : 1;
2113                 unsigned                : 1;
2114         };
2115         struct {
2116                 unsigned                : 1;
2117                 unsigned                : 1;
2118                 unsigned                : 1;
2119                 unsigned                : 1;
2120                 unsigned                : 1;
2121                 unsigned                : 1;
2122                 unsigned RC8_9          : 1;
2123                 unsigned                : 1;
2124         };
2125 } __RCSTAbits_t;
2126 extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
2127
2128 extern __sfr __at (0xFAB) RCSTA1;
2129 typedef union {
2130         struct {
2131                 unsigned RX9D           : 1;
2132                 unsigned OERR           : 1;
2133                 unsigned FERR           : 1;
2134                 unsigned ADDEN          : 1;
2135                 unsigned CREN           : 1;
2136                 unsigned SREN           : 1;
2137                 unsigned RX9            : 1;
2138                 unsigned SPEN           : 1;
2139         };
2140         struct {
2141                 unsigned RCD8           : 1;
2142                 unsigned                : 1;
2143                 unsigned                : 1;
2144                 unsigned                : 1;
2145                 unsigned                : 1;
2146                 unsigned                : 1;
2147                 unsigned RC9            : 1;
2148                 unsigned                : 1;
2149         };
2150         struct {
2151                 unsigned                : 1;
2152                 unsigned                : 1;
2153                 unsigned                : 1;
2154                 unsigned                : 1;
2155                 unsigned                : 1;
2156                 unsigned                : 1;
2157                 unsigned NOT_RC8        : 1;
2158                 unsigned                : 1;
2159         };
2160         struct {
2161                 unsigned                : 1;
2162                 unsigned                : 1;
2163                 unsigned                : 1;
2164                 unsigned                : 1;
2165                 unsigned                : 1;
2166                 unsigned                : 1;
2167                 unsigned RC8_9          : 1;
2168                 unsigned                : 1;
2169         };
2170 } __RCSTA1bits_t;
2171 extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
2172
2173 extern __sfr __at (0xFAC) TXSTA;
2174 typedef union {
2175         struct {
2176                 unsigned TX9D           : 1;
2177                 unsigned TRMT           : 1;
2178                 unsigned BRGH           : 1;
2179                 unsigned SENDB          : 1;
2180                 unsigned SYNC           : 1;
2181                 unsigned TXEN           : 1;
2182                 unsigned TX9            : 1;
2183                 unsigned CSRC           : 1;
2184         };
2185         struct {
2186                 unsigned TXD8           : 1;
2187                 unsigned                : 1;
2188                 unsigned                : 1;
2189                 unsigned                : 1;
2190                 unsigned                : 1;
2191                 unsigned                : 1;
2192                 unsigned TX8_9          : 1;
2193                 unsigned                : 1;
2194         };
2195         struct {
2196                 unsigned                : 1;
2197                 unsigned                : 1;
2198                 unsigned                : 1;
2199                 unsigned                : 1;
2200                 unsigned                : 1;
2201                 unsigned                : 1;
2202                 unsigned NOT_TX8        : 1;
2203                 unsigned                : 1;
2204         };
2205 } __TXSTAbits_t;
2206 extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
2207
2208 extern __sfr __at (0xFAC) TXSTA1;
2209 typedef union {
2210         struct {
2211                 unsigned TX9D           : 1;
2212                 unsigned TRMT           : 1;
2213                 unsigned BRGH           : 1;
2214                 unsigned SENDB          : 1;
2215                 unsigned SYNC           : 1;
2216                 unsigned TXEN           : 1;
2217                 unsigned TX9            : 1;
2218                 unsigned CSRC           : 1;
2219         };
2220         struct {
2221                 unsigned TXD8           : 1;
2222                 unsigned                : 1;
2223                 unsigned                : 1;
2224                 unsigned                : 1;
2225                 unsigned                : 1;
2226                 unsigned                : 1;
2227                 unsigned TX8_9          : 1;
2228                 unsigned                : 1;
2229         };
2230         struct {
2231                 unsigned                : 1;
2232                 unsigned                : 1;
2233                 unsigned                : 1;
2234                 unsigned                : 1;
2235                 unsigned                : 1;
2236                 unsigned                : 1;
2237                 unsigned NOT_TX8        : 1;
2238                 unsigned                : 1;
2239         };
2240 } __TXSTA1bits_t;
2241 extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
2242
2243 extern __sfr __at (0xFAD) TXREG;
2244
2245 extern __sfr __at (0xFAD) TXREG1;
2246
2247 extern __sfr __at (0xFAE) RCREG;
2248
2249 extern __sfr __at (0xFAE) RCREG1;
2250
2251 extern __sfr __at (0xFAF) SPBRG;
2252
2253 extern __sfr __at (0xFAF) SPBRG1;
2254
2255 extern __sfr __at (0xFB0) PSPCON;
2256 typedef union {
2257         struct {
2258                 unsigned                : 1;
2259                 unsigned                : 1;
2260                 unsigned                : 1;
2261                 unsigned                : 1;
2262                 unsigned PSPMODE        : 1;
2263                 unsigned IBOV           : 1;
2264                 unsigned OBF            : 1;
2265                 unsigned IBF            : 1;
2266         };
2267 } __PSPCONbits_t;
2268 extern volatile __PSPCONbits_t __at (0xFB0) PSPCONbits;
2269
2270 extern __sfr __at (0xFB1) T3CON;
2271 typedef union {
2272         struct {
2273                 unsigned TMR3ON         : 1;
2274                 unsigned TMR3CS         : 1;
2275                 unsigned T3SYNC         : 1;
2276                 unsigned T3CCP1         : 1;
2277                 unsigned T3CKPS0        : 1;
2278                 unsigned T3CKPS1        : 1;
2279                 unsigned T3CCP2         : 1;
2280                 unsigned RD16           : 1;
2281         };
2282         struct {
2283                 unsigned                : 1;
2284                 unsigned                : 1;
2285                 unsigned T3INSYNC       : 1;
2286                 unsigned                : 1;
2287                 unsigned                : 1;
2288                 unsigned                : 1;
2289                 unsigned                : 1;
2290                 unsigned                : 1;
2291         };
2292         struct {
2293                 unsigned                : 1;
2294                 unsigned                : 1;
2295                 unsigned NOT_T3SYNC     : 1;
2296                 unsigned                : 1;
2297                 unsigned                : 1;
2298                 unsigned                : 1;
2299                 unsigned                : 1;
2300                 unsigned                : 1;
2301         };
2302 } __T3CONbits_t;
2303 extern volatile __T3CONbits_t __at (0xFB1) T3CONbits;
2304
2305 extern __sfr __at (0xFB2) TMR3L;
2306
2307 extern __sfr __at (0xFB3) TMR3H;
2308
2309 extern __sfr __at (0xFB4) CMCON;
2310 typedef union {
2311         struct {
2312                 unsigned CM0            : 1;
2313                 unsigned CM1            : 1;
2314                 unsigned CM2            : 1;
2315                 unsigned CIS            : 1;
2316                 unsigned C1INV          : 1;
2317                 unsigned C2INV          : 1;
2318                 unsigned C1OUT          : 1;
2319                 unsigned C2OUT          : 1;
2320         };
2321 } __CMCONbits_t;
2322 extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
2323
2324 extern __sfr __at (0xFB5) CVRCON;
2325 typedef union {
2326         struct {
2327                 unsigned CVR0           : 1;
2328                 unsigned CVR1           : 1;
2329                 unsigned CVR2           : 1;
2330                 unsigned CVR3           : 1;
2331                 unsigned CVRSS          : 1;
2332                 unsigned CVRR           : 1;
2333                 unsigned CVROE          : 1;
2334                 unsigned CVREN          : 1;
2335         };
2336 } __CVRCONbits_t;
2337 extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
2338
2339 extern __sfr __at (0xFB6) ECCP1AS;
2340 typedef union {
2341         struct {
2342                 unsigned PSSBD0         : 1;
2343                 unsigned PSSBD1         : 1;
2344                 unsigned PSSAC0         : 1;
2345                 unsigned PSSAC1         : 1;
2346                 unsigned ECCPAS0        : 1;
2347                 unsigned ECCPAS1        : 1;
2348                 unsigned ECCPAS2        : 1;
2349                 unsigned ECCPASE        : 1;
2350         };
2351         struct {
2352                 unsigned PSS1BD0        : 1;
2353                 unsigned PSS1BD1        : 1;
2354                 unsigned PSS1AC0        : 1;
2355                 unsigned PSS1AC1        : 1;
2356                 unsigned ECCP1AS0       : 1;
2357                 unsigned ECCP1AS1       : 1;
2358                 unsigned ECCP1AS2       : 1;
2359                 unsigned ECCP1ASE       : 1;
2360         };
2361 } __ECCP1ASbits_t;
2362 extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
2363
2364 extern __sfr __at (0xFB7) CCP3CON;
2365 typedef union {
2366         struct {
2367                 unsigned CCP3M0         : 1;
2368                 unsigned CCP3M1         : 1;
2369                 unsigned CCP3M2         : 1;
2370                 unsigned CCP3M3         : 1;
2371                 unsigned DC3B0          : 1;
2372                 unsigned DC3B1          : 1;
2373                 unsigned P3M0           : 1;
2374                 unsigned P3M1           : 1;
2375         };
2376         struct {
2377                 unsigned                : 1;
2378                 unsigned                : 1;
2379                 unsigned                : 1;
2380                 unsigned                : 1;
2381                 unsigned CCP3Y          : 1;
2382                 unsigned CCP3X          : 1;
2383                 unsigned                : 1;
2384                 unsigned                : 1;
2385         };
2386 } __CCP3CONbits_t;
2387 extern volatile __CCP3CONbits_t __at (0xFB7) CCP3CONbits;
2388
2389 extern __sfr __at (0xFB7) ECCP3CON;
2390 typedef union {
2391         struct {
2392                 unsigned CCP3M0         : 1;
2393                 unsigned CCP3M1         : 1;
2394                 unsigned CCP3M2         : 1;
2395                 unsigned CCP3M3         : 1;
2396                 unsigned DC3B0          : 1;
2397                 unsigned DC3B1          : 1;
2398                 unsigned P3M0           : 1;
2399                 unsigned P3M1           : 1;
2400         };
2401         struct {
2402                 unsigned                : 1;
2403                 unsigned                : 1;
2404                 unsigned                : 1;
2405                 unsigned                : 1;
2406                 unsigned CCP3Y          : 1;
2407                 unsigned CCP3X          : 1;
2408                 unsigned                : 1;
2409                 unsigned                : 1;
2410         };
2411 } __ECCP3CONbits_t;
2412 extern volatile __ECCP3CONbits_t __at (0xFB7) ECCP3CONbits;
2413
2414 extern __sfr __at (0xFB8) CCPR3;
2415
2416 extern __sfr __at (0xFB8) CCPR3L;
2417
2418 extern __sfr __at (0xFB9) CCPR3H;
2419
2420 extern __sfr __at (0xFBA) CCP2CON;
2421 typedef union {
2422         struct {
2423                 unsigned CCP2M0         : 1;
2424                 unsigned CCP2M1         : 1;
2425                 unsigned CCP2M2         : 1;
2426                 unsigned CCP2M3         : 1;
2427                 unsigned DC2B0          : 1;
2428                 unsigned DC2B1          : 1;
2429                 unsigned P2M0           : 1;
2430                 unsigned P2M1           : 1;
2431         };
2432         struct {
2433                 unsigned                : 1;
2434                 unsigned                : 1;
2435                 unsigned                : 1;
2436                 unsigned                : 1;
2437                 unsigned CCP2Y          : 1;
2438                 unsigned CCP2X          : 1;
2439                 unsigned                : 1;
2440                 unsigned                : 1;
2441         };
2442 } __CCP2CONbits_t;
2443 extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
2444
2445 extern __sfr __at (0xFBA) ECCP2CON;
2446 typedef union {
2447         struct {
2448                 unsigned CCP2M0         : 1;
2449                 unsigned CCP2M1         : 1;
2450                 unsigned CCP2M2         : 1;
2451                 unsigned CCP2M3         : 1;
2452                 unsigned DC2B0          : 1;
2453                 unsigned DC2B1          : 1;
2454                 unsigned P2M0           : 1;
2455                 unsigned P2M1           : 1;
2456         };
2457         struct {
2458                 unsigned                : 1;
2459                 unsigned                : 1;
2460                 unsigned                : 1;
2461                 unsigned                : 1;
2462                 unsigned CCP2Y          : 1;
2463                 unsigned CCP2X          : 1;
2464                 unsigned                : 1;
2465                 unsigned                : 1;
2466         };
2467 } __ECCP2CONbits_t;
2468 extern volatile __ECCP2CONbits_t __at (0xFBA) ECCP2CONbits;
2469
2470 extern __sfr __at (0xFBB) CCPR2;
2471
2472 extern __sfr __at (0xFBB) CCPR2L;
2473
2474 extern __sfr __at (0xFBC) CCPR2H;
2475
2476 extern __sfr __at (0xFBD) CCP1CON;
2477 typedef union {
2478         struct {
2479                 unsigned CCP1M0         : 1;
2480                 unsigned CCP1M1         : 1;
2481                 unsigned CCP1M2         : 1;
2482                 unsigned CCP1M3         : 1;
2483                 unsigned DC1B0          : 1;
2484                 unsigned DC1B1          : 1;
2485                 unsigned P1M0           : 1;
2486                 unsigned P1M1           : 1;
2487         };
2488         struct {
2489                 unsigned                : 1;
2490                 unsigned                : 1;
2491                 unsigned                : 1;
2492                 unsigned                : 1;
2493                 unsigned CCP1Y          : 1;
2494                 unsigned CCP1X          : 1;
2495                 unsigned                : 1;
2496                 unsigned                : 1;
2497         };
2498 } __CCP1CONbits_t;
2499 extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
2500
2501 extern __sfr __at (0xFBD) ECCP1CON;
2502 typedef union {
2503         struct {
2504                 unsigned CCP1M0         : 1;
2505                 unsigned CCP1M1         : 1;
2506                 unsigned CCP1M2         : 1;
2507                 unsigned CCP1M3         : 1;
2508                 unsigned DC1B0          : 1;
2509                 unsigned DC1B1          : 1;
2510                 unsigned P1M0           : 1;
2511                 unsigned P1M1           : 1;
2512         };
2513         struct {
2514                 unsigned                : 1;
2515                 unsigned                : 1;
2516                 unsigned                : 1;
2517                 unsigned                : 1;
2518                 unsigned CCP1Y          : 1;
2519                 unsigned CCP1X          : 1;
2520                 unsigned                : 1;
2521                 unsigned                : 1;
2522         };
2523 } __ECCP1CONbits_t;
2524 extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
2525
2526 extern __sfr __at (0xFBE) CCPR1;
2527
2528 extern __sfr __at (0xFBE) CCPR1L;
2529
2530 extern __sfr __at (0xFBF) CCPR1H;
2531
2532 extern __sfr __at (0xFC0) ADCON2;
2533 typedef union {
2534         struct {
2535                 unsigned ADCS0          : 1;
2536                 unsigned ADCS1          : 1;
2537                 unsigned ADCS2          : 1;
2538                 unsigned ACQT0          : 1;
2539                 unsigned ACQT1          : 1;
2540                 unsigned ACQT2          : 1;
2541                 unsigned                : 1;
2542                 unsigned ADFM           : 1;
2543         };
2544 } __ADCON2bits_t;
2545 extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
2546
2547 extern __sfr __at (0xFC1) ADCON1;
2548 typedef union {
2549         struct {
2550                 unsigned PCFG0          : 1;
2551                 unsigned PCFG1          : 1;
2552                 unsigned PCFG2          : 1;
2553                 unsigned PCFG3          : 1;
2554                 unsigned VCFG0          : 1;
2555                 unsigned VCFG1          : 1;
2556                 unsigned                : 1;
2557                 unsigned                : 1;
2558         };
2559 } __ADCON1bits_t;
2560 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
2561
2562 extern __sfr __at (0xFC2) ADCON0;
2563 typedef union {
2564         struct {
2565                 unsigned ADON           : 1;
2566                 unsigned DONE           : 1;
2567                 unsigned CHS0           : 1;
2568                 unsigned CHS1           : 1;
2569                 unsigned CHS2           : 1;
2570                 unsigned CHS3           : 1;
2571                 unsigned                : 1;
2572                 unsigned ADCAL          : 1;
2573         };
2574         struct {
2575                 unsigned                : 1;
2576                 unsigned GO_DONE        : 1;
2577                 unsigned                : 1;
2578                 unsigned                : 1;
2579                 unsigned                : 1;
2580                 unsigned                : 1;
2581                 unsigned                : 1;
2582                 unsigned                : 1;
2583         };
2584         struct {
2585                 unsigned                : 1;
2586                 unsigned GO             : 1;
2587                 unsigned                : 1;
2588                 unsigned                : 1;
2589                 unsigned                : 1;
2590                 unsigned                : 1;
2591                 unsigned                : 1;
2592                 unsigned                : 1;
2593         };
2594         struct {
2595                 unsigned                : 1;
2596                 unsigned NOT_DONE       : 1;
2597                 unsigned                : 1;
2598                 unsigned                : 1;
2599                 unsigned                : 1;
2600                 unsigned                : 1;
2601                 unsigned                : 1;
2602                 unsigned                : 1;
2603         };
2604 } __ADCON0bits_t;
2605 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
2606
2607 extern __sfr __at (0xFC3) ADRES;
2608
2609 extern __sfr __at (0xFC3) ADRESL;
2610
2611 extern __sfr __at (0xFC4) ADRESH;
2612
2613 extern __sfr __at (0xFC5) SSP1CON2;
2614 typedef union {
2615         struct {
2616                 unsigned SEN            : 1;
2617                 unsigned RSEN           : 1;
2618                 unsigned PEN            : 1;
2619                 unsigned RCEN           : 1;
2620                 unsigned ACKEN          : 1;
2621                 unsigned ACKDT          : 1;
2622                 unsigned ACKSTAT        : 1;
2623                 unsigned GCEN           : 1;
2624         };
2625         struct {
2626                 unsigned                : 1;
2627                 unsigned ADMSK1         : 1;
2628                 unsigned ADMSK2         : 1;
2629                 unsigned ADMSK3         : 1;
2630                 unsigned ADMSK4         : 1;
2631                 unsigned ADMSK5         : 1;
2632                 unsigned                : 1;
2633                 unsigned                : 1;
2634         };
2635         struct {
2636                 unsigned                : 1;
2637                 unsigned ADMSK          : 1;
2638                 unsigned                : 1;
2639                 unsigned                : 1;
2640                 unsigned                : 1;
2641                 unsigned                : 1;
2642                 unsigned                : 1;
2643                 unsigned                : 1;
2644         };
2645 } __SSP1CON2bits_t;
2646 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
2647
2648 extern __sfr __at (0xFC5) SSPCON2;
2649 typedef union {
2650         struct {
2651                 unsigned SEN            : 1;
2652                 unsigned RSEN           : 1;
2653                 unsigned PEN            : 1;
2654                 unsigned RCEN           : 1;
2655                 unsigned ACKEN          : 1;
2656                 unsigned ACKDT          : 1;
2657                 unsigned ACKSTAT        : 1;
2658                 unsigned GCEN           : 1;
2659         };
2660         struct {
2661                 unsigned                : 1;
2662                 unsigned ADMSK1         : 1;
2663                 unsigned ADMSK2         : 1;
2664                 unsigned ADMSK3         : 1;
2665                 unsigned ADMSK4         : 1;
2666                 unsigned ADMSK5         : 1;
2667                 unsigned                : 1;
2668                 unsigned                : 1;
2669         };
2670         struct {
2671                 unsigned                : 1;
2672                 unsigned ADMSK          : 1;
2673                 unsigned                : 1;
2674                 unsigned                : 1;
2675                 unsigned                : 1;
2676                 unsigned                : 1;
2677                 unsigned                : 1;
2678                 unsigned                : 1;
2679         };
2680 } __SSPCON2bits_t;
2681 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
2682
2683 extern __sfr __at (0xFC6) SSP1CON1;
2684 typedef union {
2685         struct {
2686                 unsigned SSPM0          : 1;
2687                 unsigned SSPM1          : 1;
2688                 unsigned SSPM2          : 1;
2689                 unsigned SSPM3          : 1;
2690                 unsigned CKP            : 1;
2691                 unsigned SSPEN          : 1;
2692                 unsigned SSPOV          : 1;
2693                 unsigned WCOL           : 1;
2694         };
2695 } __SSP1CON1bits_t;
2696 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
2697
2698 extern __sfr __at (0xFC6) SSPCON1;
2699 typedef union {
2700         struct {
2701                 unsigned SSPM0          : 1;
2702                 unsigned SSPM1          : 1;
2703                 unsigned SSPM2          : 1;
2704                 unsigned SSPM3          : 1;
2705                 unsigned CKP            : 1;
2706                 unsigned SSPEN          : 1;
2707                 unsigned SSPOV          : 1;
2708                 unsigned WCOL           : 1;
2709         };
2710 } __SSPCON1bits_t;
2711 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
2712
2713 extern __sfr __at (0xFC7) SSP1STAT;
2714 typedef union {
2715         struct {
2716                 unsigned BF             : 1;
2717                 unsigned UA             : 1;
2718                 unsigned R_W            : 1;
2719                 unsigned S              : 1;
2720                 unsigned P              : 1;
2721                 unsigned D_A            : 1;
2722                 unsigned CKE            : 1;
2723                 unsigned SMP            : 1;
2724         };
2725         struct {
2726                 unsigned                : 1;
2727                 unsigned                : 1;
2728                 unsigned I2C_READ       : 1;
2729                 unsigned I2C_START      : 1;
2730                 unsigned I2C_STOP       : 1;
2731                 unsigned I2C_DAT        : 1;
2732                 unsigned                : 1;
2733                 unsigned                : 1;
2734         };
2735         struct {
2736                 unsigned                : 1;
2737                 unsigned                : 1;
2738                 unsigned NOT_W          : 1;
2739                 unsigned                : 1;
2740                 unsigned                : 1;
2741                 unsigned NOT_A          : 1;
2742                 unsigned                : 1;
2743                 unsigned                : 1;
2744         };
2745         struct {
2746                 unsigned                : 1;
2747                 unsigned                : 1;
2748                 unsigned NOT_WRITE      : 1;
2749                 unsigned                : 1;
2750                 unsigned                : 1;
2751                 unsigned NOT_ADDRESS    : 1;
2752                 unsigned                : 1;
2753                 unsigned                : 1;
2754         };
2755         struct {
2756                 unsigned                : 1;
2757                 unsigned                : 1;
2758                 unsigned READ_WRITE     : 1;
2759                 unsigned                : 1;
2760                 unsigned                : 1;
2761                 unsigned DATA_ADDRESS   : 1;
2762                 unsigned                : 1;
2763                 unsigned                : 1;
2764         };
2765         struct {
2766                 unsigned                : 1;
2767                 unsigned                : 1;
2768                 unsigned R              : 1;
2769                 unsigned                : 1;
2770                 unsigned                : 1;
2771                 unsigned D              : 1;
2772                 unsigned                : 1;
2773                 unsigned                : 1;
2774         };
2775 } __SSP1STATbits_t;
2776 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
2777
2778 extern __sfr __at (0xFC7) SSPSTAT;
2779 typedef union {
2780         struct {
2781                 unsigned BF             : 1;
2782                 unsigned UA             : 1;
2783                 unsigned R_W            : 1;
2784                 unsigned S              : 1;
2785                 unsigned P              : 1;
2786                 unsigned D_A            : 1;
2787                 unsigned CKE            : 1;
2788                 unsigned SMP            : 1;
2789         };
2790         struct {
2791                 unsigned                : 1;
2792                 unsigned                : 1;
2793                 unsigned I2C_READ       : 1;
2794                 unsigned I2C_START      : 1;
2795                 unsigned I2C_STOP       : 1;
2796                 unsigned I2C_DAT        : 1;
2797                 unsigned                : 1;
2798                 unsigned                : 1;
2799         };
2800         struct {
2801                 unsigned                : 1;
2802                 unsigned                : 1;
2803                 unsigned NOT_W          : 1;
2804                 unsigned                : 1;
2805                 unsigned                : 1;
2806                 unsigned NOT_A          : 1;
2807                 unsigned                : 1;
2808                 unsigned                : 1;
2809         };
2810         struct {
2811                 unsigned                : 1;
2812                 unsigned                : 1;
2813                 unsigned NOT_WRITE      : 1;
2814                 unsigned                : 1;
2815                 unsigned                : 1;
2816                 unsigned NOT_ADDRESS    : 1;
2817                 unsigned                : 1;
2818                 unsigned                : 1;
2819         };
2820         struct {
2821                 unsigned                : 1;
2822                 unsigned                : 1;
2823                 unsigned READ_WRITE     : 1;
2824                 unsigned                : 1;
2825                 unsigned                : 1;
2826                 unsigned DATA_ADDRESS   : 1;
2827                 unsigned                : 1;
2828                 unsigned                : 1;
2829         };
2830         struct {
2831                 unsigned                : 1;
2832                 unsigned                : 1;
2833                 unsigned R              : 1;
2834                 unsigned                : 1;
2835                 unsigned                : 1;
2836                 unsigned D              : 1;
2837                 unsigned                : 1;
2838                 unsigned                : 1;
2839         };
2840 } __SSPSTATbits_t;
2841 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
2842
2843 extern __sfr __at (0xFC8) SSP1ADD;
2844
2845 extern __sfr __at (0xFC8) SSPADD;
2846
2847 extern __sfr __at (0xFC9) SSP1BUF;
2848
2849 extern __sfr __at (0xFC9) SSPBUF;
2850
2851 extern __sfr __at (0xFCA) T2CON;
2852 typedef union {
2853         struct {
2854                 unsigned T2CKPS0        : 1;
2855                 unsigned T2CKPS1        : 1;
2856                 unsigned TMR2ON         : 1;
2857                 unsigned T2OUTPS0       : 1;
2858                 unsigned T2OUTPS1       : 1;
2859                 unsigned T2OUTPS2       : 1;
2860                 unsigned T2OUTPS3       : 1;
2861                 unsigned                : 1;
2862         };
2863 } __T2CONbits_t;
2864 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
2865
2866 extern __sfr __at (0xFCB) PR2;
2867
2868 extern __sfr __at (0xFCC) TMR2;
2869
2870 extern __sfr __at (0xFCD) T1CON;
2871 typedef union {
2872         struct {
2873                 unsigned TMR1ON         : 1;
2874                 unsigned TMR1CS         : 1;
2875                 unsigned T1SYNC         : 1;
2876                 unsigned T1OSCEN        : 1;
2877                 unsigned T1CKPS0        : 1;
2878                 unsigned T1CKPS1        : 1;
2879                 unsigned T1RUN          : 1;
2880                 unsigned RD16           : 1;
2881         };
2882         struct {
2883                 unsigned                : 1;
2884                 unsigned                : 1;
2885                 unsigned T1INSYNC       : 1;
2886                 unsigned                : 1;
2887                 unsigned                : 1;
2888                 unsigned                : 1;
2889                 unsigned                : 1;
2890                 unsigned                : 1;
2891         };
2892         struct {
2893                 unsigned                : 1;
2894                 unsigned                : 1;
2895                 unsigned NOT_T1SYNC     : 1;
2896                 unsigned                : 1;
2897                 unsigned                : 1;
2898                 unsigned                : 1;
2899                 unsigned                : 1;
2900                 unsigned                : 1;
2901         };
2902 } __T1CONbits_t;
2903 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
2904
2905 extern __sfr __at (0xFCE) TMR1L;
2906
2907 extern __sfr __at (0xFCF) TMR1H;
2908
2909 extern __sfr __at (0xFD0) RCON;
2910 typedef union {
2911         struct {
2912                 unsigned NOT_BOR        : 1;
2913                 unsigned NOT_POR        : 1;
2914                 unsigned NOT_PD         : 1;
2915                 unsigned NOT_TO         : 1;
2916                 unsigned NOT_RI         : 1;
2917                 unsigned                : 1;
2918                 unsigned                : 1;
2919                 unsigned IPEN           : 1;
2920         };
2921         struct {
2922                 unsigned BOR            : 1;
2923                 unsigned POR            : 1;
2924                 unsigned PD             : 1;
2925                 unsigned TO             : 1;
2926                 unsigned RI             : 1;
2927                 unsigned                : 1;
2928                 unsigned                : 1;
2929                 unsigned                : 1;
2930         };
2931 } __RCONbits_t;
2932 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
2933
2934 extern __sfr __at (0xFD1) WDTCON;
2935 typedef union {
2936         struct {
2937                 unsigned SWDTE          : 1;
2938                 unsigned                : 1;
2939                 unsigned                : 1;
2940                 unsigned                : 1;
2941                 unsigned                : 1;
2942                 unsigned                : 1;
2943                 unsigned                : 1;
2944                 unsigned                : 1;
2945         };
2946         struct {
2947                 unsigned SWDTEN         : 1;
2948                 unsigned                : 1;
2949                 unsigned                : 1;
2950                 unsigned                : 1;
2951                 unsigned                : 1;
2952                 unsigned                : 1;
2953                 unsigned                : 1;
2954                 unsigned                : 1;
2955         };
2956 } __WDTCONbits_t;
2957 extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
2958
2959 extern __sfr __at (0xFD2) ECON1;
2960 typedef union {
2961         struct {
2962                 unsigned                : 1;
2963                 unsigned                : 1;
2964                 unsigned RXEN           : 1;
2965                 unsigned TXRTS          : 1;
2966                 unsigned CSUMEN         : 1;
2967                 unsigned DMAST          : 1;
2968                 unsigned RXRST          : 1;
2969                 unsigned TXRST          : 1;
2970         };
2971 } __ECON1bits_t;
2972 extern volatile __ECON1bits_t __at (0xFD2) ECON1bits;
2973
2974 extern __sfr __at (0xFD3) OSCCON;
2975 typedef union {
2976         struct {
2977                 unsigned SCS0           : 1;
2978                 unsigned SCS1           : 1;
2979                 unsigned                : 1;
2980                 unsigned OSTS           : 1;
2981                 unsigned                : 1;
2982                 unsigned                : 1;
2983                 unsigned                : 1;
2984                 unsigned IDLEN          : 1;
2985         };
2986 } __OSCCONbits_t;
2987 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
2988
2989 extern __sfr __at (0xFD5) T0CON;
2990 typedef union {
2991         struct {
2992                 unsigned T0PS0          : 1;
2993                 unsigned T0PS1          : 1;
2994                 unsigned T0PS2          : 1;
2995                 unsigned PSA            : 1;
2996                 unsigned T0SE           : 1;
2997                 unsigned T0CS           : 1;
2998                 unsigned T08BIT         : 1;
2999                 unsigned TMR0ON         : 1;
3000         };
3001 } __T0CONbits_t;
3002 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
3003
3004 extern __sfr __at (0xFD6) TMR0L;
3005
3006 extern __sfr __at (0xFD7) TMR0H;
3007
3008 extern __sfr __at (0xFD8) STATUS;
3009 typedef union {
3010         struct {
3011                 unsigned C              : 1;
3012                 unsigned DC             : 1;
3013                 unsigned Z              : 1;
3014                 unsigned OV             : 1;
3015                 unsigned N              : 1;
3016                 unsigned                : 1;
3017                 unsigned                : 1;
3018                 unsigned                : 1;
3019         };
3020 } __STATUSbits_t;
3021 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
3022
3023 extern __sfr __at (0xFD9) FSR2L;
3024
3025 extern __sfr __at (0xFDA) FSR2H;
3026
3027 extern __sfr __at (0xFDB) PLUSW2;
3028
3029 extern __sfr __at (0xFDC) PREINC2;
3030
3031 extern __sfr __at (0xFDD) POSTDEC2;
3032
3033 extern __sfr __at (0xFDE) POSTINC2;
3034
3035 extern __sfr __at (0xFDF) INDF2;
3036
3037 extern __sfr __at (0xFE0) BSR;
3038
3039 extern __sfr __at (0xFE1) FSR1L;
3040
3041 extern __sfr __at (0xFE2) FSR1H;
3042
3043 extern __sfr __at (0xFE3) PLUSW1;
3044
3045 extern __sfr __at (0xFE4) PREINC1;
3046
3047 extern __sfr __at (0xFE5) POSTDEC1;
3048
3049 extern __sfr __at (0xFE6) POSTINC1;
3050
3051 extern __sfr __at (0xFE7) INDF1;
3052
3053 extern __sfr __at (0xFE8) WREG;
3054
3055 extern __sfr __at (0xFE9) FSR0L;
3056
3057 extern __sfr __at (0xFEA) FSR0H;
3058
3059 extern __sfr __at (0xFEB) PLUSW0;
3060
3061 extern __sfr __at (0xFEC) PREINC0;
3062
3063 extern __sfr __at (0xFED) POSTDEC0;
3064
3065 extern __sfr __at (0xFEE) POSTINC0;
3066
3067 extern __sfr __at (0xFEF) INDF0;
3068
3069 extern __sfr __at (0xFF0) INTCON3;
3070 typedef union {
3071         struct {
3072                 unsigned INT1F          : 1;
3073                 unsigned INT2F          : 1;
3074                 unsigned INT3F          : 1;
3075                 unsigned INT1E          : 1;
3076                 unsigned INT2E          : 1;
3077                 unsigned INT3E          : 1;
3078                 unsigned INT1P          : 1;
3079                 unsigned INT2P          : 1;
3080         };
3081         struct {
3082                 unsigned INT1IF         : 1;
3083                 unsigned INT2IF         : 1;
3084                 unsigned INT3IF         : 1;
3085                 unsigned INT1IE         : 1;
3086                 unsigned INT2IE         : 1;
3087                 unsigned INT3IE         : 1;
3088                 unsigned INT1IP         : 1;
3089                 unsigned INT2IP         : 1;
3090         };
3091 } __INTCON3bits_t;
3092 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
3093
3094 extern __sfr __at (0xFF1) INTCON2;
3095 typedef union {
3096         struct {
3097                 unsigned RBIP           : 1;
3098                 unsigned INT3IP         : 1;
3099                 unsigned T0IP           : 1;
3100                 unsigned INTEDG3        : 1;
3101                 unsigned INTEDG2        : 1;
3102                 unsigned INTEDG1        : 1;
3103                 unsigned INTEDG0        : 1;
3104                 unsigned NOT_RBPU       : 1;
3105         };
3106         struct {
3107                 unsigned                : 1;
3108                 unsigned                : 1;
3109                 unsigned TMR0IP         : 1;
3110                 unsigned                : 1;
3111                 unsigned                : 1;
3112                 unsigned                : 1;
3113                 unsigned                : 1;
3114                 unsigned RBPU           : 1;
3115         };
3116 } __INTCON2bits_t;
3117 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
3118
3119 extern __sfr __at (0xFF2) INTCON;
3120 typedef union {
3121         struct {
3122                 unsigned RBIF           : 1;
3123                 unsigned INT0F          : 1;
3124                 unsigned T0IF           : 1;
3125                 unsigned RBIE           : 1;
3126                 unsigned INT0E          : 1;
3127                 unsigned T0IE           : 1;
3128                 unsigned PEIE           : 1;
3129                 unsigned GIE            : 1;
3130         };
3131         struct {
3132                 unsigned                : 1;
3133                 unsigned INT0IF         : 1;
3134                 unsigned TMR0IF         : 1;
3135                 unsigned                : 1;
3136                 unsigned INT0IE         : 1;
3137                 unsigned TMR0IE         : 1;
3138                 unsigned GIEL           : 1;
3139                 unsigned GIEH           : 1;
3140         };
3141 } __INTCONbits_t;
3142 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
3143
3144 extern __sfr __at (0xFF3) PROD;
3145
3146 extern __sfr __at (0xFF3) PRODL;
3147
3148 extern __sfr __at (0xFF4) PRODH;
3149
3150 extern __sfr __at (0xFF5) TABLAT;
3151
3152 extern __sfr __at (0xFF6) TBLPTR;
3153
3154 extern __sfr __at (0xFF6) TBLPTRL;
3155
3156 extern __sfr __at (0xFF7) TBLPTRH;
3157
3158 extern __sfr __at (0xFF8) TBLPTRU;
3159
3160 extern __sfr __at (0xFF9) PC;
3161
3162 extern __sfr __at (0xFF9) PCL;
3163
3164 extern __sfr __at (0xFFA) PCLATH;
3165
3166 extern __sfr __at (0xFFB) PCLATU;
3167
3168 extern __sfr __at (0xFFC) STKPTR;
3169 typedef union {
3170         struct {
3171                 unsigned STKPTR0        : 1;
3172                 unsigned STKPTR1        : 1;
3173                 unsigned STKPTR2        : 1;
3174                 unsigned STKPTR3        : 1;
3175                 unsigned STKPTR4        : 1;
3176                 unsigned                : 1;
3177                 unsigned STKUNF         : 1;
3178                 unsigned STKOVF         : 1;
3179         };
3180         struct {
3181                 unsigned                : 1;
3182                 unsigned                : 1;
3183                 unsigned                : 1;
3184                 unsigned                : 1;
3185                 unsigned                : 1;
3186                 unsigned                : 1;
3187                 unsigned                : 1;
3188                 unsigned STKFUL         : 1;
3189         };
3190 } __STKPTRbits_t;
3191 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
3192
3193 extern __sfr __at (0xFFD) TOS;
3194
3195 extern __sfr __at (0xFFD) TOSL;
3196
3197 extern __sfr __at (0xFFE) TOSH;
3198
3199 extern __sfr __at (0xFFF) TOSU;
3200
3201
3202 #endif
3203