1 unit PIC16F1783;
2 
3 // Define hardware
4 {$SET PIC_MODEL    = 'PIC16F1783'}
5 {$SET PIC_MAXFREQ  = 32000000}
6 {$SET PIC_NPINS    = 28}
7 {$SET PIC_NUMBANKS = 32}
8 {$SET PIC_NUMPAGES = 2}
9 {$SET PIC_MAXFLASH = 4096}
10 
11 interface
12 var
13   INDF0                    : byte absolute $0000;
14   INDF1                    : byte absolute $0001;
15   PCL                      : byte absolute $0002;
16   STATUS                   : byte absolute $0003;
17   STATUS_nTO               : bit  absolute STATUS.4;
18   STATUS_nPD               : bit  absolute STATUS.3;
19   STATUS_Z                 : bit  absolute STATUS.2;
20   STATUS_DC                : bit  absolute STATUS.1;
21   STATUS_C                 : bit  absolute STATUS.0;
22   FSR0L                    : byte absolute $0004;
23   FSR0H                    : byte absolute $0005;
24   FSR1L                    : byte absolute $0006;
25   FSR1H                    : byte absolute $0007;
26   BSR                      : byte absolute $0008;
27   BSR_BSR4                 : bit  absolute BSR.4;
28   BSR_BSR3                 : bit  absolute BSR.3;
29   BSR_BSR2                 : bit  absolute BSR.2;
30   BSR_BSR1                 : bit  absolute BSR.1;
31   BSR_BSR0                 : bit  absolute BSR.0;
32   WREG                     : byte absolute $0009;
33   PCLATH                   : byte absolute $000A;
34   PCLATH_PCLATH6           : bit  absolute PCLATH.6;
35   PCLATH_PCLATH5           : bit  absolute PCLATH.5;
36   PCLATH_PCLATH4           : bit  absolute PCLATH.4;
37   PCLATH_PCLATH3           : bit  absolute PCLATH.3;
38   PCLATH_PCLATH2           : bit  absolute PCLATH.2;
39   PCLATH_PCLATH1           : bit  absolute PCLATH.1;
40   PCLATH_PCLATH0           : bit  absolute PCLATH.0;
41   INTCON                   : byte absolute $000B;
42   INTCON_GIE               : bit  absolute INTCON.7;
43   INTCON_PEIE              : bit  absolute INTCON.6;
44   INTCON_TMR0IE            : bit  absolute INTCON.5;
45   INTCON_INTE              : bit  absolute INTCON.4;
46   INTCON_IOCIE             : bit  absolute INTCON.3;
47   INTCON_TMR0IF            : bit  absolute INTCON.2;
48   INTCON_INTF              : bit  absolute INTCON.1;
49   INTCON_IOCIF             : bit  absolute INTCON.0;
50   PORTA                    : byte absolute $000C;
51   PORTA_RA7                : bit  absolute PORTA.7;
52   PORTA_RA6                : bit  absolute PORTA.6;
53   PORTA_RA5                : bit  absolute PORTA.5;
54   PORTA_RA4                : bit  absolute PORTA.4;
55   PORTA_RA3                : bit  absolute PORTA.3;
56   PORTA_RA2                : bit  absolute PORTA.2;
57   PORTA_RA1                : bit  absolute PORTA.1;
58   PORTA_RA0                : bit  absolute PORTA.0;
59   PORTB                    : byte absolute $000D;
60   PORTB_RB7                : bit  absolute PORTB.7;
61   PORTB_RB6                : bit  absolute PORTB.6;
62   PORTB_RB5                : bit  absolute PORTB.5;
63   PORTB_RB4                : bit  absolute PORTB.4;
64   PORTB_RB3                : bit  absolute PORTB.3;
65   PORTB_RB2                : bit  absolute PORTB.2;
66   PORTB_RB1                : bit  absolute PORTB.1;
67   PORTB_RB0                : bit  absolute PORTB.0;
68   PORTC                    : byte absolute $000E;
69   PORTC_RC7                : bit  absolute PORTC.7;
70   PORTC_RC6                : bit  absolute PORTC.6;
71   PORTC_RC5                : bit  absolute PORTC.5;
72   PORTC_RC4                : bit  absolute PORTC.4;
73   PORTC_RC3                : bit  absolute PORTC.3;
74   PORTC_RC2                : bit  absolute PORTC.2;
75   PORTC_RC1                : bit  absolute PORTC.1;
76   PORTC_RC0                : bit  absolute PORTC.0;
77   PORTE                    : byte absolute $0010;
78   PORTE_RE3                : bit  absolute PORTE.3;
79   PIR1                     : byte absolute $0011;
80   PIR1_TMR1GIF             : bit  absolute PIR1.7;
81   PIR1_ADIF                : bit  absolute PIR1.6;
82   PIR1_RCIF                : bit  absolute PIR1.5;
83   PIR1_TXIF                : bit  absolute PIR1.4;
84   PIR1_SSP1IF              : bit  absolute PIR1.3;
85   PIR1_CCP1IF              : bit  absolute PIR1.2;
86   PIR1_TMR2IF              : bit  absolute PIR1.1;
87   PIR1_TMR1IF              : bit  absolute PIR1.0;
88   PIR2                     : byte absolute $0012;
89   PIR2_OSFIF               : bit  absolute PIR2.7;
90   PIR2_C2IF                : bit  absolute PIR2.6;
91   PIR2_C1IF                : bit  absolute PIR2.5;
92   PIR2_EEIF                : bit  absolute PIR2.4;
93   PIR2_BCL1IF              : bit  absolute PIR2.3;
94   PIR2_C3IF                : bit  absolute PIR2.1;
95   PIR2_CCP2IF              : bit  absolute PIR2.0;
96   PIR4                     : byte absolute $0014;
97   PIR4_PSMC2TIF            : bit  absolute PIR4.5;
98   PIR4_PSMC1TIF            : bit  absolute PIR4.4;
99   PIR4_PSMC2SIF            : bit  absolute PIR4.1;
100   PIR4_PSMC1SIF            : bit  absolute PIR4.0;
101   TMR0                     : byte absolute $0015;
102   TMR1L                    : byte absolute $0016;
103   TMR1H                    : byte absolute $0017;
104   T1CON                    : byte absolute $0018;
105   T1CON_TMR1CS1            : bit  absolute T1CON.7;
106   T1CON_TMR1CS0            : bit  absolute T1CON.6;
107   T1CON_T1CKPS1            : bit  absolute T1CON.5;
108   T1CON_T1CKPS0            : bit  absolute T1CON.4;
109   T1CON_T1OSCEN            : bit  absolute T1CON.3;
110   T1CON_nT1SYNC            : bit  absolute T1CON.2;
111   T1CON_TMR1ON             : bit  absolute T1CON.0;
112   T1GCON                   : byte absolute $0019;
113   T1GCON_TMR1GE            : bit  absolute T1GCON.7;
114   T1GCON_T1GPOL            : bit  absolute T1GCON.6;
115   T1GCON_T1GTM             : bit  absolute T1GCON.5;
116   T1GCON_T1GSPM            : bit  absolute T1GCON.4;
117   T1GCON_T1GGO             : bit  absolute T1GCON.3;
118   T1GCON_T1GVAL            : bit  absolute T1GCON.2;
119   T1GCON_T1GSS1            : bit  absolute T1GCON.1;
120   T1GCON_T1GSS0            : bit  absolute T1GCON.0;
121   TMR2                     : byte absolute $001A;
122   PR2                      : byte absolute $001B;
123   T2CON                    : byte absolute $001C;
124   T2CON_T2OUTPS3           : bit  absolute T2CON.6;
125   T2CON_T2OUTPS2           : bit  absolute T2CON.5;
126   T2CON_T2OUTPS1           : bit  absolute T2CON.4;
127   T2CON_T2OUTPS0           : bit  absolute T2CON.3;
128   T2CON_TMR2ON             : bit  absolute T2CON.2;
129   T2CON_T2CKPS1            : bit  absolute T2CON.1;
130   T2CON_T2CKPS0            : bit  absolute T2CON.0;
131   TRISA                    : byte absolute $008C;
132   TRISA_TRISA7             : bit  absolute TRISA.7;
133   TRISA_TRISA6             : bit  absolute TRISA.6;
134   TRISA_TRISA5             : bit  absolute TRISA.5;
135   TRISA_TRISA4             : bit  absolute TRISA.4;
136   TRISA_TRISA3             : bit  absolute TRISA.3;
137   TRISA_TRISA2             : bit  absolute TRISA.2;
138   TRISA_TRISA1             : bit  absolute TRISA.1;
139   TRISA_TRISA0             : bit  absolute TRISA.0;
140   TRISB                    : byte absolute $008D;
141   TRISB_TRISB7             : bit  absolute TRISB.7;
142   TRISB_TRISB6             : bit  absolute TRISB.6;
143   TRISB_TRISB5             : bit  absolute TRISB.5;
144   TRISB_TRISB4             : bit  absolute TRISB.4;
145   TRISB_TRISB3             : bit  absolute TRISB.3;
146   TRISB_TRISB2             : bit  absolute TRISB.2;
147   TRISB_TRISB1             : bit  absolute TRISB.1;
148   TRISB_TRISB0             : bit  absolute TRISB.0;
149   TRISC                    : byte absolute $008E;
150   TRISC_TRISC7             : bit  absolute TRISC.7;
151   TRISC_TRISC6             : bit  absolute TRISC.6;
152   TRISC_TRISC5             : bit  absolute TRISC.5;
153   TRISC_TRISC4             : bit  absolute TRISC.4;
154   TRISC_TRISC3             : bit  absolute TRISC.3;
155   TRISC_TRISC2             : bit  absolute TRISC.2;
156   TRISC_TRISC1             : bit  absolute TRISC.1;
157   TRISC_TRISC0             : bit  absolute TRISC.0;
158   TRISE                    : byte absolute $0090;
159   TRISE_TRISE3             : bit  absolute TRISE.3;
160   PIE1                     : byte absolute $0091;
161   PIE1_TMR1GIE             : bit  absolute PIE1.7;
162   PIE1_ADIE                : bit  absolute PIE1.6;
163   PIE1_RCIE                : bit  absolute PIE1.5;
164   PIE1_TXIE                : bit  absolute PIE1.4;
165   PIE1_SSP1IE              : bit  absolute PIE1.3;
166   PIE1_CCP1IE              : bit  absolute PIE1.2;
167   PIE1_TMR2IE              : bit  absolute PIE1.1;
168   PIE1_TMR1IE              : bit  absolute PIE1.0;
169   PIE2                     : byte absolute $0092;
170   PIE2_OSFIE               : bit  absolute PIE2.7;
171   PIE2_C2IE                : bit  absolute PIE2.6;
172   PIE2_C1IE                : bit  absolute PIE2.5;
173   PIE2_EEIE                : bit  absolute PIE2.4;
174   PIE2_BCL1IE              : bit  absolute PIE2.3;
175   PIE2_C3IE                : bit  absolute PIE2.1;
176   PIE2_CCP2IE              : bit  absolute PIE2.0;
177   PIE4                     : byte absolute $0094;
178   PIE4_PSMC2TIE            : bit  absolute PIE4.5;
179   PIE4_PSMC1TIE            : bit  absolute PIE4.4;
180   PIE4_PSMC2SIE            : bit  absolute PIE4.1;
181   PIE4_PSMC1SIE            : bit  absolute PIE4.0;
182   OPTION_REG               : byte absolute $0095;
183   OPTION_REG_nWPUEN        : bit  absolute OPTION_REG.7;
184   OPTION_REG_INTEDG        : bit  absolute OPTION_REG.6;
185   OPTION_REG_TMR0CS        : bit  absolute OPTION_REG.5;
186   OPTION_REG_TMR0SE        : bit  absolute OPTION_REG.4;
187   OPTION_REG_PSA           : bit  absolute OPTION_REG.3;
188   OPTION_REG_PS2           : bit  absolute OPTION_REG.2;
189   OPTION_REG_PS1           : bit  absolute OPTION_REG.1;
190   OPTION_REG_PS0           : bit  absolute OPTION_REG.0;
191   PCON                     : byte absolute $0096;
192   PCON_STKOVF              : bit  absolute PCON.7;
193   PCON_STKUNF              : bit  absolute PCON.6;
194   PCON_nRWDT               : bit  absolute PCON.4;
195   PCON_nRMCLR              : bit  absolute PCON.3;
196   PCON_nRI                 : bit  absolute PCON.2;
197   PCON_nPOR                : bit  absolute PCON.1;
198   PCON_nBOR                : bit  absolute PCON.0;
199   WDTCON                   : byte absolute $0097;
200   WDTCON_WDTPS4            : bit  absolute WDTCON.5;
201   WDTCON_WDTPS3            : bit  absolute WDTCON.4;
202   WDTCON_WDTPS2            : bit  absolute WDTCON.3;
203   WDTCON_WDTPS1            : bit  absolute WDTCON.2;
204   WDTCON_WDTPS0            : bit  absolute WDTCON.1;
205   WDTCON_SWDTEN            : bit  absolute WDTCON.0;
206   OSCTUNE                  : byte absolute $0098;
207   OSCTUNE_TUN5             : bit  absolute OSCTUNE.5;
208   OSCTUNE_TUN4             : bit  absolute OSCTUNE.4;
209   OSCTUNE_TUN3             : bit  absolute OSCTUNE.3;
210   OSCTUNE_TUN2             : bit  absolute OSCTUNE.2;
211   OSCTUNE_TUN1             : bit  absolute OSCTUNE.1;
212   OSCTUNE_TUN0             : bit  absolute OSCTUNE.0;
213   OSCCON                   : byte absolute $0099;
214   OSCCON_SPLLEN            : bit  absolute OSCCON.7;
215   OSCCON_IRCF3             : bit  absolute OSCCON.6;
216   OSCCON_IRCF2             : bit  absolute OSCCON.5;
217   OSCCON_IRCF1             : bit  absolute OSCCON.4;
218   OSCCON_IRCF0             : bit  absolute OSCCON.3;
219   OSCCON_SCS1              : bit  absolute OSCCON.1;
220   OSCCON_SCS0              : bit  absolute OSCCON.0;
221   OSCSTAT                  : byte absolute $009A;
222   OSCSTAT_T1OSCR           : bit  absolute OSCSTAT.7;
223   OSCSTAT_PLLR             : bit  absolute OSCSTAT.6;
224   OSCSTAT_OSTS             : bit  absolute OSCSTAT.5;
225   OSCSTAT_HFIOFR           : bit  absolute OSCSTAT.4;
226   OSCSTAT_HFIOFL           : bit  absolute OSCSTAT.3;
227   OSCSTAT_MFIOFR           : bit  absolute OSCSTAT.2;
228   OSCSTAT_LFIOFR           : bit  absolute OSCSTAT.1;
229   OSCSTAT_HFIOFS           : bit  absolute OSCSTAT.0;
230   ADRESL                   : byte absolute $009B;
231   ADRESH                   : byte absolute $009C;
232   ADCON0                   : byte absolute $009D;
233   ADCON0_ADRMD             : bit  absolute ADCON0.7;
234   ADCON0_CHS4              : bit  absolute ADCON0.6;
235   ADCON0_CHS3              : bit  absolute ADCON0.5;
236   ADCON0_CHS2              : bit  absolute ADCON0.4;
237   ADCON0_CHS1              : bit  absolute ADCON0.3;
238   ADCON0_CHS0              : bit  absolute ADCON0.2;
239   ADCON0_GO_nDONE          : bit  absolute ADCON0.1;
240   ADCON0_ADON              : bit  absolute ADCON0.0;
241   ADCON1                   : byte absolute $009E;
242   ADCON1_ADFM              : bit  absolute ADCON1.7;
243   ADCON1_ADCS2             : bit  absolute ADCON1.6;
244   ADCON1_ADCS1             : bit  absolute ADCON1.5;
245   ADCON1_ADCS0             : bit  absolute ADCON1.4;
246   ADCON1_ADNREF            : bit  absolute ADCON1.2;
247   ADCON1_ADPREF1           : bit  absolute ADCON1.1;
248   ADCON1_ADPREF0           : bit  absolute ADCON1.0;
249   ADCON2                   : byte absolute $009F;
250   ADCON2_TRIGSEL3          : bit  absolute ADCON2.7;
251   ADCON2_TRIGSEL2          : bit  absolute ADCON2.6;
252   ADCON2_TRIGSEL1          : bit  absolute ADCON2.5;
253   ADCON2_TRIGSEL0          : bit  absolute ADCON2.4;
254   ADCON2_CHSN3             : bit  absolute ADCON2.3;
255   ADCON2_CHSN2             : bit  absolute ADCON2.2;
256   ADCON2_CHSN1             : bit  absolute ADCON2.1;
257   ADCON2_CHSN0             : bit  absolute ADCON2.0;
258   LATA                     : byte absolute $010C;
259   LATA_LATA7               : bit  absolute LATA.7;
260   LATA_LATA6               : bit  absolute LATA.6;
261   LATA_LATA5               : bit  absolute LATA.5;
262   LATA_LATA4               : bit  absolute LATA.4;
263   LATA_LATA3               : bit  absolute LATA.3;
264   LATA_LATA2               : bit  absolute LATA.2;
265   LATA_LATA1               : bit  absolute LATA.1;
266   LATA_LATA0               : bit  absolute LATA.0;
267   LATB                     : byte absolute $010D;
268   LATB_LATB7               : bit  absolute LATB.7;
269   LATB_LATB6               : bit  absolute LATB.6;
270   LATB_LATB5               : bit  absolute LATB.5;
271   LATB_LATB4               : bit  absolute LATB.4;
272   LATB_LATB3               : bit  absolute LATB.3;
273   LATB_LATB2               : bit  absolute LATB.2;
274   LATB_LATB1               : bit  absolute LATB.1;
275   LATB_LATB0               : bit  absolute LATB.0;
276   LATC                     : byte absolute $010E;
277   LATC_LATC7               : bit  absolute LATC.7;
278   LATC_LATC6               : bit  absolute LATC.6;
279   LATC_LATC5               : bit  absolute LATC.5;
280   LATC_LATC4               : bit  absolute LATC.4;
281   LATC_LATC3               : bit  absolute LATC.3;
282   LATC_LATC2               : bit  absolute LATC.2;
283   LATC_LATC1               : bit  absolute LATC.1;
284   LATC_LATC0               : bit  absolute LATC.0;
285   CM1CON0                  : byte absolute $0111;
286   CM1CON0_C1ON             : bit  absolute CM1CON0.7;
287   CM1CON0_C1OUT            : bit  absolute CM1CON0.6;
288   CM1CON0_C1OE             : bit  absolute CM1CON0.5;
289   CM1CON0_C1POL            : bit  absolute CM1CON0.4;
290   CM1CON0_C1ZLF            : bit  absolute CM1CON0.3;
291   CM1CON0_C1SP             : bit  absolute CM1CON0.2;
292   CM1CON0_C1HYS            : bit  absolute CM1CON0.1;
293   CM1CON0_C1SYNC           : bit  absolute CM1CON0.0;
294   CM1CON1                  : byte absolute $0112;
295   CM1CON1_C1INTP           : bit  absolute CM1CON1.7;
296   CM1CON1_C1INTN           : bit  absolute CM1CON1.6;
297   CM1CON1_C1PCH2           : bit  absolute CM1CON1.5;
298   CM1CON1_C1PCH1           : bit  absolute CM1CON1.4;
299   CM1CON1_C1PCH0           : bit  absolute CM1CON1.3;
300   CM1CON1_C1NCH2           : bit  absolute CM1CON1.2;
301   CM1CON1_C1NCH1           : bit  absolute CM1CON1.1;
302   CM1CON1_C1NCH0           : bit  absolute CM1CON1.0;
303   CM2CON0                  : byte absolute $0113;
304   CM2CON0_C2ON             : bit  absolute CM2CON0.7;
305   CM2CON0_C2OUT            : bit  absolute CM2CON0.6;
306   CM2CON0_C2OE             : bit  absolute CM2CON0.5;
307   CM2CON0_C2POL            : bit  absolute CM2CON0.4;
308   CM2CON0_C2ZLF            : bit  absolute CM2CON0.3;
309   CM2CON0_C2SP             : bit  absolute CM2CON0.2;
310   CM2CON0_C2HYS            : bit  absolute CM2CON0.1;
311   CM2CON0_C2SYNC           : bit  absolute CM2CON0.0;
312   CM2CON1                  : byte absolute $0114;
313   CM2CON1_C2INTP           : bit  absolute CM2CON1.7;
314   CM2CON1_C2INTN           : bit  absolute CM2CON1.6;
315   CM2CON1_C2PCH2           : bit  absolute CM2CON1.5;
316   CM2CON1_C2PCH1           : bit  absolute CM2CON1.4;
317   CM2CON1_C2PCH0           : bit  absolute CM2CON1.3;
318   CM2CON1_C2NCH2           : bit  absolute CM2CON1.2;
319   CM2CON1_C2NCH1           : bit  absolute CM2CON1.1;
320   CM2CON1_C2NCH0           : bit  absolute CM2CON1.0;
321   CMOUT                    : byte absolute $0115;
322   CMOUT_MC3OUT             : bit  absolute CMOUT.2;
323   CMOUT_MC2OUT             : bit  absolute CMOUT.1;
324   CMOUT_MC1OUT             : bit  absolute CMOUT.0;
325   BORCON                   : byte absolute $0116;
326   BORCON_SBOREN            : bit  absolute BORCON.7;
327   BORCON_BORFS             : bit  absolute BORCON.6;
328   BORCON_BORRDY            : bit  absolute BORCON.0;
329   FVRCON                   : byte absolute $0117;
330   FVRCON_FVREN             : bit  absolute FVRCON.7;
331   FVRCON_FVRRDY            : bit  absolute FVRCON.6;
332   FVRCON_TSEN              : bit  absolute FVRCON.5;
333   FVRCON_TSRNG             : bit  absolute FVRCON.4;
334   FVRCON_CDAFVR1           : bit  absolute FVRCON.3;
335   FVRCON_CDAFVR0           : bit  absolute FVRCON.2;
336   FVRCON_ADFVR1            : bit  absolute FVRCON.1;
337   FVRCON_ADFVR0            : bit  absolute FVRCON.0;
338   DACCON0                  : byte absolute $0118;
339   DACCON0_DACEN            : bit  absolute DACCON0.7;
340   DACCON0_DACOE1           : bit  absolute DACCON0.5;
341   DACCON0_DACOE2           : bit  absolute DACCON0.4;
342   DACCON0_DACPSS1          : bit  absolute DACCON0.3;
343   DACCON0_DACPSS0          : bit  absolute DACCON0.2;
344   DACCON0_DACNSS           : bit  absolute DACCON0.0;
345   DACCON1                  : byte absolute $0119;
346   DACCON1_DACR7            : bit  absolute DACCON1.7;
347   DACCON1_DACR6            : bit  absolute DACCON1.6;
348   DACCON1_DACR5            : bit  absolute DACCON1.5;
349   DACCON1_DACR4            : bit  absolute DACCON1.4;
350   DACCON1_DACR3            : bit  absolute DACCON1.3;
351   DACCON1_DACR2            : bit  absolute DACCON1.2;
352   DACCON1_DACR1            : bit  absolute DACCON1.1;
353   DACCON1_DACR0            : bit  absolute DACCON1.0;
354   APFCON                   : byte absolute $011D;
355   APFCON_C2OUTSEL          : bit  absolute APFCON.7;
356   APFCON_CCP1SEL           : bit  absolute APFCON.6;
357   APFCON_SDOSEL            : bit  absolute APFCON.5;
358   APFCON_SCKSEL            : bit  absolute APFCON.4;
359   APFCON_SDISEL            : bit  absolute APFCON.3;
360   APFCON_TXSEL             : bit  absolute APFCON.2;
361   APFCON_RXSEL             : bit  absolute APFCON.1;
362   APFCON_CCP2SEL           : bit  absolute APFCON.0;
363   CM3CON0                  : byte absolute $011E;
364   CM3CON0_C3ON             : bit  absolute CM3CON0.7;
365   CM3CON0_C3OUT            : bit  absolute CM3CON0.6;
366   CM3CON0_C3OE             : bit  absolute CM3CON0.5;
367   CM3CON0_C3POL            : bit  absolute CM3CON0.4;
368   CM3CON0_C3ZLF            : bit  absolute CM3CON0.3;
369   CM3CON0_C3SP             : bit  absolute CM3CON0.2;
370   CM3CON0_C3HYS            : bit  absolute CM3CON0.1;
371   CM3CON0_C3SYNC           : bit  absolute CM3CON0.0;
372   CM3CON1                  : byte absolute $011F;
373   CM3CON1_C3INTP           : bit  absolute CM3CON1.7;
374   CM3CON1_C3INTN           : bit  absolute CM3CON1.6;
375   CM3CON1_C3PCH2           : bit  absolute CM3CON1.5;
376   CM3CON1_C3PCH1           : bit  absolute CM3CON1.4;
377   CM3CON1_C3PCH0           : bit  absolute CM3CON1.3;
378   CM3CON1_C3NCH2           : bit  absolute CM3CON1.2;
379   CM3CON1_C3NCH1           : bit  absolute CM3CON1.1;
380   CM3CON1_C3NCH0           : bit  absolute CM3CON1.0;
381   ANSELA                   : byte absolute $018C;
382   ANSELA_ANSA7             : bit  absolute ANSELA.7;
383   ANSELA_ANSA5             : bit  absolute ANSELA.5;
384   ANSELA_ANSA4             : bit  absolute ANSELA.4;
385   ANSELA_ANSA3             : bit  absolute ANSELA.3;
386   ANSELA_ANSA2             : bit  absolute ANSELA.2;
387   ANSELA_ANSA1             : bit  absolute ANSELA.1;
388   ANSELA_ANSA0             : bit  absolute ANSELA.0;
389   ANSELB                   : byte absolute $018D;
390   ANSELB_ANSB5             : bit  absolute ANSELB.5;
391   ANSELB_ANSB4             : bit  absolute ANSELB.4;
392   ANSELB_ANSB3             : bit  absolute ANSELB.3;
393   ANSELB_ANSB2             : bit  absolute ANSELB.2;
394   ANSELB_ANSB1             : bit  absolute ANSELB.1;
395   ANSELB_ANSB0             : bit  absolute ANSELB.0;
396   EEADRL                   : byte absolute $0191;
397   EEADRH                   : byte absolute $0192;
398   EEADRH_EEADRH6           : bit  absolute EEADRH.6;
399   EEADRH_EEADRH5           : bit  absolute EEADRH.5;
400   EEADRH_EEADRH4           : bit  absolute EEADRH.4;
401   EEADRH_EEADRH3           : bit  absolute EEADRH.3;
402   EEADRH_EEADRH2           : bit  absolute EEADRH.2;
403   EEADRH_EEADRH1           : bit  absolute EEADRH.1;
404   EEADRH_EEADRH0           : bit  absolute EEADRH.0;
405   EEDATL                   : byte absolute $0193;
406   EEDATH                   : byte absolute $0194;
407   EEDATH_EEDATH5           : bit  absolute EEDATH.5;
408   EEDATH_EEDATH4           : bit  absolute EEDATH.4;
409   EEDATH_EEDATH3           : bit  absolute EEDATH.3;
410   EEDATH_EEDATH2           : bit  absolute EEDATH.2;
411   EEDATH_EEDATH1           : bit  absolute EEDATH.1;
412   EEDATH_EEDATH0           : bit  absolute EEDATH.0;
413   EECON1                   : byte absolute $0195;
414   EECON1_EEPGD             : bit  absolute EECON1.7;
415   EECON1_CFGS              : bit  absolute EECON1.6;
416   EECON1_LWLO              : bit  absolute EECON1.5;
417   EECON1_FREE              : bit  absolute EECON1.4;
418   EECON1_WRERR             : bit  absolute EECON1.3;
419   EECON1_WREN              : bit  absolute EECON1.2;
420   EECON1_WR                : bit  absolute EECON1.1;
421   EECON1_RD                : bit  absolute EECON1.0;
422   EECON2                   : byte absolute $0196;
423   VREGCON                  : byte absolute $0197;
424   VREGCON_VREGPM           : bit  absolute VREGCON.1;
425   VREGCON_VREGPM0          : bit  absolute VREGCON.0;
426   RC1REG                   : byte absolute $0199;
427   TX1REG                   : byte absolute $019A;
428   SP1BRGL                  : byte absolute $019B;
429   SP1BRGH                  : byte absolute $019C;
430   RC1STA                   : byte absolute $019D;
431   RC1STA_SPEN              : bit  absolute RC1STA.7;
432   RC1STA_RX9               : bit  absolute RC1STA.6;
433   RC1STA_SREN              : bit  absolute RC1STA.5;
434   RC1STA_CREN              : bit  absolute RC1STA.4;
435   RC1STA_ADDEN             : bit  absolute RC1STA.3;
436   RC1STA_FERR              : bit  absolute RC1STA.2;
437   RC1STA_OERR              : bit  absolute RC1STA.1;
438   RC1STA_RX9D              : bit  absolute RC1STA.0;
439   TX1STA                   : byte absolute $019E;
440   TX1STA_CSRC              : bit  absolute TX1STA.7;
441   TX1STA_TX9               : bit  absolute TX1STA.6;
442   TX1STA_TXEN              : bit  absolute TX1STA.5;
443   TX1STA_SYNC              : bit  absolute TX1STA.4;
444   TX1STA_SENDB             : bit  absolute TX1STA.3;
445   TX1STA_BRGH              : bit  absolute TX1STA.2;
446   TX1STA_TRMT              : bit  absolute TX1STA.1;
447   TX1STA_TX9D              : bit  absolute TX1STA.0;
448   BAUD1CON                 : byte absolute $019F;
449   BAUD1CON_ABDOVF          : bit  absolute BAUD1CON.7;
450   BAUD1CON_RCIDL           : bit  absolute BAUD1CON.6;
451   BAUD1CON_SCKP            : bit  absolute BAUD1CON.4;
452   BAUD1CON_BRG16           : bit  absolute BAUD1CON.3;
453   BAUD1CON_WUE             : bit  absolute BAUD1CON.1;
454   BAUD1CON_ABDEN           : bit  absolute BAUD1CON.0;
455   WPUA                     : byte absolute $020C;
456   WPUA_WPUA7               : bit  absolute WPUA.7;
457   WPUA_WPUA6               : bit  absolute WPUA.6;
458   WPUA_WPUA5               : bit  absolute WPUA.5;
459   WPUA_WPUA4               : bit  absolute WPUA.4;
460   WPUA_WPUA3               : bit  absolute WPUA.3;
461   WPUA_WPUA2               : bit  absolute WPUA.2;
462   WPUA_WPUA1               : bit  absolute WPUA.1;
463   WPUA_WPUA0               : bit  absolute WPUA.0;
464   WPUB                     : byte absolute $020D;
465   WPUB_WPUB7               : bit  absolute WPUB.7;
466   WPUB_WPUB6               : bit  absolute WPUB.6;
467   WPUB_WPUB5               : bit  absolute WPUB.5;
468   WPUB_WPUB4               : bit  absolute WPUB.4;
469   WPUB_WPUB3               : bit  absolute WPUB.3;
470   WPUB_WPUB2               : bit  absolute WPUB.2;
471   WPUB_WPUB1               : bit  absolute WPUB.1;
472   WPUB_WPUB0               : bit  absolute WPUB.0;
473   WPUC                     : byte absolute $020E;
474   WPUC_WPUC7               : bit  absolute WPUC.7;
475   WPUC_WPUC6               : bit  absolute WPUC.6;
476   WPUC_WPUC5               : bit  absolute WPUC.5;
477   WPUC_WPUC4               : bit  absolute WPUC.4;
478   WPUC_WPUC3               : bit  absolute WPUC.3;
479   WPUC_WPUC2               : bit  absolute WPUC.2;
480   WPUC_WPUC1               : bit  absolute WPUC.1;
481   WPUC_WPUC0               : bit  absolute WPUC.0;
482   WPUE                     : byte absolute $0210;
483   WPUE_WPUE3               : bit  absolute WPUE.3;
484   SSPBUF                   : byte absolute $0211;
485   SSPADD                   : byte absolute $0212;
486   SSPMSK                   : byte absolute $0213;
487   SSPSTAT                  : byte absolute $0214;
488   SSPSTAT_SMP              : bit  absolute SSPSTAT.7;
489   SSPSTAT_CKE              : bit  absolute SSPSTAT.6;
490   SSPSTAT_D_nA             : bit  absolute SSPSTAT.5;
491   SSPSTAT_P                : bit  absolute SSPSTAT.4;
492   SSPSTAT_S                : bit  absolute SSPSTAT.3;
493   SSPSTAT_R_nW             : bit  absolute SSPSTAT.2;
494   SSPSTAT_UA               : bit  absolute SSPSTAT.1;
495   SSPSTAT_BF               : bit  absolute SSPSTAT.0;
496   SSPCON1                  : byte absolute $0215;
497   SSPCON1_WCOL             : bit  absolute SSPCON1.7;
498   SSPCON1_SSPOV            : bit  absolute SSPCON1.6;
499   SSPCON1_SSPEN            : bit  absolute SSPCON1.5;
500   SSPCON1_CKP              : bit  absolute SSPCON1.4;
501   SSPCON1_SSPM3            : bit  absolute SSPCON1.3;
502   SSPCON1_SSPM2            : bit  absolute SSPCON1.2;
503   SSPCON1_SSPM1            : bit  absolute SSPCON1.1;
504   SSPCON1_SSPM0            : bit  absolute SSPCON1.0;
505   SSPCON2                  : byte absolute $0216;
506   SSPCON2_GCEN             : bit  absolute SSPCON2.7;
507   SSPCON2_ACKSTAT          : bit  absolute SSPCON2.6;
508   SSPCON2_ACKDT            : bit  absolute SSPCON2.5;
509   SSPCON2_ACKEN            : bit  absolute SSPCON2.4;
510   SSPCON2_RCEN             : bit  absolute SSPCON2.3;
511   SSPCON2_PEN              : bit  absolute SSPCON2.2;
512   SSPCON2_RSEN             : bit  absolute SSPCON2.1;
513   SSPCON2_SEN              : bit  absolute SSPCON2.0;
514   SSPCON3                  : byte absolute $0217;
515   SSPCON3_ACKTIM           : bit  absolute SSPCON3.7;
516   SSPCON3_PCIE             : bit  absolute SSPCON3.6;
517   SSPCON3_SCIE             : bit  absolute SSPCON3.5;
518   SSPCON3_BOEN             : bit  absolute SSPCON3.4;
519   SSPCON3_SDAHT            : bit  absolute SSPCON3.3;
520   SSPCON3_SBCDE            : bit  absolute SSPCON3.2;
521   SSPCON3_AHEN             : bit  absolute SSPCON3.1;
522   SSPCON3_DHEN             : bit  absolute SSPCON3.0;
523   ODCONA                   : byte absolute $028C;
524   ODCONA_ODCONA7           : bit  absolute ODCONA.7;
525   ODCONA_ODCONA6           : bit  absolute ODCONA.6;
526   ODCONA_ODCONA5           : bit  absolute ODCONA.5;
527   ODCONA_ODCONA4           : bit  absolute ODCONA.4;
528   ODCONA_ODCONA3           : bit  absolute ODCONA.3;
529   ODCONA_ODCONA2           : bit  absolute ODCONA.2;
530   ODCONA_ODCONA1           : bit  absolute ODCONA.1;
531   ODCONA_ODCONA0           : bit  absolute ODCONA.0;
532   ODCONB                   : byte absolute $028D;
533   ODCONB_ODCONB7           : bit  absolute ODCONB.7;
534   ODCONB_ODCONB6           : bit  absolute ODCONB.6;
535   ODCONB_ODCONB5           : bit  absolute ODCONB.5;
536   ODCONB_ODCONB4           : bit  absolute ODCONB.4;
537   ODCONB_ODCONB3           : bit  absolute ODCONB.3;
538   ODCONB_ODCONB2           : bit  absolute ODCONB.2;
539   ODCONB_ODCONB1           : bit  absolute ODCONB.1;
540   ODCONB_ODCONB0           : bit  absolute ODCONB.0;
541   ODCONC                   : byte absolute $028E;
542   ODCONC_ODCONC7           : bit  absolute ODCONC.7;
543   ODCONC_ODCONC6           : bit  absolute ODCONC.6;
544   ODCONC_ODCONC5           : bit  absolute ODCONC.5;
545   ODCONC_ODCONC4           : bit  absolute ODCONC.4;
546   ODCONC_ODCONC3           : bit  absolute ODCONC.3;
547   ODCONC_ODCONC2           : bit  absolute ODCONC.2;
548   ODCONC_ODCONC1           : bit  absolute ODCONC.1;
549   ODCONC_ODCONC0           : bit  absolute ODCONC.0;
550   CCPR1L                   : byte absolute $0291;
551   CCPR1H                   : byte absolute $0292;
552   CCP1CON                  : byte absolute $0293;
553   CCP1CON_P1M1             : bit  absolute CCP1CON.7;
554   CCP1CON_P1M0             : bit  absolute CCP1CON.6;
555   CCP1CON_DC1B1            : bit  absolute CCP1CON.5;
556   CCP1CON_DC1B0            : bit  absolute CCP1CON.4;
557   CCP1CON_CCP1M3           : bit  absolute CCP1CON.3;
558   CCP1CON_CCP1M2           : bit  absolute CCP1CON.2;
559   CCP1CON_CCP1M1           : bit  absolute CCP1CON.1;
560   CCP1CON_CCP1M0           : bit  absolute CCP1CON.0;
561   CCPR2L                   : byte absolute $0298;
562   CCPR2H                   : byte absolute $0299;
563   CCP2CON                  : byte absolute $029A;
564   CCP2CON_P2M1             : bit  absolute CCP2CON.7;
565   CCP2CON_P2M0             : bit  absolute CCP2CON.6;
566   CCP2CON_DC2B1            : bit  absolute CCP2CON.5;
567   CCP2CON_DC2B0            : bit  absolute CCP2CON.4;
568   CCP2CON_CCP2M3           : bit  absolute CCP2CON.3;
569   CCP2CON_CCP2M2           : bit  absolute CCP2CON.2;
570   CCP2CON_CCP2M1           : bit  absolute CCP2CON.1;
571   CCP2CON_CCP2M0           : bit  absolute CCP2CON.0;
572   SLRCONA                  : byte absolute $030C;
573   SLRCONA_SLRCONA7         : bit  absolute SLRCONA.7;
574   SLRCONA_SLRCONA6         : bit  absolute SLRCONA.6;
575   SLRCONA_SLRCONA5         : bit  absolute SLRCONA.5;
576   SLRCONA_SLRCONA4         : bit  absolute SLRCONA.4;
577   SLRCONA_SLRCONA3         : bit  absolute SLRCONA.3;
578   SLRCONA_SLRCONA2         : bit  absolute SLRCONA.2;
579   SLRCONA_SLRCONA1         : bit  absolute SLRCONA.1;
580   SLRCONA_SLRCONA0         : bit  absolute SLRCONA.0;
581   SLRCONB                  : byte absolute $030D;
582   SLRCONB_SLRCONB7         : bit  absolute SLRCONB.7;
583   SLRCONB_SLRCONB6         : bit  absolute SLRCONB.6;
584   SLRCONB_SLRCONB5         : bit  absolute SLRCONB.5;
585   SLRCONB_SLRCONB4         : bit  absolute SLRCONB.4;
586   SLRCONB_SLRCONB3         : bit  absolute SLRCONB.3;
587   SLRCONB_SLRCONB2         : bit  absolute SLRCONB.2;
588   SLRCONB_SLRCONB1         : bit  absolute SLRCONB.1;
589   SLRCONB_SLRCONB0         : bit  absolute SLRCONB.0;
590   SLRCONC                  : byte absolute $030E;
591   SLRCONC_SLRCONC7         : bit  absolute SLRCONC.7;
592   SLRCONC_SLRCONC6         : bit  absolute SLRCONC.6;
593   SLRCONC_SLRCONC5         : bit  absolute SLRCONC.5;
594   SLRCONC_SLRCONC4         : bit  absolute SLRCONC.4;
595   SLRCONC_SLRCONC3         : bit  absolute SLRCONC.3;
596   SLRCONC_SLRCONC2         : bit  absolute SLRCONC.2;
597   SLRCONC_SLRCONC1         : bit  absolute SLRCONC.1;
598   SLRCONC_SLRCONC0         : bit  absolute SLRCONC.0;
599   INLVLA                   : byte absolute $038C;
600   INLVLA_INLVLA7           : bit  absolute INLVLA.7;
601   INLVLA_INLVLA6           : bit  absolute INLVLA.6;
602   INLVLA_INLVLA5           : bit  absolute INLVLA.5;
603   INLVLA_INLVLA4           : bit  absolute INLVLA.4;
604   INLVLA_INLVLA3           : bit  absolute INLVLA.3;
605   INLVLA_INLVLA2           : bit  absolute INLVLA.2;
606   INLVLA_INLVLA1           : bit  absolute INLVLA.1;
607   INLVLA_INLVLA0           : bit  absolute INLVLA.0;
608   INLVLB                   : byte absolute $038D;
609   INLVLB_INLVLB7           : bit  absolute INLVLB.7;
610   INLVLB_INLVLB6           : bit  absolute INLVLB.6;
611   INLVLB_INLVLB5           : bit  absolute INLVLB.5;
612   INLVLB_INLVLB4           : bit  absolute INLVLB.4;
613   INLVLB_INLVLB3           : bit  absolute INLVLB.3;
614   INLVLB_INLVLB2           : bit  absolute INLVLB.2;
615   INLVLB_INLVLB1           : bit  absolute INLVLB.1;
616   INLVLB_INLVLB0           : bit  absolute INLVLB.0;
617   INLVLC                   : byte absolute $038E;
618   INLVLC_INLVLC7           : bit  absolute INLVLC.7;
619   INLVLC_INLVLC6           : bit  absolute INLVLC.6;
620   INLVLC_INLVLC5           : bit  absolute INLVLC.5;
621   INLVLC_INLVLC4           : bit  absolute INLVLC.4;
622   INLVLC_INLVLC3           : bit  absolute INLVLC.3;
623   INLVLC_INLVLC2           : bit  absolute INLVLC.2;
624   INLVLC_INLVLC1           : bit  absolute INLVLC.1;
625   INLVLC_INLVLC0           : bit  absolute INLVLC.0;
626   INLVLE                   : byte absolute $0390;
627   INLVLE_INLVLE3           : bit  absolute INLVLE.3;
628   IOCAP                    : byte absolute $0391;
629   IOCAP_IOCAP7             : bit  absolute IOCAP.7;
630   IOCAP_IOCAP6             : bit  absolute IOCAP.6;
631   IOCAP_IOCAP5             : bit  absolute IOCAP.5;
632   IOCAP_IOCAP4             : bit  absolute IOCAP.4;
633   IOCAP_IOCAP3             : bit  absolute IOCAP.3;
634   IOCAP_IOCAP2             : bit  absolute IOCAP.2;
635   IOCAP_IOCAP1             : bit  absolute IOCAP.1;
636   IOCAP_IOCAP0             : bit  absolute IOCAP.0;
637   IOCAN                    : byte absolute $0392;
638   IOCAN_IOCAN7             : bit  absolute IOCAN.7;
639   IOCAN_IOCAN6             : bit  absolute IOCAN.6;
640   IOCAN_IOCAN5             : bit  absolute IOCAN.5;
641   IOCAN_IOCAN4             : bit  absolute IOCAN.4;
642   IOCAN_IOCAN3             : bit  absolute IOCAN.3;
643   IOCAN_IOCAN2             : bit  absolute IOCAN.2;
644   IOCAN_IOCAN1             : bit  absolute IOCAN.1;
645   IOCAN_IOCAN0             : bit  absolute IOCAN.0;
646   IOCAF                    : byte absolute $0393;
647   IOCAF_IOCAF7             : bit  absolute IOCAF.7;
648   IOCAF_IOCAF6             : bit  absolute IOCAF.6;
649   IOCAF_IOCAF5             : bit  absolute IOCAF.5;
650   IOCAF_IOCAF4             : bit  absolute IOCAF.4;
651   IOCAF_IOCAF3             : bit  absolute IOCAF.3;
652   IOCAF_IOCAF2             : bit  absolute IOCAF.2;
653   IOCAF_IOCAF1             : bit  absolute IOCAF.1;
654   IOCAF_IOCAF0             : bit  absolute IOCAF.0;
655   IOCBP                    : byte absolute $0394;
656   IOCBP_IOCBP7             : bit  absolute IOCBP.7;
657   IOCBP_IOCBP6             : bit  absolute IOCBP.6;
658   IOCBP_IOCBP5             : bit  absolute IOCBP.5;
659   IOCBP_IOCBP4             : bit  absolute IOCBP.4;
660   IOCBP_IOCBP3             : bit  absolute IOCBP.3;
661   IOCBP_IOCBP2             : bit  absolute IOCBP.2;
662   IOCBP_IOCBP1             : bit  absolute IOCBP.1;
663   IOCBP_IOCBP0             : bit  absolute IOCBP.0;
664   IOCBN                    : byte absolute $0395;
665   IOCBN_IOCBN7             : bit  absolute IOCBN.7;
666   IOCBN_IOCBN6             : bit  absolute IOCBN.6;
667   IOCBN_IOCBN5             : bit  absolute IOCBN.5;
668   IOCBN_IOCBN4             : bit  absolute IOCBN.4;
669   IOCBN_IOCBN3             : bit  absolute IOCBN.3;
670   IOCBN_IOCBN2             : bit  absolute IOCBN.2;
671   IOCBN_IOCBN1             : bit  absolute IOCBN.1;
672   IOCBN_IOCBN0             : bit  absolute IOCBN.0;
673   IOCBF                    : byte absolute $0396;
674   IOCBF_IOCBF7             : bit  absolute IOCBF.7;
675   IOCBF_IOCBF6             : bit  absolute IOCBF.6;
676   IOCBF_IOCBF5             : bit  absolute IOCBF.5;
677   IOCBF_IOCBF4             : bit  absolute IOCBF.4;
678   IOCBF_IOCBF3             : bit  absolute IOCBF.3;
679   IOCBF_IOCBF2             : bit  absolute IOCBF.2;
680   IOCBF_IOCBF1             : bit  absolute IOCBF.1;
681   IOCBF_IOCBF0             : bit  absolute IOCBF.0;
682   IOCCP                    : byte absolute $0397;
683   IOCCP_IOCCP7             : bit  absolute IOCCP.7;
684   IOCCP_IOCCP6             : bit  absolute IOCCP.6;
685   IOCCP_IOCCP5             : bit  absolute IOCCP.5;
686   IOCCP_IOCCP4             : bit  absolute IOCCP.4;
687   IOCCP_IOCCP3             : bit  absolute IOCCP.3;
688   IOCCP_IOCCP2             : bit  absolute IOCCP.2;
689   IOCCP_IOCCP1             : bit  absolute IOCCP.1;
690   IOCCP_IOCCP0             : bit  absolute IOCCP.0;
691   IOCCN                    : byte absolute $0398;
692   IOCCN_IOCCN7             : bit  absolute IOCCN.7;
693   IOCCN_IOCCN6             : bit  absolute IOCCN.6;
694   IOCCN_IOCCN5             : bit  absolute IOCCN.5;
695   IOCCN_IOCCN4             : bit  absolute IOCCN.4;
696   IOCCN_IOCCN3             : bit  absolute IOCCN.3;
697   IOCCN_IOCCN2             : bit  absolute IOCCN.2;
698   IOCCN_IOCCN1             : bit  absolute IOCCN.1;
699   IOCCN_IOCCN0             : bit  absolute IOCCN.0;
700   IOCCF                    : byte absolute $0399;
701   IOCCF_IOCCF7             : bit  absolute IOCCF.7;
702   IOCCF_IOCCF6             : bit  absolute IOCCF.6;
703   IOCCF_IOCCF5             : bit  absolute IOCCF.5;
704   IOCCF_IOCCF4             : bit  absolute IOCCF.4;
705   IOCCF_IOCCF3             : bit  absolute IOCCF.3;
706   IOCCF_IOCCF2             : bit  absolute IOCCF.2;
707   IOCCF_IOCCF1             : bit  absolute IOCCF.1;
708   IOCCF_IOCCF0             : bit  absolute IOCCF.0;
709   IOCEP                    : byte absolute $039D;
710   IOCEP_IOCEP3             : bit  absolute IOCEP.3;
711   IOCEN                    : byte absolute $039E;
712   IOCEN_IOCEN3             : bit  absolute IOCEN.3;
713   IOCEF                    : byte absolute $039F;
714   IOCEF_IOCEF3             : bit  absolute IOCEF.3;
715   OPA1CON                  : byte absolute $0511;
716   OPA1CON_OPA1EN           : bit  absolute OPA1CON.7;
717   OPA1CON_OPA1SP           : bit  absolute OPA1CON.6;
718   OPA1CON_OPA1CH1          : bit  absolute OPA1CON.1;
719   OPA1CON_OPA1CH0          : bit  absolute OPA1CON.0;
720   OPA2CON                  : byte absolute $0513;
721   OPA2CON_OPA2EN           : bit  absolute OPA2CON.7;
722   OPA2CON_OPA2SP           : bit  absolute OPA2CON.6;
723   OPA2CON_OPA2CH1          : bit  absolute OPA2CON.1;
724   OPA2CON_OPA2CH0          : bit  absolute OPA2CON.0;
725   CLKRCON                  : byte absolute $051A;
726   CLKRCON_CLKREN           : bit  absolute CLKRCON.7;
727   CLKRCON_CLKROE           : bit  absolute CLKRCON.6;
728   CLKRCON_CLKRSLR          : bit  absolute CLKRCON.5;
729   CLKRCON_CLKRDC1          : bit  absolute CLKRCON.4;
730   CLKRCON_CLKRDC0          : bit  absolute CLKRCON.3;
731   CLKRCON_CLKRDIV2         : bit  absolute CLKRCON.2;
732   CLKRCON_CLKRDIV1         : bit  absolute CLKRCON.1;
733   CLKRCON_CLKRDIV0         : bit  absolute CLKRCON.0;
734   PSMC1CON                 : byte absolute $0811;
735   PSMC1CON_PSMC1EN         : bit  absolute PSMC1CON.7;
736   PSMC1CON_PSMC1LD         : bit  absolute PSMC1CON.6;
737   PSMC1CON_P1DBFE          : bit  absolute PSMC1CON.5;
738   PSMC1CON_P1DBRE          : bit  absolute PSMC1CON.4;
739   PSMC1CON_P1MODE3         : bit  absolute PSMC1CON.3;
740   PSMC1CON_P1MODE2         : bit  absolute PSMC1CON.2;
741   PSMC1CON_P1MODE1         : bit  absolute PSMC1CON.1;
742   PSMC1CON_P1MODE0         : bit  absolute PSMC1CON.0;
743   PSMC1MDL                 : byte absolute $0812;
744   PSMC1MDL_P1MDLEN         : bit  absolute PSMC1MDL.7;
745   PSMC1MDL_P1MDLPOL        : bit  absolute PSMC1MDL.6;
746   PSMC1MDL_P1MDLBIT        : bit  absolute PSMC1MDL.5;
747   PSMC1MDL_P1MSRC3         : bit  absolute PSMC1MDL.3;
748   PSMC1MDL_P1MSRC2         : bit  absolute PSMC1MDL.2;
749   PSMC1MDL_P1MSRC1         : bit  absolute PSMC1MDL.1;
750   PSMC1MDL_P1MSRC0         : bit  absolute PSMC1MDL.0;
751   PSMC1SYNC                : byte absolute $0813;
752   PSMC1SYNC_P1SYNC1        : bit  absolute PSMC1SYNC.1;
753   PSMC1SYNC_P1SYNC0        : bit  absolute PSMC1SYNC.0;
754   PSMC1CLK                 : byte absolute $0814;
755   PSMC1CLK_P1CPRE1         : bit  absolute PSMC1CLK.5;
756   PSMC1CLK_P1CPRE0         : bit  absolute PSMC1CLK.4;
757   PSMC1CLK_P1CSRC1         : bit  absolute PSMC1CLK.1;
758   PSMC1CLK_P1CSRC0         : bit  absolute PSMC1CLK.0;
759   PSMC1OEN                 : byte absolute $0815;
760   PSMC1OEN_P1OEF           : bit  absolute PSMC1OEN.5;
761   PSMC1OEN_P1OEE           : bit  absolute PSMC1OEN.4;
762   PSMC1OEN_P1OED           : bit  absolute PSMC1OEN.3;
763   PSMC1OEN_P1OEC           : bit  absolute PSMC1OEN.2;
764   PSMC1OEN_P1OEB           : bit  absolute PSMC1OEN.1;
765   PSMC1OEN_P1OEA           : bit  absolute PSMC1OEN.0;
766   PSMC1POL                 : byte absolute $0816;
767   PSMC1POL_P1INPOL         : bit  absolute PSMC1POL.6;
768   PSMC1POL_P1POLF          : bit  absolute PSMC1POL.5;
769   PSMC1POL_P1POLE          : bit  absolute PSMC1POL.4;
770   PSMC1POL_P1POLD          : bit  absolute PSMC1POL.3;
771   PSMC1POL_P1POLC          : bit  absolute PSMC1POL.2;
772   PSMC1POL_P1POLB          : bit  absolute PSMC1POL.1;
773   PSMC1POL_P1POLA          : bit  absolute PSMC1POL.0;
774   PSMC1BLNK                : byte absolute $0817;
775   PSMC1BLNK_P1FEBM1        : bit  absolute PSMC1BLNK.5;
776   PSMC1BLNK_P1FEBM0        : bit  absolute PSMC1BLNK.4;
777   PSMC1BLNK_P1REBM1        : bit  absolute PSMC1BLNK.1;
778   PSMC1BLNK_P1REBM0        : bit  absolute PSMC1BLNK.0;
779   PSMC1REBS                : byte absolute $0818;
780   PSMC1REBS_P1REBSIN       : bit  absolute PSMC1REBS.7;
781   PSMC1REBS_P1REBSC3       : bit  absolute PSMC1REBS.3;
782   PSMC1REBS_P1REBSC2       : bit  absolute PSMC1REBS.2;
783   PSMC1REBS_P1REBSC1       : bit  absolute PSMC1REBS.1;
784   PSMC1FEBS                : byte absolute $0819;
785   PSMC1FEBS_P1FEBSIN       : bit  absolute PSMC1FEBS.7;
786   PSMC1FEBS_P1FEBSC3       : bit  absolute PSMC1FEBS.3;
787   PSMC1FEBS_P1FEBSC2       : bit  absolute PSMC1FEBS.2;
788   PSMC1FEBS_P1FEBSC1       : bit  absolute PSMC1FEBS.1;
789   PSMC1PHS                 : byte absolute $081A;
790   PSMC1PHS_P1PHSIN         : bit  absolute PSMC1PHS.7;
791   PSMC1PHS_P1PHSC3         : bit  absolute PSMC1PHS.3;
792   PSMC1PHS_P1PHSC2         : bit  absolute PSMC1PHS.2;
793   PSMC1PHS_P1PHSC1         : bit  absolute PSMC1PHS.1;
794   PSMC1PHS_P1PHST          : bit  absolute PSMC1PHS.0;
795   PSMC1DCS                 : byte absolute $081B;
796   PSMC1DCS_P1DCSIN         : bit  absolute PSMC1DCS.7;
797   PSMC1DCS_P1DCSC3         : bit  absolute PSMC1DCS.3;
798   PSMC1DCS_P1DCSC2         : bit  absolute PSMC1DCS.2;
799   PSMC1DCS_P1DCSC1         : bit  absolute PSMC1DCS.1;
800   PSMC1DCS_P1DCST          : bit  absolute PSMC1DCS.0;
801   PSMC1PRS                 : byte absolute $081C;
802   PSMC1PRS_P1PRSIN         : bit  absolute PSMC1PRS.7;
803   PSMC1PRS_P1PRSC3         : bit  absolute PSMC1PRS.3;
804   PSMC1PRS_P1PRSC2         : bit  absolute PSMC1PRS.2;
805   PSMC1PRS_P1PRSC1         : bit  absolute PSMC1PRS.1;
806   PSMC1PRS_P1PRST          : bit  absolute PSMC1PRS.0;
807   PSMC1ASDC                : byte absolute $081D;
808   PSMC1ASDC_P1ASE          : bit  absolute PSMC1ASDC.7;
809   PSMC1ASDC_P1ASDEN        : bit  absolute PSMC1ASDC.6;
810   PSMC1ASDC_P1ARSEN        : bit  absolute PSMC1ASDC.5;
811   PSMC1ASDC_P1ASDOV        : bit  absolute PSMC1ASDC.0;
812   PSMC1ASDL                : byte absolute $081E;
813   PSMC1ASDL_P1ASDLF        : bit  absolute PSMC1ASDL.5;
814   PSMC1ASDL_P1ASDLE        : bit  absolute PSMC1ASDL.4;
815   PSMC1ASDL_P1ASDLD        : bit  absolute PSMC1ASDL.3;
816   PSMC1ASDL_P1ASDLC        : bit  absolute PSMC1ASDL.2;
817   PSMC1ASDL_P1ASDLB        : bit  absolute PSMC1ASDL.1;
818   PSMC1ASDL_P1ASDLA        : bit  absolute PSMC1ASDL.0;
819   PSMC1ASDS                : byte absolute $081F;
820   PSMC1ASDS_P1ASDSIN       : bit  absolute PSMC1ASDS.7;
821   PSMC1ASDS_P1ASDSC3       : bit  absolute PSMC1ASDS.3;
822   PSMC1ASDS_P1ASDSC2       : bit  absolute PSMC1ASDS.2;
823   PSMC1ASDS_P1ASDSC1       : bit  absolute PSMC1ASDS.1;
824   PSMC1INT                 : byte absolute $0820;
825   PSMC1INT_P1TOVIE         : bit  absolute PSMC1INT.7;
826   PSMC1INT_P1TPHIE         : bit  absolute PSMC1INT.6;
827   PSMC1INT_P1TDCIE         : bit  absolute PSMC1INT.5;
828   PSMC1INT_P1TPRIE         : bit  absolute PSMC1INT.4;
829   PSMC1INT_P1TOVIF         : bit  absolute PSMC1INT.3;
830   PSMC1INT_P1TPHIF         : bit  absolute PSMC1INT.2;
831   PSMC1INT_P1TDCIF         : bit  absolute PSMC1INT.1;
832   PSMC1INT_P1TPRIF         : bit  absolute PSMC1INT.0;
833   PSMC1PHL                 : byte absolute $0821;
834   PSMC1PHL_PSMC1PH7        : bit  absolute PSMC1PHL.7;
835   PSMC1PHL_PSMC1PH6        : bit  absolute PSMC1PHL.6;
836   PSMC1PHL_PSMC1PH5        : bit  absolute PSMC1PHL.5;
837   PSMC1PHL_PSMC1PH4        : bit  absolute PSMC1PHL.4;
838   PSMC1PHL_PSMC1PH3        : bit  absolute PSMC1PHL.3;
839   PSMC1PHL_PSMC1PH2        : bit  absolute PSMC1PHL.2;
840   PSMC1PHL_PSMC1PH1        : bit  absolute PSMC1PHL.1;
841   PSMC1PHL_PSMC1PH0        : bit  absolute PSMC1PHL.0;
842   PSMC1PHH                 : byte absolute $0822;
843   PSMC1PHH_PSMC1PH15       : bit  absolute PSMC1PHH.7;
844   PSMC1PHH_PSMC1PH14       : bit  absolute PSMC1PHH.6;
845   PSMC1PHH_PSMC1PH13       : bit  absolute PSMC1PHH.5;
846   PSMC1PHH_PSMC1PH12       : bit  absolute PSMC1PHH.4;
847   PSMC1PHH_PSMC1PH11       : bit  absolute PSMC1PHH.3;
848   PSMC1PHH_PSMC1PH10       : bit  absolute PSMC1PHH.2;
849   PSMC1PHH_PSMC1PH9        : bit  absolute PSMC1PHH.1;
850   PSMC1PHH_PSMC1PH8        : bit  absolute PSMC1PHH.0;
851   PSMC1DCL                 : byte absolute $0823;
852   PSMC1DCL_PSMC1DC7        : bit  absolute PSMC1DCL.7;
853   PSMC1DCL_PSMC1DC6        : bit  absolute PSMC1DCL.6;
854   PSMC1DCL_PSMC1DC5        : bit  absolute PSMC1DCL.5;
855   PSMC1DCL_PSMC1DC4        : bit  absolute PSMC1DCL.4;
856   PSMC1DCL_PSMC1DC3        : bit  absolute PSMC1DCL.3;
857   PSMC1DCL_PSMC1DC2        : bit  absolute PSMC1DCL.2;
858   PSMC1DCL_PSMC1DC1        : bit  absolute PSMC1DCL.1;
859   PSMC1DCL_PSMC1DC0        : bit  absolute PSMC1DCL.0;
860   PSMC1DCH                 : byte absolute $0824;
861   PSMC1DCH_PSMC1DC15       : bit  absolute PSMC1DCH.7;
862   PSMC1DCH_PSMC1DC14       : bit  absolute PSMC1DCH.6;
863   PSMC1DCH_PSMC1DC13       : bit  absolute PSMC1DCH.5;
864   PSMC1DCH_PSMC1DC12       : bit  absolute PSMC1DCH.4;
865   PSMC1DCH_PSMC1DC11       : bit  absolute PSMC1DCH.3;
866   PSMC1DCH_PSMC1DC10       : bit  absolute PSMC1DCH.2;
867   PSMC1DCH_PSMC1DC9        : bit  absolute PSMC1DCH.1;
868   PSMC1DCH_PSMC1DC8        : bit  absolute PSMC1DCH.0;
869   PSMC1PRL                 : byte absolute $0825;
870   PSMC1PRL_PSMC1PR7        : bit  absolute PSMC1PRL.7;
871   PSMC1PRL_PSMC1PR6        : bit  absolute PSMC1PRL.6;
872   PSMC1PRL_PSMC1PR5        : bit  absolute PSMC1PRL.5;
873   PSMC1PRL_PSMC1PR4        : bit  absolute PSMC1PRL.4;
874   PSMC1PRL_PSMC1PR3        : bit  absolute PSMC1PRL.3;
875   PSMC1PRL_PSMC1PR2        : bit  absolute PSMC1PRL.2;
876   PSMC1PRL_PSMC1PR1        : bit  absolute PSMC1PRL.1;
877   PSMC1PRL_PSMC1PR0        : bit  absolute PSMC1PRL.0;
878   PSMC1PRH                 : byte absolute $0826;
879   PSMC1PRH_PSMC1PR15       : bit  absolute PSMC1PRH.7;
880   PSMC1PRH_PSMC1PR14       : bit  absolute PSMC1PRH.6;
881   PSMC1PRH_PSMC1PR13       : bit  absolute PSMC1PRH.5;
882   PSMC1PRH_PSMC1PR12       : bit  absolute PSMC1PRH.4;
883   PSMC1PRH_PSMC1PR11       : bit  absolute PSMC1PRH.3;
884   PSMC1PRH_PSMC1PR10       : bit  absolute PSMC1PRH.2;
885   PSMC1PRH_PSMC1PR9        : bit  absolute PSMC1PRH.1;
886   PSMC1PRH_PSMC1PR8        : bit  absolute PSMC1PRH.0;
887   PSMC1TMRL                : byte absolute $0827;
888   PSMC1TMRL_PSMC1TMR7      : bit  absolute PSMC1TMRL.7;
889   PSMC1TMRL_PSMC1TMR6      : bit  absolute PSMC1TMRL.6;
890   PSMC1TMRL_PSMC1TMR5      : bit  absolute PSMC1TMRL.5;
891   PSMC1TMRL_PSMC1TMR4      : bit  absolute PSMC1TMRL.4;
892   PSMC1TMRL_PSMC1TMR3      : bit  absolute PSMC1TMRL.3;
893   PSMC1TMRL_PSMC1TMR2      : bit  absolute PSMC1TMRL.2;
894   PSMC1TMRL_PSMC1TMR1      : bit  absolute PSMC1TMRL.1;
895   PSMC1TMRL_PSMC1TMR0      : bit  absolute PSMC1TMRL.0;
896   PSMC1TMRH                : byte absolute $0828;
897   PSMC1TMRH_PSMC1TMR15     : bit  absolute PSMC1TMRH.7;
898   PSMC1TMRH_PSMC1TMR14     : bit  absolute PSMC1TMRH.6;
899   PSMC1TMRH_PSMC1TMR13     : bit  absolute PSMC1TMRH.5;
900   PSMC1TMRH_PSMC1TMR12     : bit  absolute PSMC1TMRH.4;
901   PSMC1TMRH_PSMC1TMR11     : bit  absolute PSMC1TMRH.3;
902   PSMC1TMRH_PSMC1TMR10     : bit  absolute PSMC1TMRH.2;
903   PSMC1TMRH_PSMC1TMR9      : bit  absolute PSMC1TMRH.1;
904   PSMC1TMRH_PSMC1TMR8      : bit  absolute PSMC1TMRH.0;
905   PSMC1DBR                 : byte absolute $0829;
906   PSMC1DBR_PSMC1DBR7       : bit  absolute PSMC1DBR.7;
907   PSMC1DBR_PSMC1DBR6       : bit  absolute PSMC1DBR.6;
908   PSMC1DBR_PSMC1DBR5       : bit  absolute PSMC1DBR.5;
909   PSMC1DBR_PSMC1DBR4       : bit  absolute PSMC1DBR.4;
910   PSMC1DBR_PSMC1DBR3       : bit  absolute PSMC1DBR.3;
911   PSMC1DBR_PSMC1DBR2       : bit  absolute PSMC1DBR.2;
912   PSMC1DBR_PSMC1DBR1       : bit  absolute PSMC1DBR.1;
913   PSMC1DBR_PSMC1DBR0       : bit  absolute PSMC1DBR.0;
914   PSMC1DBF                 : byte absolute $082A;
915   PSMC1DBF_PSMC1DBF7       : bit  absolute PSMC1DBF.7;
916   PSMC1DBF_PSMC1DBF6       : bit  absolute PSMC1DBF.6;
917   PSMC1DBF_PSMC1DBF5       : bit  absolute PSMC1DBF.5;
918   PSMC1DBF_PSMC1DBF4       : bit  absolute PSMC1DBF.4;
919   PSMC1DBF_PSMC1DBF3       : bit  absolute PSMC1DBF.3;
920   PSMC1DBF_PSMC1DBF2       : bit  absolute PSMC1DBF.2;
921   PSMC1DBF_PSMC1DBF1       : bit  absolute PSMC1DBF.1;
922   PSMC1DBF_PSMC1DBF0       : bit  absolute PSMC1DBF.0;
923   PSMC1BLKR                : byte absolute $082B;
924   PSMC1BLKR_PSMC1BLKR7     : bit  absolute PSMC1BLKR.7;
925   PSMC1BLKR_PSMC1BLKR6     : bit  absolute PSMC1BLKR.6;
926   PSMC1BLKR_PSMC1BLKR5     : bit  absolute PSMC1BLKR.5;
927   PSMC1BLKR_PSMC1BLKR4     : bit  absolute PSMC1BLKR.4;
928   PSMC1BLKR_PSMC1BLKR3     : bit  absolute PSMC1BLKR.3;
929   PSMC1BLKR_PSMC1BLKR2     : bit  absolute PSMC1BLKR.2;
930   PSMC1BLKR_PSMC1BLKR1     : bit  absolute PSMC1BLKR.1;
931   PSMC1BLKR_PSMC1BLKR0     : bit  absolute PSMC1BLKR.0;
932   PSMC1BLKF                : byte absolute $082C;
933   PSMC1BLKF_PSMC1BLKF7     : bit  absolute PSMC1BLKF.7;
934   PSMC1BLKF_PSMC1BLKF6     : bit  absolute PSMC1BLKF.6;
935   PSMC1BLKF_PSMC1BLKF5     : bit  absolute PSMC1BLKF.5;
936   PSMC1BLKF_PSMC1BLKF4     : bit  absolute PSMC1BLKF.4;
937   PSMC1BLKF_PSMC1BLKF3     : bit  absolute PSMC1BLKF.3;
938   PSMC1BLKF_PSMC1BLKF2     : bit  absolute PSMC1BLKF.2;
939   PSMC1BLKF_PSMC1BLKF1     : bit  absolute PSMC1BLKF.1;
940   PSMC1BLKF_PSMC1BLKF0     : bit  absolute PSMC1BLKF.0;
941   PSMC1FFA                 : byte absolute $082D;
942   PSMC1FFA_PSMC1FFA3       : bit  absolute PSMC1FFA.3;
943   PSMC1FFA_PSMC1FFA2       : bit  absolute PSMC1FFA.2;
944   PSMC1FFA_PSMC1FFA1       : bit  absolute PSMC1FFA.1;
945   PSMC1FFA_PSMC1FFA0       : bit  absolute PSMC1FFA.0;
946   PSMC1STR0                : byte absolute $082E;
947   PSMC1STR0_P1STRF         : bit  absolute PSMC1STR0.5;
948   PSMC1STR0_P1STRE         : bit  absolute PSMC1STR0.4;
949   PSMC1STR0_P1STRD         : bit  absolute PSMC1STR0.3;
950   PSMC1STR0_P1STRC         : bit  absolute PSMC1STR0.2;
951   PSMC1STR0_P1STRB         : bit  absolute PSMC1STR0.1;
952   PSMC1STR0_P1STRA         : bit  absolute PSMC1STR0.0;
953   PSMC1STR1                : byte absolute $082F;
954   PSMC1STR1_P1SSYNC        : bit  absolute PSMC1STR1.7;
955   PSMC1STR1_P1LSMEN        : bit  absolute PSMC1STR1.1;
956   PSMC1STR1_P1HSMEN        : bit  absolute PSMC1STR1.0;
957   PSMC2CON                 : byte absolute $0831;
958   PSMC2CON_PSMC2EN         : bit  absolute PSMC2CON.7;
959   PSMC2CON_PSMC2LD         : bit  absolute PSMC2CON.6;
960   PSMC2CON_P2DBFE          : bit  absolute PSMC2CON.5;
961   PSMC2CON_P2DBRE          : bit  absolute PSMC2CON.4;
962   PSMC2CON_P2MODE3         : bit  absolute PSMC2CON.3;
963   PSMC2CON_P2MODE2         : bit  absolute PSMC2CON.2;
964   PSMC2CON_P2MODE1         : bit  absolute PSMC2CON.1;
965   PSMC2CON_P2MODE0         : bit  absolute PSMC2CON.0;
966   PSMC2MDL                 : byte absolute $0832;
967   PSMC2MDL_P2MDLEN         : bit  absolute PSMC2MDL.7;
968   PSMC2MDL_P2MDLPOL        : bit  absolute PSMC2MDL.6;
969   PSMC2MDL_P2MDLBIT        : bit  absolute PSMC2MDL.5;
970   PSMC2MDL_P2MSRC3         : bit  absolute PSMC2MDL.3;
971   PSMC2MDL_P2MSRC2         : bit  absolute PSMC2MDL.2;
972   PSMC2MDL_P2MSRC1         : bit  absolute PSMC2MDL.1;
973   PSMC2MDL_P2MSRC0         : bit  absolute PSMC2MDL.0;
974   PSMC2SYNC                : byte absolute $0833;
975   PSMC2SYNC_P2SYNC1        : bit  absolute PSMC2SYNC.1;
976   PSMC2SYNC_P2SYNC0        : bit  absolute PSMC2SYNC.0;
977   PSMC2CLK                 : byte absolute $0834;
978   PSMC2CLK_P2CPRE1         : bit  absolute PSMC2CLK.5;
979   PSMC2CLK_P2CPRE0         : bit  absolute PSMC2CLK.4;
980   PSMC2CLK_P2CSRC1         : bit  absolute PSMC2CLK.1;
981   PSMC2CLK_P2CSRC0         : bit  absolute PSMC2CLK.0;
982   PSMC2OEN                 : byte absolute $0835;
983   PSMC2OEN_P2OEB           : bit  absolute PSMC2OEN.1;
984   PSMC2OEN_P2OEA           : bit  absolute PSMC2OEN.0;
985   PSMC2POL                 : byte absolute $0836;
986   PSMC2POL_P2INPOL         : bit  absolute PSMC2POL.6;
987   PSMC2POL_P2POLB          : bit  absolute PSMC2POL.1;
988   PSMC2POL_P2POLA          : bit  absolute PSMC2POL.0;
989   PSMC2BLNK                : byte absolute $0837;
990   PSMC2BLNK_P2FEBM1        : bit  absolute PSMC2BLNK.5;
991   PSMC2BLNK_P2FEBM0        : bit  absolute PSMC2BLNK.4;
992   PSMC2BLNK_P2REBM1        : bit  absolute PSMC2BLNK.1;
993   PSMC2BLNK_P2REBM0        : bit  absolute PSMC2BLNK.0;
994   PSMC2REBS                : byte absolute $0838;
995   PSMC2REBS_P2REBSIN       : bit  absolute PSMC2REBS.7;
996   PSMC2REBS_P2REBSC3       : bit  absolute PSMC2REBS.3;
997   PSMC2REBS_P2REBSC2       : bit  absolute PSMC2REBS.2;
998   PSMC2REBS_P2REBSC1       : bit  absolute PSMC2REBS.1;
999   PSMC2FEBS                : byte absolute $0839;
1000   PSMC2FEBS_P2FEBSIN       : bit  absolute PSMC2FEBS.7;
1001   PSMC2FEBS_P2FEBSC3       : bit  absolute PSMC2FEBS.3;
1002   PSMC2FEBS_P2FEBSC2       : bit  absolute PSMC2FEBS.2;
1003   PSMC2FEBS_P2FEBSC1       : bit  absolute PSMC2FEBS.1;
1004   PSMC2PHS                 : byte absolute $083A;
1005   PSMC2PHS_P2PHSIN         : bit  absolute PSMC2PHS.7;
1006   PSMC2PHS_P2PHSC3         : bit  absolute PSMC2PHS.3;
1007   PSMC2PHS_P2PHSC2         : bit  absolute PSMC2PHS.2;
1008   PSMC2PHS_P2PHSC1         : bit  absolute PSMC2PHS.1;
1009   PSMC2PHS_P2PHST          : bit  absolute PSMC2PHS.0;
1010   PSMC2DCS                 : byte absolute $083B;
1011   PSMC2DCS_P2DCSIN         : bit  absolute PSMC2DCS.7;
1012   PSMC2DCS_P2DCSC3         : bit  absolute PSMC2DCS.3;
1013   PSMC2DCS_P2DCSC2         : bit  absolute PSMC2DCS.2;
1014   PSMC2DCS_P2DCSC1         : bit  absolute PSMC2DCS.1;
1015   PSMC2DCS_P2DCST          : bit  absolute PSMC2DCS.0;
1016   PSMC2PRS                 : byte absolute $083C;
1017   PSMC2PRS_P2PRSIN         : bit  absolute PSMC2PRS.7;
1018   PSMC2PRS_P2PRSC3         : bit  absolute PSMC2PRS.3;
1019   PSMC2PRS_P2PRSC2         : bit  absolute PSMC2PRS.2;
1020   PSMC2PRS_P2PRSC1         : bit  absolute PSMC2PRS.1;
1021   PSMC2PRS_P2PRST          : bit  absolute PSMC2PRS.0;
1022   PSMC2ASDC                : byte absolute $083D;
1023   PSMC2ASDC_P2ASE          : bit  absolute PSMC2ASDC.7;
1024   PSMC2ASDC_P2ASDEN        : bit  absolute PSMC2ASDC.6;
1025   PSMC2ASDC_P2ARSEN        : bit  absolute PSMC2ASDC.5;
1026   PSMC2ASDC_P2ASDOV        : bit  absolute PSMC2ASDC.0;
1027   PSMC2ASDL                : byte absolute $083E;
1028   PSMC2ASDL_P2ASDLB        : bit  absolute PSMC2ASDL.1;
1029   PSMC2ASDL_P2ASDLA        : bit  absolute PSMC2ASDL.0;
1030   PSMC2ASDS                : byte absolute $083F;
1031   PSMC2ASDS_P2ASDSIN       : bit  absolute PSMC2ASDS.7;
1032   PSMC2ASDS_P2ASDSC3       : bit  absolute PSMC2ASDS.3;
1033   PSMC2ASDS_P2ASDSC2       : bit  absolute PSMC2ASDS.2;
1034   PSMC2ASDS_P2ASDSC1       : bit  absolute PSMC2ASDS.1;
1035   PSMC2INT                 : byte absolute $0840;
1036   PSMC2INT_P2TOVIE         : bit  absolute PSMC2INT.7;
1037   PSMC2INT_P2TPHIE         : bit  absolute PSMC2INT.6;
1038   PSMC2INT_P2TDCIE         : bit  absolute PSMC2INT.5;
1039   PSMC2INT_P2TPRIE         : bit  absolute PSMC2INT.4;
1040   PSMC2INT_P2TOVIF         : bit  absolute PSMC2INT.3;
1041   PSMC2INT_P2TPHIF         : bit  absolute PSMC2INT.2;
1042   PSMC2INT_P2TDCIF         : bit  absolute PSMC2INT.1;
1043   PSMC2INT_P2TPRIF         : bit  absolute PSMC2INT.0;
1044   PSMC2PHL                 : byte absolute $0841;
1045   PSMC2PHL_PSMC2PH7        : bit  absolute PSMC2PHL.7;
1046   PSMC2PHL_PSMC2PH6        : bit  absolute PSMC2PHL.6;
1047   PSMC2PHL_PSMC2PH5        : bit  absolute PSMC2PHL.5;
1048   PSMC2PHL_PSMC2PH4        : bit  absolute PSMC2PHL.4;
1049   PSMC2PHL_PSMC2PH3        : bit  absolute PSMC2PHL.3;
1050   PSMC2PHL_PSMC2PH2        : bit  absolute PSMC2PHL.2;
1051   PSMC2PHL_PSMC2PH1        : bit  absolute PSMC2PHL.1;
1052   PSMC2PHL_PSMC2PH0        : bit  absolute PSMC2PHL.0;
1053   PSMC2PHH                 : byte absolute $0842;
1054   PSMC2PHH_PSMC2PH15       : bit  absolute PSMC2PHH.7;
1055   PSMC2PHH_PSMC2PH14       : bit  absolute PSMC2PHH.6;
1056   PSMC2PHH_PSMC2PH13       : bit  absolute PSMC2PHH.5;
1057   PSMC2PHH_PSMC2PH12       : bit  absolute PSMC2PHH.4;
1058   PSMC2PHH_PSMC2PH11       : bit  absolute PSMC2PHH.3;
1059   PSMC2PHH_PSMC2PH10       : bit  absolute PSMC2PHH.2;
1060   PSMC2PHH_PSMC2PH9        : bit  absolute PSMC2PHH.1;
1061   PSMC2PHH_PSMC2PH8        : bit  absolute PSMC2PHH.0;
1062   PSMC2DCL                 : byte absolute $0843;
1063   PSMC2DCL_PSMC2DC7        : bit  absolute PSMC2DCL.7;
1064   PSMC2DCL_PSMC2DC6        : bit  absolute PSMC2DCL.6;
1065   PSMC2DCL_PSMC2DC5        : bit  absolute PSMC2DCL.5;
1066   PSMC2DCL_PSMC2DC4        : bit  absolute PSMC2DCL.4;
1067   PSMC2DCL_PSMC2DC3        : bit  absolute PSMC2DCL.3;
1068   PSMC2DCL_PSMC2DC2        : bit  absolute PSMC2DCL.2;
1069   PSMC2DCL_PSMC2DC1        : bit  absolute PSMC2DCL.1;
1070   PSMC2DCL_PSMC2DC0        : bit  absolute PSMC2DCL.0;
1071   PSMC2DCH                 : byte absolute $0844;
1072   PSMC2DCH_PSMC2DC15       : bit  absolute PSMC2DCH.7;
1073   PSMC2DCH_PSMC2DC14       : bit  absolute PSMC2DCH.6;
1074   PSMC2DCH_PSMC2DC13       : bit  absolute PSMC2DCH.5;
1075   PSMC2DCH_PSMC2DC12       : bit  absolute PSMC2DCH.4;
1076   PSMC2DCH_PSMC2DC11       : bit  absolute PSMC2DCH.3;
1077   PSMC2DCH_PSMC2DC10       : bit  absolute PSMC2DCH.2;
1078   PSMC2DCH_PSMC2DC9        : bit  absolute PSMC2DCH.1;
1079   PSMC2DCH_PSMC2DC8        : bit  absolute PSMC2DCH.0;
1080   PSMC2PRL                 : byte absolute $0845;
1081   PSMC2PRL_PSMC2PR7        : bit  absolute PSMC2PRL.7;
1082   PSMC2PRL_PSMC2PR6        : bit  absolute PSMC2PRL.6;
1083   PSMC2PRL_PSMC2PR5        : bit  absolute PSMC2PRL.5;
1084   PSMC2PRL_PSMC2PR4        : bit  absolute PSMC2PRL.4;
1085   PSMC2PRL_PSMC2PR3        : bit  absolute PSMC2PRL.3;
1086   PSMC2PRL_PSMC2PR2        : bit  absolute PSMC2PRL.2;
1087   PSMC2PRL_PSMC2PR1        : bit  absolute PSMC2PRL.1;
1088   PSMC2PRL_PSMC2PR0        : bit  absolute PSMC2PRL.0;
1089   PSMC2PRH                 : byte absolute $0846;
1090   PSMC2PRH_PSMC2PR15       : bit  absolute PSMC2PRH.7;
1091   PSMC2PRH_PSMC2PR14       : bit  absolute PSMC2PRH.6;
1092   PSMC2PRH_PSMC2PR13       : bit  absolute PSMC2PRH.5;
1093   PSMC2PRH_PSMC2PR12       : bit  absolute PSMC2PRH.4;
1094   PSMC2PRH_PSMC2PR11       : bit  absolute PSMC2PRH.3;
1095   PSMC2PRH_PSMC2PR10       : bit  absolute PSMC2PRH.2;
1096   PSMC2PRH_PSMC2PR9        : bit  absolute PSMC2PRH.1;
1097   PSMC2PRH_PSMC2PR8        : bit  absolute PSMC2PRH.0;
1098   PSMC2TMRL                : byte absolute $0847;
1099   PSMC2TMRL_PSMC2TMR7      : bit  absolute PSMC2TMRL.7;
1100   PSMC2TMRL_PSMC2TMR6      : bit  absolute PSMC2TMRL.6;
1101   PSMC2TMRL_PSMC2TMR5      : bit  absolute PSMC2TMRL.5;
1102   PSMC2TMRL_PSMC2TMR4      : bit  absolute PSMC2TMRL.4;
1103   PSMC2TMRL_PSMC2TMR3      : bit  absolute PSMC2TMRL.3;
1104   PSMC2TMRL_PSMC2TMR2      : bit  absolute PSMC2TMRL.2;
1105   PSMC2TMRL_PSMC2TMR1      : bit  absolute PSMC2TMRL.1;
1106   PSMC2TMRL_PSMC2TMR0      : bit  absolute PSMC2TMRL.0;
1107   PSMC2TMRH                : byte absolute $0848;
1108   PSMC2TMRH_PSMC2TMR15     : bit  absolute PSMC2TMRH.7;
1109   PSMC2TMRH_PSMC2TMR14     : bit  absolute PSMC2TMRH.6;
1110   PSMC2TMRH_PSMC2TMR13     : bit  absolute PSMC2TMRH.5;
1111   PSMC2TMRH_PSMC2TMR12     : bit  absolute PSMC2TMRH.4;
1112   PSMC2TMRH_PSMC2TMR11     : bit  absolute PSMC2TMRH.3;
1113   PSMC2TMRH_PSMC2TMR10     : bit  absolute PSMC2TMRH.2;
1114   PSMC2TMRH_PSMC2TMR9      : bit  absolute PSMC2TMRH.1;
1115   PSMC2TMRH_PSMC2TMR8      : bit  absolute PSMC2TMRH.0;
1116   PSMC2DBR                 : byte absolute $0849;
1117   PSMC2DBR_PSMC2DBR7       : bit  absolute PSMC2DBR.7;
1118   PSMC2DBR_PSMC2DBR6       : bit  absolute PSMC2DBR.6;
1119   PSMC2DBR_PSMC2DBR5       : bit  absolute PSMC2DBR.5;
1120   PSMC2DBR_PSMC2DBR4       : bit  absolute PSMC2DBR.4;
1121   PSMC2DBR_PSMC2DBR3       : bit  absolute PSMC2DBR.3;
1122   PSMC2DBR_PSMC2DBR2       : bit  absolute PSMC2DBR.2;
1123   PSMC2DBR_PSMC2DBR1       : bit  absolute PSMC2DBR.1;
1124   PSMC2DBR_PSMC2DBR0       : bit  absolute PSMC2DBR.0;
1125   PSMC2DBF                 : byte absolute $084A;
1126   PSMC2DBF_PSMC2DBF7       : bit  absolute PSMC2DBF.7;
1127   PSMC2DBF_PSMC2DBF6       : bit  absolute PSMC2DBF.6;
1128   PSMC2DBF_PSMC2DBF5       : bit  absolute PSMC2DBF.5;
1129   PSMC2DBF_PSMC2DBF4       : bit  absolute PSMC2DBF.4;
1130   PSMC2DBF_PSMC2DBF3       : bit  absolute PSMC2DBF.3;
1131   PSMC2DBF_PSMC2DBF2       : bit  absolute PSMC2DBF.2;
1132   PSMC2DBF_PSMC2DBF1       : bit  absolute PSMC2DBF.1;
1133   PSMC2DBF_PSMC2DBF0       : bit  absolute PSMC2DBF.0;
1134   PSMC2BLKR                : byte absolute $084B;
1135   PSMC2BLKR_PSMC2BLKR7     : bit  absolute PSMC2BLKR.7;
1136   PSMC2BLKR_PSMC2BLKR6     : bit  absolute PSMC2BLKR.6;
1137   PSMC2BLKR_PSMC2BLKR5     : bit  absolute PSMC2BLKR.5;
1138   PSMC2BLKR_PSMC2BLKR4     : bit  absolute PSMC2BLKR.4;
1139   PSMC2BLKR_PSMC2BLKR3     : bit  absolute PSMC2BLKR.3;
1140   PSMC2BLKR_PSMC2BLKR2     : bit  absolute PSMC2BLKR.2;
1141   PSMC2BLKR_PSMC2BLKR1     : bit  absolute PSMC2BLKR.1;
1142   PSMC2BLKR_PSMC2BLKR0     : bit  absolute PSMC2BLKR.0;
1143   PSMC2BLKF                : byte absolute $084C;
1144   PSMC2BLKF_PSMC2BLKF7     : bit  absolute PSMC2BLKF.7;
1145   PSMC2BLKF_PSMC2BLKF6     : bit  absolute PSMC2BLKF.6;
1146   PSMC2BLKF_PSMC2BLKF5     : bit  absolute PSMC2BLKF.5;
1147   PSMC2BLKF_PSMC2BLKF4     : bit  absolute PSMC2BLKF.4;
1148   PSMC2BLKF_PSMC2BLKF3     : bit  absolute PSMC2BLKF.3;
1149   PSMC2BLKF_PSMC2BLKF2     : bit  absolute PSMC2BLKF.2;
1150   PSMC2BLKF_PSMC2BLKF1     : bit  absolute PSMC2BLKF.1;
1151   PSMC2BLKF_PSMC2BLKF0     : bit  absolute PSMC2BLKF.0;
1152   PSMC2FFA                 : byte absolute $084D;
1153   PSMC2FFA_PSMC2FFA3       : bit  absolute PSMC2FFA.3;
1154   PSMC2FFA_PSMC2FFA2       : bit  absolute PSMC2FFA.2;
1155   PSMC2FFA_PSMC2FFA1       : bit  absolute PSMC2FFA.1;
1156   PSMC2FFA_PSMC2FFA0       : bit  absolute PSMC2FFA.0;
1157   PSMC2STR0                : byte absolute $084E;
1158   PSMC2STR0_P2STRB         : bit  absolute PSMC2STR0.1;
1159   PSMC2STR0_P2STRA         : bit  absolute PSMC2STR0.0;
1160   PSMC2STR1                : byte absolute $084F;
1161   PSMC2STR1_P2SSYNC        : bit  absolute PSMC2STR1.7;
1162   PSMC2STR1_P2LSMEN        : bit  absolute PSMC2STR1.1;
1163   PSMC2STR1_P2HSMEN        : bit  absolute PSMC2STR1.0;
1164   STATUS_SHAD              : byte absolute $0FE4;
1165   STATUS_SHAD_Z_SHAD       : bit  absolute STATUS_SHAD.2;
1166   STATUS_SHAD_DC_SHAD      : bit  absolute STATUS_SHAD.1;
1167   STATUS_SHAD_C_SHAD       : bit  absolute STATUS_SHAD.0;
1168   WREG_SHAD                : byte absolute $0FE5;
1169   BSR_SHAD                 : byte absolute $0FE6;
1170   BSR_SHAD_BSR_SHAD4       : bit  absolute BSR_SHAD.4;
1171   BSR_SHAD_BSR_SHAD3       : bit  absolute BSR_SHAD.3;
1172   BSR_SHAD_BSR_SHAD2       : bit  absolute BSR_SHAD.2;
1173   BSR_SHAD_BSR_SHAD1       : bit  absolute BSR_SHAD.1;
1174   BSR_SHAD_BSR_SHAD0       : bit  absolute BSR_SHAD.0;
1175   PCLATH_SHAD              : byte absolute $0FE7;
1176   PCLATH_SHAD_PCLATH_SHAD6 : bit  absolute PCLATH_SHAD.6;
1177   PCLATH_SHAD_PCLATH_SHAD5 : bit  absolute PCLATH_SHAD.5;
1178   PCLATH_SHAD_PCLATH_SHAD4 : bit  absolute PCLATH_SHAD.4;
1179   PCLATH_SHAD_PCLATH_SHAD3 : bit  absolute PCLATH_SHAD.3;
1180   PCLATH_SHAD_PCLATH_SHAD2 : bit  absolute PCLATH_SHAD.2;
1181   PCLATH_SHAD_PCLATH_SHAD1 : bit  absolute PCLATH_SHAD.1;
1182   PCLATH_SHAD_PCLATH_SHAD0 : bit  absolute PCLATH_SHAD.0;
1183   FSR0L_SHAD               : byte absolute $0FE8;
1184   FSR0H_SHAD               : byte absolute $0FE9;
1185   FSR1L_SHAD               : byte absolute $0FEA;
1186   FSR1H_SHAD               : byte absolute $0FEB;
1187   STKPTR                   : byte absolute $0FED;
1188   STKPTR_STKPTR4           : bit  absolute STKPTR.4;
1189   STKPTR_STKPTR3           : bit  absolute STKPTR.3;
1190   STKPTR_STKPTR2           : bit  absolute STKPTR.2;
1191   STKPTR_STKPTR1           : bit  absolute STKPTR.1;
1192   STKPTR_STKPTR0           : bit  absolute STKPTR.0;
1193   TOSL                     : byte absolute $0FEE;
1194   TOSH                     : byte absolute $0FEF;
1195   TOSH_TOSH6               : bit  absolute TOSH.6;
1196   TOSH_TOSH5               : bit  absolute TOSH.5;
1197   TOSH_TOSH4               : bit  absolute TOSH.4;
1198   TOSH_TOSH3               : bit  absolute TOSH.3;
1199   TOSH_TOSH2               : bit  absolute TOSH.2;
1200   TOSH_TOSH1               : bit  absolute TOSH.1;
1201   TOSH_TOSH0               : bit  absolute TOSH.0;
1202 
1203 
1204   // -- Define RAM state values --
1205 
1206   {$CLEAR_STATE_RAM}
1207 
1208   {$SET_STATE_RAM '000-00B:SFR:ALLMAPPED'}  // Banks 0-31 : INDF0, INDF1, PCL, STATUS, FSR0L, FSR0H, FSR1L, FSR1H, BSR, WREG, PCLATH, INTCON
1209   {$SET_STATE_RAM '00C-00E:SFR'}            // Bank 0 : PORTA, PORTB, PORTC
1210   {$SET_STATE_RAM '010-012:SFR'}            // Bank 0 : PORTE, PIR1, PIR2
1211   {$SET_STATE_RAM '014-01C:SFR'}            // Bank 0 : PIR4, TMR0, TMR1L, TMR1H, T1CON, T1GCON, TMR2, PR2, T2CON
1212   {$SET_STATE_RAM '020-06F:GPR'}
1213   {$SET_STATE_RAM '070-07F:GPR:ALLMAPPED'}
1214   {$SET_STATE_RAM '08C-08E:SFR'}            // Bank 1 : TRISA, TRISB, TRISC
1215   {$SET_STATE_RAM '090-092:SFR'}            // Bank 1 : TRISE, PIE1, PIE2
1216   {$SET_STATE_RAM '094-09F:SFR'}            // Bank 1 : PIE4, OPTION_REG, PCON, WDTCON, OSCTUNE, OSCCON, OSCSTAT, ADRESL, ADRESH, ADCON0, ADCON1, ADCON2
1217   {$SET_STATE_RAM '0A0-0EF:GPR'}
1218   {$SET_STATE_RAM '10C-10E:SFR'}            // Bank 2 : LATA, LATB, LATC
1219   {$SET_STATE_RAM '111-119:SFR'}            // Bank 2 : CM1CON0, CM1CON1, CM2CON0, CM2CON1, CMOUT, BORCON, FVRCON, DACCON0, DACCON1
1220   {$SET_STATE_RAM '11D-11F:SFR'}            // Bank 2 : APFCON, CM3CON0, CM3CON1
1221   {$SET_STATE_RAM '120-16F:GPR'}
1222   {$SET_STATE_RAM '18C-18D:SFR'}            // Bank 3 : ANSELA, ANSELB
1223   {$SET_STATE_RAM '191-197:SFR'}            // Bank 3 : EEADRL, EEADRH, EEDATL, EEDATH, EECON1, EECON2, VREGCON
1224   {$SET_STATE_RAM '199-19F:SFR'}            // Bank 3 : RC1REG, TX1REG, SP1BRGL, SP1BRGH, RC1STA, TX1STA, BAUD1CON
1225   {$SET_STATE_RAM '1A0-1EF:GPR'}
1226   {$SET_STATE_RAM '20C-20E:SFR'}            // Bank 4 : WPUA, WPUB, WPUC
1227   {$SET_STATE_RAM '210-217:SFR'}            // Bank 4 : WPUE, SSPBUF, SSPADD, SSPMSK, SSPSTAT, SSPCON1, SSPCON2, SSPCON3
1228   {$SET_STATE_RAM '220-26F:GPR'}
1229   {$SET_STATE_RAM '28C-28E:SFR'}            // Bank 5 : ODCONA, ODCONB, ODCONC
1230   {$SET_STATE_RAM '291-293:SFR'}            // Bank 5 : CCPR1L, CCPR1H, CCP1CON
1231   {$SET_STATE_RAM '298-29A:SFR'}            // Bank 5 : CCPR2L, CCPR2H, CCP2CON
1232   {$SET_STATE_RAM '2A0-2EF:GPR'}
1233   {$SET_STATE_RAM '30C-30E:SFR'}            // Bank 6 : SLRCONA, SLRCONB, SLRCONC
1234   {$SET_STATE_RAM '320-32F:GPR'}
1235   {$SET_STATE_RAM '38C-38E:SFR'}            // Bank 7 : INLVLA, INLVLB, INLVLC
1236   {$SET_STATE_RAM '390-399:SFR'}            // Bank 7 : INLVLE, IOCAP, IOCAN, IOCAF, IOCBP, IOCBN, IOCBF, IOCCP, IOCCN, IOCCF
1237   {$SET_STATE_RAM '39D-39F:SFR'}            // Bank 7 : IOCEP, IOCEN, IOCEF
1238   {$SET_STATE_RAM '511-511:SFR'}            // Bank 10 : OPA1CON
1239   {$SET_STATE_RAM '513-513:SFR'}            // Bank 10 : OPA2CON
1240   {$SET_STATE_RAM '51A-51A:SFR'}            // Bank 10 : CLKRCON
1241   {$SET_STATE_RAM '811-82F:SFR'}            // Bank 16 : PSMC1CON, PSMC1MDL, PSMC1SYNC, PSMC1CLK, PSMC1OEN, PSMC1POL, PSMC1BLNK, PSMC1REBS, PSMC1FEBS, PSMC1PHS, PSMC1DCS, PSMC1PRS, PSMC1ASDC, PSMC1ASDL, PSMC1ASDS, PSMC1INT, PSMC1PHL, PSMC1PHH, PSMC1DCL, PSMC1DCH, PSMC1PRL, PSMC1PRH, PSMC1TMRL, PSMC1TMRH, PSMC1DBR, PSMC1DBF, PSMC1BLKR, PSMC1BLKF, PSMC1FFA, PSMC1STR0, PSMC1STR1
1242   {$SET_STATE_RAM '831-84F:SFR'}            // Bank 16 : PSMC2CON, PSMC2MDL, PSMC2SYNC, PSMC2CLK, PSMC2OEN, PSMC2POL, PSMC2BLNK, PSMC2REBS, PSMC2FEBS, PSMC2PHS, PSMC2DCS, PSMC2PRS, PSMC2ASDC, PSMC2ASDL, PSMC2ASDS, PSMC2INT, PSMC2PHL, PSMC2PHH, PSMC2DCL, PSMC2DCH, PSMC2PRL, PSMC2PRH, PSMC2TMRL, PSMC2TMRH, PSMC2DBR, PSMC2DBF, PSMC2BLKR, PSMC2BLKF, PSMC2FFA, PSMC2STR0, PSMC2STR1
1243   {$SET_STATE_RAM 'FE4-FEB:SFR'}            // Bank 31 : STATUS_SHAD, WREG_SHAD, BSR_SHAD, PCLATH_SHAD, FSR0L_SHAD, FSR0H_SHAD, FSR1L_SHAD, FSR1H_SHAD
1244   {$SET_STATE_RAM 'FED-FEF:SFR'}            // Bank 31 : STKPTR, TOSL, TOSH
1245 
1246 
1247   // -- Define mapped RAM --
1248 
1249 
1250 
1251 
1252   // -- Un-implemented fields --
1253 
1254   {$SET_UNIMP_BITS '003:1F'} // STATUS bits 7,6,5 un-implemented (read as 0)
1255   {$SET_UNIMP_BITS '008:1F'} // BSR bits 7,6,5 un-implemented (read as 0)
1256   {$SET_UNIMP_BITS '00A:7F'} // PCLATH bit 7 un-implemented (read as 0)
1257   {$SET_UNIMP_BITS '010:08'} // PORTE bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1258   {$SET_UNIMP_BITS '012:FB'} // PIR2 bit 2 un-implemented (read as 0)
1259   {$SET_UNIMP_BITS '014:33'} // PIR4 bits 7,6,3,2 un-implemented (read as 0)
1260   {$SET_UNIMP_BITS '018:FD'} // T1CON bit 1 un-implemented (read as 0)
1261   {$SET_UNIMP_BITS '01C:7F'} // T2CON bit 7 un-implemented (read as 0)
1262   {$SET_UNIMP_BITS '090:08'} // TRISE bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1263   {$SET_UNIMP_BITS '092:FB'} // PIE2 bit 2 un-implemented (read as 0)
1264   {$SET_UNIMP_BITS '094:33'} // PIE4 bits 7,6,3,2 un-implemented (read as 0)
1265   {$SET_UNIMP_BITS '096:DF'} // PCON bit 5 un-implemented (read as 0)
1266   {$SET_UNIMP_BITS '097:3F'} // WDTCON bits 7,6 un-implemented (read as 0)
1267   {$SET_UNIMP_BITS '098:3F'} // OSCTUNE bits 7,6 un-implemented (read as 0)
1268   {$SET_UNIMP_BITS '099:FB'} // OSCCON bit 2 un-implemented (read as 0)
1269   {$SET_UNIMP_BITS '09E:F7'} // ADCON1 bit 3 un-implemented (read as 0)
1270   {$SET_UNIMP_BITS '115:07'} // CMOUT bits 7,6,5,4,3 un-implemented (read as 0)
1271   {$SET_UNIMP_BITS '116:C1'} // BORCON bits 5,4,3,2,1 un-implemented (read as 0)
1272   {$SET_UNIMP_BITS '118:BD'} // DACCON0 bits 6,1 un-implemented (read as 0)
1273   {$SET_UNIMP_BITS '18C:BF'} // ANSELA bit 6 un-implemented (read as 0)
1274   {$SET_UNIMP_BITS '18D:3F'} // ANSELB bits 7,6 un-implemented (read as 0)
1275   {$SET_UNIMP_BITS '194:3F'} // EEDATH bits 7,6 un-implemented (read as 0)
1276   {$SET_UNIMP_BITS '197:03'} // VREGCON bits 7,6,5,4,3,2 un-implemented (read as 0)
1277   {$SET_UNIMP_BITS '19F:DB'} // BAUD1CON bits 5,2 un-implemented (read as 0)
1278   {$SET_UNIMP_BITS '210:08'} // WPUE bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1279   {$SET_UNIMP_BITS '390:08'} // INLVLE bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1280   {$SET_UNIMP_BITS '39D:08'} // IOCEP bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1281   {$SET_UNIMP_BITS '39E:08'} // IOCEN bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1282   {$SET_UNIMP_BITS '39F:08'} // IOCEF bits 7,6,5,4,2,1,0 un-implemented (read as 0)
1283   {$SET_UNIMP_BITS '511:C3'} // OPA1CON bits 5,4,3,2 un-implemented (read as 0)
1284   {$SET_UNIMP_BITS '513:C3'} // OPA2CON bits 5,4,3,2 un-implemented (read as 0)
1285   {$SET_UNIMP_BITS '812:EF'} // PSMC1MDL bit 4 un-implemented (read as 0)
1286   {$SET_UNIMP_BITS '813:03'} // PSMC1SYNC bits 7,6,5,4,3,2 un-implemented (read as 0)
1287   {$SET_UNIMP_BITS '814:33'} // PSMC1CLK bits 7,6,3,2 un-implemented (read as 0)
1288   {$SET_UNIMP_BITS '815:3F'} // PSMC1OEN bits 7,6 un-implemented (read as 0)
1289   {$SET_UNIMP_BITS '816:7F'} // PSMC1POL bit 7 un-implemented (read as 0)
1290   {$SET_UNIMP_BITS '817:33'} // PSMC1BLNK bits 7,6,3,2 un-implemented (read as 0)
1291   {$SET_UNIMP_BITS '818:8E'} // PSMC1REBS bits 6,5,4,0 un-implemented (read as 0)
1292   {$SET_UNIMP_BITS '819:8E'} // PSMC1FEBS bits 6,5,4,0 un-implemented (read as 0)
1293   {$SET_UNIMP_BITS '81A:8F'} // PSMC1PHS bits 6,5,4 un-implemented (read as 0)
1294   {$SET_UNIMP_BITS '81B:8F'} // PSMC1DCS bits 6,5,4 un-implemented (read as 0)
1295   {$SET_UNIMP_BITS '81C:8F'} // PSMC1PRS bits 6,5,4 un-implemented (read as 0)
1296   {$SET_UNIMP_BITS '81D:E1'} // PSMC1ASDC bits 4,3,2,1 un-implemented (read as 0)
1297   {$SET_UNIMP_BITS '81E:3F'} // PSMC1ASDL bits 7,6 un-implemented (read as 0)
1298   {$SET_UNIMP_BITS '81F:8E'} // PSMC1ASDS bits 6,5,4,0 un-implemented (read as 0)
1299   {$SET_UNIMP_BITS '82D:0F'} // PSMC1FFA bits 7,6,5,4 un-implemented (read as 0)
1300   {$SET_UNIMP_BITS '82E:3F'} // PSMC1STR0 bits 7,6 un-implemented (read as 0)
1301   {$SET_UNIMP_BITS '82F:83'} // PSMC1STR1 bits 6,5,4,3,2 un-implemented (read as 0)
1302   {$SET_UNIMP_BITS '832:EF'} // PSMC2MDL bit 4 un-implemented (read as 0)
1303   {$SET_UNIMP_BITS '833:03'} // PSMC2SYNC bits 7,6,5,4,3,2 un-implemented (read as 0)
1304   {$SET_UNIMP_BITS '834:33'} // PSMC2CLK bits 7,6,3,2 un-implemented (read as 0)
1305   {$SET_UNIMP_BITS '835:03'} // PSMC2OEN bits 7,6,5,4,3,2 un-implemented (read as 0)
1306   {$SET_UNIMP_BITS '836:43'} // PSMC2POL bits 7,5,4,3,2 un-implemented (read as 0)
1307   {$SET_UNIMP_BITS '837:33'} // PSMC2BLNK bits 7,6,3,2 un-implemented (read as 0)
1308   {$SET_UNIMP_BITS '838:8E'} // PSMC2REBS bits 6,5,4,0 un-implemented (read as 0)
1309   {$SET_UNIMP_BITS '839:8E'} // PSMC2FEBS bits 6,5,4,0 un-implemented (read as 0)
1310   {$SET_UNIMP_BITS '83A:8F'} // PSMC2PHS bits 6,5,4 un-implemented (read as 0)
1311   {$SET_UNIMP_BITS '83B:8F'} // PSMC2DCS bits 6,5,4 un-implemented (read as 0)
1312   {$SET_UNIMP_BITS '83C:8F'} // PSMC2PRS bits 6,5,4 un-implemented (read as 0)
1313   {$SET_UNIMP_BITS '83D:E1'} // PSMC2ASDC bits 4,3,2,1 un-implemented (read as 0)
1314   {$SET_UNIMP_BITS '83E:03'} // PSMC2ASDL bits 7,6,5,4,3,2 un-implemented (read as 0)
1315   {$SET_UNIMP_BITS '83F:8E'} // PSMC2ASDS bits 6,5,4,0 un-implemented (read as 0)
1316   {$SET_UNIMP_BITS '84D:0F'} // PSMC2FFA bits 7,6,5,4 un-implemented (read as 0)
1317   {$SET_UNIMP_BITS '84E:03'} // PSMC2STR0 bits 7,6,5,4,3,2 un-implemented (read as 0)
1318   {$SET_UNIMP_BITS '84F:83'} // PSMC2STR1 bits 6,5,4,3,2 un-implemented (read as 0)
1319   {$SET_UNIMP_BITS 'FE4:07'} // STATUS_SHAD bits 7,6,5,4,3 un-implemented (read as 0)
1320   {$SET_UNIMP_BITS 'FE6:1F'} // BSR_SHAD bits 7,6,5 un-implemented (read as 0)
1321   {$SET_UNIMP_BITS 'FE7:7F'} // PCLATH_SHAD bit 7 un-implemented (read as 0)
1322   {$SET_UNIMP_BITS 'FED:1F'} // STKPTR bits 7,6,5 un-implemented (read as 0)
1323   {$SET_UNIMP_BITS 'FEF:7F'} // TOSH bit 7 un-implemented (read as 0)
1324 
1325 
1326   // -- PIN mapping --
1327 
1328   // Pin  1 : RE3/MCLR/Vpp
1329   // Pin  2 : RA0/AN0/C1IN0-/C2IN0-/C3IN0-
1330   // Pin  3 : RA1/AN1/C1IN1-/C2IN1-/C3IN1-/OPA1OUT
1331   // Pin  4 : RA2/AN2/C1IN0+/C2IN0+/C3IN0+/DAC1OUT1/Vref-/DAC1Vref-
1332   // Pin  5 : RA3/AN3/Vref+/C1IN1+/DAC1Vref+
1333   // Pin  6 : RA4/C1OUT/OPA1IN+/T0CKI
1334   // Pin  7 : RA5/AN4/C2OUT/OPA1IN-/SS
1335   // Pin  8 : Vss
1336   // Pin  9 : RA7/PSMC1CLK/PSMC2CLK/OSC1/CLKIN
1337   // Pin 10 : RA6/C2OUT/OSC2/CLKOUT/VCAP
1338   // Pin 11 : RC0/T1OSO/T1CKI/PSMC1A
1339   // Pin 12 : RC1/T1OSI/PSMC1B/CCP2
1340   // Pin 13 : RC2/CCP1/PSMC1C
1341   // Pin 14 : RC3/SCK/SCL/PSMC1D
1342   // Pin 15 : RC4/SDI/SDA/PSMC1E
1343   // Pin 16 : RC5/SDO/PSMC1F
1344   // Pin 17 : RC6/TX/CK/PSMC2A
1345   // Pin 18 : RC7/RX/DT/PSMC2B
1346   // Pin 19 : Vss
1347   // Pin 20 : Vdd
1348   // Pin 21 : RB0/AN12/C2IN1+/CCP1/PSMC1IN/PSMC2IN/INT
1349   // Pin 22 : RB1/AN10/C1IN3-/C2IN3-/C3IN3-/OPA2OUT
1350   // Pin 23 : RB2/AN8/OPA2IN-/CLKR
1351   // Pin 24 : RB3/AN9/C1IN2-/C2IN2-/C3IN2-/OPA2IN+/CCP2
1352   // Pin 25 : RB4/AN11/C3IN1+
1353   // Pin 26 : RB5/AN13/C3OUT/T1G/SDO
1354   // Pin 27 : RB6/TX/CK/SDI/SDA/ICSPCLK/ICDCLK
1355   // Pin 28 : RB7/SCK/RX/DT/SCL/DAC1OUT2/ICSPDAT/ICDDAT
1356 
1357 
1358   // -- RAM to PIN mapping --
1359 
1360   {$MAP_RAM_TO_PIN '00C:0-2,1-3,2-4,3-5,4-6,5-7,6-10,7-9'} // PORTA
1361   {$MAP_RAM_TO_PIN '00D:0-21,1-22,2-23,3-24,4-25,5-26,6-27,7-28'} // PORTB
1362   {$MAP_RAM_TO_PIN '00E:0-11,1-12,2-13,3-14,4-15,5-16,6-17,7-18'} // PORTC
1363   {$MAP_RAM_TO_PIN '010:3-1'} // PORTE
1364 
1365 
1366   // -- Bits Configuration --
1367 
1368   // FOSC : Oscillator Selection
1369   {$define _FOSC_ECH     = $3FFF}  // ECH, External Clock, High Power Mode (4-32 MHz): device clock supplied to CLKIN pin
1370   {$define _FOSC_ECM     = $3FFE}  // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pin
1371   {$define _FOSC_ECL     = $3FFD}  // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pin
1372   {$define _FOSC_INTOSC  = $3FFC}  // INTOSC oscillator: I/O function on CLKIN pin
1373   {$define _FOSC_EXTRC   = $3FFB}  // EXTRC oscillator: External RC circuit connected to CLKIN pin
1374   {$define _FOSC_HS      = $3FFA}  // HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins
1375   {$define _FOSC_XT      = $3FF9}  // XT Oscillator, Crystal/resonator connected between OSC1 and OSC2 pins
1376   {$define _FOSC_LP      = $3FF8}  // LP Oscillator, Low-power crystal connected between OSC1 and OSC2 pins
1377 
1378   // WDTE : Watchdog Timer Enable
1379   {$define _WDTE_ON      = $3FFF}  // WDT enabled
1380   {$define _WDTE_NSLEEP  = $3FF7}  // WDT enabled while running and disabled in Sleep
1381   {$define _WDTE_SWDTEN  = $3FEF}  // WDT controlled by the SWDTEN bit in the WDTCON register
1382   {$define _WDTE_OFF     = $3FE7}  // WDT disabled
1383 
1384   // PWRTE : Power-up Timer Enable
1385   {$define _PWRTE_OFF    = $3FFF}  // PWRT disabled
1386   {$define _PWRTE_ON     = $3FDF}  // PWRT enabled
1387 
1388   // MCLRE : MCLR Pin Function Select
1389   {$define _MCLRE_ON     = $3FFF}  // MCLR/VPP pin function is MCLR
1390   {$define _MCLRE_OFF    = $3FBF}  // MCLR/VPP pin function is digital input
1391 
1392   // CP : Flash Program Memory Code Protection
1393   {$define _CP_OFF       = $3FFF}  // Program memory code protection is disabled
1394   {$define _CP_ON        = $3F7F}  // Program memory code protection is enabled
1395 
1396   // CPD : Data Memory Code Protection
1397   {$define _CPD_OFF      = $3FFF}  // Data memory code protection is disabled
1398   {$define _CPD_ON       = $3EFF}  // Data memory code protection is enabled
1399 
1400   // BOREN : Brown-out Reset Enable
1401   {$define _BOREN_ON     = $3FFF}  // Brown-out Reset enabled
1402   {$define _BOREN_NSLEEP = $3DFF}  // Brown-out Reset enabled while running and disabled in Sleep
1403   {$define _BOREN_SBODEN = $3BFF}  // Brown-out Reset controlled by the SBOREN bit in the BORCON register
1404   {$define _BOREN_OFF    = $39FF}  // Brown-out Reset disabled
1405 
1406   // CLKOUTEN : Clock Out Enable
1407   {$define _CLKOUTEN_OFF = $3FFF}  // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin
1408   {$define _CLKOUTEN_ON  = $37FF}  // CLKOUT function is enabled on the CLKOUT pin
1409 
1410   // IESO : Internal/External Switchover
1411   {$define _IESO_ON      = $3FFF}  // Internal/External Switchover mode is enabled
1412   {$define _IESO_OFF     = $2FFF}  // Internal/External Switchover mode is disabled
1413 
1414   // FCMEN : Fail-Safe Clock Monitor Enable
1415   {$define _FCMEN_ON     = $3FFF}  // Fail-Safe Clock Monitor is enabled
1416   {$define _FCMEN_OFF    = $1FFF}  // Fail-Safe Clock Monitor is disabled
1417 
1418   // WRT : Flash Memory Self-Write Protection
1419   {$define _WRT_OFF      = $3FFF}  // Write protection off
1420   {$define _WRT_BOOT     = $3FFE}  // 000h to 1FFh write protected, 200h to FFFh may be modified by EECON control
1421   {$define _WRT_HALF     = $3FFD}  // 000h to 7FFh write protected, 800h to FFFh may be modified by EECON control
1422   {$define _WRT_ALL      = $3FFC}  // 000h to 7FFh write protected, no addresses may be modified by EECON control
1423 
1424   // VCAPEN : Voltage Regulator Capacitor Enable bit
1425   {$define _VCAPEN_OFF   = $3FFF}  // Vcap functionality is disabled on RA6.
1426   {$define _VCAPEN_ON    = $3FDF}  // Vcap functionality is enabled on RA6 (Vddcore is connected to the pad)
1427 
1428   // PLLEN : PLL Enable
1429   {$define _PLLEN_ON     = $3FFF}  // 4x PLL enabled
1430   {$define _PLLEN_OFF    = $3EFF}  // 4x PLL disabled
1431 
1432   // STVREN : Stack Overflow/Underflow Reset Enable
1433   {$define _STVREN_ON    = $3FFF}  // Stack Overflow or Underflow will cause a Reset
1434   {$define _STVREN_OFF   = $3DFF}  // Stack Overflow or Underflow will not cause a Reset
1435 
1436   // BORV : Brown-out Reset Voltage Selection
1437   {$define _BORV_LO      = $3FFF}  // Brown-out Reset Voltage (Vbor), low trip point selected.
1438   {$define _BORV_HI      = $3BFF}  // Brown-out Reset Voltage (Vbor), high trip point selected.
1439 
1440   // LPBOR : Low Power Brown-Out Reset Enable Bit
1441   {$define _LPBOR_OFF    = $3FFF}  // Low power brown-out is disabled
1442   {$define _LPBOR_ON     = $37FF}  // Low power brown-out is enabled
1443 
1444   // LVP : Low-Voltage Programming Enable
1445   {$define _LVP_ON       = $3FFF}  // Low-voltage programming enabled
1446   {$define _LVP_OFF      = $1FFF}  // High-voltage on MCLR/VPP must be used for programming
1447 
1448 implementation
1449 end.
1450