+2006-12-13 Raphael Neider <rneider AT web.de>
+
+ * src/pic/device.h: removed AssignedMemory structure and macros
+ * src/pic/device.c: removed global finalMapping (linker assigns
+ memory locations),
+ (register_map): add SFRs to remembered memRanges
+ (addMemRange,isSFR,dump_map,dump_sfr,mapRegister,assignRegister,
+ assignFixedRegisters,assignRelocatableRegisters): removed,
+ (setMaxRAM,validAddress): adapted accordingly,
+ (pic14_hasSharebank,pic14_getSharedStack): only report and use
+ reasonably sized sharebanks,
+ * src/pic/ralloc.c (writeUsedRegs): stripped down (remove?),
+ (allDefsOutOfRange): removed unused code,
+ * src/pic/main.c (_process_pragma): removed memmap/maxram pragma
+ handling
+ * src/pic/pcode.c (register_reassign): removed recursion warning,
+ fired far too often,
+ * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap): modified
+ to use existing pic14_stringInSet() to avoid duplicate symbols,
+ tidied up the code a bit,
+ (pic14printLocals): added in symmetry to printExterns, replaces
+ writeUsedRegs more or less,
+ (picglue): call new pic14_printLocals(),
+ * device/include/pic/pic*.h: removed #pragma memmap directives,
+ information gathered from include/pic/pic14devices.txt
+ * support/scripts/inc2h.pl: do not emit #pragma memmap lines
+
2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
* device/include/mcs51/C8051F520.h: fixed buggy CPT0MX
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap GPIO_ADDR GPIO_ADDR SFR 0x000 // GPIO
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISIO_ADDR TRISIO_ADDR SFR 0x000 // TRISIO
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCAL_ADDR OSCCAL_ADDR SFR 0x000 // OSCCAL
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap GPIO_ADDR GPIO_ADDR SFR 0x000 // GPIO
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISIO_ADDR TRISIO_ADDR SFR 0x000 // TRISIO
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap WPUDA_ADDR WPUDA_ADDR SFR 0x000 // WPUDA
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDA_ADDR WDA_ADDR SFR 0x000 // WDA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap CRCON_ADDR CRCON_ADDR SFR 0x000 // CRCON
-#pragma memmap CRDAT0_ADDR CRDAT0_ADDR SFR 0x000 // CRDAT0
-#pragma memmap CRDAT1_ADDR CRDAT1_ADDR SFR 0x000 // CRDAT1
-#pragma memmap CRDAT2_ADDR CRDAT2_ADDR SFR 0x000 // CRDAT2
-#pragma memmap CRDAT3_ADDR CRDAT3_ADDR SFR 0x000 // CRDAT3
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap GPIO_ADDR GPIO_ADDR SFR 0x000 // GPIO
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISIO_ADDR TRISIO_ADDR SFR 0x000 // TRISIO
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCAL_ADDR OSCCAL_ADDR SFR 0x000 // OSCCAL
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap GPIO_ADDR GPIO_ADDR SFR 0x000 // GPIO
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISIO_ADDR TRISIO_ADDR SFR 0x000 // TRISIO
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap LININTF_ADDR LININTF_ADDR SFR 0x000 // LININTF
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap GPIO_ADDR GPIO_ADDR SFR 0x000 // GPIO
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISIO_ADDR TRISIO_ADDR SFR 0x000 // TRISIO
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCAL_ADDR OSCCAL_ADDR SFR 0x000 // OSCCAL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap P1DEL_ADDR P1DEL_ADDR SFR 0x000 // P1DEL
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap UIR_ADDR UIR_ADDR SFR 0x000 // UIR
-#pragma memmap UIE_ADDR UIE_ADDR SFR 0x000 // UIE
-#pragma memmap UEIR_ADDR UEIR_ADDR SFR 0x000 // UEIR
-#pragma memmap UEIE_ADDR UEIE_ADDR SFR 0x000 // UEIE
-#pragma memmap USTAT_ADDR USTAT_ADDR SFR 0x000 // USTAT
-#pragma memmap UCTRL_ADDR UCTRL_ADDR SFR 0x000 // UCTRL
-#pragma memmap UADDR_ADDR UADDR_ADDR SFR 0x000 // UADDR
-#pragma memmap USWSTAT_ADDR USWSTAT_ADDR SFR 0x000 // USWSTAT
-#pragma memmap UEP0_ADDR UEP0_ADDR SFR 0x000 // UEP0
-#pragma memmap UEP1_ADDR UEP1_ADDR SFR 0x000 // UEP1
-#pragma memmap UEP2_ADDR UEP2_ADDR SFR 0x000 // UEP2
-#pragma memmap BD0OST_ADDR BD0OST_ADDR SFR 0x000 // BD0OST
-#pragma memmap BD0OBC_ADDR BD0OBC_ADDR SFR 0x000 // BD0OBC
-#pragma memmap BD0OAL_ADDR BD0OAL_ADDR SFR 0x000 // BD0OAL
-#pragma memmap BD0IST_ADDR BD0IST_ADDR SFR 0x000 // BD0IST
-#pragma memmap BD0IBC_ADDR BD0IBC_ADDR SFR 0x000 // BD0IBC
-#pragma memmap BD0IAL_ADDR BD0IAL_ADDR SFR 0x000 // BD0IAL
-#pragma memmap BD1OST_ADDR BD1OST_ADDR SFR 0x000 // BD1OST
-#pragma memmap BD1OBC_ADDR BD1OBC_ADDR SFR 0x000 // BD1OBC
-#pragma memmap BD1OAL_ADDR BD1OAL_ADDR SFR 0x000 // BD1OAL
-#pragma memmap BD1IST_ADDR BD1IST_ADDR SFR 0x000 // BD1IST
-#pragma memmap BD1IBC_ADDR BD1IBC_ADDR SFR 0x000 // BD1IBC
-#pragma memmap BD1IAL_ADDR BD1IAL_ADDR SFR 0x000 // BD1IAL
-#pragma memmap BD2OST_ADDR BD2OST_ADDR SFR 0x000 // BD2OST
-#pragma memmap BD2OBC_ADDR BD2OBC_ADDR SFR 0x000 // BD2OBC
-#pragma memmap BD2OAL_ADDR BD2OAL_ADDR SFR 0x000 // BD2OAL
-#pragma memmap BD2IST_ADDR BD2IST_ADDR SFR 0x000 // BD2IST
-#pragma memmap BD2IBC_ADDR BD2IBC_ADDR SFR 0x000 // BD2IBC
-#pragma memmap BD2IAL_ADDR BD2IAL_ADDR SFR 0x000 // BD2IAL
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap UIR_ADDR UIR_ADDR SFR 0x000 // UIR
-#pragma memmap UIE_ADDR UIE_ADDR SFR 0x000 // UIE
-#pragma memmap UEIR_ADDR UEIR_ADDR SFR 0x000 // UEIR
-#pragma memmap UEIE_ADDR UEIE_ADDR SFR 0x000 // UEIE
-#pragma memmap USTAT_ADDR USTAT_ADDR SFR 0x000 // USTAT
-#pragma memmap UCTRL_ADDR UCTRL_ADDR SFR 0x000 // UCTRL
-#pragma memmap UADDR_ADDR UADDR_ADDR SFR 0x000 // UADDR
-#pragma memmap USWSTAT_ADDR USWSTAT_ADDR SFR 0x000 // USWSTAT
-#pragma memmap UEP0_ADDR UEP0_ADDR SFR 0x000 // UEP0
-#pragma memmap UEP1_ADDR UEP1_ADDR SFR 0x000 // UEP1
-#pragma memmap UEP2_ADDR UEP2_ADDR SFR 0x000 // UEP2
-#pragma memmap BD0OST_ADDR BD0OST_ADDR SFR 0x000 // BD0OST
-#pragma memmap BD0OBC_ADDR BD0OBC_ADDR SFR 0x000 // BD0OBC
-#pragma memmap BD0OAL_ADDR BD0OAL_ADDR SFR 0x000 // BD0OAL
-#pragma memmap BD0IST_ADDR BD0IST_ADDR SFR 0x000 // BD0IST
-#pragma memmap BD0IBC_ADDR BD0IBC_ADDR SFR 0x000 // BD0IBC
-#pragma memmap BD0IAL_ADDR BD0IAL_ADDR SFR 0x000 // BD0IAL
-#pragma memmap BD1OST_ADDR BD1OST_ADDR SFR 0x000 // BD1OST
-#pragma memmap BD1OBC_ADDR BD1OBC_ADDR SFR 0x000 // BD1OBC
-#pragma memmap BD1OAL_ADDR BD1OAL_ADDR SFR 0x000 // BD1OAL
-#pragma memmap BD1IST_ADDR BD1IST_ADDR SFR 0x000 // BD1IST
-#pragma memmap BD1IBC_ADDR BD1IBC_ADDR SFR 0x000 // BD1IBC
-#pragma memmap BD1IAL_ADDR BD1IAL_ADDR SFR 0x000 // BD1IAL
-#pragma memmap BD2OST_ADDR BD2OST_ADDR SFR 0x000 // BD2OST
-#pragma memmap BD2OBC_ADDR BD2OBC_ADDR SFR 0x000 // BD2OBC
-#pragma memmap BD2OAL_ADDR BD2OAL_ADDR SFR 0x000 // BD2OAL
-#pragma memmap BD2IST_ADDR BD2IST_ADDR SFR 0x000 // BD2IST
-#pragma memmap BD2IBC_ADDR BD2IBC_ADDR SFR 0x000 // BD2IBC
-#pragma memmap BD2IAL_ADDR BD2IAL_ADDR SFR 0x000 // BD2IAL
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap P1DEL_ADDR P1DEL_ADDR SFR 0x000 // P1DEL
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap P1DEL_ADDR P1DEL_ADDR SFR 0x000 // P1DEL
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap CALCON_ADDR CALCON_ADDR SFR 0x000 // CALCON
-#pragma memmap PSMCCON0_ADDR PSMCCON0_ADDR SFR 0x000 // PSMCCON0
-#pragma memmap PSMCCON1_ADDR PSMCCON1_ADDR SFR 0x000 // PSMCCON1
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap OPACON_ADDR OPACON_ADDR SFR 0x000 // OPACON
-#pragma memmap DAC_ADDR DAC_ADDR SFR 0x000 // DAC
-#pragma memmap DACON0_ADDR DACON0_ADDR SFR 0x000 // DACON0
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap CALCON_ADDR CALCON_ADDR SFR 0x000 // CALCON
-#pragma memmap PSMCCON0_ADDR PSMCCON0_ADDR SFR 0x000 // PSMCCON0
-#pragma memmap PSMCCON1_ADDR PSMCCON1_ADDR SFR 0x000 // PSMCCON1
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap OPACON_ADDR OPACON_ADDR SFR 0x000 // OPACON
-#pragma memmap DAC_ADDR DAC_ADDR SFR 0x000 // DAC
-#pragma memmap DACON0_ADDR DACON0_ADDR SFR 0x000 // DACON0
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PORTF_ADDR PORTF_ADDR SFR 0x000 // PORTF
-#pragma memmap PORTG_ADDR PORTG_ADDR SFR 0x000 // PORTG
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
-#pragma memmap LCDSE_ADDR LCDSE_ADDR SFR 0x000 // LCDSE
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDD00_ADDR LCDD00_ADDR SFR 0x000 // LCDD00
-#pragma memmap LCDD01_ADDR LCDD01_ADDR SFR 0x000 // LCDD01
-#pragma memmap LCDD02_ADDR LCDD02_ADDR SFR 0x000 // LCDD02
-#pragma memmap LCDD03_ADDR LCDD03_ADDR SFR 0x000 // LCDD03
-#pragma memmap LCDD04_ADDR LCDD04_ADDR SFR 0x000 // LCDD04
-#pragma memmap LCDD05_ADDR LCDD05_ADDR SFR 0x000 // LCDD05
-#pragma memmap LCDD06_ADDR LCDD06_ADDR SFR 0x000 // LCDD06
-#pragma memmap LCDD07_ADDR LCDD07_ADDR SFR 0x000 // LCDD07
-#pragma memmap LCDD08_ADDR LCDD08_ADDR SFR 0x000 // LCDD08
-#pragma memmap LCDD09_ADDR LCDD09_ADDR SFR 0x000 // LCDD09
-#pragma memmap LCDD10_ADDR LCDD10_ADDR SFR 0x000 // LCDD10
-#pragma memmap LCDD11_ADDR LCDD11_ADDR SFR 0x000 // LCDD11
-#pragma memmap LCDD12_ADDR LCDD12_ADDR SFR 0x000 // LCDD12
-#pragma memmap LCDD13_ADDR LCDD13_ADDR SFR 0x000 // LCDD13
-#pragma memmap LCDD14_ADDR LCDD14_ADDR SFR 0x000 // LCDD14
-#pragma memmap LCDD15_ADDR LCDD15_ADDR SFR 0x000 // LCDD15
-#pragma memmap TRISF_ADDR TRISF_ADDR SFR 0x000 // TRISF
-#pragma memmap TRISG_ADDR TRISG_ADDR SFR 0x000 // TRISG
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PORTF_ADDR PORTF_ADDR SFR 0x000 // PORTF
-#pragma memmap PORTG_ADDR PORTG_ADDR SFR 0x000 // PORTG
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
-#pragma memmap LCDSE_ADDR LCDSE_ADDR SFR 0x000 // LCDSE
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDD00_ADDR LCDD00_ADDR SFR 0x000 // LCDD00
-#pragma memmap LCDD01_ADDR LCDD01_ADDR SFR 0x000 // LCDD01
-#pragma memmap LCDD02_ADDR LCDD02_ADDR SFR 0x000 // LCDD02
-#pragma memmap LCDD03_ADDR LCDD03_ADDR SFR 0x000 // LCDD03
-#pragma memmap LCDD04_ADDR LCDD04_ADDR SFR 0x000 // LCDD04
-#pragma memmap LCDD05_ADDR LCDD05_ADDR SFR 0x000 // LCDD05
-#pragma memmap LCDD06_ADDR LCDD06_ADDR SFR 0x000 // LCDD06
-#pragma memmap LCDD07_ADDR LCDD07_ADDR SFR 0x000 // LCDD07
-#pragma memmap LCDD08_ADDR LCDD08_ADDR SFR 0x000 // LCDD08
-#pragma memmap LCDD09_ADDR LCDD09_ADDR SFR 0x000 // LCDD09
-#pragma memmap LCDD10_ADDR LCDD10_ADDR SFR 0x000 // LCDD10
-#pragma memmap LCDD11_ADDR LCDD11_ADDR SFR 0x000 // LCDD11
-#pragma memmap LCDD12_ADDR LCDD12_ADDR SFR 0x000 // LCDD12
-#pragma memmap LCDD13_ADDR LCDD13_ADDR SFR 0x000 // LCDD13
-#pragma memmap LCDD14_ADDR LCDD14_ADDR SFR 0x000 // LCDD14
-#pragma memmap LCDD15_ADDR LCDD15_ADDR SFR 0x000 // LCDD15
-#pragma memmap TRISF_ADDR TRISF_ADDR SFR 0x000 // TRISF
-#pragma memmap TRISG_ADDR TRISG_ADDR SFR 0x000 // TRISG
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCAL_ADDR OSCCAL_ADDR SFR 0x000 // OSCCAL
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap WPUDA_ADDR WPUDA_ADDR SFR 0x000 // WPUDA
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDA_ADDR WDA_ADDR SFR 0x000 // WDA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap CRCON_ADDR CRCON_ADDR SFR 0x000 // CRCON
-#pragma memmap CRDAT0_ADDR CRDAT0_ADDR SFR 0x000 // CRDAT0
-#pragma memmap CRDAT1_ADDR CRDAT1_ADDR SFR 0x000 // CRDAT1
-#pragma memmap CRDAT2_ADDR CRDAT2_ADDR SFR 0x000 // CRDAT2
-#pragma memmap CRDAT3_ADDR CRDAT3_ADDR SFR 0x000 // CRDAT3
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap WPUDA_ADDR WPUDA_ADDR SFR 0x000 // WPUDA
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDA_ADDR WDA_ADDR SFR 0x000 // WDA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap CRCON_ADDR CRCON_ADDR SFR 0x000 // CRCON
-#pragma memmap CRDAT0_ADDR CRDAT0_ADDR SFR 0x000 // CRDAT0
-#pragma memmap CRDAT1_ADDR CRDAT1_ADDR SFR 0x000 // CRDAT1
-#pragma memmap CRDAT2_ADDR CRDAT2_ADDR SFR 0x000 // CRDAT2
-#pragma memmap CRDAT3_ADDR CRDAT3_ADDR SFR 0x000 // CRDAT3
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCAL_ADDR OSCCAL_ADDR SFR 0x000 // OSCCAL
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap PWM1CON_ADDR PWM1CON_ADDR SFR 0x000 // PWM1CON
-#pragma memmap ECCPAS_ADDR ECCPAS_ADDR SFR 0x000 // ECCPAS
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap PWM1CON_ADDR PWM1CON_ADDR SFR 0x000 // PWM1CON
-#pragma memmap ECCPAS_ADDR ECCPAS_ADDR SFR 0x000 // ECCPAS
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ANSELH_ADDR ANSELH_ADDR SFR 0x000 // ANSELH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap PSTRCON_ADDR PSTRCON_ADDR SFR 0x000 // PSTRCON
-#pragma memmap SRCON_ADDR SRCON_ADDR SFR 0x000 // SRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap MSK_ADDR MSK_ADDR SFR 0x000 // MSK
-#pragma memmap SSPMSK_ADDR SSPMSK_ADDR SFR 0x000 // SSPMSK
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap SPBRGH_ADDR SPBRGH_ADDR SFR 0x000 // SPBRGH
-#pragma memmap BAUDCTL_ADDR BAUDCTL_ADDR SFR 0x000 // BAUDCTL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ANSELH_ADDR ANSELH_ADDR SFR 0x000 // ANSELH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap SRCON_ADDR SRCON_ADDR SFR 0x000 // SRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap BAUDCTL_ADDR BAUDCTL_ADDR SFR 0x000 // BAUDCTL
-#pragma memmap SPBRGH_ADDR SPBRGH_ADDR SFR 0x000 // SPBRGH
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap MSK_ADDR MSK_ADDR SFR 0x000 // MSK
-#pragma memmap SSPMSK_ADDR SSPMSK_ADDR SFR 0x000 // SSPMSK
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap SPBRGH_ADDR SPBRGH_ADDR SFR 0x000 // SPBRGH
-#pragma memmap BAUDCTL_ADDR BAUDCTL_ADDR SFR 0x000 // BAUDCTL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ANSELH_ADDR ANSELH_ADDR SFR 0x000 // ANSELH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap SRCON_ADDR SRCON_ADDR SFR 0x000 // SRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap PWM1CON_ADDR PWM1CON_ADDR SFR 0x000 // PWM1CON
-#pragma memmap ECCPAS_ADDR ECCPAS_ADDR SFR 0x000 // ECCPAS
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap MSK_ADDR MSK_ADDR SFR 0x000 // MSK
-#pragma memmap SSPMSK_ADDR SSPMSK_ADDR SFR 0x000 // SSPMSK
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap SPBRGH_ADDR SPBRGH_ADDR SFR 0x000 // SPBRGH
-#pragma memmap BAUDCTL_ADDR BAUDCTL_ADDR SFR 0x000 // BAUDCTL
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ANSELH_ADDR ANSELH_ADDR SFR 0x000 // ANSELH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap PSTRCON_ADDR PSTRCON_ADDR SFR 0x000 // PSTRCON
-#pragma memmap SRCON_ADDR SRCON_ADDR SFR 0x000 // SRCON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap DATACCP_ADDR DATACCP_ADDR SFR 0x000 // DATACCP
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap PWM1CON_ADDR PWM1CON_ADDR SFR 0x000 // PWM1CON
-#pragma memmap ECCPAS_ADDR ECCPAS_ADDR SFR 0x000 // ECCPAS
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISCP_ADDR TRISCP_ADDR SFR 0x000 // TRISCP
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATL_ADDR PMDATL_ADDR SFR 0x000 // PMDATL
-#pragma memmap PMADRL_ADDR PMADRL_ADDR SFR 0x000 // PMADRL
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap CCPR3L_ADDR CCPR3L_ADDR SFR 0x000 // CCPR3L
-#pragma memmap CCPR3H_ADDR CCPR3H_ADDR SFR 0x000 // CCPR3H
-#pragma memmap CCP3CON_ADDR CCP3CON_ADDR SFR 0x000 // CCP3CON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON2_ADDR ADCON2_ADDR SFR 0x000 // ADCON2
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap CCPR3L_ADDR CCPR3L_ADDR SFR 0x000 // CCPR3L
-#pragma memmap CCPR3H_ADDR CCPR3H_ADDR SFR 0x000 // CCPR3H
-#pragma memmap CCP3CON_ADDR CCP3CON_ADDR SFR 0x000 // CCP3CON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON2_ADDR ADCON2_ADDR SFR 0x000 // ADCON2
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRES_ADDR ADRES_ADDR SFR 0x000 // ADRES
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap CCPR3L_ADDR CCPR3L_ADDR SFR 0x000 // CCPR3L
-#pragma memmap CCPR3H_ADDR CCPR3H_ADDR SFR 0x000 // CCPR3H
-#pragma memmap CCP3CON_ADDR CCP3CON_ADDR SFR 0x000 // CCP3CON
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADCON2_ADDR ADCON2_ADDR SFR 0x000 // ADCON2
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap PMDATA_ADDR PMDATA_ADDR SFR 0x000 // PMDATA
-#pragma memmap PMADR_ADDR PMADR_ADDR SFR 0x000 // PMADR
-#pragma memmap PMDATH_ADDR PMDATH_ADDR SFR 0x000 // PMDATH
-#pragma memmap PMADRH_ADDR PMADRH_ADDR SFR 0x000 // PMADRH
-#pragma memmap PMCON1_ADDR PMCON1_ADDR SFR 0x000 // PMCON1
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap ANSEL0_ADDR ANSEL0_ADDR SFR 0x000 // ANSEL0
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap ANSEL1_ADDR ANSEL1_ADDR SFR 0x000 // ANSEL1
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap WPUA_ADDR WPUA_ADDR SFR 0x000 // WPUA
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000 // IOCA
-#pragma memmap REFCON_ADDR REFCON_ADDR SFR 0x000 // REFCON
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap PWMCON1_ADDR PWMCON1_ADDR SFR 0x000 // PWMCON1
-#pragma memmap PWMCON0_ADDR PWMCON0_ADDR SFR 0x000 // PWMCON0
-#pragma memmap PWMCLK_ADDR PWMCLK_ADDR SFR 0x000 // PWMCLK
-#pragma memmap PWMPH1_ADDR PWMPH1_ADDR SFR 0x000 // PWMPH1
-#pragma memmap PWMPH2_ADDR PWMPH2_ADDR SFR 0x000 // PWMPH2
-#pragma memmap CM1CON0_ADDR CM1CON0_ADDR SFR 0x000 // CM1CON0
-#pragma memmap CM2CON0_ADDR CM2CON0_ADDR SFR 0x000 // CM2CON0
-#pragma memmap CM2CON1_ADDR CM2CON1_ADDR SFR 0x000 // CM2CON1
-#pragma memmap OPA1CON_ADDR OPA1CON_ADDR SFR 0x000 // OPA1CON
-#pragma memmap OPA2CON_ADDR OPA2CON_ADDR SFR 0x000 // OPA2CON
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap CMCON_ADDR CMCON_ADDR SFR 0x000 // CMCON
-#pragma memmap CVRCON_ADDR CVRCON_ADDR SFR 0x000 // CVRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap EEDATL_ADDR EEDATL_ADDR SFR 0x000 // EEDATL
-#pragma memmap EEADRL_ADDR EEADRL_ADDR SFR 0x000 // EEADRL
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap LCDDATA0_ADDR LCDDATA0_ADDR SFR 0x000 // LCDDATA0
-#pragma memmap LCDDATA1_ADDR LCDDATA1_ADDR SFR 0x000 // LCDDATA1
-#pragma memmap LCDDATA3_ADDR LCDDATA3_ADDR SFR 0x000 // LCDDATA3
-#pragma memmap LCDDATA4_ADDR LCDDATA4_ADDR SFR 0x000 // LCDDATA4
-#pragma memmap LCDDATA6_ADDR LCDDATA6_ADDR SFR 0x000 // LCDDATA6
-#pragma memmap LCDDATA7_ADDR LCDDATA7_ADDR SFR 0x000 // LCDDATA7
-#pragma memmap LCDDATA9_ADDR LCDDATA9_ADDR SFR 0x000 // LCDDATA9
-#pragma memmap LCDDATA10_ADDR LCDDATA10_ADDR SFR 0x000 // LCDDATA10
-#pragma memmap LCDSE0_ADDR LCDSE0_ADDR SFR 0x000 // LCDSE0
-#pragma memmap LCDSE1_ADDR LCDSE1_ADDR SFR 0x000 // LCDSE1
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap EEDATL_ADDR EEDATL_ADDR SFR 0x000 // EEDATL
-#pragma memmap EEADRL_ADDR EEADRL_ADDR SFR 0x000 // EEADRL
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap LCDDATA0_ADDR LCDDATA0_ADDR SFR 0x000 // LCDDATA0
-#pragma memmap LCDDATA1_ADDR LCDDATA1_ADDR SFR 0x000 // LCDDATA1
-#pragma memmap LCDDATA2_ADDR LCDDATA2_ADDR SFR 0x000 // LCDDATA2
-#pragma memmap LCDDATA3_ADDR LCDDATA3_ADDR SFR 0x000 // LCDDATA3
-#pragma memmap LCDDATA4_ADDR LCDDATA4_ADDR SFR 0x000 // LCDDATA4
-#pragma memmap LCDDATA5_ADDR LCDDATA5_ADDR SFR 0x000 // LCDDATA5
-#pragma memmap LCDDATA6_ADDR LCDDATA6_ADDR SFR 0x000 // LCDDATA6
-#pragma memmap LCDDATA7_ADDR LCDDATA7_ADDR SFR 0x000 // LCDDATA7
-#pragma memmap LCDDATA8_ADDR LCDDATA8_ADDR SFR 0x000 // LCDDATA8
-#pragma memmap LCDDATA9_ADDR LCDDATA9_ADDR SFR 0x000 // LCDDATA9
-#pragma memmap LCDDATA10_ADDR LCDDATA10_ADDR SFR 0x000 // LCDDATA10
-#pragma memmap LCDDATA11_ADDR LCDDATA11_ADDR SFR 0x000 // LCDDATA11
-#pragma memmap LCDSE0_ADDR LCDSE0_ADDR SFR 0x000 // LCDSE0
-#pragma memmap LCDSE1_ADDR LCDSE1_ADDR SFR 0x000 // LCDSE1
-#pragma memmap LCDSE2_ADDR LCDSE2_ADDR SFR 0x000 // LCDSE2
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap EEDATL_ADDR EEDATL_ADDR SFR 0x000 // EEDATL
-#pragma memmap EEADRL_ADDR EEADRL_ADDR SFR 0x000 // EEADRL
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap LCDDATA0_ADDR LCDDATA0_ADDR SFR 0x000 // LCDDATA0
-#pragma memmap LCDDATA1_ADDR LCDDATA1_ADDR SFR 0x000 // LCDDATA1
-#pragma memmap LCDDATA3_ADDR LCDDATA3_ADDR SFR 0x000 // LCDDATA3
-#pragma memmap LCDDATA4_ADDR LCDDATA4_ADDR SFR 0x000 // LCDDATA4
-#pragma memmap LCDDATA6_ADDR LCDDATA6_ADDR SFR 0x000 // LCDDATA6
-#pragma memmap LCDDATA7_ADDR LCDDATA7_ADDR SFR 0x000 // LCDDATA7
-#pragma memmap LCDDATA9_ADDR LCDDATA9_ADDR SFR 0x000 // LCDDATA9
-#pragma memmap LCDDATA10_ADDR LCDDATA10_ADDR SFR 0x000 // LCDDATA10
-#pragma memmap LCDSE0_ADDR LCDSE0_ADDR SFR 0x000 // LCDSE0
-#pragma memmap LCDSE1_ADDR LCDSE1_ADDR SFR 0x000 // LCDSE1
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PORTD_ADDR PORTD_ADDR SFR 0x000 // PORTD
-#pragma memmap PORTE_ADDR PORTE_ADDR SFR 0x000 // PORTE
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap TRISD_ADDR TRISD_ADDR SFR 0x000 // TRISD
-#pragma memmap TRISE_ADDR TRISE_ADDR SFR 0x000 // TRISE
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000 // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000 // OSCTUNE
-#pragma memmap ANSEL_ADDR ANSEL_ADDR SFR 0x000 // ANSEL
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap WPUB_ADDR WPUB_ADDR SFR 0x000 // WPUB
-#pragma memmap WPU_ADDR WPU_ADDR SFR 0x000 // WPU
-#pragma memmap IOCB_ADDR IOCB_ADDR SFR 0x000 // IOCB
-#pragma memmap IOC_ADDR IOC_ADDR SFR 0x000 // IOC
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000 // CMCON1
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000 // CMCON0
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap WDTCON_ADDR WDTCON_ADDR SFR 0x000 // WDTCON
-#pragma memmap LCDCON_ADDR LCDCON_ADDR SFR 0x000 // LCDCON
-#pragma memmap LCDPS_ADDR LCDPS_ADDR SFR 0x000 // LCDPS
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000 // LVDCON
-#pragma memmap EEDATL_ADDR EEDATL_ADDR SFR 0x000 // EEDATL
-#pragma memmap EEADRL_ADDR EEADRL_ADDR SFR 0x000 // EEADRL
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap LCDDATA0_ADDR LCDDATA0_ADDR SFR 0x000 // LCDDATA0
-#pragma memmap LCDDATA1_ADDR LCDDATA1_ADDR SFR 0x000 // LCDDATA1
-#pragma memmap LCDDATA2_ADDR LCDDATA2_ADDR SFR 0x000 // LCDDATA2
-#pragma memmap LCDDATA3_ADDR LCDDATA3_ADDR SFR 0x000 // LCDDATA3
-#pragma memmap LCDDATA4_ADDR LCDDATA4_ADDR SFR 0x000 // LCDDATA4
-#pragma memmap LCDDATA5_ADDR LCDDATA5_ADDR SFR 0x000 // LCDDATA5
-#pragma memmap LCDDATA6_ADDR LCDDATA6_ADDR SFR 0x000 // LCDDATA6
-#pragma memmap LCDDATA7_ADDR LCDDATA7_ADDR SFR 0x000 // LCDDATA7
-#pragma memmap LCDDATA8_ADDR LCDDATA8_ADDR SFR 0x000 // LCDDATA8
-#pragma memmap LCDDATA9_ADDR LCDDATA9_ADDR SFR 0x000 // LCDDATA9
-#pragma memmap LCDDATA10_ADDR LCDDATA10_ADDR SFR 0x000 // LCDDATA10
-#pragma memmap LCDDATA11_ADDR LCDDATA11_ADDR SFR 0x000 // LCDDATA11
-#pragma memmap LCDSE0_ADDR LCDSE0_ADDR SFR 0x000 // LCDSE0
-#pragma memmap LCDSE1_ADDR LCDSE1_ADDR SFR 0x000 // LCDSE1
-#pragma memmap LCDSE2_ADDR LCDSE2_ADDR SFR 0x000 // LCDSE2
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
static PIC_device *pic=NULL;
int maxRAMaddress = 0;
-AssignedMemory *finalMapping=NULL;
#define CONFIG_WORD_ADDRESS 0x2007
#define CONFIG2_WORD_ADDRESS 0x2008
/* mark some registers as being duplicated across banks */
static void register_map(int num_words, char word[SPLIT_WORDS_MAX][PIC14_STRING_LEN])
{
- memRange r;
+ memRange *r;
int pcount;
if (num_words < 3) {
fprintf(stderr, "WARNING: not enough values in %s regmap directive\n", DEVICE_FILE_NAME);
return;
}
-
- r.alias = parse_config_value(word[1]);
for (pcount = 2; pcount < num_words; pcount++) {
-
- r.start_address = parse_config_value(word[pcount]);
- r.end_address = parse_config_value(word[pcount]);
- r.bank = (r.start_address >> 7) & 3;
+ r = Safe_calloc(1, sizeof(memRange));
- addMemRange(&r, 1);
+ r->start_address = parse_config_value(word[pcount]);
+ r->end_address = parse_config_value(word[pcount]);
+ r->alias = parse_config_value(word[1]);
+ r->bank = (r->start_address >> 7) & 3;
}
+
+ // add memRange to device entry for future lookup (sharebanks)
+ r->next = rangeRAM;
+ rangeRAM = r;
}
r->alias = parse_config_value(word[3]);
r->bank = (r->start_address >> 7) & 3;
- addMemRange(r, 0);
-
// add memRange to device entry for future lookup (sharebanks)
r->next = rangeRAM;
rangeRAM = r;
return NULL;
}
-void addMemRange(memRange *r, int type)
-{
- int i;
- int alias = r->alias;
-
- //fprintf (stderr, "%s: range %x..%x, alias %x, bank %x\n", __FUNCTION__, r->start_address, r->end_address, r->alias, r->bank);
-
- if (maxRAMaddress < 0) {
- fprintf(stderr, "missing maxram setting in %s\n", DEVICE_FILE_NAME);
- return;
- }
-
- do {
- for (i=r->start_address; i<= r->end_address; i++) {
- if ((i|alias) <= maxRAMaddress) {
- /* if we haven't seen this address before, enter it */
- if (!finalMapping[i | alias].isValid) {
- finalMapping[i | alias].isValid = 1;
- finalMapping[i | alias].alias = r->alias;
- finalMapping[i | alias].bank = r->bank;
- if(type) {
- /* hack for now */
- finalMapping[i | alias].isSFR = 1;
- } else {
- finalMapping[i | alias].isSFR = 0;
- }
- }
- } else {
- if (getenv("SDCCPICDEBUG")) {
- fprintf(stderr, "WARNING: %s:%s memory at 0x%x is beyond max ram = 0x%x\n",
- __FILE__,__FUNCTION__,(i|alias), maxRAMaddress);
- }
- }
- }
-
- /* Decrement alias */
- if (alias) {
- alias -= ((alias & (alias - 1)) ^ alias);
- } else {
- alias--;
- }
-
- } while (alias >= 0);
-}
-
void setMaxRAM(int size)
{
- int i;
maxRAMaddress = size;
if (maxRAMaddress < 0) {
maxRAMaddress, DEVICE_FILE_NAME);
return;
}
-
- finalMapping = Safe_calloc(1+maxRAMaddress,
- sizeof(AssignedMemory));
-
- /* Now initialize the finalMapping array */
-
- for(i=0; i<=maxRAMaddress; i++) {
- finalMapping[i].reg = NULL;
- finalMapping[i].isValid = 0;
- finalMapping[i].bank = (i>>7);
- }
}
/*-----------------------------------------------------------------*
}
/*-----------------------------------------------------------------*
-*-----------------------------------------------------------------*/
-
-int isSFR(int address)
-{
-
- if( (address > maxRAMaddress) || !finalMapping[address].isSFR)
- return 0;
-
- return 1;
-
-}
-
-/*
-* dump_map -- debug stuff
-*/
-
-void dump_map(void)
-{
- int i;
-
- for(i=0; i<=maxRAMaddress; i++) {
- //fprintf(stdout , "addr 0x%02x is %s\n", i, ((finalMapping[i].isValid) ? "valid":"invalid"));
-
- if(finalMapping[i].isValid) {
- fprintf(stderr,"addr: 0x%02x",i);
- if(finalMapping[i].isSFR)
- fprintf(stderr," isSFR");
- if(finalMapping[i].reg)
- fprintf( stderr, " reg %s", finalMapping[i].reg->name);
- fprintf(stderr, "\n");
- }
- }
-
-}
-
-void dump_sfr(FILE *of)
-{
-#if 0
- int start=-1;
- int bank_base;
- static int udata_flag=0;
-#endif
- int addr=0;
-
- //dump_map(); /* display the register map */
- //fprintf(stdout,";dump_sfr \n");
- if (maxRAMaddress < 0) {
- fprintf(stderr, "missing maxram setting in %s\n", DEVICE_FILE_NAME);
- return;
- }
-
- for (addr = 0; addr <= maxRAMaddress; addr++)
- {
- regs *reg = finalMapping[addr].reg;
-
- if (reg && !reg->isEmitted)
- {
- emitSymbolToFile (of, reg->name, "udata", reg->size, reg->isFixed ? reg->address : -1, 0, 0);
-
- reg->isEmitted = 1;
- }
- } // for
-
-#if 0
- do {
-
- if(finalMapping[addr].reg && !finalMapping[addr].reg->isEmitted) {
-
- if(start<0)
- start = addr;
- } else {
- if(start>=0) {
-
- /* clear the lower 7-bits of the start address of the first
- * variable declared in this bank. The upper bits for the mid
- * range pics are the bank select bits.
- */
-
- bank_base = start & 0xfff8;
-
- /* The bank number printed in the cblock comment tacitly
- * assumes that the first register in the contiguous group
- * of registers represents the bank for the whole group */
-
- if ( (start != addr) && (!udata_flag) ) {
- udata_flag = 1;
- //fprintf(of,"\tudata\n");
- }
-
- for( ; start < addr; start++) {
- if((finalMapping[start].reg) &&
- (!finalMapping[start].reg->isEmitted) &&
- (!finalMapping[start].instance) &&
- (!finalMapping[start].isSFR)) {
-
- if (finalMapping[start].reg->isFixed) {
- unsigned i;
- for (i=0; i<finalMapping[start].reg->size; i++) {
- fprintf(of,"%s\tEQU\t0x%04x\n",
- finalMapping[start].reg->name,
- finalMapping[start].reg->address+i);
- }
- } else {
- emitSymbolToFile (of, finalMapping[start].reg->name, finalMapping[start].reg->size);
-#if 0
- fprintf(of,"%s\tres\t%i\n",
- finalMapping[start].reg->name,
- finalMapping[start].reg->size);
-#endif
- }
- finalMapping[start].reg->isEmitted = 1;
- }
- }
-
- start = -1;
- }
-
- }
-
- addr++;
-
- } while(addr <= maxRAMaddress);
-
-
-#endif
-}
-
-/*-----------------------------------------------------------------*
-* void list_valid_pics(int ncols, int list_alias)
-*
-* Print out a formatted list of valid PIC devices
-*
-* ncols - number of columns in the list.
-*
-* list_alias - if non-zero, print all of the supported aliases
-* for a device (e.g. F84, 16F84, etc...)
-*-----------------------------------------------------------------*/
+ * void list_valid_pics(int ncols, int list_alias)
+ *
+ * Print out a formatted list of valid PIC devices
+ *
+ * ncols - number of columns in the list.
+ *
+ * list_alias - if non-zero, print all of the supported aliases
+ * for a device (e.g. F84, 16F84, etc...)
+ *-----------------------------------------------------------------*/
void list_valid_pics(int ncols)
{
int col=0,longest;
*-----------------------------------------------------------------*/
int validAddress(int address, int reg_size)
{
- int i;
-
if (maxRAMaddress < 0) {
fprintf(stderr, "missing maxram setting in %s\n", DEVICE_FILE_NAME);
return 0;
if(address + (reg_size - 1) > maxRAMaddress)
return 0;
- for (i=0; i<reg_size; i++)
- if(!finalMapping[address + i].isValid ||
- finalMapping[address+i].reg ||
- finalMapping[address+i].isSFR )
- return 0;
-
- return 1;
+ return 1;
}
+#if 0
+/* The following code should be (and is) implemented in the linker. */
+
/*-----------------------------------------------------------------*
*-----------------------------------------------------------------*/
void mapRegister(regs *reg)
return reg->address;
}
- if( isSFR(reg->address)) {
- mapRegister(reg);
- return reg->address;
- }
-
if (getenv("SDCCPICDEBUG")) {
fprintf(stderr, "WARNING: Ignoring Out of Range register assignment at fixed address %d, %s\n",
reg->address, reg->name);
}
}
+#endif
/* Keep track of whether we found an assignment to the __config words. */
static int pic14_hasSetConfigWord = 0;
r = pic->ram;
while (r) {
- //fprintf (stderr, "%s: region %x..%x, bank %x, alias %x, pic->bankmask %x\n", __FUNCTION__, r->start_address, r->end_address, r->bank, r->alias, pic->bankMask);
- if (r->alias == pic->bankMask) {
+ //fprintf (stderr, "%s: region %x..%x, bank %x, alias %x, pic->bankmask %x, min_size %d\n", __FUNCTION__, r->start_address, r->end_address, r->bank, r->alias, pic->bankMask, size ? *size : 0);
+ // find sufficiently large shared region
+ if ((r->alias == pic->bankMask)
+ && (r->end_address != r->start_address) // ignore SFRs
+ && (!size || (*size <= (r->end_address - r->start_address + 1))))
+ {
if (low) *low = r->start_address;
if (high) *high = r->end_address;
if (size) *size = r->end_address - r->start_address + 1;
int haveShared;
int l, h, s;
+ s = options.stack_size ? options.stack_size : 0x10;
haveShared = pic14_hasSharebank(&l, &h, &s);
if ((options.stack_loc != 0) || !haveShared)
{
// sharebank not available or not to be used
s = options.stack_size ? options.stack_size : 0x10;
l = options.stack_loc ? options.stack_loc : 0x20;
- h = (options.stack_loc ? options.stack_loc : 0x20) + s - 1;
+ h = l + s - 1;
if (low) *low = l;
if (high) *high = h;
if (size) *size = s;
} memRange;
-/* AssignedMemory - A structure to keep track of the memory that has been used.
- *
- * When a register gets assigned an address this struct is used to
- * keep track of a few details about the register. There is one of
- * these structures for each memory location in the device.
- */
-
-typedef struct AssignedMemory {
- regs *reg; /* Pointer to the register (NULL if this is an invalid address) */
- int instance; /* the i'th byte of a multibyte register */
- int alias; /* Bit mapping of aliased addresses (see memRange) */
- int bank; /* Memory bank of this register */
- int isValid:1; /* True if the address is legal */
- int isSFR:1; /* True if the address is that of a Special Function reg */
- int isEmitted:1; /* True if the register has been written to a cBlock */
-
-} AssignedMemory;
-
-
-/*
- * finalMapping - Dynamically allocated array that records the register assignments
- */
-
-extern AssignedMemory *finalMapping;
/* Processor unique attributes */
typedef struct PIC_device {
char *name; /* the processor name */
/* Given a pointer to a register, this macro returns the bank that it is in */
#define REG_ADDR(r) ((r)->isBitField ? (((r)->address)>>3) : (r)->address)
-#define REG_BANK(r) (finalMapping[REG_ADDR(r)].bank)
-#define REG_isALIASED(r) (finalMapping[REG_ADDR(r)].alias != 0)
-#define REG_isVALID(r) (finalMapping[REG_ADDR(r)].isValid)
/****************************************/
char *udata_section_name=0; // FIXME Temporary fix to change udata section name -- VR
int pic14_hasInterrupt = 0; // Indicates whether to emit interrupt handler or not
+static set *emitted = NULL;
+int pic14_stringInSet(const char *str, set **world, int autoAdd);
+static void emitSymbolToFile (FILE *of, const char *name, const char *section_type, int size, int addr, int useEQU, int globalize);
+
/*-----------------------------------------------------------------*/
/* aopLiteral - string from a literal value */
/*-----------------------------------------------------------------*/
return 1;
}
-/* set of already emitted symbols; we store only pointers to the emitted
- * symbol names so these MUST NO BE CHANGED afterwards... */
-static set *symbolsEmitted = NULL;
-
-/*-------------------------------------------------------------------*/
-/* emitSymbolToFile - write a symbol definition only if it is not */
-/* already present */
-/*-------------------------------------------------------------------*/
-void
-emitSymbolToFile (FILE *of, const char *name, const char *section_type, int size, int addr, int useEQU, int globalize)
-{
- const char *sym;
- static unsigned int sec_idx = 0;
-
- /* workaround: variables declared via `sbit' result in a numeric
- * identifier (0xHH), EQU'ing them is invalid, so just ignore it.
- * sbit is heavily used in the inc2h-generated header files!
- */
- if (!is_valid_identifier(name))
- {
- //fprintf( stderr, "%s:%s:%u: ignored symbol: %s\n", __FILE__, __FUNCTION__, __LINE__, name );
- return;
- }
-
- /* check whether the symbol is already defined */
- for (sym = (const char *) setFirstItem (symbolsEmitted);
- sym;
- sym = (const char *) setNextItem (symbolsEmitted))
- {
- if (!strcmp (sym, name))
- {
- //fprintf (stderr, "%s: already emitted: %s\n", __FUNCTION__, name);
- return;
- }
- } // for
-
- /* new symbol -- define it */
- //fprintf (stderr, "%s: emitting %s (%d)\n", __FUNCTION__, name, size);
- if (useEQU)
- fprintf (of, "%s\tEQU\t0x%04x\n", name, addr);
- else
- {
- /* we place each symbol into a section of its own to allow the linker
- * to distribute the data into all available memory banks */
- if (!section_type) section_type = "udata";
- if (addr != -1)
- {
- /* absolute symbols are handled in pic14_constructAbsMap */
- /* do nothing */
-#if 0
- /* workaround gpasm bug with symbols being EQUated and placed in absolute sections */
- if (1 || !is_shared_address (addr))
- {
- if (globalize) fprintf (of, "\tglobal\t%s\n", name);
- fprintf (of, "udata_%s_%u\t%s\t0x%04x\n", moduleName,
- sec_idx++, "udata_ovr", addr);
- fprintf (of, "%s\tres\t%d\n", name, size);
- }
- else
- {
- /* EQUs cannot be exported... */
- fprintf (of, "%s\tEQU\t0x%04x\n", name, addr);
- }
-#endif
- } else {
- if (globalize) fprintf (of, "\tglobal\t%s\n", name);
- fprintf (of, "udata_%s_%u\t%s\n", moduleName,
- sec_idx++, section_type);
- fprintf (of, "%s\tres\t%d\n", name, size);
- }
- }
-
- //if (options.verbose) fprintf (stderr, "%s: emitted %s\n", __FUNCTION__, name);
- addSet (&symbolsEmitted, (void *) name);
-}
-
#define IS_DEFINED_HERE(sym) (!IS_EXTERN(sym->etype))
extern int IS_CONFIG_ADDRESS( int addr );
static void
if (getSize(sym->type) > size) {
size = getSize(sym->type);
}
- addSet (&symbolsEmitted, (void *) sym->name);
- addSet (&symbolsEmitted, (void *) sym->rname);
+ if (sym->islocal) {
+ // global symbols must be emitted again as 'global sym->name'
+ pic14_stringInSet(sym->name, &emitted, 1);
+ pic14_stringInSet(sym->rname, &emitted, 1);
+ }
} // for
fprintf (ofile, "\tres\t%d\n", size);
} // if
char buffer[128];
SNPRINTF(&buffer[0], 127, "STK%02d", i);
fprintf (ofile, "\textern %s\n", &buffer[0]);
- addSet (&symbolsEmitted, (void *) &buffer[0]);
+ pic14_stringInSet(&buffer[0], &emitted, 1);
} // for i
}
}
static int
pic14_emitSymbolIfNew(FILE *file, const char *fmt, const char *sym, int checkLocals)
{
- static set *emitted = NULL;
-
if (!pic14_stringInSet(sym, &emitted, 1)) {
/* sym was not in emittedSymbols */
if (!checkLocals || !pic14_stringInSet(sym, &pic14_localFunctions, 0)) {
return 1;
}
+/*-------------------------------------------------------------------*/
+/* emitSymbolToFile - write a symbol definition only if it is not */
+/* already present */
+/*-------------------------------------------------------------------*/
+static void
+emitSymbolToFile (FILE *of, const char *name, const char *section_type, int size, int addr, int useEQU, int globalize)
+{
+ static unsigned int sec_idx = 0;
+
+ /* workaround: variables declared via `sbit' result in a numeric
+ * identifier (0xHH), EQU'ing them is invalid, so just ignore it.
+ * sbit is heavily used in the inc2h-generated header files!
+ */
+ if (!is_valid_identifier(name))
+ {
+ //fprintf( stderr, "%s:%s:%u: ignored symbol: %s\n", __FILE__, __FUNCTION__, __LINE__, name );
+ return;
+ }
+
+ /* check whether the symbol is already defined */
+ if (pic14_stringInSet(name, &emitted, 1)) return;
+
+ /* new symbol -- define it */
+ //fprintf (stderr, "%s: emitting %s (%d)\n", __FUNCTION__, name, size);
+ if (useEQU) {
+ fprintf (of, "%s\tEQU\t0x%04x\n", name, addr);
+ } else {
+ /* we place each symbol into a section of its own to allow the linker
+ * to distribute the data into all available memory banks */
+ if (!section_type) section_type = "udata";
+ if (addr != -1)
+ {
+ /* absolute symbols are handled in pic14_constructAbsMap */
+ /* do nothing */
+ } else {
+ if (globalize) fprintf (of, "\tglobal\t%s\n", name);
+ fprintf (of, "udata_%s_%u\t%s\n", moduleName,
+ sec_idx++, section_type);
+ fprintf (of, "%s\tres\t%d\n", name, size);
+ }
+ }
+}
+
/*-----------------------------------------------------------------*/
/* printExterns - generates extern for external variables */
/*-----------------------------------------------------------------*/
}
}
+static void
+pic14printLocals (FILE * afile)
+{
+ set *allregs[6] = { dynAllocRegs, dynStackRegs, dynProcessorRegs, dynDirectRegs, dynDirectBitRegs, dynInternalRegs };
+ regs *reg;
+ int i;
+
+ /* emit all registers from all possible sets */
+ for (i = 0; i < 6; i++) {
+ if (allregs[i] == NULL) continue;
+
+ for (reg = setFirstItem(allregs[i]); reg; reg = setNextItem(allregs[i])) {
+ if (reg->isEmitted) continue;
+
+ if (reg->wasUsed && !reg->isExtern) {
+ emitSymbolToFile(afile, reg->name, "udata", reg->size, reg->isFixed ? reg->address : -1, 0, reg->isPublic);
+ }
+ reg->isEmitted = 1;
+ } // for
+ } // for
+}
+
/*-----------------------------------------------------------------*/
/* emitOverlay - will emit code for the overlay stuff */
/*-----------------------------------------------------------------*/
/* Put all variables into a cblock */
AnalyzeBanking();
+
+ /* print the locally defined variables in this module */
writeUsedRegs(asmFile);
+ pic14printLocals (asmFile);
/* create the overlay segments */
fprintf (asmFile, "%s", iComments2);
static int
_process_pragma(const char *sz)
{
+#if 0
static const char *WHITE = " \t";
char *ptr = strtok((char *)sz, WHITE);
-
- if (startsWith (ptr, "memmap"))
- {
- char *start;
- char *end;
- char *type;
- char *alias;
-
- start = strtok((char *)NULL, WHITE);
- end = strtok((char *)NULL, WHITE);
- type = strtok((char *)NULL, WHITE);
- alias = strtok((char *)NULL, WHITE);
-
- if (start != (char *)NULL
- && end != (char *)NULL
- && type != (char *)NULL) {
- value *startVal = constVal(start);
- value *endVal = constVal(end);
- value *aliasVal;
- memRange r;
-
- if (alias == (char *)NULL) {
- aliasVal = constVal(0);
- } else {
- aliasVal = constVal(alias);
- }
-
- r.start_address = (int)floatFromVal(startVal);
- r.end_address = (int)floatFromVal(endVal);
- r.alias = (int)floatFromVal(aliasVal);
- r.bank = (r.start_address >> 7) & 3;
-
- if (strcmp(type, "RAM") == 0) {
- addMemRange(&r, 0);
- } else if (strcmp(type, "SFR") == 0) {
- addMemRange(&r, 1);
- } else {
- return 1;
- }
- }
-
- return 0;
- } else if (startsWith (ptr, "maxram")) {
- // not used any more - comes from device config file pic14devices.txt instead
- return 0;
- }
+#endif
return 1;
}
return idx;
if (pb->visited) {
- static int output = 0;
- if (output < 3) {
- pc = findNextpCode(pb->pcHead, PC_FUNCTION);
- fprintf(stderr, "WARNING: Recursive code (%s) probably won't work, check the .asm file.\n",
- pc ? PCF(pc)->fname : "unknown function");
- output++;
- }
+ /* TODO: Recursion detection missing, should emit a warning as recursive code will fail. */
return idx;
}
}
}
-extern void assignFixedRegisters(set *regset);
-extern void assignRelocatableRegisters(set *regset,int used);
extern void dump_map(void);
-extern void dump_sfr(FILE *of);
void packBits(set *bregs)
{
}
}
+
void aliasEQUs(FILE *of, set *fregs, int use_rIdx)
{
regs *reg;
void writeUsedRegs(FILE *of)
{
- packBits(dynDirectBitRegs);
- assignFixedRegisters(dynInternalRegs);
- assignFixedRegisters(dynAllocRegs);
- assignFixedRegisters(dynStackRegs);
- assignFixedRegisters(dynDirectRegs);
-
- assignRelocatableRegisters(dynInternalRegs,0);
- assignRelocatableRegisters(dynAllocRegs,0);
- assignRelocatableRegisters(dynStackRegs,0);
+ packBits(dynDirectBitRegs);
- assignRelocatableRegisters(dynDirectRegs,0);
- /*
- assignRelocatableRegisters(dynDirectRegs,0);
- printf("assignRelocatableRegisters(dynDirectRegs,0);\n");
- */
//dump_map();
- dump_sfr(of);
bitEQUs(of,dynDirectBitRegs);
- /*
- aliasEQUs(of,dynAllocRegs,0);
- aliasEQUs(of,dynDirectRegs,0);
- aliasEQUs(of,dynStackRegs,0);
- aliasEQUs(of,dynProcessorRegs,1);
- */
}
-#if 0
-/*-----------------------------------------------------------------*/
-/* allDefsOutOfRange - all definitions are out of a range */
-/*-----------------------------------------------------------------*/
-static bool
-allDefsOutOfRange (bitVect * defs, int fseq, int toseq)
-{
- int i;
-
- debugLog ("%s\n", __FUNCTION__);
- if (!defs)
- return TRUE;
-
- for (i = 0; i < defs->size; i++)
- {
- iCode *ic;
-
- if (bitVectBitValue (defs, i) &&
- (ic = hTabItemWithKey (iCodehTab, i)) &&
- (ic->seq >= fseq && ic->seq <= toseq))
-
- return FALSE;
-
- }
-
- return TRUE;
-}
-#endif
-
/*-----------------------------------------------------------------*/
/* computeSpillable - given a point find the spillable live ranges */
/*-----------------------------------------------------------------*/
$bitmask{"$register"} = $bitmask;
}
} elsif (/^\s*ram\s+(\S+)\s+(\S+)\s+(\S+)/) {
- $lo = $1;
- $hi = $2;
- $bitmask = $3;
- foreach $device (split(/[,\s]+/, $devices)) {
- $ram{"p$device"} .= "#pragma memmap $lo $hi RAM $bitmask$'";
- }
+ # This info is now provided in "include/pic/pic14devices.txt".
+ #$lo = $1;
+ #$hi = $2;
+ #$bitmask = $3;
+ #foreach $device (split(/[,\s]+/, $devices)) {
+ # $ram{"p$device"} .= "#pragma memmap $lo $hi RAM $bitmask$'";
+ #}
} elsif (/^\s*processor\s+/) {
$devices = $';
$type = '';