* device/include/pic16/pic18f[24][3456]k20.h,
[fw/sdcc] / device / include / pic16 / pic18f67j50.h
1 /*
2  * pic18f67j50.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 __PIC18F67J50_H__
12 #define __PIC18F67J50_H__ 1
13
14
15
16 // Configuration Bits
17 #define __CONFIG1L              0x1FFF8
18 #define __CONFIG1H              0x1FFF9
19 #define __CONFIG2L              0x1FFFA
20 #define __CONFIG2H              0x1FFFB
21 #define __CONFIG3L              0x1FFFC
22 #define __CONFIG3H              0x1FFFD
23 #define _DEVID1                 0x3FFFFE
24 #define _DEVID2                 0x3FFFFF
25
26 extern __sfr __at (0xF40) PMSTAT;
27
28 extern __sfr __at (0xF40) PMSTATL;
29 typedef union {
30         struct {
31                 unsigned OB0E           : 1;
32                 unsigned OB1E           : 1;
33                 unsigned OB2E           : 1;
34                 unsigned OB3E           : 1;
35                 unsigned                : 1;
36                 unsigned                : 1;
37                 unsigned OBUF           : 1;
38                 unsigned OBE            : 1;
39         };
40 } __PMSTATLbits_t;
41 extern volatile __PMSTATLbits_t __at (0xF40) PMSTATLbits;
42
43 extern __sfr __at (0xF41) PMSTATH;
44 typedef union {
45         struct {
46                 unsigned IB0F           : 1;
47                 unsigned IB1F           : 1;
48                 unsigned IB2F           : 1;
49                 unsigned IB3F           : 1;
50                 unsigned                : 1;
51                 unsigned                : 1;
52                 unsigned IBOV           : 1;
53                 unsigned IBF            : 1;
54         };
55 } __PMSTATHbits_t;
56 extern volatile __PMSTATHbits_t __at (0xF41) PMSTATHbits;
57
58 extern __sfr __at (0xF42) PMEL;
59 typedef union {
60         struct {
61                 unsigned PTEN0          : 1;
62                 unsigned PTEN1          : 1;
63                 unsigned PTEN2          : 1;
64                 unsigned PTEN3          : 1;
65                 unsigned PTEN4          : 1;
66                 unsigned PTEN5          : 1;
67                 unsigned PTEN6          : 1;
68                 unsigned PTEN7          : 1;
69         };
70 } __PMELbits_t;
71 extern volatile __PMELbits_t __at (0xF42) PMELbits;
72
73 extern __sfr __at (0xF42) PMEN;
74
75 extern __sfr __at (0xF43) PMEH;
76 typedef union {
77         struct {
78                 unsigned PTEN8          : 1;
79                 unsigned PTEN9          : 1;
80                 unsigned PTEN10         : 1;
81                 unsigned PTEN11         : 1;
82                 unsigned PTEN12         : 1;
83                 unsigned PTEN13         : 1;
84                 unsigned PTEN14         : 1;
85                 unsigned PTEN15         : 1;
86         };
87 } __PMEHbits_t;
88 extern volatile __PMEHbits_t __at (0xF43) PMEHbits;
89
90 extern __sfr __at (0xF44) PMDIN2;
91
92 extern __sfr __at (0xF44) PMDIN2L;
93
94 extern __sfr __at (0xF45) PMDIN2H;
95
96 extern __sfr __at (0xF46) PMDOUT2;
97
98 extern __sfr __at (0xF46) PMDOUT2L;
99
100 extern __sfr __at (0xF47) PMDOUT2H;
101
102 extern __sfr __at (0xF48) PMMODE;
103
104 extern __sfr __at (0xF48) PMMODEL;
105 typedef union {
106         struct {
107                 unsigned WAITE0         : 1;
108                 unsigned WAITE1         : 1;
109                 unsigned WAITM0         : 1;
110                 unsigned WAITM1         : 1;
111                 unsigned WAITM2         : 1;
112                 unsigned WAITM3         : 1;
113                 unsigned WAITB0         : 1;
114                 unsigned WAITB1         : 1;
115         };
116 } __PMMODELbits_t;
117 extern volatile __PMMODELbits_t __at (0xF48) PMMODELbits;
118
119 extern __sfr __at (0xF49) PMMODEH;
120 typedef union {
121         struct {
122                 unsigned MODE0          : 1;
123                 unsigned MODE1          : 1;
124                 unsigned MODE16         : 1;
125                 unsigned INCM0          : 1;
126                 unsigned INCM1          : 1;
127                 unsigned IRQM0          : 1;
128                 unsigned IRQM1          : 1;
129                 unsigned BUSY           : 1;
130         };
131 } __PMMODEHbits_t;
132 extern volatile __PMMODEHbits_t __at (0xF49) PMMODEHbits;
133
134 extern __sfr __at (0xF4A) PMCON;
135
136 extern __sfr __at (0xF4A) PMCONL;
137 typedef union {
138         struct {
139                 unsigned RDSP           : 1;
140                 unsigned WRSP           : 1;
141                 unsigned BEP            : 1;
142                 unsigned CS1P           : 1;
143                 unsigned CS2P           : 1;
144                 unsigned ALP            : 1;
145                 unsigned CSF0           : 1;
146                 unsigned CSF1           : 1;
147         };
148 } __PMCONLbits_t;
149 extern volatile __PMCONLbits_t __at (0xF4A) PMCONLbits;
150
151 extern __sfr __at (0xF4B) PMCONH;
152 typedef union {
153         struct {
154                 unsigned PTRDEN         : 1;
155                 unsigned PTWREN         : 1;
156                 unsigned PTBEEN         : 1;
157                 unsigned ADRMUX0        : 1;
158                 unsigned ADRMUX1        : 1;
159                 unsigned PSIDL          : 1;
160                 unsigned                : 1;
161                 unsigned PMPEN          : 1;
162         };
163 } __PMCONHbits_t;
164 extern volatile __PMCONHbits_t __at (0xF4B) PMCONHbits;
165
166 extern __sfr __at (0xF4C) UEP0;
167 typedef union {
168         struct {
169                 unsigned EPSTALL        : 1;
170                 unsigned EPINEN         : 1;
171                 unsigned EPOUTEN        : 1;
172                 unsigned EPCONDIS       : 1;
173                 unsigned EPHSHK         : 1;
174                 unsigned                : 1;
175                 unsigned                : 1;
176                 unsigned                : 1;
177         };
178 } __UEP0bits_t;
179 extern volatile __UEP0bits_t __at (0xF4C) UEP0bits;
180
181 extern __sfr __at (0xF4D) UEP1;
182 typedef union {
183         struct {
184                 unsigned EPSTALL        : 1;
185                 unsigned EPINEN         : 1;
186                 unsigned EPOUTEN        : 1;
187                 unsigned EPCONDIS       : 1;
188                 unsigned EPHSHK         : 1;
189                 unsigned                : 1;
190                 unsigned                : 1;
191                 unsigned                : 1;
192         };
193 } __UEP1bits_t;
194 extern volatile __UEP1bits_t __at (0xF4D) UEP1bits;
195
196 extern __sfr __at (0xF4E) UEP2;
197 typedef union {
198         struct {
199                 unsigned EPSTALL        : 1;
200                 unsigned EPINEN         : 1;
201                 unsigned EPOUTEN        : 1;
202                 unsigned EPCONDIS       : 1;
203                 unsigned EPHSHK         : 1;
204                 unsigned                : 1;
205                 unsigned                : 1;
206                 unsigned                : 1;
207         };
208 } __UEP2bits_t;
209 extern volatile __UEP2bits_t __at (0xF4E) UEP2bits;
210
211 extern __sfr __at (0xF4F) UEP3;
212 typedef union {
213         struct {
214                 unsigned EPSTALL        : 1;
215                 unsigned EPINEN         : 1;
216                 unsigned EPOUTEN        : 1;
217                 unsigned EPCONDIS       : 1;
218                 unsigned EPHSHK         : 1;
219                 unsigned                : 1;
220                 unsigned                : 1;
221                 unsigned                : 1;
222         };
223 } __UEP3bits_t;
224 extern volatile __UEP3bits_t __at (0xF4F) UEP3bits;
225
226 extern __sfr __at (0xF50) UEP4;
227 typedef union {
228         struct {
229                 unsigned EPSTALL        : 1;
230                 unsigned EPINEN         : 1;
231                 unsigned EPOUTEN        : 1;
232                 unsigned EPCONDIS       : 1;
233                 unsigned EPHSHK         : 1;
234                 unsigned                : 1;
235                 unsigned                : 1;
236                 unsigned                : 1;
237         };
238 } __UEP4bits_t;
239 extern volatile __UEP4bits_t __at (0xF50) UEP4bits;
240
241 extern __sfr __at (0xF51) UEP5;
242 typedef union {
243         struct {
244                 unsigned EPSTALL        : 1;
245                 unsigned EPINEN         : 1;
246                 unsigned EPOUTEN        : 1;
247                 unsigned EPCONDIS       : 1;
248                 unsigned EPHSHK         : 1;
249                 unsigned                : 1;
250                 unsigned                : 1;
251                 unsigned                : 1;
252         };
253 } __UEP5bits_t;
254 extern volatile __UEP5bits_t __at (0xF51) UEP5bits;
255
256 extern __sfr __at (0xF52) UEP6;
257 typedef union {
258         struct {
259                 unsigned EPSTALL        : 1;
260                 unsigned EPINEN         : 1;
261                 unsigned EPOUTEN        : 1;
262                 unsigned EPCONDIS       : 1;
263                 unsigned EPHSHK         : 1;
264                 unsigned                : 1;
265                 unsigned                : 1;
266                 unsigned                : 1;
267         };
268 } __UEP6bits_t;
269 extern volatile __UEP6bits_t __at (0xF52) UEP6bits;
270
271 extern __sfr __at (0xF53) UEP7;
272 typedef union {
273         struct {
274                 unsigned EPSTALL        : 1;
275                 unsigned EPINEN         : 1;
276                 unsigned EPOUTEN        : 1;
277                 unsigned EPCONDIS       : 1;
278                 unsigned EPHSHK         : 1;
279                 unsigned                : 1;
280                 unsigned                : 1;
281                 unsigned                : 1;
282         };
283 } __UEP7bits_t;
284 extern volatile __UEP7bits_t __at (0xF53) UEP7bits;
285
286 extern __sfr __at (0xF54) UEP8;
287 typedef union {
288         struct {
289                 unsigned EPSTALL        : 1;
290                 unsigned EPINEN         : 1;
291                 unsigned EPOUTEN        : 1;
292                 unsigned EPCONDIS       : 1;
293                 unsigned EPHSHK         : 1;
294                 unsigned                : 1;
295                 unsigned                : 1;
296                 unsigned                : 1;
297         };
298 } __UEP8bits_t;
299 extern volatile __UEP8bits_t __at (0xF54) UEP8bits;
300
301 extern __sfr __at (0xF55) UEP9;
302 typedef union {
303         struct {
304                 unsigned EPSTALL        : 1;
305                 unsigned EPINEN         : 1;
306                 unsigned EPOUTEN        : 1;
307                 unsigned EPCONDIS       : 1;
308                 unsigned EPHSHK         : 1;
309                 unsigned                : 1;
310                 unsigned                : 1;
311                 unsigned                : 1;
312         };
313 } __UEP9bits_t;
314 extern volatile __UEP9bits_t __at (0xF55) UEP9bits;
315
316 extern __sfr __at (0xF56) UEP10;
317 typedef union {
318         struct {
319                 unsigned EPSTALL        : 1;
320                 unsigned EPINEN         : 1;
321                 unsigned EPOUTEN        : 1;
322                 unsigned EPCONDIS       : 1;
323                 unsigned EPHSHK         : 1;
324                 unsigned                : 1;
325                 unsigned                : 1;
326                 unsigned                : 1;
327         };
328 } __UEP10bits_t;
329 extern volatile __UEP10bits_t __at (0xF56) UEP10bits;
330
331 extern __sfr __at (0xF57) UEP11;
332 typedef union {
333         struct {
334                 unsigned EPSTALL        : 1;
335                 unsigned EPINEN         : 1;
336                 unsigned EPOUTEN        : 1;
337                 unsigned EPCONDIS       : 1;
338                 unsigned EPHSHK         : 1;
339                 unsigned                : 1;
340                 unsigned                : 1;
341                 unsigned                : 1;
342         };
343 } __UEP11bits_t;
344 extern volatile __UEP11bits_t __at (0xF57) UEP11bits;
345
346 extern __sfr __at (0xF58) UEP12;
347 typedef union {
348         struct {
349                 unsigned EPSTALL        : 1;
350                 unsigned EPINEN         : 1;
351                 unsigned EPOUTEN        : 1;
352                 unsigned EPCONDIS       : 1;
353                 unsigned EPHSHK         : 1;
354                 unsigned                : 1;
355                 unsigned                : 1;
356                 unsigned                : 1;
357         };
358 } __UEP12bits_t;
359 extern volatile __UEP12bits_t __at (0xF58) UEP12bits;
360
361 extern __sfr __at (0xF59) UEP13;
362 typedef union {
363         struct {
364                 unsigned EPSTALL        : 1;
365                 unsigned EPINEN         : 1;
366                 unsigned EPOUTEN        : 1;
367                 unsigned EPCONDIS       : 1;
368                 unsigned EPHSHK         : 1;
369                 unsigned                : 1;
370                 unsigned                : 1;
371                 unsigned                : 1;
372         };
373 } __UEP13bits_t;
374 extern volatile __UEP13bits_t __at (0xF59) UEP13bits;
375
376 extern __sfr __at (0xF5A) UEP14;
377 typedef union {
378         struct {
379                 unsigned EPSTALL        : 1;
380                 unsigned EPINEN         : 1;
381                 unsigned EPOUTEN        : 1;
382                 unsigned EPCONDIS       : 1;
383                 unsigned EPHSHK         : 1;
384                 unsigned                : 1;
385                 unsigned                : 1;
386                 unsigned                : 1;
387         };
388 } __UEP14bits_t;
389 extern volatile __UEP14bits_t __at (0xF5A) UEP14bits;
390
391 extern __sfr __at (0xF5B) UEP15;
392 typedef union {
393         struct {
394                 unsigned EPSTALL        : 1;
395                 unsigned EPINEN         : 1;
396                 unsigned EPOUTEN        : 1;
397                 unsigned EPCONDIS       : 1;
398                 unsigned EPHSHK         : 1;
399                 unsigned                : 1;
400                 unsigned                : 1;
401                 unsigned                : 1;
402         };
403 } __UEP15bits_t;
404 extern volatile __UEP15bits_t __at (0xF5B) UEP15bits;
405
406 extern __sfr __at (0xF5C) UIE;
407 typedef union {
408         struct {
409                 unsigned URSTIE         : 1;
410                 unsigned UERRIE         : 1;
411                 unsigned ACTVIE         : 1;
412                 unsigned TRNIE          : 1;
413                 unsigned IDLEIE         : 1;
414                 unsigned STALLIE        : 1;
415                 unsigned SOFIE          : 1;
416                 unsigned                : 1;
417         };
418 } __UIEbits_t;
419 extern volatile __UIEbits_t __at (0xF5C) UIEbits;
420
421 extern __sfr __at (0xF5D) UEIE;
422 typedef union {
423         struct {
424                 unsigned PIDEE          : 1;
425                 unsigned CRC5EE         : 1;
426                 unsigned CRC16EE        : 1;
427                 unsigned DFN8EE         : 1;
428                 unsigned BTOEE          : 1;
429                 unsigned                : 1;
430                 unsigned                : 1;
431                 unsigned BTSEE          : 1;
432         };
433 } __UEIEbits_t;
434 extern volatile __UEIEbits_t __at (0xF5D) UEIEbits;
435
436 extern __sfr __at (0xF5E) UADDR;
437 typedef union {
438         struct {
439                 unsigned ADDR0          : 1;
440                 unsigned ADDR1          : 1;
441                 unsigned ADDR2          : 1;
442                 unsigned ADDR3          : 1;
443                 unsigned ADDR4          : 1;
444                 unsigned ADDR5          : 1;
445                 unsigned ADDR6          : 1;
446                 unsigned                : 1;
447         };
448 } __UADDRbits_t;
449 extern volatile __UADDRbits_t __at (0xF5E) UADDRbits;
450
451 extern __sfr __at (0xF5F) UCFG;
452 typedef union {
453         struct {
454                 unsigned PPB0           : 1;
455                 unsigned PPB1           : 1;
456                 unsigned FSEN           : 1;
457                 unsigned UTRDIS         : 1;
458                 unsigned UPUEN          : 1;
459                 unsigned                : 1;
460                 unsigned UOEMON         : 1;
461                 unsigned UTEYE          : 1;
462         };
463 } __UCFGbits_t;
464 extern volatile __UCFGbits_t __at (0xF5F) UCFGbits;
465
466 extern __sfr __at (0xF60) UFRM;
467
468 extern __sfr __at (0xF60) UFRML;
469 typedef union {
470         struct {
471                 unsigned FRM0           : 1;
472                 unsigned FRM1           : 1;
473                 unsigned FRM2           : 1;
474                 unsigned FRM3           : 1;
475                 unsigned FRM4           : 1;
476                 unsigned FRM5           : 1;
477                 unsigned FRM6           : 1;
478                 unsigned FRM7           : 1;
479         };
480 } __UFRMLbits_t;
481 extern volatile __UFRMLbits_t __at (0xF60) UFRMLbits;
482
483 extern __sfr __at (0xF61) UFRMH;
484 typedef union {
485         struct {
486                 unsigned FRM8           : 1;
487                 unsigned FRM9           : 1;
488                 unsigned FRM10          : 1;
489                 unsigned                : 1;
490                 unsigned                : 1;
491                 unsigned                : 1;
492                 unsigned                : 1;
493                 unsigned                : 1;
494         };
495 } __UFRMHbits_t;
496 extern volatile __UFRMHbits_t __at (0xF61) UFRMHbits;
497
498 extern __sfr __at (0xF62) UIR;
499 typedef union {
500         struct {
501                 unsigned URSTIF         : 1;
502                 unsigned UERRIF         : 1;
503                 unsigned ACTVIF         : 1;
504                 unsigned TRNIF          : 1;
505                 unsigned IDLEIF         : 1;
506                 unsigned STALLIF        : 1;
507                 unsigned SOFIF          : 1;
508                 unsigned                : 1;
509         };
510 } __UIRbits_t;
511 extern volatile __UIRbits_t __at (0xF62) UIRbits;
512
513 extern __sfr __at (0xF63) UEIR;
514 typedef union {
515         struct {
516                 unsigned PIDEF          : 1;
517                 unsigned CRC5EF         : 1;
518                 unsigned CRC16EF        : 1;
519                 unsigned DFN8EF         : 1;
520                 unsigned BTOEF          : 1;
521                 unsigned                : 1;
522                 unsigned                : 1;
523                 unsigned BTSEF          : 1;
524         };
525 } __UEIRbits_t;
526 extern volatile __UEIRbits_t __at (0xF63) UEIRbits;
527
528 extern __sfr __at (0xF64) USTAT;
529 typedef union {
530         struct {
531                 unsigned                : 1;
532                 unsigned PPBI           : 1;
533                 unsigned DIR            : 1;
534                 unsigned ENDP0          : 1;
535                 unsigned ENDP1          : 1;
536                 unsigned ENDP2          : 1;
537                 unsigned ENDP3          : 1;
538                 unsigned                : 1;
539         };
540 } __USTATbits_t;
541 extern volatile __USTATbits_t __at (0xF64) USTATbits;
542
543 extern __sfr __at (0xF65) UCON;
544 typedef union {
545         struct {
546                 unsigned                : 1;
547                 unsigned SUSPND         : 1;
548                 unsigned RESUME         : 1;
549                 unsigned USBEN          : 1;
550                 unsigned PKTDIS         : 1;
551                 unsigned SE0            : 1;
552                 unsigned PPBRST         : 1;
553                 unsigned                : 1;
554         };
555 } __UCONbits_t;
556 extern volatile __UCONbits_t __at (0xF65) UCONbits;
557
558 extern __sfr __at (0xF66) PMDIN1;
559
560 extern __sfr __at (0xF66) PMDIN1L;
561
562 extern __sfr __at (0xF67) PMDIN1H;
563
564 extern __sfr __at (0xF68) PMADDR;
565
566 extern __sfr __at (0xF68) PMADDRL;
567
568 extern __sfr __at (0xF68) PMDOUT1;
569
570 extern __sfr __at (0xF68) PMDOUT1L;
571
572 extern __sfr __at (0xF69) PMADDRH;
573 typedef union {
574         struct {
575                 unsigned                : 1;
576                 unsigned                : 1;
577                 unsigned                : 1;
578                 unsigned                : 1;
579                 unsigned                : 1;
580                 unsigned                : 1;
581                 unsigned CS1            : 1;
582                 unsigned CS2            : 1;
583         };
584 } __PMADDRHbits_t;
585 extern volatile __PMADDRHbits_t __at (0xF69) PMADDRHbits;
586
587 extern __sfr __at (0xF69) PMDOUT1H;
588
589 extern __sfr __at (0xF6A) CMSTAT;
590 typedef union {
591         struct {
592                 unsigned COUT1          : 1;
593                 unsigned COUT2          : 1;
594                 unsigned                : 1;
595                 unsigned                : 1;
596                 unsigned                : 1;
597                 unsigned                : 1;
598                 unsigned                : 1;
599                 unsigned                : 1;
600         };
601 } __CMSTATbits_t;
602 extern volatile __CMSTATbits_t __at (0xF6A) CMSTATbits;
603
604 extern __sfr __at (0xF6A) CMSTATUS;
605 typedef union {
606         struct {
607                 unsigned COUT1          : 1;
608                 unsigned COUT2          : 1;
609                 unsigned                : 1;
610                 unsigned                : 1;
611                 unsigned                : 1;
612                 unsigned                : 1;
613                 unsigned                : 1;
614                 unsigned                : 1;
615         };
616 } __CMSTATUSbits_t;
617 extern volatile __CMSTATUSbits_t __at (0xF6A) CMSTATUSbits;
618
619 extern __sfr __at (0xF6B) SSP2CON2;
620 typedef union {
621         struct {
622                 unsigned SEN            : 1;
623                 unsigned RSEN           : 1;
624                 unsigned PEN            : 1;
625                 unsigned RCEN           : 1;
626                 unsigned ACKEN          : 1;
627                 unsigned ACKDT          : 1;
628                 unsigned ACKSTAT        : 1;
629                 unsigned GCEN           : 1;
630         };
631         struct {
632                 unsigned                : 1;
633                 unsigned ADMSK1         : 1;
634                 unsigned ADMSK2         : 1;
635                 unsigned ADMSK3         : 1;
636                 unsigned ADMSK4         : 1;
637                 unsigned ADMSK5         : 1;
638                 unsigned                : 1;
639                 unsigned                : 1;
640         };
641 } __SSP2CON2bits_t;
642 extern volatile __SSP2CON2bits_t __at (0xF6B) SSP2CON2bits;
643
644 extern __sfr __at (0xF6C) SSP2CON1;
645 typedef union {
646         struct {
647                 unsigned SSPM0          : 1;
648                 unsigned SSPM1          : 1;
649                 unsigned SSPM2          : 1;
650                 unsigned SSPM3          : 1;
651                 unsigned CKP            : 1;
652                 unsigned SSPEN          : 1;
653                 unsigned SSPOV          : 1;
654                 unsigned WCOL           : 1;
655         };
656 } __SSP2CON1bits_t;
657 extern volatile __SSP2CON1bits_t __at (0xF6C) SSP2CON1bits;
658
659 extern __sfr __at (0xF6D) SSP2STAT;
660 typedef union {
661         struct {
662                 unsigned BF             : 1;
663                 unsigned UA             : 1;
664                 unsigned R_W            : 1;
665                 unsigned S              : 1;
666                 unsigned P              : 1;
667                 unsigned D_A            : 1;
668                 unsigned CKE            : 1;
669                 unsigned SMP            : 1;
670         };
671         struct {
672                 unsigned                : 1;
673                 unsigned                : 1;
674                 unsigned I2C_READ       : 1;
675                 unsigned I2C_START      : 1;
676                 unsigned I2C_STOP       : 1;
677                 unsigned I2C_DAT        : 1;
678                 unsigned                : 1;
679                 unsigned                : 1;
680         };
681         struct {
682                 unsigned                : 1;
683                 unsigned                : 1;
684                 unsigned NOT_W          : 1;
685                 unsigned                : 1;
686                 unsigned                : 1;
687                 unsigned NOT_A          : 1;
688                 unsigned                : 1;
689                 unsigned                : 1;
690         };
691         struct {
692                 unsigned                : 1;
693                 unsigned                : 1;
694                 unsigned NOT_WRITE      : 1;
695                 unsigned                : 1;
696                 unsigned                : 1;
697                 unsigned NOT_ADDRESS    : 1;
698                 unsigned                : 1;
699                 unsigned                : 1;
700         };
701         struct {
702                 unsigned                : 1;
703                 unsigned                : 1;
704                 unsigned READ_WRITE     : 1;
705                 unsigned                : 1;
706                 unsigned                : 1;
707                 unsigned DATA_ADDRESS   : 1;
708                 unsigned                : 1;
709                 unsigned                : 1;
710         };
711         struct {
712                 unsigned                : 1;
713                 unsigned                : 1;
714                 unsigned R              : 1;
715                 unsigned                : 1;
716                 unsigned                : 1;
717                 unsigned D              : 1;
718                 unsigned                : 1;
719                 unsigned                : 1;
720         };
721 } __SSP2STATbits_t;
722 extern volatile __SSP2STATbits_t __at (0xF6D) SSP2STATbits;
723
724 extern __sfr __at (0xF6E) SSP2ADD;
725
726 extern __sfr __at (0xF6E) SSP2MSK;
727 typedef union {
728         struct {
729                 unsigned MSK0           : 1;
730                 unsigned MSK1           : 1;
731                 unsigned MSK2           : 1;
732                 unsigned MSK3           : 1;
733                 unsigned MSK4           : 1;
734                 unsigned MSK5           : 1;
735                 unsigned MSK6           : 1;
736                 unsigned MSK7           : 1;
737         };
738 } __SSP2MSKbits_t;
739 extern volatile __SSP2MSKbits_t __at (0xF6E) SSP2MSKbits;
740
741 extern __sfr __at (0xF6F) SSP2BUF;
742
743 extern __sfr __at (0xF70) CCP5CON;
744 typedef union {
745         struct {
746                 unsigned CCP5M0         : 1;
747                 unsigned CCP5M1         : 1;
748                 unsigned CCP5M2         : 1;
749                 unsigned CCP5M3         : 1;
750                 unsigned DCCP5Y         : 1;
751                 unsigned DCCP5X         : 1;
752                 unsigned                : 1;
753                 unsigned                : 1;
754         };
755         struct {
756                 unsigned                : 1;
757                 unsigned                : 1;
758                 unsigned                : 1;
759                 unsigned                : 1;
760                 unsigned DC5B0          : 1;
761                 unsigned DC5B1          : 1;
762                 unsigned                : 1;
763                 unsigned                : 1;
764         };
765 } __CCP5CONbits_t;
766 extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
767
768 extern __sfr __at (0xF71) CCPR5;
769
770 extern __sfr __at (0xF71) CCPR5L;
771
772 extern __sfr __at (0xF72) CCPR5H;
773
774 extern __sfr __at (0xF73) CCP4CON;
775 typedef union {
776         struct {
777                 unsigned CCP4M0         : 1;
778                 unsigned CCP4M1         : 1;
779                 unsigned CCP4M2         : 1;
780                 unsigned CCP4M3         : 1;
781                 unsigned DCCP4Y         : 1;
782                 unsigned DCCP4X         : 1;
783                 unsigned                : 1;
784                 unsigned                : 1;
785         };
786         struct {
787                 unsigned                : 1;
788                 unsigned                : 1;
789                 unsigned                : 1;
790                 unsigned                : 1;
791                 unsigned DC4B0          : 1;
792                 unsigned DC4B1          : 1;
793                 unsigned                : 1;
794                 unsigned                : 1;
795         };
796 } __CCP4CONbits_t;
797 extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
798
799 extern __sfr __at (0xF74) CCPR4;
800
801 extern __sfr __at (0xF74) CCPR4L;
802
803 extern __sfr __at (0xF75) CCPR4H;
804
805 extern __sfr __at (0xF76) T4CON;
806 typedef union {
807         struct {
808                 unsigned T4CKPS0        : 1;
809                 unsigned T4CKPS1        : 1;
810                 unsigned TMR4ON         : 1;
811                 unsigned T4OUTPS0       : 1;
812                 unsigned T4OUTPS1       : 1;
813                 unsigned T4OUTPS2       : 1;
814                 unsigned T4OUTPS3       : 1;
815                 unsigned                : 1;
816         };
817 } __T4CONbits_t;
818 extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
819
820 extern __sfr __at (0xF77) CVRCON;
821 typedef union {
822         struct {
823                 unsigned CVR0           : 1;
824                 unsigned CVR1           : 1;
825                 unsigned CVR2           : 1;
826                 unsigned CVR3           : 1;
827                 unsigned CVRSS          : 1;
828                 unsigned CVRR           : 1;
829                 unsigned CVROE          : 1;
830                 unsigned CVREN          : 1;
831         };
832 } __CVRCONbits_t;
833 extern volatile __CVRCONbits_t __at (0xF77) CVRCONbits;
834
835 extern __sfr __at (0xF77) PR4;
836
837 extern __sfr __at (0xF78) TMR4;
838
839 extern __sfr __at (0xF79) T3CON;
840 typedef union {
841         struct {
842                 unsigned TMR3ON         : 1;
843                 unsigned TMR3CS         : 1;
844                 unsigned T3SYNC         : 1;
845                 unsigned T3CCP1         : 1;
846                 unsigned T3CKPS0        : 1;
847                 unsigned T3CKPS1        : 1;
848                 unsigned T3CCP2         : 1;
849                 unsigned RD16           : 1;
850         };
851         struct {
852                 unsigned                : 1;
853                 unsigned                : 1;
854                 unsigned T3INSYNC       : 1;
855                 unsigned                : 1;
856                 unsigned                : 1;
857                 unsigned                : 1;
858                 unsigned                : 1;
859                 unsigned                : 1;
860         };
861         struct {
862                 unsigned                : 1;
863                 unsigned                : 1;
864                 unsigned NOT_T3SYNC     : 1;
865                 unsigned                : 1;
866                 unsigned                : 1;
867                 unsigned                : 1;
868                 unsigned                : 1;
869                 unsigned                : 1;
870         };
871 } __T3CONbits_t;
872 extern volatile __T3CONbits_t __at (0xF79) T3CONbits;
873
874 extern __sfr __at (0xF7A) TMR3L;
875
876 extern __sfr __at (0xF7B) TMR3H;
877
878 extern __sfr __at (0xF7C) BAUDCON2;
879 typedef union {
880         struct {
881                 unsigned ABDEN          : 1;
882                 unsigned WUE            : 1;
883                 unsigned                : 1;
884                 unsigned BRG16          : 1;
885                 unsigned SCKP           : 1;
886                 unsigned DTRXP          : 1;
887                 unsigned RCMT           : 1;
888                 unsigned ABDOVF         : 1;
889         };
890         struct {
891                 unsigned                : 1;
892                 unsigned                : 1;
893                 unsigned                : 1;
894                 unsigned                : 1;
895                 unsigned TXCKP          : 1;
896                 unsigned RXDTP          : 1;
897                 unsigned RCIDL          : 1;
898                 unsigned                : 1;
899         };
900 } __BAUDCON2bits_t;
901 extern volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
902
903 extern __sfr __at (0xF7D) SPBRGH2;
904
905 extern __sfr __at (0xF7E) BAUDCON;
906 typedef union {
907         struct {
908                 unsigned ABDEN          : 1;
909                 unsigned WUE            : 1;
910                 unsigned                : 1;
911                 unsigned BRG16          : 1;
912                 unsigned SCKP           : 1;
913                 unsigned DTRXP          : 1;
914                 unsigned RCMT           : 1;
915                 unsigned ABDOVF         : 1;
916         };
917         struct {
918                 unsigned                : 1;
919                 unsigned                : 1;
920                 unsigned                : 1;
921                 unsigned                : 1;
922                 unsigned TXCKP          : 1;
923                 unsigned RXDTP          : 1;
924                 unsigned RCIDL          : 1;
925                 unsigned                : 1;
926         };
927 } __BAUDCONbits_t;
928 extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
929
930 extern __sfr __at (0xF7E) BAUDCON1;
931 typedef union {
932         struct {
933                 unsigned ABDEN          : 1;
934                 unsigned WUE            : 1;
935                 unsigned                : 1;
936                 unsigned BRG16          : 1;
937                 unsigned SCKP           : 1;
938                 unsigned DTRXP          : 1;
939                 unsigned RCMT           : 1;
940                 unsigned ABDOVF         : 1;
941         };
942         struct {
943                 unsigned                : 1;
944                 unsigned                : 1;
945                 unsigned                : 1;
946                 unsigned                : 1;
947                 unsigned TXCKP          : 1;
948                 unsigned RXDTP          : 1;
949                 unsigned RCIDL          : 1;
950                 unsigned                : 1;
951         };
952 } __BAUDCON1bits_t;
953 extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
954
955 extern __sfr __at (0xF7F) SPBRGH;
956
957 extern __sfr __at (0xF7F) SPBRGH1;
958
959 extern __sfr __at (0xF80) PORTA;
960 typedef union {
961         struct {
962                 unsigned RA0            : 1;
963                 unsigned RA1            : 1;
964                 unsigned RA2            : 1;
965                 unsigned RA3            : 1;
966                 unsigned RA4            : 1;
967                 unsigned RA5            : 1;
968                 unsigned RA6            : 1;
969                 unsigned RA7            : 1;
970         };
971         struct {
972                 unsigned AN0            : 1;
973                 unsigned AN1            : 1;
974                 unsigned AN2            : 1;
975                 unsigned AN3            : 1;
976                 unsigned T0CKI          : 1;
977                 unsigned AN4            : 1;
978                 unsigned OSC2           : 1;
979                 unsigned                : 1;
980         };
981         struct {
982                 unsigned                : 1;
983                 unsigned                : 1;
984                 unsigned VREFM          : 1;
985                 unsigned VREFP          : 1;
986                 unsigned                : 1;
987                 unsigned C2INA          : 1;
988                 unsigned CLKO           : 1;
989                 unsigned                : 1;
990         };
991 } __PORTAbits_t;
992 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
993
994 extern __sfr __at (0xF81) PORTB;
995 typedef union {
996         struct {
997                 unsigned RB0            : 1;
998                 unsigned RB1            : 1;
999                 unsigned RB2            : 1;
1000                 unsigned RB3            : 1;
1001                 unsigned RB4            : 1;
1002                 unsigned RB5            : 1;
1003                 unsigned RB6            : 1;
1004                 unsigned RB7            : 1;
1005         };
1006         struct {
1007                 unsigned INT0           : 1;
1008                 unsigned INT1           : 1;
1009                 unsigned INT2           : 1;
1010                 unsigned INT3           : 1;
1011                 unsigned KBI0           : 1;
1012                 unsigned KBI1           : 1;
1013                 unsigned KBI2           : 1;
1014                 unsigned KBI3           : 1;
1015         };
1016         struct {
1017                 unsigned FLT0           : 1;
1018                 unsigned PMA4           : 1;
1019                 unsigned PMA3           : 1;
1020                 unsigned PMA2           : 1;
1021                 unsigned PMA1           : 1;
1022                 unsigned PMA0           : 1;
1023                 unsigned PGC            : 1;
1024                 unsigned PGD            : 1;
1025         };
1026 } __PORTBbits_t;
1027 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
1028
1029 extern __sfr __at (0xF82) PORTC;
1030 typedef union {
1031         struct {
1032                 unsigned RC0            : 1;
1033                 unsigned RC1            : 1;
1034                 unsigned RC2            : 1;
1035                 unsigned RC3            : 1;
1036                 unsigned RC4            : 1;
1037                 unsigned RC5            : 1;
1038                 unsigned RC6            : 1;
1039                 unsigned RC7            : 1;
1040         };
1041         struct {
1042                 unsigned T1OSO          : 1;
1043                 unsigned T1OSI          : 1;
1044                 unsigned CCP1           : 1;
1045                 unsigned SCK            : 1;
1046                 unsigned SDI            : 1;
1047                 unsigned SDO            : 1;
1048                 unsigned TX             : 1;
1049                 unsigned RX             : 1;
1050         };
1051         struct {
1052                 unsigned T13CKI         : 1;
1053                 unsigned CCP2_PORTC     : 1;
1054                 unsigned                : 1;
1055                 unsigned SCL            : 1;
1056                 unsigned SDA            : 1;
1057                 unsigned C2OUT          : 1;
1058                 unsigned CK             : 1;
1059                 unsigned DT             : 1;
1060         };
1061 } __PORTCbits_t;
1062 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
1063
1064 extern __sfr __at (0xF83) PORTD;
1065 typedef union {
1066         struct {
1067                 unsigned RD0            : 1;
1068                 unsigned RD1            : 1;
1069                 unsigned RD2            : 1;
1070                 unsigned RD3            : 1;
1071                 unsigned RD4            : 1;
1072                 unsigned RD5            : 1;
1073                 unsigned RD6            : 1;
1074                 unsigned RD7            : 1;
1075         };
1076         struct {
1077                 unsigned PMD0           : 1;
1078                 unsigned PMD1           : 1;
1079                 unsigned PMD2           : 1;
1080                 unsigned PMD3           : 1;
1081                 unsigned PMD4           : 1;
1082                 unsigned PMD5           : 1;
1083                 unsigned PMD6           : 1;
1084                 unsigned PMD7           : 1;
1085         };
1086         struct {
1087                 unsigned                : 1;
1088                 unsigned                : 1;
1089                 unsigned                : 1;
1090                 unsigned                : 1;
1091                 unsigned SDO2           : 1;
1092                 unsigned SDA2           : 1;
1093                 unsigned SCL2           : 1;
1094                 unsigned SS2            : 1;
1095         };
1096         struct {
1097                 unsigned                : 1;
1098                 unsigned                : 1;
1099                 unsigned                : 1;
1100                 unsigned                : 1;
1101                 unsigned                : 1;
1102                 unsigned SDI2           : 1;
1103                 unsigned SCK2           : 1;
1104                 unsigned                : 1;
1105         };
1106 } __PORTDbits_t;
1107 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
1108
1109 extern __sfr __at (0xF84) PORTE;
1110 typedef union {
1111         struct {
1112                 unsigned RE0            : 1;
1113                 unsigned RE1            : 1;
1114                 unsigned RE2            : 1;
1115                 unsigned RE3            : 1;
1116                 unsigned RE4            : 1;
1117                 unsigned RE5            : 1;
1118                 unsigned RE6            : 1;
1119                 unsigned RE7            : 1;
1120         };
1121         struct {
1122                 unsigned PMRD           : 1;
1123                 unsigned PMWR           : 1;
1124                 unsigned PMBE           : 1;
1125                 unsigned PMA13          : 1;
1126                 unsigned PMA12          : 1;
1127                 unsigned PMA11          : 1;
1128                 unsigned PMA10          : 1;
1129                 unsigned PMA9           : 1;
1130         };
1131         struct {
1132                 unsigned                : 1;
1133                 unsigned                : 1;
1134                 unsigned                : 1;
1135                 unsigned REFO           : 1;
1136                 unsigned                : 1;
1137                 unsigned                : 1;
1138                 unsigned                : 1;
1139                 unsigned CCP2_PORTE     : 1;
1140         };
1141 } __PORTEbits_t;
1142 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
1143
1144 extern __sfr __at (0xF85) PORTF;
1145 typedef union {
1146         struct {
1147                 unsigned                : 1;
1148                 unsigned                : 1;
1149                 unsigned RF2            : 1;
1150                 unsigned RF3            : 1;
1151                 unsigned RF4            : 1;
1152                 unsigned RF5            : 1;
1153                 unsigned RF6            : 1;
1154                 unsigned RF7            : 1;
1155         };
1156         struct {
1157                 unsigned                : 1;
1158                 unsigned                : 1;
1159                 unsigned AN7            : 1;
1160                 unsigned                : 1;
1161                 unsigned                : 1;
1162                 unsigned AN10           : 1;
1163                 unsigned AN11           : 1;
1164                 unsigned SS             : 1;
1165         };
1166         struct {
1167                 unsigned                : 1;
1168                 unsigned                : 1;
1169                 unsigned C2INB          : 1;
1170                 unsigned                : 1;
1171                 unsigned                : 1;
1172                 unsigned CVREF          : 1;
1173                 unsigned C1INA          : 1;
1174                 unsigned C1OUT          : 1;
1175         };
1176         struct {
1177                 unsigned                : 1;
1178                 unsigned                : 1;
1179                 unsigned PMA5           : 1;
1180                 unsigned                : 1;
1181                 unsigned                : 1;
1182                 unsigned C1INB          : 1;
1183                 unsigned                : 1;
1184                 unsigned                : 1;
1185         };
1186 } __PORTFbits_t;
1187 extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
1188
1189 extern __sfr __at (0xF86) PORTG;
1190 typedef union {
1191         struct {
1192                 unsigned RG0            : 1;
1193                 unsigned RG1            : 1;
1194                 unsigned RG2            : 1;
1195                 unsigned RG3            : 1;
1196                 unsigned RG4            : 1;
1197                 unsigned                : 1;
1198                 unsigned REPU           : 1;
1199                 unsigned RDPU           : 1;
1200         };
1201         struct {
1202                 unsigned CCP3           : 1;
1203                 unsigned TX2            : 1;
1204                 unsigned RX2            : 1;
1205                 unsigned CCP4           : 1;
1206                 unsigned CCP5           : 1;
1207                 unsigned                : 1;
1208                 unsigned                : 1;
1209                 unsigned                : 1;
1210         };
1211         struct {
1212                 unsigned PMA8           : 1;
1213                 unsigned CK2            : 1;
1214                 unsigned DT2            : 1;
1215                 unsigned PMCS1          : 1;
1216                 unsigned PMCS2          : 1;
1217                 unsigned                : 1;
1218                 unsigned                : 1;
1219                 unsigned                : 1;
1220         };
1221         struct {
1222                 unsigned                : 1;
1223                 unsigned PMA7           : 1;
1224                 unsigned PMA6           : 1;
1225                 unsigned                : 1;
1226                 unsigned                : 1;
1227                 unsigned                : 1;
1228                 unsigned                : 1;
1229                 unsigned                : 1;
1230         };
1231 } __PORTGbits_t;
1232 extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
1233
1234 extern __sfr __at (0xF89) LATA;
1235 typedef union {
1236         struct {
1237                 unsigned LATA0          : 1;
1238                 unsigned LATA1          : 1;
1239                 unsigned LATA2          : 1;
1240                 unsigned LATA3          : 1;
1241                 unsigned LATA4          : 1;
1242                 unsigned LATA5          : 1;
1243                 unsigned                : 1;
1244                 unsigned                : 1;
1245         };
1246 } __LATAbits_t;
1247 extern volatile __LATAbits_t __at (0xF89) LATAbits;
1248
1249 extern __sfr __at (0xF8A) LATB;
1250 typedef union {
1251         struct {
1252                 unsigned LATB0          : 1;
1253                 unsigned LATB1          : 1;
1254                 unsigned LATB2          : 1;
1255                 unsigned LATB3          : 1;
1256                 unsigned LATB4          : 1;
1257                 unsigned LATB5          : 1;
1258                 unsigned LATB6          : 1;
1259                 unsigned LATB7          : 1;
1260         };
1261 } __LATBbits_t;
1262 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
1263
1264 extern __sfr __at (0xF8B) LATC;
1265 typedef union {
1266         struct {
1267                 unsigned LATC0          : 1;
1268                 unsigned LATC1          : 1;
1269                 unsigned LATC2          : 1;
1270                 unsigned LATC3          : 1;
1271                 unsigned LATC4          : 1;
1272                 unsigned LATC5          : 1;
1273                 unsigned LATC6          : 1;
1274                 unsigned LATC7          : 1;
1275         };
1276 } __LATCbits_t;
1277 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
1278
1279 extern __sfr __at (0xF8C) LATD;
1280 typedef union {
1281         struct {
1282                 unsigned LATD0          : 1;
1283                 unsigned LATD1          : 1;
1284                 unsigned LATD2          : 1;
1285                 unsigned LATD3          : 1;
1286                 unsigned LATD4          : 1;
1287                 unsigned LATD5          : 1;
1288                 unsigned LATD6          : 1;
1289                 unsigned LATD7          : 1;
1290         };
1291 } __LATDbits_t;
1292 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
1293
1294 extern __sfr __at (0xF8D) LATE;
1295 typedef union {
1296         struct {
1297                 unsigned LATE0          : 1;
1298                 unsigned LATE1          : 1;
1299                 unsigned LATE2          : 1;
1300                 unsigned LATE3          : 1;
1301                 unsigned LATE4          : 1;
1302                 unsigned LATE5          : 1;
1303                 unsigned LATE6          : 1;
1304                 unsigned LATE7          : 1;
1305         };
1306 } __LATEbits_t;
1307 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
1308
1309 extern __sfr __at (0xF8E) LATF;
1310 typedef union {
1311         struct {
1312                 unsigned                : 1;
1313                 unsigned                : 1;
1314                 unsigned LATF2          : 1;
1315                 unsigned LATF3          : 1;
1316                 unsigned LATF4          : 1;
1317                 unsigned LATF5          : 1;
1318                 unsigned LATF6          : 1;
1319                 unsigned LATF7          : 1;
1320         };
1321 } __LATFbits_t;
1322 extern volatile __LATFbits_t __at (0xF8E) LATFbits;
1323
1324 extern __sfr __at (0xF8F) LATG;
1325 typedef union {
1326         struct {
1327                 unsigned LATG0          : 1;
1328                 unsigned LATG1          : 1;
1329                 unsigned LATG2          : 1;
1330                 unsigned LATG3          : 1;
1331                 unsigned LATG4          : 1;
1332                 unsigned                : 1;
1333                 unsigned                : 1;
1334                 unsigned                : 1;
1335         };
1336 } __LATGbits_t;
1337 extern volatile __LATGbits_t __at (0xF8F) LATGbits;
1338
1339 extern __sfr __at (0xF92) DDRA;
1340 typedef union {
1341         struct {
1342                 unsigned RA0            : 1;
1343                 unsigned RA1            : 1;
1344                 unsigned RA2            : 1;
1345                 unsigned RA3            : 1;
1346                 unsigned RA4            : 1;
1347                 unsigned RA5            : 1;
1348                 unsigned                : 1;
1349                 unsigned                : 1;
1350         };
1351 } __DDRAbits_t;
1352 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
1353
1354 extern __sfr __at (0xF92) TRISA;
1355 typedef union {
1356         struct {
1357                 unsigned TRISA0         : 1;
1358                 unsigned TRISA1         : 1;
1359                 unsigned TRISA2         : 1;
1360                 unsigned TRISA3         : 1;
1361                 unsigned TRISA4         : 1;
1362                 unsigned TRISA5         : 1;
1363                 unsigned                : 1;
1364                 unsigned                : 1;
1365         };
1366 } __TRISAbits_t;
1367 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
1368
1369 extern __sfr __at (0xF93) DDRB;
1370 typedef union {
1371         struct {
1372                 unsigned RB0            : 1;
1373                 unsigned RB1            : 1;
1374                 unsigned RB2            : 1;
1375                 unsigned RB3            : 1;
1376                 unsigned RB4            : 1;
1377                 unsigned RB5            : 1;
1378                 unsigned RB6            : 1;
1379                 unsigned RB7            : 1;
1380         };
1381 } __DDRBbits_t;
1382 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
1383
1384 extern __sfr __at (0xF93) TRISB;
1385 typedef union {
1386         struct {
1387                 unsigned TRISB0         : 1;
1388                 unsigned TRISB1         : 1;
1389                 unsigned TRISB2         : 1;
1390                 unsigned TRISB3         : 1;
1391                 unsigned TRISB4         : 1;
1392                 unsigned TRISB5         : 1;
1393                 unsigned TRISB6         : 1;
1394                 unsigned TRISB7         : 1;
1395         };
1396 } __TRISBbits_t;
1397 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
1398
1399 extern __sfr __at (0xF94) DDRC;
1400 typedef union {
1401         struct {
1402                 unsigned RC0            : 1;
1403                 unsigned RC1            : 1;
1404                 unsigned RC2            : 1;
1405                 unsigned RC3            : 1;
1406                 unsigned RC4            : 1;
1407                 unsigned RC5            : 1;
1408                 unsigned RC6            : 1;
1409                 unsigned RC7            : 1;
1410         };
1411 } __DDRCbits_t;
1412 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
1413
1414 extern __sfr __at (0xF94) TRISC;
1415 typedef union {
1416         struct {
1417                 unsigned TRISC0         : 1;
1418                 unsigned TRISC1         : 1;
1419                 unsigned TRISC2         : 1;
1420                 unsigned TRISC3         : 1;
1421                 unsigned TRISC4         : 1;
1422                 unsigned TRISC5         : 1;
1423                 unsigned TRISC6         : 1;
1424                 unsigned TRISC7         : 1;
1425         };
1426 } __TRISCbits_t;
1427 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
1428
1429 extern __sfr __at (0xF95) DDRD;
1430 typedef union {
1431         struct {
1432                 unsigned RD0            : 1;
1433                 unsigned RD1            : 1;
1434                 unsigned RD2            : 1;
1435                 unsigned RD3            : 1;
1436                 unsigned RD4            : 1;
1437                 unsigned RD5            : 1;
1438                 unsigned RD6            : 1;
1439                 unsigned RD7            : 1;
1440         };
1441 } __DDRDbits_t;
1442 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
1443
1444 extern __sfr __at (0xF95) TRISD;
1445 typedef union {
1446         struct {
1447                 unsigned TRISD0         : 1;
1448                 unsigned TRISD1         : 1;
1449                 unsigned TRISD2         : 1;
1450                 unsigned TRISD3         : 1;
1451                 unsigned TRISD4         : 1;
1452                 unsigned TRISD5         : 1;
1453                 unsigned TRISD6         : 1;
1454                 unsigned TRISD7         : 1;
1455         };
1456 } __TRISDbits_t;
1457 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
1458
1459 extern __sfr __at (0xF96) DDRE;
1460 typedef union {
1461         struct {
1462                 unsigned RE0            : 1;
1463                 unsigned RE1            : 1;
1464                 unsigned RE2            : 1;
1465                 unsigned RE3            : 1;
1466                 unsigned RE4            : 1;
1467                 unsigned RE5            : 1;
1468                 unsigned RE6            : 1;
1469                 unsigned RE7            : 1;
1470         };
1471 } __DDREbits_t;
1472 extern volatile __DDREbits_t __at (0xF96) DDREbits;
1473
1474 extern __sfr __at (0xF96) TRISE;
1475 typedef union {
1476         struct {
1477                 unsigned TRISE0         : 1;
1478                 unsigned TRISE1         : 1;
1479                 unsigned TRISE2         : 1;
1480                 unsigned TRISE3         : 1;
1481                 unsigned TRISE4         : 1;
1482                 unsigned TRISE5         : 1;
1483                 unsigned TRISE6         : 1;
1484                 unsigned TRISE7         : 1;
1485         };
1486 } __TRISEbits_t;
1487 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
1488
1489 extern __sfr __at (0xF97) DDRF;
1490 typedef union {
1491         struct {
1492                 unsigned                : 1;
1493                 unsigned RF1            : 1;
1494                 unsigned RF2            : 1;
1495                 unsigned RF3            : 1;
1496                 unsigned RF4            : 1;
1497                 unsigned RF5            : 1;
1498                 unsigned RF6            : 1;
1499                 unsigned RF7            : 1;
1500         };
1501 } __DDRFbits_t;
1502 extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
1503
1504 extern __sfr __at (0xF97) TRISF;
1505 typedef union {
1506         struct {
1507                 unsigned                : 1;
1508                 unsigned                : 1;
1509                 unsigned TRISF2         : 1;
1510                 unsigned TRISF3         : 1;
1511                 unsigned TRISF4         : 1;
1512                 unsigned TRISF5         : 1;
1513                 unsigned TRISF6         : 1;
1514                 unsigned TRISF7         : 1;
1515         };
1516 } __TRISFbits_t;
1517 extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
1518
1519 extern __sfr __at (0xF98) DDRG;
1520 typedef union {
1521         struct {
1522                 unsigned RG0            : 1;
1523                 unsigned RG1            : 1;
1524                 unsigned RG2            : 1;
1525                 unsigned RG3            : 1;
1526                 unsigned RG4            : 1;
1527                 unsigned                : 1;
1528                 unsigned                : 1;
1529                 unsigned                : 1;
1530         };
1531 } __DDRGbits_t;
1532 extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
1533
1534 extern __sfr __at (0xF98) TRISG;
1535 typedef union {
1536         struct {
1537                 unsigned TRISG0         : 1;
1538                 unsigned TRISG1         : 1;
1539                 unsigned TRISG2         : 1;
1540                 unsigned TRISG3         : 1;
1541                 unsigned TRISG4         : 1;
1542                 unsigned                : 1;
1543                 unsigned                : 1;
1544                 unsigned                : 1;
1545         };
1546 } __TRISGbits_t;
1547 extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
1548
1549 extern __sfr __at (0xF9B) OSCTUNE;
1550 typedef union {
1551         struct {
1552                 unsigned TUN0           : 1;
1553                 unsigned TUN1           : 1;
1554                 unsigned TUN2           : 1;
1555                 unsigned TUN3           : 1;
1556                 unsigned TUN4           : 1;
1557                 unsigned TUN5           : 1;
1558                 unsigned PLLEN          : 1;
1559                 unsigned INTSRC         : 1;
1560         };
1561 } __OSCTUNEbits_t;
1562 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
1563
1564 extern __sfr __at (0xF9C) RCSTA2;
1565 typedef union {
1566         struct {
1567                 unsigned RCD8           : 1;
1568                 unsigned OERR           : 1;
1569                 unsigned FERR           : 1;
1570                 unsigned ADDEN          : 1;
1571                 unsigned CREN           : 1;
1572                 unsigned SREN           : 1;
1573                 unsigned RC9            : 1;
1574                 unsigned SPEN           : 1;
1575         };
1576         struct {
1577                 unsigned RX9D           : 1;
1578                 unsigned                : 1;
1579                 unsigned                : 1;
1580                 unsigned                : 1;
1581                 unsigned                : 1;
1582                 unsigned                : 1;
1583                 unsigned NOT_RC8        : 1;
1584                 unsigned                : 1;
1585         };
1586         struct {
1587                 unsigned                : 1;
1588                 unsigned                : 1;
1589                 unsigned                : 1;
1590                 unsigned                : 1;
1591                 unsigned                : 1;
1592                 unsigned                : 1;
1593                 unsigned RC8_9          : 1;
1594                 unsigned                : 1;
1595         };
1596         struct {
1597                 unsigned                : 1;
1598                 unsigned                : 1;
1599                 unsigned                : 1;
1600                 unsigned                : 1;
1601                 unsigned                : 1;
1602                 unsigned                : 1;
1603                 unsigned RX9            : 1;
1604                 unsigned                : 1;
1605         };
1606 } __RCSTA2bits_t;
1607 extern volatile __RCSTA2bits_t __at (0xF9C) RCSTA2bits;
1608
1609 extern __sfr __at (0xF9D) PIE1;
1610 typedef union {
1611         struct {
1612                 unsigned TMR1IE         : 1;
1613                 unsigned TMR2IE         : 1;
1614                 unsigned CCP1IE         : 1;
1615                 unsigned SSPIE          : 1;
1616                 unsigned TXIE           : 1;
1617                 unsigned RCIE           : 1;
1618                 unsigned ADIE           : 1;
1619                 unsigned PMPIE          : 1;
1620         };
1621         struct {
1622                 unsigned                : 1;
1623                 unsigned                : 1;
1624                 unsigned                : 1;
1625                 unsigned SSP1IE         : 1;
1626                 unsigned TX1IE          : 1;
1627                 unsigned RC1IE          : 1;
1628                 unsigned                : 1;
1629                 unsigned                : 1;
1630         };
1631 } __PIE1bits_t;
1632 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
1633
1634 extern __sfr __at (0xF9E) PIR1;
1635 typedef union {
1636         struct {
1637                 unsigned TMR1IF         : 1;
1638                 unsigned TMR2IF         : 1;
1639                 unsigned CCP1IF         : 1;
1640                 unsigned SSPIF          : 1;
1641                 unsigned TXIF           : 1;
1642                 unsigned RCIF           : 1;
1643                 unsigned ADIF           : 1;
1644                 unsigned PMPIF          : 1;
1645         };
1646         struct {
1647                 unsigned                : 1;
1648                 unsigned                : 1;
1649                 unsigned                : 1;
1650                 unsigned SSP1IF         : 1;
1651                 unsigned TX1IF          : 1;
1652                 unsigned RC1IF          : 1;
1653                 unsigned                : 1;
1654                 unsigned                : 1;
1655         };
1656 } __PIR1bits_t;
1657 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
1658
1659 extern __sfr __at (0xF9F) IPR1;
1660 typedef union {
1661         struct {
1662                 unsigned TMR1IP         : 1;
1663                 unsigned TMR2IP         : 1;
1664                 unsigned CCP1IP         : 1;
1665                 unsigned SSPIP          : 1;
1666                 unsigned TXIP           : 1;
1667                 unsigned RCIP           : 1;
1668                 unsigned ADIP           : 1;
1669                 unsigned PMPIP          : 1;
1670         };
1671         struct {
1672                 unsigned                : 1;
1673                 unsigned                : 1;
1674                 unsigned                : 1;
1675                 unsigned SSP1IP         : 1;
1676                 unsigned TX1IP          : 1;
1677                 unsigned RC1IP          : 1;
1678                 unsigned                : 1;
1679                 unsigned                : 1;
1680         };
1681 } __IPR1bits_t;
1682 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
1683
1684 extern __sfr __at (0xFA0) PIE2;
1685 typedef union {
1686         struct {
1687                 unsigned CCP2IE         : 1;
1688                 unsigned TMR3IE         : 1;
1689                 unsigned LVDIE          : 1;
1690                 unsigned BCLIE          : 1;
1691                 unsigned USBIE          : 1;
1692                 unsigned CM1IE          : 1;
1693                 unsigned CM2IE          : 1;
1694                 unsigned OSCFIE         : 1;
1695         };
1696         struct {
1697                 unsigned                : 1;
1698                 unsigned                : 1;
1699                 unsigned                : 1;
1700                 unsigned BCL1IE         : 1;
1701                 unsigned                : 1;
1702                 unsigned                : 1;
1703                 unsigned                : 1;
1704                 unsigned                : 1;
1705         };
1706 } __PIE2bits_t;
1707 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
1708
1709 extern __sfr __at (0xFA1) PIR2;
1710 typedef union {
1711         struct {
1712                 unsigned CCP2IF         : 1;
1713                 unsigned TMR3IF         : 1;
1714                 unsigned LVDIF          : 1;
1715                 unsigned BCLIF          : 1;
1716                 unsigned USBIF          : 1;
1717                 unsigned CM1IF          : 1;
1718                 unsigned CM2IF          : 1;
1719                 unsigned OSCFIF         : 1;
1720         };
1721         struct {
1722                 unsigned                : 1;
1723                 unsigned                : 1;
1724                 unsigned                : 1;
1725                 unsigned BCL1IF         : 1;
1726                 unsigned                : 1;
1727                 unsigned                : 1;
1728                 unsigned                : 1;
1729                 unsigned                : 1;
1730         };
1731 } __PIR2bits_t;
1732 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
1733
1734 extern __sfr __at (0xFA2) IPR2;
1735 typedef union {
1736         struct {
1737                 unsigned CCP2IP         : 1;
1738                 unsigned TMR3IP         : 1;
1739                 unsigned LVDIP          : 1;
1740                 unsigned BCLIP          : 1;
1741                 unsigned USBIP          : 1;
1742                 unsigned CM1IP          : 1;
1743                 unsigned CM2IP          : 1;
1744                 unsigned OSCFIP         : 1;
1745         };
1746         struct {
1747                 unsigned                : 1;
1748                 unsigned                : 1;
1749                 unsigned                : 1;
1750                 unsigned BCL1IP         : 1;
1751                 unsigned                : 1;
1752                 unsigned                : 1;
1753                 unsigned                : 1;
1754                 unsigned                : 1;
1755         };
1756 } __IPR2bits_t;
1757 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
1758
1759 extern __sfr __at (0xFA3) PIE3;
1760 typedef union {
1761         struct {
1762                 unsigned CCP3IE         : 1;
1763                 unsigned CCP4IE         : 1;
1764                 unsigned CCP5IE         : 1;
1765                 unsigned TMR4IE         : 1;
1766                 unsigned TX2IE          : 1;
1767                 unsigned RC2IE          : 1;
1768                 unsigned BCL2IE         : 1;
1769                 unsigned SSP2IE         : 1;
1770         };
1771 } __PIE3bits_t;
1772 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
1773
1774 extern __sfr __at (0xFA4) PIR3;
1775 typedef union {
1776         struct {
1777                 unsigned CCP3IF         : 1;
1778                 unsigned CCP4IF         : 1;
1779                 unsigned CCP5IF         : 1;
1780                 unsigned TMR4IF         : 1;
1781                 unsigned TX2IF          : 1;
1782                 unsigned RC2IF          : 1;
1783                 unsigned BCL2IF         : 1;
1784                 unsigned SSP2IF         : 1;
1785         };
1786 } __PIR3bits_t;
1787 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
1788
1789 extern __sfr __at (0xFA5) IPR3;
1790 typedef union {
1791         struct {
1792                 unsigned CCP3IP         : 1;
1793                 unsigned CCP4IP         : 1;
1794                 unsigned CCP5IP         : 1;
1795                 unsigned TMR4IP         : 1;
1796                 unsigned TX2IP          : 1;
1797                 unsigned RC2IP          : 1;
1798                 unsigned BCL2IP         : 1;
1799                 unsigned SSP2IP         : 1;
1800         };
1801 } __IPR3bits_t;
1802 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
1803
1804 extern __sfr __at (0xFA6) EECON1;
1805 typedef union {
1806         struct {
1807                 unsigned                : 1;
1808                 unsigned WR             : 1;
1809                 unsigned WREN           : 1;
1810                 unsigned WRERR          : 1;
1811                 unsigned FREE           : 1;
1812                 unsigned WPROG          : 1;
1813                 unsigned                : 1;
1814                 unsigned                : 1;
1815         };
1816 } __EECON1bits_t;
1817 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
1818
1819 extern __sfr __at (0xFA7) EECON2;
1820
1821 extern __sfr __at (0xFA8) TXSTA2;
1822 typedef union {
1823         struct {
1824                 unsigned TX9D           : 1;
1825                 unsigned TRMT           : 1;
1826                 unsigned BRGH           : 1;
1827                 unsigned SENDB          : 1;
1828                 unsigned SYNC           : 1;
1829                 unsigned TXEN           : 1;
1830                 unsigned TX9            : 1;
1831                 unsigned CSRC           : 1;
1832         };
1833         struct {
1834                 unsigned TXD8           : 1;
1835                 unsigned                : 1;
1836                 unsigned                : 1;
1837                 unsigned                : 1;
1838                 unsigned                : 1;
1839                 unsigned                : 1;
1840                 unsigned TX8_9          : 1;
1841                 unsigned                : 1;
1842         };
1843         struct {
1844                 unsigned                : 1;
1845                 unsigned                : 1;
1846                 unsigned                : 1;
1847                 unsigned                : 1;
1848                 unsigned                : 1;
1849                 unsigned                : 1;
1850                 unsigned NOT_TX8        : 1;
1851                 unsigned                : 1;
1852         };
1853 } __TXSTA2bits_t;
1854 extern volatile __TXSTA2bits_t __at (0xFA8) TXSTA2bits;
1855
1856 extern __sfr __at (0xFA9) TXREG2;
1857
1858 extern __sfr __at (0xFAA) RCREG2;
1859
1860 extern __sfr __at (0xFAB) SPBRG2;
1861
1862 extern __sfr __at (0xFAC) RCSTA;
1863 typedef union {
1864         struct {
1865                 unsigned RX9D           : 1;
1866                 unsigned OERR           : 1;
1867                 unsigned FERR           : 1;
1868                 unsigned ADDEN          : 1;
1869                 unsigned CREN           : 1;
1870                 unsigned SREN           : 1;
1871                 unsigned RX9            : 1;
1872                 unsigned SPEN           : 1;
1873         };
1874         struct {
1875                 unsigned RCD8           : 1;
1876                 unsigned                : 1;
1877                 unsigned                : 1;
1878                 unsigned                : 1;
1879                 unsigned                : 1;
1880                 unsigned                : 1;
1881                 unsigned RC9            : 1;
1882                 unsigned                : 1;
1883         };
1884         struct {
1885                 unsigned                : 1;
1886                 unsigned                : 1;
1887                 unsigned                : 1;
1888                 unsigned                : 1;
1889                 unsigned                : 1;
1890                 unsigned                : 1;
1891                 unsigned NOT_RC8        : 1;
1892                 unsigned                : 1;
1893         };
1894         struct {
1895                 unsigned                : 1;
1896                 unsigned                : 1;
1897                 unsigned                : 1;
1898                 unsigned                : 1;
1899                 unsigned                : 1;
1900                 unsigned                : 1;
1901                 unsigned RC8_9          : 1;
1902                 unsigned                : 1;
1903         };
1904 } __RCSTAbits_t;
1905 extern volatile __RCSTAbits_t __at (0xFAC) RCSTAbits;
1906
1907 extern __sfr __at (0xFAC) RCSTA1;
1908 typedef union {
1909         struct {
1910                 unsigned RX9D           : 1;
1911                 unsigned OERR           : 1;
1912                 unsigned FERR           : 1;
1913                 unsigned ADDEN          : 1;
1914                 unsigned CREN           : 1;
1915                 unsigned SREN           : 1;
1916                 unsigned RX9            : 1;
1917                 unsigned SPEN           : 1;
1918         };
1919         struct {
1920                 unsigned RCD8           : 1;
1921                 unsigned                : 1;
1922                 unsigned                : 1;
1923                 unsigned                : 1;
1924                 unsigned                : 1;
1925                 unsigned                : 1;
1926                 unsigned RC9            : 1;
1927                 unsigned                : 1;
1928         };
1929         struct {
1930                 unsigned                : 1;
1931                 unsigned                : 1;
1932                 unsigned                : 1;
1933                 unsigned                : 1;
1934                 unsigned                : 1;
1935                 unsigned                : 1;
1936                 unsigned NOT_RC8        : 1;
1937                 unsigned                : 1;
1938         };
1939         struct {
1940                 unsigned                : 1;
1941                 unsigned                : 1;
1942                 unsigned                : 1;
1943                 unsigned                : 1;
1944                 unsigned                : 1;
1945                 unsigned                : 1;
1946                 unsigned RC8_9          : 1;
1947                 unsigned                : 1;
1948         };
1949 } __RCSTA1bits_t;
1950 extern volatile __RCSTA1bits_t __at (0xFAC) RCSTA1bits;
1951
1952 extern __sfr __at (0xFAD) TXSTA;
1953 typedef union {
1954         struct {
1955                 unsigned TX9D           : 1;
1956                 unsigned TRMT           : 1;
1957                 unsigned BRGH           : 1;
1958                 unsigned SENDB          : 1;
1959                 unsigned SYNC           : 1;
1960                 unsigned TXEN           : 1;
1961                 unsigned TX9            : 1;
1962                 unsigned CSRC           : 1;
1963         };
1964         struct {
1965                 unsigned TXD8           : 1;
1966                 unsigned                : 1;
1967                 unsigned                : 1;
1968                 unsigned                : 1;
1969                 unsigned                : 1;
1970                 unsigned                : 1;
1971                 unsigned TX8_9          : 1;
1972                 unsigned                : 1;
1973         };
1974         struct {
1975                 unsigned                : 1;
1976                 unsigned                : 1;
1977                 unsigned                : 1;
1978                 unsigned                : 1;
1979                 unsigned                : 1;
1980                 unsigned                : 1;
1981                 unsigned NOT_TX8        : 1;
1982                 unsigned                : 1;
1983         };
1984 } __TXSTAbits_t;
1985 extern volatile __TXSTAbits_t __at (0xFAD) TXSTAbits;
1986
1987 extern __sfr __at (0xFAD) TXSTA1;
1988 typedef union {
1989         struct {
1990                 unsigned TX9D           : 1;
1991                 unsigned TRMT           : 1;
1992                 unsigned BRGH           : 1;
1993                 unsigned SENDB          : 1;
1994                 unsigned SYNC           : 1;
1995                 unsigned TXEN           : 1;
1996                 unsigned TX9            : 1;
1997                 unsigned CSRC           : 1;
1998         };
1999         struct {
2000                 unsigned TXD8           : 1;
2001                 unsigned                : 1;
2002                 unsigned                : 1;
2003                 unsigned                : 1;
2004                 unsigned                : 1;
2005                 unsigned                : 1;
2006                 unsigned TX8_9          : 1;
2007                 unsigned                : 1;
2008         };
2009         struct {
2010                 unsigned                : 1;
2011                 unsigned                : 1;
2012                 unsigned                : 1;
2013                 unsigned                : 1;
2014                 unsigned                : 1;
2015                 unsigned                : 1;
2016                 unsigned NOT_TX8        : 1;
2017                 unsigned                : 1;
2018         };
2019 } __TXSTA1bits_t;
2020 extern volatile __TXSTA1bits_t __at (0xFAD) TXSTA1bits;
2021
2022 extern __sfr __at (0xFAE) TXREG;
2023
2024 extern __sfr __at (0xFAE) TXREG1;
2025
2026 extern __sfr __at (0xFAF) RCREG;
2027
2028 extern __sfr __at (0xFAF) RCREG1;
2029
2030 extern __sfr __at (0xFB0) SPBRG;
2031
2032 extern __sfr __at (0xFB0) SPBRG1;
2033
2034 extern __sfr __at (0xFB1) CCP3CON;
2035 typedef union {
2036         struct {
2037                 unsigned CCP3M0         : 1;
2038                 unsigned CCP3M1         : 1;
2039                 unsigned CCP3M2         : 1;
2040                 unsigned CCP3M3         : 1;
2041                 unsigned DC3B0          : 1;
2042                 unsigned DC3B1          : 1;
2043                 unsigned P3M0           : 1;
2044                 unsigned P3M1           : 1;
2045         };
2046         struct {
2047                 unsigned                : 1;
2048                 unsigned                : 1;
2049                 unsigned                : 1;
2050                 unsigned                : 1;
2051                 unsigned CCP3Y          : 1;
2052                 unsigned CCP3X          : 1;
2053                 unsigned                : 1;
2054                 unsigned                : 1;
2055         };
2056 } __CCP3CONbits_t;
2057 extern volatile __CCP3CONbits_t __at (0xFB1) CCP3CONbits;
2058
2059 extern __sfr __at (0xFB1) ECCP3CON;
2060 typedef union {
2061         struct {
2062                 unsigned CCP3M0         : 1;
2063                 unsigned CCP3M1         : 1;
2064                 unsigned CCP3M2         : 1;
2065                 unsigned CCP3M3         : 1;
2066                 unsigned DC3B0          : 1;
2067                 unsigned DC3B1          : 1;
2068                 unsigned P3M0           : 1;
2069                 unsigned P3M1           : 1;
2070         };
2071         struct {
2072                 unsigned                : 1;
2073                 unsigned                : 1;
2074                 unsigned                : 1;
2075                 unsigned                : 1;
2076                 unsigned CCP3Y          : 1;
2077                 unsigned CCP3X          : 1;
2078                 unsigned                : 1;
2079                 unsigned                : 1;
2080         };
2081 } __ECCP3CONbits_t;
2082 extern volatile __ECCP3CONbits_t __at (0xFB1) ECCP3CONbits;
2083
2084 extern __sfr __at (0xFB2) CCPR3;
2085
2086 extern __sfr __at (0xFB2) CCPR3L;
2087
2088 extern __sfr __at (0xFB3) CCPR3H;
2089
2090 extern __sfr __at (0xFB4) ECCP3DEL;
2091 typedef union {
2092         struct {
2093                 unsigned PDC0           : 1;
2094                 unsigned PDC1           : 1;
2095                 unsigned PDC2           : 1;
2096                 unsigned PDC3           : 1;
2097                 unsigned PDC4           : 1;
2098                 unsigned PDC5           : 1;
2099                 unsigned PDC6           : 1;
2100                 unsigned PRSEN          : 1;
2101         };
2102         struct {
2103                 unsigned P3DC0          : 1;
2104                 unsigned P3DC1          : 1;
2105                 unsigned P3DC2          : 1;
2106                 unsigned P3DC3          : 1;
2107                 unsigned P3DC4          : 1;
2108                 unsigned P3DC5          : 1;
2109                 unsigned P3DC6          : 1;
2110                 unsigned P3RSEN         : 1;
2111         };
2112 } __ECCP3DELbits_t;
2113 extern volatile __ECCP3DELbits_t __at (0xFB4) ECCP3DELbits;
2114
2115 extern __sfr __at (0xFB5) ECCP3AS;
2116 typedef union {
2117         struct {
2118                 unsigned PSSBD0         : 1;
2119                 unsigned PSSBD1         : 1;
2120                 unsigned PSSAC0         : 1;
2121                 unsigned PSSAC1         : 1;
2122                 unsigned ECCPAS0        : 1;
2123                 unsigned ECCPAS1        : 1;
2124                 unsigned ECCPAS2        : 1;
2125                 unsigned ECCPASE        : 1;
2126         };
2127         struct {
2128                 unsigned PSS3BD0        : 1;
2129                 unsigned PSS3BD1        : 1;
2130                 unsigned PSS3AC0        : 1;
2131                 unsigned PSS3AC1        : 1;
2132                 unsigned ECCP3AS0       : 1;
2133                 unsigned ECCP3AS1       : 1;
2134                 unsigned ECCP3AS2       : 1;
2135                 unsigned ECCP3ASE       : 1;
2136         };
2137 } __ECCP3ASbits_t;
2138 extern volatile __ECCP3ASbits_t __at (0xFB5) ECCP3ASbits;
2139
2140 extern __sfr __at (0xFB6) CCP2CON;
2141 typedef union {
2142         struct {
2143                 unsigned CCP2M0         : 1;
2144                 unsigned CCP2M1         : 1;
2145                 unsigned CCP2M2         : 1;
2146                 unsigned CCP2M3         : 1;
2147                 unsigned DC2B0          : 1;
2148                 unsigned DC2B1          : 1;
2149                 unsigned P2M0           : 1;
2150                 unsigned P2M1           : 1;
2151         };
2152         struct {
2153                 unsigned                : 1;
2154                 unsigned                : 1;
2155                 unsigned                : 1;
2156                 unsigned                : 1;
2157                 unsigned CCP2Y          : 1;
2158                 unsigned CCP2X          : 1;
2159                 unsigned                : 1;
2160                 unsigned                : 1;
2161         };
2162 } __CCP2CONbits_t;
2163 extern volatile __CCP2CONbits_t __at (0xFB6) CCP2CONbits;
2164
2165 extern __sfr __at (0xFB6) ECCP2CON;
2166 typedef union {
2167         struct {
2168                 unsigned CCP2M0         : 1;
2169                 unsigned CCP2M1         : 1;
2170                 unsigned CCP2M2         : 1;
2171                 unsigned CCP2M3         : 1;
2172                 unsigned DC2B0          : 1;
2173                 unsigned DC2B1          : 1;
2174                 unsigned P2M0           : 1;
2175                 unsigned P2M1           : 1;
2176         };
2177         struct {
2178                 unsigned                : 1;
2179                 unsigned                : 1;
2180                 unsigned                : 1;
2181                 unsigned                : 1;
2182                 unsigned CCP2Y          : 1;
2183                 unsigned CCP2X          : 1;
2184                 unsigned                : 1;
2185                 unsigned                : 1;
2186         };
2187 } __ECCP2CONbits_t;
2188 extern volatile __ECCP2CONbits_t __at (0xFB6) ECCP2CONbits;
2189
2190 extern __sfr __at (0xFB7) CCPR2;
2191
2192 extern __sfr __at (0xFB7) CCPR2L;
2193
2194 extern __sfr __at (0xFB8) CCPR2H;
2195
2196 extern __sfr __at (0xFB9) ECCP2DEL;
2197 typedef union {
2198         struct {
2199                 unsigned PDC0           : 1;
2200                 unsigned PDC1           : 1;
2201                 unsigned PDC2           : 1;
2202                 unsigned PDC3           : 1;
2203                 unsigned PDC4           : 1;
2204                 unsigned PDC5           : 1;
2205                 unsigned PDC6           : 1;
2206                 unsigned PRSEN          : 1;
2207         };
2208         struct {
2209                 unsigned P2DC0          : 1;
2210                 unsigned P2DC1          : 1;
2211                 unsigned P2DC2          : 1;
2212                 unsigned P2DC3          : 1;
2213                 unsigned P2DC4          : 1;
2214                 unsigned P2DC5          : 1;
2215                 unsigned P2DC6          : 1;
2216                 unsigned P2RSEN         : 1;
2217         };
2218 } __ECCP2DELbits_t;
2219 extern volatile __ECCP2DELbits_t __at (0xFB9) ECCP2DELbits;
2220
2221 extern __sfr __at (0xFBA) ECCP2AS;
2222 typedef union {
2223         struct {
2224                 unsigned PSSBD0         : 1;
2225                 unsigned PSSBD1         : 1;
2226                 unsigned PSSAC0         : 1;
2227                 unsigned PSSAC1         : 1;
2228                 unsigned ECCPAS0        : 1;
2229                 unsigned ECCPAS1        : 1;
2230                 unsigned ECCPAS2        : 1;
2231                 unsigned ECCPASE        : 1;
2232         };
2233         struct {
2234                 unsigned PSS2BD0        : 1;
2235                 unsigned PSS2BD1        : 1;
2236                 unsigned PSS2AC0        : 1;
2237                 unsigned PSS2AC1        : 1;
2238                 unsigned ECCP2AS0       : 1;
2239                 unsigned ECCP2AS1       : 1;
2240                 unsigned ECCP2AS2       : 1;
2241                 unsigned ECCP2ASE       : 1;
2242         };
2243 } __ECCP2ASbits_t;
2244 extern volatile __ECCP2ASbits_t __at (0xFBA) ECCP2ASbits;
2245
2246 extern __sfr __at (0xFBB) CCP1CON;
2247 typedef union {
2248         struct {
2249                 unsigned CCP1M0         : 1;
2250                 unsigned CCP1M1         : 1;
2251                 unsigned CCP1M2         : 1;
2252                 unsigned CCP1M3         : 1;
2253                 unsigned DC1B0          : 1;
2254                 unsigned DC1B1          : 1;
2255                 unsigned P1M0           : 1;
2256                 unsigned P1M1           : 1;
2257         };
2258         struct {
2259                 unsigned                : 1;
2260                 unsigned                : 1;
2261                 unsigned                : 1;
2262                 unsigned                : 1;
2263                 unsigned CCP1Y          : 1;
2264                 unsigned CCP1X          : 1;
2265                 unsigned                : 1;
2266                 unsigned                : 1;
2267         };
2268 } __CCP1CONbits_t;
2269 extern volatile __CCP1CONbits_t __at (0xFBB) CCP1CONbits;
2270
2271 extern __sfr __at (0xFBB) ECCP1CON;
2272 typedef union {
2273         struct {
2274                 unsigned CCP1M0         : 1;
2275                 unsigned CCP1M1         : 1;
2276                 unsigned CCP1M2         : 1;
2277                 unsigned CCP1M3         : 1;
2278                 unsigned DC1B0          : 1;
2279                 unsigned DC1B1          : 1;
2280                 unsigned P1M0           : 1;
2281                 unsigned P1M1           : 1;
2282         };
2283         struct {
2284                 unsigned                : 1;
2285                 unsigned                : 1;
2286                 unsigned                : 1;
2287                 unsigned                : 1;
2288                 unsigned CCP1Y          : 1;
2289                 unsigned CCP1X          : 1;
2290                 unsigned                : 1;
2291                 unsigned                : 1;
2292         };
2293 } __ECCP1CONbits_t;
2294 extern volatile __ECCP1CONbits_t __at (0xFBB) ECCP1CONbits;
2295
2296 extern __sfr __at (0xFBC) CCPR1;
2297
2298 extern __sfr __at (0xFBC) CCPR1L;
2299
2300 extern __sfr __at (0xFBD) CCPR1H;
2301
2302 extern __sfr __at (0xFBE) ECCP1DEL;
2303 typedef union {
2304         struct {
2305                 unsigned PDC0           : 1;
2306                 unsigned PDC1           : 1;
2307                 unsigned PDC2           : 1;
2308                 unsigned PDC3           : 1;
2309                 unsigned PDC4           : 1;
2310                 unsigned PDC5           : 1;
2311                 unsigned PDC6           : 1;
2312                 unsigned PRSEN          : 1;
2313         };
2314         struct {
2315                 unsigned P1DC0          : 1;
2316                 unsigned P1DC1          : 1;
2317                 unsigned P1DC2          : 1;
2318                 unsigned P1DC3          : 1;
2319                 unsigned P1DC4          : 1;
2320                 unsigned P1DC5          : 1;
2321                 unsigned P1DC6          : 1;
2322                 unsigned P1RSEN         : 1;
2323         };
2324 } __ECCP1DELbits_t;
2325 extern volatile __ECCP1DELbits_t __at (0xFBE) ECCP1DELbits;
2326
2327 extern __sfr __at (0xFBF) ECCP1AS;
2328 typedef union {
2329         struct {
2330                 unsigned PSSBD0         : 1;
2331                 unsigned PSSBD1         : 1;
2332                 unsigned PSSAC0         : 1;
2333                 unsigned PSSAC1         : 1;
2334                 unsigned ECCPAS0        : 1;
2335                 unsigned ECCPAS1        : 1;
2336                 unsigned ECCPAS2        : 1;
2337                 unsigned ECCPASE        : 1;
2338         };
2339         struct {
2340                 unsigned PSS1BD0        : 1;
2341                 unsigned PSS1BD1        : 1;
2342                 unsigned PSS1AC0        : 1;
2343                 unsigned PSS1AC1        : 1;
2344                 unsigned ECCP1AS0       : 1;
2345                 unsigned ECCP1AS1       : 1;
2346                 unsigned ECCP1AS2       : 1;
2347                 unsigned ECCP1ASE       : 1;
2348         };
2349 } __ECCP1ASbits_t;
2350 extern volatile __ECCP1ASbits_t __at (0xFBF) ECCP1ASbits;
2351
2352 extern __sfr __at (0xFC0) WDTCON;
2353 typedef union {
2354         struct {
2355                 unsigned SWDTE          : 1;
2356                 unsigned                : 1;
2357                 unsigned                : 1;
2358                 unsigned                : 1;
2359                 unsigned DEVCFG         : 1;
2360                 unsigned                : 1;
2361                 unsigned LVDSTAT        : 1;
2362                 unsigned REGSLP         : 1;
2363         };
2364         struct {
2365                 unsigned SWDTEN         : 1;
2366                 unsigned                : 1;
2367                 unsigned                : 1;
2368                 unsigned                : 1;
2369                 unsigned ADSHR          : 1;
2370                 unsigned                : 1;
2371                 unsigned                : 1;
2372                 unsigned                : 1;
2373         };
2374 } __WDTCONbits_t;
2375 extern volatile __WDTCONbits_t __at (0xFC0) WDTCONbits;
2376
2377 extern __sfr __at (0xFC1) ADCON1;
2378 typedef union {
2379         struct {
2380                 unsigned ADCS0          : 1;
2381                 unsigned ADCS1          : 1;
2382                 unsigned ADCS2          : 1;
2383                 unsigned ACQT0          : 1;
2384                 unsigned ACQT1          : 1;
2385                 unsigned ACQT2          : 1;
2386                 unsigned ADCAL          : 1;
2387                 unsigned ADFM           : 1;
2388         };
2389 } __ADCON1bits_t;
2390 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
2391
2392 extern __sfr __at (0xFC1) ANCON0;
2393 typedef union {
2394         struct {
2395                 unsigned PCFG0          : 1;
2396                 unsigned PCFG1          : 1;
2397                 unsigned PCFG2          : 1;
2398                 unsigned PCFG3          : 1;
2399                 unsigned PCFG4          : 1;
2400                 unsigned PCFG5          : 1;
2401                 unsigned PCFG6          : 1;
2402                 unsigned PCFG7          : 1;
2403         };
2404 } __ANCON0bits_t;
2405 extern volatile __ANCON0bits_t __at (0xFC1) ANCON0bits;
2406
2407 extern __sfr __at (0xFC2) ADCON0;
2408 typedef union {
2409         struct {
2410                 unsigned ADON           : 1;
2411                 unsigned DONE           : 1;
2412                 unsigned CHS0           : 1;
2413                 unsigned CHS1           : 1;
2414                 unsigned CHS2           : 1;
2415                 unsigned CHS3           : 1;
2416                 unsigned VCFG0          : 1;
2417                 unsigned VCFG1          : 1;
2418         };
2419         struct {
2420                 unsigned                : 1;
2421                 unsigned GO_DONE        : 1;
2422                 unsigned                : 1;
2423                 unsigned                : 1;
2424                 unsigned                : 1;
2425                 unsigned                : 1;
2426                 unsigned                : 1;
2427                 unsigned                : 1;
2428         };
2429         struct {
2430                 unsigned                : 1;
2431                 unsigned GO             : 1;
2432                 unsigned                : 1;
2433                 unsigned                : 1;
2434                 unsigned                : 1;
2435                 unsigned                : 1;
2436                 unsigned                : 1;
2437                 unsigned                : 1;
2438         };
2439         struct {
2440                 unsigned                : 1;
2441                 unsigned NOT_DONE       : 1;
2442                 unsigned                : 1;
2443                 unsigned                : 1;
2444                 unsigned                : 1;
2445                 unsigned                : 1;
2446                 unsigned                : 1;
2447                 unsigned                : 1;
2448         };
2449 } __ADCON0bits_t;
2450 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
2451
2452 extern __sfr __at (0xFC2) ANCON1;
2453 typedef union {
2454         struct {
2455                 unsigned PCFG8          : 1;
2456                 unsigned PCFG9          : 1;
2457                 unsigned PCFG10         : 1;
2458                 unsigned PCFG11         : 1;
2459                 unsigned PCFG12         : 1;
2460                 unsigned PCFG13         : 1;
2461                 unsigned PCFG14         : 1;
2462                 unsigned PCFG15         : 1;
2463         };
2464 } __ANCON1bits_t;
2465 extern volatile __ANCON1bits_t __at (0xFC2) ANCON1bits;
2466
2467 extern __sfr __at (0xFC3) ADRES;
2468
2469 extern __sfr __at (0xFC3) ADRESL;
2470
2471 extern __sfr __at (0xFC4) ADRESH;
2472
2473 extern __sfr __at (0xFC5) SSP1CON2;
2474 typedef union {
2475         struct {
2476                 unsigned SEN            : 1;
2477                 unsigned RSEN           : 1;
2478                 unsigned PEN            : 1;
2479                 unsigned RCEN           : 1;
2480                 unsigned ACKEN          : 1;
2481                 unsigned ACKDT          : 1;
2482                 unsigned ACKSTAT        : 1;
2483                 unsigned GCEN           : 1;
2484         };
2485         struct {
2486                 unsigned                : 1;
2487                 unsigned ADMSK1         : 1;
2488                 unsigned ADMSK2         : 1;
2489                 unsigned ADMSK3         : 1;
2490                 unsigned ADMSK4         : 1;
2491                 unsigned ADMSK5         : 1;
2492                 unsigned                : 1;
2493                 unsigned                : 1;
2494         };
2495 } __SSP1CON2bits_t;
2496 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
2497
2498 extern __sfr __at (0xFC5) SSPCON2;
2499 typedef union {
2500         struct {
2501                 unsigned SEN            : 1;
2502                 unsigned RSEN           : 1;
2503                 unsigned PEN            : 1;
2504                 unsigned RCEN           : 1;
2505                 unsigned ACKEN          : 1;
2506                 unsigned ACKDT          : 1;
2507                 unsigned ACKSTAT        : 1;
2508                 unsigned GCEN           : 1;
2509         };
2510         struct {
2511                 unsigned                : 1;
2512                 unsigned ADMSK1         : 1;
2513                 unsigned ADMSK2         : 1;
2514                 unsigned ADMSK3         : 1;
2515                 unsigned ADMSK4         : 1;
2516                 unsigned ADMSK5         : 1;
2517                 unsigned                : 1;
2518                 unsigned                : 1;
2519         };
2520 } __SSPCON2bits_t;
2521 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
2522
2523 extern __sfr __at (0xFC6) SSP1CON1;
2524 typedef union {
2525         struct {
2526                 unsigned SSPM0          : 1;
2527                 unsigned SSPM1          : 1;
2528                 unsigned SSPM2          : 1;
2529                 unsigned SSPM3          : 1;
2530                 unsigned CKP            : 1;
2531                 unsigned SSPEN          : 1;
2532                 unsigned SSPOV          : 1;
2533                 unsigned WCOL           : 1;
2534         };
2535 } __SSP1CON1bits_t;
2536 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
2537
2538 extern __sfr __at (0xFC6) SSPCON1;
2539 typedef union {
2540         struct {
2541                 unsigned SSPM0          : 1;
2542                 unsigned SSPM1          : 1;
2543                 unsigned SSPM2          : 1;
2544                 unsigned SSPM3          : 1;
2545                 unsigned CKP            : 1;
2546                 unsigned SSPEN          : 1;
2547                 unsigned SSPOV          : 1;
2548                 unsigned WCOL           : 1;
2549         };
2550 } __SSPCON1bits_t;
2551 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
2552
2553 extern __sfr __at (0xFC7) SSP1STAT;
2554 typedef union {
2555         struct {
2556                 unsigned BF             : 1;
2557                 unsigned UA             : 1;
2558                 unsigned R_W            : 1;
2559                 unsigned S              : 1;
2560                 unsigned P              : 1;
2561                 unsigned D_A            : 1;
2562                 unsigned CKE            : 1;
2563                 unsigned SMP            : 1;
2564         };
2565         struct {
2566                 unsigned                : 1;
2567                 unsigned                : 1;
2568                 unsigned I2C_READ       : 1;
2569                 unsigned I2C_START      : 1;
2570                 unsigned I2C_STOP       : 1;
2571                 unsigned I2C_DAT        : 1;
2572                 unsigned                : 1;
2573                 unsigned                : 1;
2574         };
2575         struct {
2576                 unsigned                : 1;
2577                 unsigned                : 1;
2578                 unsigned NOT_W          : 1;
2579                 unsigned                : 1;
2580                 unsigned                : 1;
2581                 unsigned NOT_A          : 1;
2582                 unsigned                : 1;
2583                 unsigned                : 1;
2584         };
2585         struct {
2586                 unsigned                : 1;
2587                 unsigned                : 1;
2588                 unsigned NOT_WRITE      : 1;
2589                 unsigned                : 1;
2590                 unsigned                : 1;
2591                 unsigned NOT_ADDRESS    : 1;
2592                 unsigned                : 1;
2593                 unsigned                : 1;
2594         };
2595         struct {
2596                 unsigned                : 1;
2597                 unsigned                : 1;
2598                 unsigned READ_WRITE     : 1;
2599                 unsigned                : 1;
2600                 unsigned                : 1;
2601                 unsigned DATA_ADDRESS   : 1;
2602                 unsigned                : 1;
2603                 unsigned                : 1;
2604         };
2605         struct {
2606                 unsigned                : 1;
2607                 unsigned                : 1;
2608                 unsigned R              : 1;
2609                 unsigned                : 1;
2610                 unsigned                : 1;
2611                 unsigned D              : 1;
2612                 unsigned                : 1;
2613                 unsigned                : 1;
2614         };
2615 } __SSP1STATbits_t;
2616 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
2617
2618 extern __sfr __at (0xFC7) SSPSTAT;
2619 typedef union {
2620         struct {
2621                 unsigned BF             : 1;
2622                 unsigned UA             : 1;
2623                 unsigned R_W            : 1;
2624                 unsigned S              : 1;
2625                 unsigned P              : 1;
2626                 unsigned D_A            : 1;
2627                 unsigned CKE            : 1;
2628                 unsigned SMP            : 1;
2629         };
2630         struct {
2631                 unsigned                : 1;
2632                 unsigned                : 1;
2633                 unsigned I2C_READ       : 1;
2634                 unsigned I2C_START      : 1;
2635                 unsigned I2C_STOP       : 1;
2636                 unsigned I2C_DAT        : 1;
2637                 unsigned                : 1;
2638                 unsigned                : 1;
2639         };
2640         struct {
2641                 unsigned                : 1;
2642                 unsigned                : 1;
2643                 unsigned NOT_W          : 1;
2644                 unsigned                : 1;
2645                 unsigned                : 1;
2646                 unsigned NOT_A          : 1;
2647                 unsigned                : 1;
2648                 unsigned                : 1;
2649         };
2650         struct {
2651                 unsigned                : 1;
2652                 unsigned                : 1;
2653                 unsigned NOT_WRITE      : 1;
2654                 unsigned                : 1;
2655                 unsigned                : 1;
2656                 unsigned NOT_ADDRESS    : 1;
2657                 unsigned                : 1;
2658                 unsigned                : 1;
2659         };
2660         struct {
2661                 unsigned                : 1;
2662                 unsigned                : 1;
2663                 unsigned READ_WRITE     : 1;
2664                 unsigned                : 1;
2665                 unsigned                : 1;
2666                 unsigned DATA_ADDRESS   : 1;
2667                 unsigned                : 1;
2668                 unsigned                : 1;
2669         };
2670         struct {
2671                 unsigned                : 1;
2672                 unsigned                : 1;
2673                 unsigned R              : 1;
2674                 unsigned                : 1;
2675                 unsigned                : 1;
2676                 unsigned D              : 1;
2677                 unsigned                : 1;
2678                 unsigned                : 1;
2679         };
2680 } __SSPSTATbits_t;
2681 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
2682
2683 extern __sfr __at (0xFC8) SSP1ADD;
2684
2685 extern __sfr __at (0xFC8) SSP1MSK;
2686
2687 extern __sfr __at (0xFC8) SSPADD;
2688
2689 extern __sfr __at (0xFC9) SSP1BUF;
2690
2691 extern __sfr __at (0xFC9) SSPBUF;
2692
2693 extern __sfr __at (0xFCA) T2CON;
2694 typedef union {
2695         struct {
2696                 unsigned T2CKPS0        : 1;
2697                 unsigned T2CKPS1        : 1;
2698                 unsigned TMR2ON         : 1;
2699                 unsigned T2OUTPS0       : 1;
2700                 unsigned T2OUTPS1       : 1;
2701                 unsigned T2OUTPS2       : 1;
2702                 unsigned T2OUTPS3       : 1;
2703                 unsigned                : 1;
2704         };
2705 } __T2CONbits_t;
2706 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
2707
2708 extern __sfr __at (0xFCB) PR2;
2709
2710 extern __sfr __at (0xFCC) PADCFG1;
2711 typedef union {
2712         struct {
2713                 unsigned PMPTTL         : 1;
2714                 unsigned                : 1;
2715                 unsigned                : 1;
2716                 unsigned                : 1;
2717                 unsigned                : 1;
2718                 unsigned                : 1;
2719                 unsigned                : 1;
2720                 unsigned                : 1;
2721         };
2722 } __PADCFG1bits_t;
2723 extern volatile __PADCFG1bits_t __at (0xFCC) PADCFG1bits;
2724
2725 extern __sfr __at (0xFCC) TMR2;
2726
2727 extern __sfr __at (0xFCD) ODCON3;
2728 typedef union {
2729         struct {
2730                 unsigned SPI1OD         : 1;
2731                 unsigned SPI2OD         : 1;
2732                 unsigned                : 1;
2733                 unsigned                : 1;
2734                 unsigned                : 1;
2735                 unsigned                : 1;
2736                 unsigned                : 1;
2737                 unsigned                : 1;
2738         };
2739 } __ODCON3bits_t;
2740 extern volatile __ODCON3bits_t __at (0xFCD) ODCON3bits;
2741
2742 extern __sfr __at (0xFCD) T1CON;
2743 typedef union {
2744         struct {
2745                 unsigned TMR1ON         : 1;
2746                 unsigned TMR1CS         : 1;
2747                 unsigned T1SYNC         : 1;
2748                 unsigned T1OSCEN        : 1;
2749                 unsigned T1CKPS0        : 1;
2750                 unsigned T1CKPS1        : 1;
2751                 unsigned T1RUN          : 1;
2752                 unsigned RD16           : 1;
2753         };
2754         struct {
2755                 unsigned                : 1;
2756                 unsigned                : 1;
2757                 unsigned T1INSYNC       : 1;
2758                 unsigned                : 1;
2759                 unsigned                : 1;
2760                 unsigned                : 1;
2761                 unsigned                : 1;
2762                 unsigned                : 1;
2763         };
2764         struct {
2765                 unsigned                : 1;
2766                 unsigned                : 1;
2767                 unsigned NOT_T1SYNC     : 1;
2768                 unsigned                : 1;
2769                 unsigned                : 1;
2770                 unsigned                : 1;
2771                 unsigned                : 1;
2772                 unsigned                : 1;
2773         };
2774 } __T1CONbits_t;
2775 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
2776
2777 extern __sfr __at (0xFCE) ODCON2;
2778 typedef union {
2779         struct {
2780                 unsigned USART1OD       : 1;
2781                 unsigned USART2OD       : 1;
2782                 unsigned                : 1;
2783                 unsigned                : 1;
2784                 unsigned                : 1;
2785                 unsigned                : 1;
2786                 unsigned                : 1;
2787                 unsigned                : 1;
2788         };
2789         struct {
2790                 unsigned U1OD           : 1;
2791                 unsigned U2OD           : 1;
2792                 unsigned                : 1;
2793                 unsigned                : 1;
2794                 unsigned                : 1;
2795                 unsigned                : 1;
2796                 unsigned                : 1;
2797                 unsigned                : 1;
2798         };
2799 } __ODCON2bits_t;
2800 extern volatile __ODCON2bits_t __at (0xFCE) ODCON2bits;
2801
2802 extern __sfr __at (0xFCE) TMR1L;
2803
2804 extern __sfr __at (0xFCF) ODCON1;
2805 typedef union {
2806         struct {
2807                 unsigned ECCP1OD        : 1;
2808                 unsigned ECCP2OD        : 1;
2809                 unsigned ECCP3OD        : 1;
2810                 unsigned CCP4OD         : 1;
2811                 unsigned CCP5OD         : 1;
2812                 unsigned                : 1;
2813                 unsigned                : 1;
2814                 unsigned                : 1;
2815         };
2816 } __ODCON1bits_t;
2817 extern volatile __ODCON1bits_t __at (0xFCF) ODCON1bits;
2818
2819 extern __sfr __at (0xFCF) TMR1H;
2820
2821 extern __sfr __at (0xFD0) RCON;
2822 typedef union {
2823         struct {
2824                 unsigned NOT_BOR        : 1;
2825                 unsigned NOT_POR        : 1;
2826                 unsigned NOT_PD         : 1;
2827                 unsigned NOT_TO         : 1;
2828                 unsigned NOT_RI         : 1;
2829                 unsigned NOT_CM         : 1;
2830                 unsigned                : 1;
2831                 unsigned IPEN           : 1;
2832         };
2833         struct {
2834                 unsigned BOR            : 1;
2835                 unsigned POR            : 1;
2836                 unsigned PD             : 1;
2837                 unsigned TO             : 1;
2838                 unsigned RI             : 1;
2839                 unsigned CM             : 1;
2840                 unsigned                : 1;
2841                 unsigned                : 1;
2842         };
2843 } __RCONbits_t;
2844 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
2845
2846 extern __sfr __at (0xFD1) CM2CON;
2847 typedef union {
2848         struct {
2849                 unsigned C1CH0          : 1;
2850                 unsigned C1CH1          : 1;
2851                 unsigned CREF           : 1;
2852                 unsigned EVPOL0         : 1;
2853                 unsigned EVPOL1         : 1;
2854                 unsigned CPOL           : 1;
2855                 unsigned COE            : 1;
2856                 unsigned CON            : 1;
2857         };
2858         struct {
2859                 unsigned CCH0           : 1;
2860                 unsigned CCH1           : 1;
2861                 unsigned                : 1;
2862                 unsigned                : 1;
2863                 unsigned                : 1;
2864                 unsigned                : 1;
2865                 unsigned                : 1;
2866                 unsigned                : 1;
2867         };
2868 } __CM2CONbits_t;
2869 extern volatile __CM2CONbits_t __at (0xFD1) CM2CONbits;
2870
2871 extern __sfr __at (0xFD1) CM2CON1;
2872 typedef union {
2873         struct {
2874                 unsigned C1CH0          : 1;
2875                 unsigned C1CH1          : 1;
2876                 unsigned CREF           : 1;
2877                 unsigned EVPOL0         : 1;
2878                 unsigned EVPOL1         : 1;
2879                 unsigned CPOL           : 1;
2880                 unsigned COE            : 1;
2881                 unsigned CON            : 1;
2882         };
2883         struct {
2884                 unsigned CCH0           : 1;
2885                 unsigned CCH1           : 1;
2886                 unsigned                : 1;
2887                 unsigned                : 1;
2888                 unsigned                : 1;
2889                 unsigned                : 1;
2890                 unsigned                : 1;
2891                 unsigned                : 1;
2892         };
2893 } __CM2CON1bits_t;
2894 extern volatile __CM2CON1bits_t __at (0xFD1) CM2CON1bits;
2895
2896 extern __sfr __at (0xFD2) CM1CON;
2897 typedef union {
2898         struct {
2899                 unsigned C1CH0          : 1;
2900                 unsigned C1CH1          : 1;
2901                 unsigned CREF           : 1;
2902                 unsigned EVPOL0         : 1;
2903                 unsigned EVPOL1         : 1;
2904                 unsigned CPOL           : 1;
2905                 unsigned COE            : 1;
2906                 unsigned CON            : 1;
2907         };
2908         struct {
2909                 unsigned CCH0           : 1;
2910                 unsigned CCH1           : 1;
2911                 unsigned                : 1;
2912                 unsigned                : 1;
2913                 unsigned                : 1;
2914                 unsigned                : 1;
2915                 unsigned                : 1;
2916                 unsigned                : 1;
2917         };
2918 } __CM1CONbits_t;
2919 extern volatile __CM1CONbits_t __at (0xFD2) CM1CONbits;
2920
2921 extern __sfr __at (0xFD2) CM1CON1;
2922 typedef union {
2923         struct {
2924                 unsigned C1CH0          : 1;
2925                 unsigned C1CH1          : 1;
2926                 unsigned CREF           : 1;
2927                 unsigned EVPOL0         : 1;
2928                 unsigned EVPOL1         : 1;
2929                 unsigned CPOL           : 1;
2930                 unsigned COE            : 1;
2931                 unsigned CON            : 1;
2932         };
2933         struct {
2934                 unsigned CCH0           : 1;
2935                 unsigned CCH1           : 1;
2936                 unsigned                : 1;
2937                 unsigned                : 1;
2938                 unsigned                : 1;
2939                 unsigned                : 1;
2940                 unsigned                : 1;
2941                 unsigned                : 1;
2942         };
2943 } __CM1CON1bits_t;
2944 extern volatile __CM1CON1bits_t __at (0xFD2) CM1CON1bits;
2945
2946 extern __sfr __at (0xFD3) OSCCON;
2947 typedef union {
2948         struct {
2949                 unsigned SCS0           : 1;
2950                 unsigned SCS1           : 1;
2951                 unsigned IOFS           : 1;
2952                 unsigned OSTS           : 1;
2953                 unsigned IRCF0          : 1;
2954                 unsigned IRCF1          : 1;
2955                 unsigned IRCF2          : 1;
2956                 unsigned IDLEN          : 1;
2957         };
2958         struct {
2959                 unsigned                : 1;
2960                 unsigned                : 1;
2961                 unsigned FLTS           : 1;
2962                 unsigned                : 1;
2963                 unsigned                : 1;
2964                 unsigned                : 1;
2965                 unsigned                : 1;
2966                 unsigned                : 1;
2967         };
2968 } __OSCCONbits_t;
2969 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
2970
2971 extern __sfr __at (0xFD3) REFOCON;
2972 typedef union {
2973         struct {
2974                 unsigned RODIV0         : 1;
2975                 unsigned RODIV1         : 1;
2976                 unsigned RODIV2         : 1;
2977                 unsigned RODIV3         : 1;
2978                 unsigned ROSEL          : 1;
2979                 unsigned ROSSLP         : 1;
2980                 unsigned                : 1;
2981                 unsigned ROON           : 1;
2982         };
2983 } __REFOCONbits_t;
2984 extern volatile __REFOCONbits_t __at (0xFD3) REFOCONbits;
2985
2986 extern __sfr __at (0xFD5) T0CON;
2987 typedef union {
2988         struct {
2989                 unsigned T0PS0          : 1;
2990                 unsigned T0PS1          : 1;
2991                 unsigned T0PS2          : 1;
2992                 unsigned PSA            : 1;
2993                 unsigned T0SE           : 1;
2994                 unsigned T0CS           : 1;
2995                 unsigned T08BIT         : 1;
2996                 unsigned TMR0ON         : 1;
2997         };
2998         struct {
2999                 unsigned                : 1;
3000                 unsigned                : 1;
3001                 unsigned                : 1;
3002                 unsigned T0PS3          : 1;
3003                 unsigned                : 1;
3004                 unsigned                : 1;
3005                 unsigned                : 1;
3006                 unsigned                : 1;
3007         };
3008 } __T0CONbits_t;
3009 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
3010
3011 extern __sfr __at (0xFD6) TMR0L;
3012
3013 extern __sfr __at (0xFD7) TMR0H;
3014
3015 extern __sfr __at (0xFD8) STATUS;
3016 typedef union {
3017         struct {
3018                 unsigned C              : 1;
3019                 unsigned DC             : 1;
3020                 unsigned Z              : 1;
3021                 unsigned OV             : 1;
3022                 unsigned N              : 1;
3023                 unsigned                : 1;
3024                 unsigned                : 1;
3025                 unsigned                : 1;
3026         };
3027 } __STATUSbits_t;
3028 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
3029
3030 extern __sfr __at (0xFD9) FSR2L;
3031
3032 extern __sfr __at (0xFDA) FSR2H;
3033
3034 extern __sfr __at (0xFDB) PLUSW2;
3035
3036 extern __sfr __at (0xFDC) PREINC2;
3037
3038 extern __sfr __at (0xFDD) POSTDEC2;
3039
3040 extern __sfr __at (0xFDE) POSTINC2;
3041
3042 extern __sfr __at (0xFDF) INDF2;
3043
3044 extern __sfr __at (0xFE0) BSR;
3045
3046 extern __sfr __at (0xFE1) FSR1L;
3047
3048 extern __sfr __at (0xFE2) FSR1H;
3049
3050 extern __sfr __at (0xFE3) PLUSW1;
3051
3052 extern __sfr __at (0xFE4) PREINC1;
3053
3054 extern __sfr __at (0xFE5) POSTDEC1;
3055
3056 extern __sfr __at (0xFE6) POSTINC1;
3057
3058 extern __sfr __at (0xFE7) INDF1;
3059
3060 extern __sfr __at (0xFE8) WREG;
3061
3062 extern __sfr __at (0xFE9) FSR0L;
3063
3064 extern __sfr __at (0xFEA) FSR0H;
3065
3066 extern __sfr __at (0xFEB) PLUSW0;
3067
3068 extern __sfr __at (0xFEC) PREINC0;
3069
3070 extern __sfr __at (0xFED) POSTDEC0;
3071
3072 extern __sfr __at (0xFEE) POSTINC0;
3073
3074 extern __sfr __at (0xFEF) INDF0;
3075
3076 extern __sfr __at (0xFF0) INTCON3;
3077 typedef union {
3078         struct {
3079                 unsigned INT1F          : 1;
3080                 unsigned INT2F          : 1;
3081                 unsigned INT3F          : 1;
3082                 unsigned INT1E          : 1;
3083                 unsigned INT2E          : 1;
3084                 unsigned INT3E          : 1;
3085                 unsigned INT1P          : 1;
3086                 unsigned INT2P          : 1;
3087         };
3088         struct {
3089                 unsigned INT1IF         : 1;
3090                 unsigned INT2IF         : 1;
3091                 unsigned INT3IF         : 1;
3092                 unsigned INT1IE         : 1;
3093                 unsigned INT2IE         : 1;
3094                 unsigned INT3IE         : 1;
3095                 unsigned INT1IP         : 1;
3096                 unsigned INT2IP         : 1;
3097         };
3098 } __INTCON3bits_t;
3099 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
3100
3101 extern __sfr __at (0xFF1) INTCON2;
3102 typedef union {
3103         struct {
3104                 unsigned RBIP           : 1;
3105                 unsigned INT3P          : 1;
3106                 unsigned T0IP           : 1;
3107                 unsigned INTEDG3        : 1;
3108                 unsigned INTEDG2        : 1;
3109                 unsigned INTEDG1        : 1;
3110                 unsigned INTEDG0        : 1;
3111                 unsigned NOT_RBPU       : 1;
3112         };
3113         struct {
3114                 unsigned                : 1;
3115                 unsigned INT3IP         : 1;
3116                 unsigned TMR0IP         : 1;
3117                 unsigned                : 1;
3118                 unsigned                : 1;
3119                 unsigned                : 1;
3120                 unsigned                : 1;
3121                 unsigned RBPU           : 1;
3122         };
3123 } __INTCON2bits_t;
3124 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
3125
3126 extern __sfr __at (0xFF2) INTCON;
3127 typedef union {
3128         struct {
3129                 unsigned RBIF           : 1;
3130                 unsigned INT0F          : 1;
3131                 unsigned T0IF           : 1;
3132                 unsigned RBIE           : 1;
3133                 unsigned INT0E          : 1;
3134                 unsigned T0IE           : 1;
3135                 unsigned PEIE           : 1;
3136                 unsigned GIE            : 1;
3137         };
3138         struct {
3139                 unsigned                : 1;
3140                 unsigned INT0IF         : 1;
3141                 unsigned TMR0IF         : 1;
3142                 unsigned                : 1;
3143                 unsigned INT0IE         : 1;
3144                 unsigned TMR0IE         : 1;
3145                 unsigned GIEL           : 1;
3146                 unsigned GIEH           : 1;
3147         };
3148 } __INTCONbits_t;
3149 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
3150
3151 extern __sfr __at (0xFF3) PROD;
3152
3153 extern __sfr __at (0xFF3) PRODL;
3154
3155 extern __sfr __at (0xFF4) PRODH;
3156
3157 extern __sfr __at (0xFF5) TABLAT;
3158
3159 extern __sfr __at (0xFF6) TBLPTR;
3160
3161 extern __sfr __at (0xFF6) TBLPTRL;
3162
3163 extern __sfr __at (0xFF7) TBLPTRH;
3164
3165 extern __sfr __at (0xFF8) TBLPTRU;
3166
3167 extern __sfr __at (0xFF9) PC;
3168
3169 extern __sfr __at (0xFF9) PCL;
3170
3171 extern __sfr __at (0xFFA) PCLATH;
3172
3173 extern __sfr __at (0xFFB) PCLATU;
3174
3175 extern __sfr __at (0xFFC) STKPTR;
3176 typedef union {
3177         struct {
3178                 unsigned STKPTR0        : 1;
3179                 unsigned STKPTR1        : 1;
3180                 unsigned STKPTR2        : 1;
3181                 unsigned STKPTR3        : 1;
3182                 unsigned STKPTR4        : 1;
3183                 unsigned                : 1;
3184                 unsigned STKUNF         : 1;
3185                 unsigned STKOVF         : 1;
3186         };
3187         struct {
3188                 unsigned SP0            : 1;
3189                 unsigned SP1            : 1;
3190                 unsigned SP2            : 1;
3191                 unsigned SP3            : 1;
3192                 unsigned SP4            : 1;
3193                 unsigned                : 1;
3194                 unsigned                : 1;
3195                 unsigned STKFUL         : 1;
3196         };
3197 } __STKPTRbits_t;
3198 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
3199
3200 extern __sfr __at (0xFFD) TOS;
3201
3202 extern __sfr __at (0xFFD) TOSL;
3203
3204 extern __sfr __at (0xFFE) TOSH;
3205
3206 extern __sfr __at (0xFFF) TOSU;
3207
3208
3209 #endif
3210