Imported Upstream version 2.9.0
[debian/cc1111] / device / include / pic16 / pic18f24j10.h
1 /* 
2  * pic18f24j10.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 __PIC18F24J10_H__
12 #define __PIC18F24J10_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 (0xF89) LATA;
173 typedef union {
174         struct {
175                 unsigned LATA0          : 1;
176                 unsigned LATA1          : 1;
177                 unsigned LATA2          : 1;
178                 unsigned LATA3          : 1;
179                 unsigned                : 1;
180                 unsigned LATA5          : 1;
181                 unsigned                : 1;
182                 unsigned                : 1;
183         };
184 } __LATAbits_t;
185 extern volatile __LATAbits_t __at (0xF89) LATAbits;
186
187 extern __sfr __at (0xF8A) LATB;
188 typedef union {
189         struct {
190                 unsigned LATB0          : 1;
191                 unsigned LATB1          : 1;
192                 unsigned LATB2          : 1;
193                 unsigned LATB3          : 1;
194                 unsigned LATB4          : 1;
195                 unsigned LATB5          : 1;
196                 unsigned LATB6          : 1;
197                 unsigned LATB7          : 1;
198         };
199 } __LATBbits_t;
200 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
201
202 extern __sfr __at (0xF8B) LATC;
203 typedef union {
204         struct {
205                 unsigned LATC0          : 1;
206                 unsigned LATC1          : 1;
207                 unsigned LATC2          : 1;
208                 unsigned LATC3          : 1;
209                 unsigned LATC4          : 1;
210                 unsigned LATC5          : 1;
211                 unsigned LATC6          : 1;
212                 unsigned LATC7          : 1;
213         };
214 } __LATCbits_t;
215 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
216
217 extern __sfr __at (0xF92) DDRA;
218 typedef union {
219         struct {
220                 unsigned RA0            : 1;
221                 unsigned RA1            : 1;
222                 unsigned RA2            : 1;
223                 unsigned RA3            : 1;
224                 unsigned                : 1;
225                 unsigned RA5            : 1;
226                 unsigned                : 1;
227                 unsigned                : 1;
228         };
229 } __DDRAbits_t;
230 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
231
232 extern __sfr __at (0xF92) TRISA;
233 typedef union {
234         struct {
235                 unsigned TRISA0         : 1;
236                 unsigned TRISA1         : 1;
237                 unsigned TRISA2         : 1;
238                 unsigned TRISA3         : 1;
239                 unsigned                : 1;
240                 unsigned TRISA5         : 1;
241                 unsigned                : 1;
242                 unsigned                : 1;
243         };
244 } __TRISAbits_t;
245 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
246
247 extern __sfr __at (0xF93) DDRB;
248 typedef union {
249         struct {
250                 unsigned RB0            : 1;
251                 unsigned RB1            : 1;
252                 unsigned RB2            : 1;
253                 unsigned RB3            : 1;
254                 unsigned RB4            : 1;
255                 unsigned RB5            : 1;
256                 unsigned RB6            : 1;
257                 unsigned RB7            : 1;
258         };
259 } __DDRBbits_t;
260 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
261
262 extern __sfr __at (0xF93) TRISB;
263 typedef union {
264         struct {
265                 unsigned TRISB0         : 1;
266                 unsigned TRISB1         : 1;
267                 unsigned TRISB2         : 1;
268                 unsigned TRISB3         : 1;
269                 unsigned TRISB4         : 1;
270                 unsigned TRISB5         : 1;
271                 unsigned TRISB6         : 1;
272                 unsigned TRISB7         : 1;
273         };
274 } __TRISBbits_t;
275 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
276
277 extern __sfr __at (0xF94) DDRC;
278 typedef union {
279         struct {
280                 unsigned RC0            : 1;
281                 unsigned RC1            : 1;
282                 unsigned RC2            : 1;
283                 unsigned RC3            : 1;
284                 unsigned RC4            : 1;
285                 unsigned RC5            : 1;
286                 unsigned RC6            : 1;
287                 unsigned RC7            : 1;
288         };
289 } __DDRCbits_t;
290 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
291
292 extern __sfr __at (0xF94) TRISC;
293 typedef union {
294         struct {
295                 unsigned TRISC0         : 1;
296                 unsigned TRISC1         : 1;
297                 unsigned TRISC2         : 1;
298                 unsigned TRISC3         : 1;
299                 unsigned TRISC4         : 1;
300                 unsigned TRISC5         : 1;
301                 unsigned TRISC6         : 1;
302                 unsigned TRISC7         : 1;
303         };
304 } __TRISCbits_t;
305 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
306
307 extern __sfr __at (0xF9B) OSCTUNE;
308 typedef union {
309         struct {
310                 unsigned                : 1;
311                 unsigned                : 1;
312                 unsigned                : 1;
313                 unsigned                : 1;
314                 unsigned                : 1;
315                 unsigned                : 1;
316                 unsigned PLLEN          : 1;
317                 unsigned                : 1;
318         };
319 } __OSCTUNEbits_t;
320 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
321
322 extern __sfr __at (0xF9D) PIE1;
323 typedef union {
324         struct {
325                 unsigned TMR1IE         : 1;
326                 unsigned TMR2IE         : 1;
327                 unsigned CCP1IE         : 1;
328                 unsigned SSPIE          : 1;
329                 unsigned TXIE           : 1;
330                 unsigned RCIE           : 1;
331                 unsigned ADIE           : 1;
332                 unsigned                : 1;
333         };
334         struct {
335                 unsigned                : 1;
336                 unsigned                : 1;
337                 unsigned                : 1;
338                 unsigned SSP1IE         : 1;
339                 unsigned TX1IE          : 1;
340                 unsigned RC1IE          : 1;
341                 unsigned                : 1;
342                 unsigned                : 1;
343         };
344 } __PIE1bits_t;
345 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
346
347 extern __sfr __at (0xF9E) PIR1;
348 typedef union {
349         struct {
350                 unsigned TMR1IF         : 1;
351                 unsigned TMR2IF         : 1;
352                 unsigned CCP1IF         : 1;
353                 unsigned SSPIF          : 1;
354                 unsigned TXIF           : 1;
355                 unsigned RCIF           : 1;
356                 unsigned ADIF           : 1;
357                 unsigned                : 1;
358         };
359         struct {
360                 unsigned                : 1;
361                 unsigned                : 1;
362                 unsigned                : 1;
363                 unsigned SSP1IF         : 1;
364                 unsigned TX1IF          : 1;
365                 unsigned RC1IF          : 1;
366                 unsigned                : 1;
367                 unsigned                : 1;
368         };
369 } __PIR1bits_t;
370 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
371
372 extern __sfr __at (0xF9F) IPR1;
373 typedef union {
374         struct {
375                 unsigned TMR1IP         : 1;
376                 unsigned TMR2IP         : 1;
377                 unsigned CCP1IP         : 1;
378                 unsigned SSPIP          : 1;
379                 unsigned TXIP           : 1;
380                 unsigned RCIP           : 1;
381                 unsigned ADIP           : 1;
382                 unsigned                : 1;
383         };
384         struct {
385                 unsigned                : 1;
386                 unsigned                : 1;
387                 unsigned                : 1;
388                 unsigned SSP1IP         : 1;
389                 unsigned TX1IP          : 1;
390                 unsigned RC1IP          : 1;
391                 unsigned                : 1;
392                 unsigned                : 1;
393         };
394 } __IPR1bits_t;
395 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
396
397 extern __sfr __at (0xFA0) PIE2;
398 typedef union {
399         struct {
400                 unsigned CCP2IE         : 1;
401                 unsigned                : 1;
402                 unsigned                : 1;
403                 unsigned BCLIE          : 1;
404                 unsigned                : 1;
405                 unsigned                : 1;
406                 unsigned CMIE           : 1;
407                 unsigned OSCFIE         : 1;
408         };
409         struct {
410                 unsigned                : 1;
411                 unsigned                : 1;
412                 unsigned                : 1;
413                 unsigned BCL1IE         : 1;
414                 unsigned                : 1;
415                 unsigned                : 1;
416                 unsigned                : 1;
417                 unsigned                : 1;
418         };
419 } __PIE2bits_t;
420 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
421
422 extern __sfr __at (0xFA1) PIR2;
423 typedef union {
424         struct {
425                 unsigned CCP2IF         : 1;
426                 unsigned                : 1;
427                 unsigned                : 1;
428                 unsigned BCLIF          : 1;
429                 unsigned                : 1;
430                 unsigned                : 1;
431                 unsigned CMIF           : 1;
432                 unsigned OSCFIF         : 1;
433         };
434         struct {
435                 unsigned                : 1;
436                 unsigned                : 1;
437                 unsigned                : 1;
438                 unsigned BCL1IF         : 1;
439                 unsigned                : 1;
440                 unsigned                : 1;
441                 unsigned                : 1;
442                 unsigned                : 1;
443         };
444 } __PIR2bits_t;
445 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
446
447 extern __sfr __at (0xFA2) IPR2;
448 typedef union {
449         struct {
450                 unsigned CCP2IP         : 1;
451                 unsigned                : 1;
452                 unsigned                : 1;
453                 unsigned BCLIP          : 1;
454                 unsigned                : 1;
455                 unsigned                : 1;
456                 unsigned CMIP           : 1;
457                 unsigned OSCFIP         : 1;
458         };
459         struct {
460                 unsigned                : 1;
461                 unsigned                : 1;
462                 unsigned                : 1;
463                 unsigned BCL1IP         : 1;
464                 unsigned                : 1;
465                 unsigned                : 1;
466                 unsigned                : 1;
467                 unsigned                : 1;
468         };
469 } __IPR2bits_t;
470 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
471
472 extern __sfr __at (0xFA3) PIE3;
473 typedef union {
474         struct {
475                 unsigned                : 1;
476                 unsigned                : 1;
477                 unsigned                : 1;
478                 unsigned                : 1;
479                 unsigned                : 1;
480                 unsigned                : 1;
481                 unsigned BCL2IE         : 1;
482                 unsigned SSP2IE         : 1;
483         };
484 } __PIE3bits_t;
485 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
486
487 extern __sfr __at (0xFA4) PIR3;
488 typedef union {
489         struct {
490                 unsigned                : 1;
491                 unsigned                : 1;
492                 unsigned                : 1;
493                 unsigned                : 1;
494                 unsigned                : 1;
495                 unsigned                : 1;
496                 unsigned BCL2IF         : 1;
497                 unsigned SSP2IF         : 1;
498         };
499 } __PIR3bits_t;
500 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
501
502 extern __sfr __at (0xFA5) IPR3;
503 typedef union {
504         struct {
505                 unsigned                : 1;
506                 unsigned                : 1;
507                 unsigned                : 1;
508                 unsigned                : 1;
509                 unsigned                : 1;
510                 unsigned                : 1;
511                 unsigned BCL2IP         : 1;
512                 unsigned SSP2IP         : 1;
513         };
514 } __IPR3bits_t;
515 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
516
517 extern __sfr __at (0xFA6) EECON1;
518 typedef union {
519         struct {
520                 unsigned                : 1;
521                 unsigned WR             : 1;
522                 unsigned WREN           : 1;
523                 unsigned WRERR          : 1;
524                 unsigned FREE           : 1;
525                 unsigned                : 1;
526                 unsigned                : 1;
527                 unsigned                : 1;
528         };
529 } __EECON1bits_t;
530 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
531
532 extern __sfr __at (0xFA7) EECON2;
533
534 extern __sfr __at (0xFAB) RCSTA;
535 typedef union {
536         struct {
537                 unsigned RX9D           : 1;
538                 unsigned OERR           : 1;
539                 unsigned FERR           : 1;
540                 unsigned ADDEN          : 1;
541                 unsigned CREN           : 1;
542                 unsigned SREN           : 1;
543                 unsigned RX9            : 1;
544                 unsigned SPEN           : 1;
545         };
546         struct {
547                 unsigned RCD8           : 1;
548                 unsigned                : 1;
549                 unsigned                : 1;
550                 unsigned ADEN           : 1;
551                 unsigned                : 1;
552                 unsigned                : 1;
553                 unsigned RC9            : 1;
554                 unsigned                : 1;
555         };
556         struct {
557                 unsigned                : 1;
558                 unsigned                : 1;
559                 unsigned                : 1;
560                 unsigned                : 1;
561                 unsigned                : 1;
562                 unsigned                : 1;
563                 unsigned NOT_RC8        : 1;
564                 unsigned                : 1;
565         };
566         struct {
567                 unsigned                : 1;
568                 unsigned                : 1;
569                 unsigned                : 1;
570                 unsigned                : 1;
571                 unsigned                : 1;
572                 unsigned                : 1;
573                 unsigned RC8_9          : 1;
574                 unsigned                : 1;
575         };
576 } __RCSTAbits_t;
577 extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
578
579 extern __sfr __at (0xFAB) RCSTA1;
580 typedef union {
581         struct {
582                 unsigned RX9D           : 1;
583                 unsigned OERR           : 1;
584                 unsigned FERR           : 1;
585                 unsigned ADDEN          : 1;
586                 unsigned CREN           : 1;
587                 unsigned SREN           : 1;
588                 unsigned RX9            : 1;
589                 unsigned SPEN           : 1;
590         };
591         struct {
592                 unsigned RCD8           : 1;
593                 unsigned                : 1;
594                 unsigned                : 1;
595                 unsigned                : 1;
596                 unsigned                : 1;
597                 unsigned                : 1;
598                 unsigned RC9            : 1;
599                 unsigned                : 1;
600         };
601         struct {
602                 unsigned                : 1;
603                 unsigned                : 1;
604                 unsigned                : 1;
605                 unsigned                : 1;
606                 unsigned                : 1;
607                 unsigned                : 1;
608                 unsigned NOT_RC8        : 1;
609                 unsigned                : 1;
610         };
611         struct {
612                 unsigned                : 1;
613                 unsigned                : 1;
614                 unsigned                : 1;
615                 unsigned                : 1;
616                 unsigned                : 1;
617                 unsigned                : 1;
618                 unsigned RC8_9          : 1;
619                 unsigned                : 1;
620         };
621 } __RCSTA1bits_t;
622 extern volatile __RCSTA1bits_t __at (0xFAB) RCSTA1bits;
623
624 extern __sfr __at (0xFAC) TXSTA;
625 typedef union {
626         struct {
627                 unsigned TX9D           : 1;
628                 unsigned TRMT           : 1;
629                 unsigned BRGH           : 1;
630                 unsigned SENDB          : 1;
631                 unsigned SYNC           : 1;
632                 unsigned TXEN           : 1;
633                 unsigned TX9            : 1;
634                 unsigned CSRC           : 1;
635         };
636         struct {
637                 unsigned TXD8           : 1;
638                 unsigned                : 1;
639                 unsigned                : 1;
640                 unsigned                : 1;
641                 unsigned                : 1;
642                 unsigned                : 1;
643                 unsigned TX8_9          : 1;
644                 unsigned                : 1;
645         };
646         struct {
647                 unsigned                : 1;
648                 unsigned                : 1;
649                 unsigned                : 1;
650                 unsigned                : 1;
651                 unsigned                : 1;
652                 unsigned                : 1;
653                 unsigned NOT_TX8        : 1;
654                 unsigned                : 1;
655         };
656 } __TXSTAbits_t;
657 extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
658
659 extern __sfr __at (0xFAC) TXSTA1;
660 typedef union {
661         struct {
662                 unsigned TX9D           : 1;
663                 unsigned TRMT           : 1;
664                 unsigned BRGH           : 1;
665                 unsigned SENDB          : 1;
666                 unsigned SYNC           : 1;
667                 unsigned TXEN           : 1;
668                 unsigned TX9            : 1;
669                 unsigned CSRC           : 1;
670         };
671         struct {
672                 unsigned TXD8           : 1;
673                 unsigned                : 1;
674                 unsigned                : 1;
675                 unsigned                : 1;
676                 unsigned                : 1;
677                 unsigned                : 1;
678                 unsigned TX8_9          : 1;
679                 unsigned                : 1;
680         };
681         struct {
682                 unsigned                : 1;
683                 unsigned                : 1;
684                 unsigned                : 1;
685                 unsigned                : 1;
686                 unsigned                : 1;
687                 unsigned                : 1;
688                 unsigned NOT_TX8        : 1;
689                 unsigned                : 1;
690         };
691 } __TXSTA1bits_t;
692 extern volatile __TXSTA1bits_t __at (0xFAC) TXSTA1bits;
693
694 extern __sfr __at (0xFAD) TXREG;
695
696 extern __sfr __at (0xFAD) TXREG1;
697
698 extern __sfr __at (0xFAE) RCREG;
699
700 extern __sfr __at (0xFAE) RCREG1;
701
702 extern __sfr __at (0xFAF) SPBRG;
703
704 extern __sfr __at (0xFAF) SPBRG1;
705
706 extern __sfr __at (0xFB0) SPBRGH;
707
708 extern __sfr __at (0xFB4) CMCON;
709 typedef union {
710         struct {
711                 unsigned CM0            : 1;
712                 unsigned CM1            : 1;
713                 unsigned CM2            : 1;
714                 unsigned CIS            : 1;
715                 unsigned C1INV          : 1;
716                 unsigned C2INV          : 1;
717                 unsigned C1OUT_CMCON    : 1;
718                 unsigned C2OUT_CMCON    : 1;
719         };
720 } __CMCONbits_t;
721 extern volatile __CMCONbits_t __at (0xFB4) CMCONbits;
722
723 extern __sfr __at (0xFB5) CVRCON;
724 typedef union {
725         struct {
726                 unsigned CVR0           : 1;
727                 unsigned CVR1           : 1;
728                 unsigned CVR2           : 1;
729                 unsigned CVR3           : 1;
730                 unsigned CVRSS          : 1;
731                 unsigned CVRR           : 1;
732                 unsigned CVROE          : 1;
733                 unsigned CVREN          : 1;
734         };
735 } __CVRCONbits_t;
736 extern volatile __CVRCONbits_t __at (0xFB5) CVRCONbits;
737
738 extern __sfr __at (0xFB6) ECCP1AS;
739 typedef union {
740         struct {
741                 unsigned                : 1;
742                 unsigned                : 1;
743                 unsigned PSSAC0         : 1;
744                 unsigned PSSAC1         : 1;
745                 unsigned ECCPAS0        : 1;
746                 unsigned ECCPAS1        : 1;
747                 unsigned ECCPAS2        : 1;
748                 unsigned ECCPASE        : 1;
749         };
750 } __ECCP1ASbits_t;
751 extern volatile __ECCP1ASbits_t __at (0xFB6) ECCP1ASbits;
752
753 extern __sfr __at (0xFB7) ECCP1DEL;
754 typedef union {
755         struct {
756                 unsigned                : 1;
757                 unsigned                : 1;
758                 unsigned                : 1;
759                 unsigned                : 1;
760                 unsigned                : 1;
761                 unsigned                : 1;
762                 unsigned                : 1;
763                 unsigned PRSEN          : 1;
764         };
765 } __ECCP1DELbits_t;
766 extern volatile __ECCP1DELbits_t __at (0xFB7) ECCP1DELbits;
767
768 extern __sfr __at (0xFB7) PWM1CON;
769 typedef union {
770         struct {
771                 unsigned                : 1;
772                 unsigned                : 1;
773                 unsigned                : 1;
774                 unsigned                : 1;
775                 unsigned                : 1;
776                 unsigned                : 1;
777                 unsigned                : 1;
778                 unsigned PRSEN          : 1;
779         };
780 } __PWM1CONbits_t;
781 extern volatile __PWM1CONbits_t __at (0xFB7) PWM1CONbits;
782
783 extern __sfr __at (0xFB8) BAUDCON;
784 typedef union {
785         struct {
786                 unsigned ABDEN          : 1;
787                 unsigned WUE            : 1;
788                 unsigned                : 1;
789                 unsigned BRG16          : 1;
790                 unsigned SCKP           : 1;
791                 unsigned                : 1;
792                 unsigned RCIDL          : 1;
793                 unsigned ABDOVF         : 1;
794         };
795         struct {
796                 unsigned                : 1;
797                 unsigned                : 1;
798                 unsigned                : 1;
799                 unsigned                : 1;
800                 unsigned                : 1;
801                 unsigned                : 1;
802                 unsigned RCMT           : 1;
803                 unsigned                : 1;
804         };
805 } __BAUDCONbits_t;
806 extern volatile __BAUDCONbits_t __at (0xFB8) BAUDCONbits;
807
808 extern __sfr __at (0xFB8) BAUDCTL;
809 typedef union {
810         struct {
811                 unsigned ABDEN          : 1;
812                 unsigned WUE            : 1;
813                 unsigned                : 1;
814                 unsigned BRG16          : 1;
815                 unsigned SCKP           : 1;
816                 unsigned                : 1;
817                 unsigned RCIDL          : 1;
818                 unsigned ABDOVF         : 1;
819         };
820         struct {
821                 unsigned                : 1;
822                 unsigned                : 1;
823                 unsigned                : 1;
824                 unsigned                : 1;
825                 unsigned                : 1;
826                 unsigned                : 1;
827                 unsigned RCMT           : 1;
828                 unsigned                : 1;
829         };
830 } __BAUDCTLbits_t;
831 extern volatile __BAUDCTLbits_t __at (0xFB8) BAUDCTLbits;
832
833 extern __sfr __at (0xFBA) CCP2CON;
834 typedef union {
835         struct {
836                 unsigned CCP2M0         : 1;
837                 unsigned CCP2M1         : 1;
838                 unsigned CCP2M2         : 1;
839                 unsigned CCP2M3         : 1;
840                 unsigned DC2B0          : 1;
841                 unsigned DC2B1          : 1;
842                 unsigned                : 1;
843                 unsigned                : 1;
844         };
845         struct {
846                 unsigned                : 1;
847                 unsigned                : 1;
848                 unsigned                : 1;
849                 unsigned                : 1;
850                 unsigned CCP2Y          : 1;
851                 unsigned CCP2X          : 1;
852                 unsigned                : 1;
853                 unsigned                : 1;
854         };
855 } __CCP2CONbits_t;
856 extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
857
858 extern __sfr __at (0xFBB) CCPR2;
859
860 extern __sfr __at (0xFBB) CCPR2L;
861
862 extern __sfr __at (0xFBC) CCPR2H;
863
864 extern __sfr __at (0xFBD) CCP1CON;
865 typedef union {
866         struct {
867                 unsigned CCP1M0         : 1;
868                 unsigned CCP1M1         : 1;
869                 unsigned CCP1M2         : 1;
870                 unsigned CCP1M3         : 1;
871                 unsigned DC1B0          : 1;
872                 unsigned DC1B1          : 1;
873                 unsigned                : 1;
874                 unsigned                : 1;
875         };
876         struct {
877                 unsigned                : 1;
878                 unsigned                : 1;
879                 unsigned                : 1;
880                 unsigned                : 1;
881                 unsigned CCP1Y          : 1;
882                 unsigned CCP1X          : 1;
883                 unsigned                : 1;
884                 unsigned                : 1;
885         };
886 } __CCP1CONbits_t;
887 extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
888
889 extern __sfr __at (0xFBE) CCPR1;
890
891 extern __sfr __at (0xFBE) CCPR1L;
892
893 extern __sfr __at (0xFBF) CCPR1H;
894
895 extern __sfr __at (0xFC0) ADCON2;
896 typedef union {
897         struct {
898                 unsigned ADCS0          : 1;
899                 unsigned ADCS1          : 1;
900                 unsigned ADCS2          : 1;
901                 unsigned ACQT0          : 1;
902                 unsigned ACQT1          : 1;
903                 unsigned ACQT2          : 1;
904                 unsigned                : 1;
905                 unsigned ADFM           : 1;
906         };
907 } __ADCON2bits_t;
908 extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
909
910 extern __sfr __at (0xFC1) ADCON1;
911 typedef union {
912         struct {
913                 unsigned PCFG0          : 1;
914                 unsigned PCFG1          : 1;
915                 unsigned PCFG2          : 1;
916                 unsigned PCFG3          : 1;
917                 unsigned VCFG0          : 1;
918                 unsigned VCFG1          : 1;
919                 unsigned                : 1;
920                 unsigned                : 1;
921         };
922 } __ADCON1bits_t;
923 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
924
925 extern __sfr __at (0xFC2) ADCON0;
926 typedef union {
927         struct {
928                 unsigned ADON           : 1;
929                 unsigned DONE           : 1;
930                 unsigned CHS0           : 1;
931                 unsigned CHS1           : 1;
932                 unsigned CHS2           : 1;
933                 unsigned CHS3           : 1;
934                 unsigned                : 1;
935                 unsigned ADCAL          : 1;
936         };
937         struct {
938                 unsigned                : 1;
939                 unsigned GO_DONE        : 1;
940                 unsigned                : 1;
941                 unsigned                : 1;
942                 unsigned                : 1;
943                 unsigned                : 1;
944                 unsigned                : 1;
945                 unsigned                : 1;
946         };
947         struct {
948                 unsigned                : 1;
949                 unsigned GO             : 1;
950                 unsigned                : 1;
951                 unsigned                : 1;
952                 unsigned                : 1;
953                 unsigned                : 1;
954                 unsigned                : 1;
955                 unsigned                : 1;
956         };
957         struct {
958                 unsigned                : 1;
959                 unsigned NOT_DONE       : 1;
960                 unsigned                : 1;
961                 unsigned                : 1;
962                 unsigned                : 1;
963                 unsigned                : 1;
964                 unsigned                : 1;
965                 unsigned                : 1;
966         };
967 } __ADCON0bits_t;
968 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
969
970 extern __sfr __at (0xFC3) ADRES;
971
972 extern __sfr __at (0xFC3) ADRESL;
973
974 extern __sfr __at (0xFC4) ADRESH;
975
976 extern __sfr __at (0xFC5) SSP1CON2;
977 typedef union {
978         struct {
979                 unsigned SEN            : 1;
980                 unsigned RSEN           : 1;
981                 unsigned PEN            : 1;
982                 unsigned RCEN           : 1;
983                 unsigned ACKEN          : 1;
984                 unsigned ACKDT          : 1;
985                 unsigned ACKSTAT        : 1;
986                 unsigned GCEN           : 1;
987         };
988 } __SSP1CON2bits_t;
989 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
990
991 extern __sfr __at (0xFC5) SSPCON2;
992 typedef union {
993         struct {
994                 unsigned SEN            : 1;
995                 unsigned RSEN           : 1;
996                 unsigned PEN            : 1;
997                 unsigned RCEN           : 1;
998                 unsigned ACKEN          : 1;
999                 unsigned ACKDT          : 1;
1000                 unsigned ACKSTAT        : 1;
1001                 unsigned GCEN           : 1;
1002         };
1003 } __SSPCON2bits_t;
1004 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
1005
1006 extern __sfr __at (0xFC6) SSP1CON1;
1007 typedef union {
1008         struct {
1009                 unsigned SSPM0          : 1;
1010                 unsigned SSPM1          : 1;
1011                 unsigned SSPM2          : 1;
1012                 unsigned SSPM3          : 1;
1013                 unsigned CKP            : 1;
1014                 unsigned SSPEN          : 1;
1015                 unsigned SSPOV          : 1;
1016                 unsigned WCOL           : 1;
1017         };
1018 } __SSP1CON1bits_t;
1019 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
1020
1021 extern __sfr __at (0xFC6) SSPCON1;
1022 typedef union {
1023         struct {
1024                 unsigned SSPM0          : 1;
1025                 unsigned SSPM1          : 1;
1026                 unsigned SSPM2          : 1;
1027                 unsigned SSPM3          : 1;
1028                 unsigned CKP            : 1;
1029                 unsigned SSPEN          : 1;
1030                 unsigned SSPOV          : 1;
1031                 unsigned WCOL           : 1;
1032         };
1033 } __SSPCON1bits_t;
1034 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
1035
1036 extern __sfr __at (0xFC7) SSP1STAT;
1037 typedef union {
1038         struct {
1039                 unsigned BF             : 1;
1040                 unsigned UA             : 1;
1041                 unsigned R_W            : 1;
1042                 unsigned S              : 1;
1043                 unsigned P              : 1;
1044                 unsigned D_A            : 1;
1045                 unsigned CKE            : 1;
1046                 unsigned SMP            : 1;
1047         };
1048         struct {
1049                 unsigned                : 1;
1050                 unsigned                : 1;
1051                 unsigned I2C_READ       : 1;
1052                 unsigned I2C_START      : 1;
1053                 unsigned I2C_STOP       : 1;
1054                 unsigned I2C_DAT        : 1;
1055                 unsigned                : 1;
1056                 unsigned                : 1;
1057         };
1058         struct {
1059                 unsigned                : 1;
1060                 unsigned                : 1;
1061                 unsigned NOT_W          : 1;
1062                 unsigned                : 1;
1063                 unsigned                : 1;
1064                 unsigned NOT_A          : 1;
1065                 unsigned                : 1;
1066                 unsigned                : 1;
1067         };
1068         struct {
1069                 unsigned                : 1;
1070                 unsigned                : 1;
1071                 unsigned NOT_WRITE      : 1;
1072                 unsigned                : 1;
1073                 unsigned                : 1;
1074                 unsigned NOT_ADDRESS    : 1;
1075                 unsigned                : 1;
1076                 unsigned                : 1;
1077         };
1078         struct {
1079                 unsigned                : 1;
1080                 unsigned                : 1;
1081                 unsigned READ_WRITE     : 1;
1082                 unsigned                : 1;
1083                 unsigned                : 1;
1084                 unsigned DATA_ADDRESS   : 1;
1085                 unsigned                : 1;
1086                 unsigned                : 1;
1087         };
1088         struct {
1089                 unsigned                : 1;
1090                 unsigned                : 1;
1091                 unsigned R              : 1;
1092                 unsigned                : 1;
1093                 unsigned                : 1;
1094                 unsigned D              : 1;
1095                 unsigned                : 1;
1096                 unsigned                : 1;
1097         };
1098 } __SSP1STATbits_t;
1099 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
1100
1101 extern __sfr __at (0xFC7) SSPSTAT;
1102 typedef union {
1103         struct {
1104                 unsigned BF             : 1;
1105                 unsigned UA             : 1;
1106                 unsigned R_W            : 1;
1107                 unsigned S              : 1;
1108                 unsigned P              : 1;
1109                 unsigned D_A            : 1;
1110                 unsigned CKE            : 1;
1111                 unsigned SMP            : 1;
1112         };
1113         struct {
1114                 unsigned                : 1;
1115                 unsigned                : 1;
1116                 unsigned I2C_READ       : 1;
1117                 unsigned I2C_START      : 1;
1118                 unsigned I2C_STOP       : 1;
1119                 unsigned I2C_DAT        : 1;
1120                 unsigned                : 1;
1121                 unsigned                : 1;
1122         };
1123         struct {
1124                 unsigned                : 1;
1125                 unsigned                : 1;
1126                 unsigned NOT_W          : 1;
1127                 unsigned                : 1;
1128                 unsigned                : 1;
1129                 unsigned NOT_A          : 1;
1130                 unsigned                : 1;
1131                 unsigned                : 1;
1132         };
1133         struct {
1134                 unsigned                : 1;
1135                 unsigned                : 1;
1136                 unsigned NOT_WRITE      : 1;
1137                 unsigned                : 1;
1138                 unsigned                : 1;
1139                 unsigned NOT_ADDRESS    : 1;
1140                 unsigned                : 1;
1141                 unsigned                : 1;
1142         };
1143         struct {
1144                 unsigned                : 1;
1145                 unsigned                : 1;
1146                 unsigned READ_WRITE     : 1;
1147                 unsigned                : 1;
1148                 unsigned                : 1;
1149                 unsigned DATA_ADDRESS   : 1;
1150                 unsigned                : 1;
1151                 unsigned                : 1;
1152         };
1153         struct {
1154                 unsigned                : 1;
1155                 unsigned                : 1;
1156                 unsigned R              : 1;
1157                 unsigned                : 1;
1158                 unsigned                : 1;
1159                 unsigned D              : 1;
1160                 unsigned                : 1;
1161                 unsigned                : 1;
1162         };
1163 } __SSPSTATbits_t;
1164 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
1165
1166 extern __sfr __at (0xFC8) SSP1ADD;
1167
1168 extern __sfr __at (0xFC8) SSPADD;
1169
1170 extern __sfr __at (0xFC9) SSP1BUF;
1171
1172 extern __sfr __at (0xFC9) SSPBUF;
1173
1174 extern __sfr __at (0xFCA) T2CON;
1175 typedef union {
1176         struct {
1177                 unsigned T2CKPS0        : 1;
1178                 unsigned T2CKPS1        : 1;
1179                 unsigned TMR2ON         : 1;
1180                 unsigned T2OUTPS0       : 1;
1181                 unsigned T2OUTPS1       : 1;
1182                 unsigned T2OUTPS2       : 1;
1183                 unsigned T2OUTPS3       : 1;
1184                 unsigned                : 1;
1185         };
1186         struct {
1187                 unsigned                : 1;
1188                 unsigned                : 1;
1189                 unsigned                : 1;
1190                 unsigned TOUTPS0        : 1;
1191                 unsigned TOUTPS1        : 1;
1192                 unsigned TOUTPS2        : 1;
1193                 unsigned TOUTPS3        : 1;
1194                 unsigned                : 1;
1195         };
1196 } __T2CONbits_t;
1197 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
1198
1199 extern __sfr __at (0xFCB) PR2;
1200
1201 extern __sfr __at (0xFCC) TMR2;
1202
1203 extern __sfr __at (0xFCD) T1CON;
1204 typedef union {
1205         struct {
1206                 unsigned TMR1ON         : 1;
1207                 unsigned TMR1CS         : 1;
1208                 unsigned T1SYNC         : 1;
1209                 unsigned T1OSCEN        : 1;
1210                 unsigned T1CKPS0        : 1;
1211                 unsigned T1CKPS1        : 1;
1212                 unsigned T1RUN          : 1;
1213                 unsigned RD16           : 1;
1214         };
1215         struct {
1216                 unsigned                : 1;
1217                 unsigned                : 1;
1218                 unsigned T1INSYNC       : 1;
1219                 unsigned                : 1;
1220                 unsigned                : 1;
1221                 unsigned                : 1;
1222                 unsigned                : 1;
1223                 unsigned                : 1;
1224         };
1225         struct {
1226                 unsigned                : 1;
1227                 unsigned                : 1;
1228                 unsigned NOT_T1SYNC     : 1;
1229                 unsigned                : 1;
1230                 unsigned                : 1;
1231                 unsigned                : 1;
1232                 unsigned                : 1;
1233                 unsigned                : 1;
1234         };
1235 } __T1CONbits_t;
1236 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
1237
1238 extern __sfr __at (0xFCE) TMR1L;
1239
1240 extern __sfr __at (0xFCF) TMR1H;
1241
1242 extern __sfr __at (0xFD0) RCON;
1243 typedef union {
1244         struct {
1245                 unsigned NOT_BOR        : 1;
1246                 unsigned NOT_POR        : 1;
1247                 unsigned NOT_PD         : 1;
1248                 unsigned NOT_TO         : 1;
1249                 unsigned NOT_RI         : 1;
1250                 unsigned                : 1;
1251                 unsigned                : 1;
1252                 unsigned IPEN           : 1;
1253         };
1254         struct {
1255                 unsigned BOR            : 1;
1256                 unsigned POR            : 1;
1257                 unsigned PD             : 1;
1258                 unsigned TO             : 1;
1259                 unsigned RI             : 1;
1260                 unsigned                : 1;
1261                 unsigned                : 1;
1262                 unsigned                : 1;
1263         };
1264 } __RCONbits_t;
1265 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
1266
1267 extern __sfr __at (0xFD1) WDTCON;
1268 typedef union {
1269         struct {
1270                 unsigned SWDTE          : 1;
1271                 unsigned                : 1;
1272                 unsigned                : 1;
1273                 unsigned                : 1;
1274                 unsigned                : 1;
1275                 unsigned                : 1;
1276                 unsigned                : 1;
1277                 unsigned                : 1;
1278         };
1279         struct {
1280                 unsigned SWDTEN         : 1;
1281                 unsigned                : 1;
1282                 unsigned                : 1;
1283                 unsigned                : 1;
1284                 unsigned                : 1;
1285                 unsigned                : 1;
1286                 unsigned                : 1;
1287                 unsigned                : 1;
1288         };
1289 } __WDTCONbits_t;
1290 extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
1291
1292 extern __sfr __at (0xFD3) OSCCON;
1293 typedef union {
1294         struct {
1295                 unsigned SCS0           : 1;
1296                 unsigned SCS1           : 1;
1297                 unsigned                : 1;
1298                 unsigned OSTS           : 1;
1299                 unsigned                : 1;
1300                 unsigned                : 1;
1301                 unsigned                : 1;
1302                 unsigned IDLEN          : 1;
1303         };
1304 } __OSCCONbits_t;
1305 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
1306
1307 extern __sfr __at (0xFD5) T0CON;
1308 typedef union {
1309         struct {
1310                 unsigned T0PS0          : 1;
1311                 unsigned T0PS1          : 1;
1312                 unsigned T0PS2          : 1;
1313                 unsigned PSA            : 1;
1314                 unsigned T0SE           : 1;
1315                 unsigned T0CS           : 1;
1316                 unsigned T08BIT         : 1;
1317                 unsigned TMR0ON         : 1;
1318         };
1319 } __T0CONbits_t;
1320 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
1321
1322 extern __sfr __at (0xFD6) TMR0L;
1323
1324 extern __sfr __at (0xFD7) TMR0H;
1325
1326 extern __sfr __at (0xFD8) STATUS;
1327 typedef union {
1328         struct {
1329                 unsigned C              : 1;
1330                 unsigned DC             : 1;
1331                 unsigned Z              : 1;
1332                 unsigned OV             : 1;
1333                 unsigned N              : 1;
1334                 unsigned                : 1;
1335                 unsigned                : 1;
1336                 unsigned                : 1;
1337         };
1338 } __STATUSbits_t;
1339 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
1340
1341 extern __sfr __at (0xFD9) FSR2L;
1342
1343 extern __sfr __at (0xFDA) FSR2H;
1344
1345 extern __sfr __at (0xFDB) PLUSW2;
1346
1347 extern __sfr __at (0xFDC) PREINC2;
1348
1349 extern __sfr __at (0xFDD) POSTDEC2;
1350
1351 extern __sfr __at (0xFDE) POSTINC2;
1352
1353 extern __sfr __at (0xFDF) INDF2;
1354
1355 extern __sfr __at (0xFE0) BSR;
1356
1357 extern __sfr __at (0xFE1) FSR1L;
1358
1359 extern __sfr __at (0xFE2) FSR1H;
1360
1361 extern __sfr __at (0xFE3) PLUSW1;
1362
1363 extern __sfr __at (0xFE4) PREINC1;
1364
1365 extern __sfr __at (0xFE5) POSTDEC1;
1366
1367 extern __sfr __at (0xFE6) POSTINC1;
1368
1369 extern __sfr __at (0xFE7) INDF1;
1370
1371 extern __sfr __at (0xFE8) WREG;
1372
1373 extern __sfr __at (0xFE9) FSR0L;
1374
1375 extern __sfr __at (0xFEA) FSR0H;
1376
1377 extern __sfr __at (0xFEB) PLUSW0;
1378
1379 extern __sfr __at (0xFEC) PREINC0;
1380
1381 extern __sfr __at (0xFED) POSTDEC0;
1382
1383 extern __sfr __at (0xFEE) POSTINC0;
1384
1385 extern __sfr __at (0xFEF) INDF0;
1386
1387 extern __sfr __at (0xFF0) INTCON3;
1388 typedef union {
1389         struct {
1390                 unsigned INT1F          : 1;
1391                 unsigned INT2F          : 1;
1392                 unsigned                : 1;
1393                 unsigned INT1E          : 1;
1394                 unsigned INT2E          : 1;
1395                 unsigned                : 1;
1396                 unsigned INT1P          : 1;
1397                 unsigned INT2P          : 1;
1398         };
1399         struct {
1400                 unsigned INT1IF         : 1;
1401                 unsigned INT2IF         : 1;
1402                 unsigned                : 1;
1403                 unsigned INT1IE         : 1;
1404                 unsigned INT2IE         : 1;
1405                 unsigned                : 1;
1406                 unsigned INT1IP         : 1;
1407                 unsigned INT2IP         : 1;
1408         };
1409 } __INTCON3bits_t;
1410 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
1411
1412 extern __sfr __at (0xFF1) INTCON2;
1413 typedef union {
1414         struct {
1415                 unsigned RBIP           : 1;
1416                 unsigned                : 1;
1417                 unsigned T0IP           : 1;
1418                 unsigned                : 1;
1419                 unsigned INTEDG2        : 1;
1420                 unsigned INTEDG1        : 1;
1421                 unsigned INTEDG0        : 1;
1422                 unsigned NOT_RBPU       : 1;
1423         };
1424         struct {
1425                 unsigned                : 1;
1426                 unsigned                : 1;
1427                 unsigned TMR0IP         : 1;
1428                 unsigned                : 1;
1429                 unsigned                : 1;
1430                 unsigned                : 1;
1431                 unsigned                : 1;
1432                 unsigned RBPU           : 1;
1433         };
1434 } __INTCON2bits_t;
1435 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
1436
1437 extern __sfr __at (0xFF2) INTCON;
1438 typedef union {
1439         struct {
1440                 unsigned RBIF           : 1;
1441                 unsigned INT0F          : 1;
1442                 unsigned T0IF           : 1;
1443                 unsigned RBIE           : 1;
1444                 unsigned INT0E          : 1;
1445                 unsigned T0IE           : 1;
1446                 unsigned PEIE           : 1;
1447                 unsigned GIE            : 1;
1448         };
1449         struct {
1450                 unsigned                : 1;
1451                 unsigned INT0IF         : 1;
1452                 unsigned TMR0IF         : 1;
1453                 unsigned                : 1;
1454                 unsigned INT0IE         : 1;
1455                 unsigned TMR0IE         : 1;
1456                 unsigned GIEL           : 1;
1457                 unsigned GIEH           : 1;
1458         };
1459 } __INTCONbits_t;
1460 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
1461
1462 extern __sfr __at (0xFF3) PROD;
1463
1464 extern __sfr __at (0xFF3) PRODL;
1465
1466 extern __sfr __at (0xFF4) PRODH;
1467
1468 extern __sfr __at (0xFF5) TABLAT;
1469
1470 extern __sfr __at (0xFF6) TBLPTR;
1471
1472 extern __sfr __at (0xFF6) TBLPTRL;
1473
1474 extern __sfr __at (0xFF7) TBLPTRH;
1475
1476 extern __sfr __at (0xFF8) TBLPTRU;
1477
1478 extern __sfr __at (0xFF9) PC;
1479
1480 extern __sfr __at (0xFF9) PCL;
1481
1482 extern __sfr __at (0xFFA) PCLATH;
1483
1484 extern __sfr __at (0xFFB) PCLATU;
1485
1486 extern __sfr __at (0xFFC) STKPTR;
1487 typedef union {
1488         struct {
1489                 unsigned STKPTR0        : 1;
1490                 unsigned STKPTR1        : 1;
1491                 unsigned STKPTR2        : 1;
1492                 unsigned STKPTR3        : 1;
1493                 unsigned STKPTR4        : 1;
1494                 unsigned                : 1;
1495                 unsigned STKUNF         : 1;
1496                 unsigned STKOVF         : 1;
1497         };
1498         struct {
1499                 unsigned                : 1;
1500                 unsigned                : 1;
1501                 unsigned                : 1;
1502                 unsigned                : 1;
1503                 unsigned                : 1;
1504                 unsigned                : 1;
1505                 unsigned                : 1;
1506                 unsigned STKFUL         : 1;
1507         };
1508 } __STKPTRbits_t;
1509 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
1510
1511 extern __sfr __at (0xFFD) TOS;
1512
1513 extern __sfr __at (0xFFD) TOSL;
1514
1515 extern __sfr __at (0xFFE) TOSH;
1516
1517 extern __sfr __at (0xFFF) TOSU;
1518
1519
1520 #endif
1521