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