* device/include/pic16/pic18f[24][3456]k20.h,
[fw/sdcc] / device / include / pic16 / pic18f87j50.h
1 /*
2  * pic18f87j50.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 __PIC18F87J50_H__
12 #define __PIC18F87J50_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 PMD5_PORTA     : 1;
987                 unsigned C2INA          : 1;
988                 unsigned CLKO           : 1;
989                 unsigned                : 1;
990         };
991         struct {
992                 unsigned                : 1;
993                 unsigned                : 1;
994                 unsigned                : 1;
995                 unsigned                : 1;
996                 unsigned                : 1;
997                 unsigned PMD4_PORTA     : 1;
998                 unsigned                : 1;
999                 unsigned                : 1;
1000         };
1001 } __PORTAbits_t;
1002 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
1003
1004 extern __sfr __at (0xF81) PORTB;
1005 typedef union {
1006         struct {
1007                 unsigned RB0            : 1;
1008                 unsigned RB1            : 1;
1009                 unsigned RB2            : 1;
1010                 unsigned RB3            : 1;
1011                 unsigned RB4            : 1;
1012                 unsigned RB5            : 1;
1013                 unsigned RB6            : 1;
1014                 unsigned RB7            : 1;
1015         };
1016         struct {
1017                 unsigned INT0           : 1;
1018                 unsigned INT1           : 1;
1019                 unsigned INT2           : 1;
1020                 unsigned INT3           : 1;
1021                 unsigned KBI0           : 1;
1022                 unsigned KBI1           : 1;
1023                 unsigned KBI2           : 1;
1024                 unsigned KBI3           : 1;
1025         };
1026         struct {
1027                 unsigned FLT0           : 1;
1028                 unsigned PMA4           : 1;
1029                 unsigned PMA3           : 1;
1030                 unsigned PMA2           : 1;
1031                 unsigned PMA1           : 1;
1032                 unsigned PMA0           : 1;
1033                 unsigned PGC            : 1;
1034                 unsigned PGD            : 1;
1035         };
1036         struct {
1037                 unsigned                : 1;
1038                 unsigned                : 1;
1039                 unsigned                : 1;
1040                 unsigned CCP2_PORTB     : 1;
1041                 unsigned                : 1;
1042                 unsigned                : 1;
1043                 unsigned                : 1;
1044                 unsigned                : 1;
1045         };
1046 } __PORTBbits_t;
1047 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
1048
1049 extern __sfr __at (0xF82) PORTC;
1050 typedef union {
1051         struct {
1052                 unsigned RC0            : 1;
1053                 unsigned RC1            : 1;
1054                 unsigned RC2            : 1;
1055                 unsigned RC3            : 1;
1056                 unsigned RC4            : 1;
1057                 unsigned RC5            : 1;
1058                 unsigned RC6            : 1;
1059                 unsigned RC7            : 1;
1060         };
1061         struct {
1062                 unsigned T1OSO          : 1;
1063                 unsigned T1OSI          : 1;
1064                 unsigned CCP1           : 1;
1065                 unsigned SCK            : 1;
1066                 unsigned SDI            : 1;
1067                 unsigned SDO            : 1;
1068                 unsigned TX             : 1;
1069                 unsigned RX             : 1;
1070         };
1071         struct {
1072                 unsigned T13CKI         : 1;
1073                 unsigned CCP2_PORTC     : 1;
1074                 unsigned                : 1;
1075                 unsigned SCL            : 1;
1076                 unsigned SDA            : 1;
1077                 unsigned C2OUT          : 1;
1078                 unsigned CK             : 1;
1079                 unsigned DT             : 1;
1080         };
1081 } __PORTCbits_t;
1082 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
1083
1084 extern __sfr __at (0xF83) PORTD;
1085 typedef union {
1086         struct {
1087                 unsigned RD0            : 1;
1088                 unsigned RD1            : 1;
1089                 unsigned RD2            : 1;
1090                 unsigned RD3            : 1;
1091                 unsigned RD4            : 1;
1092                 unsigned RD5            : 1;
1093                 unsigned RD6            : 1;
1094                 unsigned RD7            : 1;
1095         };
1096         struct {
1097                 unsigned PMD0_PORTD     : 1;
1098                 unsigned PMD1_PORTD     : 1;
1099                 unsigned PMD2_PORTD     : 1;
1100                 unsigned PMD3_PORTD     : 1;
1101                 unsigned PMD4_PORTD     : 1;
1102                 unsigned PMD5_PORTD     : 1;
1103                 unsigned PMD6_PORTD     : 1;
1104                 unsigned PMD7_PORTD     : 1;
1105         };
1106         struct {
1107                 unsigned AD0            : 1;
1108                 unsigned AD1            : 1;
1109                 unsigned AD2            : 1;
1110                 unsigned AD3            : 1;
1111                 unsigned AD4            : 1;
1112                 unsigned AD5            : 1;
1113                 unsigned AD6            : 1;
1114                 unsigned AD7            : 1;
1115         };
1116         struct {
1117                 unsigned                : 1;
1118                 unsigned                : 1;
1119                 unsigned                : 1;
1120                 unsigned                : 1;
1121                 unsigned SDO2           : 1;
1122                 unsigned SDA2           : 1;
1123                 unsigned SCL2           : 1;
1124                 unsigned SS2            : 1;
1125         };
1126         struct {
1127                 unsigned                : 1;
1128                 unsigned                : 1;
1129                 unsigned                : 1;
1130                 unsigned                : 1;
1131                 unsigned                : 1;
1132                 unsigned SDI2           : 1;
1133                 unsigned SCK2           : 1;
1134                 unsigned                : 1;
1135         };
1136 } __PORTDbits_t;
1137 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
1138
1139 extern __sfr __at (0xF84) PORTE;
1140 typedef union {
1141         struct {
1142                 unsigned RE0            : 1;
1143                 unsigned RE1            : 1;
1144                 unsigned RE2            : 1;
1145                 unsigned RE3            : 1;
1146                 unsigned RE4            : 1;
1147                 unsigned RE5            : 1;
1148                 unsigned RE6            : 1;
1149                 unsigned RE7            : 1;
1150         };
1151         struct {
1152                 unsigned AD8            : 1;
1153                 unsigned AD9            : 1;
1154                 unsigned AD10           : 1;
1155                 unsigned AD11           : 1;
1156                 unsigned AD12           : 1;
1157                 unsigned AD13           : 1;
1158                 unsigned AD14           : 1;
1159                 unsigned AD15           : 1;
1160         };
1161         struct {
1162                 unsigned PMRD_PORTE     : 1;
1163                 unsigned PMWR_PORTE     : 1;
1164                 unsigned PMBE_PORTE     : 1;
1165                 unsigned PMA13          : 1;
1166                 unsigned PMA12          : 1;
1167                 unsigned PMA11          : 1;
1168                 unsigned PMA10          : 1;
1169                 unsigned PMA9           : 1;
1170         };
1171         struct {
1172                 unsigned                : 1;
1173                 unsigned                : 1;
1174                 unsigned                : 1;
1175                 unsigned REFO           : 1;
1176                 unsigned                : 1;
1177                 unsigned                : 1;
1178                 unsigned                : 1;
1179                 unsigned CCP2_PORTE     : 1;
1180         };
1181 } __PORTEbits_t;
1182 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
1183
1184 extern __sfr __at (0xF85) PORTF;
1185 typedef union {
1186         struct {
1187                 unsigned                : 1;
1188                 unsigned                : 1;
1189                 unsigned RF2            : 1;
1190                 unsigned RF3            : 1;
1191                 unsigned RF4            : 1;
1192                 unsigned RF5            : 1;
1193                 unsigned RF6            : 1;
1194                 unsigned RF7            : 1;
1195         };
1196         struct {
1197                 unsigned                : 1;
1198                 unsigned                : 1;
1199                 unsigned AN7            : 1;
1200                 unsigned                : 1;
1201                 unsigned                : 1;
1202                 unsigned AN10           : 1;
1203                 unsigned AN11           : 1;
1204                 unsigned SS             : 1;
1205         };
1206         struct {
1207                 unsigned                : 1;
1208                 unsigned                : 1;
1209                 unsigned C2INB          : 1;
1210                 unsigned                : 1;
1211                 unsigned                : 1;
1212                 unsigned CVREF          : 1;
1213                 unsigned C1INA          : 1;
1214                 unsigned C1OUT          : 1;
1215         };
1216         struct {
1217                 unsigned                : 1;
1218                 unsigned                : 1;
1219                 unsigned PMA5           : 1;
1220                 unsigned                : 1;
1221                 unsigned                : 1;
1222                 unsigned C1INB          : 1;
1223                 unsigned PMD1_PORTF     : 1;
1224                 unsigned PMD0_PORTF     : 1;
1225         };
1226         struct {
1227                 unsigned                : 1;
1228                 unsigned                : 1;
1229                 unsigned                : 1;
1230                 unsigned                : 1;
1231                 unsigned                : 1;
1232                 unsigned PMD2_PORTF     : 1;
1233                 unsigned                : 1;
1234                 unsigned                : 1;
1235         };
1236 } __PORTFbits_t;
1237 extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
1238
1239 extern __sfr __at (0xF86) PORTG;
1240 typedef union {
1241         struct {
1242                 unsigned RG0            : 1;
1243                 unsigned RG1            : 1;
1244                 unsigned RG2            : 1;
1245                 unsigned RG3            : 1;
1246                 unsigned RG4            : 1;
1247                 unsigned RJPU           : 1;
1248                 unsigned REPU           : 1;
1249                 unsigned RDPU           : 1;
1250         };
1251         struct {
1252                 unsigned CCP3           : 1;
1253                 unsigned TX2            : 1;
1254                 unsigned RX2            : 1;
1255                 unsigned CCP4           : 1;
1256                 unsigned CCP5           : 1;
1257                 unsigned                : 1;
1258                 unsigned                : 1;
1259                 unsigned                : 1;
1260         };
1261         struct {
1262                 unsigned PMA8           : 1;
1263                 unsigned CK2            : 1;
1264                 unsigned DT2            : 1;
1265                 unsigned PMCS1          : 1;
1266                 unsigned PMCS2          : 1;
1267                 unsigned                : 1;
1268                 unsigned                : 1;
1269                 unsigned                : 1;
1270         };
1271         struct {
1272                 unsigned                : 1;
1273                 unsigned PMA7           : 1;
1274                 unsigned PMA6           : 1;
1275                 unsigned                : 1;
1276                 unsigned                : 1;
1277                 unsigned                : 1;
1278                 unsigned                : 1;
1279                 unsigned                : 1;
1280         };
1281 } __PORTGbits_t;
1282 extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
1283
1284 extern __sfr __at (0xF87) PORTH;
1285 typedef union {
1286         struct {
1287                 unsigned RH0            : 1;
1288                 unsigned RH1            : 1;
1289                 unsigned RH2            : 1;
1290                 unsigned RH3            : 1;
1291                 unsigned RH4            : 1;
1292                 unsigned RH5            : 1;
1293                 unsigned RH6            : 1;
1294                 unsigned RH7            : 1;
1295         };
1296         struct {
1297                 unsigned A16            : 1;
1298                 unsigned A17            : 1;
1299                 unsigned A18            : 1;
1300                 unsigned A19            : 1;
1301                 unsigned AN12           : 1;
1302                 unsigned AN13           : 1;
1303                 unsigned AN14           : 1;
1304                 unsigned AN15           : 1;
1305         };
1306         struct {
1307                 unsigned                : 1;
1308                 unsigned                : 1;
1309                 unsigned PMD7_PORTH     : 1;
1310                 unsigned PMD6_PORTH     : 1;
1311                 unsigned PMD3_PORTH     : 1;
1312                 unsigned PMBE_PORTH     : 1;
1313                 unsigned PMRD_PORTH     : 1;
1314                 unsigned PMWR_PORTH     : 1;
1315         };
1316         struct {
1317                 unsigned                : 1;
1318                 unsigned                : 1;
1319                 unsigned                : 1;
1320                 unsigned                : 1;
1321                 unsigned C2INC          : 1;
1322                 unsigned C2IND          : 1;
1323                 unsigned C1INC          : 1;
1324                 unsigned P1B            : 1;
1325         };
1326 } __PORTHbits_t;
1327 extern volatile __PORTHbits_t __at (0xF87) PORTHbits;
1328
1329 extern __sfr __at (0xF88) PORTJ;
1330 typedef union {
1331         struct {
1332                 unsigned RJ0            : 1;
1333                 unsigned RJ1            : 1;
1334                 unsigned RJ2            : 1;
1335                 unsigned RJ3            : 1;
1336                 unsigned RJ4            : 1;
1337                 unsigned RJ5            : 1;
1338                 unsigned RJ6            : 1;
1339                 unsigned RJ7            : 1;
1340         };
1341         struct {
1342                 unsigned ALE            : 1;
1343                 unsigned OE             : 1;
1344                 unsigned WRL            : 1;
1345                 unsigned WRH            : 1;
1346                 unsigned BA0            : 1;
1347                 unsigned CE             : 1;
1348                 unsigned LB             : 1;
1349                 unsigned UB             : 1;
1350         };
1351 } __PORTJbits_t;
1352 extern volatile __PORTJbits_t __at (0xF88) PORTJbits;
1353
1354 extern __sfr __at (0xF89) LATA;
1355 typedef union {
1356         struct {
1357                 unsigned LATA0          : 1;
1358                 unsigned LATA1          : 1;
1359                 unsigned LATA2          : 1;
1360                 unsigned LATA3          : 1;
1361                 unsigned LATA4          : 1;
1362                 unsigned LATA5          : 1;
1363                 unsigned                : 1;
1364                 unsigned                : 1;
1365         };
1366 } __LATAbits_t;
1367 extern volatile __LATAbits_t __at (0xF89) LATAbits;
1368
1369 extern __sfr __at (0xF8A) LATB;
1370 typedef union {
1371         struct {
1372                 unsigned LATB0          : 1;
1373                 unsigned LATB1          : 1;
1374                 unsigned LATB2          : 1;
1375                 unsigned LATB3          : 1;
1376                 unsigned LATB4          : 1;
1377                 unsigned LATB5          : 1;
1378                 unsigned LATB6          : 1;
1379                 unsigned LATB7          : 1;
1380         };
1381 } __LATBbits_t;
1382 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
1383
1384 extern __sfr __at (0xF8B) LATC;
1385 typedef union {
1386         struct {
1387                 unsigned LATC0          : 1;
1388                 unsigned LATC1          : 1;
1389                 unsigned LATC2          : 1;
1390                 unsigned LATC3          : 1;
1391                 unsigned LATC4          : 1;
1392                 unsigned LATC5          : 1;
1393                 unsigned LATC6          : 1;
1394                 unsigned LATC7          : 1;
1395         };
1396 } __LATCbits_t;
1397 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
1398
1399 extern __sfr __at (0xF8C) LATD;
1400 typedef union {
1401         struct {
1402                 unsigned LATD0          : 1;
1403                 unsigned LATD1          : 1;
1404                 unsigned LATD2          : 1;
1405                 unsigned LATD3          : 1;
1406                 unsigned LATD4          : 1;
1407                 unsigned LATD5          : 1;
1408                 unsigned LATD6          : 1;
1409                 unsigned LATD7          : 1;
1410         };
1411 } __LATDbits_t;
1412 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
1413
1414 extern __sfr __at (0xF8D) LATE;
1415 typedef union {
1416         struct {
1417                 unsigned LATE0          : 1;
1418                 unsigned LATE1          : 1;
1419                 unsigned LATE2          : 1;
1420                 unsigned LATE3          : 1;
1421                 unsigned LATE4          : 1;
1422                 unsigned LATE5          : 1;
1423                 unsigned LATE6          : 1;
1424                 unsigned LATE7          : 1;
1425         };
1426 } __LATEbits_t;
1427 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
1428
1429 extern __sfr __at (0xF8E) LATF;
1430 typedef union {
1431         struct {
1432                 unsigned                : 1;
1433                 unsigned                : 1;
1434                 unsigned LATF2          : 1;
1435                 unsigned LATF3          : 1;
1436                 unsigned LATF4          : 1;
1437                 unsigned LATF5          : 1;
1438                 unsigned LATF6          : 1;
1439                 unsigned LATF7          : 1;
1440         };
1441 } __LATFbits_t;
1442 extern volatile __LATFbits_t __at (0xF8E) LATFbits;
1443
1444 extern __sfr __at (0xF8F) LATG;
1445 typedef union {
1446         struct {
1447                 unsigned LATG0          : 1;
1448                 unsigned LATG1          : 1;
1449                 unsigned LATG2          : 1;
1450                 unsigned LATG3          : 1;
1451                 unsigned LATG4          : 1;
1452                 unsigned                : 1;
1453                 unsigned                : 1;
1454                 unsigned                : 1;
1455         };
1456 } __LATGbits_t;
1457 extern volatile __LATGbits_t __at (0xF8F) LATGbits;
1458
1459 extern __sfr __at (0xF90) LATH;
1460 typedef union {
1461         struct {
1462                 unsigned LATH0          : 1;
1463                 unsigned LATH1          : 1;
1464                 unsigned LATH2          : 1;
1465                 unsigned LATH3          : 1;
1466                 unsigned LATH4          : 1;
1467                 unsigned LATH5          : 1;
1468                 unsigned LATH6          : 1;
1469                 unsigned LATH7          : 1;
1470         };
1471 } __LATHbits_t;
1472 extern volatile __LATHbits_t __at (0xF90) LATHbits;
1473
1474 extern __sfr __at (0xF91) LATJ;
1475 typedef union {
1476         struct {
1477                 unsigned LATJ0          : 1;
1478                 unsigned LATJ1          : 1;
1479                 unsigned LATJ2          : 1;
1480                 unsigned LATJ3          : 1;
1481                 unsigned LATJ4          : 1;
1482                 unsigned LATJ5          : 1;
1483                 unsigned LATJ6          : 1;
1484                 unsigned LATJ7          : 1;
1485         };
1486 } __LATJbits_t;
1487 extern volatile __LATJbits_t __at (0xF91) LATJbits;
1488
1489 extern __sfr __at (0xF92) DDRA;
1490 typedef union {
1491         struct {
1492                 unsigned RA0            : 1;
1493                 unsigned RA1            : 1;
1494                 unsigned RA2            : 1;
1495                 unsigned RA3            : 1;
1496                 unsigned RA4            : 1;
1497                 unsigned RA5            : 1;
1498                 unsigned                : 1;
1499                 unsigned                : 1;
1500         };
1501 } __DDRAbits_t;
1502 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
1503
1504 extern __sfr __at (0xF92) TRISA;
1505 typedef union {
1506         struct {
1507                 unsigned TRISA0         : 1;
1508                 unsigned TRISA1         : 1;
1509                 unsigned TRISA2         : 1;
1510                 unsigned TRISA3         : 1;
1511                 unsigned TRISA4         : 1;
1512                 unsigned TRISA5         : 1;
1513                 unsigned                : 1;
1514                 unsigned                : 1;
1515         };
1516 } __TRISAbits_t;
1517 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
1518
1519 extern __sfr __at (0xF93) DDRB;
1520 typedef union {
1521         struct {
1522                 unsigned RB0            : 1;
1523                 unsigned RB1            : 1;
1524                 unsigned RB2            : 1;
1525                 unsigned RB3            : 1;
1526                 unsigned RB4            : 1;
1527                 unsigned RB5            : 1;
1528                 unsigned RB6            : 1;
1529                 unsigned RB7            : 1;
1530         };
1531 } __DDRBbits_t;
1532 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
1533
1534 extern __sfr __at (0xF93) TRISB;
1535 typedef union {
1536         struct {
1537                 unsigned TRISB0         : 1;
1538                 unsigned TRISB1         : 1;
1539                 unsigned TRISB2         : 1;
1540                 unsigned TRISB3         : 1;
1541                 unsigned TRISB4         : 1;
1542                 unsigned TRISB5         : 1;
1543                 unsigned TRISB6         : 1;
1544                 unsigned TRISB7         : 1;
1545         };
1546 } __TRISBbits_t;
1547 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
1548
1549 extern __sfr __at (0xF94) DDRC;
1550 typedef union {
1551         struct {
1552                 unsigned RC0            : 1;
1553                 unsigned RC1            : 1;
1554                 unsigned RC2            : 1;
1555                 unsigned RC3            : 1;
1556                 unsigned RC4            : 1;
1557                 unsigned RC5            : 1;
1558                 unsigned RC6            : 1;
1559                 unsigned RC7            : 1;
1560         };
1561 } __DDRCbits_t;
1562 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
1563
1564 extern __sfr __at (0xF94) TRISC;
1565 typedef union {
1566         struct {
1567                 unsigned TRISC0         : 1;
1568                 unsigned TRISC1         : 1;
1569                 unsigned TRISC2         : 1;
1570                 unsigned TRISC3         : 1;
1571                 unsigned TRISC4         : 1;
1572                 unsigned TRISC5         : 1;
1573                 unsigned TRISC6         : 1;
1574                 unsigned TRISC7         : 1;
1575         };
1576 } __TRISCbits_t;
1577 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
1578
1579 extern __sfr __at (0xF95) DDRD;
1580 typedef union {
1581         struct {
1582                 unsigned RD0            : 1;
1583                 unsigned RD1            : 1;
1584                 unsigned RD2            : 1;
1585                 unsigned RD3            : 1;
1586                 unsigned RD4            : 1;
1587                 unsigned RD5            : 1;
1588                 unsigned RD6            : 1;
1589                 unsigned RD7            : 1;
1590         };
1591 } __DDRDbits_t;
1592 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
1593
1594 extern __sfr __at (0xF95) TRISD;
1595 typedef union {
1596         struct {
1597                 unsigned TRISD0         : 1;
1598                 unsigned TRISD1         : 1;
1599                 unsigned TRISD2         : 1;
1600                 unsigned TRISD3         : 1;
1601                 unsigned TRISD4         : 1;
1602                 unsigned TRISD5         : 1;
1603                 unsigned TRISD6         : 1;
1604                 unsigned TRISD7         : 1;
1605         };
1606 } __TRISDbits_t;
1607 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
1608
1609 extern __sfr __at (0xF96) DDRE;
1610 typedef union {
1611         struct {
1612                 unsigned RE0            : 1;
1613                 unsigned RE1            : 1;
1614                 unsigned RE2            : 1;
1615                 unsigned RE3            : 1;
1616                 unsigned RE4            : 1;
1617                 unsigned RE5            : 1;
1618                 unsigned RE6            : 1;
1619                 unsigned RE7            : 1;
1620         };
1621 } __DDREbits_t;
1622 extern volatile __DDREbits_t __at (0xF96) DDREbits;
1623
1624 extern __sfr __at (0xF96) TRISE;
1625 typedef union {
1626         struct {
1627                 unsigned TRISE0         : 1;
1628                 unsigned TRISE1         : 1;
1629                 unsigned TRISE2         : 1;
1630                 unsigned TRISE3         : 1;
1631                 unsigned TRISE4         : 1;
1632                 unsigned TRISE5         : 1;
1633                 unsigned TRISE6         : 1;
1634                 unsigned TRISE7         : 1;
1635         };
1636 } __TRISEbits_t;
1637 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
1638
1639 extern __sfr __at (0xF97) DDRF;
1640 typedef union {
1641         struct {
1642                 unsigned                : 1;
1643                 unsigned RF1            : 1;
1644                 unsigned RF2            : 1;
1645                 unsigned RF3            : 1;
1646                 unsigned RF4            : 1;
1647                 unsigned RF5            : 1;
1648                 unsigned RF6            : 1;
1649                 unsigned RF7            : 1;
1650         };
1651 } __DDRFbits_t;
1652 extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
1653
1654 extern __sfr __at (0xF97) TRISF;
1655 typedef union {
1656         struct {
1657                 unsigned                : 1;
1658                 unsigned                : 1;
1659                 unsigned TRISF2         : 1;
1660                 unsigned TRISF3         : 1;
1661                 unsigned TRISF4         : 1;
1662                 unsigned TRISF5         : 1;
1663                 unsigned TRISF6         : 1;
1664                 unsigned TRISF7         : 1;
1665         };
1666 } __TRISFbits_t;
1667 extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
1668
1669 extern __sfr __at (0xF98) DDRG;
1670 typedef union {
1671         struct {
1672                 unsigned RG0            : 1;
1673                 unsigned RG1            : 1;
1674                 unsigned RG2            : 1;
1675                 unsigned RG3            : 1;
1676                 unsigned RG4            : 1;
1677                 unsigned                : 1;
1678                 unsigned                : 1;
1679                 unsigned                : 1;
1680         };
1681 } __DDRGbits_t;
1682 extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
1683
1684 extern __sfr __at (0xF98) TRISG;
1685 typedef union {
1686         struct {
1687                 unsigned TRISG0         : 1;
1688                 unsigned TRISG1         : 1;
1689                 unsigned TRISG2         : 1;
1690                 unsigned TRISG3         : 1;
1691                 unsigned TRISG4         : 1;
1692                 unsigned                : 1;
1693                 unsigned                : 1;
1694                 unsigned                : 1;
1695         };
1696 } __TRISGbits_t;
1697 extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
1698
1699 extern __sfr __at (0xF99) DDRH;
1700 typedef union {
1701         struct {
1702                 unsigned RH0            : 1;
1703                 unsigned RH1            : 1;
1704                 unsigned RH2            : 1;
1705                 unsigned RH3            : 1;
1706                 unsigned RH4            : 1;
1707                 unsigned RH5            : 1;
1708                 unsigned RH6            : 1;
1709                 unsigned RH7            : 1;
1710         };
1711 } __DDRHbits_t;
1712 extern volatile __DDRHbits_t __at (0xF99) DDRHbits;
1713
1714 extern __sfr __at (0xF99) TRISH;
1715 typedef union {
1716         struct {
1717                 unsigned TRISH0         : 1;
1718                 unsigned TRISH1         : 1;
1719                 unsigned TRISH2         : 1;
1720                 unsigned TRISH3         : 1;
1721                 unsigned TRISH4         : 1;
1722                 unsigned TRISH5         : 1;
1723                 unsigned TRISH6         : 1;
1724                 unsigned TRISH7         : 1;
1725         };
1726 } __TRISHbits_t;
1727 extern volatile __TRISHbits_t __at (0xF99) TRISHbits;
1728
1729 extern __sfr __at (0xF9A) DDRJ;
1730 typedef union {
1731         struct {
1732                 unsigned RJ0            : 1;
1733                 unsigned RJ1            : 1;
1734                 unsigned RJ2            : 1;
1735                 unsigned RJ3            : 1;
1736                 unsigned RJ4            : 1;
1737                 unsigned RJ5            : 1;
1738                 unsigned RJ6            : 1;
1739                 unsigned RJ7            : 1;
1740         };
1741 } __DDRJbits_t;
1742 extern volatile __DDRJbits_t __at (0xF9A) DDRJbits;
1743
1744 extern __sfr __at (0xF9A) TRISJ;
1745 typedef union {
1746         struct {
1747                 unsigned TRISJ0         : 1;
1748                 unsigned TRISJ1         : 1;
1749                 unsigned TRISJ2         : 1;
1750                 unsigned TRISJ3         : 1;
1751                 unsigned TRISJ4         : 1;
1752                 unsigned TRISJ5         : 1;
1753                 unsigned TRISJ6         : 1;
1754                 unsigned TRISJ7         : 1;
1755         };
1756 } __TRISJbits_t;
1757 extern volatile __TRISJbits_t __at (0xF9A) TRISJbits;
1758
1759 extern __sfr __at (0xF9B) OSCTUNE;
1760 typedef union {
1761         struct {
1762                 unsigned TUN0           : 1;
1763                 unsigned TUN1           : 1;
1764                 unsigned TUN2           : 1;
1765                 unsigned TUN3           : 1;
1766                 unsigned TUN4           : 1;
1767                 unsigned TUN5           : 1;
1768                 unsigned PLLEN          : 1;
1769                 unsigned INTSRC         : 1;
1770         };
1771 } __OSCTUNEbits_t;
1772 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
1773
1774 extern __sfr __at (0xF9C) RCSTA2;
1775 typedef union {
1776         struct {
1777                 unsigned RCD8           : 1;
1778                 unsigned OERR           : 1;
1779                 unsigned FERR           : 1;
1780                 unsigned ADDEN          : 1;
1781                 unsigned CREN           : 1;
1782                 unsigned SREN           : 1;
1783                 unsigned RC9            : 1;
1784                 unsigned SPEN           : 1;
1785         };
1786         struct {
1787                 unsigned RX9D           : 1;
1788                 unsigned                : 1;
1789                 unsigned                : 1;
1790                 unsigned                : 1;
1791                 unsigned                : 1;
1792                 unsigned                : 1;
1793                 unsigned NOT_RC8        : 1;
1794                 unsigned                : 1;
1795         };
1796         struct {
1797                 unsigned                : 1;
1798                 unsigned                : 1;
1799                 unsigned                : 1;
1800                 unsigned                : 1;
1801                 unsigned                : 1;
1802                 unsigned                : 1;
1803                 unsigned RC8_9          : 1;
1804                 unsigned                : 1;
1805         };
1806         struct {
1807                 unsigned                : 1;
1808                 unsigned                : 1;
1809                 unsigned                : 1;
1810                 unsigned                : 1;
1811                 unsigned                : 1;
1812                 unsigned                : 1;
1813                 unsigned RX9            : 1;
1814                 unsigned                : 1;
1815         };
1816 } __RCSTA2bits_t;
1817 extern volatile __RCSTA2bits_t __at (0xF9C) RCSTA2bits;
1818
1819 extern __sfr __at (0xF9D) PIE1;
1820 typedef union {
1821         struct {
1822                 unsigned TMR1IE         : 1;
1823                 unsigned TMR2IE         : 1;
1824                 unsigned CCP1IE         : 1;
1825                 unsigned SSPIE          : 1;
1826                 unsigned TXIE           : 1;
1827                 unsigned RCIE           : 1;
1828                 unsigned ADIE           : 1;
1829                 unsigned PMPIE          : 1;
1830         };
1831         struct {
1832                 unsigned                : 1;
1833                 unsigned                : 1;
1834                 unsigned                : 1;
1835                 unsigned SSP1IE         : 1;
1836                 unsigned TX1IE          : 1;
1837                 unsigned RC1IE          : 1;
1838                 unsigned                : 1;
1839                 unsigned                : 1;
1840         };
1841 } __PIE1bits_t;
1842 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
1843
1844 extern __sfr __at (0xF9E) PIR1;
1845 typedef union {
1846         struct {
1847                 unsigned TMR1IF         : 1;
1848                 unsigned TMR2IF         : 1;
1849                 unsigned CCP1IF         : 1;
1850                 unsigned SSPIF          : 1;
1851                 unsigned TXIF           : 1;
1852                 unsigned RCIF           : 1;
1853                 unsigned ADIF           : 1;
1854                 unsigned PMPIF          : 1;
1855         };
1856         struct {
1857                 unsigned                : 1;
1858                 unsigned                : 1;
1859                 unsigned                : 1;
1860                 unsigned SSP1IF         : 1;
1861                 unsigned TX1IF          : 1;
1862                 unsigned RC1IF          : 1;
1863                 unsigned                : 1;
1864                 unsigned                : 1;
1865         };
1866 } __PIR1bits_t;
1867 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
1868
1869 extern __sfr __at (0xF9F) IPR1;
1870 typedef union {
1871         struct {
1872                 unsigned TMR1IP         : 1;
1873                 unsigned TMR2IP         : 1;
1874                 unsigned CCP1IP         : 1;
1875                 unsigned SSPIP          : 1;
1876                 unsigned TXIP           : 1;
1877                 unsigned RCIP           : 1;
1878                 unsigned ADIP           : 1;
1879                 unsigned PMPIP          : 1;
1880         };
1881         struct {
1882                 unsigned                : 1;
1883                 unsigned                : 1;
1884                 unsigned                : 1;
1885                 unsigned SSP1IP         : 1;
1886                 unsigned TX1IP          : 1;
1887                 unsigned RC1IP          : 1;
1888                 unsigned                : 1;
1889                 unsigned                : 1;
1890         };
1891 } __IPR1bits_t;
1892 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
1893
1894 extern __sfr __at (0xFA0) PIE2;
1895 typedef union {
1896         struct {
1897                 unsigned CCP2IE         : 1;
1898                 unsigned TMR3IE         : 1;
1899                 unsigned LVDIE          : 1;
1900                 unsigned BCLIE          : 1;
1901                 unsigned USBIE          : 1;
1902                 unsigned CM1IE          : 1;
1903                 unsigned CM2IE          : 1;
1904                 unsigned OSCFIE         : 1;
1905         };
1906         struct {
1907                 unsigned                : 1;
1908                 unsigned                : 1;
1909                 unsigned                : 1;
1910                 unsigned BCL1IE         : 1;
1911                 unsigned                : 1;
1912                 unsigned                : 1;
1913                 unsigned                : 1;
1914                 unsigned                : 1;
1915         };
1916 } __PIE2bits_t;
1917 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
1918
1919 extern __sfr __at (0xFA1) PIR2;
1920 typedef union {
1921         struct {
1922                 unsigned CCP2IF         : 1;
1923                 unsigned TMR3IF         : 1;
1924                 unsigned LVDIF          : 1;
1925                 unsigned BCLIF          : 1;
1926                 unsigned USBIF          : 1;
1927                 unsigned CM1IF          : 1;
1928                 unsigned CM2IF          : 1;
1929                 unsigned OSCFIF         : 1;
1930         };
1931         struct {
1932                 unsigned                : 1;
1933                 unsigned                : 1;
1934                 unsigned                : 1;
1935                 unsigned BCL1IF         : 1;
1936                 unsigned                : 1;
1937                 unsigned                : 1;
1938                 unsigned                : 1;
1939                 unsigned                : 1;
1940         };
1941 } __PIR2bits_t;
1942 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
1943
1944 extern __sfr __at (0xFA2) IPR2;
1945 typedef union {
1946         struct {
1947                 unsigned CCP2IP         : 1;
1948                 unsigned TMR3IP         : 1;
1949                 unsigned LVDIP          : 1;
1950                 unsigned BCLIP          : 1;
1951                 unsigned USBIP          : 1;
1952                 unsigned CM1IP          : 1;
1953                 unsigned CM2IP          : 1;
1954                 unsigned OSCFIP         : 1;
1955         };
1956         struct {
1957                 unsigned                : 1;
1958                 unsigned                : 1;
1959                 unsigned                : 1;
1960                 unsigned BCL1IP         : 1;
1961                 unsigned                : 1;
1962                 unsigned                : 1;
1963                 unsigned                : 1;
1964                 unsigned                : 1;
1965         };
1966 } __IPR2bits_t;
1967 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
1968
1969 extern __sfr __at (0xFA3) PIE3;
1970 typedef union {
1971         struct {
1972                 unsigned CCP3IE         : 1;
1973                 unsigned CCP4IE         : 1;
1974                 unsigned CCP5IE         : 1;
1975                 unsigned TMR4IE         : 1;
1976                 unsigned TX2IE          : 1;
1977                 unsigned RC2IE          : 1;
1978                 unsigned BCL2IE         : 1;
1979                 unsigned SSP2IE         : 1;
1980         };
1981 } __PIE3bits_t;
1982 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
1983
1984 extern __sfr __at (0xFA4) PIR3;
1985 typedef union {
1986         struct {
1987                 unsigned CCP3IF         : 1;
1988                 unsigned CCP4IF         : 1;
1989                 unsigned CCP5IF         : 1;
1990                 unsigned TMR4IF         : 1;
1991                 unsigned TX2IF          : 1;
1992                 unsigned RC2IF          : 1;
1993                 unsigned BCL2IF         : 1;
1994                 unsigned SSP2IF         : 1;
1995         };
1996 } __PIR3bits_t;
1997 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
1998
1999 extern __sfr __at (0xFA5) IPR3;
2000 typedef union {
2001         struct {
2002                 unsigned CCP3IP         : 1;
2003                 unsigned CCP4IP         : 1;
2004                 unsigned CCP5IP         : 1;
2005                 unsigned TMR4IP         : 1;
2006                 unsigned TX2IP          : 1;
2007                 unsigned RC2IP          : 1;
2008                 unsigned BCL2IP         : 1;
2009                 unsigned SSP2IP         : 1;
2010         };
2011 } __IPR3bits_t;
2012 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
2013
2014 extern __sfr __at (0xFA6) EECON1;
2015 typedef union {
2016         struct {
2017                 unsigned                : 1;
2018                 unsigned WR             : 1;
2019                 unsigned WREN           : 1;
2020                 unsigned WRERR          : 1;
2021                 unsigned FREE           : 1;
2022                 unsigned WPROG          : 1;
2023                 unsigned                : 1;
2024                 unsigned                : 1;
2025         };
2026 } __EECON1bits_t;
2027 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
2028
2029 extern __sfr __at (0xFA7) EECON2;
2030
2031 extern __sfr __at (0xFA8) TXSTA2;
2032 typedef union {
2033         struct {
2034                 unsigned TX9D           : 1;
2035                 unsigned TRMT           : 1;
2036                 unsigned BRGH           : 1;
2037                 unsigned SENDB          : 1;
2038                 unsigned SYNC           : 1;
2039                 unsigned TXEN           : 1;
2040                 unsigned TX9            : 1;
2041                 unsigned CSRC           : 1;
2042         };
2043         struct {
2044                 unsigned TXD8           : 1;
2045                 unsigned                : 1;
2046                 unsigned                : 1;
2047                 unsigned                : 1;
2048                 unsigned                : 1;
2049                 unsigned                : 1;
2050                 unsigned TX8_9          : 1;
2051                 unsigned                : 1;
2052         };
2053         struct {
2054                 unsigned                : 1;
2055                 unsigned                : 1;
2056                 unsigned                : 1;
2057                 unsigned                : 1;
2058                 unsigned                : 1;
2059                 unsigned                : 1;
2060                 unsigned NOT_TX8        : 1;
2061                 unsigned                : 1;
2062         };
2063 } __TXSTA2bits_t;
2064 extern volatile __TXSTA2bits_t __at (0xFA8) TXSTA2bits;
2065
2066 extern __sfr __at (0xFA9) TXREG2;
2067
2068 extern __sfr __at (0xFAA) RCREG2;
2069
2070 extern __sfr __at (0xFAB) SPBRG2;
2071
2072 extern __sfr __at (0xFAC) RCSTA;
2073 typedef union {
2074         struct {
2075                 unsigned RX9D           : 1;
2076                 unsigned OERR           : 1;
2077                 unsigned FERR           : 1;
2078                 unsigned ADDEN          : 1;
2079                 unsigned CREN           : 1;
2080                 unsigned SREN           : 1;
2081                 unsigned RX9            : 1;
2082                 unsigned SPEN           : 1;
2083         };
2084         struct {
2085                 unsigned RCD8           : 1;
2086                 unsigned                : 1;
2087                 unsigned                : 1;
2088                 unsigned                : 1;
2089                 unsigned                : 1;
2090                 unsigned                : 1;
2091                 unsigned RC9            : 1;
2092                 unsigned                : 1;
2093         };
2094         struct {
2095                 unsigned                : 1;
2096                 unsigned                : 1;
2097                 unsigned                : 1;
2098                 unsigned                : 1;
2099                 unsigned                : 1;
2100                 unsigned                : 1;
2101                 unsigned NOT_RC8        : 1;
2102                 unsigned                : 1;
2103         };
2104         struct {
2105                 unsigned                : 1;
2106                 unsigned                : 1;
2107                 unsigned                : 1;
2108                 unsigned                : 1;
2109                 unsigned                : 1;
2110                 unsigned                : 1;
2111                 unsigned RC8_9          : 1;
2112                 unsigned                : 1;
2113         };
2114 } __RCSTAbits_t;
2115 extern volatile __RCSTAbits_t __at (0xFAC) RCSTAbits;
2116
2117 extern __sfr __at (0xFAC) RCSTA1;
2118 typedef union {
2119         struct {
2120                 unsigned RX9D           : 1;
2121                 unsigned OERR           : 1;
2122                 unsigned FERR           : 1;
2123                 unsigned ADDEN          : 1;
2124                 unsigned CREN           : 1;
2125                 unsigned SREN           : 1;
2126                 unsigned RX9            : 1;
2127                 unsigned SPEN           : 1;
2128         };
2129         struct {
2130                 unsigned RCD8           : 1;
2131                 unsigned                : 1;
2132                 unsigned                : 1;
2133                 unsigned                : 1;
2134                 unsigned                : 1;
2135                 unsigned                : 1;
2136                 unsigned RC9            : 1;
2137                 unsigned                : 1;
2138         };
2139         struct {
2140                 unsigned                : 1;
2141                 unsigned                : 1;
2142                 unsigned                : 1;
2143                 unsigned                : 1;
2144                 unsigned                : 1;
2145                 unsigned                : 1;
2146                 unsigned NOT_RC8        : 1;
2147                 unsigned                : 1;
2148         };
2149         struct {
2150                 unsigned                : 1;
2151                 unsigned                : 1;
2152                 unsigned                : 1;
2153                 unsigned                : 1;
2154                 unsigned                : 1;
2155                 unsigned                : 1;
2156                 unsigned RC8_9          : 1;
2157                 unsigned                : 1;
2158         };
2159 } __RCSTA1bits_t;
2160 extern volatile __RCSTA1bits_t __at (0xFAC) RCSTA1bits;
2161
2162 extern __sfr __at (0xFAD) TXSTA;
2163 typedef union {
2164         struct {
2165                 unsigned TX9D           : 1;
2166                 unsigned TRMT           : 1;
2167                 unsigned BRGH           : 1;
2168                 unsigned SENDB          : 1;
2169                 unsigned SYNC           : 1;
2170                 unsigned TXEN           : 1;
2171                 unsigned TX9            : 1;
2172                 unsigned CSRC           : 1;
2173         };
2174         struct {
2175                 unsigned TXD8           : 1;
2176                 unsigned                : 1;
2177                 unsigned                : 1;
2178                 unsigned                : 1;
2179                 unsigned                : 1;
2180                 unsigned                : 1;
2181                 unsigned TX8_9          : 1;
2182                 unsigned                : 1;
2183         };
2184         struct {
2185                 unsigned                : 1;
2186                 unsigned                : 1;
2187                 unsigned                : 1;
2188                 unsigned                : 1;
2189                 unsigned                : 1;
2190                 unsigned                : 1;
2191                 unsigned NOT_TX8        : 1;
2192                 unsigned                : 1;
2193         };
2194 } __TXSTAbits_t;
2195 extern volatile __TXSTAbits_t __at (0xFAD) TXSTAbits;
2196
2197 extern __sfr __at (0xFAD) TXSTA1;
2198 typedef union {
2199         struct {
2200                 unsigned TX9D           : 1;
2201                 unsigned TRMT           : 1;
2202                 unsigned BRGH           : 1;
2203                 unsigned SENDB          : 1;
2204                 unsigned SYNC           : 1;
2205                 unsigned TXEN           : 1;
2206                 unsigned TX9            : 1;
2207                 unsigned CSRC           : 1;
2208         };
2209         struct {
2210                 unsigned TXD8           : 1;
2211                 unsigned                : 1;
2212                 unsigned                : 1;
2213                 unsigned                : 1;
2214                 unsigned                : 1;
2215                 unsigned                : 1;
2216                 unsigned TX8_9          : 1;
2217                 unsigned                : 1;
2218         };
2219         struct {
2220                 unsigned                : 1;
2221                 unsigned                : 1;
2222                 unsigned                : 1;
2223                 unsigned                : 1;
2224                 unsigned                : 1;
2225                 unsigned                : 1;
2226                 unsigned NOT_TX8        : 1;
2227                 unsigned                : 1;
2228         };
2229 } __TXSTA1bits_t;
2230 extern volatile __TXSTA1bits_t __at (0xFAD) TXSTA1bits;
2231
2232 extern __sfr __at (0xFAE) TXREG;
2233
2234 extern __sfr __at (0xFAE) TXREG1;
2235
2236 extern __sfr __at (0xFAF) RCREG;
2237
2238 extern __sfr __at (0xFAF) RCREG1;
2239
2240 extern __sfr __at (0xFB0) SPBRG;
2241
2242 extern __sfr __at (0xFB0) SPBRG1;
2243
2244 extern __sfr __at (0xFB1) CCP3CON;
2245 typedef union {
2246         struct {
2247                 unsigned CCP3M0         : 1;
2248                 unsigned CCP3M1         : 1;
2249                 unsigned CCP3M2         : 1;
2250                 unsigned CCP3M3         : 1;
2251                 unsigned DC3B0          : 1;
2252                 unsigned DC3B1          : 1;
2253                 unsigned P3M0           : 1;
2254                 unsigned P3M1           : 1;
2255         };
2256         struct {
2257                 unsigned                : 1;
2258                 unsigned                : 1;
2259                 unsigned                : 1;
2260                 unsigned                : 1;
2261                 unsigned CCP3Y          : 1;
2262                 unsigned CCP3X          : 1;
2263                 unsigned                : 1;
2264                 unsigned                : 1;
2265         };
2266 } __CCP3CONbits_t;
2267 extern volatile __CCP3CONbits_t __at (0xFB1) CCP3CONbits;
2268
2269 extern __sfr __at (0xFB1) ECCP3CON;
2270 typedef union {
2271         struct {
2272                 unsigned CCP3M0         : 1;
2273                 unsigned CCP3M1         : 1;
2274                 unsigned CCP3M2         : 1;
2275                 unsigned CCP3M3         : 1;
2276                 unsigned DC3B0          : 1;
2277                 unsigned DC3B1          : 1;
2278                 unsigned P3M0           : 1;
2279                 unsigned P3M1           : 1;
2280         };
2281         struct {
2282                 unsigned                : 1;
2283                 unsigned                : 1;
2284                 unsigned                : 1;
2285                 unsigned                : 1;
2286                 unsigned CCP3Y          : 1;
2287                 unsigned CCP3X          : 1;
2288                 unsigned                : 1;
2289                 unsigned                : 1;
2290         };
2291 } __ECCP3CONbits_t;
2292 extern volatile __ECCP3CONbits_t __at (0xFB1) ECCP3CONbits;
2293
2294 extern __sfr __at (0xFB2) CCPR3;
2295
2296 extern __sfr __at (0xFB2) CCPR3L;
2297
2298 extern __sfr __at (0xFB3) CCPR3H;
2299
2300 extern __sfr __at (0xFB4) ECCP3DEL;
2301 typedef union {
2302         struct {
2303                 unsigned PDC0           : 1;
2304                 unsigned PDC1           : 1;
2305                 unsigned PDC2           : 1;
2306                 unsigned PDC3           : 1;
2307                 unsigned PDC4           : 1;
2308                 unsigned PDC5           : 1;
2309                 unsigned PDC6           : 1;
2310                 unsigned PRSEN          : 1;
2311         };
2312         struct {
2313                 unsigned P3DC0          : 1;
2314                 unsigned P3DC1          : 1;
2315                 unsigned P3DC2          : 1;
2316                 unsigned P3DC3          : 1;
2317                 unsigned P3DC4          : 1;
2318                 unsigned P3DC5          : 1;
2319                 unsigned P3DC6          : 1;
2320                 unsigned P3RSEN         : 1;
2321         };
2322 } __ECCP3DELbits_t;
2323 extern volatile __ECCP3DELbits_t __at (0xFB4) ECCP3DELbits;
2324
2325 extern __sfr __at (0xFB5) ECCP3AS;
2326 typedef union {
2327         struct {
2328                 unsigned PSSBD0         : 1;
2329                 unsigned PSSBD1         : 1;
2330                 unsigned PSSAC0         : 1;
2331                 unsigned PSSAC1         : 1;
2332                 unsigned ECCPAS0        : 1;
2333                 unsigned ECCPAS1        : 1;
2334                 unsigned ECCPAS2        : 1;
2335                 unsigned ECCPASE        : 1;
2336         };
2337         struct {
2338                 unsigned PSS3BD0        : 1;
2339                 unsigned PSS3BD1        : 1;
2340                 unsigned PSS3AC0        : 1;
2341                 unsigned PSS3AC1        : 1;
2342                 unsigned ECCP3AS0       : 1;
2343                 unsigned ECCP3AS1       : 1;
2344                 unsigned ECCP3AS2       : 1;
2345                 unsigned ECCP3ASE       : 1;
2346         };
2347 } __ECCP3ASbits_t;
2348 extern volatile __ECCP3ASbits_t __at (0xFB5) ECCP3ASbits;
2349
2350 extern __sfr __at (0xFB6) CCP2CON;
2351 typedef union {
2352         struct {
2353                 unsigned CCP2M0         : 1;
2354                 unsigned CCP2M1         : 1;
2355                 unsigned CCP2M2         : 1;
2356                 unsigned CCP2M3         : 1;
2357                 unsigned DC2B0          : 1;
2358                 unsigned DC2B1          : 1;
2359                 unsigned P2M0           : 1;
2360                 unsigned P2M1           : 1;
2361         };
2362         struct {
2363                 unsigned                : 1;
2364                 unsigned                : 1;
2365                 unsigned                : 1;
2366                 unsigned                : 1;
2367                 unsigned CCP2Y          : 1;
2368                 unsigned CCP2X          : 1;
2369                 unsigned                : 1;
2370                 unsigned                : 1;
2371         };
2372 } __CCP2CONbits_t;
2373 extern volatile __CCP2CONbits_t __at (0xFB6) CCP2CONbits;
2374
2375 extern __sfr __at (0xFB6) ECCP2CON;
2376 typedef union {
2377         struct {
2378                 unsigned CCP2M0         : 1;
2379                 unsigned CCP2M1         : 1;
2380                 unsigned CCP2M2         : 1;
2381                 unsigned CCP2M3         : 1;
2382                 unsigned DC2B0          : 1;
2383                 unsigned DC2B1          : 1;
2384                 unsigned P2M0           : 1;
2385                 unsigned P2M1           : 1;
2386         };
2387         struct {
2388                 unsigned                : 1;
2389                 unsigned                : 1;
2390                 unsigned                : 1;
2391                 unsigned                : 1;
2392                 unsigned CCP2Y          : 1;
2393                 unsigned CCP2X          : 1;
2394                 unsigned                : 1;
2395                 unsigned                : 1;
2396         };
2397 } __ECCP2CONbits_t;
2398 extern volatile __ECCP2CONbits_t __at (0xFB6) ECCP2CONbits;
2399
2400 extern __sfr __at (0xFB7) CCPR2;
2401
2402 extern __sfr __at (0xFB7) CCPR2L;
2403
2404 extern __sfr __at (0xFB8) CCPR2H;
2405
2406 extern __sfr __at (0xFB9) ECCP2DEL;
2407 typedef union {
2408         struct {
2409                 unsigned PDC0           : 1;
2410                 unsigned PDC1           : 1;
2411                 unsigned PDC2           : 1;
2412                 unsigned PDC3           : 1;
2413                 unsigned PDC4           : 1;
2414                 unsigned PDC5           : 1;
2415                 unsigned PDC6           : 1;
2416                 unsigned PRSEN          : 1;
2417         };
2418         struct {
2419                 unsigned P2DC0          : 1;
2420                 unsigned P2DC1          : 1;
2421                 unsigned P2DC2          : 1;
2422                 unsigned P2DC3          : 1;
2423                 unsigned P2DC4          : 1;
2424                 unsigned P2DC5          : 1;
2425                 unsigned P2DC6          : 1;
2426                 unsigned P2RSEN         : 1;
2427         };
2428 } __ECCP2DELbits_t;
2429 extern volatile __ECCP2DELbits_t __at (0xFB9) ECCP2DELbits;
2430
2431 extern __sfr __at (0xFBA) ECCP2AS;
2432 typedef union {
2433         struct {
2434                 unsigned PSSBD0         : 1;
2435                 unsigned PSSBD1         : 1;
2436                 unsigned PSSAC0         : 1;
2437                 unsigned PSSAC1         : 1;
2438                 unsigned ECCPAS0        : 1;
2439                 unsigned ECCPAS1        : 1;
2440                 unsigned ECCPAS2        : 1;
2441                 unsigned ECCPASE        : 1;
2442         };
2443         struct {
2444                 unsigned PSS2BD0        : 1;
2445                 unsigned PSS2BD1        : 1;
2446                 unsigned PSS2AC0        : 1;
2447                 unsigned PSS2AC1        : 1;
2448                 unsigned ECCP2AS0       : 1;
2449                 unsigned ECCP2AS1       : 1;
2450                 unsigned ECCP2AS2       : 1;
2451                 unsigned ECCP2ASE       : 1;
2452         };
2453 } __ECCP2ASbits_t;
2454 extern volatile __ECCP2ASbits_t __at (0xFBA) ECCP2ASbits;
2455
2456 extern __sfr __at (0xFBB) CCP1CON;
2457 typedef union {
2458         struct {
2459                 unsigned CCP1M0         : 1;
2460                 unsigned CCP1M1         : 1;
2461                 unsigned CCP1M2         : 1;
2462                 unsigned CCP1M3         : 1;
2463                 unsigned DC1B0          : 1;
2464                 unsigned DC1B1          : 1;
2465                 unsigned P1M0           : 1;
2466                 unsigned P1M1           : 1;
2467         };
2468         struct {
2469                 unsigned                : 1;
2470                 unsigned                : 1;
2471                 unsigned                : 1;
2472                 unsigned                : 1;
2473                 unsigned CCP1Y          : 1;
2474                 unsigned CCP1X          : 1;
2475                 unsigned                : 1;
2476                 unsigned                : 1;
2477         };
2478 } __CCP1CONbits_t;
2479 extern volatile __CCP1CONbits_t __at (0xFBB) CCP1CONbits;
2480
2481 extern __sfr __at (0xFBB) ECCP1CON;
2482 typedef union {
2483         struct {
2484                 unsigned CCP1M0         : 1;
2485                 unsigned CCP1M1         : 1;
2486                 unsigned CCP1M2         : 1;
2487                 unsigned CCP1M3         : 1;
2488                 unsigned DC1B0          : 1;
2489                 unsigned DC1B1          : 1;
2490                 unsigned P1M0           : 1;
2491                 unsigned P1M1           : 1;
2492         };
2493         struct {
2494                 unsigned                : 1;
2495                 unsigned                : 1;
2496                 unsigned                : 1;
2497                 unsigned                : 1;
2498                 unsigned CCP1Y          : 1;
2499                 unsigned CCP1X          : 1;
2500                 unsigned                : 1;
2501                 unsigned                : 1;
2502         };
2503 } __ECCP1CONbits_t;
2504 extern volatile __ECCP1CONbits_t __at (0xFBB) ECCP1CONbits;
2505
2506 extern __sfr __at (0xFBC) CCPR1;
2507
2508 extern __sfr __at (0xFBC) CCPR1L;
2509
2510 extern __sfr __at (0xFBD) CCPR1H;
2511
2512 extern __sfr __at (0xFBE) ECCP1DEL;
2513 typedef union {
2514         struct {
2515                 unsigned PDC0           : 1;
2516                 unsigned PDC1           : 1;
2517                 unsigned PDC2           : 1;
2518                 unsigned PDC3           : 1;
2519                 unsigned PDC4           : 1;
2520                 unsigned PDC5           : 1;
2521                 unsigned PDC6           : 1;
2522                 unsigned PRSEN          : 1;
2523         };
2524         struct {
2525                 unsigned P1DC0          : 1;
2526                 unsigned P1DC1          : 1;
2527                 unsigned P1DC2          : 1;
2528                 unsigned P1DC3          : 1;
2529                 unsigned P1DC4          : 1;
2530                 unsigned P1DC5          : 1;
2531                 unsigned P1DC6          : 1;
2532                 unsigned P1RSEN         : 1;
2533         };
2534 } __ECCP1DELbits_t;
2535 extern volatile __ECCP1DELbits_t __at (0xFBE) ECCP1DELbits;
2536
2537 extern __sfr __at (0xFBF) ECCP1AS;
2538 typedef union {
2539         struct {
2540                 unsigned PSSBD0         : 1;
2541                 unsigned PSSBD1         : 1;
2542                 unsigned PSSAC0         : 1;
2543                 unsigned PSSAC1         : 1;
2544                 unsigned ECCPAS0        : 1;
2545                 unsigned ECCPAS1        : 1;
2546                 unsigned ECCPAS2        : 1;
2547                 unsigned ECCPASE        : 1;
2548         };
2549         struct {
2550                 unsigned PSS1BD0        : 1;
2551                 unsigned PSS1BD1        : 1;
2552                 unsigned PSS1AC0        : 1;
2553                 unsigned PSS1AC1        : 1;
2554                 unsigned ECCP1AS0       : 1;
2555                 unsigned ECCP1AS1       : 1;
2556                 unsigned ECCP1AS2       : 1;
2557                 unsigned ECCP1ASE       : 1;
2558         };
2559 } __ECCP1ASbits_t;
2560 extern volatile __ECCP1ASbits_t __at (0xFBF) ECCP1ASbits;
2561
2562 extern __sfr __at (0xFC0) WDTCON;
2563 typedef union {
2564         struct {
2565                 unsigned SWDTE          : 1;
2566                 unsigned                : 1;
2567                 unsigned                : 1;
2568                 unsigned                : 1;
2569                 unsigned DEVCFG         : 1;
2570                 unsigned                : 1;
2571                 unsigned LVDSTAT        : 1;
2572                 unsigned REGSLP         : 1;
2573         };
2574         struct {
2575                 unsigned SWDTEN         : 1;
2576                 unsigned                : 1;
2577                 unsigned                : 1;
2578                 unsigned                : 1;
2579                 unsigned ADSHR          : 1;
2580                 unsigned                : 1;
2581                 unsigned                : 1;
2582                 unsigned                : 1;
2583         };
2584 } __WDTCONbits_t;
2585 extern volatile __WDTCONbits_t __at (0xFC0) WDTCONbits;
2586
2587 extern __sfr __at (0xFC1) ADCON1;
2588 typedef union {
2589         struct {
2590                 unsigned ADCS0          : 1;
2591                 unsigned ADCS1          : 1;
2592                 unsigned ADCS2          : 1;
2593                 unsigned ACQT0          : 1;
2594                 unsigned ACQT1          : 1;
2595                 unsigned ACQT2          : 1;
2596                 unsigned ADCAL          : 1;
2597                 unsigned ADFM           : 1;
2598         };
2599 } __ADCON1bits_t;
2600 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
2601
2602 extern __sfr __at (0xFC1) ANCON0;
2603 typedef union {
2604         struct {
2605                 unsigned PCFG0          : 1;
2606                 unsigned PCFG1          : 1;
2607                 unsigned PCFG2          : 1;
2608                 unsigned PCFG3          : 1;
2609                 unsigned PCFG4          : 1;
2610                 unsigned PCFG5          : 1;
2611                 unsigned PCFG6          : 1;
2612                 unsigned PCFG7          : 1;
2613         };
2614 } __ANCON0bits_t;
2615 extern volatile __ANCON0bits_t __at (0xFC1) ANCON0bits;
2616
2617 extern __sfr __at (0xFC2) ADCON0;
2618 typedef union {
2619         struct {
2620                 unsigned ADON           : 1;
2621                 unsigned DONE           : 1;
2622                 unsigned CHS0           : 1;
2623                 unsigned CHS1           : 1;
2624                 unsigned CHS2           : 1;
2625                 unsigned CHS3           : 1;
2626                 unsigned VCFG0          : 1;
2627                 unsigned VCFG1          : 1;
2628         };
2629         struct {
2630                 unsigned                : 1;
2631                 unsigned GO_DONE        : 1;
2632                 unsigned                : 1;
2633                 unsigned                : 1;
2634                 unsigned                : 1;
2635                 unsigned                : 1;
2636                 unsigned                : 1;
2637                 unsigned                : 1;
2638         };
2639         struct {
2640                 unsigned                : 1;
2641                 unsigned GO             : 1;
2642                 unsigned                : 1;
2643                 unsigned                : 1;
2644                 unsigned                : 1;
2645                 unsigned                : 1;
2646                 unsigned                : 1;
2647                 unsigned                : 1;
2648         };
2649         struct {
2650                 unsigned                : 1;
2651                 unsigned NOT_DONE       : 1;
2652                 unsigned                : 1;
2653                 unsigned                : 1;
2654                 unsigned                : 1;
2655                 unsigned                : 1;
2656                 unsigned                : 1;
2657                 unsigned                : 1;
2658         };
2659 } __ADCON0bits_t;
2660 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
2661
2662 extern __sfr __at (0xFC2) ANCON1;
2663 typedef union {
2664         struct {
2665                 unsigned PCFG8          : 1;
2666                 unsigned PCFG9          : 1;
2667                 unsigned PCFG10         : 1;
2668                 unsigned PCFG11         : 1;
2669                 unsigned PCFG12         : 1;
2670                 unsigned PCFG13         : 1;
2671                 unsigned PCFG14         : 1;
2672                 unsigned PCFG15         : 1;
2673         };
2674 } __ANCON1bits_t;
2675 extern volatile __ANCON1bits_t __at (0xFC2) ANCON1bits;
2676
2677 extern __sfr __at (0xFC3) ADRES;
2678
2679 extern __sfr __at (0xFC3) ADRESL;
2680
2681 extern __sfr __at (0xFC4) ADRESH;
2682
2683 extern __sfr __at (0xFC5) SSP1CON2;
2684 typedef union {
2685         struct {
2686                 unsigned SEN            : 1;
2687                 unsigned RSEN           : 1;
2688                 unsigned PEN            : 1;
2689                 unsigned RCEN           : 1;
2690                 unsigned ACKEN          : 1;
2691                 unsigned ACKDT          : 1;
2692                 unsigned ACKSTAT        : 1;
2693                 unsigned GCEN           : 1;
2694         };
2695         struct {
2696                 unsigned                : 1;
2697                 unsigned ADMSK1         : 1;
2698                 unsigned ADMSK2         : 1;
2699                 unsigned ADMSK3         : 1;
2700                 unsigned ADMSK4         : 1;
2701                 unsigned ADMSK5         : 1;
2702                 unsigned                : 1;
2703                 unsigned                : 1;
2704         };
2705 } __SSP1CON2bits_t;
2706 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
2707
2708 extern __sfr __at (0xFC5) SSPCON2;
2709 typedef union {
2710         struct {
2711                 unsigned SEN            : 1;
2712                 unsigned RSEN           : 1;
2713                 unsigned PEN            : 1;
2714                 unsigned RCEN           : 1;
2715                 unsigned ACKEN          : 1;
2716                 unsigned ACKDT          : 1;
2717                 unsigned ACKSTAT        : 1;
2718                 unsigned GCEN           : 1;
2719         };
2720         struct {
2721                 unsigned                : 1;
2722                 unsigned ADMSK1         : 1;
2723                 unsigned ADMSK2         : 1;
2724                 unsigned ADMSK3         : 1;
2725                 unsigned ADMSK4         : 1;
2726                 unsigned ADMSK5         : 1;
2727                 unsigned                : 1;
2728                 unsigned                : 1;
2729         };
2730 } __SSPCON2bits_t;
2731 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
2732
2733 extern __sfr __at (0xFC6) SSP1CON1;
2734 typedef union {
2735         struct {
2736                 unsigned SSPM0          : 1;
2737                 unsigned SSPM1          : 1;
2738                 unsigned SSPM2          : 1;
2739                 unsigned SSPM3          : 1;
2740                 unsigned CKP            : 1;
2741                 unsigned SSPEN          : 1;
2742                 unsigned SSPOV          : 1;
2743                 unsigned WCOL           : 1;
2744         };
2745 } __SSP1CON1bits_t;
2746 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
2747
2748 extern __sfr __at (0xFC6) SSPCON1;
2749 typedef union {
2750         struct {
2751                 unsigned SSPM0          : 1;
2752                 unsigned SSPM1          : 1;
2753                 unsigned SSPM2          : 1;
2754                 unsigned SSPM3          : 1;
2755                 unsigned CKP            : 1;
2756                 unsigned SSPEN          : 1;
2757                 unsigned SSPOV          : 1;
2758                 unsigned WCOL           : 1;
2759         };
2760 } __SSPCON1bits_t;
2761 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
2762
2763 extern __sfr __at (0xFC7) SSP1STAT;
2764 typedef union {
2765         struct {
2766                 unsigned BF             : 1;
2767                 unsigned UA             : 1;
2768                 unsigned R_W            : 1;
2769                 unsigned S              : 1;
2770                 unsigned P              : 1;
2771                 unsigned D_A            : 1;
2772                 unsigned CKE            : 1;
2773                 unsigned SMP            : 1;
2774         };
2775         struct {
2776                 unsigned                : 1;
2777                 unsigned                : 1;
2778                 unsigned I2C_READ       : 1;
2779                 unsigned I2C_START      : 1;
2780                 unsigned I2C_STOP       : 1;
2781                 unsigned I2C_DAT        : 1;
2782                 unsigned                : 1;
2783                 unsigned                : 1;
2784         };
2785         struct {
2786                 unsigned                : 1;
2787                 unsigned                : 1;
2788                 unsigned NOT_W          : 1;
2789                 unsigned                : 1;
2790                 unsigned                : 1;
2791                 unsigned NOT_A          : 1;
2792                 unsigned                : 1;
2793                 unsigned                : 1;
2794         };
2795         struct {
2796                 unsigned                : 1;
2797                 unsigned                : 1;
2798                 unsigned NOT_WRITE      : 1;
2799                 unsigned                : 1;
2800                 unsigned                : 1;
2801                 unsigned NOT_ADDRESS    : 1;
2802                 unsigned                : 1;
2803                 unsigned                : 1;
2804         };
2805         struct {
2806                 unsigned                : 1;
2807                 unsigned                : 1;
2808                 unsigned READ_WRITE     : 1;
2809                 unsigned                : 1;
2810                 unsigned                : 1;
2811                 unsigned DATA_ADDRESS   : 1;
2812                 unsigned                : 1;
2813                 unsigned                : 1;
2814         };
2815         struct {
2816                 unsigned                : 1;
2817                 unsigned                : 1;
2818                 unsigned R              : 1;
2819                 unsigned                : 1;
2820                 unsigned                : 1;
2821                 unsigned D              : 1;
2822                 unsigned                : 1;
2823                 unsigned                : 1;
2824         };
2825 } __SSP1STATbits_t;
2826 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
2827
2828 extern __sfr __at (0xFC7) SSPSTAT;
2829 typedef union {
2830         struct {
2831                 unsigned BF             : 1;
2832                 unsigned UA             : 1;
2833                 unsigned R_W            : 1;
2834                 unsigned S              : 1;
2835                 unsigned P              : 1;
2836                 unsigned D_A            : 1;
2837                 unsigned CKE            : 1;
2838                 unsigned SMP            : 1;
2839         };
2840         struct {
2841                 unsigned                : 1;
2842                 unsigned                : 1;
2843                 unsigned I2C_READ       : 1;
2844                 unsigned I2C_START      : 1;
2845                 unsigned I2C_STOP       : 1;
2846                 unsigned I2C_DAT        : 1;
2847                 unsigned                : 1;
2848                 unsigned                : 1;
2849         };
2850         struct {
2851                 unsigned                : 1;
2852                 unsigned                : 1;
2853                 unsigned NOT_W          : 1;
2854                 unsigned                : 1;
2855                 unsigned                : 1;
2856                 unsigned NOT_A          : 1;
2857                 unsigned                : 1;
2858                 unsigned                : 1;
2859         };
2860         struct {
2861                 unsigned                : 1;
2862                 unsigned                : 1;
2863                 unsigned NOT_WRITE      : 1;
2864                 unsigned                : 1;
2865                 unsigned                : 1;
2866                 unsigned NOT_ADDRESS    : 1;
2867                 unsigned                : 1;
2868                 unsigned                : 1;
2869         };
2870         struct {
2871                 unsigned                : 1;
2872                 unsigned                : 1;
2873                 unsigned READ_WRITE     : 1;
2874                 unsigned                : 1;
2875                 unsigned                : 1;
2876                 unsigned DATA_ADDRESS   : 1;
2877                 unsigned                : 1;
2878                 unsigned                : 1;
2879         };
2880         struct {
2881                 unsigned                : 1;
2882                 unsigned                : 1;
2883                 unsigned R              : 1;
2884                 unsigned                : 1;
2885                 unsigned                : 1;
2886                 unsigned D              : 1;
2887                 unsigned                : 1;
2888                 unsigned                : 1;
2889         };
2890 } __SSPSTATbits_t;
2891 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
2892
2893 extern __sfr __at (0xFC8) SSP1ADD;
2894
2895 extern __sfr __at (0xFC8) SSP1MSK;
2896
2897 extern __sfr __at (0xFC8) SSPADD;
2898
2899 extern __sfr __at (0xFC9) SSP1BUF;
2900
2901 extern __sfr __at (0xFC9) SSPBUF;
2902
2903 extern __sfr __at (0xFCA) T2CON;
2904 typedef union {
2905         struct {
2906                 unsigned T2CKPS0        : 1;
2907                 unsigned T2CKPS1        : 1;
2908                 unsigned TMR2ON         : 1;
2909                 unsigned T2OUTPS0       : 1;
2910                 unsigned T2OUTPS1       : 1;
2911                 unsigned T2OUTPS2       : 1;
2912                 unsigned T2OUTPS3       : 1;
2913                 unsigned                : 1;
2914         };
2915 } __T2CONbits_t;
2916 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
2917
2918 extern __sfr __at (0xFCB) MEMCON;
2919 typedef union {
2920         struct {
2921                 unsigned WM0            : 1;
2922                 unsigned WM1            : 1;
2923                 unsigned                : 1;
2924                 unsigned                : 1;
2925                 unsigned WAIT0          : 1;
2926                 unsigned WAIT1          : 1;
2927                 unsigned                : 1;
2928                 unsigned EDBIS          : 1;
2929         };
2930 } __MEMCONbits_t;
2931 extern volatile __MEMCONbits_t __at (0xFCB) MEMCONbits;
2932
2933 extern __sfr __at (0xFCB) PR2;
2934
2935 extern __sfr __at (0xFCC) PADCFG1;
2936 typedef union {
2937         struct {
2938                 unsigned PMPTTL         : 1;
2939                 unsigned                : 1;
2940                 unsigned                : 1;
2941                 unsigned                : 1;
2942                 unsigned                : 1;
2943                 unsigned                : 1;
2944                 unsigned                : 1;
2945                 unsigned                : 1;
2946         };
2947 } __PADCFG1bits_t;
2948 extern volatile __PADCFG1bits_t __at (0xFCC) PADCFG1bits;
2949
2950 extern __sfr __at (0xFCC) TMR2;
2951
2952 extern __sfr __at (0xFCD) ODCON3;
2953 typedef union {
2954         struct {
2955                 unsigned SPI1OD         : 1;
2956                 unsigned SPI2OD         : 1;
2957                 unsigned                : 1;
2958                 unsigned                : 1;
2959                 unsigned                : 1;
2960                 unsigned                : 1;
2961                 unsigned                : 1;
2962                 unsigned                : 1;
2963         };
2964 } __ODCON3bits_t;
2965 extern volatile __ODCON3bits_t __at (0xFCD) ODCON3bits;
2966
2967 extern __sfr __at (0xFCD) T1CON;
2968 typedef union {
2969         struct {
2970                 unsigned TMR1ON         : 1;
2971                 unsigned TMR1CS         : 1;
2972                 unsigned T1SYNC         : 1;
2973                 unsigned T1OSCEN        : 1;
2974                 unsigned T1CKPS0        : 1;
2975                 unsigned T1CKPS1        : 1;
2976                 unsigned T1RUN          : 1;
2977                 unsigned RD16           : 1;
2978         };
2979         struct {
2980                 unsigned                : 1;
2981                 unsigned                : 1;
2982                 unsigned T1INSYNC       : 1;
2983                 unsigned                : 1;
2984                 unsigned                : 1;
2985                 unsigned                : 1;
2986                 unsigned                : 1;
2987                 unsigned                : 1;
2988         };
2989         struct {
2990                 unsigned                : 1;
2991                 unsigned                : 1;
2992                 unsigned NOT_T1SYNC     : 1;
2993                 unsigned                : 1;
2994                 unsigned                : 1;
2995                 unsigned                : 1;
2996                 unsigned                : 1;
2997                 unsigned                : 1;
2998         };
2999 } __T1CONbits_t;
3000 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
3001
3002 extern __sfr __at (0xFCE) ODCON2;
3003 typedef union {
3004         struct {
3005                 unsigned USART1OD       : 1;
3006                 unsigned USART2OD       : 1;
3007                 unsigned                : 1;
3008                 unsigned                : 1;
3009                 unsigned                : 1;
3010                 unsigned                : 1;
3011                 unsigned                : 1;
3012                 unsigned                : 1;
3013         };
3014         struct {
3015                 unsigned U1OD           : 1;
3016                 unsigned U2OD           : 1;
3017                 unsigned                : 1;
3018                 unsigned                : 1;
3019                 unsigned                : 1;
3020                 unsigned                : 1;
3021                 unsigned                : 1;
3022                 unsigned                : 1;
3023         };
3024 } __ODCON2bits_t;
3025 extern volatile __ODCON2bits_t __at (0xFCE) ODCON2bits;
3026
3027 extern __sfr __at (0xFCE) TMR1L;
3028
3029 extern __sfr __at (0xFCF) ODCON1;
3030 typedef union {
3031         struct {
3032                 unsigned ECCP1OD        : 1;
3033                 unsigned ECCP2OD        : 1;
3034                 unsigned ECCP3OD        : 1;
3035                 unsigned CCP4OD         : 1;
3036                 unsigned CCP5OD         : 1;
3037                 unsigned                : 1;
3038                 unsigned                : 1;
3039                 unsigned                : 1;
3040         };
3041 } __ODCON1bits_t;
3042 extern volatile __ODCON1bits_t __at (0xFCF) ODCON1bits;
3043
3044 extern __sfr __at (0xFCF) TMR1H;
3045
3046 extern __sfr __at (0xFD0) RCON;
3047 typedef union {
3048         struct {
3049                 unsigned NOT_BOR        : 1;
3050                 unsigned NOT_POR        : 1;
3051                 unsigned NOT_PD         : 1;
3052                 unsigned NOT_TO         : 1;
3053                 unsigned NOT_RI         : 1;
3054                 unsigned NOT_CM         : 1;
3055                 unsigned                : 1;
3056                 unsigned IPEN           : 1;
3057         };
3058         struct {
3059                 unsigned BOR            : 1;
3060                 unsigned POR            : 1;
3061                 unsigned PD             : 1;
3062                 unsigned TO             : 1;
3063                 unsigned RI             : 1;
3064                 unsigned CM             : 1;
3065                 unsigned                : 1;
3066                 unsigned                : 1;
3067         };
3068 } __RCONbits_t;
3069 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
3070
3071 extern __sfr __at (0xFD1) CM2CON;
3072 typedef union {
3073         struct {
3074                 unsigned C1CH0          : 1;
3075                 unsigned C1CH1          : 1;
3076                 unsigned CREF           : 1;
3077                 unsigned EVPOL0         : 1;
3078                 unsigned EVPOL1         : 1;
3079                 unsigned CPOL           : 1;
3080                 unsigned COE            : 1;
3081                 unsigned CON            : 1;
3082         };
3083         struct {
3084                 unsigned CCH0           : 1;
3085                 unsigned CCH1           : 1;
3086                 unsigned                : 1;
3087                 unsigned                : 1;
3088                 unsigned                : 1;
3089                 unsigned                : 1;
3090                 unsigned                : 1;
3091                 unsigned                : 1;
3092         };
3093 } __CM2CONbits_t;
3094 extern volatile __CM2CONbits_t __at (0xFD1) CM2CONbits;
3095
3096 extern __sfr __at (0xFD1) CM2CON1;
3097 typedef union {
3098         struct {
3099                 unsigned C1CH0          : 1;
3100                 unsigned C1CH1          : 1;
3101                 unsigned CREF           : 1;
3102                 unsigned EVPOL0         : 1;
3103                 unsigned EVPOL1         : 1;
3104                 unsigned CPOL           : 1;
3105                 unsigned COE            : 1;
3106                 unsigned CON            : 1;
3107         };
3108         struct {
3109                 unsigned CCH0           : 1;
3110                 unsigned CCH1           : 1;
3111                 unsigned                : 1;
3112                 unsigned                : 1;
3113                 unsigned                : 1;
3114                 unsigned                : 1;
3115                 unsigned                : 1;
3116                 unsigned                : 1;
3117         };
3118 } __CM2CON1bits_t;
3119 extern volatile __CM2CON1bits_t __at (0xFD1) CM2CON1bits;
3120
3121 extern __sfr __at (0xFD2) CM1CON;
3122 typedef union {
3123         struct {
3124                 unsigned C1CH0          : 1;
3125                 unsigned C1CH1          : 1;
3126                 unsigned CREF           : 1;
3127                 unsigned EVPOL0         : 1;
3128                 unsigned EVPOL1         : 1;
3129                 unsigned CPOL           : 1;
3130                 unsigned COE            : 1;
3131                 unsigned CON            : 1;
3132         };
3133         struct {
3134                 unsigned CCH0           : 1;
3135                 unsigned CCH1           : 1;
3136                 unsigned                : 1;
3137                 unsigned                : 1;
3138                 unsigned                : 1;
3139                 unsigned                : 1;
3140                 unsigned                : 1;
3141                 unsigned                : 1;
3142         };
3143 } __CM1CONbits_t;
3144 extern volatile __CM1CONbits_t __at (0xFD2) CM1CONbits;
3145
3146 extern __sfr __at (0xFD2) CM1CON1;
3147 typedef union {
3148         struct {
3149                 unsigned C1CH0          : 1;
3150                 unsigned C1CH1          : 1;
3151                 unsigned CREF           : 1;
3152                 unsigned EVPOL0         : 1;
3153                 unsigned EVPOL1         : 1;
3154                 unsigned CPOL           : 1;
3155                 unsigned COE            : 1;
3156                 unsigned CON            : 1;
3157         };
3158         struct {
3159                 unsigned CCH0           : 1;
3160                 unsigned CCH1           : 1;
3161                 unsigned                : 1;
3162                 unsigned                : 1;
3163                 unsigned                : 1;
3164                 unsigned                : 1;
3165                 unsigned                : 1;
3166                 unsigned                : 1;
3167         };
3168 } __CM1CON1bits_t;
3169 extern volatile __CM1CON1bits_t __at (0xFD2) CM1CON1bits;
3170
3171 extern __sfr __at (0xFD3) OSCCON;
3172 typedef union {
3173         struct {
3174                 unsigned SCS0           : 1;
3175                 unsigned SCS1           : 1;
3176                 unsigned IOFS           : 1;
3177                 unsigned OSTS           : 1;
3178                 unsigned IRCF0          : 1;
3179                 unsigned IRCF1          : 1;
3180                 unsigned IRCF2          : 1;
3181                 unsigned IDLEN          : 1;
3182         };
3183         struct {
3184                 unsigned                : 1;
3185                 unsigned                : 1;
3186                 unsigned FLTS           : 1;
3187                 unsigned                : 1;
3188                 unsigned                : 1;
3189                 unsigned                : 1;
3190                 unsigned                : 1;
3191                 unsigned                : 1;
3192         };
3193 } __OSCCONbits_t;
3194 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
3195
3196 extern __sfr __at (0xFD3) REFOCON;
3197 typedef union {
3198         struct {
3199                 unsigned RODIV0         : 1;
3200                 unsigned RODIV1         : 1;
3201                 unsigned RODIV2         : 1;
3202                 unsigned RODIV3         : 1;
3203                 unsigned ROSEL          : 1;
3204                 unsigned ROSSLP         : 1;
3205                 unsigned                : 1;
3206                 unsigned ROON           : 1;
3207         };
3208 } __REFOCONbits_t;
3209 extern volatile __REFOCONbits_t __at (0xFD3) REFOCONbits;
3210
3211 extern __sfr __at (0xFD5) T0CON;
3212 typedef union {
3213         struct {
3214                 unsigned T0PS0          : 1;
3215                 unsigned T0PS1          : 1;
3216                 unsigned T0PS2          : 1;
3217                 unsigned PSA            : 1;
3218                 unsigned T0SE           : 1;
3219                 unsigned T0CS           : 1;
3220                 unsigned T08BIT         : 1;
3221                 unsigned TMR0ON         : 1;
3222         };
3223         struct {
3224                 unsigned                : 1;
3225                 unsigned                : 1;
3226                 unsigned                : 1;
3227                 unsigned T0PS3          : 1;
3228                 unsigned                : 1;
3229                 unsigned                : 1;
3230                 unsigned                : 1;
3231                 unsigned                : 1;
3232         };
3233 } __T0CONbits_t;
3234 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
3235
3236 extern __sfr __at (0xFD6) TMR0L;
3237
3238 extern __sfr __at (0xFD7) TMR0H;
3239
3240 extern __sfr __at (0xFD8) STATUS;
3241 typedef union {
3242         struct {
3243                 unsigned C              : 1;
3244                 unsigned DC             : 1;
3245                 unsigned Z              : 1;
3246                 unsigned OV             : 1;
3247                 unsigned N              : 1;
3248                 unsigned                : 1;
3249                 unsigned                : 1;
3250                 unsigned                : 1;
3251         };
3252 } __STATUSbits_t;
3253 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
3254
3255 extern __sfr __at (0xFD9) FSR2L;
3256
3257 extern __sfr __at (0xFDA) FSR2H;
3258
3259 extern __sfr __at (0xFDB) PLUSW2;
3260
3261 extern __sfr __at (0xFDC) PREINC2;
3262
3263 extern __sfr __at (0xFDD) POSTDEC2;
3264
3265 extern __sfr __at (0xFDE) POSTINC2;
3266
3267 extern __sfr __at (0xFDF) INDF2;
3268
3269 extern __sfr __at (0xFE0) BSR;
3270
3271 extern __sfr __at (0xFE1) FSR1L;
3272
3273 extern __sfr __at (0xFE2) FSR1H;
3274
3275 extern __sfr __at (0xFE3) PLUSW1;
3276
3277 extern __sfr __at (0xFE4) PREINC1;
3278
3279 extern __sfr __at (0xFE5) POSTDEC1;
3280
3281 extern __sfr __at (0xFE6) POSTINC1;
3282
3283 extern __sfr __at (0xFE7) INDF1;
3284
3285 extern __sfr __at (0xFE8) WREG;
3286
3287 extern __sfr __at (0xFE9) FSR0L;
3288
3289 extern __sfr __at (0xFEA) FSR0H;
3290
3291 extern __sfr __at (0xFEB) PLUSW0;
3292
3293 extern __sfr __at (0xFEC) PREINC0;
3294
3295 extern __sfr __at (0xFED) POSTDEC0;
3296
3297 extern __sfr __at (0xFEE) POSTINC0;
3298
3299 extern __sfr __at (0xFEF) INDF0;
3300
3301 extern __sfr __at (0xFF0) INTCON3;
3302 typedef union {
3303         struct {
3304                 unsigned INT1F          : 1;
3305                 unsigned INT2F          : 1;
3306                 unsigned INT3F          : 1;
3307                 unsigned INT1E          : 1;
3308                 unsigned INT2E          : 1;
3309                 unsigned INT3E          : 1;
3310                 unsigned INT1P          : 1;
3311                 unsigned INT2P          : 1;
3312         };
3313         struct {
3314                 unsigned INT1IF         : 1;
3315                 unsigned INT2IF         : 1;
3316                 unsigned INT3IF         : 1;
3317                 unsigned INT1IE         : 1;
3318                 unsigned INT2IE         : 1;
3319                 unsigned INT3IE         : 1;
3320                 unsigned INT1IP         : 1;
3321                 unsigned INT2IP         : 1;
3322         };
3323 } __INTCON3bits_t;
3324 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
3325
3326 extern __sfr __at (0xFF1) INTCON2;
3327 typedef union {
3328         struct {
3329                 unsigned RBIP           : 1;
3330                 unsigned INT3P          : 1;
3331                 unsigned T0IP           : 1;
3332                 unsigned INTEDG3        : 1;
3333                 unsigned INTEDG2        : 1;
3334                 unsigned INTEDG1        : 1;
3335                 unsigned INTEDG0        : 1;
3336                 unsigned NOT_RBPU       : 1;
3337         };
3338         struct {
3339                 unsigned                : 1;
3340                 unsigned INT3IP         : 1;
3341                 unsigned TMR0IP         : 1;
3342                 unsigned                : 1;
3343                 unsigned                : 1;
3344                 unsigned                : 1;
3345                 unsigned                : 1;
3346                 unsigned RBPU           : 1;
3347         };
3348 } __INTCON2bits_t;
3349 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
3350
3351 extern __sfr __at (0xFF2) INTCON;
3352 typedef union {
3353         struct {
3354                 unsigned RBIF           : 1;
3355                 unsigned INT0F          : 1;
3356                 unsigned T0IF           : 1;
3357                 unsigned RBIE           : 1;
3358                 unsigned INT0E          : 1;
3359                 unsigned T0IE           : 1;
3360                 unsigned PEIE           : 1;
3361                 unsigned GIE            : 1;
3362         };
3363         struct {
3364                 unsigned                : 1;
3365                 unsigned INT0IF         : 1;
3366                 unsigned TMR0IF         : 1;
3367                 unsigned                : 1;
3368                 unsigned INT0IE         : 1;
3369                 unsigned TMR0IE         : 1;
3370                 unsigned GIEL           : 1;
3371                 unsigned GIEH           : 1;
3372         };
3373 } __INTCONbits_t;
3374 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
3375
3376 extern __sfr __at (0xFF3) PROD;
3377
3378 extern __sfr __at (0xFF3) PRODL;
3379
3380 extern __sfr __at (0xFF4) PRODH;
3381
3382 extern __sfr __at (0xFF5) TABLAT;
3383
3384 extern __sfr __at (0xFF6) TBLPTR;
3385
3386 extern __sfr __at (0xFF6) TBLPTRL;
3387
3388 extern __sfr __at (0xFF7) TBLPTRH;
3389
3390 extern __sfr __at (0xFF8) TBLPTRU;
3391
3392 extern __sfr __at (0xFF9) PC;
3393
3394 extern __sfr __at (0xFF9) PCL;
3395
3396 extern __sfr __at (0xFFA) PCLATH;
3397
3398 extern __sfr __at (0xFFB) PCLATU;
3399
3400 extern __sfr __at (0xFFC) STKPTR;
3401 typedef union {
3402         struct {
3403                 unsigned STKPTR0        : 1;
3404                 unsigned STKPTR1        : 1;
3405                 unsigned STKPTR2        : 1;
3406                 unsigned STKPTR3        : 1;
3407                 unsigned STKPTR4        : 1;
3408                 unsigned                : 1;
3409                 unsigned STKUNF         : 1;
3410                 unsigned STKOVF         : 1;
3411         };
3412         struct {
3413                 unsigned SP0            : 1;
3414                 unsigned SP1            : 1;
3415                 unsigned SP2            : 1;
3416                 unsigned SP3            : 1;
3417                 unsigned SP4            : 1;
3418                 unsigned                : 1;
3419                 unsigned                : 1;
3420                 unsigned STKFUL         : 1;
3421         };
3422 } __STKPTRbits_t;
3423 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
3424
3425 extern __sfr __at (0xFFD) TOS;
3426
3427 extern __sfr __at (0xFFD) TOSL;
3428
3429 extern __sfr __at (0xFFE) TOSH;
3430
3431 extern __sfr __at (0xFFF) TOSU;
3432
3433
3434 #endif
3435