Imported Upstream version 2.9.0
[debian/cc1111] / device / include / pic16 / pic18f44j10.h
1 /* 
2  * pic18f44j10.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 __PIC18F44J10_H__
12 #define __PIC18F44J10_H__ 1
13
14 #define _DEVID1                 0x3FFFFE
15 #define _DEVID2                 0x3FFFFF
16
17 extern __sfr __at (0xF80) PORTA;
18 typedef union {
19         struct {
20                 unsigned RA0            : 1;
21                 unsigned RA1            : 1;
22                 unsigned RA2            : 1;
23                 unsigned RA3            : 1;
24                 unsigned                : 1;
25                 unsigned RA5            : 1;
26                 unsigned                : 1;
27                 unsigned                : 1;
28         };
29         struct {
30                 unsigned AN0            : 1;
31                 unsigned AN1            : 1;
32                 unsigned AN2            : 1;
33                 unsigned AN3            : 1;
34                 unsigned                : 1;
35                 unsigned AN4            : 1;
36                 unsigned                : 1;
37                 unsigned                : 1;
38         };
39         struct {
40                 unsigned                : 1;
41                 unsigned                : 1;
42                 unsigned VREFM          : 1;
43                 unsigned VREFP          : 1;
44                 unsigned                : 1;
45                 unsigned SS1            : 1;
46                 unsigned                : 1;
47                 unsigned                : 1;
48         };
49         struct {
50                 unsigned                : 1;
51                 unsigned                : 1;
52                 unsigned CVREF          : 1;
53                 unsigned                : 1;
54                 unsigned                : 1;
55                 unsigned C2OUT_PORTA    : 1;
56                 unsigned                : 1;
57                 unsigned                : 1;
58         };
59         struct {
60                 unsigned                : 1;
61                 unsigned                : 1;
62                 unsigned                : 1;
63                 unsigned                : 1;
64                 unsigned                : 1;
65                 unsigned NOT_SS1        : 1;
66                 unsigned                : 1;
67                 unsigned                : 1;
68         };
69 } __PORTAbits_t;
70 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
71
72 extern __sfr __at (0xF81) PORTB;
73 typedef union {
74         struct {
75                 unsigned RB0            : 1;
76                 unsigned RB1            : 1;
77                 unsigned RB2            : 1;
78                 unsigned RB3            : 1;
79                 unsigned RB4            : 1;
80                 unsigned RB5            : 1;
81                 unsigned RB6            : 1;
82                 unsigned RB7            : 1;
83         };
84         struct {
85                 unsigned INT0           : 1;
86                 unsigned INT1           : 1;
87                 unsigned INT2           : 1;
88                 unsigned CCP2_PORTB     : 1;
89                 unsigned KBI0           : 1;
90                 unsigned KBI1           : 1;
91                 unsigned KBI2           : 1;
92                 unsigned KBI3           : 1;
93         };
94         struct {
95                 unsigned AN12           : 1;
96                 unsigned AN10           : 1;
97                 unsigned AN8            : 1;
98                 unsigned AN9            : 1;
99                 unsigned AN11           : 1;
100                 unsigned T0CKI          : 1;
101                 unsigned PGC            : 1;
102                 unsigned PGD            : 1;
103         };
104         struct {
105                 unsigned FLT0           : 1;
106                 unsigned                : 1;
107                 unsigned                : 1;
108                 unsigned                : 1;
109                 unsigned                : 1;
110                 unsigned C1OUT_PORTB    : 1;
111                 unsigned                : 1;
112                 unsigned                : 1;
113         };
114 } __PORTBbits_t;
115 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
116
117 extern __sfr __at (0xF82) PORTC;
118 typedef union {
119         struct {
120                 unsigned RC0            : 1;
121                 unsigned RC1            : 1;
122                 unsigned RC2            : 1;
123                 unsigned RC3            : 1;
124                 unsigned RC4            : 1;
125                 unsigned RC5            : 1;
126                 unsigned RC6            : 1;
127                 unsigned RC7            : 1;
128         };
129         struct {
130                 unsigned T1OSO          : 1;
131                 unsigned T1OSI          : 1;
132                 unsigned CCP1           : 1;
133                 unsigned SCK1           : 1;
134                 unsigned SDI1           : 1;
135                 unsigned SDO1           : 1;
136                 unsigned TX             : 1;
137                 unsigned RX             : 1;
138         };
139         struct {
140                 unsigned T1CKI          : 1;
141                 unsigned CCP2_PORTC     : 1;
142                 unsigned P1A            : 1;
143                 unsigned SCL1           : 1;
144                 unsigned SDA1           : 1;
145                 unsigned SDO            : 1;
146                 unsigned CK             : 1;
147                 unsigned DT             : 1;
148         };
149         struct {
150                 unsigned                : 1;
151                 unsigned                : 1;
152                 unsigned                : 1;
153                 unsigned SCK            : 1;
154                 unsigned SDI            : 1;
155                 unsigned                : 1;
156                 unsigned                : 1;
157                 unsigned                : 1;
158         };
159         struct {
160                 unsigned                : 1;
161                 unsigned                : 1;
162                 unsigned                : 1;
163                 unsigned SCL            : 1;
164                 unsigned SDA            : 1;
165                 unsigned                : 1;
166                 unsigned                : 1;
167                 unsigned                : 1;
168         };
169 } __PORTCbits_t;
170 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
171
172 extern __sfr __at (0xF83) PORTD;
173 typedef union {
174         struct {
175                 unsigned RD0            : 1;
176                 unsigned RD1            : 1;
177                 unsigned RD2            : 1;
178                 unsigned RD3            : 1;
179                 unsigned RD4            : 1;
180                 unsigned RD5            : 1;
181                 unsigned RD6            : 1;
182                 unsigned RD7            : 1;
183         };
184         struct {
185                 unsigned PSP0           : 1;
186                 unsigned PSP1           : 1;
187                 unsigned PSP2           : 1;
188                 unsigned PSP3           : 1;
189                 unsigned PSP4           : 1;
190                 unsigned PSP5           : 1;
191                 unsigned PSP6           : 1;
192                 unsigned PSP7           : 1;
193         };
194         struct {
195                 unsigned SCL2           : 1;
196                 unsigned SDA2           : 1;
197                 unsigned SDO2           : 1;
198                 unsigned SS2            : 1;
199                 unsigned                : 1;
200                 unsigned P1B            : 1;
201                 unsigned P1C            : 1;
202                 unsigned P1D            : 1;
203         };
204         struct {
205                 unsigned SCK2           : 1;
206                 unsigned SDI2           : 1;
207                 unsigned                : 1;
208                 unsigned NOT_SS2        : 1;
209                 unsigned                : 1;
210                 unsigned                : 1;
211                 unsigned                : 1;
212                 unsigned                : 1;
213         };
214 } __PORTDbits_t;
215 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
216
217 extern __sfr __at (0xF84) PORTE;
218 typedef union {
219         struct {
220                 unsigned RE0            : 1;
221                 unsigned RE1            : 1;
222                 unsigned RE2            : 1;
223                 unsigned                : 1;
224                 unsigned                : 1;
225                 unsigned                : 1;
226                 unsigned                : 1;
227                 unsigned                : 1;
228         };
229         struct {
230                 unsigned RD             : 1;
231                 unsigned WR             : 1;
232                 unsigned CS             : 1;
233                 unsigned                : 1;
234                 unsigned                : 1;
235                 unsigned                : 1;
236                 unsigned                : 1;
237                 unsigned                : 1;
238         };
239         struct {
240                 unsigned AN5            : 1;
241                 unsigned AN6            : 1;
242                 unsigned AN7            : 1;
243                 unsigned                : 1;
244                 unsigned                : 1;
245                 unsigned                : 1;
246                 unsigned                : 1;
247                 unsigned                : 1;
248         };
249         struct {
250                 unsigned NOT_RD         : 1;
251                 unsigned NOT_WR         : 1;
252                 unsigned NOT_CS         : 1;
253                 unsigned                : 1;
254                 unsigned                : 1;
255                 unsigned                : 1;
256                 unsigned                : 1;
257                 unsigned                : 1;
258         };
259 } __PORTEbits_t;
260 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
261
262 extern __sfr __at (0xF85) SSP2CON2;
263 typedef union {
264         struct {
265                 unsigned SEN            : 1;
266                 unsigned RSEN           : 1;
267                 unsigned PEN            : 1;
268                 unsigned RCEN           : 1;
269                 unsigned ACKEN          : 1;
270                 unsigned ACKDT          : 1;
271                 unsigned ACKSTAT        : 1;
272                 unsigned GCEN           : 1;
273         };
274 } __SSP2CON2bits_t;
275 extern volatile __SSP2CON2bits_t __at (0xF85) SSP2CON2bits;
276
277 extern __sfr __at (0xF86) SSP2CON1;
278 typedef union {
279         struct {
280                 unsigned SSPM0          : 1;
281                 unsigned SSPM1          : 1;
282                 unsigned SSPM2          : 1;
283                 unsigned SSPM3          : 1;
284                 unsigned CKP            : 1;
285                 unsigned SSPEN          : 1;
286                 unsigned SSPOV          : 1;
287                 unsigned WCOL           : 1;
288         };
289 } __SSP2CON1bits_t;
290 extern volatile __SSP2CON1bits_t __at (0xF86) SSP2CON1bits;
291
292 extern __sfr __at (0xF87) SSP2STAT;
293 typedef union {
294         struct {
295                 unsigned BF             : 1;
296                 unsigned UA             : 1;
297                 unsigned R_W            : 1;
298                 unsigned S              : 1;
299                 unsigned P              : 1;
300                 unsigned D_A            : 1;
301                 unsigned CKE            : 1;
302                 unsigned SMP            : 1;
303         };
304         struct {
305                 unsigned                : 1;
306                 unsigned                : 1;
307                 unsigned I2C_READ       : 1;
308                 unsigned I2C_START      : 1;
309                 unsigned I2C_STOP       : 1;
310                 unsigned I2C_DAT        : 1;
311                 unsigned                : 1;
312                 unsigned                : 1;
313         };
314         struct {
315                 unsigned                : 1;
316                 unsigned                : 1;
317                 unsigned NOT_W          : 1;
318                 unsigned                : 1;
319                 unsigned                : 1;
320                 unsigned NOT_A          : 1;
321                 unsigned                : 1;
322                 unsigned                : 1;
323         };
324         struct {
325                 unsigned                : 1;
326                 unsigned                : 1;
327                 unsigned NOT_WRITE      : 1;
328                 unsigned                : 1;
329                 unsigned                : 1;
330                 unsigned NOT_ADDRESS    : 1;
331                 unsigned                : 1;
332                 unsigned                : 1;
333         };
334         struct {
335                 unsigned                : 1;
336                 unsigned                : 1;
337                 unsigned READ_WRITE     : 1;
338                 unsigned                : 1;
339                 unsigned                : 1;
340                 unsigned DATA_ADDRESS   : 1;
341                 unsigned                : 1;
342                 unsigned                : 1;
343         };
344         struct {
345                 unsigned                : 1;
346                 unsigned                : 1;
347                 unsigned R              : 1;
348                 unsigned                : 1;
349                 unsigned                : 1;
350                 unsigned D              : 1;
351                 unsigned                : 1;
352                 unsigned                : 1;
353         };
354 } __SSP2STATbits_t;
355 extern volatile __SSP2STATbits_t __at (0xF87) SSP2STATbits;
356
357 extern __sfr __at (0xF88) SSP2ADD;
358
359 extern __sfr __at (0xF89) LATA;
360 typedef union {
361         struct {
362                 unsigned LATA0          : 1;
363                 unsigned LATA1          : 1;
364                 unsigned LATA2          : 1;
365                 unsigned LATA3          : 1;
366                 unsigned                : 1;
367                 unsigned LATA5          : 1;
368                 unsigned                : 1;
369                 unsigned                : 1;
370         };
371 } __LATAbits_t;
372 extern volatile __LATAbits_t __at (0xF89) LATAbits;
373
374 extern __sfr __at (0xF8A) LATB;
375 typedef union {
376         struct {
377                 unsigned LATB0          : 1;
378                 unsigned LATB1          : 1;
379                 unsigned LATB2          : 1;
380                 unsigned LATB3          : 1;
381                 unsigned LATB4          : 1;
382                 unsigned LATB5          : 1;
383                 unsigned LATB6          : 1;
384                 unsigned LATB7          : 1;
385         };
386 } __LATBbits_t;
387 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
388
389 extern __sfr __at (0xF8B) LATC;
390 typedef union {
391         struct {
392                 unsigned LATC0          : 1;
393                 unsigned LATC1          : 1;
394                 unsigned LATC2          : 1;
395                 unsigned LATC3          : 1;
396                 unsigned LATC4          : 1;
397                 unsigned LATC5          : 1;
398                 unsigned LATC6          : 1;
399                 unsigned LATC7          : 1;
400         };
401 } __LATCbits_t;
402 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
403
404 extern __sfr __at (0xF8C) LATD;
405 typedef union {
406         struct {
407                 unsigned LATD0          : 1;
408                 unsigned LATD1          : 1;
409                 unsigned LATD2          : 1;
410                 unsigned LATD3          : 1;
411                 unsigned LATD4          : 1;
412                 unsigned LATD5          : 1;
413                 unsigned LATD6          : 1;
414                 unsigned LATD7          : 1;
415         };
416 } __LATDbits_t;
417 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
418
419 extern __sfr __at (0xF8D) LATE;
420 typedef union {
421         struct {
422                 unsigned LATE0          : 1;
423                 unsigned LATE1          : 1;
424                 unsigned LATE2          : 1;
425                 unsigned                : 1;
426                 unsigned                : 1;
427                 unsigned                : 1;
428                 unsigned                : 1;
429                 unsigned                : 1;
430         };
431 } __LATEbits_t;
432 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
433
434 extern __sfr __at (0xF8E) SSP2BUF;
435
436 extern __sfr __at (0xF92) DDRA;
437 typedef union {
438         struct {
439                 unsigned RA0            : 1;
440                 unsigned RA1            : 1;
441                 unsigned RA2            : 1;
442                 unsigned RA3            : 1;
443                 unsigned                : 1;
444                 unsigned RA5            : 1;
445                 unsigned                : 1;
446                 unsigned                : 1;
447         };
448 } __DDRAbits_t;
449 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
450
451 extern __sfr __at (0xF92) TRISA;
452 typedef union {
453         struct {
454                 unsigned TRISA0         : 1;
455                 unsigned TRISA1         : 1;
456                 unsigned TRISA2         : 1;
457                 unsigned TRISA3         : 1;
458                 unsigned                : 1;
459                 unsigned TRISA5         : 1;
460                 unsigned                : 1;
461                 unsigned                : 1;
462         };
463 } __TRISAbits_t;
464 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
465
466 extern __sfr __at (0xF93) DDRB;
467 typedef union {
468         struct {
469                 unsigned RB0            : 1;
470                 unsigned RB1            : 1;
471                 unsigned RB2            : 1;
472                 unsigned RB3            : 1;
473                 unsigned RB4            : 1;
474                 unsigned RB5            : 1;
475                 unsigned RB6            : 1;
476                 unsigned RB7            : 1;
477         };
478 } __DDRBbits_t;
479 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
480
481 extern __sfr __at (0xF93) TRISB;
482 typedef union {
483         struct {
484                 unsigned TRISB0         : 1;
485                 unsigned TRISB1         : 1;
486                 unsigned TRISB2         : 1;
487                 unsigned TRISB3         : 1;
488                 unsigned TRISB4         : 1;
489                 unsigned TRISB5         : 1;
490                 unsigned TRISB6         : 1;
491                 unsigned TRISB7         : 1;
492         };
493 } __TRISBbits_t;
494 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
495
496 extern __sfr __at (0xF94) DDRC;
497 typedef union {
498         struct {
499                 unsigned RC0            : 1;
500                 unsigned RC1            : 1;
501                 unsigned RC2            : 1;
502                 unsigned RC3            : 1;
503                 unsigned RC4            : 1;
504                 unsigned RC5            : 1;
505                 unsigned RC6            : 1;
506                 unsigned RC7            : 1;
507         };
508 } __DDRCbits_t;
509 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
510
511 extern __sfr __at (0xF94) TRISC;
512 typedef union {
513         struct {
514                 unsigned TRISC0         : 1;
515                 unsigned TRISC1         : 1;
516                 unsigned TRISC2         : 1;
517                 unsigned TRISC3         : 1;
518                 unsigned TRISC4         : 1;
519                 unsigned TRISC5         : 1;
520                 unsigned TRISC6         : 1;
521                 unsigned TRISC7         : 1;
522         };
523 } __TRISCbits_t;
524 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
525
526 extern __sfr __at (0xF95) DDRD;
527 typedef union {
528         struct {
529                 unsigned RD0            : 1;
530                 unsigned RD1            : 1;
531                 unsigned RD2            : 1;
532                 unsigned RD3            : 1;
533                 unsigned RD4            : 1;
534                 unsigned RD5            : 1;
535                 unsigned RD6            : 1;
536                 unsigned RD7            : 1;
537         };
538 } __DDRDbits_t;
539 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
540
541 extern __sfr __at (0xF95) TRISD;
542 typedef union {
543         struct {
544                 unsigned TRISD0         : 1;
545                 unsigned TRISD1         : 1;
546                 unsigned TRISD2         : 1;
547                 unsigned TRISD3         : 1;
548                 unsigned TRISD4         : 1;
549                 unsigned TRISD5         : 1;
550                 unsigned TRISD6         : 1;
551                 unsigned TRISD7         : 1;
552         };
553 } __TRISDbits_t;
554 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
555
556 extern __sfr __at (0xF96) DDRE;
557 typedef union {
558         struct {
559                 unsigned RE0            : 1;
560                 unsigned RE1            : 1;
561                 unsigned RE2            : 1;
562                 unsigned RE3            : 1;
563                 unsigned                : 1;
564                 unsigned                : 1;
565                 unsigned                : 1;
566                 unsigned                : 1;
567         };
568 } __DDREbits_t;
569 extern volatile __DDREbits_t __at (0xF96) DDREbits;
570
571 extern __sfr __at (0xF96) TRISE;
572 typedef union {
573         struct {
574                 unsigned TRISE0         : 1;
575                 unsigned TRISE1         : 1;
576                 unsigned TRISE2         : 1;
577                 unsigned                : 1;
578                 unsigned PSPMODE        : 1;
579                 unsigned IBOV           : 1;
580                 unsigned OBF            : 1;
581                 unsigned IBF            : 1;
582         };
583 } __TRISEbits_t;
584 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
585
586 extern __sfr __at (0xF9B) OSCTUNE;
587 typedef union {
588         struct {
589                 unsigned                : 1;
590                 unsigned                : 1;
591                 unsigned                : 1;
592                 unsigned                : 1;
593                 unsigned                : 1;
594                 unsigned                : 1;
595                 unsigned PLLEN          : 1;
596                 unsigned                : 1;
597         };
598 } __OSCTUNEbits_t;
599 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
600
601 extern __sfr __at (0xF9D) PIE1;
602 typedef union {
603         struct {
604                 unsigned TMR1IE         : 1;
605                 unsigned TMR2IE         : 1;
606                 unsigned CCP1IE         : 1;
607                 unsigned SSPIE          : 1;
608                 unsigned TXIE           : 1;
609                 unsigned RCIE           : 1;
610                 unsigned ADIE           : 1;
611                 unsigned PSPIE          : 1;
612         };
613         struct {
614                 unsigned                : 1;
615                 unsigned                : 1;
616                 unsigned                : 1;
617                 unsigned SSP1IE         : 1;
618                 unsigned TX1IE          : 1;
619                 unsigned RC1IE          : 1;
620                 unsigned                : 1;
621                 unsigned                : 1;
622         };
623 } __PIE1bits_t;
624 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
625
626 extern __sfr __at (0xF9E) PIR1;
627 typedef union {
628         struct {
629                 unsigned TMR1IF         : 1;
630                 unsigned TMR2IF         : 1;
631                 unsigned CCP1IF         : 1;
632                 unsigned SSPIF          : 1;
633                 unsigned TXIF           : 1;
634                 unsigned RCIF           : 1;
635                 unsigned ADIF           : 1;
636                 unsigned PSPIF          : 1;
637         };
638         struct {
639                 unsigned                : 1;
640                 unsigned                : 1;
641                 unsigned                : 1;
642                 unsigned SSP1IF         : 1;
643                 unsigned TX1IF          : 1;
644                 unsigned RC1IF          : 1;
645                 unsigned                : 1;
646                 unsigned                : 1;
647         };
648 } __PIR1bits_t;
649 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
650
651 extern __sfr __at (0xF9F) IPR1;
652 typedef union {
653         struct {
654                 unsigned TMR1IP         : 1;
655                 unsigned TMR2IP         : 1;
656                 unsigned CCP1IP         : 1;
657                 unsigned SSPIP          : 1;
658                 unsigned TXIP           : 1;
659                 unsigned RCIP           : 1;
660                 unsigned ADIP           : 1;
661                 unsigned PSPIP          : 1;
662         };
663         struct {
664                 unsigned                : 1;
665                 unsigned                : 1;
666                 unsigned                : 1;
667                 unsigned SSP1IP         : 1;
668                 unsigned TX1IP          : 1;
669                 unsigned RC1IP          : 1;
670                 unsigned                : 1;
671                 unsigned                : 1;
672         };
673 } __IPR1bits_t;
674 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
675
676 extern __sfr __at (0xFA0) PIE2;
677 typedef union {
678         struct {
679                 unsigned CCP2IE         : 1;
680                 unsigned                : 1;
681                 unsigned                : 1;
682                 unsigned BCLIE          : 1;
683                 unsigned                : 1;
684                 unsigned                : 1;
685                 unsigned CMIE           : 1;
686                 unsigned OSCFIE         : 1;
687         };
688         struct {
689                 unsigned                : 1;
690                 unsigned                : 1;
691                 unsigned                : 1;
692                 unsigned BCL1IE         : 1;
693                 unsigned                : 1;
694                 unsigned                : 1;
695                 unsigned                : 1;
696                 unsigned                : 1;
697         };
698 } __PIE2bits_t;
699 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
700
701 extern __sfr __at (0xFA1) PIR2;
702 typedef union {
703         struct {
704                 unsigned CCP2IF         : 1;
705                 unsigned                : 1;
706                 unsigned                : 1;
707                 unsigned BCLIF          : 1;
708                 unsigned                : 1;
709                 unsigned                : 1;
710                 unsigned CMIF           : 1;
711                 unsigned OSCFIF         : 1;
712         };
713         struct {
714                 unsigned                : 1;
715                 unsigned                : 1;
716                 unsigned                : 1;
717                 unsigned BCL1IF         : 1;
718                 unsigned                : 1;
719                 unsigned                : 1;
720                 unsigned                : 1;
721                 unsigned                : 1;
722         };
723 } __PIR2bits_t;
724 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
725
726 extern __sfr __at (0xFA2) IPR2;
727 typedef union {
728         struct {
729                 unsigned CCP2IP         : 1;
730                 unsigned                : 1;
731                 unsigned                : 1;
732                 unsigned BCLIP          : 1;
733                 unsigned                : 1;
734                 unsigned                : 1;
735                 unsigned CMIP           : 1;
736                 unsigned OSCFIP         : 1;
737         };
738         struct {
739                 unsigned                : 1;
740                 unsigned                : 1;
741                 unsigned                : 1;
742                 unsigned BCL1IP         : 1;
743                 unsigned                : 1;
744                 unsigned                : 1;
745                 unsigned                : 1;
746                 unsigned                : 1;
747         };
748 } __IPR2bits_t;
749 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
750
751 extern __sfr __at (0xFA3) PIE3;
752 typedef union {
753         struct {
754                 unsigned                : 1;
755                 unsigned                : 1;
756                 unsigned                : 1;
757                 unsigned                : 1;
758                 unsigned                : 1;
759                 unsigned                : 1;
760                 unsigned BCL2IE         : 1;
761                 unsigned SSP2IE         : 1;
762         };
763 } __PIE3bits_t;
764 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
765
766 extern __sfr __at (0xFA4) PIR3;
767 typedef union {
768         struct {
769                 unsigned                : 1;
770                 unsigned                : 1;
771                 unsigned                : 1;
772                 unsigned                : 1;
773                 unsigned                : 1;
774                 unsigned                : 1;
775                 unsigned BCL2IF         : 1;
776                 unsigned SSP2IF         : 1;
777         };
778 } __PIR3bits_t;
779 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
780
781 extern __sfr __at (0xFA5) IPR3;
782 typedef union {
783         struct {
784                 unsigned                : 1;
785                 unsigned                : 1;
786                 unsigned                : 1;
787                 unsigned                : 1;
788                 unsigned                : 1;
789                 unsigned                : 1;
790                 unsigned BCL2IP         : 1;
791                 unsigned SSP2IP         : 1;
792         };
793 } __IPR3bits_t;
794 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
795
796 extern __sfr __at (0xFA6) EECON1;
797 typedef union {
798         struct {
799                 unsigned                : 1;
800                 unsigned WR             : 1;
801                 unsigned WREN           : 1;
802                 unsigned WRERR          : 1;
803                 unsigned FREE           : 1;
804                 unsigned                : 1;
805                 unsigned                : 1;
806                 unsigned                : 1;
807         };
808 } __EECON1bits_t;
809 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
810
811 extern __sfr __at (0xFA7) EECON2;
812
813 extern __sfr __at (0xFAB) RCSTA;
814 typedef union {
815         struct {
816                 unsigned RX9D           : 1;
817                 unsigned OERR           : 1;
818                 unsigned FERR           : 1;
819                 unsigned ADDEN          : 1;
820                 unsigned CREN           : 1;
821                 unsigned SREN           : 1;
822                 unsigned RX9            : 1;
823                 unsigned SPEN           : 1;
824         };
825         struct {
826                 unsigned RCD8           : 1;
827                 unsigned                : 1;
828                 unsigned                : 1;
829                 unsigned ADEN           : 1;
830                 unsigned                : 1;
831                 unsigned                : 1;
832                 unsigned RC9            : 1;
833                 unsigned                : 1;
834         };
835         struct {
836                 unsigned                : 1;
837                 unsigned                : 1;
838                 unsigned                : 1;
839                 unsigned                : 1;
840                 unsigned                : 1;
841                 unsigned                : 1;
842                 unsigned NOT_RC8        : 1;
843                 unsigned                : 1;
844         };
845         struct {
846                 unsigned                : 1;
847                 unsigned                : 1;
848                 unsigned                : 1;
849                 unsigned                : 1;
850                 unsigned                : 1;
851                 unsigned                : 1;
852                 unsigned RC8_9          : 1;
853                 unsigned                : 1;
854         };
855 } __RCSTAbits_t;
856 extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
857
858 extern __sfr __at (0xFAB) RCSTA1;
859 typedef union {
860         struct {
861                 unsigned RX9D           : 1;
862                 unsigned OERR           : 1;
863                 unsigned FERR           : 1;
864                 unsigned ADDEN          : 1;
865                 unsigned CREN           : 1;
866                 unsigned SREN           : 1;
867                 unsigned RX9            : 1;
868                 unsigned SPEN           : 1;
869         };
870         struct {
871                 unsigned RCD8           : 1;
872                 unsigned                : 1;
873                 unsigned                : 1;
874                 unsigned                : 1;
875                 unsigned                : 1;
876                 unsigned                : 1;
877                 unsigned RC9            : 1;
878                 unsigned                : 1;
879         };
880         struct {
881                 unsigned                : 1;
882                 unsigned                : 1;
883                 unsigned                : 1;
884                 unsigned                : 1;
885                 unsigned                : 1;
886                 unsigned                : 1;
887                 unsigned NOT_RC8        : 1;
888                 unsigned                : 1;
889         };
890         struct {
891                 unsigned                : 1;
892                 unsigned                : 1;
893                 unsigned                : 1;
894                 unsigned                : 1;
895                 unsigned                : 1;
896                 unsigned                : 1;
897                 unsigned RC8_9          : 1;
898                 unsigned                : 1;
899         };
900 } __RCSTA1bits_t;
901 extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
902
903 extern __sfr __at (0xFAC) TXSTA;
904 typedef union {
905         struct {
906                 unsigned TX9D           : 1;
907                 unsigned TRMT           : 1;
908                 unsigned BRGH           : 1;
909                 unsigned SENDB          : 1;
910                 unsigned SYNC           : 1;
911                 unsigned TXEN           : 1;
912                 unsigned TX9            : 1;
913                 unsigned CSRC           : 1;
914         };
915         struct {
916                 unsigned TXD8           : 1;
917                 unsigned                : 1;
918                 unsigned                : 1;
919                 unsigned                : 1;
920                 unsigned                : 1;
921                 unsigned                : 1;
922                 unsigned TX8_9          : 1;
923                 unsigned                : 1;
924         };
925         struct {
926                 unsigned                : 1;
927                 unsigned                : 1;
928                 unsigned                : 1;
929                 unsigned                : 1;
930                 unsigned                : 1;
931                 unsigned                : 1;
932                 unsigned NOT_TX8        : 1;
933                 unsigned                : 1;
934         };
935 } __TXSTAbits_t;
936 extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
937
938 extern __sfr __at (0xFAC) TXSTA1;
939 typedef union {
940         struct {
941                 unsigned TX9D           : 1;
942                 unsigned TRMT           : 1;
943                 unsigned BRGH           : 1;
944                 unsigned SENDB          : 1;
945                 unsigned SYNC           : 1;
946                 unsigned TXEN           : 1;
947                 unsigned TX9            : 1;
948                 unsigned CSRC           : 1;
949         };
950         struct {
951                 unsigned TXD8           : 1;
952                 unsigned                : 1;
953                 unsigned                : 1;
954                 unsigned                : 1;
955                 unsigned                : 1;
956                 unsigned                : 1;
957                 unsigned TX8_9          : 1;
958                 unsigned                : 1;
959         };
960         struct {
961                 unsigned                : 1;
962                 unsigned                : 1;
963                 unsigned                : 1;
964                 unsigned                : 1;
965                 unsigned                : 1;
966                 unsigned                : 1;
967                 unsigned NOT_TX8        : 1;
968                 unsigned                : 1;
969         };
970 } __TXSTA1bits_t;
971 extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
972
973 extern __sfr __at (0xFAD) TXREG;
974
975 extern __sfr __at (0xFAD) TXREG1;
976
977 extern __sfr __at (0xFAE) RCREG;
978
979 extern __sfr __at (0xFAE) RCREG1;
980
981 extern __sfr __at (0xFAF) SPBRG;
982
983 extern __sfr __at (0xFAF) SPBRG1;
984
985 extern __sfr __at (0xFB0) SPBRGH;
986
987 extern __sfr __at (0xFB4) CMCON;
988 typedef union {
989         struct {
990                 unsigned CM0            : 1;
991                 unsigned CM1            : 1;
992                 unsigned CM2            : 1;
993                 unsigned CIS            : 1;
994                 unsigned C1INV          : 1;
995                 unsigned C2INV          : 1;
996                 unsigned C1OUT_CMCON    : 1;
997                 unsigned C2OUT_CMCON    : 1;
998         };
999 } __CMCONbits_t;
1000 extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
1001
1002 extern __sfr __at (0xFB5) CVRCON;
1003 typedef union {
1004         struct {
1005                 unsigned CVR0           : 1;
1006                 unsigned CVR1           : 1;
1007                 unsigned CVR2           : 1;
1008                 unsigned CVR3           : 1;
1009                 unsigned CVRSS          : 1;
1010                 unsigned CVRR           : 1;
1011                 unsigned CVROE          : 1;
1012                 unsigned CVREN          : 1;
1013         };
1014 } __CVRCONbits_t;
1015 extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
1016
1017 extern __sfr __at (0xFB6) ECCP1AS;
1018 typedef union {
1019         struct {
1020                 unsigned PSSBD0         : 1;
1021                 unsigned PSSBD1         : 1;
1022                 unsigned PSSAC0         : 1;
1023                 unsigned PSSAC1         : 1;
1024                 unsigned ECCPAS0        : 1;
1025                 unsigned ECCPAS1        : 1;
1026                 unsigned ECCPAS2        : 1;
1027                 unsigned ECCPASE        : 1;
1028         };
1029 } __ECCP1ASbits_t;
1030 extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
1031
1032 extern __sfr __at (0xFB7) ECCP1DEL;
1033 typedef union {
1034         struct {
1035                 unsigned PDC0           : 1;
1036                 unsigned PDC1           : 1;
1037                 unsigned PDC2           : 1;
1038                 unsigned PDC3           : 1;
1039                 unsigned PDC4           : 1;
1040                 unsigned PDC5           : 1;
1041                 unsigned PDC6           : 1;
1042                 unsigned PRSEN          : 1;
1043         };
1044 } __ECCP1DELbits_t;
1045 extern volatile __ECCP1DELbits_t __at (0xFB7) ECCP1DELbits;
1046
1047 extern __sfr __at (0xFB7) PWM1CON;
1048 typedef union {
1049         struct {
1050                 unsigned PDC0           : 1;
1051                 unsigned PDC1           : 1;
1052                 unsigned PDC2           : 1;
1053                 unsigned PDC3           : 1;
1054                 unsigned PDC4           : 1;
1055                 unsigned PDC5           : 1;
1056                 unsigned PDC6           : 1;
1057                 unsigned PRSEN          : 1;
1058         };
1059 } __PWM1CONbits_t;
1060 extern volatile __PWM1CONbits_t __at (0xFB7) PWM1CONbits;
1061
1062 extern __sfr __at (0xFB8) BAUDCON;
1063 typedef union {
1064         struct {
1065                 unsigned ABDEN          : 1;
1066                 unsigned WUE            : 1;
1067                 unsigned                : 1;
1068                 unsigned BRG16          : 1;
1069                 unsigned SCKP           : 1;
1070                 unsigned                : 1;
1071                 unsigned RCIDL          : 1;
1072                 unsigned ABDOVF         : 1;
1073         };
1074         struct {
1075                 unsigned                : 1;
1076                 unsigned                : 1;
1077                 unsigned                : 1;
1078                 unsigned                : 1;
1079                 unsigned                : 1;
1080                 unsigned                : 1;
1081                 unsigned RCMT           : 1;
1082                 unsigned                : 1;
1083         };
1084 } __BAUDCONbits_t;
1085 extern volatile __BAUDCONbits_t __at (0xFB8) BAUDCONbits;
1086
1087 extern __sfr __at (0xFB8) BAUDCTL;
1088 typedef union {
1089         struct {
1090                 unsigned ABDEN          : 1;
1091                 unsigned WUE            : 1;
1092                 unsigned                : 1;
1093                 unsigned BRG16          : 1;
1094                 unsigned SCKP           : 1;
1095                 unsigned                : 1;
1096                 unsigned RCIDL          : 1;
1097                 unsigned ABDOVF         : 1;
1098         };
1099         struct {
1100                 unsigned                : 1;
1101                 unsigned                : 1;
1102                 unsigned                : 1;
1103                 unsigned                : 1;
1104                 unsigned                : 1;
1105                 unsigned                : 1;
1106                 unsigned RCMT           : 1;
1107                 unsigned                : 1;
1108         };
1109 } __BAUDCTLbits_t;
1110 extern volatile __BAUDCTLbits_t __at (0xFB8) BAUDCTLbits;
1111
1112 extern __sfr __at (0xFBA) CCP2CON;
1113 typedef union {
1114         struct {
1115                 unsigned CCP2M0         : 1;
1116                 unsigned CCP2M1         : 1;
1117                 unsigned CCP2M2         : 1;
1118                 unsigned CCP2M3         : 1;
1119                 unsigned DC2B0          : 1;
1120                 unsigned DC2B1          : 1;
1121                 unsigned                : 1;
1122                 unsigned                : 1;
1123         };
1124         struct {
1125                 unsigned                : 1;
1126                 unsigned                : 1;
1127                 unsigned                : 1;
1128                 unsigned                : 1;
1129                 unsigned CCP2Y          : 1;
1130                 unsigned CCP2X          : 1;
1131                 unsigned                : 1;
1132                 unsigned                : 1;
1133         };
1134 } __CCP2CONbits_t;
1135 extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
1136
1137 extern __sfr __at (0xFBB) CCPR2;
1138
1139 extern __sfr __at (0xFBB) CCPR2L;
1140
1141 extern __sfr __at (0xFBC) CCPR2H;
1142
1143 extern __sfr __at (0xFBD) CCP1CON;
1144 typedef union {
1145         struct {
1146                 unsigned CCP1M0         : 1;
1147                 unsigned CCP1M1         : 1;
1148                 unsigned CCP1M2         : 1;
1149                 unsigned CCP1M3         : 1;
1150                 unsigned DC1B0          : 1;
1151                 unsigned DC1B1          : 1;
1152                 unsigned P1M0           : 1;
1153                 unsigned P1M1           : 1;
1154         };
1155         struct {
1156                 unsigned                : 1;
1157                 unsigned                : 1;
1158                 unsigned                : 1;
1159                 unsigned                : 1;
1160                 unsigned CCP1Y          : 1;
1161                 unsigned CCP1X          : 1;
1162                 unsigned                : 1;
1163                 unsigned                : 1;
1164         };
1165 } __CCP1CONbits_t;
1166 extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
1167
1168 extern __sfr __at (0xFBD) ECCP1CON;
1169 typedef union {
1170         struct {
1171                 unsigned CCP1M0         : 1;
1172                 unsigned CCP1M1         : 1;
1173                 unsigned CCP1M2         : 1;
1174                 unsigned CCP1M3         : 1;
1175                 unsigned DC1B0          : 1;
1176                 unsigned DC1B1          : 1;
1177                 unsigned P1M0           : 1;
1178                 unsigned P1M1           : 1;
1179         };
1180         struct {
1181                 unsigned                : 1;
1182                 unsigned                : 1;
1183                 unsigned                : 1;
1184                 unsigned                : 1;
1185                 unsigned CCP1Y          : 1;
1186                 unsigned CCP1X          : 1;
1187                 unsigned                : 1;
1188                 unsigned                : 1;
1189         };
1190 } __ECCP1CONbits_t;
1191 extern volatile __ECCP1CONbits_t __at (0xFBD) ECCP1CONbits;
1192
1193 extern __sfr __at (0xFBE) CCPR1;
1194
1195 extern __sfr __at (0xFBE) CCPR1L;
1196
1197 extern __sfr __at (0xFBF) CCPR1H;
1198
1199 extern __sfr __at (0xFC0) ADCON2;
1200 typedef union {
1201         struct {
1202                 unsigned ADCS0          : 1;
1203                 unsigned ADCS1          : 1;
1204                 unsigned ADCS2          : 1;
1205                 unsigned ACQT0          : 1;
1206                 unsigned ACQT1          : 1;
1207                 unsigned ACQT2          : 1;
1208                 unsigned                : 1;
1209                 unsigned ADFM           : 1;
1210         };
1211 } __ADCON2bits_t;
1212 extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
1213
1214 extern __sfr __at (0xFC1) ADCON1;
1215 typedef union {
1216         struct {
1217                 unsigned PCFG0          : 1;
1218                 unsigned PCFG1          : 1;
1219                 unsigned PCFG2          : 1;
1220                 unsigned PCFG3          : 1;
1221                 unsigned VCFG0          : 1;
1222                 unsigned VCFG1          : 1;
1223                 unsigned                : 1;
1224                 unsigned                : 1;
1225         };
1226 } __ADCON1bits_t;
1227 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
1228
1229 extern __sfr __at (0xFC2) ADCON0;
1230 typedef union {
1231         struct {
1232                 unsigned ADON           : 1;
1233                 unsigned DONE           : 1;
1234                 unsigned CHS0           : 1;
1235                 unsigned CHS1           : 1;
1236                 unsigned CHS2           : 1;
1237                 unsigned CHS3           : 1;
1238                 unsigned                : 1;
1239                 unsigned ADCAL          : 1;
1240         };
1241         struct {
1242                 unsigned                : 1;
1243                 unsigned GO_DONE        : 1;
1244                 unsigned                : 1;
1245                 unsigned                : 1;
1246                 unsigned                : 1;
1247                 unsigned                : 1;
1248                 unsigned                : 1;
1249                 unsigned                : 1;
1250         };
1251         struct {
1252                 unsigned                : 1;
1253                 unsigned GO             : 1;
1254                 unsigned                : 1;
1255                 unsigned                : 1;
1256                 unsigned                : 1;
1257                 unsigned                : 1;
1258                 unsigned                : 1;
1259                 unsigned                : 1;
1260         };
1261         struct {
1262                 unsigned                : 1;
1263                 unsigned NOT_DONE       : 1;
1264                 unsigned                : 1;
1265                 unsigned                : 1;
1266                 unsigned                : 1;
1267                 unsigned                : 1;
1268                 unsigned                : 1;
1269                 unsigned                : 1;
1270         };
1271 } __ADCON0bits_t;
1272 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
1273
1274 extern __sfr __at (0xFC3) ADRES;
1275
1276 extern __sfr __at (0xFC3) ADRESL;
1277
1278 extern __sfr __at (0xFC4) ADRESH;
1279
1280 extern __sfr __at (0xFC5) SSP1CON2;
1281 typedef union {
1282         struct {
1283                 unsigned SEN            : 1;
1284                 unsigned RSEN           : 1;
1285                 unsigned PEN            : 1;
1286                 unsigned RCEN           : 1;
1287                 unsigned ACKEN          : 1;
1288                 unsigned ACKDT          : 1;
1289                 unsigned ACKSTAT        : 1;
1290                 unsigned GCEN           : 1;
1291         };
1292 } __SSP1CON2bits_t;
1293 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
1294
1295 extern __sfr __at (0xFC5) SSPCON2;
1296 typedef union {
1297         struct {
1298                 unsigned SEN            : 1;
1299                 unsigned RSEN           : 1;
1300                 unsigned PEN            : 1;
1301                 unsigned RCEN           : 1;
1302                 unsigned ACKEN          : 1;
1303                 unsigned ACKDT          : 1;
1304                 unsigned ACKSTAT        : 1;
1305                 unsigned GCEN           : 1;
1306         };
1307 } __SSPCON2bits_t;
1308 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
1309
1310 extern __sfr __at (0xFC6) SSP1CON1;
1311 typedef union {
1312         struct {
1313                 unsigned SSPM0          : 1;
1314                 unsigned SSPM1          : 1;
1315                 unsigned SSPM2          : 1;
1316                 unsigned SSPM3          : 1;
1317                 unsigned CKP            : 1;
1318                 unsigned SSPEN          : 1;
1319                 unsigned SSPOV          : 1;
1320                 unsigned WCOL           : 1;
1321         };
1322 } __SSP1CON1bits_t;
1323 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
1324
1325 extern __sfr __at (0xFC6) SSPCON1;
1326 typedef union {
1327         struct {
1328                 unsigned SSPM0          : 1;
1329                 unsigned SSPM1          : 1;
1330                 unsigned SSPM2          : 1;
1331                 unsigned SSPM3          : 1;
1332                 unsigned CKP            : 1;
1333                 unsigned SSPEN          : 1;
1334                 unsigned SSPOV          : 1;
1335                 unsigned WCOL           : 1;
1336         };
1337 } __SSPCON1bits_t;
1338 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
1339
1340 extern __sfr __at (0xFC7) SSP1STAT;
1341 typedef union {
1342         struct {
1343                 unsigned BF             : 1;
1344                 unsigned UA             : 1;
1345                 unsigned R_W            : 1;
1346                 unsigned S              : 1;
1347                 unsigned P              : 1;
1348                 unsigned D_A            : 1;
1349                 unsigned CKE            : 1;
1350                 unsigned SMP            : 1;
1351         };
1352         struct {
1353                 unsigned                : 1;
1354                 unsigned                : 1;
1355                 unsigned I2C_READ       : 1;
1356                 unsigned I2C_START      : 1;
1357                 unsigned I2C_STOP       : 1;
1358                 unsigned I2C_DAT        : 1;
1359                 unsigned                : 1;
1360                 unsigned                : 1;
1361         };
1362         struct {
1363                 unsigned                : 1;
1364                 unsigned                : 1;
1365                 unsigned NOT_W          : 1;
1366                 unsigned                : 1;
1367                 unsigned                : 1;
1368                 unsigned NOT_A          : 1;
1369                 unsigned                : 1;
1370                 unsigned                : 1;
1371         };
1372         struct {
1373                 unsigned                : 1;
1374                 unsigned                : 1;
1375                 unsigned NOT_WRITE      : 1;
1376                 unsigned                : 1;
1377                 unsigned                : 1;
1378                 unsigned NOT_ADDRESS    : 1;
1379                 unsigned                : 1;
1380                 unsigned                : 1;
1381         };
1382         struct {
1383                 unsigned                : 1;
1384                 unsigned                : 1;
1385                 unsigned READ_WRITE     : 1;
1386                 unsigned                : 1;
1387                 unsigned                : 1;
1388                 unsigned DATA_ADDRESS   : 1;
1389                 unsigned                : 1;
1390                 unsigned                : 1;
1391         };
1392         struct {
1393                 unsigned                : 1;
1394                 unsigned                : 1;
1395                 unsigned R              : 1;
1396                 unsigned                : 1;
1397                 unsigned                : 1;
1398                 unsigned D              : 1;
1399                 unsigned                : 1;
1400                 unsigned                : 1;
1401         };
1402 } __SSP1STATbits_t;
1403 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
1404
1405 extern __sfr __at (0xFC7) SSPSTAT;
1406 typedef union {
1407         struct {
1408                 unsigned BF             : 1;
1409                 unsigned UA             : 1;
1410                 unsigned R_W            : 1;
1411                 unsigned S              : 1;
1412                 unsigned P              : 1;
1413                 unsigned D_A            : 1;
1414                 unsigned CKE            : 1;
1415                 unsigned SMP            : 1;
1416         };
1417         struct {
1418                 unsigned                : 1;
1419                 unsigned                : 1;
1420                 unsigned I2C_READ       : 1;
1421                 unsigned I2C_START      : 1;
1422                 unsigned I2C_STOP       : 1;
1423                 unsigned I2C_DAT        : 1;
1424                 unsigned                : 1;
1425                 unsigned                : 1;
1426         };
1427         struct {
1428                 unsigned                : 1;
1429                 unsigned                : 1;
1430                 unsigned NOT_W          : 1;
1431                 unsigned                : 1;
1432                 unsigned                : 1;
1433                 unsigned NOT_A          : 1;
1434                 unsigned                : 1;
1435                 unsigned                : 1;
1436         };
1437         struct {
1438                 unsigned                : 1;
1439                 unsigned                : 1;
1440                 unsigned NOT_WRITE      : 1;
1441                 unsigned                : 1;
1442                 unsigned                : 1;
1443                 unsigned NOT_ADDRESS    : 1;
1444                 unsigned                : 1;
1445                 unsigned                : 1;
1446         };
1447         struct {
1448                 unsigned                : 1;
1449                 unsigned                : 1;
1450                 unsigned READ_WRITE     : 1;
1451                 unsigned                : 1;
1452                 unsigned                : 1;
1453                 unsigned DATA_ADDRESS   : 1;
1454                 unsigned                : 1;
1455                 unsigned                : 1;
1456         };
1457         struct {
1458                 unsigned                : 1;
1459                 unsigned                : 1;
1460                 unsigned R              : 1;
1461                 unsigned                : 1;
1462                 unsigned                : 1;
1463                 unsigned D              : 1;
1464                 unsigned                : 1;
1465                 unsigned                : 1;
1466         };
1467 } __SSPSTATbits_t;
1468 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
1469
1470 extern __sfr __at (0xFC8) SSP1ADD;
1471
1472 extern __sfr __at (0xFC8) SSPADD;
1473
1474 extern __sfr __at (0xFC9) SSP1BUF;
1475
1476 extern __sfr __at (0xFC9) SSPBUF;
1477
1478 extern __sfr __at (0xFCA) T2CON;
1479 typedef union {
1480         struct {
1481                 unsigned T2CKPS0        : 1;
1482                 unsigned T2CKPS1        : 1;
1483                 unsigned TMR2ON         : 1;
1484                 unsigned T2OUTPS0       : 1;
1485                 unsigned T2OUTPS1       : 1;
1486                 unsigned T2OUTPS2       : 1;
1487                 unsigned T2OUTPS3       : 1;
1488                 unsigned                : 1;
1489         };
1490         struct {
1491                 unsigned                : 1;
1492                 unsigned                : 1;
1493                 unsigned                : 1;
1494                 unsigned TOUTPS0        : 1;
1495                 unsigned TOUTPS1        : 1;
1496                 unsigned TOUTPS2        : 1;
1497                 unsigned TOUTPS3        : 1;
1498                 unsigned                : 1;
1499         };
1500 } __T2CONbits_t;
1501 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
1502
1503 extern __sfr __at (0xFCB) PR2;
1504
1505 extern __sfr __at (0xFCC) TMR2;
1506
1507 extern __sfr __at (0xFCD) T1CON;
1508 typedef union {
1509         struct {
1510                 unsigned TMR1ON         : 1;
1511                 unsigned TMR1CS         : 1;
1512                 unsigned T1SYNC         : 1;
1513                 unsigned T1OSCEN        : 1;
1514                 unsigned T1CKPS0        : 1;
1515                 unsigned T1CKPS1        : 1;
1516                 unsigned T1RUN          : 1;
1517                 unsigned RD16           : 1;
1518         };
1519         struct {
1520                 unsigned                : 1;
1521                 unsigned                : 1;
1522                 unsigned T1INSYNC       : 1;
1523                 unsigned                : 1;
1524                 unsigned                : 1;
1525                 unsigned                : 1;
1526                 unsigned                : 1;
1527                 unsigned                : 1;
1528         };
1529         struct {
1530                 unsigned                : 1;
1531                 unsigned                : 1;
1532                 unsigned NOT_T1SYNC     : 1;
1533                 unsigned                : 1;
1534                 unsigned                : 1;
1535                 unsigned                : 1;
1536                 unsigned                : 1;
1537                 unsigned                : 1;
1538         };
1539 } __T1CONbits_t;
1540 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
1541
1542 extern __sfr __at (0xFCE) TMR1L;
1543
1544 extern __sfr __at (0xFCF) TMR1H;
1545
1546 extern __sfr __at (0xFD0) RCON;
1547 typedef union {
1548         struct {
1549                 unsigned NOT_BOR        : 1;
1550                 unsigned NOT_POR        : 1;
1551                 unsigned NOT_PD         : 1;
1552                 unsigned NOT_TO         : 1;
1553                 unsigned NOT_RI         : 1;
1554                 unsigned                : 1;
1555                 unsigned                : 1;
1556                 unsigned IPEN           : 1;
1557         };
1558         struct {
1559                 unsigned BOR            : 1;
1560                 unsigned POR            : 1;
1561                 unsigned PD             : 1;
1562                 unsigned TO             : 1;
1563                 unsigned RI             : 1;
1564                 unsigned                : 1;
1565                 unsigned                : 1;
1566                 unsigned                : 1;
1567         };
1568 } __RCONbits_t;
1569 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
1570
1571 extern __sfr __at (0xFD1) WDTCON;
1572 typedef union {
1573         struct {
1574                 unsigned SWDTE          : 1;
1575                 unsigned                : 1;
1576                 unsigned                : 1;
1577                 unsigned                : 1;
1578                 unsigned                : 1;
1579                 unsigned                : 1;
1580                 unsigned                : 1;
1581                 unsigned                : 1;
1582         };
1583         struct {
1584                 unsigned SWDTEN         : 1;
1585                 unsigned                : 1;
1586                 unsigned                : 1;
1587                 unsigned                : 1;
1588                 unsigned                : 1;
1589                 unsigned                : 1;
1590                 unsigned                : 1;
1591                 unsigned                : 1;
1592         };
1593 } __WDTCONbits_t;
1594 extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
1595
1596 extern __sfr __at (0xFD3) OSCCON;
1597 typedef union {
1598         struct {
1599                 unsigned SCS0           : 1;
1600                 unsigned SCS1           : 1;
1601                 unsigned                : 1;
1602                 unsigned OSTS           : 1;
1603                 unsigned                : 1;
1604                 unsigned                : 1;
1605                 unsigned                : 1;
1606                 unsigned IDLEN          : 1;
1607         };
1608 } __OSCCONbits_t;
1609 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
1610
1611 extern __sfr __at (0xFD5) T0CON;
1612 typedef union {
1613         struct {
1614                 unsigned T0PS0          : 1;
1615                 unsigned T0PS1          : 1;
1616                 unsigned T0PS2          : 1;
1617                 unsigned PSA            : 1;
1618                 unsigned T0SE           : 1;
1619                 unsigned T0CS           : 1;
1620                 unsigned T08BIT         : 1;
1621                 unsigned TMR0ON         : 1;
1622         };
1623 } __T0CONbits_t;
1624 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
1625
1626 extern __sfr __at (0xFD6) TMR0L;
1627
1628 extern __sfr __at (0xFD7) TMR0H;
1629
1630 extern __sfr __at (0xFD8) STATUS;
1631 typedef union {
1632         struct {
1633                 unsigned C              : 1;
1634                 unsigned DC             : 1;
1635                 unsigned Z              : 1;
1636                 unsigned OV             : 1;
1637                 unsigned N              : 1;
1638                 unsigned                : 1;
1639                 unsigned                : 1;
1640                 unsigned                : 1;
1641         };
1642 } __STATUSbits_t;
1643 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
1644
1645 extern __sfr __at (0xFD9) FSR2L;
1646
1647 extern __sfr __at (0xFDA) FSR2H;
1648
1649 extern __sfr __at (0xFDB) PLUSW2;
1650
1651 extern __sfr __at (0xFDC) PREINC2;
1652
1653 extern __sfr __at (0xFDD) POSTDEC2;
1654
1655 extern __sfr __at (0xFDE) POSTINC2;
1656
1657 extern __sfr __at (0xFDF) INDF2;
1658
1659 extern __sfr __at (0xFE0) BSR;
1660
1661 extern __sfr __at (0xFE1) FSR1L;
1662
1663 extern __sfr __at (0xFE2) FSR1H;
1664
1665 extern __sfr __at (0xFE3) PLUSW1;
1666
1667 extern __sfr __at (0xFE4) PREINC1;
1668
1669 extern __sfr __at (0xFE5) POSTDEC1;
1670
1671 extern __sfr __at (0xFE6) POSTINC1;
1672
1673 extern __sfr __at (0xFE7) INDF1;
1674
1675 extern __sfr __at (0xFE8) WREG;
1676
1677 extern __sfr __at (0xFE9) FSR0L;
1678
1679 extern __sfr __at (0xFEA) FSR0H;
1680
1681 extern __sfr __at (0xFEB) PLUSW0;
1682
1683 extern __sfr __at (0xFEC) PREINC0;
1684
1685 extern __sfr __at (0xFED) POSTDEC0;
1686
1687 extern __sfr __at (0xFEE) POSTINC0;
1688
1689 extern __sfr __at (0xFEF) INDF0;
1690
1691 extern __sfr __at (0xFF0) INTCON3;
1692 typedef union {
1693         struct {
1694                 unsigned INT1F          : 1;
1695                 unsigned INT2F          : 1;
1696                 unsigned                : 1;
1697                 unsigned INT1E          : 1;
1698                 unsigned INT2E          : 1;
1699                 unsigned                : 1;
1700                 unsigned INT1P          : 1;
1701                 unsigned INT2P          : 1;
1702         };
1703         struct {
1704                 unsigned INT1IF         : 1;
1705                 unsigned INT2IF         : 1;
1706                 unsigned                : 1;
1707                 unsigned INT1IE         : 1;
1708                 unsigned INT2IE         : 1;
1709                 unsigned                : 1;
1710                 unsigned INT1IP         : 1;
1711                 unsigned INT2IP         : 1;
1712         };
1713 } __INTCON3bits_t;
1714 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
1715
1716 extern __sfr __at (0xFF1) INTCON2;
1717 typedef union {
1718         struct {
1719                 unsigned RBIP           : 1;
1720                 unsigned                : 1;
1721                 unsigned T0IP           : 1;
1722                 unsigned                : 1;
1723                 unsigned INTEDG2        : 1;
1724                 unsigned INTEDG1        : 1;
1725                 unsigned INTEDG0        : 1;
1726                 unsigned NOT_RBPU       : 1;
1727         };
1728         struct {
1729                 unsigned                : 1;
1730                 unsigned                : 1;
1731                 unsigned TMR0IP         : 1;
1732                 unsigned                : 1;
1733                 unsigned                : 1;
1734                 unsigned                : 1;
1735                 unsigned                : 1;
1736                 unsigned RBPU           : 1;
1737         };
1738 } __INTCON2bits_t;
1739 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
1740
1741 extern __sfr __at (0xFF2) INTCON;
1742 typedef union {
1743         struct {
1744                 unsigned RBIF           : 1;
1745                 unsigned INT0F          : 1;
1746                 unsigned T0IF           : 1;
1747                 unsigned RBIE           : 1;
1748                 unsigned INT0E          : 1;
1749                 unsigned T0IE           : 1;
1750                 unsigned PEIE           : 1;
1751                 unsigned GIE            : 1;
1752         };
1753         struct {
1754                 unsigned                : 1;
1755                 unsigned INT0IF         : 1;
1756                 unsigned TMR0IF         : 1;
1757                 unsigned                : 1;
1758                 unsigned INT0IE         : 1;
1759                 unsigned TMR0IE         : 1;
1760                 unsigned GIEL           : 1;
1761                 unsigned GIEH           : 1;
1762         };
1763 } __INTCONbits_t;
1764 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
1765
1766 extern __sfr __at (0xFF3) PROD;
1767
1768 extern __sfr __at (0xFF3) PRODL;
1769
1770 extern __sfr __at (0xFF4) PRODH;
1771
1772 extern __sfr __at (0xFF5) TABLAT;
1773
1774 extern __sfr __at (0xFF6) TBLPTR;
1775
1776 extern __sfr __at (0xFF6) TBLPTRL;
1777
1778 extern __sfr __at (0xFF7) TBLPTRH;
1779
1780 extern __sfr __at (0xFF8) TBLPTRU;
1781
1782 extern __sfr __at (0xFF9) PC;
1783
1784 extern __sfr __at (0xFF9) PCL;
1785
1786 extern __sfr __at (0xFFA) PCLATH;
1787
1788 extern __sfr __at (0xFFB) PCLATU;
1789
1790 extern __sfr __at (0xFFC) STKPTR;
1791 typedef union {
1792         struct {
1793                 unsigned STKPTR0        : 1;
1794                 unsigned STKPTR1        : 1;
1795                 unsigned STKPTR2        : 1;
1796                 unsigned STKPTR3        : 1;
1797                 unsigned STKPTR4        : 1;
1798                 unsigned                : 1;
1799                 unsigned STKUNF         : 1;
1800                 unsigned STKOVF         : 1;
1801         };
1802         struct {
1803                 unsigned                : 1;
1804                 unsigned                : 1;
1805                 unsigned                : 1;
1806                 unsigned                : 1;
1807                 unsigned                : 1;
1808                 unsigned                : 1;
1809                 unsigned                : 1;
1810                 unsigned STKFUL         : 1;
1811         };
1812 } __STKPTRbits_t;
1813 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
1814
1815 extern __sfr __at (0xFFD) TOS;
1816
1817 extern __sfr __at (0xFFD) TOSL;
1818
1819 extern __sfr __at (0xFFE) TOSH;
1820
1821 extern __sfr __at (0xFFF) TOSU;
1822
1823
1824 #endif
1825