X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Finclude%2Fpic16%2Fpic18f8520.h;h=a03659a9121715c51ec6ced01c6f72b37b195fa0;hb=bb226788dab3832b0ec0cda70874ce3fce4eebc6;hp=f1f02273c5532bee6ace47ea38de429f6f36709a;hpb=f6e3ed2764a9ec525e3f0c2838740d036b6a270c;p=fw%2Fsdcc diff --git a/device/include/pic16/pic18f8520.h b/device/include/pic16/pic18f8520.h index f1f02273..a03659a9 100644 --- a/device/include/pic16/pic18f8520.h +++ b/device/include/pic16/pic18f8520.h @@ -15,7 +15,7 @@ #ifndef __PIC18F8520_H__ #define __PIC18F8520_H__ -extern __sfr __at 0xf6b RCSTA2; +extern __sfr __at (0xf6b) RCSTA2; typedef union { struct { unsigned RX9D:1; @@ -29,9 +29,9 @@ typedef union { }; } __RCSTA2bits_t; -extern volatile __RCSTA2bits_t __at 0xf6b RCSTA2bits; +extern volatile __RCSTA2bits_t __at (0xf6b) RCSTA2bits; -extern __sfr __at 0xf6c TXSTA2; +extern __sfr __at (0xf6c) TXSTA2; typedef union { struct { unsigned TX9D:1; @@ -45,12 +45,12 @@ typedef union { }; } __TXSTA2bits_t; -extern volatile __TXSTA2bits_t __at 0xf6c TXSTA2bits; +extern volatile __TXSTA2bits_t __at (0xf6c) TXSTA2bits; -extern __sfr __at 0xf6d TXREG2; -extern __sfr __at 0xf6e RCREG2; -extern __sfr __at 0xf6f SPBRG2; -extern __sfr __at 0xf70 CCP5CON; +extern __sfr __at (0xf6d) TXREG2; +extern __sfr __at (0xf6e) RCREG2; +extern __sfr __at (0xf6f) SPBRG2; +extern __sfr __at (0xf70) CCP5CON; typedef union { struct { unsigned CCP5M0:1; @@ -64,11 +64,11 @@ typedef union { }; } __CCP5CONbits_t; -extern volatile __CCP5CONbits_t __at 0xf70 CCP5CONbits; +extern volatile __CCP5CONbits_t __at (0xf70) CCP5CONbits; -extern __sfr __at 0xf71 CCPR5L; -extern __sfr __at 0xf72 CCPR5H; -extern __sfr __at 0xf73 CCP4CON; +extern __sfr __at (0xf71) CCPR5L; +extern __sfr __at (0xf72) CCPR5H; +extern __sfr __at (0xf73) CCP4CON; typedef union { struct { unsigned CCP4M0:1; @@ -82,11 +82,11 @@ typedef union { }; } __CCP4CONbits_t; -extern volatile __CCP4CONbits_t __at 0xf73 CCP4CONbits; +extern volatile __CCP4CONbits_t __at (0xf73) CCP4CONbits; -extern __sfr __at 0xf74 CCPR4L; -extern __sfr __at 0xf75 CCPR4H; -extern __sfr __at 0xf76 T4CON; +extern __sfr __at (0xf74) CCPR4L; +extern __sfr __at (0xf75) CCPR4H; +extern __sfr __at (0xf76) T4CON; typedef union { struct { unsigned T2CKPS0:1; @@ -100,11 +100,11 @@ typedef union { }; } __T4CONbits_t; -extern volatile __T4CONbits_t __at 0xf76 T4CONbits; +extern volatile __T4CONbits_t __at (0xf76) T4CONbits; -extern __sfr __at 0xf77 PR4; -extern __sfr __at 0xf78 TMR4; -extern __sfr __at 0xf80 PORTA; +extern __sfr __at (0xf77) PR4; +extern __sfr __at (0xf78) TMR4; +extern __sfr __at (0xf80) PORTA; typedef union { struct { unsigned RA0:1; @@ -151,9 +151,9 @@ typedef union { }; } __PORTAbits_t; -extern volatile __PORTAbits_t __at 0xf80 PORTAbits; +extern volatile __PORTAbits_t __at (0xf80) PORTAbits; -extern __sfr __at 0xf81 PORTB; +extern __sfr __at (0xf81) PORTB; typedef union { struct { unsigned RB0:1; @@ -178,9 +178,9 @@ typedef union { }; } __PORTBbits_t; -extern volatile __PORTBbits_t __at 0xf81 PORTBbits; +extern volatile __PORTBbits_t __at (0xf81) PORTBbits; -extern __sfr __at 0xf82 PORTC; +extern __sfr __at (0xf82) PORTC; typedef union { struct { unsigned RC0:1; @@ -216,9 +216,9 @@ typedef union { }; } __PORTCbits_t; -extern volatile __PORTCbits_t __at 0xf82 PORTCbits; +extern volatile __PORTCbits_t __at (0xf82) PORTCbits; -extern __sfr __at 0xf83 PORTD; +extern __sfr __at (0xf83) PORTD; typedef union { struct { unsigned RD0:1; @@ -243,9 +243,9 @@ typedef union { }; } __PORTDbits_t; -extern volatile __PORTDbits_t __at 0xf83 PORTDbits; +extern volatile __PORTDbits_t __at (0xf83) PORTDbits; -extern __sfr __at 0xf84 PORTE; +extern __sfr __at (0xf84) PORTE; typedef union { struct { unsigned RE0:1; @@ -281,9 +281,9 @@ typedef union { }; } __PORTEbits_t; -extern volatile __PORTEbits_t __at 0xf84 PORTEbits; +extern volatile __PORTEbits_t __at (0xf84) PORTEbits; -extern __sfr __at 0xf85 PORTF; +extern __sfr __at (0xf85) PORTF; typedef union { struct { unsigned RF0:1; @@ -297,9 +297,9 @@ typedef union { }; } __PORTFbits_t; -extern volatile __PORTFbits_t __at 0xf85 PORTFbits; +extern volatile __PORTFbits_t __at (0xf85) PORTFbits; -extern __sfr __at 0xf86 PORTG; +extern __sfr __at (0xf86) PORTG; typedef union { struct { unsigned RG0:1; @@ -313,9 +313,9 @@ typedef union { }; } __PORTGbits_t; -extern volatile __PORTGbits_t __at 0xf86 PORTGbits; +extern volatile __PORTGbits_t __at (0xf86) PORTGbits; -extern __sfr __at 0xf87 PORTH; +extern __sfr __at (0xf87) PORTH; typedef union { struct { unsigned RH0:1; @@ -329,9 +329,9 @@ typedef union { }; } __PORTHbits_t; -extern volatile __PORTHbits_t __at 0xf87 PORTHbits; +extern volatile __PORTHbits_t __at (0xf87) PORTHbits; -extern __sfr __at 0xf88 PORTJ; +extern __sfr __at (0xf88) PORTJ; typedef union { struct { unsigned RJ0:1; @@ -345,9 +345,9 @@ typedef union { }; } __PORTJbits_t; -extern volatile __PORTJbits_t __at 0xf88 PORTJbits; +extern volatile __PORTJbits_t __at (0xf88) PORTJbits; -extern __sfr __at 0xf89 LATA; +extern __sfr __at (0xf89) LATA; typedef union { struct { unsigned LATA0:1; @@ -361,9 +361,9 @@ typedef union { }; } __LATAbits_t; -extern volatile __LATAbits_t __at 0xf89 LATAbits; +extern volatile __LATAbits_t __at (0xf89) LATAbits; -extern __sfr __at 0xf8a LATB; +extern __sfr __at (0xf8a) LATB; typedef union { struct { unsigned LATB0:1; @@ -377,9 +377,9 @@ typedef union { }; } __LATBbits_t; -extern volatile __LATBbits_t __at 0xf8a LATBbits; +extern volatile __LATBbits_t __at (0xf8a) LATBbits; -extern __sfr __at 0xf8b LATC; +extern __sfr __at (0xf8b) LATC; typedef union { struct { unsigned LATC0:1; @@ -393,9 +393,9 @@ typedef union { }; } __LATCbits_t; -extern volatile __LATCbits_t __at 0xf8b LATCbits; +extern volatile __LATCbits_t __at (0xf8b) LATCbits; -extern __sfr __at 0xf8c LATD; +extern __sfr __at (0xf8c) LATD; typedef union { struct { unsigned LATD0:1; @@ -409,9 +409,9 @@ typedef union { }; } __LATDbits_t; -extern volatile __LATDbits_t __at 0xf8c LATDbits; +extern volatile __LATDbits_t __at (0xf8c) LATDbits; -extern __sfr __at 0xf8d LATE; +extern __sfr __at (0xf8d) LATE; typedef union { struct { unsigned LATE0:1; @@ -425,9 +425,9 @@ typedef union { }; } __LATEbits_t; -extern volatile __LATEbits_t __at 0xf8d LATEbits; +extern volatile __LATEbits_t __at (0xf8d) LATEbits; -extern __sfr __at 0xf8e LATF; +extern __sfr __at (0xf8e) LATF; typedef union { struct { unsigned LATF0:1; @@ -441,9 +441,9 @@ typedef union { }; } __LATFbits_t; -extern volatile __LATFbits_t __at 0xf8e LATFbits; +extern volatile __LATFbits_t __at (0xf8e) LATFbits; -extern __sfr __at 0xf8f LATG; +extern __sfr __at (0xf8f) LATG; typedef union { struct { unsigned LATG0:1; @@ -457,9 +457,9 @@ typedef union { }; } __LATGbits_t; -extern volatile __LATGbits_t __at 0xf8f LATGbits; +extern volatile __LATGbits_t __at (0xf8f) LATGbits; -extern __sfr __at 0xf90 LATH; +extern __sfr __at (0xf90) LATH; typedef union { struct { unsigned LATH0:1; @@ -473,9 +473,9 @@ typedef union { }; } __LATHbits_t; -extern volatile __LATHbits_t __at 0xf90 LATHbits; +extern volatile __LATHbits_t __at (0xf90) LATHbits; -extern __sfr __at 0xf91 LATJ; +extern __sfr __at (0xf91) LATJ; typedef union { struct { unsigned LATJ0:1; @@ -489,9 +489,9 @@ typedef union { }; } __LATJbits_t; -extern volatile __LATJbits_t __at 0xf91 LATJbits; +extern volatile __LATJbits_t __at (0xf91) LATJbits; -extern __sfr __at 0xf92 TRISA; +extern __sfr __at (0xf92) TRISA; typedef union { struct { unsigned TRISA0:1; @@ -505,9 +505,9 @@ typedef union { }; } __TRISAbits_t; -extern volatile __TRISAbits_t __at 0xf92 TRISAbits; +extern volatile __TRISAbits_t __at (0xf92) TRISAbits; -extern __sfr __at 0xf93 TRISB; +extern __sfr __at (0xf93) TRISB; typedef union { struct { unsigned TRISB0:1; @@ -521,9 +521,9 @@ typedef union { }; } __TRISBbits_t; -extern volatile __TRISBbits_t __at 0xf93 TRISBbits; +extern volatile __TRISBbits_t __at (0xf93) TRISBbits; -extern __sfr __at 0xf94 TRISC; +extern __sfr __at (0xf94) TRISC; typedef union { struct { unsigned TRISC0:1; @@ -537,9 +537,9 @@ typedef union { }; } __TRISCbits_t; -extern volatile __TRISCbits_t __at 0xf94 TRISCbits; +extern volatile __TRISCbits_t __at (0xf94) TRISCbits; -extern __sfr __at 0xf95 TRISD; +extern __sfr __at (0xf95) TRISD; typedef union { struct { unsigned TRISD0:1; @@ -553,9 +553,9 @@ typedef union { }; } __TRISDbits_t; -extern volatile __TRISDbits_t __at 0xf95 TRISDbits; +extern volatile __TRISDbits_t __at (0xf95) TRISDbits; -extern __sfr __at 0xf96 TRISE; +extern __sfr __at (0xf96) TRISE; typedef union { struct { unsigned TRISE0:1; @@ -569,9 +569,9 @@ typedef union { }; } __TRISEbits_t; -extern volatile __TRISEbits_t __at 0xf96 TRISEbits; +extern volatile __TRISEbits_t __at (0xf96) TRISEbits; -extern __sfr __at 0xf97 TRISF; +extern __sfr __at (0xf97) TRISF; typedef union { struct { unsigned TRISF0:1; @@ -585,9 +585,9 @@ typedef union { }; } __TRISFbits_t; -extern volatile __TRISFbits_t __at 0xf97 TRISFbits; +extern volatile __TRISFbits_t __at (0xf97) TRISFbits; -extern __sfr __at 0xf98 TRISG; +extern __sfr __at (0xf98) TRISG; typedef union { struct { unsigned TRISG0:1; @@ -601,9 +601,9 @@ typedef union { }; } __TRISGbits_t; -extern volatile __TRISGbits_t __at 0xf98 TRISGbits; +extern volatile __TRISGbits_t __at (0xf98) TRISGbits; -extern __sfr __at 0xf99 TRISH; +extern __sfr __at (0xf99) TRISH; typedef union { struct { unsigned TRISH0:1; @@ -617,9 +617,9 @@ typedef union { }; } __TRISHbits_t; -extern volatile __TRISHbits_t __at 0xf99 TRISHbits; +extern volatile __TRISHbits_t __at (0xf99) TRISHbits; -extern __sfr __at 0xf9a TRISJ; +extern __sfr __at (0xf9a) TRISJ; typedef union { struct { unsigned TRISJ0:1; @@ -633,9 +633,9 @@ typedef union { }; } __TRISJbits_t; -extern volatile __TRISJbits_t __at 0xf9a TRISJbits; +extern volatile __TRISJbits_t __at (0xf9a) TRISJbits; -extern __sfr __at 0xf9c MEMCON; +extern __sfr __at (0xf9c) MEMCON; typedef union { struct { unsigned WM0:1; @@ -649,9 +649,9 @@ typedef union { }; } __MEMCONbits_t; -extern volatile __MEMCONbits_t __at 0xf9c MEMCONbits; +extern volatile __MEMCONbits_t __at (0xf9c) MEMCONbits; -extern __sfr __at 0xf9d PIE1; +extern __sfr __at (0xf9d) PIE1; typedef union { struct { unsigned TMR1IE:1; @@ -665,9 +665,9 @@ typedef union { }; } __PIE1bits_t; -extern volatile __PIE1bits_t __at 0xf9d PIE1bits; +extern volatile __PIE1bits_t __at (0xf9d) PIE1bits; -extern __sfr __at 0xf9e PIR1; +extern __sfr __at (0xf9e) PIR1; typedef union { struct { unsigned TMR1IF:1; @@ -681,9 +681,9 @@ typedef union { }; } __PIR1bits_t; -extern volatile __PIR1bits_t __at 0xf9e PIR1bits; +extern volatile __PIR1bits_t __at (0xf9e) PIR1bits; -extern __sfr __at 0xf9f IPR1; +extern __sfr __at (0xf9f) IPR1; typedef union { struct { unsigned TMR1IP:1; @@ -697,9 +697,9 @@ typedef union { }; } __IPR1bits_t; -extern volatile __IPR1bits_t __at 0xf9f IPR1bits; +extern volatile __IPR1bits_t __at (0xf9f) IPR1bits; -extern __sfr __at 0xfa0 PIE2; +extern __sfr __at (0xfa0) PIE2; typedef union { struct { unsigned CCP2IE:1; @@ -713,9 +713,9 @@ typedef union { }; } __PIE2bits_t; -extern volatile __PIE2bits_t __at 0xfa0 PIE2bits; +extern volatile __PIE2bits_t __at (0xfa0) PIE2bits; -extern __sfr __at 0xfa1 PIR2; +extern __sfr __at (0xfa1) PIR2; typedef union { struct { unsigned CCP2IF:1; @@ -729,9 +729,9 @@ typedef union { }; } __PIR2bits_t; -extern volatile __PIR2bits_t __at 0xfa1 PIR2bits; +extern volatile __PIR2bits_t __at (0xfa1) PIR2bits; -extern __sfr __at 0xfa2 IPR2; +extern __sfr __at (0xfa2) IPR2; typedef union { struct { unsigned CCP2IP:1; @@ -745,9 +745,9 @@ typedef union { }; } __IPR2bits_t; -extern volatile __IPR2bits_t __at 0xfa2 IPR2bits; +extern volatile __IPR2bits_t __at (0xfa2) IPR2bits; -extern __sfr __at 0xfa3 PIE3; +extern __sfr __at (0xfa3) PIE3; typedef union { struct { unsigned CCP3IE:1; @@ -761,9 +761,9 @@ typedef union { }; } __PIE3bits_t; -extern volatile __PIE3bits_t __at 0xfa3 PIE3bits; +extern volatile __PIE3bits_t __at (0xfa3) PIE3bits; -extern __sfr __at 0xfa4 PIR3; +extern __sfr __at (0xfa4) PIR3; typedef union { struct { unsigned CCP3IF:1; @@ -777,9 +777,9 @@ typedef union { }; } __PIR3bits_t; -extern volatile __PIR3bits_t __at 0xfa4 PIR3bits; +extern volatile __PIR3bits_t __at (0xfa4) PIR3bits; -extern __sfr __at 0xfa5 IPR3; +extern __sfr __at (0xfa5) IPR3; typedef union { struct { unsigned CCP3IP:1; @@ -793,9 +793,9 @@ typedef union { }; } __IPR3bits_t; -extern volatile __IPR3bits_t __at 0xfa5 IPR3bits; +extern volatile __IPR3bits_t __at (0xfa5) IPR3bits; -extern __sfr __at 0xfa6 EECON1; +extern __sfr __at (0xfa6) EECON1; typedef union { struct { unsigned RD:1; @@ -809,13 +809,13 @@ typedef union { }; } __EECON1bits_t; -extern volatile __EECON1bits_t __at 0xfa6 EECON1bits; +extern volatile __EECON1bits_t __at (0xfa6) EECON1bits; -extern __sfr __at 0xfa7 EECON2; -extern __sfr __at 0xfa8 EEDATA; -extern __sfr __at 0xfa9 EEADR; -extern __sfr __at 0xfaa EEADRH; -extern __sfr __at 0xfab RCSTA1; +extern __sfr __at (0xfa7) EECON2; +extern __sfr __at (0xfa8) EEDATA; +extern __sfr __at (0xfa9) EEADR; +extern __sfr __at (0xfaa) EEADRH; +extern __sfr __at (0xfab) RCSTA1; typedef union { struct { unsigned RX9D:1; @@ -829,9 +829,9 @@ typedef union { }; } __RCSTA1bits_t; -extern volatile __RCSTA1bits_t __at 0xfab RCSTA1bits; +extern volatile __RCSTA1bits_t __at (0xfab) RCSTA1bits; -extern __sfr __at 0xfac TXSTA1; +extern __sfr __at (0xfac) TXSTA1; typedef union { struct { unsigned TX9D:1; @@ -845,12 +845,22 @@ typedef union { }; } __TXSTA1bits_t; -extern volatile __TXSTA1bits_t __at 0xfac TXSTA1bits; +extern volatile __TXSTA1bits_t __at (0xfac) TXSTA1bits; -extern __sfr __at 0xfad TXREG1; -extern __sfr __at 0xfae RCREG1; -extern __sfr __at 0xfaf SPBRG1; -extern __sfr __at 0xfb0 PSPCON; +extern __sfr __at (0xfad) TXREG1; +extern __sfr __at (0xfae) RCREG1; +extern __sfr __at (0xfaf) SPBRG1; + +/* for compatibility reasons */ +extern __sfr __at (0xfab) RCSTA; +extern volatile __RCSTA1bits_t __at (0xfab) RCSTAbits; +extern __sfr __at (0xfac) TXSTA; +extern volatile __TXSTA1bits_t __at (0xfac) TXSTAbits; +extern __sfr __at (0xfad) TXREG; +extern __sfr __at (0xfae) RCREG; +extern __sfr __at (0xfaf) SPBRG; + +extern __sfr __at (0xfb0) PSPCON; typedef union { struct { unsigned :1; @@ -864,9 +874,9 @@ typedef union { }; } __PSPCONbits_t; -extern volatile __PSPCONbits_t __at 0xfb0 PSPCONbits; +extern volatile __PSPCONbits_t __at (0xfb0) PSPCONbits; -extern __sfr __at 0xfb1 T3CON; +extern __sfr __at (0xfb1) T3CON; typedef union { struct { unsigned TMR3ON:1; @@ -880,11 +890,11 @@ typedef union { }; } __T3CONbits_t; -extern volatile __T3CONbits_t __at 0xfb1 T3CONbits; +extern volatile __T3CONbits_t __at (0xfb1) T3CONbits; -extern __sfr __at 0xfb2 TMR3L; -extern __sfr __at 0xfb3 TMR3H; -extern __sfr __at 0xfb4 CMCON; +extern __sfr __at (0xfb2) TMR3L; +extern __sfr __at (0xfb3) TMR3H; +extern __sfr __at (0xfb4) CMCON; typedef union { struct { unsigned CM0:1; @@ -898,9 +908,9 @@ typedef union { }; } __CMCONbits_t; -extern volatile __CMCONbits_t __at 0xfb4 CMCONbits; +extern volatile __CMCONbits_t __at (0xfb4) CMCONbits; -extern __sfr __at 0xfb5 CVRCON; +extern __sfr __at (0xfb5) CVRCON; typedef union { struct { unsigned CVR0:1; @@ -914,9 +924,9 @@ typedef union { }; } __CVRCONbits_t; -extern volatile __CVRCONbits_t __at 0xfb5 CVRCONbits; +extern volatile __CVRCONbits_t __at (0xfb5) CVRCONbits; -extern __sfr __at 0xfb7 CCP3CON; +extern __sfr __at (0xfb7) CCP3CON; typedef union { struct { unsigned CCP3M0:1; @@ -930,11 +940,11 @@ typedef union { }; } __CCP3CONbits_t; -extern volatile __CCP3CONbits_t __at 0xfb7 CCP3CONbits; +extern volatile __CCP3CONbits_t __at (0xfb7) CCP3CONbits; -extern __sfr __at 0xfb8 CCPR3L; -extern __sfr __at 0xfb9 CCPR3H; -extern __sfr __at 0xfba CCP2CON; +extern __sfr __at (0xfb8) CCPR3L; +extern __sfr __at (0xfb9) CCPR3H; +extern __sfr __at (0xfba) CCP2CON; typedef union { struct { unsigned CCP2M0:1; @@ -948,11 +958,11 @@ typedef union { }; } __CCP2CONbits_t; -extern volatile __CCP2CONbits_t __at 0xfba CCP2CONbits; +extern volatile __CCP2CONbits_t __at (0xfba) CCP2CONbits; -extern __sfr __at 0xfbb CCPR2L; -extern __sfr __at 0xfbc CCPR2H; -extern __sfr __at 0xfbd CCP1CON; +extern __sfr __at (0xfbb) CCPR2L; +extern __sfr __at (0xfbc) CCPR2H; +extern __sfr __at (0xfbd) CCP1CON; typedef union { struct { unsigned CCP1M0:1; @@ -966,11 +976,11 @@ typedef union { }; } __CCP1CONbits_t; -extern volatile __CCP1CONbits_t __at 0xfbd CCP1CONbits; +extern volatile __CCP1CONbits_t __at (0xfbd) CCP1CONbits; -extern __sfr __at 0xfbe CCPR1L; -extern __sfr __at 0xfbf CCPR1H; -extern __sfr __at 0xfc0 ADCON2; +extern __sfr __at (0xfbe) CCPR1L; +extern __sfr __at (0xfbf) CCPR1H; +extern __sfr __at (0xfc0) ADCON2; typedef union { struct { unsigned ADCS0:1; @@ -984,9 +994,9 @@ typedef union { }; } __ADCON2bits_t; -extern volatile __ADCON2bits_t __at 0xfc0 ADCON2bits; +extern volatile __ADCON2bits_t __at (0xfc0) ADCON2bits; -extern __sfr __at 0xfc1 ADCON1; +extern __sfr __at (0xfc1) ADCON1; typedef union { struct { unsigned PCFG0:1; @@ -1000,9 +1010,9 @@ typedef union { }; } __ADCON1bits_t; -extern volatile __ADCON1bits_t __at 0xfc1 ADCON1bits; +extern volatile __ADCON1bits_t __at (0xfc1) ADCON1bits; -extern __sfr __at 0xfc2 ADCON0; +extern __sfr __at (0xfc2) ADCON0; typedef union { struct { unsigned ADON:1; @@ -1016,11 +1026,11 @@ typedef union { }; } __ADCON0bits_t; -extern volatile __ADCON0bits_t __at 0xfc2 ADCON0bits; +extern volatile __ADCON0bits_t __at (0xfc2) ADCON0bits; -extern __sfr __at 0xfc3 ADRESL; -extern __sfr __at 0xfc4 ADRESH; -extern __sfr __at 0xfc5 SSPCON2; +extern __sfr __at (0xfc3) ADRESL; +extern __sfr __at (0xfc4) ADRESH; +extern __sfr __at (0xfc5) SSPCON2; typedef union { struct { unsigned SEN:1; @@ -1034,9 +1044,9 @@ typedef union { }; } __SSPCON2bits_t; -extern volatile __SSPCON2bits_t __at 0xfc5 SSPCON2bits; +extern volatile __SSPCON2bits_t __at (0xfc5) SSPCON2bits; -extern __sfr __at 0xfc6 SSPCON1; +extern __sfr __at (0xfc6) SSPCON1; typedef union { struct { unsigned SSPM0:1; @@ -1050,9 +1060,9 @@ typedef union { }; } __SSPCON1bits_t; -extern volatile __SSPCON1bits_t __at 0xfc6 SSPCON1bits; +extern volatile __SSPCON1bits_t __at (0xfc6) SSPCON1bits; -extern __sfr __at 0xfc7 SSPSTAT; +extern __sfr __at (0xfc7) SSPSTAT; typedef union { struct { unsigned BF:1; @@ -1066,11 +1076,11 @@ typedef union { }; } __SSPSTATbits_t; -extern volatile __SSPSTATbits_t __at 0xfc7 SSPSTATbits; +extern volatile __SSPSTATbits_t __at (0xfc7) SSPSTATbits; -extern __sfr __at 0xfc8 SSPADD; -extern __sfr __at 0xfc9 SSPBUF; -extern __sfr __at 0xfca T2CON; +extern __sfr __at (0xfc8) SSPADD; +extern __sfr __at (0xfc9) SSPBUF; +extern __sfr __at (0xfca) T2CON; typedef union { struct { unsigned T2CKPS0:1; @@ -1084,11 +1094,11 @@ typedef union { }; } __T2CONbits_t; -extern volatile __T2CONbits_t __at 0xfca T2CONbits; +extern volatile __T2CONbits_t __at (0xfca) T2CONbits; -extern __sfr __at 0xfcb PR2; -extern __sfr __at 0xfcc TMR2; -extern __sfr __at 0xfcd T1CON; +extern __sfr __at (0xfcb) PR2; +extern __sfr __at (0xfcc) TMR2; +extern __sfr __at (0xfcd) T1CON; typedef union { struct { unsigned TMR1ON:1; @@ -1102,11 +1112,11 @@ typedef union { }; } __T1CONbits_t; -extern volatile __T1CONbits_t __at 0xfcd T1CONbits; +extern volatile __T1CONbits_t __at (0xfcd) T1CONbits; -extern __sfr __at 0xfce TMR1L; -extern __sfr __at 0xfcf TMR1H; -extern __sfr __at 0xfd0 RCON; +extern __sfr __at (0xfce) TMR1L; +extern __sfr __at (0xfcf) TMR1H; +extern __sfr __at (0xfd0) RCON; typedef union { struct { unsigned BOR:1; @@ -1120,9 +1130,9 @@ typedef union { }; } __RCONbits_t; -extern volatile __RCONbits_t __at 0xfd0 RCONbits; +extern volatile __RCONbits_t __at (0xfd0) RCONbits; -extern __sfr __at 0xfd1 WDTCON; +extern __sfr __at (0xfd1) WDTCON; typedef union { struct { unsigned SWDTEN:1; @@ -1147,9 +1157,9 @@ typedef union { }; } __WDTCONbits_t; -extern volatile __WDTCONbits_t __at 0xfd1 WDTCONbits; +extern volatile __WDTCONbits_t __at (0xfd1) WDTCONbits; -extern __sfr __at 0xfd2 LVDCON; +extern __sfr __at (0xfd2) LVDCON; typedef union { struct { unsigned LVDL0:1; @@ -1174,9 +1184,9 @@ typedef union { }; } __LVDCONbits_t; -extern volatile __LVDCONbits_t __at 0xfd2 LVDCONbits; +extern volatile __LVDCONbits_t __at (0xfd2) LVDCONbits; -extern __sfr __at 0xfd3 OSCCON; +extern __sfr __at (0xfd3) OSCCON; typedef union { struct { unsigned SCS:1; @@ -1190,12 +1200,12 @@ typedef union { }; } __OSCCONbits_t; -extern volatile __OSCCONbits_t __at 0xfd3 OSCCONbits; +extern volatile __OSCCONbits_t __at (0xfd3) OSCCONbits; -extern __sfr __at 0xfd5 T0CON; -extern __sfr __at 0xfd6 TMR0L; -extern __sfr __at 0xfd7 TMR0H; -extern __sfr __at 0xfd8 STATUS; +extern __sfr __at (0xfd5) T0CON; +extern __sfr __at (0xfd6) TMR0L; +extern __sfr __at (0xfd7) TMR0H; +extern __sfr __at (0xfd8) STATUS; typedef union { struct { unsigned C:1; @@ -1209,32 +1219,32 @@ typedef union { }; } __STATUSbits_t; -extern volatile __STATUSbits_t __at 0xfd8 STATUSbits; - -extern __sfr __at 0xfd9 FSR2L; -extern __sfr __at 0xfda FSR2H; -extern __sfr __at 0xfdb PLUSW2; -extern __sfr __at 0xfdc PREINC2; -extern __sfr __at 0xfdd POSTDEC2; -extern __sfr __at 0xfde POSTINC2; -extern __sfr __at 0xfdf INDF2; -extern __sfr __at 0xfe0 BSR; -extern __sfr __at 0xfe1 FSR1L; -extern __sfr __at 0xfe2 FSR1H; -extern __sfr __at 0xfe3 PLUSW1; -extern __sfr __at 0xfe4 PREINC1; -extern __sfr __at 0xfe5 POSTDEC1; -extern __sfr __at 0xfe6 POSTINC1; -extern __sfr __at 0xfe7 INDF1; -extern __sfr __at 0xfe8 WREG; -extern __sfr __at 0xfe9 FSR0L; -extern __sfr __at 0xfea FSR0H; -extern __sfr __at 0xfeb PLUSW0; -extern __sfr __at 0xfec PREINC0; -extern __sfr __at 0xfed POSTDEC0; -extern __sfr __at 0xfee POSTINC0; -extern __sfr __at 0xfef INDF0; -extern __sfr __at 0xff0 INTCON3; +extern volatile __STATUSbits_t __at (0xfd8) STATUSbits; + +extern __sfr __at (0xfd9) FSR2L; +extern __sfr __at (0xfda) FSR2H; +extern __sfr __at (0xfdb) PLUSW2; +extern __sfr __at (0xfdc) PREINC2; +extern __sfr __at (0xfdd) POSTDEC2; +extern __sfr __at (0xfde) POSTINC2; +extern __sfr __at (0xfdf) INDF2; +extern __sfr __at (0xfe0) BSR; +extern __sfr __at (0xfe1) FSR1L; +extern __sfr __at (0xfe2) FSR1H; +extern __sfr __at (0xfe3) PLUSW1; +extern __sfr __at (0xfe4) PREINC1; +extern __sfr __at (0xfe5) POSTDEC1; +extern __sfr __at (0xfe6) POSTINC1; +extern __sfr __at (0xfe7) INDF1; +extern __sfr __at (0xfe8) WREG; +extern __sfr __at (0xfe9) FSR0L; +extern __sfr __at (0xfea) FSR0H; +extern __sfr __at (0xfeb) PLUSW0; +extern __sfr __at (0xfec) PREINC0; +extern __sfr __at (0xfed) POSTDEC0; +extern __sfr __at (0xfee) POSTINC0; +extern __sfr __at (0xfef) INDF0; +extern __sfr __at (0xff0) INTCON3; typedef union { struct { unsigned INT1F:1; @@ -1259,9 +1269,9 @@ typedef union { }; } __INTCON3bits_t; -extern volatile __INTCON3bits_t __at 0xff0 INTCON3bits; +extern volatile __INTCON3bits_t __at (0xff0) INTCON3bits; -extern __sfr __at 0xff1 INTCON2; +extern __sfr __at (0xff1) INTCON2; typedef union { struct { unsigned RBIP:1; @@ -1275,9 +1285,9 @@ typedef union { }; } __INTCON2bits_t; -extern volatile __INTCON2bits_t __at 0xff1 INTCON2bits; +extern volatile __INTCON2bits_t __at (0xff1) INTCON2bits; -extern __sfr __at 0xff2 INTCON; +extern __sfr __at (0xff2) INTCON; typedef union { struct { unsigned RBIF:1; @@ -1289,20 +1299,30 @@ typedef union { unsigned PEIE:1; unsigned GIE:1; }; + struct { + unsigned :1; + unsigned INT0IF:1; + unsigned TMR0IF:1; + unsigned :1; + unsigned INT0IE:1; + unsigned TMR0IE:1; + unsigned GIEL:1; + unsigned GIEH:1; + }; } __INTCONbits_t; -extern volatile __INTCONbits_t __at 0xff2 INTCONbits; +extern volatile __INTCONbits_t __at (0xff2) INTCONbits; -extern __sfr __at 0xff3 PRODL; -extern __sfr __at 0xff4 PRODH; -extern __sfr __at 0xff5 TABLAT; -extern __sfr __at 0xff6 TBLPTRL; -extern __sfr __at 0xff7 TBLPTRH; -extern __sfr __at 0xff8 TBLPTRU; -extern __sfr __at 0xff9 PCL; -extern __sfr __at 0xffa PCLATH; -extern __sfr __at 0xffb PCLATU; -extern __sfr __at 0xffc STKPTR; +extern __sfr __at (0xff3) PRODL; +extern __sfr __at (0xff4) PRODH; +extern __sfr __at (0xff5) TABLAT; +extern __sfr __at (0xff6) TBLPTRL; +extern __sfr __at (0xff7) TBLPTRH; +extern __sfr __at (0xff8) TBLPTRU; +extern __sfr __at (0xff9) PCL; +extern __sfr __at (0xffa) PCLATH; +extern __sfr __at (0xffb) PCLATU; +extern __sfr __at (0xffc) STKPTR; typedef union { struct { unsigned STKPTR0:1; @@ -1316,11 +1336,11 @@ typedef union { }; } __STKPTRbits_t; -extern volatile __STKPTRbits_t __at 0xffc STKPTRbits; +extern volatile __STKPTRbits_t __at (0xffc) STKPTRbits; -extern __sfr __at 0xffd TOSL; -extern __sfr __at 0xffe TOSH; -extern __sfr __at 0xfff TOSU; +extern __sfr __at (0xffd) TOSL; +extern __sfr __at (0xffe) TOSH; +extern __sfr __at (0xfff) TOSU; /* Configuration registers locations */ @@ -1397,17 +1417,17 @@ extern __sfr __at 0xfff TOSU; /* Timer1 OSC 3H options */ #define _T1OSCMX_LOW_3H 0xFD /* Low Power */ -/* Low Voltage Program 3H options */ -#define _LVP_ON_3H 0xFF /* Enabled */ -#define _LVP_OFF_3H 0xFB /* Disabled */ +/* Low Voltage Program 4L options */ +#define _LVP_ON_4L 0xFF /* Enabled */ +#define _LVP_OFF_4L 0xFB /* Disabled */ -/* Background Debug 3H options */ -#define _BACKBUG_OFF_3H 0xFF /* Disabled */ -#define _BACKBUG_ON_3H 0x7F /* Enabled */ +/* Background Debug 4L options */ +#define _BACKBUG_OFF_4L 0xFF /* Disabled */ +#define _BACKBUG_ON_4L 0x7F /* Enabled */ -/* Stack Overflow Reset 3H options */ -#define _STVR_ON_3H 0xFF /* Enabled */ -#define _STVR_OFF_3H 0xFE /* Disabled */ +/* Stack Overflow Reset 4L options */ +#define _STVR_ON_4L 0xFF /* Enabled */ +#define _STVR_OFF_4L 0xFE /* Disabled */ /* Code Protect 00800-01FFF 5L options */ #define _CP_0_OFF_5L 0xFF /* Disabled */ @@ -1493,7 +1513,4 @@ extern __sfr __at 0xfff TOSU; #define __IDLOC7 0x200007 -/* added for USART compatibility with smaller devices */ -#define __MULTIPLE_USARTS 1 - #endif