/*
 * This declarations of the PIC16F1779 MCU.
 *
 * This file is part of the GNU PIC library for SDCC, originally
 * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
 *
 * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:17 UTC.
 *
 * SDCC is licensed under the GNU Public license (GPL) v2. Note that
 * this license covers the code to the compiler and other executables,
 * but explicitly does not cover any code or objects generated by sdcc.
 *
 * For pic device libraries and header files which are derived from
 * Microchip header (.inc) and linker script (.lkr) files Microchip
 * requires that "The header files should state that they are only to be
 * used with authentic Microchip devices" which makes them incompatible
 * with the GPL. Pic device libraries and header files are located at
 * non-free/lib and non-free/include directories respectively.
 * Sdcc should be run with the --use-non-free command line option in
 * order to include non-free header files and libraries.
 *
 * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
 */

#ifndef __PIC16F1779_H__
#define __PIC16F1779_H__

//==============================================================================
//
//	Register Addresses
//
//==============================================================================

#ifndef NO_ADDR_DEFINES

#define INDF0_ADDR              0x0000
#define INDF1_ADDR              0x0001
#define PCL_ADDR                0x0002
#define STATUS_ADDR             0x0003
#define FSR0_ADDR               0x0004
#define FSR0L_ADDR              0x0004
#define FSR0H_ADDR              0x0005
#define FSR1_ADDR               0x0006
#define FSR1L_ADDR              0x0006
#define FSR1H_ADDR              0x0007
#define BSR_ADDR                0x0008
#define WREG_ADDR               0x0009
#define PCLATH_ADDR             0x000A
#define INTCON_ADDR             0x000B
#define PORTA_ADDR              0x000C
#define PORTB_ADDR              0x000D
#define PORTC_ADDR              0x000E
#define PORTD_ADDR              0x000F
#define PORTE_ADDR              0x0010
#define PIR1_ADDR               0x0011
#define PIR2_ADDR               0x0012
#define PIR3_ADDR               0x0013
#define PIR4_ADDR               0x0014
#define PIR5_ADDR               0x0015
#define PIR6_ADDR               0x0016
#define TMR0_ADDR               0x0017
#define TMR1_ADDR               0x0018
#define TMR1L_ADDR              0x0018
#define TMR1H_ADDR              0x0019
#define T1CON_ADDR              0x001A
#define T1GCON_ADDR             0x001B
#define TMR3_ADDR               0x001C
#define TMR3L_ADDR              0x001C
#define TMR3H_ADDR              0x001D
#define T3CON_ADDR              0x001E
#define T3GCON_ADDR             0x001F
#define TRISA_ADDR              0x008C
#define TRISB_ADDR              0x008D
#define TRISC_ADDR              0x008E
#define TRISD_ADDR              0x008F
#define TRISE_ADDR              0x0090
#define PIE1_ADDR               0x0091
#define PIE2_ADDR               0x0092
#define PIE3_ADDR               0x0093
#define PIE4_ADDR               0x0094
#define PIE5_ADDR               0x0095
#define PIE6_ADDR               0x0096
#define OPTION_REG_ADDR         0x0097
#define PCON_ADDR               0x0098
#define WDTCON_ADDR             0x0099
#define OSCTUNE_ADDR            0x009A
#define OSCCON_ADDR             0x009B
#define OSCSTAT_ADDR            0x009C
#define BORCON_ADDR             0x009D
#define FVRCON_ADDR             0x009E
#define ZCD1CON_ADDR            0x009F
#define LATA_ADDR               0x010C
#define LATB_ADDR               0x010D
#define LATC_ADDR               0x010E
#define LATD_ADDR               0x010F
#define LATE_ADDR               0x0110
#define CMOUT_ADDR              0x0111
#define CM1CON0_ADDR            0x0112
#define CM1CON1_ADDR            0x0113
#define CM1NSEL_ADDR            0x0114
#define CM1PSEL_ADDR            0x0115
#define CM2CON0_ADDR            0x0116
#define CM2CON1_ADDR            0x0117
#define CM2NSEL_ADDR            0x0118
#define CM2PSEL_ADDR            0x0119
#define CM3CON0_ADDR            0x011A
#define CM3CON1_ADDR            0x011B
#define CM3NSEL_ADDR            0x011C
#define CM3PSEL_ADDR            0x011D
#define ANSELA_ADDR             0x018C
#define ANSELB_ADDR             0x018D
#define ANSELC_ADDR             0x018E
#define ANSELD_ADDR             0x018F
#define ANSELE_ADDR             0x0190
#define PMADR_ADDR              0x0191
#define PMADRL_ADDR             0x0191
#define PMADRH_ADDR             0x0192
#define PMDAT_ADDR              0x0193
#define PMDATL_ADDR             0x0193
#define PMDATH_ADDR             0x0194
#define PMCON1_ADDR             0x0195
#define PMCON2_ADDR             0x0196
#define VREGCON_ADDR            0x0197
#define RC1REG_ADDR             0x0199
#define RCREG_ADDR              0x0199
#define RCREG1_ADDR             0x0199
#define TX1REG_ADDR             0x019A
#define TXREG_ADDR              0x019A
#define TXREG1_ADDR             0x019A
#define SP1BRG_ADDR             0x019B
#define SP1BRGL_ADDR            0x019B
#define SPBRG_ADDR              0x019B
#define SPBRG1_ADDR             0x019B
#define SPBRGL_ADDR             0x019B
#define SP1BRGH_ADDR            0x019C
#define SPBRGH_ADDR             0x019C
#define SPBRGH1_ADDR            0x019C
#define RC1STA_ADDR             0x019D
#define RCSTA_ADDR              0x019D
#define RCSTA1_ADDR             0x019D
#define TX1STA_ADDR             0x019E
#define TXSTA_ADDR              0x019E
#define TXSTA1_ADDR             0x019E
#define BAUD1CON_ADDR           0x019F
#define BAUDCON_ADDR            0x019F
#define BAUDCON1_ADDR           0x019F
#define BAUDCTL_ADDR            0x019F
#define BAUDCTL1_ADDR           0x019F
#define WPUA_ADDR               0x020C
#define WPUB_ADDR               0x020D
#define WPUC_ADDR               0x020E
#define WPUD_ADDR               0x020F
#define WPUE_ADDR               0x0210
#define SSP1BUF_ADDR            0x0211
#define SSPBUF_ADDR             0x0211
#define SSP1ADD_ADDR            0x0212
#define SSPADD_ADDR             0x0212
#define SSP1MSK_ADDR            0x0213
#define SSPMSK_ADDR             0x0213
#define SSP1STAT_ADDR           0x0214
#define SSPSTAT_ADDR            0x0214
#define SSP1CON_ADDR            0x0215
#define SSP1CON1_ADDR           0x0215
#define SSPCON_ADDR             0x0215
#define SSPCON1_ADDR            0x0215
#define SSP1CON2_ADDR           0x0216
#define SSPCON2_ADDR            0x0216
#define SSP1CON3_ADDR           0x0217
#define SSPCON3_ADDR            0x0217
#define MD3CON0_ADDR            0x021B
#define MD3CON1_ADDR            0x021C
#define MD3SRC_ADDR             0x021D
#define MD3CARL_ADDR            0x021E
#define MD3CARH_ADDR            0x021F
#define ODCONA_ADDR             0x028C
#define ODCONB_ADDR             0x028D
#define ODCONC_ADDR             0x028E
#define ODCOND_ADDR             0x028F
#define ODCONE_ADDR             0x0290
#define CCPR1_ADDR              0x0291
#define CCPR1L_ADDR             0x0291
#define CCPR1H_ADDR             0x0292
#define CCP1CON_ADDR            0x0293
#define CCP1CAP_ADDR            0x0294
#define CCPR2_ADDR              0x0295
#define CCPR2L_ADDR             0x0295
#define CCPR2H_ADDR             0x0296
#define CCP2CON_ADDR            0x0297
#define CCP2CAP_ADDR            0x0298
#define CCPR7_ADDR              0x0299
#define CCPR7L_ADDR             0x0299
#define CCPR7H_ADDR             0x029A
#define CCP7CON_ADDR            0x029B
#define CCP7CAP_ADDR            0x029C
#define CCPTMRS1_ADDR           0x029E
#define CCPTMRS2_ADDR           0x029F
#define SLRCONA_ADDR            0x030C
#define SLRCONB_ADDR            0x030D
#define SLRCONC_ADDR            0x030E
#define SLRCOND_ADDR            0x030F
#define SLRCONE_ADDR            0x0310
#define CCPR8_ADDR              0x0311
#define CCPR8L_ADDR             0x0311
#define CCPR8H_ADDR             0x0312
#define CCP8CON_ADDR            0x0313
#define CCP8CAP_ADDR            0x0314
#define MD1CON0_ADDR            0x0315
#define MD1CON1_ADDR            0x0316
#define MD1SRC_ADDR             0x0317
#define MD1CARL_ADDR            0x0318
#define MD1CARH_ADDR            0x0319
#define MD2CON0_ADDR            0x031B
#define MD2CON1_ADDR            0x031C
#define MD2SRC_ADDR             0x031D
#define MD2CARL_ADDR            0x031E
#define MD2CARH_ADDR            0x031F
#define INLVLA_ADDR             0x038C
#define INLVLB_ADDR             0x038D
#define INLVLC_ADDR             0x038E
#define INLVLD_ADDR             0x038F
#define INLVE_ADDR              0x0390
#define IOCAP_ADDR              0x0391
#define IOCAN_ADDR              0x0392
#define IOCAF_ADDR              0x0393
#define IOCBP_ADDR              0x0394
#define IOCBN_ADDR              0x0395
#define IOCBF_ADDR              0x0396
#define IOCCP_ADDR              0x0397
#define IOCCN_ADDR              0x0398
#define IOCCF_ADDR              0x0399
#define IOCEP_ADDR              0x039D
#define IOCEN_ADDR              0x039E
#define IOCEF_ADDR              0x039F
#define HIDRVB_ADDR             0x040D
#define TMR5_ADDR               0x040F
#define TMR5L_ADDR              0x040F
#define TMR5H_ADDR              0x0410
#define T5CON_ADDR              0x0411
#define T5GCON_ADDR             0x0412
#define T4TMR_ADDR              0x0413
#define TMR4_ADDR               0x0413
#define PR4_ADDR                0x0414
#define T4PR_ADDR               0x0414
#define T4CON_ADDR              0x0415
#define T4HLT_ADDR              0x0416
#define T4CLKCON_ADDR           0x0417
#define T4RST_ADDR              0x0418
#define T6TMR_ADDR              0x041A
#define TMR6_ADDR               0x041A
#define PR6_ADDR                0x041B
#define T6PR_ADDR               0x041B
#define T6CON_ADDR              0x041C
#define T6HLT_ADDR              0x041D
#define T6CLKCON_ADDR           0x041E
#define T6RST_ADDR              0x041F
#define ADRESL_ADDR             0x048E
#define ADRESH_ADDR             0x048F
#define ADCON0_ADDR             0x0490
#define ADCON1_ADDR             0x0491
#define ADCON2_ADDR             0x0492
#define T2TMR_ADDR              0x0493
#define TMR2_ADDR               0x0493
#define PR2_ADDR                0x0494
#define T2PR_ADDR               0x0494
#define T2CON_ADDR              0x0495
#define T2HLT_ADDR              0x0496
#define T2CLKCON_ADDR           0x0497
#define T2RST_ADDR              0x0498
#define T8TMR_ADDR              0x049A
#define TMR8_ADDR               0x049A
#define PR8_ADDR                0x049B
#define T8PR_ADDR               0x049B
#define T8CON_ADDR              0x049C
#define T8HLT_ADDR              0x049D
#define T8CLKCON_ADDR           0x049E
#define T8RST_ADDR              0x049F
#define OPA1NCHS_ADDR           0x050F
#define OPA1PCHS_ADDR           0x0510
#define OPA1CON_ADDR            0x0511
#define OPA1ORS_ADDR            0x0512
#define OPA2NCHS_ADDR           0x0513
#define OPA2PCHS_ADDR           0x0514
#define OPA2CON_ADDR            0x0515
#define OPA2ORS_ADDR            0x0516
#define OPA3NCHS_ADDR           0x0517
#define OPA3PCHS_ADDR           0x0518
#define OPA3CON_ADDR            0x0519
#define OPA3ORS_ADDR            0x051A
#define OPA4NCHS_ADDR           0x051B
#define OPA4PCHS_ADDR           0x051C
#define OPA4CON_ADDR            0x051D
#define OPA4ORS_ADDR            0x051E
#define DACLD_ADDR              0x058D
#define DAC1CON0_ADDR           0x058E
#define DAC1CON1_ADDR           0x058F
#define DAC1REF_ADDR            0x058F
#define DAC1REFL_ADDR           0x058F
#define DAC1CON2_ADDR           0x0590
#define DAC1REFH_ADDR           0x0590
#define DAC2CON0_ADDR           0x0591
#define DAC2CON1_ADDR           0x0592
#define DAC2REF_ADDR            0x0592
#define DAC2REFL_ADDR           0x0592
#define DAC2CON2_ADDR           0x0593
#define DAC2REFH_ADDR           0x0593
#define DAC3CON0_ADDR           0x0594
#define DAC3CON1_ADDR           0x0595
#define DAC3REF_ADDR            0x0595
#define DAC4CON0_ADDR           0x0596
#define DAC4CON1_ADDR           0x0597
#define DAC4REF_ADDR            0x0597
#define DAC5CON0_ADDR           0x0598
#define DAC5CON1_ADDR           0x0599
#define DAC5REF_ADDR            0x0599
#define DAC5REFL_ADDR           0x0599
#define DAC5CON2_ADDR           0x059A
#define DAC5REFH_ADDR           0x059A
#define DAC6CON0_ADDR           0x059B
#define DAC6CON1_ADDR           0x059C
#define DAC6REF_ADDR            0x059C
#define DAC6REFL_ADDR           0x059C
#define DAC6CON2_ADDR           0x059D
#define DAC6REFH_ADDR           0x059D
#define DAC7CON0_ADDR           0x059E
#define DAC7CON1_ADDR           0x059F
#define DAC7REF_ADDR            0x059F
#define DAC8CON0_ADDR           0x060C
#define DAC8CON1_ADDR           0x060D
#define DAC8REF_ADDR            0x060D
#define PRG4RTSS_ADDR           0x060E
#define PRG4FTSS_ADDR           0x060F
#define PRG4INS_ADDR            0x0610
#define PRG4CON0_ADDR           0x0611
#define PRG4CON1_ADDR           0x0612
#define PRG4CON2_ADDR           0x0613
#define PWM3DCL_ADDR            0x0614
#define PWM3DCH_ADDR            0x0615
#define PWM3CON_ADDR            0x0616
#define PWM4DCL_ADDR            0x0617
#define PWM4DCH_ADDR            0x0618
#define PWM4CON_ADDR            0x0619
#define PWM9DCL_ADDR            0x061A
#define PWM9DCH_ADDR            0x061B
#define PWM9CON_ADDR            0x061C
#define PWM10DCL_ADDR           0x061D
#define PWM10DCH_ADDR           0x061E
#define PWM10CON_ADDR           0x061F
#define COG1PHR_ADDR            0x068D
#define COG1PHF_ADDR            0x068E
#define COG1BLKR_ADDR           0x068F
#define COG1BLKF_ADDR           0x0690
#define COG1DBR_ADDR            0x0691
#define COG1DBF_ADDR            0x0692
#define COG1CON0_ADDR           0x0693
#define COG1CON1_ADDR           0x0694
#define COG1RIS0_ADDR           0x0695
#define COG1RIS1_ADDR           0x0696
#define COG1RSIM0_ADDR          0x0697
#define COG1RSIM1_ADDR          0x0698
#define COG1FIS0_ADDR           0x0699
#define COG1FIS1_ADDR           0x069A
#define COG1FSIM0_ADDR          0x069B
#define COG1FSIM1_ADDR          0x069C
#define COG1ASD0_ADDR           0x069D
#define COG1ASD1_ADDR           0x069E
#define COG1STR_ADDR            0x069F
#define COG2PHR_ADDR            0x070D
#define COG2PHF_ADDR            0x070E
#define COG2BLKR_ADDR           0x070F
#define COG2BLKF_ADDR           0x0710
#define COG2DBR_ADDR            0x0711
#define COG2DBF_ADDR            0x0712
#define COG2CON0_ADDR           0x0713
#define COG2CON1_ADDR           0x0714
#define COG2RIS0_ADDR           0x0715
#define COG2RIS1_ADDR           0x0716
#define COG2RSIM0_ADDR          0x0717
#define COG2RSIM1_ADDR          0x0718
#define COG2FIS0_ADDR           0x0719
#define COG2FIS1_ADDR           0x071A
#define COG2FSIM0_ADDR          0x071B
#define COG2FSIM1_ADDR          0x071C
#define COG2ASD0_ADDR           0x071D
#define COG2ASD1_ADDR           0x071E
#define COG2STR_ADDR            0x071F
#define PRG1RTSS_ADDR           0x078E
#define PRG1FTSS_ADDR           0x078F
#define PRG1INS_ADDR            0x0790
#define PRG1CON0_ADDR           0x0791
#define PRG1CON1_ADDR           0x0792
#define PRG1CON2_ADDR           0x0793
#define PRG2RTSS_ADDR           0x0794
#define PRG2FTSS_ADDR           0x0795
#define PRG2INS_ADDR            0x0796
#define PRG2CON0_ADDR           0x0797
#define PRG2CON1_ADDR           0x0798
#define PRG2CON2_ADDR           0x0799
#define PRG3RTSS_ADDR           0x079A
#define PRG3FTSS_ADDR           0x079B
#define PRG3INS_ADDR            0x079C
#define PRG3CON0_ADDR           0x079D
#define PRG3CON1_ADDR           0x079E
#define PRG3CON2_ADDR           0x079F
#define COG3PHR_ADDR            0x080D
#define COG3PHF_ADDR            0x080E
#define COG3BLKR_ADDR           0x080F
#define COG3BLKF_ADDR           0x0810
#define COG3DBR_ADDR            0x0811
#define COG3DBF_ADDR            0x0812
#define COG3CON0_ADDR           0x0813
#define COG3CON1_ADDR           0x0814
#define COG3RIS0_ADDR           0x0815
#define COG3RIS1_ADDR           0x0816
#define COG3RSIM0_ADDR          0x0817
#define COG3RSIM1_ADDR          0x0818
#define COG3FIS0_ADDR           0x0819
#define COG3FIS1_ADDR           0x081A
#define COG3FSIM0_ADDR          0x081B
#define COG3FSIM1_ADDR          0x081C
#define COG3ASD0_ADDR           0x081D
#define COG3ASD1_ADDR           0x081E
#define COG3STR_ADDR            0x081F
#define COG4PHR_ADDR            0x088D
#define COG4PHF_ADDR            0x088E
#define COG4BLKR_ADDR           0x088F
#define COG4BLKF_ADDR           0x0890
#define COG4DBR_ADDR            0x0891
#define COG4DBF_ADDR            0x0892
#define COG4CON0_ADDR           0x0893
#define COG4CON1_ADDR           0x0894
#define COG4RIS0_ADDR           0x0895
#define COG4RIS1_ADDR           0x0896
#define COG4RSIM0_ADDR          0x0897
#define COG4RSIM1_ADDR          0x0898
#define COG4FIS0_ADDR           0x0899
#define COG4FIS1_ADDR           0x089A
#define COG4FSIM0_ADDR          0x089B
#define COG4FSIM1_ADDR          0x089C
#define COG4ASD0_ADDR           0x089D
#define COG4ASD1_ADDR           0x089E
#define COG4STR_ADDR            0x089F
#define CM4CON0_ADDR            0x090C
#define CM4CON1_ADDR            0x090D
#define CM4NSEL_ADDR            0x090E
#define CM4PSEL_ADDR            0x090F
#define CM5CON0_ADDR            0x0910
#define CM5CON1_ADDR            0x0911
#define CM5NSEL_ADDR            0x0912
#define CM5PSEL_ADDR            0x0913
#define CM6CON0_ADDR            0x0914
#define CM6CON1_ADDR            0x0915
#define CM6NSEL_ADDR            0x0916
#define CM6PSEL_ADDR            0x0917
#define CM7CON0_ADDR            0x0918
#define CM7CON1_ADDR            0x0919
#define CM7NSEL_ADDR            0x091A
#define CM7PSEL_ADDR            0x091B
#define CM8CON0_ADDR            0x091C
#define CM8CON1_ADDR            0x091D
#define CM8NSEL_ADDR            0x091E
#define CM8PSEL_ADDR            0x091F
#define MD4CON0_ADDR            0x0D1B
#define MD4CON1_ADDR            0x0D1C
#define MD4SRC_ADDR             0x0D1D
#define MD4CARL_ADDR            0x0D1E
#define MD4CARH_ADDR            0x0D1F
#define PWMEN_ADDR              0x0D8E
#define PWMLD_ADDR              0x0D8F
#define PWMOUT_ADDR             0x0D90
#define PWM5PH_ADDR             0x0D91
#define PWM5PHL_ADDR            0x0D91
#define PWM5PHH_ADDR            0x0D92
#define PWM5DC_ADDR             0x0D93
#define PWM5DCL_ADDR            0x0D93
#define PWM5DCH_ADDR            0x0D94
#define PWM5PR_ADDR             0x0D95
#define PWM5PRL_ADDR            0x0D95
#define PWM5PRH_ADDR            0x0D96
#define PWM5OF_ADDR             0x0D97
#define PWM5OFL_ADDR            0x0D97
#define PWM5OFH_ADDR            0x0D98
#define PWM5TMR_ADDR            0x0D99
#define PWM5TMRL_ADDR           0x0D99
#define PWM5TMRH_ADDR           0x0D9A
#define PWM5CON_ADDR            0x0D9B
#define PWM5INTCON_ADDR         0x0D9C
#define PWM5INTE_ADDR           0x0D9C
#define PWM5INTF_ADDR           0x0D9D
#define PWM5INTFLG_ADDR         0x0D9D
#define PWM5CLKCON_ADDR         0x0D9E
#define PWM5LDCON_ADDR          0x0D9F
#define PWM5OFCON_ADDR          0x0DA0
#define PWM6PH_ADDR             0x0DA1
#define PWM6PHL_ADDR            0x0DA1
#define PWM6PHH_ADDR            0x0DA2
#define PWM6DC_ADDR             0x0DA3
#define PWM6DCL_ADDR            0x0DA3
#define PWM6DCH_ADDR            0x0DA4
#define PWM6PR_ADDR             0x0DA5
#define PWM6PRL_ADDR            0x0DA5
#define PWM6PRH_ADDR            0x0DA6
#define PWM6OF_ADDR             0x0DA7
#define PWM6OFL_ADDR            0x0DA7
#define PWM6OFH_ADDR            0x0DA8
#define PWM6TMR_ADDR            0x0DA9
#define PWM6TMRL_ADDR           0x0DA9
#define PWM6TMRH_ADDR           0x0DAA
#define PWM6CON_ADDR            0x0DAB
#define PWM6INTCON_ADDR         0x0DAC
#define PWM6INTE_ADDR           0x0DAC
#define PWM6INTF_ADDR           0x0DAD
#define PWM6INTFLG_ADDR         0x0DAD
#define PWM6CLKCON_ADDR         0x0DAE
#define PWM6LDCON_ADDR          0x0DAF
#define PWM6OFCON_ADDR          0x0DB0
#define PWM11PH_ADDR            0x0DB1
#define PWM11PHL_ADDR           0x0DB1
#define PWM11PHH_ADDR           0x0DB2
#define PWM11DC_ADDR            0x0DB3
#define PWM11DCL_ADDR           0x0DB3
#define PWM11DCH_ADDR           0x0DB4
#define PWM11PR_ADDR            0x0DB5
#define PWM11PRL_ADDR           0x0DB5
#define PWM11PRH_ADDR           0x0DB6
#define PWM11OF_ADDR            0x0DB7
#define PWM11OFL_ADDR           0x0DB7
#define PWM11OFH_ADDR           0x0DB8
#define PWM11TMR_ADDR           0x0DB9
#define PWM11TMRL_ADDR          0x0DB9
#define PWM11TMRH_ADDR          0x0DBA
#define PWM11CON_ADDR           0x0DBB
#define PWM11INTCON_ADDR        0x0DBC
#define PWM11INTE_ADDR          0x0DBC
#define PWM11INTF_ADDR          0x0DBD
#define PWM11INTFLG_ADDR        0x0DBD
#define PWM11CLKCON_ADDR        0x0DBE
#define PWM11LDCON_ADDR         0x0DBF
#define PWM11OFCON_ADDR         0x0DC0
#define PWM12PH_ADDR            0x0DC1
#define PWM12PHL_ADDR           0x0DC1
#define PWM12PHH_ADDR           0x0DC2
#define PWM12DC_ADDR            0x0DC3
#define PWM12DCL_ADDR           0x0DC3
#define PWM12DCH_ADDR           0x0DC4
#define PWM12PR_ADDR            0x0DC5
#define PWM12PRL_ADDR           0x0DC5
#define PWM12PRH_ADDR           0x0DC6
#define PWM12OF_ADDR            0x0DC7
#define PWM12OFL_ADDR           0x0DC7
#define PWM12OFH_ADDR           0x0DC8
#define PWM12TMR_ADDR           0x0DC9
#define PWM12TMRL_ADDR          0x0DC9
#define PWM12TMRH_ADDR          0x0DCA
#define PWM12CON_ADDR           0x0DCB
#define PWM12INTCON_ADDR        0x0DCC
#define PWM12INTE_ADDR          0x0DCC
#define PWM12INTF_ADDR          0x0DCD
#define PWM12INTFLG_ADDR        0x0DCD
#define PWM12CLKCON_ADDR        0x0DCE
#define PWM12LDCON_ADDR         0x0DCF
#define PWM12OFCON_ADDR         0x0DD0
#define PPSLOCK_ADDR            0x0E0C
#define INTPPS_ADDR             0x0E0D
#define T0CKIPPS_ADDR           0x0E0E
#define T1CKIPPS_ADDR           0x0E0F
#define T1GPPS_ADDR             0x0E10
#define T3CKIPPS_ADDR           0x0E11
#define T3GPPS_ADDR             0x0E12
#define T5CKIPPS_ADDR           0x0E13
#define T5GPPS_ADDR             0x0E14
#define T2CKIPPS_ADDR           0x0E15
#define T4CKIPPS_ADDR           0x0E16
#define T6CKIPPS_ADDR           0x0E17
#define T8CKIPPS_ADDR           0x0E18
#define CCP1PPS_ADDR            0x0E19
#define CCP2PPS_ADDR            0x0E1A
#define CCP7PPS_ADDR            0x0E1B
#define CCP8PPS_ADDR            0x0E1C
#define COG1INPPS_ADDR          0x0E1D
#define COG2INPPS_ADDR          0x0E1E
#define COG3INPPS_ADDR          0x0E1F
#define COG4INPPS_ADDR          0x0E20
#define MD1CLPPS_ADDR           0x0E21
#define MD1CHPPS_ADDR           0x0E22
#define MD1MODPPS_ADDR          0x0E23
#define MD2CLPPS_ADDR           0x0E24
#define MD2CHPPS_ADDR           0x0E25
#define MD2MODPPS_ADDR          0x0E26
#define MD3CLPPS_ADDR           0x0E27
#define MD3CHPPS_ADDR           0x0E28
#define MD3MODPPS_ADDR          0x0E29
#define MD4CLPPS_ADDR           0x0E2A
#define MD4CHPPS_ADDR           0x0E2B
#define MD4MODPPS_ADDR          0x0E2C
#define PRG1RPPS_ADDR           0x0E2D
#define PRG1FPPS_ADDR           0x0E2E
#define PRG2RPPS_ADDR           0x0E2F
#define PRG2FPPS_ADDR           0x0E30
#define PRG3RPPS_ADDR           0x0E31
#define PRG3FPPS_ADDR           0x0E32
#define PRG4RPPS_ADDR           0x0E33
#define PRG4FPPS_ADDR           0x0E34
#define CLCIN0PPS_ADDR          0x0E35
#define CLCIN1PPS_ADDR          0x0E36
#define CLCIN2PPS_ADDR          0x0E37
#define CLCIN3PPS_ADDR          0x0E38
#define ADCACTPPS_ADDR          0x0E39
#define SSPCLKPPS_ADDR          0x0E3A
#define SSPDATPPS_ADDR          0x0E3B
#define SSPSSPPS_ADDR           0x0E3C
#define RXPPS_ADDR              0x0E3D
#define CKPPS_ADDR              0x0E3E
#define RA0PPS_ADDR             0x0E90
#define RA1PPS_ADDR             0x0E91
#define RA2PPS_ADDR             0x0E92
#define RA3PPS_ADDR             0x0E93
#define RA4PPS_ADDR             0x0E94
#define RA5PPS_ADDR             0x0E95
#define RA6PPS_ADDR             0x0E96
#define RA7PPS_ADDR             0x0E97
#define RB0PPS_ADDR             0x0E98
#define RB1PPS_ADDR             0x0E99
#define RB2PPS_ADDR             0x0E9A
#define RB3PPS_ADDR             0x0E9B
#define RB4PPS_ADDR             0x0E9C
#define RB5PPS_ADDR             0x0E9D
#define RB6PPS_ADDR             0x0E9E
#define RB7PPS_ADDR             0x0E9F
#define RC0PPS_ADDR             0x0EA0
#define RC1PPS_ADDR             0x0EA1
#define RC2PPS_ADDR             0x0EA2
#define RC3PPS_ADDR             0x0EA3
#define RC4PPS_ADDR             0x0EA4
#define RC5PPS_ADDR             0x0EA5
#define RC6PPS_ADDR             0x0EA6
#define RC7PPS_ADDR             0x0EA7
#define RD0PPS_ADDR             0x0EA8
#define RD1PPS_ADDR             0x0EA9
#define RD2PPS_ADDR             0x0EAA
#define RD3PPS_ADDR             0x0EAB
#define RD4PPS_ADDR             0x0EAC
#define RD5PPS_ADDR             0x0EAD
#define RD6PPS_ADDR             0x0EAE
#define RD7PPS_ADDR             0x0EAF
#define RE0PPS_ADDR             0x0EB0
#define RE1PPS_ADDR             0x0EB1
#define RE2PPS_ADDR             0x0EB2
#define CLCDATA_ADDR            0x0F0F
#define CLC1CON_ADDR            0x0F10
#define CLC1POL_ADDR            0x0F11
#define CLC1SEL0_ADDR           0x0F12
#define CLC1SEL1_ADDR           0x0F13
#define CLC1SEL2_ADDR           0x0F14
#define CLC1SEL3_ADDR           0x0F15
#define CLC1GLS0_ADDR           0x0F16
#define CLC1GLS1_ADDR           0x0F17
#define CLC1GLS2_ADDR           0x0F18
#define CLC1GLS3_ADDR           0x0F19
#define CLC2CON_ADDR            0x0F1A
#define CLC2POL_ADDR            0x0F1B
#define CLC2SEL0_ADDR           0x0F1C
#define CLC2SEL1_ADDR           0x0F1D
#define CLC2SEL2_ADDR           0x0F1E
#define CLC2SEL3_ADDR           0x0F1F
#define CLC2GLS0_ADDR           0x0F20
#define CLC2GLS1_ADDR           0x0F21
#define CLC2GLS2_ADDR           0x0F22
#define CLC2GLS3_ADDR           0x0F23
#define CLC3CON_ADDR            0x0F24
#define CLC3POL_ADDR            0x0F25
#define CLC3SEL0_ADDR           0x0F26
#define CLC3SEL1_ADDR           0x0F27
#define CLC3SEL2_ADDR           0x0F28
#define CLC3SEL3_ADDR           0x0F29
#define CLC3GLS0_ADDR           0x0F2A
#define CLC3GLS1_ADDR           0x0F2B
#define CLC3GLS2_ADDR           0x0F2C
#define CLC3GLS3_ADDR           0x0F2D
#define CLC4CON_ADDR            0x0F2E
#define CLC4POL_ADDR            0x0F2F
#define CLC4SEL0_ADDR           0x0F30
#define CLC4SEL1_ADDR           0x0F31
#define CLC4SEL2_ADDR           0x0F32
#define CLC4SEL3_ADDR           0x0F33
#define CLC4GLS0_ADDR           0x0F34
#define CLC4GLS1_ADDR           0x0F35
#define CLC4GLS2_ADDR           0x0F36
#define CLC4GLS3_ADDR           0x0F37
#define STATUS_SHAD_ADDR        0x0FE4
#define WREG_SHAD_ADDR          0x0FE5
#define BSR_SHAD_ADDR           0x0FE6
#define PCLATH_SHAD_ADDR        0x0FE7
#define FSR0L_SHAD_ADDR         0x0FE8
#define FSR0H_SHAD_ADDR         0x0FE9
#define FSR1L_SHAD_ADDR         0x0FEA
#define FSR1H_SHAD_ADDR         0x0FEB
#define STKPTR_ADDR             0x0FED
#define TOSL_ADDR               0x0FEE
#define TOSH_ADDR               0x0FEF

#endif // #ifndef NO_ADDR_DEFINES

//==============================================================================
//
//	Register Definitions
//
//==============================================================================

extern __at(0x0000) __sfr INDF0;
extern __at(0x0001) __sfr INDF1;
extern __at(0x0002) __sfr PCL;

//==============================================================================
//        STATUS Bits

extern __at(0x0003) __sfr STATUS;

typedef struct
  {
  unsigned C                    : 1;
  unsigned DC                   : 1;
  unsigned Z                    : 1;
  unsigned NOT_PD               : 1;
  unsigned NOT_TO               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __STATUSbits_t;

extern __at(0x0003) volatile __STATUSbits_t STATUSbits;

#define _C                      0x01
#define _DC                     0x02
#define _Z                      0x04
#define _NOT_PD                 0x08
#define _NOT_TO                 0x10

//==============================================================================

extern __at(0x0004) __sfr FSR0;
extern __at(0x0004) __sfr FSR0L;
extern __at(0x0005) __sfr FSR0H;
extern __at(0x0006) __sfr FSR1;
extern __at(0x0006) __sfr FSR1L;
extern __at(0x0007) __sfr FSR1H;

//==============================================================================
//        BSR Bits

extern __at(0x0008) __sfr BSR;

typedef union
  {
  struct
    {
    unsigned BSR0               : 1;
    unsigned BSR1               : 1;
    unsigned BSR2               : 1;
    unsigned BSR3               : 1;
    unsigned BSR4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned BSR                : 5;
    unsigned                    : 3;
    };
  } __BSRbits_t;

extern __at(0x0008) volatile __BSRbits_t BSRbits;

#define _BSR0                   0x01
#define _BSR1                   0x02
#define _BSR2                   0x04
#define _BSR3                   0x08
#define _BSR4                   0x10

//==============================================================================

extern __at(0x0009) __sfr WREG;
extern __at(0x000A) __sfr PCLATH;

//==============================================================================
//        INTCON Bits

extern __at(0x000B) __sfr INTCON;

typedef union
  {
  struct
    {
    unsigned IOCIF              : 1;
    unsigned INTF               : 1;
    unsigned TMR0IF             : 1;
    unsigned IOCIE              : 1;
    unsigned INTE               : 1;
    unsigned TMR0IE             : 1;
    unsigned PEIE               : 1;
    unsigned GIE                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned T0IF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned T0IE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __INTCONbits_t;

extern __at(0x000B) volatile __INTCONbits_t INTCONbits;

#define _IOCIF                  0x01
#define _INTF                   0x02
#define _TMR0IF                 0x04
#define _T0IF                   0x04
#define _IOCIE                  0x08
#define _INTE                   0x10
#define _TMR0IE                 0x20
#define _T0IE                   0x20
#define _PEIE                   0x40
#define _GIE                    0x80

//==============================================================================


//==============================================================================
//        PORTA Bits

extern __at(0x000C) __sfr PORTA;

typedef struct
  {
  unsigned RA0                  : 1;
  unsigned RA1                  : 1;
  unsigned RA2                  : 1;
  unsigned RA3                  : 1;
  unsigned RA4                  : 1;
  unsigned RA5                  : 1;
  unsigned RA6                  : 1;
  unsigned RA7                  : 1;
  } __PORTAbits_t;

extern __at(0x000C) volatile __PORTAbits_t PORTAbits;

#define _RA0                    0x01
#define _RA1                    0x02
#define _RA2                    0x04
#define _RA3                    0x08
#define _RA4                    0x10
#define _RA5                    0x20
#define _RA6                    0x40
#define _RA7                    0x80

//==============================================================================


//==============================================================================
//        PORTB Bits

extern __at(0x000D) __sfr PORTB;

typedef struct
  {
  unsigned RB0                  : 1;
  unsigned RB1                  : 1;
  unsigned RB2                  : 1;
  unsigned RB3                  : 1;
  unsigned RB4                  : 1;
  unsigned RB5                  : 1;
  unsigned RB6                  : 1;
  unsigned RB7                  : 1;
  } __PORTBbits_t;

extern __at(0x000D) volatile __PORTBbits_t PORTBbits;

#define _RB0                    0x01
#define _RB1                    0x02
#define _RB2                    0x04
#define _RB3                    0x08
#define _RB4                    0x10
#define _RB5                    0x20
#define _RB6                    0x40
#define _RB7                    0x80

//==============================================================================


//==============================================================================
//        PORTC Bits

extern __at(0x000E) __sfr PORTC;

typedef struct
  {
  unsigned RC0                  : 1;
  unsigned RC1                  : 1;
  unsigned RC2                  : 1;
  unsigned RC3                  : 1;
  unsigned RC4                  : 1;
  unsigned RC5                  : 1;
  unsigned RC6                  : 1;
  unsigned RC7                  : 1;
  } __PORTCbits_t;

extern __at(0x000E) volatile __PORTCbits_t PORTCbits;

#define _RC0                    0x01
#define _RC1                    0x02
#define _RC2                    0x04
#define _RC3                    0x08
#define _RC4                    0x10
#define _RC5                    0x20
#define _RC6                    0x40
#define _RC7                    0x80

//==============================================================================


//==============================================================================
//        PORTD Bits

extern __at(0x000F) __sfr PORTD;

typedef struct
  {
  unsigned RD0                  : 1;
  unsigned RD1                  : 1;
  unsigned RD2                  : 1;
  unsigned RD3                  : 1;
  unsigned RD4                  : 1;
  unsigned RD5                  : 1;
  unsigned RD6                  : 1;
  unsigned RD7                  : 1;
  } __PORTDbits_t;

extern __at(0x000F) volatile __PORTDbits_t PORTDbits;

#define _RD0                    0x01
#define _RD1                    0x02
#define _RD2                    0x04
#define _RD3                    0x08
#define _RD4                    0x10
#define _RD5                    0x20
#define _RD6                    0x40
#define _RD7                    0x80

//==============================================================================


//==============================================================================
//        PORTE Bits

extern __at(0x0010) __sfr PORTE;

typedef union
  {
  struct
    {
    unsigned RE0                : 1;
    unsigned RE1                : 1;
    unsigned RE2                : 1;
    unsigned RE3                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RE                 : 4;
    unsigned                    : 4;
    };
  } __PORTEbits_t;

extern __at(0x0010) volatile __PORTEbits_t PORTEbits;

#define _RE0                    0x01
#define _RE1                    0x02
#define _RE2                    0x04
#define _RE3                    0x08

//==============================================================================


//==============================================================================
//        PIR1 Bits

extern __at(0x0011) __sfr PIR1;

typedef union
  {
  struct
    {
    unsigned TMR1IF             : 1;
    unsigned TMR2IF             : 1;
    unsigned CCP1IF             : 1;
    unsigned SSP1IF             : 1;
    unsigned TXIF               : 1;
    unsigned RCIF               : 1;
    unsigned ADIF               : 1;
    unsigned TMR1GIF            : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CCPIF              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PIR1bits_t;

extern __at(0x0011) volatile __PIR1bits_t PIR1bits;

#define _TMR1IF                 0x01
#define _TMR2IF                 0x02
#define _CCP1IF                 0x04
#define _CCPIF                  0x04
#define _SSP1IF                 0x08
#define _TXIF                   0x10
#define _RCIF                   0x20
#define _ADIF                   0x40
#define _TMR1GIF                0x80

//==============================================================================


//==============================================================================
//        PIR2 Bits

extern __at(0x0012) __sfr PIR2;

typedef struct
  {
  unsigned CCP2IF               : 1;
  unsigned C3IF                 : 1;
  unsigned C4IF                 : 1;
  unsigned BCL1IF               : 1;
  unsigned COG1IF               : 1;
  unsigned C1IF                 : 1;
  unsigned C2IF                 : 1;
  unsigned OSFIF                : 1;
  } __PIR2bits_t;

extern __at(0x0012) volatile __PIR2bits_t PIR2bits;

#define _CCP2IF                 0x01
#define _C3IF                   0x02
#define _C4IF                   0x04
#define _BCL1IF                 0x08
#define _COG1IF                 0x10
#define _C1IF                   0x20
#define _C2IF                   0x40
#define _OSFIF                  0x80

//==============================================================================


//==============================================================================
//        PIR3 Bits

extern __at(0x0013) __sfr PIR3;

typedef struct
  {
  unsigned CLC1IF               : 1;
  unsigned CLC2IF               : 1;
  unsigned CLC3IF               : 1;
  unsigned CLC4IF               : 1;
  unsigned ZCDIF                : 1;
  unsigned COG2IF               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PIR3bits_t;

extern __at(0x0013) volatile __PIR3bits_t PIR3bits;

#define _CLC1IF                 0x01
#define _CLC2IF                 0x02
#define _CLC3IF                 0x04
#define _CLC4IF                 0x08
#define _ZCDIF                  0x10
#define _COG2IF                 0x20

//==============================================================================


//==============================================================================
//        PIR4 Bits

extern __at(0x0014) __sfr PIR4;

typedef struct
  {
  unsigned TMR4IF               : 1;
  unsigned TMR6IF               : 1;
  unsigned TMR3IF               : 1;
  unsigned TMR3GIF              : 1;
  unsigned TMR5IF               : 1;
  unsigned TMR5GIF              : 1;
  unsigned TMR8IF               : 1;
  unsigned                      : 1;
  } __PIR4bits_t;

extern __at(0x0014) volatile __PIR4bits_t PIR4bits;

#define _TMR4IF                 0x01
#define _TMR6IF                 0x02
#define _TMR3IF                 0x04
#define _TMR3GIF                0x08
#define _TMR5IF                 0x10
#define _TMR5GIF                0x20
#define _TMR8IF                 0x40

//==============================================================================


//==============================================================================
//        PIR5 Bits

extern __at(0x0015) __sfr PIR5;

typedef struct
  {
  unsigned C5IF                 : 1;
  unsigned C6IF                 : 1;
  unsigned C7IF                 : 1;
  unsigned C8IF                 : 1;
  unsigned COG3IF               : 1;
  unsigned COG4IF               : 1;
  unsigned CCP7IF               : 1;
  unsigned CCP8IF               : 1;
  } __PIR5bits_t;

extern __at(0x0015) volatile __PIR5bits_t PIR5bits;

#define _C5IF                   0x01
#define _C6IF                   0x02
#define _C7IF                   0x04
#define _C8IF                   0x08
#define _COG3IF                 0x10
#define _COG4IF                 0x20
#define _CCP7IF                 0x40
#define _CCP8IF                 0x80

//==============================================================================


//==============================================================================
//        PIR6 Bits

extern __at(0x0016) __sfr PIR6;

typedef struct
  {
  unsigned PWM5IF               : 1;
  unsigned PWM6IF               : 1;
  unsigned PWM11IF              : 1;
  unsigned PWM12IF              : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PIR6bits_t;

extern __at(0x0016) volatile __PIR6bits_t PIR6bits;

#define _PWM5IF                 0x01
#define _PWM6IF                 0x02
#define _PWM11IF                0x04
#define _PWM12IF                0x08

//==============================================================================

extern __at(0x0017) __sfr TMR0;
extern __at(0x0018) __sfr TMR1;
extern __at(0x0018) __sfr TMR1L;
extern __at(0x0019) __sfr TMR1H;

//==============================================================================
//        T1CON Bits

extern __at(0x001A) __sfr T1CON;

typedef union
  {
  struct
    {
    unsigned ON                 : 1;
    unsigned                    : 1;
    unsigned NOT_SYNC           : 1;
    unsigned OSCEN              : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    };

  struct
    {
    unsigned TMRON              : 1;
    unsigned                    : 1;
    unsigned SYNC               : 1;
    unsigned SOSCEN             : 1;
    unsigned T1CKPS0            : 1;
    unsigned T1CKPS1            : 1;
    unsigned T1CS0              : 1;
    unsigned T1CS1              : 1;
    };

  struct
    {
    unsigned TMR1ON             : 1;
    unsigned                    : 1;
    unsigned NOT_T1SYNC         : 1;
    unsigned T1OSCEN            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR1CS0            : 1;
    unsigned TMR1CS1            : 1;
    };

  struct
    {
    unsigned T1ON               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T1CKPS             : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned TMR1CS             : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned T1CS               : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned CS                 : 2;
    };
  } __T1CONbits_t;

extern __at(0x001A) volatile __T1CONbits_t T1CONbits;

#define _T1CON_ON               0x01
#define _T1CON_TMRON            0x01
#define _T1CON_TMR1ON           0x01
#define _T1CON_T1ON             0x01
#define _T1CON_NOT_SYNC         0x04
#define _T1CON_SYNC             0x04
#define _T1CON_NOT_T1SYNC       0x04
#define _T1CON_OSCEN            0x08
#define _T1CON_SOSCEN           0x08
#define _T1CON_T1OSCEN          0x08
#define _T1CON_CKPS0            0x10
#define _T1CON_T1CKPS0          0x10
#define _T1CON_CKPS1            0x20
#define _T1CON_T1CKPS1          0x20
#define _T1CON_CS0              0x40
#define _T1CON_T1CS0            0x40
#define _T1CON_TMR1CS0          0x40
#define _T1CON_CS1              0x80
#define _T1CON_T1CS1            0x80
#define _T1CON_TMR1CS1          0x80

//==============================================================================


//==============================================================================
//        T1GCON Bits

extern __at(0x001B) __sfr T1GCON;

typedef union
  {
  struct
    {
    unsigned GSS0               : 1;
    unsigned GSS1               : 1;
    unsigned GVAL               : 1;
    unsigned GGO_NOT_DONE       : 1;
    unsigned GSPM               : 1;
    unsigned GTM                : 1;
    unsigned GPOL               : 1;
    unsigned GE                 : 1;
    };

  struct
    {
    unsigned T1GSS0             : 1;
    unsigned T1GSS1             : 1;
    unsigned T1GVAL             : 1;
    unsigned T1GGO_NOT_DONE     : 1;
    unsigned T1GSPM             : 1;
    unsigned T1GTM              : 1;
    unsigned T1GPOL             : 1;
    unsigned T1GE               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR1GE             : 1;
    };

  struct
    {
    unsigned GSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned T1GSS              : 2;
    unsigned                    : 6;
    };
  } __T1GCONbits_t;

extern __at(0x001B) volatile __T1GCONbits_t T1GCONbits;

#define _GSS0                   0x01
#define _T1GSS0                 0x01
#define _GSS1                   0x02
#define _T1GSS1                 0x02
#define _GVAL                   0x04
#define _T1GVAL                 0x04
#define _GGO_NOT_DONE           0x08
#define _T1GGO_NOT_DONE         0x08
#define _GSPM                   0x10
#define _T1GSPM                 0x10
#define _GTM                    0x20
#define _T1GTM                  0x20
#define _GPOL                   0x40
#define _T1GPOL                 0x40
#define _GE                     0x80
#define _T1GE                   0x80
#define _TMR1GE                 0x80

//==============================================================================

extern __at(0x001C) __sfr TMR3;
extern __at(0x001C) __sfr TMR3L;
extern __at(0x001D) __sfr TMR3H;

//==============================================================================
//        T3CON Bits

extern __at(0x001E) __sfr T3CON;

typedef union
  {
  struct
    {
    unsigned ON                 : 1;
    unsigned                    : 1;
    unsigned NOT_SYNC           : 1;
    unsigned OSCEN              : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    };

  struct
    {
    unsigned TMRON              : 1;
    unsigned                    : 1;
    unsigned SYNC               : 1;
    unsigned SOSCEN             : 1;
    unsigned T3CKPS0            : 1;
    unsigned T3CKPS1            : 1;
    unsigned T3CS0              : 1;
    unsigned T3CS1              : 1;
    };

  struct
    {
    unsigned TMR3ON             : 1;
    unsigned                    : 1;
    unsigned NOT_T3SYNC         : 1;
    unsigned T3OSCEN            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR3CS0            : 1;
    unsigned TMR3CS1            : 1;
    };

  struct
    {
    unsigned T3ON               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T3CKPS             : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned CS                 : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned T3CS               : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned TMR3CS             : 2;
    };
  } __T3CONbits_t;

extern __at(0x001E) volatile __T3CONbits_t T3CONbits;

#define _T3CON_ON               0x01
#define _T3CON_TMRON            0x01
#define _T3CON_TMR3ON           0x01
#define _T3CON_T3ON             0x01
#define _T3CON_NOT_SYNC         0x04
#define _T3CON_SYNC             0x04
#define _T3CON_NOT_T3SYNC       0x04
#define _T3CON_OSCEN            0x08
#define _T3CON_SOSCEN           0x08
#define _T3CON_T3OSCEN          0x08
#define _T3CON_CKPS0            0x10
#define _T3CON_T3CKPS0          0x10
#define _T3CON_CKPS1            0x20
#define _T3CON_T3CKPS1          0x20
#define _T3CON_CS0              0x40
#define _T3CON_T3CS0            0x40
#define _T3CON_TMR3CS0          0x40
#define _T3CON_CS1              0x80
#define _T3CON_T3CS1            0x80
#define _T3CON_TMR3CS1          0x80

//==============================================================================


//==============================================================================
//        T3GCON Bits

extern __at(0x001F) __sfr T3GCON;

typedef union
  {
  struct
    {
    unsigned GSS0               : 1;
    unsigned GSS1               : 1;
    unsigned GVAL               : 1;
    unsigned GGO_NOT_DONE       : 1;
    unsigned GSPM               : 1;
    unsigned GTM                : 1;
    unsigned GPOL               : 1;
    unsigned GE                 : 1;
    };

  struct
    {
    unsigned T3GSS0             : 1;
    unsigned T3GSS1             : 1;
    unsigned T3GVAL             : 1;
    unsigned T3GGO_NOT_DONE     : 1;
    unsigned T3GSPM             : 1;
    unsigned T3GTM              : 1;
    unsigned T3GPOL             : 1;
    unsigned T3GE               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR3GE             : 1;
    };

  struct
    {
    unsigned GSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned T3GSS              : 2;
    unsigned                    : 6;
    };
  } __T3GCONbits_t;

extern __at(0x001F) volatile __T3GCONbits_t T3GCONbits;

#define _T3GCON_GSS0            0x01
#define _T3GCON_T3GSS0          0x01
#define _T3GCON_GSS1            0x02
#define _T3GCON_T3GSS1          0x02
#define _T3GCON_GVAL            0x04
#define _T3GCON_T3GVAL          0x04
#define _T3GCON_GGO_NOT_DONE    0x08
#define _T3GCON_T3GGO_NOT_DONE  0x08
#define _T3GCON_GSPM            0x10
#define _T3GCON_T3GSPM          0x10
#define _T3GCON_GTM             0x20
#define _T3GCON_T3GTM           0x20
#define _T3GCON_GPOL            0x40
#define _T3GCON_T3GPOL          0x40
#define _T3GCON_GE              0x80
#define _T3GCON_T3GE            0x80
#define _T3GCON_TMR3GE          0x80

//==============================================================================


//==============================================================================
//        TRISA Bits

extern __at(0x008C) __sfr TRISA;

typedef struct
  {
  unsigned TRISA0               : 1;
  unsigned TRISA1               : 1;
  unsigned TRISA2               : 1;
  unsigned TRISA3               : 1;
  unsigned TRISA4               : 1;
  unsigned TRISA5               : 1;
  unsigned TRISA6               : 1;
  unsigned TRISA7               : 1;
  } __TRISAbits_t;

extern __at(0x008C) volatile __TRISAbits_t TRISAbits;

#define _TRISA0                 0x01
#define _TRISA1                 0x02
#define _TRISA2                 0x04
#define _TRISA3                 0x08
#define _TRISA4                 0x10
#define _TRISA5                 0x20
#define _TRISA6                 0x40
#define _TRISA7                 0x80

//==============================================================================


//==============================================================================
//        TRISB Bits

extern __at(0x008D) __sfr TRISB;

typedef struct
  {
  unsigned TRISB0               : 1;
  unsigned TRISB1               : 1;
  unsigned TRISB2               : 1;
  unsigned TRISB3               : 1;
  unsigned TRISB4               : 1;
  unsigned TRISB5               : 1;
  unsigned TRISB6               : 1;
  unsigned TRISB7               : 1;
  } __TRISBbits_t;

extern __at(0x008D) volatile __TRISBbits_t TRISBbits;

#define _TRISB0                 0x01
#define _TRISB1                 0x02
#define _TRISB2                 0x04
#define _TRISB3                 0x08
#define _TRISB4                 0x10
#define _TRISB5                 0x20
#define _TRISB6                 0x40
#define _TRISB7                 0x80

//==============================================================================


//==============================================================================
//        TRISC Bits

extern __at(0x008E) __sfr TRISC;

typedef struct
  {
  unsigned TRISC0               : 1;
  unsigned TRISC1               : 1;
  unsigned TRISC2               : 1;
  unsigned TRISC3               : 1;
  unsigned TRISC4               : 1;
  unsigned TRISC5               : 1;
  unsigned TRISC6               : 1;
  unsigned TRISC7               : 1;
  } __TRISCbits_t;

extern __at(0x008E) volatile __TRISCbits_t TRISCbits;

#define _TRISC0                 0x01
#define _TRISC1                 0x02
#define _TRISC2                 0x04
#define _TRISC3                 0x08
#define _TRISC4                 0x10
#define _TRISC5                 0x20
#define _TRISC6                 0x40
#define _TRISC7                 0x80

//==============================================================================


//==============================================================================
//        TRISD Bits

extern __at(0x008F) __sfr TRISD;

typedef struct
  {
  unsigned TRISD0               : 1;
  unsigned TRISD1               : 1;
  unsigned TRISD2               : 1;
  unsigned TRISD3               : 1;
  unsigned TRISD4               : 1;
  unsigned TRISD5               : 1;
  unsigned TRISD6               : 1;
  unsigned TRISD7               : 1;
  } __TRISDbits_t;

extern __at(0x008F) volatile __TRISDbits_t TRISDbits;

#define _TRISD0                 0x01
#define _TRISD1                 0x02
#define _TRISD2                 0x04
#define _TRISD3                 0x08
#define _TRISD4                 0x10
#define _TRISD5                 0x20
#define _TRISD6                 0x40
#define _TRISD7                 0x80

//==============================================================================


//==============================================================================
//        TRISE Bits

extern __at(0x0090) __sfr TRISE;

typedef union
  {
  struct
    {
    unsigned TRISE0             : 1;
    unsigned TRISE1             : 1;
    unsigned TRISE2             : 1;
    unsigned TRISE3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned TRISE              : 4;
    unsigned                    : 4;
    };
  } __TRISEbits_t;

extern __at(0x0090) volatile __TRISEbits_t TRISEbits;

#define _TRISE0                 0x01
#define _TRISE1                 0x02
#define _TRISE2                 0x04
#define _TRISE3                 0x08

//==============================================================================


//==============================================================================
//        PIE1 Bits

extern __at(0x0091) __sfr PIE1;

typedef union
  {
  struct
    {
    unsigned TMR1IE             : 1;
    unsigned TMR2IE             : 1;
    unsigned CCP1IE             : 1;
    unsigned SSP1IE             : 1;
    unsigned TXIE               : 1;
    unsigned RCIE               : 1;
    unsigned ADIE               : 1;
    unsigned TMR1GIE            : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CCPIE              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PIE1bits_t;

extern __at(0x0091) volatile __PIE1bits_t PIE1bits;

#define _TMR1IE                 0x01
#define _TMR2IE                 0x02
#define _CCP1IE                 0x04
#define _CCPIE                  0x04
#define _SSP1IE                 0x08
#define _TXIE                   0x10
#define _RCIE                   0x20
#define _ADIE                   0x40
#define _TMR1GIE                0x80

//==============================================================================


//==============================================================================
//        PIE2 Bits

extern __at(0x0092) __sfr PIE2;

typedef struct
  {
  unsigned CCP2IE               : 1;
  unsigned C3IE                 : 1;
  unsigned C4IE                 : 1;
  unsigned BCL1IE               : 1;
  unsigned COGIE                : 1;
  unsigned C1IE                 : 1;
  unsigned C2IE                 : 1;
  unsigned OSFIE                : 1;
  } __PIE2bits_t;

extern __at(0x0092) volatile __PIE2bits_t PIE2bits;

#define _CCP2IE                 0x01
#define _C3IE                   0x02
#define _C4IE                   0x04
#define _BCL1IE                 0x08
#define _COGIE                  0x10
#define _C1IE                   0x20
#define _C2IE                   0x40
#define _OSFIE                  0x80

//==============================================================================


//==============================================================================
//        PIE3 Bits

extern __at(0x0093) __sfr PIE3;

typedef struct
  {
  unsigned CLC1IE               : 1;
  unsigned CLC2IE               : 1;
  unsigned CLC3IE               : 1;
  unsigned CLC4IE               : 1;
  unsigned ZCDIE                : 1;
  unsigned COG2IE               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PIE3bits_t;

extern __at(0x0093) volatile __PIE3bits_t PIE3bits;

#define _CLC1IE                 0x01
#define _CLC2IE                 0x02
#define _CLC3IE                 0x04
#define _CLC4IE                 0x08
#define _ZCDIE                  0x10
#define _COG2IE                 0x20

//==============================================================================


//==============================================================================
//        PIE4 Bits

extern __at(0x0094) __sfr PIE4;

typedef struct
  {
  unsigned TMR4IE               : 1;
  unsigned TMR6IE               : 1;
  unsigned TMR3IE               : 1;
  unsigned TMR3GIE              : 1;
  unsigned TMR5IE               : 1;
  unsigned TMR5GIE              : 1;
  unsigned TMR8IE               : 1;
  unsigned                      : 1;
  } __PIE4bits_t;

extern __at(0x0094) volatile __PIE4bits_t PIE4bits;

#define _TMR4IE                 0x01
#define _TMR6IE                 0x02
#define _TMR3IE                 0x04
#define _TMR3GIE                0x08
#define _TMR5IE                 0x10
#define _TMR5GIE                0x20
#define _TMR8IE                 0x40

//==============================================================================


//==============================================================================
//        PIE5 Bits

extern __at(0x0095) __sfr PIE5;

typedef struct
  {
  unsigned C5IE                 : 1;
  unsigned C6IE                 : 1;
  unsigned C7IE                 : 1;
  unsigned C8IE                 : 1;
  unsigned COG3IE               : 1;
  unsigned COG4IE               : 1;
  unsigned CCP7IE               : 1;
  unsigned CCP8IE               : 1;
  } __PIE5bits_t;

extern __at(0x0095) volatile __PIE5bits_t PIE5bits;

#define _C5IE                   0x01
#define _C6IE                   0x02
#define _C7IE                   0x04
#define _C8IE                   0x08
#define _COG3IE                 0x10
#define _COG4IE                 0x20
#define _CCP7IE                 0x40
#define _CCP8IE                 0x80

//==============================================================================


//==============================================================================
//        PIE6 Bits

extern __at(0x0096) __sfr PIE6;

typedef struct
  {
  unsigned PWM5IE               : 1;
  unsigned PWM6IE               : 1;
  unsigned PWM11IE              : 1;
  unsigned PWM12IE              : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PIE6bits_t;

extern __at(0x0096) volatile __PIE6bits_t PIE6bits;

#define _PWM5IE                 0x01
#define _PWM6IE                 0x02
#define _PWM11IE                0x04
#define _PWM12IE                0x08

//==============================================================================


//==============================================================================
//        OPTION_REG Bits

extern __at(0x0097) __sfr OPTION_REG;

typedef union
  {
  struct
    {
    unsigned PS0                : 1;
    unsigned PS1                : 1;
    unsigned PS2                : 1;
    unsigned PSA                : 1;
    unsigned TMR0SE             : 1;
    unsigned TMR0CS             : 1;
    unsigned INTEDG             : 1;
    unsigned NOT_WPUEN          : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned T0SE               : 1;
    unsigned T0CS               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PS                 : 3;
    unsigned                    : 5;
    };
  } __OPTION_REGbits_t;

extern __at(0x0097) volatile __OPTION_REGbits_t OPTION_REGbits;

#define _PS0                    0x01
#define _PS1                    0x02
#define _PS2                    0x04
#define _PSA                    0x08
#define _TMR0SE                 0x10
#define _T0SE                   0x10
#define _TMR0CS                 0x20
#define _T0CS                   0x20
#define _INTEDG                 0x40
#define _NOT_WPUEN              0x80

//==============================================================================


//==============================================================================
//        PCON Bits

extern __at(0x0098) __sfr PCON;

typedef struct
  {
  unsigned NOT_BOR              : 1;
  unsigned NOT_POR              : 1;
  unsigned NOT_RI               : 1;
  unsigned NOT_RMCLR            : 1;
  unsigned NOT_RWDT             : 1;
  unsigned                      : 1;
  unsigned STKUNF               : 1;
  unsigned STKOVF               : 1;
  } __PCONbits_t;

extern __at(0x0098) volatile __PCONbits_t PCONbits;

#define _NOT_BOR                0x01
#define _NOT_POR                0x02
#define _NOT_RI                 0x04
#define _NOT_RMCLR              0x08
#define _NOT_RWDT               0x10
#define _STKUNF                 0x40
#define _STKOVF                 0x80

//==============================================================================


//==============================================================================
//        WDTCON Bits

extern __at(0x0099) __sfr WDTCON;

typedef union
  {
  struct
    {
    unsigned SWDTEN             : 1;
    unsigned WDTPS0             : 1;
    unsigned WDTPS1             : 1;
    unsigned WDTPS2             : 1;
    unsigned WDTPS3             : 1;
    unsigned WDTPS4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned WDTPS              : 5;
    unsigned                    : 2;
    };
  } __WDTCONbits_t;

extern __at(0x0099) volatile __WDTCONbits_t WDTCONbits;

#define _SWDTEN                 0x01
#define _WDTPS0                 0x02
#define _WDTPS1                 0x04
#define _WDTPS2                 0x08
#define _WDTPS3                 0x10
#define _WDTPS4                 0x20

//==============================================================================


//==============================================================================
//        OSCTUNE Bits

extern __at(0x009A) __sfr OSCTUNE;

typedef union
  {
  struct
    {
    unsigned TUN0               : 1;
    unsigned TUN1               : 1;
    unsigned TUN2               : 1;
    unsigned TUN3               : 1;
    unsigned TUN4               : 1;
    unsigned TUN5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned TUN                : 6;
    unsigned                    : 2;
    };
  } __OSCTUNEbits_t;

extern __at(0x009A) volatile __OSCTUNEbits_t OSCTUNEbits;

#define _TUN0                   0x01
#define _TUN1                   0x02
#define _TUN2                   0x04
#define _TUN3                   0x08
#define _TUN4                   0x10
#define _TUN5                   0x20

//==============================================================================


//==============================================================================
//        OSCCON Bits

extern __at(0x009B) __sfr OSCCON;

typedef union
  {
  struct
    {
    unsigned SCS0               : 1;
    unsigned SCS1               : 1;
    unsigned                    : 1;
    unsigned IRCF0              : 1;
    unsigned IRCF1              : 1;
    unsigned IRCF2              : 1;
    unsigned IRCF3              : 1;
    unsigned SPLLEN             : 1;
    };

  struct
    {
    unsigned SCS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 3;
    unsigned IRCF               : 4;
    unsigned                    : 1;
    };
  } __OSCCONbits_t;

extern __at(0x009B) volatile __OSCCONbits_t OSCCONbits;

#define _SCS0                   0x01
#define _SCS1                   0x02
#define _IRCF0                  0x08
#define _IRCF1                  0x10
#define _IRCF2                  0x20
#define _IRCF3                  0x40
#define _SPLLEN                 0x80

//==============================================================================


//==============================================================================
//        OSCSTAT Bits

extern __at(0x009C) __sfr OSCSTAT;

typedef struct
  {
  unsigned HFIOFS               : 1;
  unsigned LFIOFR               : 1;
  unsigned MFIOFR               : 1;
  unsigned HFIOFL               : 1;
  unsigned HFIOFR               : 1;
  unsigned OSTS                 : 1;
  unsigned PLLR                 : 1;
  unsigned SOSCR                : 1;
  } __OSCSTATbits_t;

extern __at(0x009C) volatile __OSCSTATbits_t OSCSTATbits;

#define _HFIOFS                 0x01
#define _LFIOFR                 0x02
#define _MFIOFR                 0x04
#define _HFIOFL                 0x08
#define _HFIOFR                 0x10
#define _OSTS                   0x20
#define _PLLR                   0x40
#define _SOSCR                  0x80

//==============================================================================


//==============================================================================
//        BORCON Bits

extern __at(0x009D) __sfr BORCON;

typedef struct
  {
  unsigned BORRDY               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned BORFS                : 1;
  unsigned SBOREN               : 1;
  } __BORCONbits_t;

extern __at(0x009D) volatile __BORCONbits_t BORCONbits;

#define _BORRDY                 0x01
#define _BORFS                  0x40
#define _SBOREN                 0x80

//==============================================================================


//==============================================================================
//        FVRCON Bits

extern __at(0x009E) __sfr FVRCON;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned TSRNG                : 1;
  unsigned TSEN                 : 1;
  unsigned FVRRDY               : 1;
  unsigned FVREN                : 1;
  } __FVRCONbits_t;

extern __at(0x009E) volatile __FVRCONbits_t FVRCONbits;

#define _TSRNG                  0x10
#define _TSEN                   0x20
#define _FVRRDY                 0x40
#define _FVREN                  0x80

//==============================================================================


//==============================================================================
//        ZCD1CON Bits

extern __at(0x009F) __sfr ZCD1CON;

typedef struct
  {
  unsigned ZCD1INTN             : 1;
  unsigned ZCD1INTP             : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned ZCD1POL              : 1;
  unsigned ZCD1OUT              : 1;
  unsigned                      : 1;
  unsigned ZCD1EN               : 1;
  } __ZCD1CONbits_t;

extern __at(0x009F) volatile __ZCD1CONbits_t ZCD1CONbits;

#define _ZCD1INTN               0x01
#define _ZCD1INTP               0x02
#define _ZCD1POL                0x10
#define _ZCD1OUT                0x20
#define _ZCD1EN                 0x80

//==============================================================================


//==============================================================================
//        LATA Bits

extern __at(0x010C) __sfr LATA;

typedef struct
  {
  unsigned LATA0                : 1;
  unsigned LATA1                : 1;
  unsigned LATA2                : 1;
  unsigned LATA3                : 1;
  unsigned LATA4                : 1;
  unsigned LATA5                : 1;
  unsigned LATA6                : 1;
  unsigned LATA7                : 1;
  } __LATAbits_t;

extern __at(0x010C) volatile __LATAbits_t LATAbits;

#define _LATA0                  0x01
#define _LATA1                  0x02
#define _LATA2                  0x04
#define _LATA3                  0x08
#define _LATA4                  0x10
#define _LATA5                  0x20
#define _LATA6                  0x40
#define _LATA7                  0x80

//==============================================================================


//==============================================================================
//        LATB Bits

extern __at(0x010D) __sfr LATB;

typedef struct
  {
  unsigned LATB0                : 1;
  unsigned LATB1                : 1;
  unsigned LATB2                : 1;
  unsigned LATB3                : 1;
  unsigned LATB4                : 1;
  unsigned LATB5                : 1;
  unsigned LATB6                : 1;
  unsigned LATB7                : 1;
  } __LATBbits_t;

extern __at(0x010D) volatile __LATBbits_t LATBbits;

#define _LATB0                  0x01
#define _LATB1                  0x02
#define _LATB2                  0x04
#define _LATB3                  0x08
#define _LATB4                  0x10
#define _LATB5                  0x20
#define _LATB6                  0x40
#define _LATB7                  0x80

//==============================================================================


//==============================================================================
//        LATC Bits

extern __at(0x010E) __sfr LATC;

typedef struct
  {
  unsigned LATC0                : 1;
  unsigned LATC1                : 1;
  unsigned LATC2                : 1;
  unsigned LATC3                : 1;
  unsigned LATC4                : 1;
  unsigned LATC5                : 1;
  unsigned LATC6                : 1;
  unsigned LATC7                : 1;
  } __LATCbits_t;

extern __at(0x010E) volatile __LATCbits_t LATCbits;

#define _LATC0                  0x01
#define _LATC1                  0x02
#define _LATC2                  0x04
#define _LATC3                  0x08
#define _LATC4                  0x10
#define _LATC5                  0x20
#define _LATC6                  0x40
#define _LATC7                  0x80

//==============================================================================


//==============================================================================
//        LATD Bits

extern __at(0x010F) __sfr LATD;

typedef struct
  {
  unsigned LATD0                : 1;
  unsigned LATD1                : 1;
  unsigned LATD2                : 1;
  unsigned LATD3                : 1;
  unsigned LATD4                : 1;
  unsigned LATD5                : 1;
  unsigned LATD6                : 1;
  unsigned LATD7                : 1;
  } __LATDbits_t;

extern __at(0x010F) volatile __LATDbits_t LATDbits;

#define _LATD0                  0x01
#define _LATD1                  0x02
#define _LATD2                  0x04
#define _LATD3                  0x08
#define _LATD4                  0x10
#define _LATD5                  0x20
#define _LATD6                  0x40
#define _LATD7                  0x80

//==============================================================================


//==============================================================================
//        LATE Bits

extern __at(0x0110) __sfr LATE;

typedef union
  {
  struct
    {
    unsigned LATE0              : 1;
    unsigned LATE1              : 1;
    unsigned LATE2              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LATE               : 3;
    unsigned                    : 5;
    };
  } __LATEbits_t;

extern __at(0x0110) volatile __LATEbits_t LATEbits;

#define _LATE0                  0x01
#define _LATE1                  0x02
#define _LATE2                  0x04

//==============================================================================


//==============================================================================
//        CMOUT Bits

extern __at(0x0111) __sfr CMOUT;

typedef struct
  {
  unsigned MC1OUT               : 1;
  unsigned MC2OUT               : 1;
  unsigned MC3OUT               : 1;
  unsigned MC4OUT               : 1;
  unsigned MC5OUT               : 1;
  unsigned MC6OUT               : 1;
  unsigned MC7OUT               : 1;
  unsigned MC80UT               : 1;
  } __CMOUTbits_t;

extern __at(0x0111) volatile __CMOUTbits_t CMOUTbits;

#define _MC1OUT                 0x01
#define _MC2OUT                 0x02
#define _MC3OUT                 0x04
#define _MC4OUT                 0x08
#define _MC5OUT                 0x10
#define _MC6OUT                 0x20
#define _MC7OUT                 0x40
#define _MC80UT                 0x80

//==============================================================================


//==============================================================================
//        CM1CON0 Bits

extern __at(0x0112) __sfr CM1CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C1SYNC             : 1;
    unsigned C1HYS              : 1;
    unsigned C1SP               : 1;
    unsigned C1ZLF              : 1;
    unsigned C1POL              : 1;
    unsigned                    : 1;
    unsigned C1OUT              : 1;
    unsigned C1ON               : 1;
    };
  } __CM1CON0bits_t;

extern __at(0x0112) volatile __CM1CON0bits_t CM1CON0bits;

#define _CM1CON0_SYNC           0x01
#define _CM1CON0_C1SYNC         0x01
#define _CM1CON0_HYS            0x02
#define _CM1CON0_C1HYS          0x02
#define _CM1CON0_Reserved       0x04
#define _CM1CON0_C1SP           0x04
#define _CM1CON0_ZLF            0x08
#define _CM1CON0_C1ZLF          0x08
#define _CM1CON0_POL            0x10
#define _CM1CON0_C1POL          0x10
#define _CM1CON0_OUT            0x40
#define _CM1CON0_C1OUT          0x40
#define _CM1CON0_ON             0x80
#define _CM1CON0_C1ON           0x80

//==============================================================================


//==============================================================================
//        CM1CON1 Bits

extern __at(0x0113) __sfr CM1CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C1INTN             : 1;
    unsigned C1INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM1CON1bits_t;

extern __at(0x0113) volatile __CM1CON1bits_t CM1CON1bits;

#define _CM1CON1_INTN           0x01
#define _CM1CON1_C1INTN         0x01
#define _CM1CON1_INTP           0x02
#define _CM1CON1_C1INTP         0x02

//==============================================================================


//==============================================================================
//        CM1NSEL Bits

extern __at(0x0114) __sfr CM1NSEL;

typedef union
  {
  struct
    {
    unsigned C1NCH0             : 1;
    unsigned C1NCH1             : 1;
    unsigned C1NCH2             : 1;
    unsigned C1NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C1NCH              : 4;
    unsigned                    : 4;
    };
  } __CM1NSELbits_t;

extern __at(0x0114) volatile __CM1NSELbits_t CM1NSELbits;

#define _C1NCH0                 0x01
#define _C1NCH1                 0x02
#define _C1NCH2                 0x04
#define _C1NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM1PSEL Bits

extern __at(0x0115) __sfr CM1PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C1PCH0             : 1;
    unsigned C1PCH1             : 1;
    unsigned C1PCH2             : 1;
    unsigned C1PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned C1PCH              : 4;
    unsigned                    : 4;
    };
  } __CM1PSELbits_t;

extern __at(0x0115) volatile __CM1PSELbits_t CM1PSELbits;

#define _PCH0                   0x01
#define _C1PCH0                 0x01
#define _PCH1                   0x02
#define _C1PCH1                 0x02
#define _PCH2                   0x04
#define _C1PCH2                 0x04
#define _PCH3                   0x08
#define _C1PCH3                 0x08

//==============================================================================


//==============================================================================
//        CM2CON0 Bits

extern __at(0x0116) __sfr CM2CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C2SYNC             : 1;
    unsigned C2HYS              : 1;
    unsigned C2SP               : 1;
    unsigned C2ZLF              : 1;
    unsigned C2POL              : 1;
    unsigned                    : 1;
    unsigned C2OUT              : 1;
    unsigned C2ON               : 1;
    };
  } __CM2CON0bits_t;

extern __at(0x0116) volatile __CM2CON0bits_t CM2CON0bits;

#define _CM2CON0_SYNC           0x01
#define _CM2CON0_C2SYNC         0x01
#define _CM2CON0_HYS            0x02
#define _CM2CON0_C2HYS          0x02
#define _CM2CON0_Reserved       0x04
#define _CM2CON0_C2SP           0x04
#define _CM2CON0_ZLF            0x08
#define _CM2CON0_C2ZLF          0x08
#define _CM2CON0_POL            0x10
#define _CM2CON0_C2POL          0x10
#define _CM2CON0_OUT            0x40
#define _CM2CON0_C2OUT          0x40
#define _CM2CON0_ON             0x80
#define _CM2CON0_C2ON           0x80

//==============================================================================


//==============================================================================
//        CM2CON1 Bits

extern __at(0x0117) __sfr CM2CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C2INTN             : 1;
    unsigned C2INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM2CON1bits_t;

extern __at(0x0117) volatile __CM2CON1bits_t CM2CON1bits;

#define _CM2CON1_INTN           0x01
#define _CM2CON1_C2INTN         0x01
#define _CM2CON1_INTP           0x02
#define _CM2CON1_C2INTP         0x02

//==============================================================================


//==============================================================================
//        CM2NSEL Bits

extern __at(0x0118) __sfr CM2NSEL;

typedef union
  {
  struct
    {
    unsigned C2NCH0             : 1;
    unsigned C2NCH1             : 1;
    unsigned C2NCH2             : 1;
    unsigned C2NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C2NCH              : 4;
    unsigned                    : 4;
    };
  } __CM2NSELbits_t;

extern __at(0x0118) volatile __CM2NSELbits_t CM2NSELbits;

#define _C2NCH0                 0x01
#define _C2NCH1                 0x02
#define _C2NCH2                 0x04
#define _C2NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM2PSEL Bits

extern __at(0x0119) __sfr CM2PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C2PCH0             : 1;
    unsigned C2PCH1             : 1;
    unsigned C2PCH2             : 1;
    unsigned C2PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C2PCH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };
  } __CM2PSELbits_t;

extern __at(0x0119) volatile __CM2PSELbits_t CM2PSELbits;

#define _CM2PSEL_PCH0           0x01
#define _CM2PSEL_C2PCH0         0x01
#define _CM2PSEL_PCH1           0x02
#define _CM2PSEL_C2PCH1         0x02
#define _CM2PSEL_PCH2           0x04
#define _CM2PSEL_C2PCH2         0x04
#define _CM2PSEL_PCH3           0x08
#define _CM2PSEL_C2PCH3         0x08

//==============================================================================


//==============================================================================
//        CM3CON0 Bits

extern __at(0x011A) __sfr CM3CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C3SYNC             : 1;
    unsigned C3HYS              : 1;
    unsigned C3SP               : 1;
    unsigned C3ZLF              : 1;
    unsigned C3POL              : 1;
    unsigned                    : 1;
    unsigned C3OUT              : 1;
    unsigned C3ON               : 1;
    };
  } __CM3CON0bits_t;

extern __at(0x011A) volatile __CM3CON0bits_t CM3CON0bits;

#define _CM3CON0_SYNC           0x01
#define _CM3CON0_C3SYNC         0x01
#define _CM3CON0_HYS            0x02
#define _CM3CON0_C3HYS          0x02
#define _CM3CON0_Reserved       0x04
#define _CM3CON0_C3SP           0x04
#define _CM3CON0_ZLF            0x08
#define _CM3CON0_C3ZLF          0x08
#define _CM3CON0_POL            0x10
#define _CM3CON0_C3POL          0x10
#define _CM3CON0_OUT            0x40
#define _CM3CON0_C3OUT          0x40
#define _CM3CON0_ON             0x80
#define _CM3CON0_C3ON           0x80

//==============================================================================


//==============================================================================
//        CM3CON1 Bits

extern __at(0x011B) __sfr CM3CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C3INTN             : 1;
    unsigned C3INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM3CON1bits_t;

extern __at(0x011B) volatile __CM3CON1bits_t CM3CON1bits;

#define _CM3CON1_INTN           0x01
#define _CM3CON1_C3INTN         0x01
#define _CM3CON1_INTP           0x02
#define _CM3CON1_C3INTP         0x02

//==============================================================================


//==============================================================================
//        CM3NSEL Bits

extern __at(0x011C) __sfr CM3NSEL;

typedef union
  {
  struct
    {
    unsigned C3NCH0             : 1;
    unsigned C3NCH1             : 1;
    unsigned C3NCH2             : 1;
    unsigned C3NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C3NCH              : 4;
    unsigned                    : 4;
    };
  } __CM3NSELbits_t;

extern __at(0x011C) volatile __CM3NSELbits_t CM3NSELbits;

#define _C3NCH0                 0x01
#define _C3NCH1                 0x02
#define _C3NCH2                 0x04
#define _C3NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM3PSEL Bits

extern __at(0x011D) __sfr CM3PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C3PCH0             : 1;
    unsigned C3PCH1             : 1;
    unsigned C3PCH2             : 1;
    unsigned C3PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned C3PCH              : 4;
    unsigned                    : 4;
    };
  } __CM3PSELbits_t;

extern __at(0x011D) volatile __CM3PSELbits_t CM3PSELbits;

#define _CM3PSEL_PCH0           0x01
#define _CM3PSEL_C3PCH0         0x01
#define _CM3PSEL_PCH1           0x02
#define _CM3PSEL_C3PCH1         0x02
#define _CM3PSEL_PCH2           0x04
#define _CM3PSEL_C3PCH2         0x04
#define _CM3PSEL_PCH3           0x08
#define _CM3PSEL_C3PCH3         0x08

//==============================================================================


//==============================================================================
//        ANSELA Bits

extern __at(0x018C) __sfr ANSELA;

typedef union
  {
  struct
    {
    unsigned ANSA0              : 1;
    unsigned ANSA1              : 1;
    unsigned ANSA2              : 1;
    unsigned ANSA3              : 1;
    unsigned ANSA4              : 1;
    unsigned ANSA5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned ANSA               : 6;
    unsigned                    : 2;
    };
  } __ANSELAbits_t;

extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits;

#define _ANSA0                  0x01
#define _ANSA1                  0x02
#define _ANSA2                  0x04
#define _ANSA3                  0x08
#define _ANSA4                  0x10
#define _ANSA5                  0x20

//==============================================================================


//==============================================================================
//        ANSELB Bits

extern __at(0x018D) __sfr ANSELB;

typedef union
  {
  struct
    {
    unsigned ANSB0              : 1;
    unsigned ANSB1              : 1;
    unsigned ANSB2              : 1;
    unsigned ANSB3              : 1;
    unsigned ANSB4              : 1;
    unsigned ANSB5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned ANSB               : 6;
    unsigned                    : 2;
    };
  } __ANSELBbits_t;

extern __at(0x018D) volatile __ANSELBbits_t ANSELBbits;

#define _ANSB0                  0x01
#define _ANSB1                  0x02
#define _ANSB2                  0x04
#define _ANSB3                  0x08
#define _ANSB4                  0x10
#define _ANSB5                  0x20

//==============================================================================


//==============================================================================
//        ANSELC Bits

extern __at(0x018E) __sfr ANSELC;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned ANSC2                : 1;
  unsigned ANSC3                : 1;
  unsigned ANSC4                : 1;
  unsigned ANSC5                : 1;
  unsigned ANSC6                : 1;
  unsigned ANSC7                : 1;
  } __ANSELCbits_t;

extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits;

#define _ANSC2                  0x04
#define _ANSC3                  0x08
#define _ANSC4                  0x10
#define _ANSC5                  0x20
#define _ANSC6                  0x40
#define _ANSC7                  0x80

//==============================================================================


//==============================================================================
//        ANSELD Bits

extern __at(0x018F) __sfr ANSELD;

typedef struct
  {
  unsigned ANSD0                : 1;
  unsigned ANSD1                : 1;
  unsigned ANSD2                : 1;
  unsigned ANSD3                : 1;
  unsigned ANSD4                : 1;
  unsigned ANSD5                : 1;
  unsigned ANSD6                : 1;
  unsigned ANSD7                : 1;
  } __ANSELDbits_t;

extern __at(0x018F) volatile __ANSELDbits_t ANSELDbits;

#define _ANSD0                  0x01
#define _ANSD1                  0x02
#define _ANSD2                  0x04
#define _ANSD3                  0x08
#define _ANSD4                  0x10
#define _ANSD5                  0x20
#define _ANSD6                  0x40
#define _ANSD7                  0x80

//==============================================================================


//==============================================================================
//        ANSELE Bits

extern __at(0x0190) __sfr ANSELE;

typedef union
  {
  struct
    {
    unsigned ANSE0              : 1;
    unsigned ANSE1              : 1;
    unsigned ANSE2              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned ANSE               : 3;
    unsigned                    : 5;
    };
  } __ANSELEbits_t;

extern __at(0x0190) volatile __ANSELEbits_t ANSELEbits;

#define _ANSE0                  0x01
#define _ANSE1                  0x02
#define _ANSE2                  0x04

//==============================================================================

extern __at(0x0191) __sfr PMADR;
extern __at(0x0191) __sfr PMADRL;
extern __at(0x0192) __sfr PMADRH;
extern __at(0x0193) __sfr PMDAT;
extern __at(0x0193) __sfr PMDATL;
extern __at(0x0194) __sfr PMDATH;

//==============================================================================
//        PMCON1 Bits

extern __at(0x0195) __sfr PMCON1;

typedef struct
  {
  unsigned RD                   : 1;
  unsigned WR                   : 1;
  unsigned WREN                 : 1;
  unsigned WRERR                : 1;
  unsigned FREE                 : 1;
  unsigned LWLO                 : 1;
  unsigned CFGS                 : 1;
  unsigned                      : 1;
  } __PMCON1bits_t;

extern __at(0x0195) volatile __PMCON1bits_t PMCON1bits;

#define _RD                     0x01
#define _WR                     0x02
#define _WREN                   0x04
#define _WRERR                  0x08
#define _FREE                   0x10
#define _LWLO                   0x20
#define _CFGS                   0x40

//==============================================================================

extern __at(0x0196) __sfr PMCON2;

//==============================================================================
//        VREGCON Bits

extern __at(0x0197) __sfr VREGCON;

typedef struct
  {
  unsigned Reserved             : 1;
  unsigned VREGPM               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __VREGCONbits_t;

extern __at(0x0197) volatile __VREGCONbits_t VREGCONbits;

#define _VREGCON_Reserved       0x01
#define _VREGCON_VREGPM         0x02

//==============================================================================

extern __at(0x0199) __sfr RC1REG;
extern __at(0x0199) __sfr RCREG;
extern __at(0x0199) __sfr RCREG1;
extern __at(0x019A) __sfr TX1REG;
extern __at(0x019A) __sfr TXREG;
extern __at(0x019A) __sfr TXREG1;
extern __at(0x019B) __sfr SP1BRG;
extern __at(0x019B) __sfr SP1BRGL;
extern __at(0x019B) __sfr SPBRG;
extern __at(0x019B) __sfr SPBRG1;
extern __at(0x019B) __sfr SPBRGL;
extern __at(0x019C) __sfr SP1BRGH;
extern __at(0x019C) __sfr SPBRGH;
extern __at(0x019C) __sfr SPBRGH1;

//==============================================================================
//        RC1STA Bits

extern __at(0x019D) __sfr RC1STA;

typedef struct
  {
  unsigned RX9D                 : 1;
  unsigned OERR                 : 1;
  unsigned FERR                 : 1;
  unsigned ADDEN                : 1;
  unsigned CREN                 : 1;
  unsigned SREN                 : 1;
  unsigned RX9                  : 1;
  unsigned SPEN                 : 1;
  } __RC1STAbits_t;

extern __at(0x019D) volatile __RC1STAbits_t RC1STAbits;

#define _RX9D                   0x01
#define _OERR                   0x02
#define _FERR                   0x04
#define _ADDEN                  0x08
#define _CREN                   0x10
#define _SREN                   0x20
#define _RX9                    0x40
#define _SPEN                   0x80

//==============================================================================


//==============================================================================
//        RCSTA Bits

extern __at(0x019D) __sfr RCSTA;

typedef struct
  {
  unsigned RX9D                 : 1;
  unsigned OERR                 : 1;
  unsigned FERR                 : 1;
  unsigned ADDEN                : 1;
  unsigned CREN                 : 1;
  unsigned SREN                 : 1;
  unsigned RX9                  : 1;
  unsigned SPEN                 : 1;
  } __RCSTAbits_t;

extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits;

#define _RCSTA_RX9D             0x01
#define _RCSTA_OERR             0x02
#define _RCSTA_FERR             0x04
#define _RCSTA_ADDEN            0x08
#define _RCSTA_CREN             0x10
#define _RCSTA_SREN             0x20
#define _RCSTA_RX9              0x40
#define _RCSTA_SPEN             0x80

//==============================================================================


//==============================================================================
//        RCSTA1 Bits

extern __at(0x019D) __sfr RCSTA1;

typedef struct
  {
  unsigned RX9D                 : 1;
  unsigned OERR                 : 1;
  unsigned FERR                 : 1;
  unsigned ADDEN                : 1;
  unsigned CREN                 : 1;
  unsigned SREN                 : 1;
  unsigned RX9                  : 1;
  unsigned SPEN                 : 1;
  } __RCSTA1bits_t;

extern __at(0x019D) volatile __RCSTA1bits_t RCSTA1bits;

#define _RCSTA1_RX9D            0x01
#define _RCSTA1_OERR            0x02
#define _RCSTA1_FERR            0x04
#define _RCSTA1_ADDEN           0x08
#define _RCSTA1_CREN            0x10
#define _RCSTA1_SREN            0x20
#define _RCSTA1_RX9             0x40
#define _RCSTA1_SPEN            0x80

//==============================================================================


//==============================================================================
//        TX1STA Bits

extern __at(0x019E) __sfr TX1STA;

typedef struct
  {
  unsigned TX9D                 : 1;
  unsigned TRMT                 : 1;
  unsigned BRGH                 : 1;
  unsigned SENDB                : 1;
  unsigned SYNC                 : 1;
  unsigned TXEN                 : 1;
  unsigned TX9                  : 1;
  unsigned CSRC                 : 1;
  } __TX1STAbits_t;

extern __at(0x019E) volatile __TX1STAbits_t TX1STAbits;

#define _TX1STA_TX9D            0x01
#define _TX1STA_TRMT            0x02
#define _TX1STA_BRGH            0x04
#define _TX1STA_SENDB           0x08
#define _TX1STA_SYNC            0x10
#define _TX1STA_TXEN            0x20
#define _TX1STA_TX9             0x40
#define _TX1STA_CSRC            0x80

//==============================================================================


//==============================================================================
//        TXSTA Bits

extern __at(0x019E) __sfr TXSTA;

typedef struct
  {
  unsigned TX9D                 : 1;
  unsigned TRMT                 : 1;
  unsigned BRGH                 : 1;
  unsigned SENDB                : 1;
  unsigned SYNC                 : 1;
  unsigned TXEN                 : 1;
  unsigned TX9                  : 1;
  unsigned CSRC                 : 1;
  } __TXSTAbits_t;

extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits;

#define _TXSTA_TX9D             0x01
#define _TXSTA_TRMT             0x02
#define _TXSTA_BRGH             0x04
#define _TXSTA_SENDB            0x08
#define _TXSTA_SYNC             0x10
#define _TXSTA_TXEN             0x20
#define _TXSTA_TX9              0x40
#define _TXSTA_CSRC             0x80

//==============================================================================


//==============================================================================
//        TXSTA1 Bits

extern __at(0x019E) __sfr TXSTA1;

typedef struct
  {
  unsigned TX9D                 : 1;
  unsigned TRMT                 : 1;
  unsigned BRGH                 : 1;
  unsigned SENDB                : 1;
  unsigned SYNC                 : 1;
  unsigned TXEN                 : 1;
  unsigned TX9                  : 1;
  unsigned CSRC                 : 1;
  } __TXSTA1bits_t;

extern __at(0x019E) volatile __TXSTA1bits_t TXSTA1bits;

#define _TXSTA1_TX9D            0x01
#define _TXSTA1_TRMT            0x02
#define _TXSTA1_BRGH            0x04
#define _TXSTA1_SENDB           0x08
#define _TXSTA1_SYNC            0x10
#define _TXSTA1_TXEN            0x20
#define _TXSTA1_TX9             0x40
#define _TXSTA1_CSRC            0x80

//==============================================================================


//==============================================================================
//        BAUD1CON Bits

extern __at(0x019F) __sfr BAUD1CON;

typedef struct
  {
  unsigned ABDEN                : 1;
  unsigned WUE                  : 1;
  unsigned                      : 1;
  unsigned BRG16                : 1;
  unsigned SCKP                 : 1;
  unsigned                      : 1;
  unsigned RCIDL                : 1;
  unsigned ABDOVF               : 1;
  } __BAUD1CONbits_t;

extern __at(0x019F) volatile __BAUD1CONbits_t BAUD1CONbits;

#define _ABDEN                  0x01
#define _WUE                    0x02
#define _BRG16                  0x08
#define _SCKP                   0x10
#define _RCIDL                  0x40
#define _ABDOVF                 0x80

//==============================================================================


//==============================================================================
//        BAUDCON Bits

extern __at(0x019F) __sfr BAUDCON;

typedef struct
  {
  unsigned ABDEN                : 1;
  unsigned WUE                  : 1;
  unsigned                      : 1;
  unsigned BRG16                : 1;
  unsigned SCKP                 : 1;
  unsigned                      : 1;
  unsigned RCIDL                : 1;
  unsigned ABDOVF               : 1;
  } __BAUDCONbits_t;

extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits;

#define _BAUDCON_ABDEN          0x01
#define _BAUDCON_WUE            0x02
#define _BAUDCON_BRG16          0x08
#define _BAUDCON_SCKP           0x10
#define _BAUDCON_RCIDL          0x40
#define _BAUDCON_ABDOVF         0x80

//==============================================================================


//==============================================================================
//        BAUDCON1 Bits

extern __at(0x019F) __sfr BAUDCON1;

typedef struct
  {
  unsigned ABDEN                : 1;
  unsigned WUE                  : 1;
  unsigned                      : 1;
  unsigned BRG16                : 1;
  unsigned SCKP                 : 1;
  unsigned                      : 1;
  unsigned RCIDL                : 1;
  unsigned ABDOVF               : 1;
  } __BAUDCON1bits_t;

extern __at(0x019F) volatile __BAUDCON1bits_t BAUDCON1bits;

#define _BAUDCON1_ABDEN         0x01
#define _BAUDCON1_WUE           0x02
#define _BAUDCON1_BRG16         0x08
#define _BAUDCON1_SCKP          0x10
#define _BAUDCON1_RCIDL         0x40
#define _BAUDCON1_ABDOVF        0x80

//==============================================================================


//==============================================================================
//        BAUDCTL Bits

extern __at(0x019F) __sfr BAUDCTL;

typedef struct
  {
  unsigned ABDEN                : 1;
  unsigned WUE                  : 1;
  unsigned                      : 1;
  unsigned BRG16                : 1;
  unsigned SCKP                 : 1;
  unsigned                      : 1;
  unsigned RCIDL                : 1;
  unsigned ABDOVF               : 1;
  } __BAUDCTLbits_t;

extern __at(0x019F) volatile __BAUDCTLbits_t BAUDCTLbits;

#define _BAUDCTL_ABDEN          0x01
#define _BAUDCTL_WUE            0x02
#define _BAUDCTL_BRG16          0x08
#define _BAUDCTL_SCKP           0x10
#define _BAUDCTL_RCIDL          0x40
#define _BAUDCTL_ABDOVF         0x80

//==============================================================================


//==============================================================================
//        BAUDCTL1 Bits

extern __at(0x019F) __sfr BAUDCTL1;

typedef struct
  {
  unsigned ABDEN                : 1;
  unsigned WUE                  : 1;
  unsigned                      : 1;
  unsigned BRG16                : 1;
  unsigned SCKP                 : 1;
  unsigned                      : 1;
  unsigned RCIDL                : 1;
  unsigned ABDOVF               : 1;
  } __BAUDCTL1bits_t;

extern __at(0x019F) volatile __BAUDCTL1bits_t BAUDCTL1bits;

#define _BAUDCTL1_ABDEN         0x01
#define _BAUDCTL1_WUE           0x02
#define _BAUDCTL1_BRG16         0x08
#define _BAUDCTL1_SCKP          0x10
#define _BAUDCTL1_RCIDL         0x40
#define _BAUDCTL1_ABDOVF        0x80

//==============================================================================


//==============================================================================
//        WPUA Bits

extern __at(0x020C) __sfr WPUA;

typedef struct
  {
  unsigned WPUA0                : 1;
  unsigned WPUA1                : 1;
  unsigned WPUA2                : 1;
  unsigned WPUA3                : 1;
  unsigned WPUA4                : 1;
  unsigned WPUA5                : 1;
  unsigned WPUA6                : 1;
  unsigned WPUA7                : 1;
  } __WPUAbits_t;

extern __at(0x020C) volatile __WPUAbits_t WPUAbits;

#define _WPUA0                  0x01
#define _WPUA1                  0x02
#define _WPUA2                  0x04
#define _WPUA3                  0x08
#define _WPUA4                  0x10
#define _WPUA5                  0x20
#define _WPUA6                  0x40
#define _WPUA7                  0x80

//==============================================================================


//==============================================================================
//        WPUB Bits

extern __at(0x020D) __sfr WPUB;

typedef struct
  {
  unsigned WPUB0                : 1;
  unsigned WPUB1                : 1;
  unsigned WPUB2                : 1;
  unsigned WPUB3                : 1;
  unsigned WPUB4                : 1;
  unsigned WPUB5                : 1;
  unsigned WPUB6                : 1;
  unsigned WPUB7                : 1;
  } __WPUBbits_t;

extern __at(0x020D) volatile __WPUBbits_t WPUBbits;

#define _WPUB0                  0x01
#define _WPUB1                  0x02
#define _WPUB2                  0x04
#define _WPUB3                  0x08
#define _WPUB4                  0x10
#define _WPUB5                  0x20
#define _WPUB6                  0x40
#define _WPUB7                  0x80

//==============================================================================


//==============================================================================
//        WPUC Bits

extern __at(0x020E) __sfr WPUC;

typedef struct
  {
  unsigned WPUC0                : 1;
  unsigned WPUC1                : 1;
  unsigned WPUC2                : 1;
  unsigned WPUC3                : 1;
  unsigned WPUC4                : 1;
  unsigned WPUC5                : 1;
  unsigned WPUC6                : 1;
  unsigned WPUC7                : 1;
  } __WPUCbits_t;

extern __at(0x020E) volatile __WPUCbits_t WPUCbits;

#define _WPUC0                  0x01
#define _WPUC1                  0x02
#define _WPUC2                  0x04
#define _WPUC3                  0x08
#define _WPUC4                  0x10
#define _WPUC5                  0x20
#define _WPUC6                  0x40
#define _WPUC7                  0x80

//==============================================================================


//==============================================================================
//        WPUD Bits

extern __at(0x020F) __sfr WPUD;

typedef struct
  {
  unsigned WPUD0                : 1;
  unsigned WPUD1                : 1;
  unsigned WPUD2                : 1;
  unsigned WPUD3                : 1;
  unsigned WPUD4                : 1;
  unsigned WPUD5                : 1;
  unsigned WPUD6                : 1;
  unsigned WPUD7                : 1;
  } __WPUDbits_t;

extern __at(0x020F) volatile __WPUDbits_t WPUDbits;

#define _WPUD0                  0x01
#define _WPUD1                  0x02
#define _WPUD2                  0x04
#define _WPUD3                  0x08
#define _WPUD4                  0x10
#define _WPUD5                  0x20
#define _WPUD6                  0x40
#define _WPUD7                  0x80

//==============================================================================


//==============================================================================
//        WPUE Bits

extern __at(0x0210) __sfr WPUE;

typedef union
  {
  struct
    {
    unsigned WPUE0              : 1;
    unsigned WPUE1              : 1;
    unsigned WPUE2              : 1;
    unsigned WPUE3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned WPUE               : 4;
    unsigned                    : 4;
    };
  } __WPUEbits_t;

extern __at(0x0210) volatile __WPUEbits_t WPUEbits;

#define _WPUE0                  0x01
#define _WPUE1                  0x02
#define _WPUE2                  0x04
#define _WPUE3                  0x08

//==============================================================================


//==============================================================================
//        SSP1BUF Bits

extern __at(0x0211) __sfr SSP1BUF;

typedef union
  {
  struct
    {
    unsigned SSP1BUF0           : 1;
    unsigned SSP1BUF1           : 1;
    unsigned SSP1BUF2           : 1;
    unsigned SSP1BUF3           : 1;
    unsigned SSP1BUF4           : 1;
    unsigned SSP1BUF5           : 1;
    unsigned SSP1BUF6           : 1;
    unsigned SSP1BUF7           : 1;
    };

  struct
    {
    unsigned BUF0               : 1;
    unsigned BUF1               : 1;
    unsigned BUF2               : 1;
    unsigned BUF3               : 1;
    unsigned BUF4               : 1;
    unsigned BUF5               : 1;
    unsigned BUF6               : 1;
    unsigned BUF7               : 1;
    };
  } __SSP1BUFbits_t;

extern __at(0x0211) volatile __SSP1BUFbits_t SSP1BUFbits;

#define _SSP1BUF0               0x01
#define _BUF0                   0x01
#define _SSP1BUF1               0x02
#define _BUF1                   0x02
#define _SSP1BUF2               0x04
#define _BUF2                   0x04
#define _SSP1BUF3               0x08
#define _BUF3                   0x08
#define _SSP1BUF4               0x10
#define _BUF4                   0x10
#define _SSP1BUF5               0x20
#define _BUF5                   0x20
#define _SSP1BUF6               0x40
#define _BUF6                   0x40
#define _SSP1BUF7               0x80
#define _BUF7                   0x80

//==============================================================================


//==============================================================================
//        SSPBUF Bits

extern __at(0x0211) __sfr SSPBUF;

typedef union
  {
  struct
    {
    unsigned SSP1BUF0           : 1;
    unsigned SSP1BUF1           : 1;
    unsigned SSP1BUF2           : 1;
    unsigned SSP1BUF3           : 1;
    unsigned SSP1BUF4           : 1;
    unsigned SSP1BUF5           : 1;
    unsigned SSP1BUF6           : 1;
    unsigned SSP1BUF7           : 1;
    };

  struct
    {
    unsigned BUF0               : 1;
    unsigned BUF1               : 1;
    unsigned BUF2               : 1;
    unsigned BUF3               : 1;
    unsigned BUF4               : 1;
    unsigned BUF5               : 1;
    unsigned BUF6               : 1;
    unsigned BUF7               : 1;
    };
  } __SSPBUFbits_t;

extern __at(0x0211) volatile __SSPBUFbits_t SSPBUFbits;

#define _SSPBUF_SSP1BUF0        0x01
#define _SSPBUF_BUF0            0x01
#define _SSPBUF_SSP1BUF1        0x02
#define _SSPBUF_BUF1            0x02
#define _SSPBUF_SSP1BUF2        0x04
#define _SSPBUF_BUF2            0x04
#define _SSPBUF_SSP1BUF3        0x08
#define _SSPBUF_BUF3            0x08
#define _SSPBUF_SSP1BUF4        0x10
#define _SSPBUF_BUF4            0x10
#define _SSPBUF_SSP1BUF5        0x20
#define _SSPBUF_BUF5            0x20
#define _SSPBUF_SSP1BUF6        0x40
#define _SSPBUF_BUF6            0x40
#define _SSPBUF_SSP1BUF7        0x80
#define _SSPBUF_BUF7            0x80

//==============================================================================


//==============================================================================
//        SSP1ADD Bits

extern __at(0x0212) __sfr SSP1ADD;

typedef union
  {
  struct
    {
    unsigned SSP1ADD0           : 1;
    unsigned SSP1ADD1           : 1;
    unsigned SSP1ADD2           : 1;
    unsigned SSP1ADD3           : 1;
    unsigned SSP1ADD4           : 1;
    unsigned SSP1ADD5           : 1;
    unsigned SSP1ADD6           : 1;
    unsigned SSP1ADD7           : 1;
    };

  struct
    {
    unsigned ADD0               : 1;
    unsigned ADD1               : 1;
    unsigned ADD2               : 1;
    unsigned ADD3               : 1;
    unsigned ADD4               : 1;
    unsigned ADD5               : 1;
    unsigned ADD6               : 1;
    unsigned ADD7               : 1;
    };
  } __SSP1ADDbits_t;

extern __at(0x0212) volatile __SSP1ADDbits_t SSP1ADDbits;

#define _SSP1ADD0               0x01
#define _ADD0                   0x01
#define _SSP1ADD1               0x02
#define _ADD1                   0x02
#define _SSP1ADD2               0x04
#define _ADD2                   0x04
#define _SSP1ADD3               0x08
#define _ADD3                   0x08
#define _SSP1ADD4               0x10
#define _ADD4                   0x10
#define _SSP1ADD5               0x20
#define _ADD5                   0x20
#define _SSP1ADD6               0x40
#define _ADD6                   0x40
#define _SSP1ADD7               0x80
#define _ADD7                   0x80

//==============================================================================


//==============================================================================
//        SSPADD Bits

extern __at(0x0212) __sfr SSPADD;

typedef union
  {
  struct
    {
    unsigned SSP1ADD0           : 1;
    unsigned SSP1ADD1           : 1;
    unsigned SSP1ADD2           : 1;
    unsigned SSP1ADD3           : 1;
    unsigned SSP1ADD4           : 1;
    unsigned SSP1ADD5           : 1;
    unsigned SSP1ADD6           : 1;
    unsigned SSP1ADD7           : 1;
    };

  struct
    {
    unsigned ADD0               : 1;
    unsigned ADD1               : 1;
    unsigned ADD2               : 1;
    unsigned ADD3               : 1;
    unsigned ADD4               : 1;
    unsigned ADD5               : 1;
    unsigned ADD6               : 1;
    unsigned ADD7               : 1;
    };
  } __SSPADDbits_t;

extern __at(0x0212) volatile __SSPADDbits_t SSPADDbits;

#define _SSPADD_SSP1ADD0        0x01
#define _SSPADD_ADD0            0x01
#define _SSPADD_SSP1ADD1        0x02
#define _SSPADD_ADD1            0x02
#define _SSPADD_SSP1ADD2        0x04
#define _SSPADD_ADD2            0x04
#define _SSPADD_SSP1ADD3        0x08
#define _SSPADD_ADD3            0x08
#define _SSPADD_SSP1ADD4        0x10
#define _SSPADD_ADD4            0x10
#define _SSPADD_SSP1ADD5        0x20
#define _SSPADD_ADD5            0x20
#define _SSPADD_SSP1ADD6        0x40
#define _SSPADD_ADD6            0x40
#define _SSPADD_SSP1ADD7        0x80
#define _SSPADD_ADD7            0x80

//==============================================================================


//==============================================================================
//        SSP1MSK Bits

extern __at(0x0213) __sfr SSP1MSK;

typedef union
  {
  struct
    {
    unsigned SSP1MSK0           : 1;
    unsigned SSP1MSK1           : 1;
    unsigned SSP1MSK2           : 1;
    unsigned SSP1MSK3           : 1;
    unsigned SSP1MSK4           : 1;
    unsigned SSP1MSK5           : 1;
    unsigned SSP1MSK6           : 1;
    unsigned SSP1MSK7           : 1;
    };

  struct
    {
    unsigned MSK0               : 1;
    unsigned MSK1               : 1;
    unsigned MSK2               : 1;
    unsigned MSK3               : 1;
    unsigned MSK4               : 1;
    unsigned MSK5               : 1;
    unsigned MSK6               : 1;
    unsigned MSK7               : 1;
    };
  } __SSP1MSKbits_t;

extern __at(0x0213) volatile __SSP1MSKbits_t SSP1MSKbits;

#define _SSP1MSK0               0x01
#define _MSK0                   0x01
#define _SSP1MSK1               0x02
#define _MSK1                   0x02
#define _SSP1MSK2               0x04
#define _MSK2                   0x04
#define _SSP1MSK3               0x08
#define _MSK3                   0x08
#define _SSP1MSK4               0x10
#define _MSK4                   0x10
#define _SSP1MSK5               0x20
#define _MSK5                   0x20
#define _SSP1MSK6               0x40
#define _MSK6                   0x40
#define _SSP1MSK7               0x80
#define _MSK7                   0x80

//==============================================================================


//==============================================================================
//        SSPMSK Bits

extern __at(0x0213) __sfr SSPMSK;

typedef union
  {
  struct
    {
    unsigned SSP1MSK0           : 1;
    unsigned SSP1MSK1           : 1;
    unsigned SSP1MSK2           : 1;
    unsigned SSP1MSK3           : 1;
    unsigned SSP1MSK4           : 1;
    unsigned SSP1MSK5           : 1;
    unsigned SSP1MSK6           : 1;
    unsigned SSP1MSK7           : 1;
    };

  struct
    {
    unsigned MSK0               : 1;
    unsigned MSK1               : 1;
    unsigned MSK2               : 1;
    unsigned MSK3               : 1;
    unsigned MSK4               : 1;
    unsigned MSK5               : 1;
    unsigned MSK6               : 1;
    unsigned MSK7               : 1;
    };
  } __SSPMSKbits_t;

extern __at(0x0213) volatile __SSPMSKbits_t SSPMSKbits;

#define _SSPMSK_SSP1MSK0        0x01
#define _SSPMSK_MSK0            0x01
#define _SSPMSK_SSP1MSK1        0x02
#define _SSPMSK_MSK1            0x02
#define _SSPMSK_SSP1MSK2        0x04
#define _SSPMSK_MSK2            0x04
#define _SSPMSK_SSP1MSK3        0x08
#define _SSPMSK_MSK3            0x08
#define _SSPMSK_SSP1MSK4        0x10
#define _SSPMSK_MSK4            0x10
#define _SSPMSK_SSP1MSK5        0x20
#define _SSPMSK_MSK5            0x20
#define _SSPMSK_SSP1MSK6        0x40
#define _SSPMSK_MSK6            0x40
#define _SSPMSK_SSP1MSK7        0x80
#define _SSPMSK_MSK7            0x80

//==============================================================================


//==============================================================================
//        SSP1STAT Bits

extern __at(0x0214) __sfr SSP1STAT;

typedef struct
  {
  unsigned BF                   : 1;
  unsigned UA                   : 1;
  unsigned R_NOT_W              : 1;
  unsigned S                    : 1;
  unsigned P                    : 1;
  unsigned D_NOT_A              : 1;
  unsigned CKE                  : 1;
  unsigned SMP                  : 1;
  } __SSP1STATbits_t;

extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits;

#define _BF                     0x01
#define _UA                     0x02
#define _R_NOT_W                0x04
#define _S                      0x08
#define _P                      0x10
#define _D_NOT_A                0x20
#define _CKE                    0x40
#define _SMP                    0x80

//==============================================================================


//==============================================================================
//        SSPSTAT Bits

extern __at(0x0214) __sfr SSPSTAT;

typedef struct
  {
  unsigned BF                   : 1;
  unsigned UA                   : 1;
  unsigned R_NOT_W              : 1;
  unsigned S                    : 1;
  unsigned P                    : 1;
  unsigned D_NOT_A              : 1;
  unsigned CKE                  : 1;
  unsigned SMP                  : 1;
  } __SSPSTATbits_t;

extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits;

#define _SSPSTAT_BF             0x01
#define _SSPSTAT_UA             0x02
#define _SSPSTAT_R_NOT_W        0x04
#define _SSPSTAT_S              0x08
#define _SSPSTAT_P              0x10
#define _SSPSTAT_D_NOT_A        0x20
#define _SSPSTAT_CKE            0x40
#define _SSPSTAT_SMP            0x80

//==============================================================================


//==============================================================================
//        SSP1CON Bits

extern __at(0x0215) __sfr SSP1CON;

typedef union
  {
  struct
    {
    unsigned SSPM0              : 1;
    unsigned SSPM1              : 1;
    unsigned SSPM2              : 1;
    unsigned SSPM3              : 1;
    unsigned CKP                : 1;
    unsigned SSPEN              : 1;
    unsigned SSPOV              : 1;
    unsigned WCOL               : 1;
    };

  struct
    {
    unsigned SSPM               : 4;
    unsigned                    : 4;
    };
  } __SSP1CONbits_t;

extern __at(0x0215) volatile __SSP1CONbits_t SSP1CONbits;

#define _SSPM0                  0x01
#define _SSPM1                  0x02
#define _SSPM2                  0x04
#define _SSPM3                  0x08
#define _CKP                    0x10
#define _SSPEN                  0x20
#define _SSPOV                  0x40
#define _WCOL                   0x80

//==============================================================================


//==============================================================================
//        SSP1CON1 Bits

extern __at(0x0215) __sfr SSP1CON1;

typedef union
  {
  struct
    {
    unsigned SSPM0              : 1;
    unsigned SSPM1              : 1;
    unsigned SSPM2              : 1;
    unsigned SSPM3              : 1;
    unsigned CKP                : 1;
    unsigned SSPEN              : 1;
    unsigned SSPOV              : 1;
    unsigned WCOL               : 1;
    };

  struct
    {
    unsigned SSPM               : 4;
    unsigned                    : 4;
    };
  } __SSP1CON1bits_t;

extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits;

#define _SSP1CON1_SSPM0         0x01
#define _SSP1CON1_SSPM1         0x02
#define _SSP1CON1_SSPM2         0x04
#define _SSP1CON1_SSPM3         0x08
#define _SSP1CON1_CKP           0x10
#define _SSP1CON1_SSPEN         0x20
#define _SSP1CON1_SSPOV         0x40
#define _SSP1CON1_WCOL          0x80

//==============================================================================


//==============================================================================
//        SSPCON Bits

extern __at(0x0215) __sfr SSPCON;

typedef union
  {
  struct
    {
    unsigned SSPM0              : 1;
    unsigned SSPM1              : 1;
    unsigned SSPM2              : 1;
    unsigned SSPM3              : 1;
    unsigned CKP                : 1;
    unsigned SSPEN              : 1;
    unsigned SSPOV              : 1;
    unsigned WCOL               : 1;
    };

  struct
    {
    unsigned SSPM               : 4;
    unsigned                    : 4;
    };
  } __SSPCONbits_t;

extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits;

#define _SSPCON_SSPM0           0x01
#define _SSPCON_SSPM1           0x02
#define _SSPCON_SSPM2           0x04
#define _SSPCON_SSPM3           0x08
#define _SSPCON_CKP             0x10
#define _SSPCON_SSPEN           0x20
#define _SSPCON_SSPOV           0x40
#define _SSPCON_WCOL            0x80

//==============================================================================


//==============================================================================
//        SSPCON1 Bits

extern __at(0x0215) __sfr SSPCON1;

typedef union
  {
  struct
    {
    unsigned SSPM0              : 1;
    unsigned SSPM1              : 1;
    unsigned SSPM2              : 1;
    unsigned SSPM3              : 1;
    unsigned CKP                : 1;
    unsigned SSPEN              : 1;
    unsigned SSPOV              : 1;
    unsigned WCOL               : 1;
    };

  struct
    {
    unsigned SSPM               : 4;
    unsigned                    : 4;
    };
  } __SSPCON1bits_t;

extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits;

#define _SSPCON1_SSPM0          0x01
#define _SSPCON1_SSPM1          0x02
#define _SSPCON1_SSPM2          0x04
#define _SSPCON1_SSPM3          0x08
#define _SSPCON1_CKP            0x10
#define _SSPCON1_SSPEN          0x20
#define _SSPCON1_SSPOV          0x40
#define _SSPCON1_WCOL           0x80

//==============================================================================


//==============================================================================
//        SSP1CON2 Bits

extern __at(0x0216) __sfr SSP1CON2;

typedef struct
  {
  unsigned SEN                  : 1;
  unsigned RSEN                 : 1;
  unsigned PEN                  : 1;
  unsigned RCEN                 : 1;
  unsigned ACKEN                : 1;
  unsigned ACKDT                : 1;
  unsigned ACKSTAT              : 1;
  unsigned GCEN                 : 1;
  } __SSP1CON2bits_t;

extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits;

#define _SEN                    0x01
#define _RSEN                   0x02
#define _PEN                    0x04
#define _RCEN                   0x08
#define _ACKEN                  0x10
#define _ACKDT                  0x20
#define _ACKSTAT                0x40
#define _GCEN                   0x80

//==============================================================================


//==============================================================================
//        SSPCON2 Bits

extern __at(0x0216) __sfr SSPCON2;

typedef struct
  {
  unsigned SEN                  : 1;
  unsigned RSEN                 : 1;
  unsigned PEN                  : 1;
  unsigned RCEN                 : 1;
  unsigned ACKEN                : 1;
  unsigned ACKDT                : 1;
  unsigned ACKSTAT              : 1;
  unsigned GCEN                 : 1;
  } __SSPCON2bits_t;

extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits;

#define _SSPCON2_SEN            0x01
#define _SSPCON2_RSEN           0x02
#define _SSPCON2_PEN            0x04
#define _SSPCON2_RCEN           0x08
#define _SSPCON2_ACKEN          0x10
#define _SSPCON2_ACKDT          0x20
#define _SSPCON2_ACKSTAT        0x40
#define _SSPCON2_GCEN           0x80

//==============================================================================


//==============================================================================
//        SSP1CON3 Bits

extern __at(0x0217) __sfr SSP1CON3;

typedef struct
  {
  unsigned DHEN                 : 1;
  unsigned AHEN                 : 1;
  unsigned SBCDE                : 1;
  unsigned SDAHT                : 1;
  unsigned BOEN                 : 1;
  unsigned SCIE                 : 1;
  unsigned PCIE                 : 1;
  unsigned ACKTIM               : 1;
  } __SSP1CON3bits_t;

extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits;

#define _DHEN                   0x01
#define _AHEN                   0x02
#define _SBCDE                  0x04
#define _SDAHT                  0x08
#define _BOEN                   0x10
#define _SCIE                   0x20
#define _PCIE                   0x40
#define _ACKTIM                 0x80

//==============================================================================


//==============================================================================
//        SSPCON3 Bits

extern __at(0x0217) __sfr SSPCON3;

typedef struct
  {
  unsigned DHEN                 : 1;
  unsigned AHEN                 : 1;
  unsigned SBCDE                : 1;
  unsigned SDAHT                : 1;
  unsigned BOEN                 : 1;
  unsigned SCIE                 : 1;
  unsigned PCIE                 : 1;
  unsigned ACKTIM               : 1;
  } __SSPCON3bits_t;

extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits;

#define _SSPCON3_DHEN           0x01
#define _SSPCON3_AHEN           0x02
#define _SSPCON3_SBCDE          0x04
#define _SSPCON3_SDAHT          0x08
#define _SSPCON3_BOEN           0x10
#define _SSPCON3_SCIE           0x20
#define _SSPCON3_PCIE           0x40
#define _SSPCON3_ACKTIM         0x80

//==============================================================================


//==============================================================================
//        MD3CON0 Bits

extern __at(0x021B) __sfr MD3CON0;

typedef union
  {
  struct
    {
    unsigned BIT                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPOL               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MD3BIT             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD3OPOL            : 1;
    unsigned MD3OUT             : 1;
    unsigned                    : 1;
    unsigned MD3EN              : 1;
    };
  } __MD3CON0bits_t;

extern __at(0x021B) volatile __MD3CON0bits_t MD3CON0bits;

#define _MD3CON0_BIT            0x01
#define _MD3CON0_MD3BIT         0x01
#define _MD3CON0_OPOL           0x10
#define _MD3CON0_MD3OPOL        0x10
#define _MD3CON0_OUT            0x20
#define _MD3CON0_MD3OUT         0x20
#define _MD3CON0_EN             0x80
#define _MD3CON0_MD3EN          0x80

//==============================================================================


//==============================================================================
//        MD3CON1 Bits

extern __at(0x021C) __sfr MD3CON1;

typedef union
  {
  struct
    {
    unsigned CLSYNC             : 1;
    unsigned CLPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CHSYNC             : 1;
    unsigned CHPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD3CLSYNC          : 1;
    unsigned MD3CLPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD3CHSYNC          : 1;
    unsigned MD3CHPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __MD3CON1bits_t;

extern __at(0x021C) volatile __MD3CON1bits_t MD3CON1bits;

#define _MD3CON1_CLSYNC         0x01
#define _MD3CON1_MD3CLSYNC      0x01
#define _MD3CON1_CLPOL          0x02
#define _MD3CON1_MD3CLPOL       0x02
#define _MD3CON1_CHSYNC         0x10
#define _MD3CON1_MD3CHSYNC      0x10
#define _MD3CON1_CHPOL          0x20
#define _MD3CON1_MD3CHPOL       0x20

//==============================================================================


//==============================================================================
//        MD3SRC Bits

extern __at(0x021D) __sfr MD3SRC;

typedef union
  {
  struct
    {
    unsigned MS0                : 1;
    unsigned MS1                : 1;
    unsigned MS2                : 1;
    unsigned MS3                : 1;
    unsigned MS4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD3MS0             : 1;
    unsigned MD3MS1             : 1;
    unsigned MD3MS2             : 1;
    unsigned MD3MS3             : 1;
    unsigned MD3MS4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MS                 : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MD3MS              : 5;
    unsigned                    : 3;
    };
  } __MD3SRCbits_t;

extern __at(0x021D) volatile __MD3SRCbits_t MD3SRCbits;

#define _MD3SRC_MS0             0x01
#define _MD3SRC_MD3MS0          0x01
#define _MD3SRC_MS1             0x02
#define _MD3SRC_MD3MS1          0x02
#define _MD3SRC_MS2             0x04
#define _MD3SRC_MD3MS2          0x04
#define _MD3SRC_MS3             0x08
#define _MD3SRC_MD3MS3          0x08
#define _MD3SRC_MS4             0x10
#define _MD3SRC_MD3MS4          0x10

//==============================================================================


//==============================================================================
//        MD3CARL Bits

extern __at(0x021E) __sfr MD3CARL;

typedef union
  {
  struct
    {
    unsigned CL0                : 1;
    unsigned CL1                : 1;
    unsigned CL2                : 1;
    unsigned CL3                : 1;
    unsigned CL4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD3CL0             : 1;
    unsigned MD3CL1             : 1;
    unsigned MD3CL2             : 1;
    unsigned MD3CL3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CL                 : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MD3CL              : 4;
    unsigned                    : 4;
    };
  } __MD3CARLbits_t;

extern __at(0x021E) volatile __MD3CARLbits_t MD3CARLbits;

#define _MD3CARL_CL0            0x01
#define _MD3CARL_MD3CL0         0x01
#define _MD3CARL_CL1            0x02
#define _MD3CARL_MD3CL1         0x02
#define _MD3CARL_CL2            0x04
#define _MD3CARL_MD3CL2         0x04
#define _MD3CARL_CL3            0x08
#define _MD3CARL_MD3CL3         0x08
#define _MD3CARL_CL4            0x10

//==============================================================================


//==============================================================================
//        MD3CARH Bits

extern __at(0x021F) __sfr MD3CARH;

typedef union
  {
  struct
    {
    unsigned CH0                : 1;
    unsigned CH1                : 1;
    unsigned CH2                : 1;
    unsigned CH3                : 1;
    unsigned CH4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD3CH0             : 1;
    unsigned MD3CH1             : 1;
    unsigned MD3CH2             : 1;
    unsigned MD3CH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD3CH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CH                 : 5;
    unsigned                    : 3;
    };
  } __MD3CARHbits_t;

extern __at(0x021F) volatile __MD3CARHbits_t MD3CARHbits;

#define _MD3CARH_CH0            0x01
#define _MD3CARH_MD3CH0         0x01
#define _MD3CARH_CH1            0x02
#define _MD3CARH_MD3CH1         0x02
#define _MD3CARH_CH2            0x04
#define _MD3CARH_MD3CH2         0x04
#define _MD3CARH_CH3            0x08
#define _MD3CARH_MD3CH3         0x08
#define _MD3CARH_CH4            0x10

//==============================================================================


//==============================================================================
//        ODCONA Bits

extern __at(0x028C) __sfr ODCONA;

typedef struct
  {
  unsigned ODA0                 : 1;
  unsigned ODA1                 : 1;
  unsigned ODA2                 : 1;
  unsigned ODA3                 : 1;
  unsigned ODA4                 : 1;
  unsigned ODA5                 : 1;
  unsigned ODA6                 : 1;
  unsigned ODA7                 : 1;
  } __ODCONAbits_t;

extern __at(0x028C) volatile __ODCONAbits_t ODCONAbits;

#define _ODA0                   0x01
#define _ODA1                   0x02
#define _ODA2                   0x04
#define _ODA3                   0x08
#define _ODA4                   0x10
#define _ODA5                   0x20
#define _ODA6                   0x40
#define _ODA7                   0x80

//==============================================================================


//==============================================================================
//        ODCONB Bits

extern __at(0x028D) __sfr ODCONB;

typedef struct
  {
  unsigned ODB0                 : 1;
  unsigned ODB1                 : 1;
  unsigned ODB2                 : 1;
  unsigned ODB3                 : 1;
  unsigned ODB4                 : 1;
  unsigned ODB5                 : 1;
  unsigned ODB6                 : 1;
  unsigned ODB7                 : 1;
  } __ODCONBbits_t;

extern __at(0x028D) volatile __ODCONBbits_t ODCONBbits;

#define _ODB0                   0x01
#define _ODB1                   0x02
#define _ODB2                   0x04
#define _ODB3                   0x08
#define _ODB4                   0x10
#define _ODB5                   0x20
#define _ODB6                   0x40
#define _ODB7                   0x80

//==============================================================================


//==============================================================================
//        ODCONC Bits

extern __at(0x028E) __sfr ODCONC;

typedef struct
  {
  unsigned ODC0                 : 1;
  unsigned ODC1                 : 1;
  unsigned ODC2                 : 1;
  unsigned ODC3                 : 1;
  unsigned ODC4                 : 1;
  unsigned ODC5                 : 1;
  unsigned ODC6                 : 1;
  unsigned ODC7                 : 1;
  } __ODCONCbits_t;

extern __at(0x028E) volatile __ODCONCbits_t ODCONCbits;

#define _ODC0                   0x01
#define _ODC1                   0x02
#define _ODC2                   0x04
#define _ODC3                   0x08
#define _ODC4                   0x10
#define _ODC5                   0x20
#define _ODC6                   0x40
#define _ODC7                   0x80

//==============================================================================


//==============================================================================
//        ODCOND Bits

extern __at(0x028F) __sfr ODCOND;

typedef struct
  {
  unsigned ODD0                 : 1;
  unsigned ODD1                 : 1;
  unsigned ODD2                 : 1;
  unsigned ODD3                 : 1;
  unsigned ODD4                 : 1;
  unsigned ODD5                 : 1;
  unsigned ODD6                 : 1;
  unsigned ODD7                 : 1;
  } __ODCONDbits_t;

extern __at(0x028F) volatile __ODCONDbits_t ODCONDbits;

#define _ODD0                   0x01
#define _ODD1                   0x02
#define _ODD2                   0x04
#define _ODD3                   0x08
#define _ODD4                   0x10
#define _ODD5                   0x20
#define _ODD6                   0x40
#define _ODD7                   0x80

//==============================================================================


//==============================================================================
//        ODCONE Bits

extern __at(0x0290) __sfr ODCONE;

typedef union
  {
  struct
    {
    unsigned ODE0               : 1;
    unsigned ODE1               : 1;
    unsigned ODE2               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned ODE                : 3;
    unsigned                    : 5;
    };
  } __ODCONEbits_t;

extern __at(0x0290) volatile __ODCONEbits_t ODCONEbits;

#define _ODE0                   0x01
#define _ODE1                   0x02
#define _ODE2                   0x04

//==============================================================================

extern __at(0x0291) __sfr CCPR1;
extern __at(0x0291) __sfr CCPR1L;
extern __at(0x0292) __sfr CCPR1H;

//==============================================================================
//        CCP1CON Bits

extern __at(0x0293) __sfr CCP1CON;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned FMT                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned CCP1MODE0          : 1;
    unsigned CCP1MODE1          : 1;
    unsigned CCP1MODE2          : 1;
    unsigned CCP1MODE3          : 1;
    unsigned CCP1FMT            : 1;
    unsigned CCP1OUT            : 1;
    unsigned                    : 1;
    unsigned CCP1EN             : 1;
    };

  struct
    {
    unsigned MODE               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CCP1MODE           : 4;
    unsigned                    : 4;
    };
  } __CCP1CONbits_t;

extern __at(0x0293) volatile __CCP1CONbits_t CCP1CONbits;

#define _MODE0                  0x01
#define _CCP1MODE0              0x01
#define _MODE1                  0x02
#define _CCP1MODE1              0x02
#define _MODE2                  0x04
#define _CCP1MODE2              0x04
#define _MODE3                  0x08
#define _CCP1MODE3              0x08
#define _FMT                    0x10
#define _CCP1FMT                0x10
#define _OUT                    0x20
#define _CCP1OUT                0x20
#define _EN                     0x80
#define _CCP1EN                 0x80

//==============================================================================


//==============================================================================
//        CCP1CAP Bits

extern __at(0x0294) __sfr CCP1CAP;

typedef union
  {
  struct
    {
    unsigned CTS0               : 1;
    unsigned CTS1               : 1;
    unsigned CTS2               : 1;
    unsigned CTS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP1CTS0           : 1;
    unsigned CCP1CTS1           : 1;
    unsigned CCP1CTS2           : 1;
    unsigned CCP1CTS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP1CTS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CTS                : 4;
    unsigned                    : 4;
    };
  } __CCP1CAPbits_t;

extern __at(0x0294) volatile __CCP1CAPbits_t CCP1CAPbits;

#define _CTS0                   0x01
#define _CCP1CTS0               0x01
#define _CTS1                   0x02
#define _CCP1CTS1               0x02
#define _CTS2                   0x04
#define _CCP1CTS2               0x04
#define _CTS3                   0x08
#define _CCP1CTS3               0x08

//==============================================================================

extern __at(0x0295) __sfr CCPR2;
extern __at(0x0295) __sfr CCPR2L;
extern __at(0x0296) __sfr CCPR2H;

//==============================================================================
//        CCP2CON Bits

extern __at(0x0297) __sfr CCP2CON;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned FMT                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned CCP2MODE0          : 1;
    unsigned CCP2MODE1          : 1;
    unsigned CCP2MODE2          : 1;
    unsigned CCP2MODE3          : 1;
    unsigned CCP2FMT            : 1;
    unsigned CCP2OUT            : 1;
    unsigned                    : 1;
    unsigned CCP2EN             : 1;
    };

  struct
    {
    unsigned CCP2MODE           : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned MODE               : 4;
    unsigned                    : 4;
    };
  } __CCP2CONbits_t;

extern __at(0x0297) volatile __CCP2CONbits_t CCP2CONbits;

#define _CCP2CON_MODE0          0x01
#define _CCP2CON_CCP2MODE0      0x01
#define _CCP2CON_MODE1          0x02
#define _CCP2CON_CCP2MODE1      0x02
#define _CCP2CON_MODE2          0x04
#define _CCP2CON_CCP2MODE2      0x04
#define _CCP2CON_MODE3          0x08
#define _CCP2CON_CCP2MODE3      0x08
#define _CCP2CON_FMT            0x10
#define _CCP2CON_CCP2FMT        0x10
#define _CCP2CON_OUT            0x20
#define _CCP2CON_CCP2OUT        0x20
#define _CCP2CON_EN             0x80
#define _CCP2CON_CCP2EN         0x80

//==============================================================================


//==============================================================================
//        CCP2CAP Bits

extern __at(0x0298) __sfr CCP2CAP;

typedef union
  {
  struct
    {
    unsigned CTS0               : 1;
    unsigned CTS1               : 1;
    unsigned CTS2               : 1;
    unsigned CTS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP2CTS0           : 1;
    unsigned CCP2CTS1           : 1;
    unsigned CCP2CTS2           : 1;
    unsigned CCP2CTS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP2CTS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CTS                : 4;
    unsigned                    : 4;
    };
  } __CCP2CAPbits_t;

extern __at(0x0298) volatile __CCP2CAPbits_t CCP2CAPbits;

#define _CCP2CAP_CTS0           0x01
#define _CCP2CAP_CCP2CTS0       0x01
#define _CCP2CAP_CTS1           0x02
#define _CCP2CAP_CCP2CTS1       0x02
#define _CCP2CAP_CTS2           0x04
#define _CCP2CAP_CCP2CTS2       0x04
#define _CCP2CAP_CTS3           0x08
#define _CCP2CAP_CCP2CTS3       0x08

//==============================================================================

extern __at(0x0299) __sfr CCPR7;
extern __at(0x0299) __sfr CCPR7L;
extern __at(0x029A) __sfr CCPR7H;

//==============================================================================
//        CCP7CON Bits

extern __at(0x029B) __sfr CCP7CON;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned FMT                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned CCP7MODE0          : 1;
    unsigned CCP7MODE1          : 1;
    unsigned CCP7MODE2          : 1;
    unsigned CCP7MODE3          : 1;
    unsigned CCP7FMT            : 1;
    unsigned CCP7OUT            : 1;
    unsigned                    : 1;
    unsigned CCP7EN             : 1;
    };

  struct
    {
    unsigned CCP7MODE           : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned MODE               : 4;
    unsigned                    : 4;
    };
  } __CCP7CONbits_t;

extern __at(0x029B) volatile __CCP7CONbits_t CCP7CONbits;

#define _CCP7CON_MODE0          0x01
#define _CCP7CON_CCP7MODE0      0x01
#define _CCP7CON_MODE1          0x02
#define _CCP7CON_CCP7MODE1      0x02
#define _CCP7CON_MODE2          0x04
#define _CCP7CON_CCP7MODE2      0x04
#define _CCP7CON_MODE3          0x08
#define _CCP7CON_CCP7MODE3      0x08
#define _CCP7CON_FMT            0x10
#define _CCP7CON_CCP7FMT        0x10
#define _CCP7CON_OUT            0x20
#define _CCP7CON_CCP7OUT        0x20
#define _CCP7CON_EN             0x80
#define _CCP7CON_CCP7EN         0x80

//==============================================================================


//==============================================================================
//        CCP7CAP Bits

extern __at(0x029C) __sfr CCP7CAP;

typedef union
  {
  struct
    {
    unsigned CTS0               : 1;
    unsigned CTS1               : 1;
    unsigned CTS2               : 1;
    unsigned CTS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP7CTS0           : 1;
    unsigned CCP7CTS1           : 1;
    unsigned CCP7CTS2           : 1;
    unsigned CCP7CTS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP7CTS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CTS                : 4;
    unsigned                    : 4;
    };
  } __CCP7CAPbits_t;

extern __at(0x029C) volatile __CCP7CAPbits_t CCP7CAPbits;

#define _CCP7CAP_CTS0           0x01
#define _CCP7CAP_CCP7CTS0       0x01
#define _CCP7CAP_CTS1           0x02
#define _CCP7CAP_CCP7CTS1       0x02
#define _CCP7CAP_CTS2           0x04
#define _CCP7CAP_CCP7CTS2       0x04
#define _CCP7CAP_CTS3           0x08
#define _CCP7CAP_CCP7CTS3       0x08

//==============================================================================


//==============================================================================
//        CCPTMRS1 Bits

extern __at(0x029E) __sfr CCPTMRS1;

typedef union
  {
  struct
    {
    unsigned C1TSEL0            : 1;
    unsigned C1TSEL1            : 1;
    unsigned C2TSEL0            : 1;
    unsigned C2TSEL1            : 1;
    unsigned C7TSEL0            : 1;
    unsigned C7TSEL1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C1TSEL             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned C2TSEL             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned C7TSEL             : 2;
    unsigned                    : 2;
    };
  } __CCPTMRS1bits_t;

extern __at(0x029E) volatile __CCPTMRS1bits_t CCPTMRS1bits;

#define _C1TSEL0                0x01
#define _C1TSEL1                0x02
#define _C2TSEL0                0x04
#define _C2TSEL1                0x08
#define _C7TSEL0                0x10
#define _C7TSEL1                0x20

//==============================================================================


//==============================================================================
//        CCPTMRS2 Bits

extern __at(0x029F) __sfr CCPTMRS2;

typedef union
  {
  struct
    {
    unsigned P3TSEL0            : 1;
    unsigned P3TSEL1            : 1;
    unsigned P4TSEL0            : 1;
    unsigned P4TSEL1            : 1;
    unsigned P9TSEL0            : 1;
    unsigned P9TSEL1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned P3TSEL             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned P4TSEL             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned P9TSEL             : 2;
    unsigned                    : 2;
    };
  } __CCPTMRS2bits_t;

extern __at(0x029F) volatile __CCPTMRS2bits_t CCPTMRS2bits;

#define _P3TSEL0                0x01
#define _P3TSEL1                0x02
#define _P4TSEL0                0x04
#define _P4TSEL1                0x08
#define _P9TSEL0                0x10
#define _P9TSEL1                0x20

//==============================================================================


//==============================================================================
//        SLRCONA Bits

extern __at(0x030C) __sfr SLRCONA;

typedef struct
  {
  unsigned SLRA0                : 1;
  unsigned SLRA1                : 1;
  unsigned SLRA2                : 1;
  unsigned SLRA3                : 1;
  unsigned SLRA4                : 1;
  unsigned SLRA5                : 1;
  unsigned SLRA6                : 1;
  unsigned SLRA7                : 1;
  } __SLRCONAbits_t;

extern __at(0x030C) volatile __SLRCONAbits_t SLRCONAbits;

#define _SLRA0                  0x01
#define _SLRA1                  0x02
#define _SLRA2                  0x04
#define _SLRA3                  0x08
#define _SLRA4                  0x10
#define _SLRA5                  0x20
#define _SLRA6                  0x40
#define _SLRA7                  0x80

//==============================================================================


//==============================================================================
//        SLRCONB Bits

extern __at(0x030D) __sfr SLRCONB;

typedef struct
  {
  unsigned SLRB0                : 1;
  unsigned SLRB1                : 1;
  unsigned SLRB2                : 1;
  unsigned SLRB3                : 1;
  unsigned SLRB4                : 1;
  unsigned SLRB5                : 1;
  unsigned SLRB6                : 1;
  unsigned SLRB7                : 1;
  } __SLRCONBbits_t;

extern __at(0x030D) volatile __SLRCONBbits_t SLRCONBbits;

#define _SLRB0                  0x01
#define _SLRB1                  0x02
#define _SLRB2                  0x04
#define _SLRB3                  0x08
#define _SLRB4                  0x10
#define _SLRB5                  0x20
#define _SLRB6                  0x40
#define _SLRB7                  0x80

//==============================================================================


//==============================================================================
//        SLRCONC Bits

extern __at(0x030E) __sfr SLRCONC;

typedef struct
  {
  unsigned SLRC0                : 1;
  unsigned SLRC1                : 1;
  unsigned SLRC2                : 1;
  unsigned SLRC3                : 1;
  unsigned SLRC4                : 1;
  unsigned SLRC5                : 1;
  unsigned SLRC6                : 1;
  unsigned SLRC7                : 1;
  } __SLRCONCbits_t;

extern __at(0x030E) volatile __SLRCONCbits_t SLRCONCbits;

#define _SLRC0                  0x01
#define _SLRC1                  0x02
#define _SLRC2                  0x04
#define _SLRC3                  0x08
#define _SLRC4                  0x10
#define _SLRC5                  0x20
#define _SLRC6                  0x40
#define _SLRC7                  0x80

//==============================================================================


//==============================================================================
//        SLRCOND Bits

extern __at(0x030F) __sfr SLRCOND;

typedef struct
  {
  unsigned SLRD0                : 1;
  unsigned SLRD1                : 1;
  unsigned SLRD2                : 1;
  unsigned SLRD3                : 1;
  unsigned SLRD4                : 1;
  unsigned SLRD5                : 1;
  unsigned SLRD6                : 1;
  unsigned SLRD7                : 1;
  } __SLRCONDbits_t;

extern __at(0x030F) volatile __SLRCONDbits_t SLRCONDbits;

#define _SLRD0                  0x01
#define _SLRD1                  0x02
#define _SLRD2                  0x04
#define _SLRD3                  0x08
#define _SLRD4                  0x10
#define _SLRD5                  0x20
#define _SLRD6                  0x40
#define _SLRD7                  0x80

//==============================================================================


//==============================================================================
//        SLRCONE Bits

extern __at(0x0310) __sfr SLRCONE;

typedef union
  {
  struct
    {
    unsigned SLRE0              : 1;
    unsigned SLRE1              : 1;
    unsigned SLRE2              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned SLRE               : 3;
    unsigned                    : 5;
    };
  } __SLRCONEbits_t;

extern __at(0x0310) volatile __SLRCONEbits_t SLRCONEbits;

#define _SLRE0                  0x01
#define _SLRE1                  0x02
#define _SLRE2                  0x04

//==============================================================================

extern __at(0x0311) __sfr CCPR8;
extern __at(0x0311) __sfr CCPR8L;
extern __at(0x0312) __sfr CCPR8H;

//==============================================================================
//        CCP8CON Bits

extern __at(0x0313) __sfr CCP8CON;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned FMT                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned CCP8MODE0          : 1;
    unsigned CCP8MODE1          : 1;
    unsigned CCP8MODE2          : 1;
    unsigned CCP8MODE3          : 1;
    unsigned CCP8FMT            : 1;
    unsigned CCP8OUT            : 1;
    unsigned                    : 1;
    unsigned CCP8EN             : 1;
    };

  struct
    {
    unsigned MODE               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CCP8MODE           : 4;
    unsigned                    : 4;
    };
  } __CCP8CONbits_t;

extern __at(0x0313) volatile __CCP8CONbits_t CCP8CONbits;

#define _CCP8CON_MODE0          0x01
#define _CCP8CON_CCP8MODE0      0x01
#define _CCP8CON_MODE1          0x02
#define _CCP8CON_CCP8MODE1      0x02
#define _CCP8CON_MODE2          0x04
#define _CCP8CON_CCP8MODE2      0x04
#define _CCP8CON_MODE3          0x08
#define _CCP8CON_CCP8MODE3      0x08
#define _CCP8CON_FMT            0x10
#define _CCP8CON_CCP8FMT        0x10
#define _CCP8CON_OUT            0x20
#define _CCP8CON_CCP8OUT        0x20
#define _CCP8CON_EN             0x80
#define _CCP8CON_CCP8EN         0x80

//==============================================================================


//==============================================================================
//        CCP8CAP Bits

extern __at(0x0314) __sfr CCP8CAP;

typedef union
  {
  struct
    {
    unsigned CTS0               : 1;
    unsigned CTS1               : 1;
    unsigned CTS2               : 1;
    unsigned CTS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CCP8CTS0           : 1;
    unsigned CCP8CTS1           : 1;
    unsigned CCP8CTS2           : 1;
    unsigned CCP8CTS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CTS                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CCP8CTS            : 4;
    unsigned                    : 4;
    };
  } __CCP8CAPbits_t;

extern __at(0x0314) volatile __CCP8CAPbits_t CCP8CAPbits;

#define _CCP8CAP_CTS0           0x01
#define _CCP8CAP_CCP8CTS0       0x01
#define _CCP8CAP_CTS1           0x02
#define _CCP8CAP_CCP8CTS1       0x02
#define _CCP8CAP_CTS2           0x04
#define _CCP8CAP_CCP8CTS2       0x04
#define _CCP8CAP_CTS3           0x08
#define _CCP8CAP_CCP8CTS3       0x08

//==============================================================================


//==============================================================================
//        MD1CON0 Bits

extern __at(0x0315) __sfr MD1CON0;

typedef union
  {
  struct
    {
    unsigned BIT                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPOL               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MD1BIT             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD1OPOL            : 1;
    unsigned MD1OUT             : 1;
    unsigned                    : 1;
    unsigned MD1EN              : 1;
    };
  } __MD1CON0bits_t;

extern __at(0x0315) volatile __MD1CON0bits_t MD1CON0bits;

#define _MD1CON0_BIT            0x01
#define _MD1CON0_MD1BIT         0x01
#define _MD1CON0_OPOL           0x10
#define _MD1CON0_MD1OPOL        0x10
#define _MD1CON0_OUT            0x20
#define _MD1CON0_MD1OUT         0x20
#define _MD1CON0_EN             0x80
#define _MD1CON0_MD1EN          0x80

//==============================================================================


//==============================================================================
//        MD1CON1 Bits

extern __at(0x0316) __sfr MD1CON1;

typedef union
  {
  struct
    {
    unsigned CLSYNC             : 1;
    unsigned CLPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CHSYNC             : 1;
    unsigned CHPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD1CLSYNC          : 1;
    unsigned MD1CLPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD1CHSYNC          : 1;
    unsigned MD1CHPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __MD1CON1bits_t;

extern __at(0x0316) volatile __MD1CON1bits_t MD1CON1bits;

#define _CLSYNC                 0x01
#define _MD1CLSYNC              0x01
#define _CLPOL                  0x02
#define _MD1CLPOL               0x02
#define _CHSYNC                 0x10
#define _MD1CHSYNC              0x10
#define _CHPOL                  0x20
#define _MD1CHPOL               0x20

//==============================================================================


//==============================================================================
//        MD1SRC Bits

extern __at(0x0317) __sfr MD1SRC;

typedef union
  {
  struct
    {
    unsigned MS0                : 1;
    unsigned MS1                : 1;
    unsigned MS2                : 1;
    unsigned MS3                : 1;
    unsigned MS4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD1MS0             : 1;
    unsigned MD1MS1             : 1;
    unsigned MD1MS2             : 1;
    unsigned MD1MS3             : 1;
    unsigned MD1MS4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD1MS              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MS                 : 5;
    unsigned                    : 3;
    };
  } __MD1SRCbits_t;

extern __at(0x0317) volatile __MD1SRCbits_t MD1SRCbits;

#define _MS0                    0x01
#define _MD1MS0                 0x01
#define _MS1                    0x02
#define _MD1MS1                 0x02
#define _MS2                    0x04
#define _MD1MS2                 0x04
#define _MS3                    0x08
#define _MD1MS3                 0x08
#define _MS4                    0x10
#define _MD1MS4                 0x10

//==============================================================================


//==============================================================================
//        MD1CARL Bits

extern __at(0x0318) __sfr MD1CARL;

typedef union
  {
  struct
    {
    unsigned CL0                : 1;
    unsigned CL1                : 1;
    unsigned CL2                : 1;
    unsigned CL3                : 1;
    unsigned CL4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD1CL0             : 1;
    unsigned MD1CL1             : 1;
    unsigned MD1CL2             : 1;
    unsigned MD1CL3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CL                 : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MD1CL              : 4;
    unsigned                    : 4;
    };
  } __MD1CARLbits_t;

extern __at(0x0318) volatile __MD1CARLbits_t MD1CARLbits;

#define _CL0                    0x01
#define _MD1CL0                 0x01
#define _CL1                    0x02
#define _MD1CL1                 0x02
#define _CL2                    0x04
#define _MD1CL2                 0x04
#define _CL3                    0x08
#define _MD1CL3                 0x08
#define _CL4                    0x10

//==============================================================================


//==============================================================================
//        MD1CARH Bits

extern __at(0x0319) __sfr MD1CARH;

typedef union
  {
  struct
    {
    unsigned CH0                : 1;
    unsigned CH1                : 1;
    unsigned CH2                : 1;
    unsigned CH3                : 1;
    unsigned CH4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD1CH0             : 1;
    unsigned MD1CH1             : 1;
    unsigned MD1CH2             : 1;
    unsigned MD1CH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CH                 : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MD1CH              : 4;
    unsigned                    : 4;
    };
  } __MD1CARHbits_t;

extern __at(0x0319) volatile __MD1CARHbits_t MD1CARHbits;

#define _CH0                    0x01
#define _MD1CH0                 0x01
#define _CH1                    0x02
#define _MD1CH1                 0x02
#define _CH2                    0x04
#define _MD1CH2                 0x04
#define _CH3                    0x08
#define _MD1CH3                 0x08
#define _CH4                    0x10

//==============================================================================


//==============================================================================
//        MD2CON0 Bits

extern __at(0x031B) __sfr MD2CON0;

typedef union
  {
  struct
    {
    unsigned BIT                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPOL               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MD2BIT             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD2OPOL            : 1;
    unsigned MD2OUT             : 1;
    unsigned                    : 1;
    unsigned MD2EN              : 1;
    };
  } __MD2CON0bits_t;

extern __at(0x031B) volatile __MD2CON0bits_t MD2CON0bits;

#define _MD2CON0_BIT            0x01
#define _MD2CON0_MD2BIT         0x01
#define _MD2CON0_OPOL           0x10
#define _MD2CON0_MD2OPOL        0x10
#define _MD2CON0_OUT            0x20
#define _MD2CON0_MD2OUT         0x20
#define _MD2CON0_EN             0x80
#define _MD2CON0_MD2EN          0x80

//==============================================================================


//==============================================================================
//        MD2CON1 Bits

extern __at(0x031C) __sfr MD2CON1;

typedef union
  {
  struct
    {
    unsigned CLSYNC             : 1;
    unsigned CLPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CHSYNC             : 1;
    unsigned CHPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2CLSYNC          : 1;
    unsigned MD2CLPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD2CHSYNC          : 1;
    unsigned MD2CHPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __MD2CON1bits_t;

extern __at(0x031C) volatile __MD2CON1bits_t MD2CON1bits;

#define _MD2CON1_CLSYNC         0x01
#define _MD2CON1_MD2CLSYNC      0x01
#define _MD2CON1_CLPOL          0x02
#define _MD2CON1_MD2CLPOL       0x02
#define _MD2CON1_CHSYNC         0x10
#define _MD2CON1_MD2CHSYNC      0x10
#define _MD2CON1_CHPOL          0x20
#define _MD2CON1_MD2CHPOL       0x20

//==============================================================================


//==============================================================================
//        MD2SRC Bits

extern __at(0x031D) __sfr MD2SRC;

typedef union
  {
  struct
    {
    unsigned MS0                : 1;
    unsigned MS1                : 1;
    unsigned MS2                : 1;
    unsigned MS3                : 1;
    unsigned MS4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2MS0             : 1;
    unsigned MD2MS1             : 1;
    unsigned MD2MS2             : 1;
    unsigned MD2MS3             : 1;
    unsigned MD2MS4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2MS              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MS                 : 5;
    unsigned                    : 3;
    };
  } __MD2SRCbits_t;

extern __at(0x031D) volatile __MD2SRCbits_t MD2SRCbits;

#define _MD2SRC_MS0             0x01
#define _MD2SRC_MD2MS0          0x01
#define _MD2SRC_MS1             0x02
#define _MD2SRC_MD2MS1          0x02
#define _MD2SRC_MS2             0x04
#define _MD2SRC_MD2MS2          0x04
#define _MD2SRC_MS3             0x08
#define _MD2SRC_MD2MS3          0x08
#define _MD2SRC_MS4             0x10
#define _MD2SRC_MD2MS4          0x10

//==============================================================================


//==============================================================================
//        MD2CARL Bits

extern __at(0x031E) __sfr MD2CARL;

typedef union
  {
  struct
    {
    unsigned CL0                : 1;
    unsigned CL1                : 1;
    unsigned CL2                : 1;
    unsigned CL3                : 1;
    unsigned CL4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2CL0             : 1;
    unsigned MD2CL1             : 1;
    unsigned MD2CL2             : 1;
    unsigned MD2CL3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2CL              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CL                 : 5;
    unsigned                    : 3;
    };
  } __MD2CARLbits_t;

extern __at(0x031E) volatile __MD2CARLbits_t MD2CARLbits;

#define _MD2CARL_CL0            0x01
#define _MD2CARL_MD2CL0         0x01
#define _MD2CARL_CL1            0x02
#define _MD2CARL_MD2CL1         0x02
#define _MD2CARL_CL2            0x04
#define _MD2CARL_MD2CL2         0x04
#define _MD2CARL_CL3            0x08
#define _MD2CARL_MD2CL3         0x08
#define _MD2CARL_CL4            0x10

//==============================================================================


//==============================================================================
//        MD2CARH Bits

extern __at(0x031F) __sfr MD2CARH;

typedef union
  {
  struct
    {
    unsigned CH0                : 1;
    unsigned CH1                : 1;
    unsigned CH2                : 1;
    unsigned CH3                : 1;
    unsigned CH4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2CH0             : 1;
    unsigned MD2CH1             : 1;
    unsigned MD2CH2             : 1;
    unsigned MD2CH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD2CH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CH                 : 5;
    unsigned                    : 3;
    };
  } __MD2CARHbits_t;

extern __at(0x031F) volatile __MD2CARHbits_t MD2CARHbits;

#define _MD2CARH_CH0            0x01
#define _MD2CARH_MD2CH0         0x01
#define _MD2CARH_CH1            0x02
#define _MD2CARH_MD2CH1         0x02
#define _MD2CARH_CH2            0x04
#define _MD2CARH_MD2CH2         0x04
#define _MD2CARH_CH3            0x08
#define _MD2CARH_MD2CH3         0x08
#define _MD2CARH_CH4            0x10

//==============================================================================


//==============================================================================
//        INLVLA Bits

extern __at(0x038C) __sfr INLVLA;

typedef union
  {
  struct
    {
    unsigned INLVLA0            : 1;
    unsigned INLVLA1            : 1;
    unsigned INLVLA2            : 1;
    unsigned INLVLA3            : 1;
    unsigned INLVLA4            : 1;
    unsigned INLVLA5            : 1;
    unsigned INLVA6             : 1;
    unsigned INLVA7             : 1;
    };

  struct
    {
    unsigned INLVLA             : 6;
    unsigned                    : 2;
    };
  } __INLVLAbits_t;

extern __at(0x038C) volatile __INLVLAbits_t INLVLAbits;

#define _INLVLA0                0x01
#define _INLVLA1                0x02
#define _INLVLA2                0x04
#define _INLVLA3                0x08
#define _INLVLA4                0x10
#define _INLVLA5                0x20
#define _INLVA6                 0x40
#define _INLVA7                 0x80

//==============================================================================


//==============================================================================
//        INLVLB Bits

extern __at(0x038D) __sfr INLVLB;

typedef union
  {
  struct
    {
    unsigned INLVB0             : 1;
    unsigned INLVB1             : 1;
    unsigned INLVB2             : 1;
    unsigned INLVB3             : 1;
    unsigned INLVLB4            : 1;
    unsigned INLVLB5            : 1;
    unsigned INLVLB6            : 1;
    unsigned INLVLB7            : 1;
    };

  struct
    {
    unsigned INLVB              : 4;
    unsigned                    : 4;
    };
  } __INLVLBbits_t;

extern __at(0x038D) volatile __INLVLBbits_t INLVLBbits;

#define _INLVB0                 0x01
#define _INLVB1                 0x02
#define _INLVB2                 0x04
#define _INLVB3                 0x08
#define _INLVLB4                0x10
#define _INLVLB5                0x20
#define _INLVLB6                0x40
#define _INLVLB7                0x80

//==============================================================================


//==============================================================================
//        INLVLC Bits

extern __at(0x038E) __sfr INLVLC;

typedef struct
  {
  unsigned INLVLC0              : 1;
  unsigned INLVLC1              : 1;
  unsigned INLVLC2              : 1;
  unsigned INLVLC3              : 1;
  unsigned INLVLC4              : 1;
  unsigned INLVLC5              : 1;
  unsigned INLVLC6              : 1;
  unsigned INLVLC7              : 1;
  } __INLVLCbits_t;

extern __at(0x038E) volatile __INLVLCbits_t INLVLCbits;

#define _INLVLC0                0x01
#define _INLVLC1                0x02
#define _INLVLC2                0x04
#define _INLVLC3                0x08
#define _INLVLC4                0x10
#define _INLVLC5                0x20
#define _INLVLC6                0x40
#define _INLVLC7                0x80

//==============================================================================


//==============================================================================
//        INLVLD Bits

extern __at(0x038F) __sfr INLVLD;

typedef struct
  {
  unsigned INLVLD0              : 1;
  unsigned INLVLD1              : 1;
  unsigned INLVLD2              : 1;
  unsigned INLVLD3              : 1;
  unsigned INLVLD4              : 1;
  unsigned INLVLD5              : 1;
  unsigned INLVLD6              : 1;
  unsigned INLVLD7              : 1;
  } __INLVLDbits_t;

extern __at(0x038F) volatile __INLVLDbits_t INLVLDbits;

#define _INLVLD0                0x01
#define _INLVLD1                0x02
#define _INLVLD2                0x04
#define _INLVLD3                0x08
#define _INLVLD4                0x10
#define _INLVLD5                0x20
#define _INLVLD6                0x40
#define _INLVLD7                0x80

//==============================================================================


//==============================================================================
//        INLVE Bits

extern __at(0x0390) __sfr INLVE;

typedef union
  {
  struct
    {
    unsigned INLVE0             : 1;
    unsigned INLVE1             : 1;
    unsigned INLVE2             : 1;
    unsigned INLVE3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned INLVE              : 4;
    unsigned                    : 4;
    };
  } __INLVEbits_t;

extern __at(0x0390) volatile __INLVEbits_t INLVEbits;

#define _INLVE0                 0x01
#define _INLVE1                 0x02
#define _INLVE2                 0x04
#define _INLVE3                 0x08

//==============================================================================


//==============================================================================
//        IOCAP Bits

extern __at(0x0391) __sfr IOCAP;

typedef struct
  {
  unsigned IOCAP0               : 1;
  unsigned IOCAP1               : 1;
  unsigned IOCAP2               : 1;
  unsigned IOCAP3               : 1;
  unsigned IOCAP4               : 1;
  unsigned IOCAP5               : 1;
  unsigned IOCAP6               : 1;
  unsigned IOCAP7               : 1;
  } __IOCAPbits_t;

extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits;

#define _IOCAP0                 0x01
#define _IOCAP1                 0x02
#define _IOCAP2                 0x04
#define _IOCAP3                 0x08
#define _IOCAP4                 0x10
#define _IOCAP5                 0x20
#define _IOCAP6                 0x40
#define _IOCAP7                 0x80

//==============================================================================


//==============================================================================
//        IOCAN Bits

extern __at(0x0392) __sfr IOCAN;

typedef struct
  {
  unsigned IOCAN0               : 1;
  unsigned IOCAN1               : 1;
  unsigned IOCAN2               : 1;
  unsigned IOCAN3               : 1;
  unsigned IOCAN4               : 1;
  unsigned IOCAN5               : 1;
  unsigned IOCAN6               : 1;
  unsigned IOCAN7               : 1;
  } __IOCANbits_t;

extern __at(0x0392) volatile __IOCANbits_t IOCANbits;

#define _IOCAN0                 0x01
#define _IOCAN1                 0x02
#define _IOCAN2                 0x04
#define _IOCAN3                 0x08
#define _IOCAN4                 0x10
#define _IOCAN5                 0x20
#define _IOCAN6                 0x40
#define _IOCAN7                 0x80

//==============================================================================


//==============================================================================
//        IOCAF Bits

extern __at(0x0393) __sfr IOCAF;

typedef struct
  {
  unsigned IOCAF0               : 1;
  unsigned IOCAF1               : 1;
  unsigned IOCAF2               : 1;
  unsigned IOCAF3               : 1;
  unsigned IOCAF4               : 1;
  unsigned IOCAF5               : 1;
  unsigned IOCAF6               : 1;
  unsigned IOCAF7               : 1;
  } __IOCAFbits_t;

extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits;

#define _IOCAF0                 0x01
#define _IOCAF1                 0x02
#define _IOCAF2                 0x04
#define _IOCAF3                 0x08
#define _IOCAF4                 0x10
#define _IOCAF5                 0x20
#define _IOCAF6                 0x40
#define _IOCAF7                 0x80

//==============================================================================


//==============================================================================
//        IOCBP Bits

extern __at(0x0394) __sfr IOCBP;

typedef struct
  {
  unsigned IOCBP0               : 1;
  unsigned IOCBP1               : 1;
  unsigned IOCBP2               : 1;
  unsigned IOCBP3               : 1;
  unsigned IOCBP4               : 1;
  unsigned IOCBP5               : 1;
  unsigned IOCBP6               : 1;
  unsigned IOCBP7               : 1;
  } __IOCBPbits_t;

extern __at(0x0394) volatile __IOCBPbits_t IOCBPbits;

#define _IOCBP0                 0x01
#define _IOCBP1                 0x02
#define _IOCBP2                 0x04
#define _IOCBP3                 0x08
#define _IOCBP4                 0x10
#define _IOCBP5                 0x20
#define _IOCBP6                 0x40
#define _IOCBP7                 0x80

//==============================================================================


//==============================================================================
//        IOCBN Bits

extern __at(0x0395) __sfr IOCBN;

typedef struct
  {
  unsigned IOCBN0               : 1;
  unsigned IOCBN1               : 1;
  unsigned IOCBN2               : 1;
  unsigned IOCBN3               : 1;
  unsigned IOCBN4               : 1;
  unsigned IOCBN5               : 1;
  unsigned IOCBN6               : 1;
  unsigned IOCBN7               : 1;
  } __IOCBNbits_t;

extern __at(0x0395) volatile __IOCBNbits_t IOCBNbits;

#define _IOCBN0                 0x01
#define _IOCBN1                 0x02
#define _IOCBN2                 0x04
#define _IOCBN3                 0x08
#define _IOCBN4                 0x10
#define _IOCBN5                 0x20
#define _IOCBN6                 0x40
#define _IOCBN7                 0x80

//==============================================================================


//==============================================================================
//        IOCBF Bits

extern __at(0x0396) __sfr IOCBF;

typedef struct
  {
  unsigned IOCBF0               : 1;
  unsigned IOCBF1               : 1;
  unsigned IOCBF2               : 1;
  unsigned IOCBF3               : 1;
  unsigned IOCBF4               : 1;
  unsigned IOCBF5               : 1;
  unsigned IOCBF6               : 1;
  unsigned IOCBF7               : 1;
  } __IOCBFbits_t;

extern __at(0x0396) volatile __IOCBFbits_t IOCBFbits;

#define _IOCBF0                 0x01
#define _IOCBF1                 0x02
#define _IOCBF2                 0x04
#define _IOCBF3                 0x08
#define _IOCBF4                 0x10
#define _IOCBF5                 0x20
#define _IOCBF6                 0x40
#define _IOCBF7                 0x80

//==============================================================================


//==============================================================================
//        IOCCP Bits

extern __at(0x0397) __sfr IOCCP;

typedef struct
  {
  unsigned IOCCP0               : 1;
  unsigned IOCCP1               : 1;
  unsigned IOCCP2               : 1;
  unsigned IOCCP3               : 1;
  unsigned IOCCP4               : 1;
  unsigned IOCCP5               : 1;
  unsigned IOCCP6               : 1;
  unsigned IOCCP7               : 1;
  } __IOCCPbits_t;

extern __at(0x0397) volatile __IOCCPbits_t IOCCPbits;

#define _IOCCP0                 0x01
#define _IOCCP1                 0x02
#define _IOCCP2                 0x04
#define _IOCCP3                 0x08
#define _IOCCP4                 0x10
#define _IOCCP5                 0x20
#define _IOCCP6                 0x40
#define _IOCCP7                 0x80

//==============================================================================


//==============================================================================
//        IOCCN Bits

extern __at(0x0398) __sfr IOCCN;

typedef struct
  {
  unsigned IOCCN0               : 1;
  unsigned IOCCN1               : 1;
  unsigned IOCCN2               : 1;
  unsigned IOCCN3               : 1;
  unsigned IOCCN4               : 1;
  unsigned IOCCN5               : 1;
  unsigned IOCCN6               : 1;
  unsigned IOCCN7               : 1;
  } __IOCCNbits_t;

extern __at(0x0398) volatile __IOCCNbits_t IOCCNbits;

#define _IOCCN0                 0x01
#define _IOCCN1                 0x02
#define _IOCCN2                 0x04
#define _IOCCN3                 0x08
#define _IOCCN4                 0x10
#define _IOCCN5                 0x20
#define _IOCCN6                 0x40
#define _IOCCN7                 0x80

//==============================================================================


//==============================================================================
//        IOCCF Bits

extern __at(0x0399) __sfr IOCCF;

typedef struct
  {
  unsigned IOCCF0               : 1;
  unsigned IOCCF1               : 1;
  unsigned IOCCF2               : 1;
  unsigned IOCCF3               : 1;
  unsigned IOCCF4               : 1;
  unsigned IOCCF5               : 1;
  unsigned IOCCF6               : 1;
  unsigned IOCCF7               : 1;
  } __IOCCFbits_t;

extern __at(0x0399) volatile __IOCCFbits_t IOCCFbits;

#define _IOCCF0                 0x01
#define _IOCCF1                 0x02
#define _IOCCF2                 0x04
#define _IOCCF3                 0x08
#define _IOCCF4                 0x10
#define _IOCCF5                 0x20
#define _IOCCF6                 0x40
#define _IOCCF7                 0x80

//==============================================================================


//==============================================================================
//        IOCEP Bits

extern __at(0x039D) __sfr IOCEP;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned IOCEP3               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __IOCEPbits_t;

extern __at(0x039D) volatile __IOCEPbits_t IOCEPbits;

#define _IOCEP3                 0x08

//==============================================================================


//==============================================================================
//        IOCEN Bits

extern __at(0x039E) __sfr IOCEN;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned IOCEN3               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __IOCENbits_t;

extern __at(0x039E) volatile __IOCENbits_t IOCENbits;

#define _IOCEN3                 0x08

//==============================================================================


//==============================================================================
//        IOCEF Bits

extern __at(0x039F) __sfr IOCEF;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned IOCEF3               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __IOCEFbits_t;

extern __at(0x039F) volatile __IOCEFbits_t IOCEFbits;

#define _IOCEF3                 0x08

//==============================================================================


//==============================================================================
//        HIDRVB Bits

extern __at(0x040D) __sfr HIDRVB;

typedef union
  {
  struct
    {
    unsigned HIDB0              : 1;
    unsigned HIDB1              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned HIDB               : 2;
    unsigned                    : 6;
    };
  } __HIDRVBbits_t;

extern __at(0x040D) volatile __HIDRVBbits_t HIDRVBbits;

#define _HIDB0                  0x01
#define _HIDB1                  0x02

//==============================================================================

extern __at(0x040F) __sfr TMR5;
extern __at(0x040F) __sfr TMR5L;
extern __at(0x0410) __sfr TMR5H;

//==============================================================================
//        T5CON Bits

extern __at(0x0411) __sfr T5CON;

typedef union
  {
  struct
    {
    unsigned ON                 : 1;
    unsigned                    : 1;
    unsigned NOT_SYNC           : 1;
    unsigned OSCEN              : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    };

  struct
    {
    unsigned TMRON              : 1;
    unsigned                    : 1;
    unsigned SYNC               : 1;
    unsigned SOSCEN             : 1;
    unsigned T5CKPS0            : 1;
    unsigned T5CKPS1            : 1;
    unsigned T5CS0              : 1;
    unsigned T5CS1              : 1;
    };

  struct
    {
    unsigned TMR5ON             : 1;
    unsigned                    : 1;
    unsigned NOT_T5SYNC         : 1;
    unsigned T5OSCEN            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR5CS0            : 1;
    unsigned TMR5CS1            : 1;
    };

  struct
    {
    unsigned T5ON               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T5CKPS             : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned TMR5CS             : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned T5CS               : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned CS                 : 2;
    };
  } __T5CONbits_t;

extern __at(0x0411) volatile __T5CONbits_t T5CONbits;

#define _T5CON_ON               0x01
#define _T5CON_TMRON            0x01
#define _T5CON_TMR5ON           0x01
#define _T5CON_T5ON             0x01
#define _T5CON_NOT_SYNC         0x04
#define _T5CON_SYNC             0x04
#define _T5CON_NOT_T5SYNC       0x04
#define _T5CON_OSCEN            0x08
#define _T5CON_SOSCEN           0x08
#define _T5CON_T5OSCEN          0x08
#define _T5CON_CKPS0            0x10
#define _T5CON_T5CKPS0          0x10
#define _T5CON_CKPS1            0x20
#define _T5CON_T5CKPS1          0x20
#define _T5CON_CS0              0x40
#define _T5CON_T5CS0            0x40
#define _T5CON_TMR5CS0          0x40
#define _T5CON_CS1              0x80
#define _T5CON_T5CS1            0x80
#define _T5CON_TMR5CS1          0x80

//==============================================================================


//==============================================================================
//        T5GCON Bits

extern __at(0x0412) __sfr T5GCON;

typedef union
  {
  struct
    {
    unsigned GSS0               : 1;
    unsigned GSS1               : 1;
    unsigned GVAL               : 1;
    unsigned GGO_NOT_DONE       : 1;
    unsigned GSPM               : 1;
    unsigned GTM                : 1;
    unsigned GPOL               : 1;
    unsigned GE                 : 1;
    };

  struct
    {
    unsigned T5GSS0             : 1;
    unsigned T5GSS1             : 1;
    unsigned T5GVAL             : 1;
    unsigned T5GGO_NOT_DONE     : 1;
    unsigned T5GSPM             : 1;
    unsigned T5GTM              : 1;
    unsigned T5GPOL             : 1;
    unsigned T5GE               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR5GE             : 1;
    };

  struct
    {
    unsigned GSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned T5GSS              : 2;
    unsigned                    : 6;
    };
  } __T5GCONbits_t;

extern __at(0x0412) volatile __T5GCONbits_t T5GCONbits;

#define _T5GCON_GSS0            0x01
#define _T5GCON_T5GSS0          0x01
#define _T5GCON_GSS1            0x02
#define _T5GCON_T5GSS1          0x02
#define _T5GCON_GVAL            0x04
#define _T5GCON_T5GVAL          0x04
#define _T5GCON_GGO_NOT_DONE    0x08
#define _T5GCON_T5GGO_NOT_DONE  0x08
#define _T5GCON_GSPM            0x10
#define _T5GCON_T5GSPM          0x10
#define _T5GCON_GTM             0x20
#define _T5GCON_T5GTM           0x20
#define _T5GCON_GPOL            0x40
#define _T5GCON_T5GPOL          0x40
#define _T5GCON_GE              0x80
#define _T5GCON_T5GE            0x80
#define _T5GCON_TMR5GE          0x80

//==============================================================================

extern __at(0x0413) __sfr T4TMR;
extern __at(0x0413) __sfr TMR4;
extern __at(0x0414) __sfr PR4;
extern __at(0x0414) __sfr T4PR;

//==============================================================================
//        T4CON Bits

extern __at(0x0415) __sfr T4CON;

typedef union
  {
  struct
    {
    unsigned OUTPS0             : 1;
    unsigned OUTPS1             : 1;
    unsigned OUTPS2             : 1;
    unsigned OUTPS3             : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CKPS2              : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned T4OUTPS0           : 1;
    unsigned T4OUTPS1           : 1;
    unsigned T4OUTPS2           : 1;
    unsigned T4OUTPS3           : 1;
    unsigned T4CKPS0            : 1;
    unsigned T4CKPS1            : 1;
    unsigned T4CKPS2            : 1;
    unsigned T4ON               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR4ON             : 1;
    };

  struct
    {
    unsigned OUTPS              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T4OUTPS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T4CKPS             : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 3;
    unsigned                    : 1;
    };
  } __T4CONbits_t;

extern __at(0x0415) volatile __T4CONbits_t T4CONbits;

#define _T4CON_OUTPS0           0x01
#define _T4CON_T4OUTPS0         0x01
#define _T4CON_OUTPS1           0x02
#define _T4CON_T4OUTPS1         0x02
#define _T4CON_OUTPS2           0x04
#define _T4CON_T4OUTPS2         0x04
#define _T4CON_OUTPS3           0x08
#define _T4CON_T4OUTPS3         0x08
#define _T4CON_CKPS0            0x10
#define _T4CON_T4CKPS0          0x10
#define _T4CON_CKPS1            0x20
#define _T4CON_T4CKPS1          0x20
#define _T4CON_CKPS2            0x40
#define _T4CON_T4CKPS2          0x40
#define _T4CON_ON               0x80
#define _T4CON_T4ON             0x80
#define _T4CON_TMR4ON           0x80

//==============================================================================


//==============================================================================
//        T4HLT Bits

extern __at(0x0416) __sfr T4HLT;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned MODE4              : 1;
    unsigned CKSYNC             : 1;
    unsigned CKPOL              : 1;
    unsigned PSYNC              : 1;
    };

  struct
    {
    unsigned T4MODE0            : 1;
    unsigned T4MODE1            : 1;
    unsigned T4MODE2            : 1;
    unsigned T4MODE3            : 1;
    unsigned T4MODE4            : 1;
    unsigned T4CKSYNC           : 1;
    unsigned T4CKPOL            : 1;
    unsigned T4PSYNC            : 1;
    };

  struct
    {
    unsigned MODE               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T4MODE             : 5;
    unsigned                    : 3;
    };
  } __T4HLTbits_t;

extern __at(0x0416) volatile __T4HLTbits_t T4HLTbits;

#define _T4HLT_MODE0            0x01
#define _T4HLT_T4MODE0          0x01
#define _T4HLT_MODE1            0x02
#define _T4HLT_T4MODE1          0x02
#define _T4HLT_MODE2            0x04
#define _T4HLT_T4MODE2          0x04
#define _T4HLT_MODE3            0x08
#define _T4HLT_T4MODE3          0x08
#define _T4HLT_MODE4            0x10
#define _T4HLT_T4MODE4          0x10
#define _T4HLT_CKSYNC           0x20
#define _T4HLT_T4CKSYNC         0x20
#define _T4HLT_CKPOL            0x40
#define _T4HLT_T4CKPOL          0x40
#define _T4HLT_PSYNC            0x80
#define _T4HLT_T4PSYNC          0x80

//==============================================================================


//==============================================================================
//        T4CLKCON Bits

extern __at(0x0417) __sfr T4CLKCON;

typedef union
  {
  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned CS3                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T4CS0              : 1;
    unsigned T4CS1              : 1;
    unsigned T4CS2              : 1;
    unsigned T4CS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T4CS               : 4;
    unsigned                    : 4;
    };
  } __T4CLKCONbits_t;

extern __at(0x0417) volatile __T4CLKCONbits_t T4CLKCONbits;

#define _T4CLKCON_CS0           0x01
#define _T4CLKCON_T4CS0         0x01
#define _T4CLKCON_CS1           0x02
#define _T4CLKCON_T4CS1         0x02
#define _T4CLKCON_CS2           0x04
#define _T4CLKCON_T4CS2         0x04
#define _T4CLKCON_CS3           0x08
#define _T4CLKCON_T4CS3         0x08

//==============================================================================


//==============================================================================
//        T4RST Bits

extern __at(0x0418) __sfr T4RST;

typedef union
  {
  struct
    {
    unsigned RSEL0              : 1;
    unsigned RSEL1              : 1;
    unsigned RSEL2              : 1;
    unsigned RSEL3              : 1;
    unsigned RSEL4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T4RSEL0            : 1;
    unsigned T4RSEL1            : 1;
    unsigned T4RSEL2            : 1;
    unsigned T4RSEL3            : 1;
    unsigned T4RSEL4            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T4RSEL             : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned RSEL               : 5;
    unsigned                    : 3;
    };
  } __T4RSTbits_t;

extern __at(0x0418) volatile __T4RSTbits_t T4RSTbits;

#define _T4RST_RSEL0            0x01
#define _T4RST_T4RSEL0          0x01
#define _T4RST_RSEL1            0x02
#define _T4RST_T4RSEL1          0x02
#define _T4RST_RSEL2            0x04
#define _T4RST_T4RSEL2          0x04
#define _T4RST_RSEL3            0x08
#define _T4RST_T4RSEL3          0x08
#define _T4RST_RSEL4            0x10
#define _T4RST_T4RSEL4          0x10

//==============================================================================

extern __at(0x041A) __sfr T6TMR;
extern __at(0x041A) __sfr TMR6;
extern __at(0x041B) __sfr PR6;
extern __at(0x041B) __sfr T6PR;

//==============================================================================
//        T6CON Bits

extern __at(0x041C) __sfr T6CON;

typedef union
  {
  struct
    {
    unsigned OUTPS0             : 1;
    unsigned OUTPS1             : 1;
    unsigned OUTPS2             : 1;
    unsigned OUTPS3             : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CKPS2              : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned T6OUTPS0           : 1;
    unsigned T6OUTPS1           : 1;
    unsigned T6OUTPS2           : 1;
    unsigned T6OUTPS3           : 1;
    unsigned T6CKPS0            : 1;
    unsigned T6CKPS1            : 1;
    unsigned T6CKPS2            : 1;
    unsigned T6ON               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR6ON             : 1;
    };

  struct
    {
    unsigned T6OUTPS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned OUTPS              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T6CKPS             : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 3;
    unsigned                    : 1;
    };
  } __T6CONbits_t;

extern __at(0x041C) volatile __T6CONbits_t T6CONbits;

#define _T6CON_OUTPS0           0x01
#define _T6CON_T6OUTPS0         0x01
#define _T6CON_OUTPS1           0x02
#define _T6CON_T6OUTPS1         0x02
#define _T6CON_OUTPS2           0x04
#define _T6CON_T6OUTPS2         0x04
#define _T6CON_OUTPS3           0x08
#define _T6CON_T6OUTPS3         0x08
#define _T6CON_CKPS0            0x10
#define _T6CON_T6CKPS0          0x10
#define _T6CON_CKPS1            0x20
#define _T6CON_T6CKPS1          0x20
#define _T6CON_CKPS2            0x40
#define _T6CON_T6CKPS2          0x40
#define _T6CON_ON               0x80
#define _T6CON_T6ON             0x80
#define _T6CON_TMR6ON           0x80

//==============================================================================


//==============================================================================
//        T6HLT Bits

extern __at(0x041D) __sfr T6HLT;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned MODE4              : 1;
    unsigned CKSYNC             : 1;
    unsigned CKPOL              : 1;
    unsigned PSYNC              : 1;
    };

  struct
    {
    unsigned T6MODE0            : 1;
    unsigned T6MODE1            : 1;
    unsigned T6MODE2            : 1;
    unsigned T6MODE3            : 1;
    unsigned T6MODE4            : 1;
    unsigned T6CKSYNC           : 1;
    unsigned T6CKPOL            : 1;
    unsigned T6PSYNC            : 1;
    };

  struct
    {
    unsigned MODE               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T6MODE             : 5;
    unsigned                    : 3;
    };
  } __T6HLTbits_t;

extern __at(0x041D) volatile __T6HLTbits_t T6HLTbits;

#define _T6HLT_MODE0            0x01
#define _T6HLT_T6MODE0          0x01
#define _T6HLT_MODE1            0x02
#define _T6HLT_T6MODE1          0x02
#define _T6HLT_MODE2            0x04
#define _T6HLT_T6MODE2          0x04
#define _T6HLT_MODE3            0x08
#define _T6HLT_T6MODE3          0x08
#define _T6HLT_MODE4            0x10
#define _T6HLT_T6MODE4          0x10
#define _T6HLT_CKSYNC           0x20
#define _T6HLT_T6CKSYNC         0x20
#define _T6HLT_CKPOL            0x40
#define _T6HLT_T6CKPOL          0x40
#define _T6HLT_PSYNC            0x80
#define _T6HLT_T6PSYNC          0x80

//==============================================================================


//==============================================================================
//        T6CLKCON Bits

extern __at(0x041E) __sfr T6CLKCON;

typedef union
  {
  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned CS3                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T6CS0              : 1;
    unsigned T6CS1              : 1;
    unsigned T6CS2              : 1;
    unsigned T6CS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T6CS               : 4;
    unsigned                    : 4;
    };
  } __T6CLKCONbits_t;

extern __at(0x041E) volatile __T6CLKCONbits_t T6CLKCONbits;

#define _T6CLKCON_CS0           0x01
#define _T6CLKCON_T6CS0         0x01
#define _T6CLKCON_CS1           0x02
#define _T6CLKCON_T6CS1         0x02
#define _T6CLKCON_CS2           0x04
#define _T6CLKCON_T6CS2         0x04
#define _T6CLKCON_CS3           0x08
#define _T6CLKCON_T6CS3         0x08

//==============================================================================


//==============================================================================
//        T6RST Bits

extern __at(0x041F) __sfr T6RST;

typedef union
  {
  struct
    {
    unsigned RSEL0              : 1;
    unsigned RSEL1              : 1;
    unsigned RSEL2              : 1;
    unsigned RSEL3              : 1;
    unsigned RSEL4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T6RSEL0            : 1;
    unsigned T6RSEL1            : 1;
    unsigned T6RSEL2            : 1;
    unsigned T6RSEL3            : 1;
    unsigned T6RSEL4            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RSEL               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T6RSEL             : 5;
    unsigned                    : 3;
    };
  } __T6RSTbits_t;

extern __at(0x041F) volatile __T6RSTbits_t T6RSTbits;

#define _T6RST_RSEL0            0x01
#define _T6RST_T6RSEL0          0x01
#define _T6RST_RSEL1            0x02
#define _T6RST_T6RSEL1          0x02
#define _T6RST_RSEL2            0x04
#define _T6RST_T6RSEL2          0x04
#define _T6RST_RSEL3            0x08
#define _T6RST_T6RSEL3          0x08
#define _T6RST_RSEL4            0x10
#define _T6RST_T6RSEL4          0x10

//==============================================================================

extern __at(0x048E) __sfr ADRESL;
extern __at(0x048F) __sfr ADRESH;

//==============================================================================
//        ADCON0 Bits

extern __at(0x0490) __sfr ADCON0;

typedef struct
  {
  unsigned ADON                 : 1;
  unsigned GO                   : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __ADCON0bits_t;

extern __at(0x0490) volatile __ADCON0bits_t ADCON0bits;

#define _ADON                   0x01
#define _GO                     0x02

//==============================================================================


//==============================================================================
//        ADCON1 Bits

extern __at(0x0491) __sfr ADCON1;

typedef struct
  {
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned ADNREF               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned ADFM                 : 1;
  } __ADCON1bits_t;

extern __at(0x0491) volatile __ADCON1bits_t ADCON1bits;

#define _ADNREF                 0x04
#define _ADFM                   0x80

//==============================================================================

extern __at(0x0492) __sfr ADCON2;
extern __at(0x0493) __sfr T2TMR;
extern __at(0x0493) __sfr TMR2;
extern __at(0x0494) __sfr PR2;
extern __at(0x0494) __sfr T2PR;

//==============================================================================
//        T2CON Bits

extern __at(0x0495) __sfr T2CON;

typedef union
  {
  struct
    {
    unsigned OUTPS0             : 1;
    unsigned OUTPS1             : 1;
    unsigned OUTPS2             : 1;
    unsigned OUTPS3             : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CKPS2              : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned T2OUTPS0           : 1;
    unsigned T2OUTPS1           : 1;
    unsigned T2OUTPS2           : 1;
    unsigned T2OUTPS3           : 1;
    unsigned T2CKPS0            : 1;
    unsigned T2CKPS1            : 1;
    unsigned T2CKPS2            : 1;
    unsigned T2ON               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR2ON             : 1;
    };

  struct
    {
    unsigned T2OUTPS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned OUTPS              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T2CKPS             : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 3;
    unsigned                    : 1;
    };
  } __T2CONbits_t;

extern __at(0x0495) volatile __T2CONbits_t T2CONbits;

#define _T2CON_OUTPS0           0x01
#define _T2CON_T2OUTPS0         0x01
#define _T2CON_OUTPS1           0x02
#define _T2CON_T2OUTPS1         0x02
#define _T2CON_OUTPS2           0x04
#define _T2CON_T2OUTPS2         0x04
#define _T2CON_OUTPS3           0x08
#define _T2CON_T2OUTPS3         0x08
#define _T2CON_CKPS0            0x10
#define _T2CON_T2CKPS0          0x10
#define _T2CON_CKPS1            0x20
#define _T2CON_T2CKPS1          0x20
#define _T2CON_CKPS2            0x40
#define _T2CON_T2CKPS2          0x40
#define _T2CON_ON               0x80
#define _T2CON_T2ON             0x80
#define _T2CON_TMR2ON           0x80

//==============================================================================


//==============================================================================
//        T2HLT Bits

extern __at(0x0496) __sfr T2HLT;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned MODE4              : 1;
    unsigned CKSYNC             : 1;
    unsigned CKPOL              : 1;
    unsigned PSYNC              : 1;
    };

  struct
    {
    unsigned T2MODE0            : 1;
    unsigned T2MODE1            : 1;
    unsigned T2MODE2            : 1;
    unsigned T2MODE3            : 1;
    unsigned T2MODE4            : 1;
    unsigned T2CKSYNC           : 1;
    unsigned T2CKPOL            : 1;
    unsigned T2PSYNC            : 1;
    };

  struct
    {
    unsigned MODE               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T2MODE             : 5;
    unsigned                    : 3;
    };
  } __T2HLTbits_t;

extern __at(0x0496) volatile __T2HLTbits_t T2HLTbits;

#define _T2HLT_MODE0            0x01
#define _T2HLT_T2MODE0          0x01
#define _T2HLT_MODE1            0x02
#define _T2HLT_T2MODE1          0x02
#define _T2HLT_MODE2            0x04
#define _T2HLT_T2MODE2          0x04
#define _T2HLT_MODE3            0x08
#define _T2HLT_T2MODE3          0x08
#define _T2HLT_MODE4            0x10
#define _T2HLT_T2MODE4          0x10
#define _T2HLT_CKSYNC           0x20
#define _T2HLT_T2CKSYNC         0x20
#define _T2HLT_CKPOL            0x40
#define _T2HLT_T2CKPOL          0x40
#define _T2HLT_PSYNC            0x80
#define _T2HLT_T2PSYNC          0x80

//==============================================================================


//==============================================================================
//        T2CLKCON Bits

extern __at(0x0497) __sfr T2CLKCON;

typedef union
  {
  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned CS3                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T2CS0              : 1;
    unsigned T2CS1              : 1;
    unsigned T2CS2              : 1;
    unsigned T2CS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T2CS               : 4;
    unsigned                    : 4;
    };
  } __T2CLKCONbits_t;

extern __at(0x0497) volatile __T2CLKCONbits_t T2CLKCONbits;

#define _T2CLKCON_CS0           0x01
#define _T2CLKCON_T2CS0         0x01
#define _T2CLKCON_CS1           0x02
#define _T2CLKCON_T2CS1         0x02
#define _T2CLKCON_CS2           0x04
#define _T2CLKCON_T2CS2         0x04
#define _T2CLKCON_CS3           0x08
#define _T2CLKCON_T2CS3         0x08

//==============================================================================


//==============================================================================
//        T2RST Bits

extern __at(0x0498) __sfr T2RST;

typedef union
  {
  struct
    {
    unsigned RSEL0              : 1;
    unsigned RSEL1              : 1;
    unsigned RSEL2              : 1;
    unsigned RSEL3              : 1;
    unsigned RSEL4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T2RSEL0            : 1;
    unsigned T2RSEL1            : 1;
    unsigned T2RSEL2            : 1;
    unsigned T2RSEL3            : 1;
    unsigned T2RSEL4            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T2RSEL             : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned RSEL               : 5;
    unsigned                    : 3;
    };
  } __T2RSTbits_t;

extern __at(0x0498) volatile __T2RSTbits_t T2RSTbits;

#define _RSEL0                  0x01
#define _T2RSEL0                0x01
#define _RSEL1                  0x02
#define _T2RSEL1                0x02
#define _RSEL2                  0x04
#define _T2RSEL2                0x04
#define _RSEL3                  0x08
#define _T2RSEL3                0x08
#define _RSEL4                  0x10
#define _T2RSEL4                0x10

//==============================================================================

extern __at(0x049A) __sfr T8TMR;
extern __at(0x049A) __sfr TMR8;
extern __at(0x049B) __sfr PR8;
extern __at(0x049B) __sfr T8PR;

//==============================================================================
//        T8CON Bits

extern __at(0x049C) __sfr T8CON;

typedef union
  {
  struct
    {
    unsigned OUTPS0             : 1;
    unsigned OUTPS1             : 1;
    unsigned OUTPS2             : 1;
    unsigned OUTPS3             : 1;
    unsigned CKPS0              : 1;
    unsigned CKPS1              : 1;
    unsigned CKPS2              : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned T8OUTPS0           : 1;
    unsigned T8OUTPS1           : 1;
    unsigned T8OUTPS2           : 1;
    unsigned T8OUTPS3           : 1;
    unsigned T8CKPS0            : 1;
    unsigned T8CKPS1            : 1;
    unsigned T8CKPS2            : 1;
    unsigned T8ON               : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned TMR8ON             : 1;
    };

  struct
    {
    unsigned OUTPS              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T8OUTPS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned CKPS               : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned T8CKPS             : 3;
    unsigned                    : 1;
    };
  } __T8CONbits_t;

extern __at(0x049C) volatile __T8CONbits_t T8CONbits;

#define _T8CON_OUTPS0           0x01
#define _T8CON_T8OUTPS0         0x01
#define _T8CON_OUTPS1           0x02
#define _T8CON_T8OUTPS1         0x02
#define _T8CON_OUTPS2           0x04
#define _T8CON_T8OUTPS2         0x04
#define _T8CON_OUTPS3           0x08
#define _T8CON_T8OUTPS3         0x08
#define _T8CON_CKPS0            0x10
#define _T8CON_T8CKPS0          0x10
#define _T8CON_CKPS1            0x20
#define _T8CON_T8CKPS1          0x20
#define _T8CON_CKPS2            0x40
#define _T8CON_T8CKPS2          0x40
#define _T8CON_ON               0x80
#define _T8CON_T8ON             0x80
#define _T8CON_TMR8ON           0x80

//==============================================================================


//==============================================================================
//        T8HLT Bits

extern __at(0x049D) __sfr T8HLT;

typedef union
  {
  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned MODE3              : 1;
    unsigned MODE4              : 1;
    unsigned CKSYNC             : 1;
    unsigned CKPOL              : 1;
    unsigned PSYNC              : 1;
    };

  struct
    {
    unsigned T8MODE0            : 1;
    unsigned T8MODE1            : 1;
    unsigned T8MODE2            : 1;
    unsigned T8MODE3            : 1;
    unsigned T8MODE4            : 1;
    unsigned T8CKSYNC           : 1;
    unsigned T8CKPOL            : 1;
    unsigned T8PSYNC            : 1;
    };

  struct
    {
    unsigned MODE               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T8MODE             : 5;
    unsigned                    : 3;
    };
  } __T8HLTbits_t;

extern __at(0x049D) volatile __T8HLTbits_t T8HLTbits;

#define _T8HLT_MODE0            0x01
#define _T8HLT_T8MODE0          0x01
#define _T8HLT_MODE1            0x02
#define _T8HLT_T8MODE1          0x02
#define _T8HLT_MODE2            0x04
#define _T8HLT_T8MODE2          0x04
#define _T8HLT_MODE3            0x08
#define _T8HLT_T8MODE3          0x08
#define _T8HLT_MODE4            0x10
#define _T8HLT_T8MODE4          0x10
#define _T8HLT_CKSYNC           0x20
#define _T8HLT_T8CKSYNC         0x20
#define _T8HLT_CKPOL            0x40
#define _T8HLT_T8CKPOL          0x40
#define _T8HLT_PSYNC            0x80
#define _T8HLT_T8PSYNC          0x80

//==============================================================================


//==============================================================================
//        T8CLKCON Bits

extern __at(0x049E) __sfr T8CLKCON;

typedef union
  {
  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned CS3                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T8CS0              : 1;
    unsigned T8CS1              : 1;
    unsigned T8CS2              : 1;
    unsigned T8CS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned T8CS               : 4;
    unsigned                    : 4;
    };
  } __T8CLKCONbits_t;

extern __at(0x049E) volatile __T8CLKCONbits_t T8CLKCONbits;

#define _T8CLKCON_CS0           0x01
#define _T8CLKCON_T8CS0         0x01
#define _T8CLKCON_CS1           0x02
#define _T8CLKCON_T8CS1         0x02
#define _T8CLKCON_CS2           0x04
#define _T8CLKCON_T8CS2         0x04
#define _T8CLKCON_CS3           0x08
#define _T8CLKCON_T8CS3         0x08

//==============================================================================


//==============================================================================
//        T8RST Bits

extern __at(0x049F) __sfr T8RST;

typedef union
  {
  struct
    {
    unsigned RSEL0              : 1;
    unsigned RSEL1              : 1;
    unsigned RSEL2              : 1;
    unsigned RSEL3              : 1;
    unsigned RSEL4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned T8RSEL0            : 1;
    unsigned T8RSEL1            : 1;
    unsigned T8RSEL2            : 1;
    unsigned T8RSEL3            : 1;
    unsigned T8RSEL4            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RSEL               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned T8RSEL             : 5;
    unsigned                    : 3;
    };
  } __T8RSTbits_t;

extern __at(0x049F) volatile __T8RSTbits_t T8RSTbits;

#define _T8RST_RSEL0            0x01
#define _T8RST_T8RSEL0          0x01
#define _T8RST_RSEL1            0x02
#define _T8RST_T8RSEL1          0x02
#define _T8RST_RSEL2            0x04
#define _T8RST_T8RSEL2          0x04
#define _T8RST_RSEL3            0x08
#define _T8RST_T8RSEL3          0x08
#define _T8RST_RSEL4            0x10
#define _T8RST_T8RSEL4          0x10

//==============================================================================

extern __at(0x050F) __sfr OPA1NCHS;
extern __at(0x0510) __sfr OPA1PCHS;

//==============================================================================
//        OPA1CON Bits

extern __at(0x0511) __sfr OPA1CON;

typedef union
  {
  struct
    {
    unsigned ORM0               : 1;
    unsigned ORM1               : 1;
    unsigned ORPOL              : 1;
    unsigned                    : 1;
    unsigned UG                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned OPA1ORM0           : 1;
    unsigned OPA1ORM1           : 1;
    unsigned OPA1ORPOL          : 1;
    unsigned                    : 1;
    unsigned OPA1UG             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPA1EN             : 1;
    };

  struct
    {
    unsigned OPA1ORM            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned ORM                : 2;
    unsigned                    : 6;
    };
  } __OPA1CONbits_t;

extern __at(0x0511) volatile __OPA1CONbits_t OPA1CONbits;

#define _OPA1CON_ORM0           0x01
#define _OPA1CON_OPA1ORM0       0x01
#define _OPA1CON_ORM1           0x02
#define _OPA1CON_OPA1ORM1       0x02
#define _OPA1CON_ORPOL          0x04
#define _OPA1CON_OPA1ORPOL      0x04
#define _OPA1CON_UG             0x10
#define _OPA1CON_OPA1UG         0x10
#define _OPA1CON_EN             0x80
#define _OPA1CON_OPA1EN         0x80

//==============================================================================

extern __at(0x0512) __sfr OPA1ORS;
extern __at(0x0513) __sfr OPA2NCHS;
extern __at(0x0514) __sfr OPA2PCHS;

//==============================================================================
//        OPA2CON Bits

extern __at(0x0515) __sfr OPA2CON;

typedef union
  {
  struct
    {
    unsigned ORM0               : 1;
    unsigned ORM1               : 1;
    unsigned ORPOL              : 1;
    unsigned                    : 1;
    unsigned UG                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned OPA2ORM0           : 1;
    unsigned OPA2ORM1           : 1;
    unsigned OPA2ORPOL          : 1;
    unsigned                    : 1;
    unsigned OPA2UG             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPA2EN             : 1;
    };

  struct
    {
    unsigned ORM                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned OPA2ORM            : 2;
    unsigned                    : 6;
    };
  } __OPA2CONbits_t;

extern __at(0x0515) volatile __OPA2CONbits_t OPA2CONbits;

#define _OPA2CON_ORM0           0x01
#define _OPA2CON_OPA2ORM0       0x01
#define _OPA2CON_ORM1           0x02
#define _OPA2CON_OPA2ORM1       0x02
#define _OPA2CON_ORPOL          0x04
#define _OPA2CON_OPA2ORPOL      0x04
#define _OPA2CON_UG             0x10
#define _OPA2CON_OPA2UG         0x10
#define _OPA2CON_EN             0x80
#define _OPA2CON_OPA2EN         0x80

//==============================================================================

extern __at(0x0516) __sfr OPA2ORS;
extern __at(0x0517) __sfr OPA3NCHS;
extern __at(0x0518) __sfr OPA3PCHS;

//==============================================================================
//        OPA3CON Bits

extern __at(0x0519) __sfr OPA3CON;

typedef union
  {
  struct
    {
    unsigned ORM0               : 1;
    unsigned ORM1               : 1;
    unsigned ORPOL              : 1;
    unsigned                    : 1;
    unsigned UG                 : 1;
    unsigned                    : 1;
    unsigned SP                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned OPA3ORM0           : 1;
    unsigned OPA3ORM1           : 1;
    unsigned OPA3ORPOL          : 1;
    unsigned                    : 1;
    unsigned OPA3UG             : 1;
    unsigned                    : 1;
    unsigned OPA3SP             : 1;
    unsigned OPA3EN             : 1;
    };

  struct
    {
    unsigned ORM                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned OPA3ORM            : 2;
    unsigned                    : 6;
    };
  } __OPA3CONbits_t;

extern __at(0x0519) volatile __OPA3CONbits_t OPA3CONbits;

#define _OPA3CON_ORM0           0x01
#define _OPA3CON_OPA3ORM0       0x01
#define _OPA3CON_ORM1           0x02
#define _OPA3CON_OPA3ORM1       0x02
#define _OPA3CON_ORPOL          0x04
#define _OPA3CON_OPA3ORPOL      0x04
#define _OPA3CON_UG             0x10
#define _OPA3CON_OPA3UG         0x10
#define _OPA3CON_SP             0x40
#define _OPA3CON_OPA3SP         0x40
#define _OPA3CON_EN             0x80
#define _OPA3CON_OPA3EN         0x80

//==============================================================================

extern __at(0x051A) __sfr OPA3ORS;
extern __at(0x051B) __sfr OPA4NCHS;
extern __at(0x051C) __sfr OPA4PCHS;

//==============================================================================
//        OPA4CON Bits

extern __at(0x051D) __sfr OPA4CON;

typedef union
  {
  struct
    {
    unsigned ORM0               : 1;
    unsigned ORM1               : 1;
    unsigned ORPOL              : 1;
    unsigned                    : 1;
    unsigned UG                 : 1;
    unsigned                    : 1;
    unsigned SP                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned OPA4ORM0           : 1;
    unsigned OPA4ORM1           : 1;
    unsigned OPA4ORPOL          : 1;
    unsigned                    : 1;
    unsigned OPA4UG             : 1;
    unsigned                    : 1;
    unsigned OPA4SP             : 1;
    unsigned OPA4EN             : 1;
    };

  struct
    {
    unsigned OPA4ORM            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned ORM                : 2;
    unsigned                    : 6;
    };
  } __OPA4CONbits_t;

extern __at(0x051D) volatile __OPA4CONbits_t OPA4CONbits;

#define _OPA4CON_ORM0           0x01
#define _OPA4CON_OPA4ORM0       0x01
#define _OPA4CON_ORM1           0x02
#define _OPA4CON_OPA4ORM1       0x02
#define _OPA4CON_ORPOL          0x04
#define _OPA4CON_OPA4ORPOL      0x04
#define _OPA4CON_UG             0x10
#define _OPA4CON_OPA4UG         0x10
#define _OPA4CON_SP             0x40
#define _OPA4CON_OPA4SP         0x40
#define _OPA4CON_EN             0x80
#define _OPA4CON_OPA4EN         0x80

//==============================================================================

extern __at(0x051E) __sfr OPA4ORS;

//==============================================================================
//        DACLD Bits

extern __at(0x058D) __sfr DACLD;

typedef struct
  {
  unsigned DAC1LD               : 1;
  unsigned DAC2LD               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned DAC5LD               : 1;
  unsigned DAC6LD               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __DACLDbits_t;

extern __at(0x058D) volatile __DACLDbits_t DACLDbits;

#define _DAC1LD                 0x01
#define _DAC2LD                 0x02
#define _DAC5LD                 0x10
#define _DAC6LD                 0x20

//==============================================================================


//==============================================================================
//        DAC1CON0 Bits

extern __at(0x058E) __sfr DAC1CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned FM                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned OE                 : 1;
    unsigned DACFM              : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC1NSS0           : 1;
    unsigned DAC1NSS1           : 1;
    unsigned DAC1PSS0           : 1;
    unsigned DAC1PSS1           : 1;
    unsigned DAC1OE2            : 1;
    unsigned DACOE1             : 1;
    unsigned DAC1FM             : 1;
    unsigned DAC1EN             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DACOE              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DAC1OE1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC1NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC1PSS            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };
  } __DAC1CON0bits_t;

extern __at(0x058E) volatile __DAC1CON0bits_t DAC1CON0bits;

#define _DAC1CON0_NSS0          0x01
#define _DAC1CON0_DACNSS0       0x01
#define _DAC1CON0_DAC1NSS0      0x01
#define _DAC1CON0_NSS1          0x02
#define _DAC1CON0_DACNSS1       0x02
#define _DAC1CON0_DAC1NSS1      0x02
#define _DAC1CON0_PSS0          0x04
#define _DAC1CON0_DACPSS0       0x04
#define _DAC1CON0_DAC1PSS0      0x04
#define _DAC1CON0_PSS1          0x08
#define _DAC1CON0_DACPSS1       0x08
#define _DAC1CON0_DAC1PSS1      0x08
#define _DAC1CON0_OE2           0x10
#define _DAC1CON0_DACOE2        0x10
#define _DAC1CON0_DAC1OE2       0x10
#define _DAC1CON0_OE1           0x20
#define _DAC1CON0_OE            0x20
#define _DAC1CON0_DACOE1        0x20
#define _DAC1CON0_DACOE         0x20
#define _DAC1CON0_DAC1OE1       0x20
#define _DAC1CON0_FM            0x40
#define _DAC1CON0_DACFM         0x40
#define _DAC1CON0_DAC1FM        0x40
#define _DAC1CON0_EN            0x80
#define _DAC1CON0_DACEN         0x80
#define _DAC1CON0_DAC1EN        0x80

//==============================================================================


//==============================================================================
//        DAC1CON1 Bits

extern __at(0x058F) __sfr DAC1CON1;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC1REF0           : 1;
    unsigned DAC1REF1           : 1;
    unsigned DAC1REF2           : 1;
    unsigned DAC1REF3           : 1;
    unsigned DAC1REF4           : 1;
    unsigned DAC1REF5           : 1;
    unsigned DAC1REF6           : 1;
    unsigned DAC1REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC1R0             : 1;
    unsigned DAC1R1             : 1;
    unsigned DAC1R2             : 1;
    unsigned DAC1R3             : 1;
    unsigned DAC1R4             : 1;
    unsigned DAC1R5             : 1;
    unsigned DAC1R6             : 1;
    unsigned DAC1R7             : 1;
    };
  } __DAC1CON1bits_t;

extern __at(0x058F) volatile __DAC1CON1bits_t DAC1CON1bits;

#define _REF0                   0x01
#define _DAC1REF0               0x01
#define _R0                     0x01
#define _DAC1R0                 0x01
#define _REF1                   0x02
#define _DAC1REF1               0x02
#define _R1                     0x02
#define _DAC1R1                 0x02
#define _REF2                   0x04
#define _DAC1REF2               0x04
#define _R2                     0x04
#define _DAC1R2                 0x04
#define _REF3                   0x08
#define _DAC1REF3               0x08
#define _R3                     0x08
#define _DAC1R3                 0x08
#define _REF4                   0x10
#define _DAC1REF4               0x10
#define _R4                     0x10
#define _DAC1R4                 0x10
#define _REF5                   0x20
#define _DAC1REF5               0x20
#define _R5                     0x20
#define _DAC1R5                 0x20
#define _REF6                   0x40
#define _DAC1REF6               0x40
#define _R6                     0x40
#define _DAC1R6                 0x40
#define _REF7                   0x80
#define _DAC1REF7               0x80
#define _R7                     0x80
#define _DAC1R7                 0x80

//==============================================================================

extern __at(0x058F) __sfr DAC1REF;

//==============================================================================
//        DAC1REFL Bits

extern __at(0x058F) __sfr DAC1REFL;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC1REF0           : 1;
    unsigned DAC1REF1           : 1;
    unsigned DAC1REF2           : 1;
    unsigned DAC1REF3           : 1;
    unsigned DAC1REF4           : 1;
    unsigned DAC1REF5           : 1;
    unsigned DAC1REF6           : 1;
    unsigned DAC1REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC1R0             : 1;
    unsigned DAC1R1             : 1;
    unsigned DAC1R2             : 1;
    unsigned DAC1R3             : 1;
    unsigned DAC1R4             : 1;
    unsigned DAC1R5             : 1;
    unsigned DAC1R6             : 1;
    unsigned DAC1R7             : 1;
    };
  } __DAC1REFLbits_t;

extern __at(0x058F) volatile __DAC1REFLbits_t DAC1REFLbits;

#define _DAC1REFL_REF0          0x01
#define _DAC1REFL_DAC1REF0      0x01
#define _DAC1REFL_R0            0x01
#define _DAC1REFL_DAC1R0        0x01
#define _DAC1REFL_REF1          0x02
#define _DAC1REFL_DAC1REF1      0x02
#define _DAC1REFL_R1            0x02
#define _DAC1REFL_DAC1R1        0x02
#define _DAC1REFL_REF2          0x04
#define _DAC1REFL_DAC1REF2      0x04
#define _DAC1REFL_R2            0x04
#define _DAC1REFL_DAC1R2        0x04
#define _DAC1REFL_REF3          0x08
#define _DAC1REFL_DAC1REF3      0x08
#define _DAC1REFL_R3            0x08
#define _DAC1REFL_DAC1R3        0x08
#define _DAC1REFL_REF4          0x10
#define _DAC1REFL_DAC1REF4      0x10
#define _DAC1REFL_R4            0x10
#define _DAC1REFL_DAC1R4        0x10
#define _DAC1REFL_REF5          0x20
#define _DAC1REFL_DAC1REF5      0x20
#define _DAC1REFL_R5            0x20
#define _DAC1REFL_DAC1R5        0x20
#define _DAC1REFL_REF6          0x40
#define _DAC1REFL_DAC1REF6      0x40
#define _DAC1REFL_R6            0x40
#define _DAC1REFL_DAC1R6        0x40
#define _DAC1REFL_REF7          0x80
#define _DAC1REFL_DAC1REF7      0x80
#define _DAC1REFL_R7            0x80
#define _DAC1REFL_DAC1R7        0x80

//==============================================================================


//==============================================================================
//        DAC1CON2 Bits

extern __at(0x0590) __sfr DAC1CON2;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC1REF8           : 1;
    unsigned DAC1REF9           : 1;
    unsigned DAC1REF10          : 1;
    unsigned DAC1REF11          : 1;
    unsigned DAC1REF12          : 1;
    unsigned DAC1REF13          : 1;
    unsigned DAC1REF14          : 1;
    unsigned DAC1REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC1R8             : 1;
    unsigned DAC1R9             : 1;
    unsigned DAC1R10            : 1;
    unsigned DAC1R11            : 1;
    unsigned DAC1R12            : 1;
    unsigned DAC1R13            : 1;
    unsigned DAC1R14            : 1;
    unsigned DAC1R15            : 1;
    };
  } __DAC1CON2bits_t;

extern __at(0x0590) volatile __DAC1CON2bits_t DAC1CON2bits;

#define _REF8                   0x01
#define _DAC1REF8               0x01
#define _R8                     0x01
#define _DAC1R8                 0x01
#define _REF9                   0x02
#define _DAC1REF9               0x02
#define _R9                     0x02
#define _DAC1R9                 0x02
#define _REF10                  0x04
#define _DAC1REF10              0x04
#define _R10                    0x04
#define _DAC1R10                0x04
#define _REF11                  0x08
#define _DAC1REF11              0x08
#define _R11                    0x08
#define _DAC1R11                0x08
#define _REF12                  0x10
#define _DAC1REF12              0x10
#define _R12                    0x10
#define _DAC1R12                0x10
#define _REF13                  0x20
#define _DAC1REF13              0x20
#define _R13                    0x20
#define _DAC1R13                0x20
#define _REF14                  0x40
#define _DAC1REF14              0x40
#define _R14                    0x40
#define _DAC1R14                0x40
#define _REF15                  0x80
#define _DAC1REF15              0x80
#define _R15                    0x80
#define _DAC1R15                0x80

//==============================================================================


//==============================================================================
//        DAC1REFH Bits

extern __at(0x0590) __sfr DAC1REFH;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC1REF8           : 1;
    unsigned DAC1REF9           : 1;
    unsigned DAC1REF10          : 1;
    unsigned DAC1REF11          : 1;
    unsigned DAC1REF12          : 1;
    unsigned DAC1REF13          : 1;
    unsigned DAC1REF14          : 1;
    unsigned DAC1REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC1R8             : 1;
    unsigned DAC1R9             : 1;
    unsigned DAC1R10            : 1;
    unsigned DAC1R11            : 1;
    unsigned DAC1R12            : 1;
    unsigned DAC1R13            : 1;
    unsigned DAC1R14            : 1;
    unsigned DAC1R15            : 1;
    };
  } __DAC1REFHbits_t;

extern __at(0x0590) volatile __DAC1REFHbits_t DAC1REFHbits;

#define _DAC1REFH_REF8          0x01
#define _DAC1REFH_DAC1REF8      0x01
#define _DAC1REFH_R8            0x01
#define _DAC1REFH_DAC1R8        0x01
#define _DAC1REFH_REF9          0x02
#define _DAC1REFH_DAC1REF9      0x02
#define _DAC1REFH_R9            0x02
#define _DAC1REFH_DAC1R9        0x02
#define _DAC1REFH_REF10         0x04
#define _DAC1REFH_DAC1REF10     0x04
#define _DAC1REFH_R10           0x04
#define _DAC1REFH_DAC1R10       0x04
#define _DAC1REFH_REF11         0x08
#define _DAC1REFH_DAC1REF11     0x08
#define _DAC1REFH_R11           0x08
#define _DAC1REFH_DAC1R11       0x08
#define _DAC1REFH_REF12         0x10
#define _DAC1REFH_DAC1REF12     0x10
#define _DAC1REFH_R12           0x10
#define _DAC1REFH_DAC1R12       0x10
#define _DAC1REFH_REF13         0x20
#define _DAC1REFH_DAC1REF13     0x20
#define _DAC1REFH_R13           0x20
#define _DAC1REFH_DAC1R13       0x20
#define _DAC1REFH_REF14         0x40
#define _DAC1REFH_DAC1REF14     0x40
#define _DAC1REFH_R14           0x40
#define _DAC1REFH_DAC1R14       0x40
#define _DAC1REFH_REF15         0x80
#define _DAC1REFH_DAC1REF15     0x80
#define _DAC1REFH_R15           0x80
#define _DAC1REFH_DAC1R15       0x80

//==============================================================================


//==============================================================================
//        DAC2CON0 Bits

extern __at(0x0591) __sfr DAC2CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned FM                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned OE                 : 1;
    unsigned DACFM              : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC2NSS0           : 1;
    unsigned DAC2NSS1           : 1;
    unsigned DAC2PSS0           : 1;
    unsigned DAC2PSS1           : 1;
    unsigned DAC2OE2            : 1;
    unsigned DACOE1             : 1;
    unsigned DAC2FM             : 1;
    unsigned DAC2EN             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DACOE              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DAC2OE1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC2NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC2PSS            : 2;
    unsigned                    : 4;
    };
  } __DAC2CON0bits_t;

extern __at(0x0591) volatile __DAC2CON0bits_t DAC2CON0bits;

#define _DAC2CON0_NSS0          0x01
#define _DAC2CON0_DACNSS0       0x01
#define _DAC2CON0_DAC2NSS0      0x01
#define _DAC2CON0_NSS1          0x02
#define _DAC2CON0_DACNSS1       0x02
#define _DAC2CON0_DAC2NSS1      0x02
#define _DAC2CON0_PSS0          0x04
#define _DAC2CON0_DACPSS0       0x04
#define _DAC2CON0_DAC2PSS0      0x04
#define _DAC2CON0_PSS1          0x08
#define _DAC2CON0_DACPSS1       0x08
#define _DAC2CON0_DAC2PSS1      0x08
#define _DAC2CON0_OE2           0x10
#define _DAC2CON0_DACOE2        0x10
#define _DAC2CON0_DAC2OE2       0x10
#define _DAC2CON0_OE1           0x20
#define _DAC2CON0_OE            0x20
#define _DAC2CON0_DACOE1        0x20
#define _DAC2CON0_DACOE         0x20
#define _DAC2CON0_DAC2OE1       0x20
#define _DAC2CON0_FM            0x40
#define _DAC2CON0_DACFM         0x40
#define _DAC2CON0_DAC2FM        0x40
#define _DAC2CON0_EN            0x80
#define _DAC2CON0_DACEN         0x80
#define _DAC2CON0_DAC2EN        0x80

//==============================================================================


//==============================================================================
//        DAC2CON1 Bits

extern __at(0x0592) __sfr DAC2CON1;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC2REF0           : 1;
    unsigned DAC2REF1           : 1;
    unsigned DAC2REF2           : 1;
    unsigned DAC2REF3           : 1;
    unsigned DAC2REF4           : 1;
    unsigned DAC2REF5           : 1;
    unsigned DAC2REF6           : 1;
    unsigned DAC2REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC2R0             : 1;
    unsigned DAC2R1             : 1;
    unsigned DAC2R2             : 1;
    unsigned DAC2R3             : 1;
    unsigned DAC2R4             : 1;
    unsigned DAC2R5             : 1;
    unsigned DAC2R6             : 1;
    unsigned DAC2R7             : 1;
    };
  } __DAC2CON1bits_t;

extern __at(0x0592) volatile __DAC2CON1bits_t DAC2CON1bits;

#define _DAC2CON1_REF0          0x01
#define _DAC2CON1_DAC2REF0      0x01
#define _DAC2CON1_R0            0x01
#define _DAC2CON1_DAC2R0        0x01
#define _DAC2CON1_REF1          0x02
#define _DAC2CON1_DAC2REF1      0x02
#define _DAC2CON1_R1            0x02
#define _DAC2CON1_DAC2R1        0x02
#define _DAC2CON1_REF2          0x04
#define _DAC2CON1_DAC2REF2      0x04
#define _DAC2CON1_R2            0x04
#define _DAC2CON1_DAC2R2        0x04
#define _DAC2CON1_REF3          0x08
#define _DAC2CON1_DAC2REF3      0x08
#define _DAC2CON1_R3            0x08
#define _DAC2CON1_DAC2R3        0x08
#define _DAC2CON1_REF4          0x10
#define _DAC2CON1_DAC2REF4      0x10
#define _DAC2CON1_R4            0x10
#define _DAC2CON1_DAC2R4        0x10
#define _DAC2CON1_REF5          0x20
#define _DAC2CON1_DAC2REF5      0x20
#define _DAC2CON1_R5            0x20
#define _DAC2CON1_DAC2R5        0x20
#define _DAC2CON1_REF6          0x40
#define _DAC2CON1_DAC2REF6      0x40
#define _DAC2CON1_R6            0x40
#define _DAC2CON1_DAC2R6        0x40
#define _DAC2CON1_REF7          0x80
#define _DAC2CON1_DAC2REF7      0x80
#define _DAC2CON1_R7            0x80
#define _DAC2CON1_DAC2R7        0x80

//==============================================================================

extern __at(0x0592) __sfr DAC2REF;

//==============================================================================
//        DAC2REFL Bits

extern __at(0x0592) __sfr DAC2REFL;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC2REF0           : 1;
    unsigned DAC2REF1           : 1;
    unsigned DAC2REF2           : 1;
    unsigned DAC2REF3           : 1;
    unsigned DAC2REF4           : 1;
    unsigned DAC2REF5           : 1;
    unsigned DAC2REF6           : 1;
    unsigned DAC2REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC2R0             : 1;
    unsigned DAC2R1             : 1;
    unsigned DAC2R2             : 1;
    unsigned DAC2R3             : 1;
    unsigned DAC2R4             : 1;
    unsigned DAC2R5             : 1;
    unsigned DAC2R6             : 1;
    unsigned DAC2R7             : 1;
    };
  } __DAC2REFLbits_t;

extern __at(0x0592) volatile __DAC2REFLbits_t DAC2REFLbits;

#define _DAC2REFL_REF0          0x01
#define _DAC2REFL_DAC2REF0      0x01
#define _DAC2REFL_R0            0x01
#define _DAC2REFL_DAC2R0        0x01
#define _DAC2REFL_REF1          0x02
#define _DAC2REFL_DAC2REF1      0x02
#define _DAC2REFL_R1            0x02
#define _DAC2REFL_DAC2R1        0x02
#define _DAC2REFL_REF2          0x04
#define _DAC2REFL_DAC2REF2      0x04
#define _DAC2REFL_R2            0x04
#define _DAC2REFL_DAC2R2        0x04
#define _DAC2REFL_REF3          0x08
#define _DAC2REFL_DAC2REF3      0x08
#define _DAC2REFL_R3            0x08
#define _DAC2REFL_DAC2R3        0x08
#define _DAC2REFL_REF4          0x10
#define _DAC2REFL_DAC2REF4      0x10
#define _DAC2REFL_R4            0x10
#define _DAC2REFL_DAC2R4        0x10
#define _DAC2REFL_REF5          0x20
#define _DAC2REFL_DAC2REF5      0x20
#define _DAC2REFL_R5            0x20
#define _DAC2REFL_DAC2R5        0x20
#define _DAC2REFL_REF6          0x40
#define _DAC2REFL_DAC2REF6      0x40
#define _DAC2REFL_R6            0x40
#define _DAC2REFL_DAC2R6        0x40
#define _DAC2REFL_REF7          0x80
#define _DAC2REFL_DAC2REF7      0x80
#define _DAC2REFL_R7            0x80
#define _DAC2REFL_DAC2R7        0x80

//==============================================================================


//==============================================================================
//        DAC2CON2 Bits

extern __at(0x0593) __sfr DAC2CON2;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC2REF8           : 1;
    unsigned DAC2REF9           : 1;
    unsigned DAC2REF10          : 1;
    unsigned DAC2REF11          : 1;
    unsigned DAC2REF12          : 1;
    unsigned DAC2REF13          : 1;
    unsigned DAC2REF14          : 1;
    unsigned DAC2REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC2R8             : 1;
    unsigned DAC2R9             : 1;
    unsigned DAC2R10            : 1;
    unsigned DAC2R11            : 1;
    unsigned DAC2R12            : 1;
    unsigned DAC2R13            : 1;
    unsigned DAC2R14            : 1;
    unsigned DAC2R15            : 1;
    };
  } __DAC2CON2bits_t;

extern __at(0x0593) volatile __DAC2CON2bits_t DAC2CON2bits;

#define _DAC2CON2_REF8          0x01
#define _DAC2CON2_DAC2REF8      0x01
#define _DAC2CON2_R8            0x01
#define _DAC2CON2_DAC2R8        0x01
#define _DAC2CON2_REF9          0x02
#define _DAC2CON2_DAC2REF9      0x02
#define _DAC2CON2_R9            0x02
#define _DAC2CON2_DAC2R9        0x02
#define _DAC2CON2_REF10         0x04
#define _DAC2CON2_DAC2REF10     0x04
#define _DAC2CON2_R10           0x04
#define _DAC2CON2_DAC2R10       0x04
#define _DAC2CON2_REF11         0x08
#define _DAC2CON2_DAC2REF11     0x08
#define _DAC2CON2_R11           0x08
#define _DAC2CON2_DAC2R11       0x08
#define _DAC2CON2_REF12         0x10
#define _DAC2CON2_DAC2REF12     0x10
#define _DAC2CON2_R12           0x10
#define _DAC2CON2_DAC2R12       0x10
#define _DAC2CON2_REF13         0x20
#define _DAC2CON2_DAC2REF13     0x20
#define _DAC2CON2_R13           0x20
#define _DAC2CON2_DAC2R13       0x20
#define _DAC2CON2_REF14         0x40
#define _DAC2CON2_DAC2REF14     0x40
#define _DAC2CON2_R14           0x40
#define _DAC2CON2_DAC2R14       0x40
#define _DAC2CON2_REF15         0x80
#define _DAC2CON2_DAC2REF15     0x80
#define _DAC2CON2_R15           0x80
#define _DAC2CON2_DAC2R15       0x80

//==============================================================================


//==============================================================================
//        DAC2REFH Bits

extern __at(0x0593) __sfr DAC2REFH;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC2REF8           : 1;
    unsigned DAC2REF9           : 1;
    unsigned DAC2REF10          : 1;
    unsigned DAC2REF11          : 1;
    unsigned DAC2REF12          : 1;
    unsigned DAC2REF13          : 1;
    unsigned DAC2REF14          : 1;
    unsigned DAC2REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC2R8             : 1;
    unsigned DAC2R9             : 1;
    unsigned DAC2R10            : 1;
    unsigned DAC2R11            : 1;
    unsigned DAC2R12            : 1;
    unsigned DAC2R13            : 1;
    unsigned DAC2R14            : 1;
    unsigned DAC2R15            : 1;
    };
  } __DAC2REFHbits_t;

extern __at(0x0593) volatile __DAC2REFHbits_t DAC2REFHbits;

#define _DAC2REFH_REF8          0x01
#define _DAC2REFH_DAC2REF8      0x01
#define _DAC2REFH_R8            0x01
#define _DAC2REFH_DAC2R8        0x01
#define _DAC2REFH_REF9          0x02
#define _DAC2REFH_DAC2REF9      0x02
#define _DAC2REFH_R9            0x02
#define _DAC2REFH_DAC2R9        0x02
#define _DAC2REFH_REF10         0x04
#define _DAC2REFH_DAC2REF10     0x04
#define _DAC2REFH_R10           0x04
#define _DAC2REFH_DAC2R10       0x04
#define _DAC2REFH_REF11         0x08
#define _DAC2REFH_DAC2REF11     0x08
#define _DAC2REFH_R11           0x08
#define _DAC2REFH_DAC2R11       0x08
#define _DAC2REFH_REF12         0x10
#define _DAC2REFH_DAC2REF12     0x10
#define _DAC2REFH_R12           0x10
#define _DAC2REFH_DAC2R12       0x10
#define _DAC2REFH_REF13         0x20
#define _DAC2REFH_DAC2REF13     0x20
#define _DAC2REFH_R13           0x20
#define _DAC2REFH_DAC2R13       0x20
#define _DAC2REFH_REF14         0x40
#define _DAC2REFH_DAC2REF14     0x40
#define _DAC2REFH_R14           0x40
#define _DAC2REFH_DAC2R14       0x40
#define _DAC2REFH_REF15         0x80
#define _DAC2REFH_DAC2REF15     0x80
#define _DAC2REFH_R15           0x80
#define _DAC2REFH_DAC2R15       0x80

//==============================================================================


//==============================================================================
//        DAC3CON0 Bits

extern __at(0x0594) __sfr DAC3CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned DACOE1             : 1;
    unsigned                    : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC3NSS0           : 1;
    unsigned DAC3NSS1           : 1;
    unsigned DAC3PSS0           : 1;
    unsigned DAC3PSS1           : 1;
    unsigned DAC3OE2            : 1;
    unsigned DAC3OE1            : 1;
    unsigned                    : 1;
    unsigned DAC3EN             : 1;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DAC3NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC3PSS            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };
  } __DAC3CON0bits_t;

extern __at(0x0594) volatile __DAC3CON0bits_t DAC3CON0bits;

#define _DAC3CON0_NSS0          0x01
#define _DAC3CON0_DACNSS0       0x01
#define _DAC3CON0_DAC3NSS0      0x01
#define _DAC3CON0_NSS1          0x02
#define _DAC3CON0_DACNSS1       0x02
#define _DAC3CON0_DAC3NSS1      0x02
#define _DAC3CON0_PSS0          0x04
#define _DAC3CON0_DACPSS0       0x04
#define _DAC3CON0_DAC3PSS0      0x04
#define _DAC3CON0_PSS1          0x08
#define _DAC3CON0_DACPSS1       0x08
#define _DAC3CON0_DAC3PSS1      0x08
#define _DAC3CON0_OE2           0x10
#define _DAC3CON0_DACOE2        0x10
#define _DAC3CON0_DAC3OE2       0x10
#define _DAC3CON0_OE1           0x20
#define _DAC3CON0_DACOE1        0x20
#define _DAC3CON0_DAC3OE1       0x20
#define _DAC3CON0_EN            0x80
#define _DAC3CON0_DACEN         0x80
#define _DAC3CON0_DAC3EN        0x80

//==============================================================================


//==============================================================================
//        DAC3CON1 Bits

extern __at(0x0595) __sfr DAC3CON1;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC3R0             : 1;
    unsigned DAC3R1             : 1;
    unsigned DAC3R2             : 1;
    unsigned DAC3R3             : 1;
    unsigned DAC3R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC3REF0           : 1;
    unsigned DAC3REF1           : 1;
    unsigned DAC3REF2           : 1;
    unsigned DAC3REF3           : 1;
    unsigned DAC3REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC3REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC3R              : 5;
    unsigned                    : 3;
    };
  } __DAC3CON1bits_t;

extern __at(0x0595) volatile __DAC3CON1bits_t DAC3CON1bits;

#define _DAC3CON1_DACR0         0x01
#define _DAC3CON1_R0            0x01
#define _DAC3CON1_DAC3R0        0x01
#define _DAC3CON1_REF0          0x01
#define _DAC3CON1_DAC3REF0      0x01
#define _DAC3CON1_DACR1         0x02
#define _DAC3CON1_R1            0x02
#define _DAC3CON1_DAC3R1        0x02
#define _DAC3CON1_REF1          0x02
#define _DAC3CON1_DAC3REF1      0x02
#define _DAC3CON1_DACR2         0x04
#define _DAC3CON1_R2            0x04
#define _DAC3CON1_DAC3R2        0x04
#define _DAC3CON1_REF2          0x04
#define _DAC3CON1_DAC3REF2      0x04
#define _DAC3CON1_DACR3         0x08
#define _DAC3CON1_R3            0x08
#define _DAC3CON1_DAC3R3        0x08
#define _DAC3CON1_REF3          0x08
#define _DAC3CON1_DAC3REF3      0x08
#define _DAC3CON1_DACR4         0x10
#define _DAC3CON1_R4            0x10
#define _DAC3CON1_DAC3R4        0x10
#define _DAC3CON1_REF4          0x10
#define _DAC3CON1_DAC3REF4      0x10

//==============================================================================


//==============================================================================
//        DAC3REF Bits

extern __at(0x0595) __sfr DAC3REF;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC3R0             : 1;
    unsigned DAC3R1             : 1;
    unsigned DAC3R2             : 1;
    unsigned DAC3R3             : 1;
    unsigned DAC3R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC3REF0           : 1;
    unsigned DAC3REF1           : 1;
    unsigned DAC3REF2           : 1;
    unsigned DAC3REF3           : 1;
    unsigned DAC3REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC3R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC3REF            : 5;
    unsigned                    : 3;
    };
  } __DAC3REFbits_t;

extern __at(0x0595) volatile __DAC3REFbits_t DAC3REFbits;

#define _DAC3REF_DACR0          0x01
#define _DAC3REF_R0             0x01
#define _DAC3REF_DAC3R0         0x01
#define _DAC3REF_REF0           0x01
#define _DAC3REF_DAC3REF0       0x01
#define _DAC3REF_DACR1          0x02
#define _DAC3REF_R1             0x02
#define _DAC3REF_DAC3R1         0x02
#define _DAC3REF_REF1           0x02
#define _DAC3REF_DAC3REF1       0x02
#define _DAC3REF_DACR2          0x04
#define _DAC3REF_R2             0x04
#define _DAC3REF_DAC3R2         0x04
#define _DAC3REF_REF2           0x04
#define _DAC3REF_DAC3REF2       0x04
#define _DAC3REF_DACR3          0x08
#define _DAC3REF_R3             0x08
#define _DAC3REF_DAC3R3         0x08
#define _DAC3REF_REF3           0x08
#define _DAC3REF_DAC3REF3       0x08
#define _DAC3REF_DACR4          0x10
#define _DAC3REF_R4             0x10
#define _DAC3REF_DAC3R4         0x10
#define _DAC3REF_REF4           0x10
#define _DAC3REF_DAC3REF4       0x10

//==============================================================================


//==============================================================================
//        DAC4CON0 Bits

extern __at(0x0596) __sfr DAC4CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned DACOE1             : 1;
    unsigned                    : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC4NSS0           : 1;
    unsigned DAC4NSS1           : 1;
    unsigned DAC4PSS0           : 1;
    unsigned DAC4PSS1           : 1;
    unsigned DAC4OE2            : 1;
    unsigned DAC4OE1            : 1;
    unsigned                    : 1;
    unsigned DAC4EN             : 1;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DAC4NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC4PSS            : 2;
    unsigned                    : 4;
    };
  } __DAC4CON0bits_t;

extern __at(0x0596) volatile __DAC4CON0bits_t DAC4CON0bits;

#define _DAC4CON0_NSS0          0x01
#define _DAC4CON0_DACNSS0       0x01
#define _DAC4CON0_DAC4NSS0      0x01
#define _DAC4CON0_NSS1          0x02
#define _DAC4CON0_DACNSS1       0x02
#define _DAC4CON0_DAC4NSS1      0x02
#define _DAC4CON0_PSS0          0x04
#define _DAC4CON0_DACPSS0       0x04
#define _DAC4CON0_DAC4PSS0      0x04
#define _DAC4CON0_PSS1          0x08
#define _DAC4CON0_DACPSS1       0x08
#define _DAC4CON0_DAC4PSS1      0x08
#define _DAC4CON0_OE2           0x10
#define _DAC4CON0_DACOE2        0x10
#define _DAC4CON0_DAC4OE2       0x10
#define _DAC4CON0_OE1           0x20
#define _DAC4CON0_DACOE1        0x20
#define _DAC4CON0_DAC4OE1       0x20
#define _DAC4CON0_EN            0x80
#define _DAC4CON0_DACEN         0x80
#define _DAC4CON0_DAC4EN        0x80

//==============================================================================


//==============================================================================
//        DAC4CON1 Bits

extern __at(0x0597) __sfr DAC4CON1;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4R0             : 1;
    unsigned DAC4R1             : 1;
    unsigned DAC4R2             : 1;
    unsigned DAC4R3             : 1;
    unsigned DAC4R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4REF0           : 1;
    unsigned DAC4REF1           : 1;
    unsigned DAC4REF2           : 1;
    unsigned DAC4REF3           : 1;
    unsigned DAC4REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC4REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };
  } __DAC4CON1bits_t;

extern __at(0x0597) volatile __DAC4CON1bits_t DAC4CON1bits;

#define _DAC4CON1_DACR0         0x01
#define _DAC4CON1_R0            0x01
#define _DAC4CON1_DAC4R0        0x01
#define _DAC4CON1_REF0          0x01
#define _DAC4CON1_DAC4REF0      0x01
#define _DAC4CON1_DACR1         0x02
#define _DAC4CON1_R1            0x02
#define _DAC4CON1_DAC4R1        0x02
#define _DAC4CON1_REF1          0x02
#define _DAC4CON1_DAC4REF1      0x02
#define _DAC4CON1_DACR2         0x04
#define _DAC4CON1_R2            0x04
#define _DAC4CON1_DAC4R2        0x04
#define _DAC4CON1_REF2          0x04
#define _DAC4CON1_DAC4REF2      0x04
#define _DAC4CON1_DACR3         0x08
#define _DAC4CON1_R3            0x08
#define _DAC4CON1_DAC4R3        0x08
#define _DAC4CON1_REF3          0x08
#define _DAC4CON1_DAC4REF3      0x08
#define _DAC4CON1_DACR4         0x10
#define _DAC4CON1_R4            0x10
#define _DAC4CON1_DAC4R4        0x10
#define _DAC4CON1_REF4          0x10
#define _DAC4CON1_DAC4REF4      0x10

//==============================================================================


//==============================================================================
//        DAC4REF Bits

extern __at(0x0597) __sfr DAC4REF;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4R0             : 1;
    unsigned DAC4R1             : 1;
    unsigned DAC4R2             : 1;
    unsigned DAC4R3             : 1;
    unsigned DAC4R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4REF0           : 1;
    unsigned DAC4REF1           : 1;
    unsigned DAC4REF2           : 1;
    unsigned DAC4REF3           : 1;
    unsigned DAC4REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC4R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC4REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };
  } __DAC4REFbits_t;

extern __at(0x0597) volatile __DAC4REFbits_t DAC4REFbits;

#define _DAC4REF_DACR0          0x01
#define _DAC4REF_R0             0x01
#define _DAC4REF_DAC4R0         0x01
#define _DAC4REF_REF0           0x01
#define _DAC4REF_DAC4REF0       0x01
#define _DAC4REF_DACR1          0x02
#define _DAC4REF_R1             0x02
#define _DAC4REF_DAC4R1         0x02
#define _DAC4REF_REF1           0x02
#define _DAC4REF_DAC4REF1       0x02
#define _DAC4REF_DACR2          0x04
#define _DAC4REF_R2             0x04
#define _DAC4REF_DAC4R2         0x04
#define _DAC4REF_REF2           0x04
#define _DAC4REF_DAC4REF2       0x04
#define _DAC4REF_DACR3          0x08
#define _DAC4REF_R3             0x08
#define _DAC4REF_DAC4R3         0x08
#define _DAC4REF_REF3           0x08
#define _DAC4REF_DAC4REF3       0x08
#define _DAC4REF_DACR4          0x10
#define _DAC4REF_R4             0x10
#define _DAC4REF_DAC4R4         0x10
#define _DAC4REF_REF4           0x10
#define _DAC4REF_DAC4REF4       0x10

//==============================================================================


//==============================================================================
//        DAC5CON0 Bits

extern __at(0x0598) __sfr DAC5CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned FM                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned OE                 : 1;
    unsigned DACFM              : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC5NSS0           : 1;
    unsigned DAC5NSS1           : 1;
    unsigned DAC5PSS0           : 1;
    unsigned DAC5PSS1           : 1;
    unsigned DAC5OE2            : 1;
    unsigned DACOE1             : 1;
    unsigned DAC5FM             : 1;
    unsigned DAC5EN             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DACOE              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DAC5OE1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC5NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC5PSS            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };
  } __DAC5CON0bits_t;

extern __at(0x0598) volatile __DAC5CON0bits_t DAC5CON0bits;

#define _DAC5CON0_NSS0          0x01
#define _DAC5CON0_DACNSS0       0x01
#define _DAC5CON0_DAC5NSS0      0x01
#define _DAC5CON0_NSS1          0x02
#define _DAC5CON0_DACNSS1       0x02
#define _DAC5CON0_DAC5NSS1      0x02
#define _DAC5CON0_PSS0          0x04
#define _DAC5CON0_DACPSS0       0x04
#define _DAC5CON0_DAC5PSS0      0x04
#define _DAC5CON0_PSS1          0x08
#define _DAC5CON0_DACPSS1       0x08
#define _DAC5CON0_DAC5PSS1      0x08
#define _DAC5CON0_OE2           0x10
#define _DAC5CON0_DACOE2        0x10
#define _DAC5CON0_DAC5OE2       0x10
#define _DAC5CON0_OE1           0x20
#define _DAC5CON0_OE            0x20
#define _DAC5CON0_DACOE1        0x20
#define _DAC5CON0_DACOE         0x20
#define _DAC5CON0_DAC5OE1       0x20
#define _DAC5CON0_FM            0x40
#define _DAC5CON0_DACFM         0x40
#define _DAC5CON0_DAC5FM        0x40
#define _DAC5CON0_EN            0x80
#define _DAC5CON0_DACEN         0x80
#define _DAC5CON0_DAC5EN        0x80

//==============================================================================


//==============================================================================
//        DAC5CON1 Bits

extern __at(0x0599) __sfr DAC5CON1;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC5REF0           : 1;
    unsigned DAC5REF1           : 1;
    unsigned DAC5REF2           : 1;
    unsigned DAC5REF3           : 1;
    unsigned DAC5REF4           : 1;
    unsigned DAC5REF5           : 1;
    unsigned DAC5REF6           : 1;
    unsigned DAC5REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC5R0             : 1;
    unsigned DAC5R1             : 1;
    unsigned DAC5R2             : 1;
    unsigned DAC5R3             : 1;
    unsigned DAC5R4             : 1;
    unsigned DAC5R5             : 1;
    unsigned DAC5R6             : 1;
    unsigned DAC5R7             : 1;
    };
  } __DAC5CON1bits_t;

extern __at(0x0599) volatile __DAC5CON1bits_t DAC5CON1bits;

#define _DAC5CON1_REF0          0x01
#define _DAC5CON1_DAC5REF0      0x01
#define _DAC5CON1_R0            0x01
#define _DAC5CON1_DAC5R0        0x01
#define _DAC5CON1_REF1          0x02
#define _DAC5CON1_DAC5REF1      0x02
#define _DAC5CON1_R1            0x02
#define _DAC5CON1_DAC5R1        0x02
#define _DAC5CON1_REF2          0x04
#define _DAC5CON1_DAC5REF2      0x04
#define _DAC5CON1_R2            0x04
#define _DAC5CON1_DAC5R2        0x04
#define _DAC5CON1_REF3          0x08
#define _DAC5CON1_DAC5REF3      0x08
#define _DAC5CON1_R3            0x08
#define _DAC5CON1_DAC5R3        0x08
#define _DAC5CON1_REF4          0x10
#define _DAC5CON1_DAC5REF4      0x10
#define _DAC5CON1_R4            0x10
#define _DAC5CON1_DAC5R4        0x10
#define _DAC5CON1_REF5          0x20
#define _DAC5CON1_DAC5REF5      0x20
#define _DAC5CON1_R5            0x20
#define _DAC5CON1_DAC5R5        0x20
#define _DAC5CON1_REF6          0x40
#define _DAC5CON1_DAC5REF6      0x40
#define _DAC5CON1_R6            0x40
#define _DAC5CON1_DAC5R6        0x40
#define _DAC5CON1_REF7          0x80
#define _DAC5CON1_DAC5REF7      0x80
#define _DAC5CON1_R7            0x80
#define _DAC5CON1_DAC5R7        0x80

//==============================================================================

extern __at(0x0599) __sfr DAC5REF;

//==============================================================================
//        DAC5REFL Bits

extern __at(0x0599) __sfr DAC5REFL;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC5REF0           : 1;
    unsigned DAC5REF1           : 1;
    unsigned DAC5REF2           : 1;
    unsigned DAC5REF3           : 1;
    unsigned DAC5REF4           : 1;
    unsigned DAC5REF5           : 1;
    unsigned DAC5REF6           : 1;
    unsigned DAC5REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC5R0             : 1;
    unsigned DAC5R1             : 1;
    unsigned DAC5R2             : 1;
    unsigned DAC5R3             : 1;
    unsigned DAC5R4             : 1;
    unsigned DAC5R5             : 1;
    unsigned DAC5R6             : 1;
    unsigned DAC5R7             : 1;
    };
  } __DAC5REFLbits_t;

extern __at(0x0599) volatile __DAC5REFLbits_t DAC5REFLbits;

#define _DAC5REFL_REF0          0x01
#define _DAC5REFL_DAC5REF0      0x01
#define _DAC5REFL_R0            0x01
#define _DAC5REFL_DAC5R0        0x01
#define _DAC5REFL_REF1          0x02
#define _DAC5REFL_DAC5REF1      0x02
#define _DAC5REFL_R1            0x02
#define _DAC5REFL_DAC5R1        0x02
#define _DAC5REFL_REF2          0x04
#define _DAC5REFL_DAC5REF2      0x04
#define _DAC5REFL_R2            0x04
#define _DAC5REFL_DAC5R2        0x04
#define _DAC5REFL_REF3          0x08
#define _DAC5REFL_DAC5REF3      0x08
#define _DAC5REFL_R3            0x08
#define _DAC5REFL_DAC5R3        0x08
#define _DAC5REFL_REF4          0x10
#define _DAC5REFL_DAC5REF4      0x10
#define _DAC5REFL_R4            0x10
#define _DAC5REFL_DAC5R4        0x10
#define _DAC5REFL_REF5          0x20
#define _DAC5REFL_DAC5REF5      0x20
#define _DAC5REFL_R5            0x20
#define _DAC5REFL_DAC5R5        0x20
#define _DAC5REFL_REF6          0x40
#define _DAC5REFL_DAC5REF6      0x40
#define _DAC5REFL_R6            0x40
#define _DAC5REFL_DAC5R6        0x40
#define _DAC5REFL_REF7          0x80
#define _DAC5REFL_DAC5REF7      0x80
#define _DAC5REFL_R7            0x80
#define _DAC5REFL_DAC5R7        0x80

//==============================================================================


//==============================================================================
//        DAC5CON2 Bits

extern __at(0x059A) __sfr DAC5CON2;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC5REF8           : 1;
    unsigned DAC5REF9           : 1;
    unsigned DAC5REF10          : 1;
    unsigned DAC5REF11          : 1;
    unsigned DAC5REF12          : 1;
    unsigned DAC5REF13          : 1;
    unsigned DAC5REF14          : 1;
    unsigned DAC5REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC5R8             : 1;
    unsigned DAC5R9             : 1;
    unsigned DAC5R10            : 1;
    unsigned DAC5R11            : 1;
    unsigned DAC5R12            : 1;
    unsigned DAC5R13            : 1;
    unsigned DAC5R14            : 1;
    unsigned DAC5R15            : 1;
    };
  } __DAC5CON2bits_t;

extern __at(0x059A) volatile __DAC5CON2bits_t DAC5CON2bits;

#define _DAC5CON2_REF8          0x01
#define _DAC5CON2_DAC5REF8      0x01
#define _DAC5CON2_R8            0x01
#define _DAC5CON2_DAC5R8        0x01
#define _DAC5CON2_REF9          0x02
#define _DAC5CON2_DAC5REF9      0x02
#define _DAC5CON2_R9            0x02
#define _DAC5CON2_DAC5R9        0x02
#define _DAC5CON2_REF10         0x04
#define _DAC5CON2_DAC5REF10     0x04
#define _DAC5CON2_R10           0x04
#define _DAC5CON2_DAC5R10       0x04
#define _DAC5CON2_REF11         0x08
#define _DAC5CON2_DAC5REF11     0x08
#define _DAC5CON2_R11           0x08
#define _DAC5CON2_DAC5R11       0x08
#define _DAC5CON2_REF12         0x10
#define _DAC5CON2_DAC5REF12     0x10
#define _DAC5CON2_R12           0x10
#define _DAC5CON2_DAC5R12       0x10
#define _DAC5CON2_REF13         0x20
#define _DAC5CON2_DAC5REF13     0x20
#define _DAC5CON2_R13           0x20
#define _DAC5CON2_DAC5R13       0x20
#define _DAC5CON2_REF14         0x40
#define _DAC5CON2_DAC5REF14     0x40
#define _DAC5CON2_R14           0x40
#define _DAC5CON2_DAC5R14       0x40
#define _DAC5CON2_REF15         0x80
#define _DAC5CON2_DAC5REF15     0x80
#define _DAC5CON2_R15           0x80
#define _DAC5CON2_DAC5R15       0x80

//==============================================================================


//==============================================================================
//        DAC5REFH Bits

extern __at(0x059A) __sfr DAC5REFH;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC5REF8           : 1;
    unsigned DAC5REF9           : 1;
    unsigned DAC5REF10          : 1;
    unsigned DAC5REF11          : 1;
    unsigned DAC5REF12          : 1;
    unsigned DAC5REF13          : 1;
    unsigned DAC5REF14          : 1;
    unsigned DAC5REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC5R8             : 1;
    unsigned DAC5R9             : 1;
    unsigned DAC5R10            : 1;
    unsigned DAC5R11            : 1;
    unsigned DAC5R12            : 1;
    unsigned DAC5R13            : 1;
    unsigned DAC5R14            : 1;
    unsigned DAC5R15            : 1;
    };
  } __DAC5REFHbits_t;

extern __at(0x059A) volatile __DAC5REFHbits_t DAC5REFHbits;

#define _DAC5REFH_REF8          0x01
#define _DAC5REFH_DAC5REF8      0x01
#define _DAC5REFH_R8            0x01
#define _DAC5REFH_DAC5R8        0x01
#define _DAC5REFH_REF9          0x02
#define _DAC5REFH_DAC5REF9      0x02
#define _DAC5REFH_R9            0x02
#define _DAC5REFH_DAC5R9        0x02
#define _DAC5REFH_REF10         0x04
#define _DAC5REFH_DAC5REF10     0x04
#define _DAC5REFH_R10           0x04
#define _DAC5REFH_DAC5R10       0x04
#define _DAC5REFH_REF11         0x08
#define _DAC5REFH_DAC5REF11     0x08
#define _DAC5REFH_R11           0x08
#define _DAC5REFH_DAC5R11       0x08
#define _DAC5REFH_REF12         0x10
#define _DAC5REFH_DAC5REF12     0x10
#define _DAC5REFH_R12           0x10
#define _DAC5REFH_DAC5R12       0x10
#define _DAC5REFH_REF13         0x20
#define _DAC5REFH_DAC5REF13     0x20
#define _DAC5REFH_R13           0x20
#define _DAC5REFH_DAC5R13       0x20
#define _DAC5REFH_REF14         0x40
#define _DAC5REFH_DAC5REF14     0x40
#define _DAC5REFH_R14           0x40
#define _DAC5REFH_DAC5R14       0x40
#define _DAC5REFH_REF15         0x80
#define _DAC5REFH_DAC5REF15     0x80
#define _DAC5REFH_R15           0x80
#define _DAC5REFH_DAC5R15       0x80

//==============================================================================


//==============================================================================
//        DAC6CON0 Bits

extern __at(0x059B) __sfr DAC6CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned FM                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned OE                 : 1;
    unsigned DACFM              : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC6NSS0           : 1;
    unsigned DAC6NSS1           : 1;
    unsigned DAC6PSS0           : 1;
    unsigned DAC6PSS1           : 1;
    unsigned DAC6OE2            : 1;
    unsigned DACOE1             : 1;
    unsigned DAC6FM             : 1;
    unsigned DAC6EN             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DACOE              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DAC6OE1            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DAC6NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC6PSS            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };
  } __DAC6CON0bits_t;

extern __at(0x059B) volatile __DAC6CON0bits_t DAC6CON0bits;

#define _DAC6CON0_NSS0          0x01
#define _DAC6CON0_DACNSS0       0x01
#define _DAC6CON0_DAC6NSS0      0x01
#define _DAC6CON0_NSS1          0x02
#define _DAC6CON0_DACNSS1       0x02
#define _DAC6CON0_DAC6NSS1      0x02
#define _DAC6CON0_PSS0          0x04
#define _DAC6CON0_DACPSS0       0x04
#define _DAC6CON0_DAC6PSS0      0x04
#define _DAC6CON0_PSS1          0x08
#define _DAC6CON0_DACPSS1       0x08
#define _DAC6CON0_DAC6PSS1      0x08
#define _DAC6CON0_OE2           0x10
#define _DAC6CON0_DACOE2        0x10
#define _DAC6CON0_DAC6OE2       0x10
#define _DAC6CON0_OE1           0x20
#define _DAC6CON0_OE            0x20
#define _DAC6CON0_DACOE1        0x20
#define _DAC6CON0_DACOE         0x20
#define _DAC6CON0_DAC6OE1       0x20
#define _DAC6CON0_FM            0x40
#define _DAC6CON0_DACFM         0x40
#define _DAC6CON0_DAC6FM        0x40
#define _DAC6CON0_EN            0x80
#define _DAC6CON0_DACEN         0x80
#define _DAC6CON0_DAC6EN        0x80

//==============================================================================


//==============================================================================
//        DAC6CON1 Bits

extern __at(0x059C) __sfr DAC6CON1;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC6REF0           : 1;
    unsigned DAC6REF1           : 1;
    unsigned DAC6REF2           : 1;
    unsigned DAC6REF3           : 1;
    unsigned DAC6REF4           : 1;
    unsigned DAC6REF5           : 1;
    unsigned DAC6REF6           : 1;
    unsigned DAC6REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC6R0             : 1;
    unsigned DAC6R1             : 1;
    unsigned DAC6R2             : 1;
    unsigned DAC6R3             : 1;
    unsigned DAC6R4             : 1;
    unsigned DAC6R5             : 1;
    unsigned DAC6R6             : 1;
    unsigned DAC6R7             : 1;
    };
  } __DAC6CON1bits_t;

extern __at(0x059C) volatile __DAC6CON1bits_t DAC6CON1bits;

#define _DAC6CON1_REF0          0x01
#define _DAC6CON1_DAC6REF0      0x01
#define _DAC6CON1_R0            0x01
#define _DAC6CON1_DAC6R0        0x01
#define _DAC6CON1_REF1          0x02
#define _DAC6CON1_DAC6REF1      0x02
#define _DAC6CON1_R1            0x02
#define _DAC6CON1_DAC6R1        0x02
#define _DAC6CON1_REF2          0x04
#define _DAC6CON1_DAC6REF2      0x04
#define _DAC6CON1_R2            0x04
#define _DAC6CON1_DAC6R2        0x04
#define _DAC6CON1_REF3          0x08
#define _DAC6CON1_DAC6REF3      0x08
#define _DAC6CON1_R3            0x08
#define _DAC6CON1_DAC6R3        0x08
#define _DAC6CON1_REF4          0x10
#define _DAC6CON1_DAC6REF4      0x10
#define _DAC6CON1_R4            0x10
#define _DAC6CON1_DAC6R4        0x10
#define _DAC6CON1_REF5          0x20
#define _DAC6CON1_DAC6REF5      0x20
#define _DAC6CON1_R5            0x20
#define _DAC6CON1_DAC6R5        0x20
#define _DAC6CON1_REF6          0x40
#define _DAC6CON1_DAC6REF6      0x40
#define _DAC6CON1_R6            0x40
#define _DAC6CON1_DAC6R6        0x40
#define _DAC6CON1_REF7          0x80
#define _DAC6CON1_DAC6REF7      0x80
#define _DAC6CON1_R7            0x80
#define _DAC6CON1_DAC6R7        0x80

//==============================================================================

extern __at(0x059C) __sfr DAC6REF;

//==============================================================================
//        DAC6REFL Bits

extern __at(0x059C) __sfr DAC6REFL;

typedef union
  {
  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned REF5               : 1;
    unsigned REF6               : 1;
    unsigned REF7               : 1;
    };

  struct
    {
    unsigned DAC6REF0           : 1;
    unsigned DAC6REF1           : 1;
    unsigned DAC6REF2           : 1;
    unsigned DAC6REF3           : 1;
    unsigned DAC6REF4           : 1;
    unsigned DAC6REF5           : 1;
    unsigned DAC6REF6           : 1;
    unsigned DAC6REF7           : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned R5                 : 1;
    unsigned R6                 : 1;
    unsigned R7                 : 1;
    };

  struct
    {
    unsigned DAC6R0             : 1;
    unsigned DAC6R1             : 1;
    unsigned DAC6R2             : 1;
    unsigned DAC6R3             : 1;
    unsigned DAC6R4             : 1;
    unsigned DAC6R5             : 1;
    unsigned DAC6R6             : 1;
    unsigned DAC6R7             : 1;
    };
  } __DAC6REFLbits_t;

extern __at(0x059C) volatile __DAC6REFLbits_t DAC6REFLbits;

#define _DAC6REFL_REF0          0x01
#define _DAC6REFL_DAC6REF0      0x01
#define _DAC6REFL_R0            0x01
#define _DAC6REFL_DAC6R0        0x01
#define _DAC6REFL_REF1          0x02
#define _DAC6REFL_DAC6REF1      0x02
#define _DAC6REFL_R1            0x02
#define _DAC6REFL_DAC6R1        0x02
#define _DAC6REFL_REF2          0x04
#define _DAC6REFL_DAC6REF2      0x04
#define _DAC6REFL_R2            0x04
#define _DAC6REFL_DAC6R2        0x04
#define _DAC6REFL_REF3          0x08
#define _DAC6REFL_DAC6REF3      0x08
#define _DAC6REFL_R3            0x08
#define _DAC6REFL_DAC6R3        0x08
#define _DAC6REFL_REF4          0x10
#define _DAC6REFL_DAC6REF4      0x10
#define _DAC6REFL_R4            0x10
#define _DAC6REFL_DAC6R4        0x10
#define _DAC6REFL_REF5          0x20
#define _DAC6REFL_DAC6REF5      0x20
#define _DAC6REFL_R5            0x20
#define _DAC6REFL_DAC6R5        0x20
#define _DAC6REFL_REF6          0x40
#define _DAC6REFL_DAC6REF6      0x40
#define _DAC6REFL_R6            0x40
#define _DAC6REFL_DAC6R6        0x40
#define _DAC6REFL_REF7          0x80
#define _DAC6REFL_DAC6REF7      0x80
#define _DAC6REFL_R7            0x80
#define _DAC6REFL_DAC6R7        0x80

//==============================================================================


//==============================================================================
//        DAC6CON2 Bits

extern __at(0x059D) __sfr DAC6CON2;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC6REF8           : 1;
    unsigned DAC6REF9           : 1;
    unsigned DAC6REF10          : 1;
    unsigned DAC6REF11          : 1;
    unsigned DAC6REF12          : 1;
    unsigned DAC6REF13          : 1;
    unsigned DAC6REF14          : 1;
    unsigned DAC6REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC6R8             : 1;
    unsigned DAC6R9             : 1;
    unsigned DAC6R10            : 1;
    unsigned DAC6R11            : 1;
    unsigned DAC6R12            : 1;
    unsigned DAC6R13            : 1;
    unsigned DAC6R14            : 1;
    unsigned DAC6R15            : 1;
    };
  } __DAC6CON2bits_t;

extern __at(0x059D) volatile __DAC6CON2bits_t DAC6CON2bits;

#define _DAC6CON2_REF8          0x01
#define _DAC6CON2_DAC6REF8      0x01
#define _DAC6CON2_R8            0x01
#define _DAC6CON2_DAC6R8        0x01
#define _DAC6CON2_REF9          0x02
#define _DAC6CON2_DAC6REF9      0x02
#define _DAC6CON2_R9            0x02
#define _DAC6CON2_DAC6R9        0x02
#define _DAC6CON2_REF10         0x04
#define _DAC6CON2_DAC6REF10     0x04
#define _DAC6CON2_R10           0x04
#define _DAC6CON2_DAC6R10       0x04
#define _DAC6CON2_REF11         0x08
#define _DAC6CON2_DAC6REF11     0x08
#define _DAC6CON2_R11           0x08
#define _DAC6CON2_DAC6R11       0x08
#define _DAC6CON2_REF12         0x10
#define _DAC6CON2_DAC6REF12     0x10
#define _DAC6CON2_R12           0x10
#define _DAC6CON2_DAC6R12       0x10
#define _DAC6CON2_REF13         0x20
#define _DAC6CON2_DAC6REF13     0x20
#define _DAC6CON2_R13           0x20
#define _DAC6CON2_DAC6R13       0x20
#define _DAC6CON2_REF14         0x40
#define _DAC6CON2_DAC6REF14     0x40
#define _DAC6CON2_R14           0x40
#define _DAC6CON2_DAC6R14       0x40
#define _DAC6CON2_REF15         0x80
#define _DAC6CON2_DAC6REF15     0x80
#define _DAC6CON2_R15           0x80
#define _DAC6CON2_DAC6R15       0x80

//==============================================================================


//==============================================================================
//        DAC6REFH Bits

extern __at(0x059D) __sfr DAC6REFH;

typedef union
  {
  struct
    {
    unsigned REF8               : 1;
    unsigned REF9               : 1;
    unsigned REF10              : 1;
    unsigned REF11              : 1;
    unsigned REF12              : 1;
    unsigned REF13              : 1;
    unsigned REF14              : 1;
    unsigned REF15              : 1;
    };

  struct
    {
    unsigned DAC6REF8           : 1;
    unsigned DAC6REF9           : 1;
    unsigned DAC6REF10          : 1;
    unsigned DAC6REF11          : 1;
    unsigned DAC6REF12          : 1;
    unsigned DAC6REF13          : 1;
    unsigned DAC6REF14          : 1;
    unsigned DAC6REF15          : 1;
    };

  struct
    {
    unsigned R8                 : 1;
    unsigned R9                 : 1;
    unsigned R10                : 1;
    unsigned R11                : 1;
    unsigned R12                : 1;
    unsigned R13                : 1;
    unsigned R14                : 1;
    unsigned R15                : 1;
    };

  struct
    {
    unsigned DAC6R8             : 1;
    unsigned DAC6R9             : 1;
    unsigned DAC6R10            : 1;
    unsigned DAC6R11            : 1;
    unsigned DAC6R12            : 1;
    unsigned DAC6R13            : 1;
    unsigned DAC6R14            : 1;
    unsigned DAC6R15            : 1;
    };
  } __DAC6REFHbits_t;

extern __at(0x059D) volatile __DAC6REFHbits_t DAC6REFHbits;

#define _DAC6REFH_REF8          0x01
#define _DAC6REFH_DAC6REF8      0x01
#define _DAC6REFH_R8            0x01
#define _DAC6REFH_DAC6R8        0x01
#define _DAC6REFH_REF9          0x02
#define _DAC6REFH_DAC6REF9      0x02
#define _DAC6REFH_R9            0x02
#define _DAC6REFH_DAC6R9        0x02
#define _DAC6REFH_REF10         0x04
#define _DAC6REFH_DAC6REF10     0x04
#define _DAC6REFH_R10           0x04
#define _DAC6REFH_DAC6R10       0x04
#define _DAC6REFH_REF11         0x08
#define _DAC6REFH_DAC6REF11     0x08
#define _DAC6REFH_R11           0x08
#define _DAC6REFH_DAC6R11       0x08
#define _DAC6REFH_REF12         0x10
#define _DAC6REFH_DAC6REF12     0x10
#define _DAC6REFH_R12           0x10
#define _DAC6REFH_DAC6R12       0x10
#define _DAC6REFH_REF13         0x20
#define _DAC6REFH_DAC6REF13     0x20
#define _DAC6REFH_R13           0x20
#define _DAC6REFH_DAC6R13       0x20
#define _DAC6REFH_REF14         0x40
#define _DAC6REFH_DAC6REF14     0x40
#define _DAC6REFH_R14           0x40
#define _DAC6REFH_DAC6R14       0x40
#define _DAC6REFH_REF15         0x80
#define _DAC6REFH_DAC6REF15     0x80
#define _DAC6REFH_R15           0x80
#define _DAC6REFH_DAC6R15       0x80

//==============================================================================


//==============================================================================
//        DAC7CON0 Bits

extern __at(0x059E) __sfr DAC7CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned DACOE1             : 1;
    unsigned                    : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC7NSS0           : 1;
    unsigned DAC7NSS1           : 1;
    unsigned DAC7PSS0           : 1;
    unsigned DAC7PSS1           : 1;
    unsigned DAC7OE2            : 1;
    unsigned DAC7OE1            : 1;
    unsigned                    : 1;
    unsigned DAC7EN             : 1;
    };

  struct
    {
    unsigned DAC7NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC7PSS            : 2;
    unsigned                    : 4;
    };
  } __DAC7CON0bits_t;

extern __at(0x059E) volatile __DAC7CON0bits_t DAC7CON0bits;

#define _DAC7CON0_NSS0          0x01
#define _DAC7CON0_DACNSS0       0x01
#define _DAC7CON0_DAC7NSS0      0x01
#define _DAC7CON0_NSS1          0x02
#define _DAC7CON0_DACNSS1       0x02
#define _DAC7CON0_DAC7NSS1      0x02
#define _DAC7CON0_PSS0          0x04
#define _DAC7CON0_DACPSS0       0x04
#define _DAC7CON0_DAC7PSS0      0x04
#define _DAC7CON0_PSS1          0x08
#define _DAC7CON0_DACPSS1       0x08
#define _DAC7CON0_DAC7PSS1      0x08
#define _DAC7CON0_OE2           0x10
#define _DAC7CON0_DACOE2        0x10
#define _DAC7CON0_DAC7OE2       0x10
#define _DAC7CON0_OE1           0x20
#define _DAC7CON0_DACOE1        0x20
#define _DAC7CON0_DAC7OE1       0x20
#define _DAC7CON0_EN            0x80
#define _DAC7CON0_DACEN         0x80
#define _DAC7CON0_DAC7EN        0x80

//==============================================================================


//==============================================================================
//        DAC7CON1 Bits

extern __at(0x059F) __sfr DAC7CON1;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7R0             : 1;
    unsigned DAC7R1             : 1;
    unsigned DAC7R2             : 1;
    unsigned DAC7R3             : 1;
    unsigned DAC7R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7REF0           : 1;
    unsigned DAC7REF1           : 1;
    unsigned DAC7REF2           : 1;
    unsigned DAC7REF3           : 1;
    unsigned DAC7REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC7REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };
  } __DAC7CON1bits_t;

extern __at(0x059F) volatile __DAC7CON1bits_t DAC7CON1bits;

#define _DAC7CON1_DACR0         0x01
#define _DAC7CON1_R0            0x01
#define _DAC7CON1_DAC7R0        0x01
#define _DAC7CON1_REF0          0x01
#define _DAC7CON1_DAC7REF0      0x01
#define _DAC7CON1_DACR1         0x02
#define _DAC7CON1_R1            0x02
#define _DAC7CON1_DAC7R1        0x02
#define _DAC7CON1_REF1          0x02
#define _DAC7CON1_DAC7REF1      0x02
#define _DAC7CON1_DACR2         0x04
#define _DAC7CON1_R2            0x04
#define _DAC7CON1_DAC7R2        0x04
#define _DAC7CON1_REF2          0x04
#define _DAC7CON1_DAC7REF2      0x04
#define _DAC7CON1_DACR3         0x08
#define _DAC7CON1_R3            0x08
#define _DAC7CON1_DAC7R3        0x08
#define _DAC7CON1_REF3          0x08
#define _DAC7CON1_DAC7REF3      0x08
#define _DAC7CON1_DACR4         0x10
#define _DAC7CON1_R4            0x10
#define _DAC7CON1_DAC7R4        0x10
#define _DAC7CON1_REF4          0x10
#define _DAC7CON1_DAC7REF4      0x10

//==============================================================================


//==============================================================================
//        DAC7REF Bits

extern __at(0x059F) __sfr DAC7REF;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7R0             : 1;
    unsigned DAC7R1             : 1;
    unsigned DAC7R2             : 1;
    unsigned DAC7R3             : 1;
    unsigned DAC7R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7REF0           : 1;
    unsigned DAC7REF1           : 1;
    unsigned DAC7REF2           : 1;
    unsigned DAC7REF3           : 1;
    unsigned DAC7REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC7REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC7R              : 5;
    unsigned                    : 3;
    };
  } __DAC7REFbits_t;

extern __at(0x059F) volatile __DAC7REFbits_t DAC7REFbits;

#define _DAC7REF_DACR0          0x01
#define _DAC7REF_R0             0x01
#define _DAC7REF_DAC7R0         0x01
#define _DAC7REF_REF0           0x01
#define _DAC7REF_DAC7REF0       0x01
#define _DAC7REF_DACR1          0x02
#define _DAC7REF_R1             0x02
#define _DAC7REF_DAC7R1         0x02
#define _DAC7REF_REF1           0x02
#define _DAC7REF_DAC7REF1       0x02
#define _DAC7REF_DACR2          0x04
#define _DAC7REF_R2             0x04
#define _DAC7REF_DAC7R2         0x04
#define _DAC7REF_REF2           0x04
#define _DAC7REF_DAC7REF2       0x04
#define _DAC7REF_DACR3          0x08
#define _DAC7REF_R3             0x08
#define _DAC7REF_DAC7R3         0x08
#define _DAC7REF_REF3           0x08
#define _DAC7REF_DAC7REF3       0x08
#define _DAC7REF_DACR4          0x10
#define _DAC7REF_R4             0x10
#define _DAC7REF_DAC7R4         0x10
#define _DAC7REF_REF4           0x10
#define _DAC7REF_DAC7REF4       0x10

//==============================================================================


//==============================================================================
//        DAC8CON0 Bits

extern __at(0x060C) __sfr DAC8CON0;

typedef union
  {
  struct
    {
    unsigned NSS0               : 1;
    unsigned NSS1               : 1;
    unsigned PSS0               : 1;
    unsigned PSS1               : 1;
    unsigned OE2                : 1;
    unsigned OE1                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned DACNSS0            : 1;
    unsigned DACNSS1            : 1;
    unsigned DACPSS0            : 1;
    unsigned DACPSS1            : 1;
    unsigned DACOE2             : 1;
    unsigned DACOE1             : 1;
    unsigned                    : 1;
    unsigned DACEN              : 1;
    };

  struct
    {
    unsigned DAC8NSS0           : 1;
    unsigned DAC8NSS1           : 1;
    unsigned DAC8PSS0           : 1;
    unsigned DAC8PSS1           : 1;
    unsigned DAC8OE2            : 1;
    unsigned DAC8OE1            : 1;
    unsigned                    : 1;
    unsigned DAC8EN             : 1;
    };

  struct
    {
    unsigned NSS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DACNSS             : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned DAC8NSS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DACPSS             : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PSS                : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned DAC8PSS            : 2;
    unsigned                    : 4;
    };
  } __DAC8CON0bits_t;

extern __at(0x060C) volatile __DAC8CON0bits_t DAC8CON0bits;

#define _DAC8CON0_NSS0          0x01
#define _DAC8CON0_DACNSS0       0x01
#define _DAC8CON0_DAC8NSS0      0x01
#define _DAC8CON0_NSS1          0x02
#define _DAC8CON0_DACNSS1       0x02
#define _DAC8CON0_DAC8NSS1      0x02
#define _DAC8CON0_PSS0          0x04
#define _DAC8CON0_DACPSS0       0x04
#define _DAC8CON0_DAC8PSS0      0x04
#define _DAC8CON0_PSS1          0x08
#define _DAC8CON0_DACPSS1       0x08
#define _DAC8CON0_DAC8PSS1      0x08
#define _DAC8CON0_OE2           0x10
#define _DAC8CON0_DACOE2        0x10
#define _DAC8CON0_DAC8OE2       0x10
#define _DAC8CON0_OE1           0x20
#define _DAC8CON0_DACOE1        0x20
#define _DAC8CON0_DAC8OE1       0x20
#define _DAC8CON0_EN            0x80
#define _DAC8CON0_DACEN         0x80
#define _DAC8CON0_DAC8EN        0x80

//==============================================================================


//==============================================================================
//        DAC8CON1 Bits

extern __at(0x060D) __sfr DAC8CON1;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC8R0             : 1;
    unsigned DAC8R1             : 1;
    unsigned DAC8R2             : 1;
    unsigned DAC8R3             : 1;
    unsigned DAC8R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC8REF0           : 1;
    unsigned DAC8REF1           : 1;
    unsigned DAC8REF2           : 1;
    unsigned DAC8REF3           : 1;
    unsigned DAC8REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC8REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC8R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };
  } __DAC8CON1bits_t;

extern __at(0x060D) volatile __DAC8CON1bits_t DAC8CON1bits;

#define _DAC8CON1_DACR0         0x01
#define _DAC8CON1_R0            0x01
#define _DAC8CON1_DAC8R0        0x01
#define _DAC8CON1_REF0          0x01
#define _DAC8CON1_DAC8REF0      0x01
#define _DAC8CON1_DACR1         0x02
#define _DAC8CON1_R1            0x02
#define _DAC8CON1_DAC8R1        0x02
#define _DAC8CON1_REF1          0x02
#define _DAC8CON1_DAC8REF1      0x02
#define _DAC8CON1_DACR2         0x04
#define _DAC8CON1_R2            0x04
#define _DAC8CON1_DAC8R2        0x04
#define _DAC8CON1_REF2          0x04
#define _DAC8CON1_DAC8REF2      0x04
#define _DAC8CON1_DACR3         0x08
#define _DAC8CON1_R3            0x08
#define _DAC8CON1_DAC8R3        0x08
#define _DAC8CON1_REF3          0x08
#define _DAC8CON1_DAC8REF3      0x08
#define _DAC8CON1_DACR4         0x10
#define _DAC8CON1_R4            0x10
#define _DAC8CON1_DAC8R4        0x10
#define _DAC8CON1_REF4          0x10
#define _DAC8CON1_DAC8REF4      0x10

//==============================================================================


//==============================================================================
//        DAC8REF Bits

extern __at(0x060D) __sfr DAC8REF;

typedef union
  {
  struct
    {
    unsigned DACR0              : 1;
    unsigned DACR1              : 1;
    unsigned DACR2              : 1;
    unsigned DACR3              : 1;
    unsigned DACR4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R0                 : 1;
    unsigned R1                 : 1;
    unsigned R2                 : 1;
    unsigned R3                 : 1;
    unsigned R4                 : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC8R0             : 1;
    unsigned DAC8R1             : 1;
    unsigned DAC8R2             : 1;
    unsigned DAC8R3             : 1;
    unsigned DAC8R4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned REF0               : 1;
    unsigned REF1               : 1;
    unsigned REF2               : 1;
    unsigned REF3               : 1;
    unsigned REF4               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DAC8REF0           : 1;
    unsigned DAC8REF1           : 1;
    unsigned DAC8REF2           : 1;
    unsigned DAC8REF3           : 1;
    unsigned DAC8REF4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned R                  : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned REF                : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC8REF            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DAC8R              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned DACR               : 5;
    unsigned                    : 3;
    };
  } __DAC8REFbits_t;

extern __at(0x060D) volatile __DAC8REFbits_t DAC8REFbits;

#define _DAC8REF_DACR0          0x01
#define _DAC8REF_R0             0x01
#define _DAC8REF_DAC8R0         0x01
#define _DAC8REF_REF0           0x01
#define _DAC8REF_DAC8REF0       0x01
#define _DAC8REF_DACR1          0x02
#define _DAC8REF_R1             0x02
#define _DAC8REF_DAC8R1         0x02
#define _DAC8REF_REF1           0x02
#define _DAC8REF_DAC8REF1       0x02
#define _DAC8REF_DACR2          0x04
#define _DAC8REF_R2             0x04
#define _DAC8REF_DAC8R2         0x04
#define _DAC8REF_REF2           0x04
#define _DAC8REF_DAC8REF2       0x04
#define _DAC8REF_DACR3          0x08
#define _DAC8REF_R3             0x08
#define _DAC8REF_DAC8R3         0x08
#define _DAC8REF_REF3           0x08
#define _DAC8REF_DAC8REF3       0x08
#define _DAC8REF_DACR4          0x10
#define _DAC8REF_R4             0x10
#define _DAC8REF_DAC8R4         0x10
#define _DAC8REF_REF4           0x10
#define _DAC8REF_DAC8REF4       0x10

//==============================================================================


//==============================================================================
//        PRG4RTSS Bits

extern __at(0x060E) __sfr PRG4RTSS;

typedef union
  {
  struct
    {
    unsigned RTSS0              : 1;
    unsigned RTSS1              : 1;
    unsigned RTSS2              : 1;
    unsigned RTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4RTSS0           : 1;
    unsigned RG4RTSS1           : 1;
    unsigned RG4RTSS2           : 1;
    unsigned RG4RTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RTSS               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RG4RTSS            : 4;
    unsigned                    : 4;
    };
  } __PRG4RTSSbits_t;

extern __at(0x060E) volatile __PRG4RTSSbits_t PRG4RTSSbits;

#define _PRG4RTSS_RTSS0         0x01
#define _PRG4RTSS_RG4RTSS0      0x01
#define _PRG4RTSS_RTSS1         0x02
#define _PRG4RTSS_RG4RTSS1      0x02
#define _PRG4RTSS_RTSS2         0x04
#define _PRG4RTSS_RG4RTSS2      0x04
#define _PRG4RTSS_RTSS3         0x08
#define _PRG4RTSS_RG4RTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG4FTSS Bits

extern __at(0x060F) __sfr PRG4FTSS;

typedef union
  {
  struct
    {
    unsigned FTSS0              : 1;
    unsigned FTSS1              : 1;
    unsigned FTSS2              : 1;
    unsigned FTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4FTSS0           : 1;
    unsigned RG4FTSS1           : 1;
    unsigned RG4FTSS2           : 1;
    unsigned RG4FTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4FTSS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned FTSS               : 4;
    unsigned                    : 4;
    };
  } __PRG4FTSSbits_t;

extern __at(0x060F) volatile __PRG4FTSSbits_t PRG4FTSSbits;

#define _PRG4FTSS_FTSS0         0x01
#define _PRG4FTSS_RG4FTSS0      0x01
#define _PRG4FTSS_FTSS1         0x02
#define _PRG4FTSS_RG4FTSS1      0x02
#define _PRG4FTSS_FTSS2         0x04
#define _PRG4FTSS_RG4FTSS2      0x04
#define _PRG4FTSS_FTSS3         0x08
#define _PRG4FTSS_RG4FTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG4INS Bits

extern __at(0x0610) __sfr PRG4INS;

typedef union
  {
  struct
    {
    unsigned INS0               : 1;
    unsigned INS1               : 1;
    unsigned INS2               : 1;
    unsigned INS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4INS0            : 1;
    unsigned RG4INS1            : 1;
    unsigned RG4INS2            : 1;
    unsigned RG4INS3            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4INS             : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned INS                : 4;
    unsigned                    : 4;
    };
  } __PRG4INSbits_t;

extern __at(0x0610) volatile __PRG4INSbits_t PRG4INSbits;

#define _PRG4INS_INS0           0x01
#define _PRG4INS_RG4INS0        0x01
#define _PRG4INS_INS1           0x02
#define _PRG4INS_RG4INS1        0x02
#define _PRG4INS_INS2           0x04
#define _PRG4INS_RG4INS2        0x04
#define _PRG4INS_INS3           0x08
#define _PRG4INS_RG4INS3        0x08

//==============================================================================


//==============================================================================
//        PRG4CON0 Bits

extern __at(0x0611) __sfr PRG4CON0;

typedef union
  {
  struct
    {
    unsigned GO                 : 1;
    unsigned OS                 : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned REDG               : 1;
    unsigned FEDG               : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned RG4GO              : 1;
    unsigned RG4OS              : 1;
    unsigned RG4MODE0           : 1;
    unsigned RG4MODE1           : 1;
    unsigned RG4REDG            : 1;
    unsigned RG4FEDG            : 1;
    unsigned                    : 1;
    unsigned RG4EN              : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned RG4MODE            : 2;
    unsigned                    : 4;
    };
  } __PRG4CON0bits_t;

extern __at(0x0611) volatile __PRG4CON0bits_t PRG4CON0bits;

#define _PRG4CON0_GO            0x01
#define _PRG4CON0_RG4GO         0x01
#define _PRG4CON0_OS            0x02
#define _PRG4CON0_RG4OS         0x02
#define _PRG4CON0_MODE0         0x04
#define _PRG4CON0_RG4MODE0      0x04
#define _PRG4CON0_MODE1         0x08
#define _PRG4CON0_RG4MODE1      0x08
#define _PRG4CON0_REDG          0x10
#define _PRG4CON0_RG4REDG       0x10
#define _PRG4CON0_FEDG          0x20
#define _PRG4CON0_RG4FEDG       0x20
#define _PRG4CON0_EN            0x80
#define _PRG4CON0_RG4EN         0x80

//==============================================================================


//==============================================================================
//        PRG4CON1 Bits

extern __at(0x0612) __sfr PRG4CON1;

typedef union
  {
  struct
    {
    unsigned RPOL               : 1;
    unsigned FPOL               : 1;
    unsigned RDY                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4RPOL            : 1;
    unsigned RG4FPOL            : 1;
    unsigned RG4RDY             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PRG4CON1bits_t;

extern __at(0x0612) volatile __PRG4CON1bits_t PRG4CON1bits;

#define _PRG4CON1_RPOL          0x01
#define _PRG4CON1_RG4RPOL       0x01
#define _PRG4CON1_FPOL          0x02
#define _PRG4CON1_RG4FPOL       0x02
#define _PRG4CON1_RDY           0x04
#define _PRG4CON1_RG4RDY        0x04

//==============================================================================


//==============================================================================
//        PRG4CON2 Bits

extern __at(0x0613) __sfr PRG4CON2;

typedef union
  {
  struct
    {
    unsigned ISET0              : 1;
    unsigned ISET1              : 1;
    unsigned ISET2              : 1;
    unsigned ISET3              : 1;
    unsigned ISET4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4ISET0           : 1;
    unsigned RG4ISET1           : 1;
    unsigned RG4ISET2           : 1;
    unsigned RG4ISET3           : 1;
    unsigned RG4ISET4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG4ISET            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned ISET               : 5;
    unsigned                    : 3;
    };
  } __PRG4CON2bits_t;

extern __at(0x0613) volatile __PRG4CON2bits_t PRG4CON2bits;

#define _PRG4CON2_ISET0         0x01
#define _PRG4CON2_RG4ISET0      0x01
#define _PRG4CON2_ISET1         0x02
#define _PRG4CON2_RG4ISET1      0x02
#define _PRG4CON2_ISET2         0x04
#define _PRG4CON2_RG4ISET2      0x04
#define _PRG4CON2_ISET3         0x08
#define _PRG4CON2_RG4ISET3      0x08
#define _PRG4CON2_ISET4         0x10
#define _PRG4CON2_RG4ISET4      0x10

//==============================================================================


//==============================================================================
//        PWM3DCL Bits

extern __at(0x0614) __sfr PWM3DCL;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DC0                : 1;
    unsigned DC1                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM3DC0            : 1;
    unsigned PWM3DC1            : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWMPW0             : 1;
    unsigned PWMPW1             : 1;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWM3DC             : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWMPW              : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned DC                 : 2;
    };
  } __PWM3DCLbits_t;

extern __at(0x0614) volatile __PWM3DCLbits_t PWM3DCLbits;

#define _DC0                    0x40
#define _PWM3DC0                0x40
#define _PWMPW0                 0x40
#define _DC1                    0x80
#define _PWM3DC1                0x80
#define _PWMPW1                 0x80

//==============================================================================


//==============================================================================
//        PWM3DCH Bits

extern __at(0x0615) __sfr PWM3DCH;

typedef union
  {
  struct
    {
    unsigned DC2                : 1;
    unsigned DC3                : 1;
    unsigned DC4                : 1;
    unsigned DC5                : 1;
    unsigned DC6                : 1;
    unsigned DC7                : 1;
    unsigned DC8                : 1;
    unsigned DC9                : 1;
    };

  struct
    {
    unsigned PWM3DC2            : 1;
    unsigned PWM3DC3            : 1;
    unsigned PWM3DC4            : 1;
    unsigned PWM3DC5            : 1;
    unsigned PWM3DC6            : 1;
    unsigned PWM3DC7            : 1;
    unsigned PWM3DC8            : 1;
    unsigned PWM3DC9            : 1;
    };

  struct
    {
    unsigned PWMPW2             : 1;
    unsigned PWMPW3             : 1;
    unsigned PWMPW4             : 1;
    unsigned PWMPW5             : 1;
    unsigned PWMPW6             : 1;
    unsigned PWMPW7             : 1;
    unsigned PWMPW8             : 1;
    unsigned PWMPW9             : 1;
    };
  } __PWM3DCHbits_t;

extern __at(0x0615) volatile __PWM3DCHbits_t PWM3DCHbits;

#define _DC2                    0x01
#define _PWM3DC2                0x01
#define _PWMPW2                 0x01
#define _DC3                    0x02
#define _PWM3DC3                0x02
#define _PWMPW3                 0x02
#define _DC4                    0x04
#define _PWM3DC4                0x04
#define _PWMPW4                 0x04
#define _DC5                    0x08
#define _PWM3DC5                0x08
#define _PWMPW5                 0x08
#define _DC6                    0x10
#define _PWM3DC6                0x10
#define _PWMPW6                 0x10
#define _DC7                    0x20
#define _PWM3DC7                0x20
#define _PWMPW7                 0x20
#define _DC8                    0x40
#define _PWM3DC8                0x40
#define _PWMPW8                 0x40
#define _DC9                    0x80
#define _PWM3DC9                0x80
#define _PWMPW9                 0x80

//==============================================================================


//==============================================================================
//        PWM3CON Bits

extern __at(0x0616) __sfr PWM3CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM3POL            : 1;
    unsigned PWM3OUT            : 1;
    unsigned                    : 1;
    unsigned PWM3EN             : 1;
    };
  } __PWM3CONbits_t;

extern __at(0x0616) volatile __PWM3CONbits_t PWM3CONbits;

#define _PWM3CON_POL            0x10
#define _PWM3CON_PWM3POL        0x10
#define _PWM3CON_OUT            0x20
#define _PWM3CON_PWM3OUT        0x20
#define _PWM3CON_EN             0x80
#define _PWM3CON_PWM3EN         0x80

//==============================================================================


//==============================================================================
//        PWM4DCL Bits

extern __at(0x0617) __sfr PWM4DCL;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DC0                : 1;
    unsigned DC1                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM4DC0            : 1;
    unsigned PWM4DC1            : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWMPW0             : 1;
    unsigned PWMPW1             : 1;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWMPW              : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned DC                 : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWM4DC             : 2;
    };
  } __PWM4DCLbits_t;

extern __at(0x0617) volatile __PWM4DCLbits_t PWM4DCLbits;

#define _PWM4DCL_DC0            0x40
#define _PWM4DCL_PWM4DC0        0x40
#define _PWM4DCL_PWMPW0         0x40
#define _PWM4DCL_DC1            0x80
#define _PWM4DCL_PWM4DC1        0x80
#define _PWM4DCL_PWMPW1         0x80

//==============================================================================


//==============================================================================
//        PWM4DCH Bits

extern __at(0x0618) __sfr PWM4DCH;

typedef union
  {
  struct
    {
    unsigned DC2                : 1;
    unsigned DC3                : 1;
    unsigned DC4                : 1;
    unsigned DC5                : 1;
    unsigned DC6                : 1;
    unsigned DC7                : 1;
    unsigned DC8                : 1;
    unsigned DC9                : 1;
    };

  struct
    {
    unsigned PWM4DC2            : 1;
    unsigned PWM4DC3            : 1;
    unsigned PWM4DC4            : 1;
    unsigned PWM4DC5            : 1;
    unsigned PWM4DC6            : 1;
    unsigned PWM4DC7            : 1;
    unsigned PWM4DC8            : 1;
    unsigned PWM4DC9            : 1;
    };

  struct
    {
    unsigned PWMPW2             : 1;
    unsigned PWMPW3             : 1;
    unsigned PWMPW4             : 1;
    unsigned PWMPW5             : 1;
    unsigned PWMPW6             : 1;
    unsigned PWMPW7             : 1;
    unsigned PWMPW8             : 1;
    unsigned PWMPW9             : 1;
    };
  } __PWM4DCHbits_t;

extern __at(0x0618) volatile __PWM4DCHbits_t PWM4DCHbits;

#define _PWM4DCH_DC2            0x01
#define _PWM4DCH_PWM4DC2        0x01
#define _PWM4DCH_PWMPW2         0x01
#define _PWM4DCH_DC3            0x02
#define _PWM4DCH_PWM4DC3        0x02
#define _PWM4DCH_PWMPW3         0x02
#define _PWM4DCH_DC4            0x04
#define _PWM4DCH_PWM4DC4        0x04
#define _PWM4DCH_PWMPW4         0x04
#define _PWM4DCH_DC5            0x08
#define _PWM4DCH_PWM4DC5        0x08
#define _PWM4DCH_PWMPW5         0x08
#define _PWM4DCH_DC6            0x10
#define _PWM4DCH_PWM4DC6        0x10
#define _PWM4DCH_PWMPW6         0x10
#define _PWM4DCH_DC7            0x20
#define _PWM4DCH_PWM4DC7        0x20
#define _PWM4DCH_PWMPW7         0x20
#define _PWM4DCH_DC8            0x40
#define _PWM4DCH_PWM4DC8        0x40
#define _PWM4DCH_PWMPW8         0x40
#define _PWM4DCH_DC9            0x80
#define _PWM4DCH_PWM4DC9        0x80
#define _PWM4DCH_PWMPW9         0x80

//==============================================================================


//==============================================================================
//        PWM4CON Bits

extern __at(0x0619) __sfr PWM4CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM4POL            : 1;
    unsigned PWM4OUT            : 1;
    unsigned                    : 1;
    unsigned PWM4EN             : 1;
    };
  } __PWM4CONbits_t;

extern __at(0x0619) volatile __PWM4CONbits_t PWM4CONbits;

#define _PWM4CON_POL            0x10
#define _PWM4CON_PWM4POL        0x10
#define _PWM4CON_OUT            0x20
#define _PWM4CON_PWM4OUT        0x20
#define _PWM4CON_EN             0x80
#define _PWM4CON_PWM4EN         0x80

//==============================================================================


//==============================================================================
//        PWM9DCL Bits

extern __at(0x061A) __sfr PWM9DCL;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DC0                : 1;
    unsigned DC1                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM9DC0            : 1;
    unsigned PWM9DC1            : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWMPW0             : 1;
    unsigned PWMPW1             : 1;
    };

  struct
    {
    unsigned                    : 6;
    unsigned DC                 : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWMPW              : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWM9DC             : 2;
    };
  } __PWM9DCLbits_t;

extern __at(0x061A) volatile __PWM9DCLbits_t PWM9DCLbits;

#define _PWM9DCL_DC0            0x40
#define _PWM9DCL_PWM9DC0        0x40
#define _PWM9DCL_PWMPW0         0x40
#define _PWM9DCL_DC1            0x80
#define _PWM9DCL_PWM9DC1        0x80
#define _PWM9DCL_PWMPW1         0x80

//==============================================================================


//==============================================================================
//        PWM9DCH Bits

extern __at(0x061B) __sfr PWM9DCH;

typedef union
  {
  struct
    {
    unsigned DC2                : 1;
    unsigned DC3                : 1;
    unsigned DC4                : 1;
    unsigned DC5                : 1;
    unsigned DC6                : 1;
    unsigned DC7                : 1;
    unsigned DC8                : 1;
    unsigned DC9                : 1;
    };

  struct
    {
    unsigned PWM9DC2            : 1;
    unsigned PWM9DC3            : 1;
    unsigned PWM9DC4            : 1;
    unsigned PWM9DC5            : 1;
    unsigned PWM9DC6            : 1;
    unsigned PWM9DC7            : 1;
    unsigned PWM9DC8            : 1;
    unsigned PWM9DC9            : 1;
    };

  struct
    {
    unsigned PWMPW2             : 1;
    unsigned PWMPW3             : 1;
    unsigned PWMPW4             : 1;
    unsigned PWMPW5             : 1;
    unsigned PWMPW6             : 1;
    unsigned PWMPW7             : 1;
    unsigned PWMPW8             : 1;
    unsigned PWMPW9             : 1;
    };
  } __PWM9DCHbits_t;

extern __at(0x061B) volatile __PWM9DCHbits_t PWM9DCHbits;

#define _PWM9DCH_DC2            0x01
#define _PWM9DCH_PWM9DC2        0x01
#define _PWM9DCH_PWMPW2         0x01
#define _PWM9DCH_DC3            0x02
#define _PWM9DCH_PWM9DC3        0x02
#define _PWM9DCH_PWMPW3         0x02
#define _PWM9DCH_DC4            0x04
#define _PWM9DCH_PWM9DC4        0x04
#define _PWM9DCH_PWMPW4         0x04
#define _PWM9DCH_DC5            0x08
#define _PWM9DCH_PWM9DC5        0x08
#define _PWM9DCH_PWMPW5         0x08
#define _PWM9DCH_DC6            0x10
#define _PWM9DCH_PWM9DC6        0x10
#define _PWM9DCH_PWMPW6         0x10
#define _PWM9DCH_DC7            0x20
#define _PWM9DCH_PWM9DC7        0x20
#define _PWM9DCH_PWMPW7         0x20
#define _PWM9DCH_DC8            0x40
#define _PWM9DCH_PWM9DC8        0x40
#define _PWM9DCH_PWMPW8         0x40
#define _PWM9DCH_DC9            0x80
#define _PWM9DCH_PWM9DC9        0x80
#define _PWM9DCH_PWMPW9         0x80

//==============================================================================


//==============================================================================
//        PWM9CON Bits

extern __at(0x061C) __sfr PWM9CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM9POL            : 1;
    unsigned PWM9OUT            : 1;
    unsigned                    : 1;
    unsigned PWM9EN             : 1;
    };
  } __PWM9CONbits_t;

extern __at(0x061C) volatile __PWM9CONbits_t PWM9CONbits;

#define _PWM9CON_POL            0x10
#define _PWM9CON_PWM9POL        0x10
#define _PWM9CON_OUT            0x20
#define _PWM9CON_PWM9OUT        0x20
#define _PWM9CON_EN             0x80
#define _PWM9CON_PWM9EN         0x80

//==============================================================================


//==============================================================================
//        PWM10DCL Bits

extern __at(0x061D) __sfr PWM10DCL;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned DC0                : 1;
    unsigned DC1                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM10DC0           : 1;
    unsigned PWM10DC1           : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWMPW0             : 1;
    unsigned PWMPW1             : 1;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWM10DC            : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned DC                 : 2;
    };

  struct
    {
    unsigned                    : 6;
    unsigned PWMPW              : 2;
    };
  } __PWM10DCLbits_t;

extern __at(0x061D) volatile __PWM10DCLbits_t PWM10DCLbits;

#define _PWM10DCL_DC0           0x40
#define _PWM10DCL_PWM10DC0      0x40
#define _PWM10DCL_PWMPW0        0x40
#define _PWM10DCL_DC1           0x80
#define _PWM10DCL_PWM10DC1      0x80
#define _PWM10DCL_PWMPW1        0x80

//==============================================================================


//==============================================================================
//        PWM10DCH Bits

extern __at(0x061E) __sfr PWM10DCH;

typedef union
  {
  struct
    {
    unsigned DC2                : 1;
    unsigned DC3                : 1;
    unsigned DC4                : 1;
    unsigned DC5                : 1;
    unsigned DC6                : 1;
    unsigned DC7                : 1;
    unsigned DC8                : 1;
    unsigned DC9                : 1;
    };

  struct
    {
    unsigned PWM10DC2           : 1;
    unsigned PWM10DC3           : 1;
    unsigned PWM10DC4           : 1;
    unsigned PWM10DC5           : 1;
    unsigned PWM10DC6           : 1;
    unsigned PWM10DC7           : 1;
    unsigned PWM10DC8           : 1;
    unsigned PWM10DC9           : 1;
    };

  struct
    {
    unsigned PWMPW2             : 1;
    unsigned PWMPW3             : 1;
    unsigned PWMPW4             : 1;
    unsigned PWMPW5             : 1;
    unsigned PWMPW6             : 1;
    unsigned PWMPW7             : 1;
    unsigned PWMPW8             : 1;
    unsigned PWMPW9             : 1;
    };
  } __PWM10DCHbits_t;

extern __at(0x061E) volatile __PWM10DCHbits_t PWM10DCHbits;

#define _PWM10DCH_DC2           0x01
#define _PWM10DCH_PWM10DC2      0x01
#define _PWM10DCH_PWMPW2        0x01
#define _PWM10DCH_DC3           0x02
#define _PWM10DCH_PWM10DC3      0x02
#define _PWM10DCH_PWMPW3        0x02
#define _PWM10DCH_DC4           0x04
#define _PWM10DCH_PWM10DC4      0x04
#define _PWM10DCH_PWMPW4        0x04
#define _PWM10DCH_DC5           0x08
#define _PWM10DCH_PWM10DC5      0x08
#define _PWM10DCH_PWMPW5        0x08
#define _PWM10DCH_DC6           0x10
#define _PWM10DCH_PWM10DC6      0x10
#define _PWM10DCH_PWMPW6        0x10
#define _PWM10DCH_DC7           0x20
#define _PWM10DCH_PWM10DC7      0x20
#define _PWM10DCH_PWMPW7        0x20
#define _PWM10DCH_DC8           0x40
#define _PWM10DCH_PWM10DC8      0x40
#define _PWM10DCH_PWMPW8        0x40
#define _PWM10DCH_DC9           0x80
#define _PWM10DCH_PWM10DC9      0x80
#define _PWM10DCH_PWMPW9        0x80

//==============================================================================


//==============================================================================
//        PWM10CON Bits

extern __at(0x061F) __sfr PWM10CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM10POL           : 1;
    unsigned PWM10OUT           : 1;
    unsigned                    : 1;
    unsigned PWM10EN            : 1;
    };
  } __PWM10CONbits_t;

extern __at(0x061F) volatile __PWM10CONbits_t PWM10CONbits;

#define _PWM10CON_POL           0x10
#define _PWM10CON_PWM10POL      0x10
#define _PWM10CON_OUT           0x20
#define _PWM10CON_PWM10OUT      0x20
#define _PWM10CON_EN            0x80
#define _PWM10CON_PWM10EN       0x80

//==============================================================================


//==============================================================================
//        COG1PHR Bits

extern __at(0x068D) __sfr COG1PHR;

typedef union
  {
  struct
    {
    unsigned PHR0               : 1;
    unsigned PHR1               : 1;
    unsigned PHR2               : 1;
    unsigned PHR3               : 1;
    unsigned PHR4               : 1;
    unsigned PHR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1PHR0             : 1;
    unsigned G1PHR1             : 1;
    unsigned G1PHR2             : 1;
    unsigned G1PHR3             : 1;
    unsigned G1PHR4             : 1;
    unsigned G1PHR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1PHR              : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned PHR                : 6;
    unsigned                    : 2;
    };
  } __COG1PHRbits_t;

extern __at(0x068D) volatile __COG1PHRbits_t COG1PHRbits;

#define _PHR0                   0x01
#define _G1PHR0                 0x01
#define _PHR1                   0x02
#define _G1PHR1                 0x02
#define _PHR2                   0x04
#define _G1PHR2                 0x04
#define _PHR3                   0x08
#define _G1PHR3                 0x08
#define _PHR4                   0x10
#define _G1PHR4                 0x10
#define _PHR5                   0x20
#define _G1PHR5                 0x20

//==============================================================================


//==============================================================================
//        COG1PHF Bits

extern __at(0x068E) __sfr COG1PHF;

typedef union
  {
  struct
    {
    unsigned PHF0               : 1;
    unsigned PHF1               : 1;
    unsigned PHF2               : 1;
    unsigned PHF3               : 1;
    unsigned PHF4               : 1;
    unsigned PHF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1PHF0             : 1;
    unsigned G1PHF1             : 1;
    unsigned G1PHF2             : 1;
    unsigned G1PHF3             : 1;
    unsigned G1PHF4             : 1;
    unsigned G1PHF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G1PHF              : 6;
    unsigned                    : 2;
    };
  } __COG1PHFbits_t;

extern __at(0x068E) volatile __COG1PHFbits_t COG1PHFbits;

#define _PHF0                   0x01
#define _G1PHF0                 0x01
#define _PHF1                   0x02
#define _G1PHF1                 0x02
#define _PHF2                   0x04
#define _G1PHF2                 0x04
#define _PHF3                   0x08
#define _G1PHF3                 0x08
#define _PHF4                   0x10
#define _G1PHF4                 0x10
#define _PHF5                   0x20
#define _G1PHF5                 0x20

//==============================================================================


//==============================================================================
//        COG1BLKR Bits

extern __at(0x068F) __sfr COG1BLKR;

typedef union
  {
  struct
    {
    unsigned BLKR0              : 1;
    unsigned BLKR1              : 1;
    unsigned BLKR2              : 1;
    unsigned BLKR3              : 1;
    unsigned BLKR4              : 1;
    unsigned BLKR5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1BLKR0            : 1;
    unsigned G1BLKR1            : 1;
    unsigned G1BLKR2            : 1;
    unsigned G1BLKR3            : 1;
    unsigned G1BLKR4            : 1;
    unsigned G1BLKR5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1BLKR             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKR               : 6;
    unsigned                    : 2;
    };
  } __COG1BLKRbits_t;

extern __at(0x068F) volatile __COG1BLKRbits_t COG1BLKRbits;

#define _BLKR0                  0x01
#define _G1BLKR0                0x01
#define _BLKR1                  0x02
#define _G1BLKR1                0x02
#define _BLKR2                  0x04
#define _G1BLKR2                0x04
#define _BLKR3                  0x08
#define _G1BLKR3                0x08
#define _BLKR4                  0x10
#define _G1BLKR4                0x10
#define _BLKR5                  0x20
#define _G1BLKR5                0x20

//==============================================================================


//==============================================================================
//        COG1BLKF Bits

extern __at(0x0690) __sfr COG1BLKF;

typedef union
  {
  struct
    {
    unsigned BLKF0              : 1;
    unsigned BLKF1              : 1;
    unsigned BLKF2              : 1;
    unsigned BLKF3              : 1;
    unsigned BLKF4              : 1;
    unsigned BLKF5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1BLKF0            : 1;
    unsigned G1BLKF1            : 1;
    unsigned G1BLKF2            : 1;
    unsigned G1BLKF3            : 1;
    unsigned G1BLKF4            : 1;
    unsigned G1BLKF5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1BLKF             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKF               : 6;
    unsigned                    : 2;
    };
  } __COG1BLKFbits_t;

extern __at(0x0690) volatile __COG1BLKFbits_t COG1BLKFbits;

#define _BLKF0                  0x01
#define _G1BLKF0                0x01
#define _BLKF1                  0x02
#define _G1BLKF1                0x02
#define _BLKF2                  0x04
#define _G1BLKF2                0x04
#define _BLKF3                  0x08
#define _G1BLKF3                0x08
#define _BLKF4                  0x10
#define _G1BLKF4                0x10
#define _BLKF5                  0x20
#define _G1BLKF5                0x20

//==============================================================================


//==============================================================================
//        COG1DBR Bits

extern __at(0x0691) __sfr COG1DBR;

typedef union
  {
  struct
    {
    unsigned DBR0               : 1;
    unsigned DBR1               : 1;
    unsigned DBR2               : 1;
    unsigned DBR3               : 1;
    unsigned DBR4               : 1;
    unsigned DBR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1DBR0             : 1;
    unsigned G1DBR1             : 1;
    unsigned G1DBR2             : 1;
    unsigned G1DBR3             : 1;
    unsigned G1DBR4             : 1;
    unsigned G1DBR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1DBR              : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned DBR                : 6;
    unsigned                    : 2;
    };
  } __COG1DBRbits_t;

extern __at(0x0691) volatile __COG1DBRbits_t COG1DBRbits;

#define _DBR0                   0x01
#define _G1DBR0                 0x01
#define _DBR1                   0x02
#define _G1DBR1                 0x02
#define _DBR2                   0x04
#define _G1DBR2                 0x04
#define _DBR3                   0x08
#define _G1DBR3                 0x08
#define _DBR4                   0x10
#define _G1DBR4                 0x10
#define _DBR5                   0x20
#define _G1DBR5                 0x20

//==============================================================================


//==============================================================================
//        COG1DBF Bits

extern __at(0x0692) __sfr COG1DBF;

typedef union
  {
  struct
    {
    unsigned DBF0               : 1;
    unsigned DBF1               : 1;
    unsigned DBF2               : 1;
    unsigned DBF3               : 1;
    unsigned DBF4               : 1;
    unsigned DBF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G1DBF0             : 1;
    unsigned G1DBF1             : 1;
    unsigned G1DBF2             : 1;
    unsigned G1DBF3             : 1;
    unsigned G1DBF4             : 1;
    unsigned G1DBF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DBF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G1DBF              : 6;
    unsigned                    : 2;
    };
  } __COG1DBFbits_t;

extern __at(0x0692) volatile __COG1DBFbits_t COG1DBFbits;

#define _DBF0                   0x01
#define _G1DBF0                 0x01
#define _DBF1                   0x02
#define _G1DBF1                 0x02
#define _DBF2                   0x04
#define _G1DBF2                 0x04
#define _DBF3                   0x08
#define _G1DBF3                 0x08
#define _DBF4                   0x10
#define _G1DBF4                 0x10
#define _DBF5                   0x20
#define _G1DBF5                 0x20

//==============================================================================


//==============================================================================
//        COG1CON0 Bits

extern __at(0x0693) __sfr COG1CON0;

typedef union
  {
  struct
    {
    unsigned MD0                : 1;
    unsigned MD1                : 1;
    unsigned MD2                : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned                    : 1;
    unsigned LD                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned G1MD0              : 1;
    unsigned G1MD1              : 1;
    unsigned G1MD2              : 1;
    unsigned G1CS0              : 1;
    unsigned G1CS1              : 1;
    unsigned                    : 1;
    unsigned G1LD               : 1;
    unsigned G1EN               : 1;
    };

  struct
    {
    unsigned MD                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned G1MD               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 3;
    unsigned G1CS               : 2;
    unsigned                    : 3;
    };

  struct
    {
    unsigned                    : 3;
    unsigned CS                 : 2;
    unsigned                    : 3;
    };
  } __COG1CON0bits_t;

extern __at(0x0693) volatile __COG1CON0bits_t COG1CON0bits;

#define _COG1CON0_MD0           0x01
#define _COG1CON0_G1MD0         0x01
#define _COG1CON0_MD1           0x02
#define _COG1CON0_G1MD1         0x02
#define _COG1CON0_MD2           0x04
#define _COG1CON0_G1MD2         0x04
#define _COG1CON0_CS0           0x08
#define _COG1CON0_G1CS0         0x08
#define _COG1CON0_CS1           0x10
#define _COG1CON0_G1CS1         0x10
#define _COG1CON0_LD            0x40
#define _COG1CON0_G1LD          0x40
#define _COG1CON0_EN            0x80
#define _COG1CON0_G1EN          0x80

//==============================================================================


//==============================================================================
//        COG1CON1 Bits

extern __at(0x0694) __sfr COG1CON1;

typedef union
  {
  struct
    {
    unsigned POLA               : 1;
    unsigned POLB               : 1;
    unsigned POLC               : 1;
    unsigned POLD               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned FDBS               : 1;
    unsigned RDBS               : 1;
    };

  struct
    {
    unsigned G1POLA             : 1;
    unsigned G1POLB             : 1;
    unsigned G1POLC             : 1;
    unsigned G1POLD             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G1FDBS             : 1;
    unsigned G1RDBS             : 1;
    };
  } __COG1CON1bits_t;

extern __at(0x0694) volatile __COG1CON1bits_t COG1CON1bits;

#define _POLA                   0x01
#define _G1POLA                 0x01
#define _POLB                   0x02
#define _G1POLB                 0x02
#define _POLC                   0x04
#define _G1POLC                 0x04
#define _POLD                   0x08
#define _G1POLD                 0x08
#define _FDBS                   0x40
#define _G1FDBS                 0x40
#define _RDBS                   0x80
#define _G1RDBS                 0x80

//==============================================================================


//==============================================================================
//        COG1RIS0 Bits

extern __at(0x0695) __sfr COG1RIS0;

typedef union
  {
  struct
    {
    unsigned RIS0               : 1;
    unsigned RIS1               : 1;
    unsigned RIS2               : 1;
    unsigned RIS3               : 1;
    unsigned RIS4               : 1;
    unsigned RIS5               : 1;
    unsigned RIS6               : 1;
    unsigned RIS7               : 1;
    };

  struct
    {
    unsigned G1RIS0             : 1;
    unsigned G1RIS1             : 1;
    unsigned G1RIS2             : 1;
    unsigned G1RIS3             : 1;
    unsigned G1RIS4             : 1;
    unsigned G1RIS5             : 1;
    unsigned G1RIS6             : 1;
    unsigned G1RIS7             : 1;
    };
  } __COG1RIS0bits_t;

extern __at(0x0695) volatile __COG1RIS0bits_t COG1RIS0bits;

#define _RIS0                   0x01
#define _G1RIS0                 0x01
#define _RIS1                   0x02
#define _G1RIS1                 0x02
#define _RIS2                   0x04
#define _G1RIS2                 0x04
#define _RIS3                   0x08
#define _G1RIS3                 0x08
#define _RIS4                   0x10
#define _G1RIS4                 0x10
#define _RIS5                   0x20
#define _G1RIS5                 0x20
#define _RIS6                   0x40
#define _G1RIS6                 0x40
#define _RIS7                   0x80
#define _G1RIS7                 0x80

//==============================================================================


//==============================================================================
//        COG1RIS1 Bits

extern __at(0x0696) __sfr COG1RIS1;

typedef union
  {
  struct
    {
    unsigned RIS8               : 1;
    unsigned RIS9               : 1;
    unsigned RIS10              : 1;
    unsigned RIS11              : 1;
    unsigned RIS12              : 1;
    unsigned RIS13              : 1;
    unsigned RIS14              : 1;
    unsigned RIS15              : 1;
    };

  struct
    {
    unsigned G1RIS8             : 1;
    unsigned G1RIS9             : 1;
    unsigned G1RIS10            : 1;
    unsigned G1RIS11            : 1;
    unsigned G1RIS12            : 1;
    unsigned G1RIS13            : 1;
    unsigned G1RIS14            : 1;
    unsigned G1RIS15            : 1;
    };
  } __COG1RIS1bits_t;

extern __at(0x0696) volatile __COG1RIS1bits_t COG1RIS1bits;

#define _RIS8                   0x01
#define _G1RIS8                 0x01
#define _RIS9                   0x02
#define _G1RIS9                 0x02
#define _RIS10                  0x04
#define _G1RIS10                0x04
#define _RIS11                  0x08
#define _G1RIS11                0x08
#define _RIS12                  0x10
#define _G1RIS12                0x10
#define _RIS13                  0x20
#define _G1RIS13                0x20
#define _RIS14                  0x40
#define _G1RIS14                0x40
#define _RIS15                  0x80
#define _G1RIS15                0x80

//==============================================================================


//==============================================================================
//        COG1RSIM0 Bits

extern __at(0x0697) __sfr COG1RSIM0;

typedef union
  {
  struct
    {
    unsigned RSIM0              : 1;
    unsigned RSIM1              : 1;
    unsigned RSIM2              : 1;
    unsigned RSIM3              : 1;
    unsigned RSIM4              : 1;
    unsigned RSIM5              : 1;
    unsigned RSIM6              : 1;
    unsigned RSIM7              : 1;
    };

  struct
    {
    unsigned G1RSIM0            : 1;
    unsigned G1RSIM1            : 1;
    unsigned G1RSIM2            : 1;
    unsigned G1RSIM3            : 1;
    unsigned G1RSIM4            : 1;
    unsigned G1RSIM5            : 1;
    unsigned G1RSIM6            : 1;
    unsigned G1RSIM7            : 1;
    };
  } __COG1RSIM0bits_t;

extern __at(0x0697) volatile __COG1RSIM0bits_t COG1RSIM0bits;

#define _RSIM0                  0x01
#define _G1RSIM0                0x01
#define _RSIM1                  0x02
#define _G1RSIM1                0x02
#define _RSIM2                  0x04
#define _G1RSIM2                0x04
#define _RSIM3                  0x08
#define _G1RSIM3                0x08
#define _RSIM4                  0x10
#define _G1RSIM4                0x10
#define _RSIM5                  0x20
#define _G1RSIM5                0x20
#define _RSIM6                  0x40
#define _G1RSIM6                0x40
#define _RSIM7                  0x80
#define _G1RSIM7                0x80

//==============================================================================


//==============================================================================
//        COG1RSIM1 Bits

extern __at(0x0698) __sfr COG1RSIM1;

typedef union
  {
  struct
    {
    unsigned RSIM8              : 1;
    unsigned RSIM9              : 1;
    unsigned RSIM10             : 1;
    unsigned RSIM11             : 1;
    unsigned RSIM12             : 1;
    unsigned RSIM13             : 1;
    unsigned RSIM14             : 1;
    unsigned RSIM15             : 1;
    };

  struct
    {
    unsigned G1RSIM8            : 1;
    unsigned G1RSIM9            : 1;
    unsigned G1RSIM10           : 1;
    unsigned G1RSIM11           : 1;
    unsigned G1RSIM12           : 1;
    unsigned G1RSIM13           : 1;
    unsigned G1RSIM14           : 1;
    unsigned G1RSIM15           : 1;
    };
  } __COG1RSIM1bits_t;

extern __at(0x0698) volatile __COG1RSIM1bits_t COG1RSIM1bits;

#define _RSIM8                  0x01
#define _G1RSIM8                0x01
#define _RSIM9                  0x02
#define _G1RSIM9                0x02
#define _RSIM10                 0x04
#define _G1RSIM10               0x04
#define _RSIM11                 0x08
#define _G1RSIM11               0x08
#define _RSIM12                 0x10
#define _G1RSIM12               0x10
#define _RSIM13                 0x20
#define _G1RSIM13               0x20
#define _RSIM14                 0x40
#define _G1RSIM14               0x40
#define _RSIM15                 0x80
#define _G1RSIM15               0x80

//==============================================================================


//==============================================================================
//        COG1FIS0 Bits

extern __at(0x0699) __sfr COG1FIS0;

typedef union
  {
  struct
    {
    unsigned FIS0               : 1;
    unsigned FIS1               : 1;
    unsigned FIS2               : 1;
    unsigned FIS3               : 1;
    unsigned FIS4               : 1;
    unsigned FIS5               : 1;
    unsigned FIS6               : 1;
    unsigned FIS7               : 1;
    };

  struct
    {
    unsigned G1FIS0             : 1;
    unsigned G1FIS1             : 1;
    unsigned G1FIS2             : 1;
    unsigned G1FIS3             : 1;
    unsigned G1FIS4             : 1;
    unsigned G1FIS5             : 1;
    unsigned G1FIS6             : 1;
    unsigned G1FIS7             : 1;
    };
  } __COG1FIS0bits_t;

extern __at(0x0699) volatile __COG1FIS0bits_t COG1FIS0bits;

#define _FIS0                   0x01
#define _G1FIS0                 0x01
#define _FIS1                   0x02
#define _G1FIS1                 0x02
#define _FIS2                   0x04
#define _G1FIS2                 0x04
#define _FIS3                   0x08
#define _G1FIS3                 0x08
#define _FIS4                   0x10
#define _G1FIS4                 0x10
#define _FIS5                   0x20
#define _G1FIS5                 0x20
#define _FIS6                   0x40
#define _G1FIS6                 0x40
#define _FIS7                   0x80
#define _G1FIS7                 0x80

//==============================================================================


//==============================================================================
//        COG1FIS1 Bits

extern __at(0x069A) __sfr COG1FIS1;

typedef union
  {
  struct
    {
    unsigned FIS8               : 1;
    unsigned FIS9               : 1;
    unsigned FIS10              : 1;
    unsigned FIS11              : 1;
    unsigned FIS12              : 1;
    unsigned FIS13              : 1;
    unsigned FIS14              : 1;
    unsigned FIS15              : 1;
    };

  struct
    {
    unsigned G1FIS8             : 1;
    unsigned G1FIS9             : 1;
    unsigned G1FIS10            : 1;
    unsigned G1FIS11            : 1;
    unsigned G1FIS12            : 1;
    unsigned G1FIS13            : 1;
    unsigned G1FIS14            : 1;
    unsigned G1FIS15            : 1;
    };
  } __COG1FIS1bits_t;

extern __at(0x069A) volatile __COG1FIS1bits_t COG1FIS1bits;

#define _FIS8                   0x01
#define _G1FIS8                 0x01
#define _FIS9                   0x02
#define _G1FIS9                 0x02
#define _FIS10                  0x04
#define _G1FIS10                0x04
#define _FIS11                  0x08
#define _G1FIS11                0x08
#define _FIS12                  0x10
#define _G1FIS12                0x10
#define _FIS13                  0x20
#define _G1FIS13                0x20
#define _FIS14                  0x40
#define _G1FIS14                0x40
#define _FIS15                  0x80
#define _G1FIS15                0x80

//==============================================================================


//==============================================================================
//        COG1FSIM0 Bits

extern __at(0x069B) __sfr COG1FSIM0;

typedef union
  {
  struct
    {
    unsigned FSIM0              : 1;
    unsigned FSIM1              : 1;
    unsigned FSIM2              : 1;
    unsigned FSIM3              : 1;
    unsigned FSIM4              : 1;
    unsigned FSIM5              : 1;
    unsigned FSIM6              : 1;
    unsigned FSIM7              : 1;
    };

  struct
    {
    unsigned G1FSIM0            : 1;
    unsigned G1FSIM1            : 1;
    unsigned G1FSIM2            : 1;
    unsigned G1FSIM3            : 1;
    unsigned G1FSIM4            : 1;
    unsigned G1FSIM5            : 1;
    unsigned G1FSIM6            : 1;
    unsigned G1FSIM7            : 1;
    };
  } __COG1FSIM0bits_t;

extern __at(0x069B) volatile __COG1FSIM0bits_t COG1FSIM0bits;

#define _FSIM0                  0x01
#define _G1FSIM0                0x01
#define _FSIM1                  0x02
#define _G1FSIM1                0x02
#define _FSIM2                  0x04
#define _G1FSIM2                0x04
#define _FSIM3                  0x08
#define _G1FSIM3                0x08
#define _FSIM4                  0x10
#define _G1FSIM4                0x10
#define _FSIM5                  0x20
#define _G1FSIM5                0x20
#define _FSIM6                  0x40
#define _G1FSIM6                0x40
#define _FSIM7                  0x80
#define _G1FSIM7                0x80

//==============================================================================


//==============================================================================
//        COG1FSIM1 Bits

extern __at(0x069C) __sfr COG1FSIM1;

typedef union
  {
  struct
    {
    unsigned FSIM8              : 1;
    unsigned FSIM9              : 1;
    unsigned FSIM10             : 1;
    unsigned FSIM11             : 1;
    unsigned FSIM12             : 1;
    unsigned FSIM13             : 1;
    unsigned FSIM14             : 1;
    unsigned FSIM15             : 1;
    };

  struct
    {
    unsigned G1FSIM8            : 1;
    unsigned G1FSIM9            : 1;
    unsigned G1FSIM10           : 1;
    unsigned G1FSIM11           : 1;
    unsigned G1FSIM12           : 1;
    unsigned G1FSIM13           : 1;
    unsigned G1FSIM14           : 1;
    unsigned G1FSIM15           : 1;
    };
  } __COG1FSIM1bits_t;

extern __at(0x069C) volatile __COG1FSIM1bits_t COG1FSIM1bits;

#define _FSIM8                  0x01
#define _G1FSIM8                0x01
#define _FSIM9                  0x02
#define _G1FSIM9                0x02
#define _FSIM10                 0x04
#define _G1FSIM10               0x04
#define _FSIM11                 0x08
#define _G1FSIM11               0x08
#define _FSIM12                 0x10
#define _G1FSIM12               0x10
#define _FSIM13                 0x20
#define _G1FSIM13               0x20
#define _FSIM14                 0x40
#define _G1FSIM14               0x40
#define _FSIM15                 0x80
#define _G1FSIM15               0x80

//==============================================================================


//==============================================================================
//        COG1ASD0 Bits

extern __at(0x069D) __sfr COG1ASD0;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned ASDAC0             : 1;
    unsigned ASDAC1             : 1;
    unsigned ASDBD0             : 1;
    unsigned ASDBD1             : 1;
    unsigned ASREN              : 1;
    unsigned ASE                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G1ASDAC0           : 1;
    unsigned G1ASDAC1           : 1;
    unsigned G1ASDBD0           : 1;
    unsigned G1ASDBD1           : 1;
    unsigned ARSEN              : 1;
    unsigned G1ASE              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G1ARSEN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G1ASREN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned ASDAC              : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned G1ASDAC            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned ASDBD              : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned G1ASDBD            : 2;
    unsigned                    : 2;
    };
  } __COG1ASD0bits_t;

extern __at(0x069D) volatile __COG1ASD0bits_t COG1ASD0bits;

#define _ASDAC0                 0x04
#define _G1ASDAC0               0x04
#define _ASDAC1                 0x08
#define _G1ASDAC1               0x08
#define _ASDBD0                 0x10
#define _G1ASDBD0               0x10
#define _ASDBD1                 0x20
#define _G1ASDBD1               0x20
#define _ASREN                  0x40
#define _ARSEN                  0x40
#define _G1ARSEN                0x40
#define _G1ASREN                0x40
#define _ASE                    0x80
#define _G1ASE                  0x80

//==============================================================================


//==============================================================================
//        COG1ASD1 Bits

extern __at(0x069E) __sfr COG1ASD1;

typedef union
  {
  struct
    {
    unsigned AS0E               : 1;
    unsigned AS1E               : 1;
    unsigned AS2E               : 1;
    unsigned AS3E               : 1;
    unsigned AS4E               : 1;
    unsigned AS5E               : 1;
    unsigned AS6E               : 1;
    unsigned AS7E               : 1;
    };

  struct
    {
    unsigned G1AS0E             : 1;
    unsigned G1AS1E             : 1;
    unsigned G1AS2E             : 1;
    unsigned G1AS3E             : 1;
    unsigned G1AS4E             : 1;
    unsigned G1AS5E             : 1;
    unsigned G1AS6E             : 1;
    unsigned G1AS7E             : 1;
    };
  } __COG1ASD1bits_t;

extern __at(0x069E) volatile __COG1ASD1bits_t COG1ASD1bits;

#define _AS0E                   0x01
#define _G1AS0E                 0x01
#define _AS1E                   0x02
#define _G1AS1E                 0x02
#define _AS2E                   0x04
#define _G1AS2E                 0x04
#define _AS3E                   0x08
#define _G1AS3E                 0x08
#define _AS4E                   0x10
#define _G1AS4E                 0x10
#define _AS5E                   0x20
#define _G1AS5E                 0x20
#define _AS6E                   0x40
#define _G1AS6E                 0x40
#define _AS7E                   0x80
#define _G1AS7E                 0x80

//==============================================================================


//==============================================================================
//        COG1STR Bits

extern __at(0x069F) __sfr COG1STR;

typedef union
  {
  struct
    {
    unsigned STRA               : 1;
    unsigned STRB               : 1;
    unsigned STRC               : 1;
    unsigned STRD               : 1;
    unsigned SDATA              : 1;
    unsigned SDATB              : 1;
    unsigned SDATC              : 1;
    unsigned SDATD              : 1;
    };

  struct
    {
    unsigned G1STRA             : 1;
    unsigned G1STRB             : 1;
    unsigned G1STRC             : 1;
    unsigned G1STRD             : 1;
    unsigned G1SDATA            : 1;
    unsigned G1SDATB            : 1;
    unsigned G1SDATC            : 1;
    unsigned G1SDATD            : 1;
    };
  } __COG1STRbits_t;

extern __at(0x069F) volatile __COG1STRbits_t COG1STRbits;

#define _STRA                   0x01
#define _G1STRA                 0x01
#define _STRB                   0x02
#define _G1STRB                 0x02
#define _STRC                   0x04
#define _G1STRC                 0x04
#define _STRD                   0x08
#define _G1STRD                 0x08
#define _SDATA                  0x10
#define _G1SDATA                0x10
#define _SDATB                  0x20
#define _G1SDATB                0x20
#define _SDATC                  0x40
#define _G1SDATC                0x40
#define _SDATD                  0x80
#define _G1SDATD                0x80

//==============================================================================


//==============================================================================
//        COG2PHR Bits

extern __at(0x070D) __sfr COG2PHR;

typedef union
  {
  struct
    {
    unsigned PHR0               : 1;
    unsigned PHR1               : 1;
    unsigned PHR2               : 1;
    unsigned PHR3               : 1;
    unsigned PHR4               : 1;
    unsigned PHR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2PHR0             : 1;
    unsigned G2PHR1             : 1;
    unsigned G2PHR2             : 1;
    unsigned G2PHR3             : 1;
    unsigned G2PHR4             : 1;
    unsigned G2PHR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHR                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G2PHR              : 6;
    unsigned                    : 2;
    };
  } __COG2PHRbits_t;

extern __at(0x070D) volatile __COG2PHRbits_t COG2PHRbits;

#define _COG2PHR_PHR0           0x01
#define _COG2PHR_G2PHR0         0x01
#define _COG2PHR_PHR1           0x02
#define _COG2PHR_G2PHR1         0x02
#define _COG2PHR_PHR2           0x04
#define _COG2PHR_G2PHR2         0x04
#define _COG2PHR_PHR3           0x08
#define _COG2PHR_G2PHR3         0x08
#define _COG2PHR_PHR4           0x10
#define _COG2PHR_G2PHR4         0x10
#define _COG2PHR_PHR5           0x20
#define _COG2PHR_G2PHR5         0x20

//==============================================================================


//==============================================================================
//        COG2PHF Bits

extern __at(0x070E) __sfr COG2PHF;

typedef union
  {
  struct
    {
    unsigned PHF0               : 1;
    unsigned PHF1               : 1;
    unsigned PHF2               : 1;
    unsigned PHF3               : 1;
    unsigned PHF4               : 1;
    unsigned PHF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2PHF0             : 1;
    unsigned G2PHF1             : 1;
    unsigned G2PHF2             : 1;
    unsigned G2PHF3             : 1;
    unsigned G2PHF4             : 1;
    unsigned G2PHF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G2PHF              : 6;
    unsigned                    : 2;
    };
  } __COG2PHFbits_t;

extern __at(0x070E) volatile __COG2PHFbits_t COG2PHFbits;

#define _COG2PHF_PHF0           0x01
#define _COG2PHF_G2PHF0         0x01
#define _COG2PHF_PHF1           0x02
#define _COG2PHF_G2PHF1         0x02
#define _COG2PHF_PHF2           0x04
#define _COG2PHF_G2PHF2         0x04
#define _COG2PHF_PHF3           0x08
#define _COG2PHF_G2PHF3         0x08
#define _COG2PHF_PHF4           0x10
#define _COG2PHF_G2PHF4         0x10
#define _COG2PHF_PHF5           0x20
#define _COG2PHF_G2PHF5         0x20

//==============================================================================


//==============================================================================
//        COG2BLKR Bits

extern __at(0x070F) __sfr COG2BLKR;

typedef union
  {
  struct
    {
    unsigned BLKR0              : 1;
    unsigned BLKR1              : 1;
    unsigned BLKR2              : 1;
    unsigned BLKR3              : 1;
    unsigned BLKR4              : 1;
    unsigned BLKR5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2BLKR0            : 1;
    unsigned G2BLKR1            : 1;
    unsigned G2BLKR2            : 1;
    unsigned G2BLKR3            : 1;
    unsigned G2BLKR4            : 1;
    unsigned G2BLKR5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned BLKR               : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G2BLKR             : 6;
    unsigned                    : 2;
    };
  } __COG2BLKRbits_t;

extern __at(0x070F) volatile __COG2BLKRbits_t COG2BLKRbits;

#define _COG2BLKR_BLKR0         0x01
#define _COG2BLKR_G2BLKR0       0x01
#define _COG2BLKR_BLKR1         0x02
#define _COG2BLKR_G2BLKR1       0x02
#define _COG2BLKR_BLKR2         0x04
#define _COG2BLKR_G2BLKR2       0x04
#define _COG2BLKR_BLKR3         0x08
#define _COG2BLKR_G2BLKR3       0x08
#define _COG2BLKR_BLKR4         0x10
#define _COG2BLKR_G2BLKR4       0x10
#define _COG2BLKR_BLKR5         0x20
#define _COG2BLKR_G2BLKR5       0x20

//==============================================================================


//==============================================================================
//        COG2BLKF Bits

extern __at(0x0710) __sfr COG2BLKF;

typedef union
  {
  struct
    {
    unsigned BLKF0              : 1;
    unsigned BLKF1              : 1;
    unsigned BLKF2              : 1;
    unsigned BLKF3              : 1;
    unsigned BLKF4              : 1;
    unsigned BLKF5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2BLKF0            : 1;
    unsigned G2BLKF1            : 1;
    unsigned G2BLKF2            : 1;
    unsigned G2BLKF3            : 1;
    unsigned G2BLKF4            : 1;
    unsigned G2BLKF5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2BLKF             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKF               : 6;
    unsigned                    : 2;
    };
  } __COG2BLKFbits_t;

extern __at(0x0710) volatile __COG2BLKFbits_t COG2BLKFbits;

#define _COG2BLKF_BLKF0         0x01
#define _COG2BLKF_G2BLKF0       0x01
#define _COG2BLKF_BLKF1         0x02
#define _COG2BLKF_G2BLKF1       0x02
#define _COG2BLKF_BLKF2         0x04
#define _COG2BLKF_G2BLKF2       0x04
#define _COG2BLKF_BLKF3         0x08
#define _COG2BLKF_G2BLKF3       0x08
#define _COG2BLKF_BLKF4         0x10
#define _COG2BLKF_G2BLKF4       0x10
#define _COG2BLKF_BLKF5         0x20
#define _COG2BLKF_G2BLKF5       0x20

//==============================================================================


//==============================================================================
//        COG2DBR Bits

extern __at(0x0711) __sfr COG2DBR;

typedef union
  {
  struct
    {
    unsigned DBR0               : 1;
    unsigned DBR1               : 1;
    unsigned DBR2               : 1;
    unsigned DBR3               : 1;
    unsigned DBR4               : 1;
    unsigned DBR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2DBR0             : 1;
    unsigned G2DBR1             : 1;
    unsigned G2DBR2             : 1;
    unsigned G2DBR3             : 1;
    unsigned G2DBR4             : 1;
    unsigned G2DBR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DBR                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G2DBR              : 6;
    unsigned                    : 2;
    };
  } __COG2DBRbits_t;

extern __at(0x0711) volatile __COG2DBRbits_t COG2DBRbits;

#define _COG2DBR_DBR0           0x01
#define _COG2DBR_G2DBR0         0x01
#define _COG2DBR_DBR1           0x02
#define _COG2DBR_G2DBR1         0x02
#define _COG2DBR_DBR2           0x04
#define _COG2DBR_G2DBR2         0x04
#define _COG2DBR_DBR3           0x08
#define _COG2DBR_G2DBR3         0x08
#define _COG2DBR_DBR4           0x10
#define _COG2DBR_G2DBR4         0x10
#define _COG2DBR_DBR5           0x20
#define _COG2DBR_G2DBR5         0x20

//==============================================================================


//==============================================================================
//        COG2DBF Bits

extern __at(0x0712) __sfr COG2DBF;

typedef union
  {
  struct
    {
    unsigned DBF0               : 1;
    unsigned DBF1               : 1;
    unsigned DBF2               : 1;
    unsigned DBF3               : 1;
    unsigned DBF4               : 1;
    unsigned DBF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2DBF0             : 1;
    unsigned G2DBF1             : 1;
    unsigned G2DBF2             : 1;
    unsigned G2DBF3             : 1;
    unsigned G2DBF4             : 1;
    unsigned G2DBF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G2DBF              : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned DBF                : 6;
    unsigned                    : 2;
    };
  } __COG2DBFbits_t;

extern __at(0x0712) volatile __COG2DBFbits_t COG2DBFbits;

#define _COG2DBF_DBF0           0x01
#define _COG2DBF_G2DBF0         0x01
#define _COG2DBF_DBF1           0x02
#define _COG2DBF_G2DBF1         0x02
#define _COG2DBF_DBF2           0x04
#define _COG2DBF_G2DBF2         0x04
#define _COG2DBF_DBF3           0x08
#define _COG2DBF_G2DBF3         0x08
#define _COG2DBF_DBF4           0x10
#define _COG2DBF_G2DBF4         0x10
#define _COG2DBF_DBF5           0x20
#define _COG2DBF_G2DBF5         0x20

//==============================================================================


//==============================================================================
//        COG2CON0 Bits

extern __at(0x0713) __sfr COG2CON0;

typedef union
  {
  struct
    {
    unsigned MD0                : 1;
    unsigned MD1                : 1;
    unsigned MD2                : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned                    : 1;
    unsigned LD                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned G2MD0              : 1;
    unsigned G2MD1              : 1;
    unsigned G2MD2              : 1;
    unsigned G2CS0              : 1;
    unsigned G2CS1              : 1;
    unsigned                    : 1;
    unsigned G2LD               : 1;
    unsigned G2EN               : 1;
    };

  struct
    {
    unsigned G2MD               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned MD                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 3;
    unsigned CS                 : 2;
    unsigned                    : 3;
    };

  struct
    {
    unsigned                    : 3;
    unsigned G2CS               : 2;
    unsigned                    : 3;
    };
  } __COG2CON0bits_t;

extern __at(0x0713) volatile __COG2CON0bits_t COG2CON0bits;

#define _COG2CON0_MD0           0x01
#define _COG2CON0_G2MD0         0x01
#define _COG2CON0_MD1           0x02
#define _COG2CON0_G2MD1         0x02
#define _COG2CON0_MD2           0x04
#define _COG2CON0_G2MD2         0x04
#define _COG2CON0_CS0           0x08
#define _COG2CON0_G2CS0         0x08
#define _COG2CON0_CS1           0x10
#define _COG2CON0_G2CS1         0x10
#define _COG2CON0_LD            0x40
#define _COG2CON0_G2LD          0x40
#define _COG2CON0_EN            0x80
#define _COG2CON0_G2EN          0x80

//==============================================================================


//==============================================================================
//        COG2CON1 Bits

extern __at(0x0714) __sfr COG2CON1;

typedef union
  {
  struct
    {
    unsigned POLA               : 1;
    unsigned POLB               : 1;
    unsigned POLC               : 1;
    unsigned POLD               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned FDBS               : 1;
    unsigned RDBS               : 1;
    };

  struct
    {
    unsigned G2POLA             : 1;
    unsigned G2POLB             : 1;
    unsigned G2POLC             : 1;
    unsigned G2POLD             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G2FDBS             : 1;
    unsigned G2RDBS             : 1;
    };
  } __COG2CON1bits_t;

extern __at(0x0714) volatile __COG2CON1bits_t COG2CON1bits;

#define _COG2CON1_POLA          0x01
#define _COG2CON1_G2POLA        0x01
#define _COG2CON1_POLB          0x02
#define _COG2CON1_G2POLB        0x02
#define _COG2CON1_POLC          0x04
#define _COG2CON1_G2POLC        0x04
#define _COG2CON1_POLD          0x08
#define _COG2CON1_G2POLD        0x08
#define _COG2CON1_FDBS          0x40
#define _COG2CON1_G2FDBS        0x40
#define _COG2CON1_RDBS          0x80
#define _COG2CON1_G2RDBS        0x80

//==============================================================================


//==============================================================================
//        COG2RIS0 Bits

extern __at(0x0715) __sfr COG2RIS0;

typedef union
  {
  struct
    {
    unsigned RIS0               : 1;
    unsigned RIS1               : 1;
    unsigned RIS2               : 1;
    unsigned RIS3               : 1;
    unsigned RIS4               : 1;
    unsigned RIS5               : 1;
    unsigned RIS6               : 1;
    unsigned RIS7               : 1;
    };

  struct
    {
    unsigned G2RIS0             : 1;
    unsigned G2RIS1             : 1;
    unsigned G2RIS2             : 1;
    unsigned G2RIS3             : 1;
    unsigned G2RIS4             : 1;
    unsigned G2RIS5             : 1;
    unsigned G2RIS6             : 1;
    unsigned G2RIS7             : 1;
    };
  } __COG2RIS0bits_t;

extern __at(0x0715) volatile __COG2RIS0bits_t COG2RIS0bits;

#define _COG2RIS0_RIS0          0x01
#define _COG2RIS0_G2RIS0        0x01
#define _COG2RIS0_RIS1          0x02
#define _COG2RIS0_G2RIS1        0x02
#define _COG2RIS0_RIS2          0x04
#define _COG2RIS0_G2RIS2        0x04
#define _COG2RIS0_RIS3          0x08
#define _COG2RIS0_G2RIS3        0x08
#define _COG2RIS0_RIS4          0x10
#define _COG2RIS0_G2RIS4        0x10
#define _COG2RIS0_RIS5          0x20
#define _COG2RIS0_G2RIS5        0x20
#define _COG2RIS0_RIS6          0x40
#define _COG2RIS0_G2RIS6        0x40
#define _COG2RIS0_RIS7          0x80
#define _COG2RIS0_G2RIS7        0x80

//==============================================================================


//==============================================================================
//        COG2RIS1 Bits

extern __at(0x0716) __sfr COG2RIS1;

typedef union
  {
  struct
    {
    unsigned RIS8               : 1;
    unsigned RIS9               : 1;
    unsigned RIS10              : 1;
    unsigned RIS11              : 1;
    unsigned RIS12              : 1;
    unsigned RIS13              : 1;
    unsigned RIS14              : 1;
    unsigned RIS15              : 1;
    };

  struct
    {
    unsigned G2RIS8             : 1;
    unsigned G2RIS9             : 1;
    unsigned G2RIS10            : 1;
    unsigned G2RIS11            : 1;
    unsigned G2RIS12            : 1;
    unsigned G2RIS13            : 1;
    unsigned G2RIS14            : 1;
    unsigned G2RIS15            : 1;
    };
  } __COG2RIS1bits_t;

extern __at(0x0716) volatile __COG2RIS1bits_t COG2RIS1bits;

#define _COG2RIS1_RIS8          0x01
#define _COG2RIS1_G2RIS8        0x01
#define _COG2RIS1_RIS9          0x02
#define _COG2RIS1_G2RIS9        0x02
#define _COG2RIS1_RIS10         0x04
#define _COG2RIS1_G2RIS10       0x04
#define _COG2RIS1_RIS11         0x08
#define _COG2RIS1_G2RIS11       0x08
#define _COG2RIS1_RIS12         0x10
#define _COG2RIS1_G2RIS12       0x10
#define _COG2RIS1_RIS13         0x20
#define _COG2RIS1_G2RIS13       0x20
#define _COG2RIS1_RIS14         0x40
#define _COG2RIS1_G2RIS14       0x40
#define _COG2RIS1_RIS15         0x80
#define _COG2RIS1_G2RIS15       0x80

//==============================================================================


//==============================================================================
//        COG2RSIM0 Bits

extern __at(0x0717) __sfr COG2RSIM0;

typedef union
  {
  struct
    {
    unsigned RSIM0              : 1;
    unsigned RSIM1              : 1;
    unsigned RSIM2              : 1;
    unsigned RSIM3              : 1;
    unsigned RSIM4              : 1;
    unsigned RSIM5              : 1;
    unsigned RSIM6              : 1;
    unsigned RSIM7              : 1;
    };

  struct
    {
    unsigned G2RSIM0            : 1;
    unsigned G2RSIM1            : 1;
    unsigned G2RSIM2            : 1;
    unsigned G2RSIM3            : 1;
    unsigned G2RSIM4            : 1;
    unsigned G2RSIM5            : 1;
    unsigned G2RSIM6            : 1;
    unsigned G2RSIM7            : 1;
    };
  } __COG2RSIM0bits_t;

extern __at(0x0717) volatile __COG2RSIM0bits_t COG2RSIM0bits;

#define _COG2RSIM0_RSIM0        0x01
#define _COG2RSIM0_G2RSIM0      0x01
#define _COG2RSIM0_RSIM1        0x02
#define _COG2RSIM0_G2RSIM1      0x02
#define _COG2RSIM0_RSIM2        0x04
#define _COG2RSIM0_G2RSIM2      0x04
#define _COG2RSIM0_RSIM3        0x08
#define _COG2RSIM0_G2RSIM3      0x08
#define _COG2RSIM0_RSIM4        0x10
#define _COG2RSIM0_G2RSIM4      0x10
#define _COG2RSIM0_RSIM5        0x20
#define _COG2RSIM0_G2RSIM5      0x20
#define _COG2RSIM0_RSIM6        0x40
#define _COG2RSIM0_G2RSIM6      0x40
#define _COG2RSIM0_RSIM7        0x80
#define _COG2RSIM0_G2RSIM7      0x80

//==============================================================================


//==============================================================================
//        COG2RSIM1 Bits

extern __at(0x0718) __sfr COG2RSIM1;

typedef union
  {
  struct
    {
    unsigned RSIM8              : 1;
    unsigned RSIM9              : 1;
    unsigned RSIM10             : 1;
    unsigned RSIM11             : 1;
    unsigned RSIM12             : 1;
    unsigned RSIM13             : 1;
    unsigned RSIM14             : 1;
    unsigned RSIM15             : 1;
    };

  struct
    {
    unsigned G2RSIM8            : 1;
    unsigned G2RSIM9            : 1;
    unsigned G2RSIM10           : 1;
    unsigned G2RSIM11           : 1;
    unsigned G2RSIM12           : 1;
    unsigned G2RSIM13           : 1;
    unsigned G2RSIM14           : 1;
    unsigned G2RSIM15           : 1;
    };
  } __COG2RSIM1bits_t;

extern __at(0x0718) volatile __COG2RSIM1bits_t COG2RSIM1bits;

#define _COG2RSIM1_RSIM8        0x01
#define _COG2RSIM1_G2RSIM8      0x01
#define _COG2RSIM1_RSIM9        0x02
#define _COG2RSIM1_G2RSIM9      0x02
#define _COG2RSIM1_RSIM10       0x04
#define _COG2RSIM1_G2RSIM10     0x04
#define _COG2RSIM1_RSIM11       0x08
#define _COG2RSIM1_G2RSIM11     0x08
#define _COG2RSIM1_RSIM12       0x10
#define _COG2RSIM1_G2RSIM12     0x10
#define _COG2RSIM1_RSIM13       0x20
#define _COG2RSIM1_G2RSIM13     0x20
#define _COG2RSIM1_RSIM14       0x40
#define _COG2RSIM1_G2RSIM14     0x40
#define _COG2RSIM1_RSIM15       0x80
#define _COG2RSIM1_G2RSIM15     0x80

//==============================================================================


//==============================================================================
//        COG2FIS0 Bits

extern __at(0x0719) __sfr COG2FIS0;

typedef union
  {
  struct
    {
    unsigned FIS0               : 1;
    unsigned FIS1               : 1;
    unsigned FIS2               : 1;
    unsigned FIS3               : 1;
    unsigned FIS4               : 1;
    unsigned FIS5               : 1;
    unsigned FIS6               : 1;
    unsigned FIS7               : 1;
    };

  struct
    {
    unsigned G2FIS0             : 1;
    unsigned G2FIS1             : 1;
    unsigned G2FIS2             : 1;
    unsigned G2FIS3             : 1;
    unsigned G2FIS4             : 1;
    unsigned G2FIS5             : 1;
    unsigned G2FIS6             : 1;
    unsigned G2FIS7             : 1;
    };
  } __COG2FIS0bits_t;

extern __at(0x0719) volatile __COG2FIS0bits_t COG2FIS0bits;

#define _COG2FIS0_FIS0          0x01
#define _COG2FIS0_G2FIS0        0x01
#define _COG2FIS0_FIS1          0x02
#define _COG2FIS0_G2FIS1        0x02
#define _COG2FIS0_FIS2          0x04
#define _COG2FIS0_G2FIS2        0x04
#define _COG2FIS0_FIS3          0x08
#define _COG2FIS0_G2FIS3        0x08
#define _COG2FIS0_FIS4          0x10
#define _COG2FIS0_G2FIS4        0x10
#define _COG2FIS0_FIS5          0x20
#define _COG2FIS0_G2FIS5        0x20
#define _COG2FIS0_FIS6          0x40
#define _COG2FIS0_G2FIS6        0x40
#define _COG2FIS0_FIS7          0x80
#define _COG2FIS0_G2FIS7        0x80

//==============================================================================


//==============================================================================
//        COG2FIS1 Bits

extern __at(0x071A) __sfr COG2FIS1;

typedef union
  {
  struct
    {
    unsigned FIS8               : 1;
    unsigned FIS9               : 1;
    unsigned FIS10              : 1;
    unsigned FIS11              : 1;
    unsigned FIS12              : 1;
    unsigned FIS13              : 1;
    unsigned FIS14              : 1;
    unsigned FIS15              : 1;
    };

  struct
    {
    unsigned G2FIS8             : 1;
    unsigned G2FIS9             : 1;
    unsigned G2FIS10            : 1;
    unsigned G2FIS11            : 1;
    unsigned G2FIS12            : 1;
    unsigned G2FIS13            : 1;
    unsigned G2FIS14            : 1;
    unsigned G2FIS15            : 1;
    };
  } __COG2FIS1bits_t;

extern __at(0x071A) volatile __COG2FIS1bits_t COG2FIS1bits;

#define _COG2FIS1_FIS8          0x01
#define _COG2FIS1_G2FIS8        0x01
#define _COG2FIS1_FIS9          0x02
#define _COG2FIS1_G2FIS9        0x02
#define _COG2FIS1_FIS10         0x04
#define _COG2FIS1_G2FIS10       0x04
#define _COG2FIS1_FIS11         0x08
#define _COG2FIS1_G2FIS11       0x08
#define _COG2FIS1_FIS12         0x10
#define _COG2FIS1_G2FIS12       0x10
#define _COG2FIS1_FIS13         0x20
#define _COG2FIS1_G2FIS13       0x20
#define _COG2FIS1_FIS14         0x40
#define _COG2FIS1_G2FIS14       0x40
#define _COG2FIS1_FIS15         0x80
#define _COG2FIS1_G2FIS15       0x80

//==============================================================================


//==============================================================================
//        COG2FSIM0 Bits

extern __at(0x071B) __sfr COG2FSIM0;

typedef union
  {
  struct
    {
    unsigned FSIM0              : 1;
    unsigned FSIM1              : 1;
    unsigned FSIM2              : 1;
    unsigned FSIM3              : 1;
    unsigned FSIM4              : 1;
    unsigned FSIM5              : 1;
    unsigned FSIM6              : 1;
    unsigned FSIM7              : 1;
    };

  struct
    {
    unsigned G2FSIM0            : 1;
    unsigned G2FSIM1            : 1;
    unsigned G2FSIM2            : 1;
    unsigned G2FSIM3            : 1;
    unsigned G2FSIM4            : 1;
    unsigned G2FSIM5            : 1;
    unsigned G2FSIM6            : 1;
    unsigned G2FSIM7            : 1;
    };
  } __COG2FSIM0bits_t;

extern __at(0x071B) volatile __COG2FSIM0bits_t COG2FSIM0bits;

#define _COG2FSIM0_FSIM0        0x01
#define _COG2FSIM0_G2FSIM0      0x01
#define _COG2FSIM0_FSIM1        0x02
#define _COG2FSIM0_G2FSIM1      0x02
#define _COG2FSIM0_FSIM2        0x04
#define _COG2FSIM0_G2FSIM2      0x04
#define _COG2FSIM0_FSIM3        0x08
#define _COG2FSIM0_G2FSIM3      0x08
#define _COG2FSIM0_FSIM4        0x10
#define _COG2FSIM0_G2FSIM4      0x10
#define _COG2FSIM0_FSIM5        0x20
#define _COG2FSIM0_G2FSIM5      0x20
#define _COG2FSIM0_FSIM6        0x40
#define _COG2FSIM0_G2FSIM6      0x40
#define _COG2FSIM0_FSIM7        0x80
#define _COG2FSIM0_G2FSIM7      0x80

//==============================================================================


//==============================================================================
//        COG2FSIM1 Bits

extern __at(0x071C) __sfr COG2FSIM1;

typedef union
  {
  struct
    {
    unsigned FSIM8              : 1;
    unsigned FSIM9              : 1;
    unsigned FSIM10             : 1;
    unsigned FSIM11             : 1;
    unsigned FSIM12             : 1;
    unsigned FSIM13             : 1;
    unsigned FSIM14             : 1;
    unsigned FSIM15             : 1;
    };

  struct
    {
    unsigned G2FSIM8            : 1;
    unsigned G2FSIM9            : 1;
    unsigned G2FSIM10           : 1;
    unsigned G2FSIM11           : 1;
    unsigned G2FSIM12           : 1;
    unsigned G2FSIM13           : 1;
    unsigned G2FSIM14           : 1;
    unsigned G2FSIM15           : 1;
    };
  } __COG2FSIM1bits_t;

extern __at(0x071C) volatile __COG2FSIM1bits_t COG2FSIM1bits;

#define _COG2FSIM1_FSIM8        0x01
#define _COG2FSIM1_G2FSIM8      0x01
#define _COG2FSIM1_FSIM9        0x02
#define _COG2FSIM1_G2FSIM9      0x02
#define _COG2FSIM1_FSIM10       0x04
#define _COG2FSIM1_G2FSIM10     0x04
#define _COG2FSIM1_FSIM11       0x08
#define _COG2FSIM1_G2FSIM11     0x08
#define _COG2FSIM1_FSIM12       0x10
#define _COG2FSIM1_G2FSIM12     0x10
#define _COG2FSIM1_FSIM13       0x20
#define _COG2FSIM1_G2FSIM13     0x20
#define _COG2FSIM1_FSIM14       0x40
#define _COG2FSIM1_G2FSIM14     0x40
#define _COG2FSIM1_FSIM15       0x80
#define _COG2FSIM1_G2FSIM15     0x80

//==============================================================================


//==============================================================================
//        COG2ASD0 Bits

extern __at(0x071D) __sfr COG2ASD0;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned ASDAC0             : 1;
    unsigned ASDAC1             : 1;
    unsigned ASDBD0             : 1;
    unsigned ASDBD1             : 1;
    unsigned ASREN              : 1;
    unsigned ASE                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G2ASDAC0           : 1;
    unsigned G2ASDAC1           : 1;
    unsigned G2ASDBD0           : 1;
    unsigned G2ASDBD1           : 1;
    unsigned ARSEN              : 1;
    unsigned G2ASE              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G2ARSEN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G2ASREN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned G2ASDAC            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned ASDAC              : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned G2ASDBD            : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned ASDBD              : 2;
    unsigned                    : 2;
    };
  } __COG2ASD0bits_t;

extern __at(0x071D) volatile __COG2ASD0bits_t COG2ASD0bits;

#define _COG2ASD0_ASDAC0        0x04
#define _COG2ASD0_G2ASDAC0      0x04
#define _COG2ASD0_ASDAC1        0x08
#define _COG2ASD0_G2ASDAC1      0x08
#define _COG2ASD0_ASDBD0        0x10
#define _COG2ASD0_G2ASDBD0      0x10
#define _COG2ASD0_ASDBD1        0x20
#define _COG2ASD0_G2ASDBD1      0x20
#define _COG2ASD0_ASREN         0x40
#define _COG2ASD0_ARSEN         0x40
#define _COG2ASD0_G2ARSEN       0x40
#define _COG2ASD0_G2ASREN       0x40
#define _COG2ASD0_ASE           0x80
#define _COG2ASD0_G2ASE         0x80

//==============================================================================


//==============================================================================
//        COG2ASD1 Bits

extern __at(0x071E) __sfr COG2ASD1;

typedef union
  {
  struct
    {
    unsigned AS0E               : 1;
    unsigned AS1E               : 1;
    unsigned AS2E               : 1;
    unsigned AS3E               : 1;
    unsigned AS4E               : 1;
    unsigned AS5E               : 1;
    unsigned AS6E               : 1;
    unsigned AS7E               : 1;
    };

  struct
    {
    unsigned G2AS0E             : 1;
    unsigned G2AS1E             : 1;
    unsigned G2AS2E             : 1;
    unsigned G2AS3E             : 1;
    unsigned G2AS4E             : 1;
    unsigned G2AS5E             : 1;
    unsigned G2AS6E             : 1;
    unsigned G2AS7E             : 1;
    };
  } __COG2ASD1bits_t;

extern __at(0x071E) volatile __COG2ASD1bits_t COG2ASD1bits;

#define _COG2ASD1_AS0E          0x01
#define _COG2ASD1_G2AS0E        0x01
#define _COG2ASD1_AS1E          0x02
#define _COG2ASD1_G2AS1E        0x02
#define _COG2ASD1_AS2E          0x04
#define _COG2ASD1_G2AS2E        0x04
#define _COG2ASD1_AS3E          0x08
#define _COG2ASD1_G2AS3E        0x08
#define _COG2ASD1_AS4E          0x10
#define _COG2ASD1_G2AS4E        0x10
#define _COG2ASD1_AS5E          0x20
#define _COG2ASD1_G2AS5E        0x20
#define _COG2ASD1_AS6E          0x40
#define _COG2ASD1_G2AS6E        0x40
#define _COG2ASD1_AS7E          0x80
#define _COG2ASD1_G2AS7E        0x80

//==============================================================================


//==============================================================================
//        COG2STR Bits

extern __at(0x071F) __sfr COG2STR;

typedef union
  {
  struct
    {
    unsigned STRA               : 1;
    unsigned STRB               : 1;
    unsigned STRC               : 1;
    unsigned STRD               : 1;
    unsigned SDATA              : 1;
    unsigned SDATB              : 1;
    unsigned SDATC              : 1;
    unsigned SDATD              : 1;
    };

  struct
    {
    unsigned G2STRA             : 1;
    unsigned G2STRB             : 1;
    unsigned G2STRC             : 1;
    unsigned G2STRD             : 1;
    unsigned G2SDATA            : 1;
    unsigned G2SDATB            : 1;
    unsigned G2SDATC            : 1;
    unsigned G2SDATD            : 1;
    };
  } __COG2STRbits_t;

extern __at(0x071F) volatile __COG2STRbits_t COG2STRbits;

#define _COG2STR_STRA           0x01
#define _COG2STR_G2STRA         0x01
#define _COG2STR_STRB           0x02
#define _COG2STR_G2STRB         0x02
#define _COG2STR_STRC           0x04
#define _COG2STR_G2STRC         0x04
#define _COG2STR_STRD           0x08
#define _COG2STR_G2STRD         0x08
#define _COG2STR_SDATA          0x10
#define _COG2STR_G2SDATA        0x10
#define _COG2STR_SDATB          0x20
#define _COG2STR_G2SDATB        0x20
#define _COG2STR_SDATC          0x40
#define _COG2STR_G2SDATC        0x40
#define _COG2STR_SDATD          0x80
#define _COG2STR_G2SDATD        0x80

//==============================================================================


//==============================================================================
//        PRG1RTSS Bits

extern __at(0x078E) __sfr PRG1RTSS;

typedef union
  {
  struct
    {
    unsigned RTSS0              : 1;
    unsigned RTSS1              : 1;
    unsigned RTSS2              : 1;
    unsigned RTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1RTSS0           : 1;
    unsigned RG1RTSS1           : 1;
    unsigned RG1RTSS2           : 1;
    unsigned RG1RTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RTSS               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RG1RTSS            : 4;
    unsigned                    : 4;
    };
  } __PRG1RTSSbits_t;

extern __at(0x078E) volatile __PRG1RTSSbits_t PRG1RTSSbits;

#define _RTSS0                  0x01
#define _RG1RTSS0               0x01
#define _RTSS1                  0x02
#define _RG1RTSS1               0x02
#define _RTSS2                  0x04
#define _RG1RTSS2               0x04
#define _RTSS3                  0x08
#define _RG1RTSS3               0x08

//==============================================================================


//==============================================================================
//        PRG1FTSS Bits

extern __at(0x078F) __sfr PRG1FTSS;

typedef union
  {
  struct
    {
    unsigned FTSS0              : 1;
    unsigned FTSS1              : 1;
    unsigned FTSS2              : 1;
    unsigned FTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1FTSS0           : 1;
    unsigned RG1FTSS1           : 1;
    unsigned RG1FTSS2           : 1;
    unsigned RG1FTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned FTSS               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RG1FTSS            : 4;
    unsigned                    : 4;
    };
  } __PRG1FTSSbits_t;

extern __at(0x078F) volatile __PRG1FTSSbits_t PRG1FTSSbits;

#define _FTSS0                  0x01
#define _RG1FTSS0               0x01
#define _FTSS1                  0x02
#define _RG1FTSS1               0x02
#define _FTSS2                  0x04
#define _RG1FTSS2               0x04
#define _FTSS3                  0x08
#define _RG1FTSS3               0x08

//==============================================================================


//==============================================================================
//        PRG1INS Bits

extern __at(0x0790) __sfr PRG1INS;

typedef union
  {
  struct
    {
    unsigned INS0               : 1;
    unsigned INS1               : 1;
    unsigned INS2               : 1;
    unsigned INS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1INS0            : 1;
    unsigned RG1INS1            : 1;
    unsigned RG1INS2            : 1;
    unsigned RG1INS3            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned INS                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RG1INS             : 4;
    unsigned                    : 4;
    };
  } __PRG1INSbits_t;

extern __at(0x0790) volatile __PRG1INSbits_t PRG1INSbits;

#define _INS0                   0x01
#define _RG1INS0                0x01
#define _INS1                   0x02
#define _RG1INS1                0x02
#define _INS2                   0x04
#define _RG1INS2                0x04
#define _INS3                   0x08
#define _RG1INS3                0x08

//==============================================================================


//==============================================================================
//        PRG1CON0 Bits

extern __at(0x0791) __sfr PRG1CON0;

typedef union
  {
  struct
    {
    unsigned GO                 : 1;
    unsigned OS                 : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned REDG               : 1;
    unsigned FEDG               : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned RG1GO              : 1;
    unsigned RG1OS              : 1;
    unsigned RG1MODE0           : 1;
    unsigned RG1MODE1           : 1;
    unsigned RG1REDG            : 1;
    unsigned RG1FEDG            : 1;
    unsigned                    : 1;
    unsigned RG1EN              : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned RG1MODE            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };
  } __PRG1CON0bits_t;

extern __at(0x0791) volatile __PRG1CON0bits_t PRG1CON0bits;

#define _PRG1CON0_GO            0x01
#define _PRG1CON0_RG1GO         0x01
#define _PRG1CON0_OS            0x02
#define _PRG1CON0_RG1OS         0x02
#define _PRG1CON0_MODE0         0x04
#define _PRG1CON0_RG1MODE0      0x04
#define _PRG1CON0_MODE1         0x08
#define _PRG1CON0_RG1MODE1      0x08
#define _PRG1CON0_REDG          0x10
#define _PRG1CON0_RG1REDG       0x10
#define _PRG1CON0_FEDG          0x20
#define _PRG1CON0_RG1FEDG       0x20
#define _PRG1CON0_EN            0x80
#define _PRG1CON0_RG1EN         0x80

//==============================================================================


//==============================================================================
//        PRG1CON1 Bits

extern __at(0x0792) __sfr PRG1CON1;

typedef union
  {
  struct
    {
    unsigned RPOL               : 1;
    unsigned FPOL               : 1;
    unsigned RDY                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1RPOL            : 1;
    unsigned RG1FPOL            : 1;
    unsigned RG1RDY             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PRG1CON1bits_t;

extern __at(0x0792) volatile __PRG1CON1bits_t PRG1CON1bits;

#define _RPOL                   0x01
#define _RG1RPOL                0x01
#define _FPOL                   0x02
#define _RG1FPOL                0x02
#define _RDY                    0x04
#define _RG1RDY                 0x04

//==============================================================================


//==============================================================================
//        PRG1CON2 Bits

extern __at(0x0793) __sfr PRG1CON2;

typedef union
  {
  struct
    {
    unsigned ISET0              : 1;
    unsigned ISET1              : 1;
    unsigned ISET2              : 1;
    unsigned ISET3              : 1;
    unsigned ISET4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1ISET0           : 1;
    unsigned RG1ISET1           : 1;
    unsigned RG1ISET2           : 1;
    unsigned RG1ISET3           : 1;
    unsigned RG1ISET4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG1ISET            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned ISET               : 5;
    unsigned                    : 3;
    };
  } __PRG1CON2bits_t;

extern __at(0x0793) volatile __PRG1CON2bits_t PRG1CON2bits;

#define _ISET0                  0x01
#define _RG1ISET0               0x01
#define _ISET1                  0x02
#define _RG1ISET1               0x02
#define _ISET2                  0x04
#define _RG1ISET2               0x04
#define _ISET3                  0x08
#define _RG1ISET3               0x08
#define _ISET4                  0x10
#define _RG1ISET4               0x10

//==============================================================================


//==============================================================================
//        PRG2RTSS Bits

extern __at(0x0794) __sfr PRG2RTSS;

typedef union
  {
  struct
    {
    unsigned RTSS0              : 1;
    unsigned RTSS1              : 1;
    unsigned RTSS2              : 1;
    unsigned RTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2RTSS0           : 1;
    unsigned RG2RTSS1           : 1;
    unsigned RG2RTSS2           : 1;
    unsigned RG2RTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RTSS               : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RG2RTSS            : 4;
    unsigned                    : 4;
    };
  } __PRG2RTSSbits_t;

extern __at(0x0794) volatile __PRG2RTSSbits_t PRG2RTSSbits;

#define _PRG2RTSS_RTSS0         0x01
#define _PRG2RTSS_RG2RTSS0      0x01
#define _PRG2RTSS_RTSS1         0x02
#define _PRG2RTSS_RG2RTSS1      0x02
#define _PRG2RTSS_RTSS2         0x04
#define _PRG2RTSS_RG2RTSS2      0x04
#define _PRG2RTSS_RTSS3         0x08
#define _PRG2RTSS_RG2RTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG2FTSS Bits

extern __at(0x0795) __sfr PRG2FTSS;

typedef union
  {
  struct
    {
    unsigned FTSS0              : 1;
    unsigned FTSS1              : 1;
    unsigned FTSS2              : 1;
    unsigned FTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2FTSS0           : 1;
    unsigned RG2FTSS1           : 1;
    unsigned RG2FTSS2           : 1;
    unsigned RG2FTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2FTSS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned FTSS               : 4;
    unsigned                    : 4;
    };
  } __PRG2FTSSbits_t;

extern __at(0x0795) volatile __PRG2FTSSbits_t PRG2FTSSbits;

#define _PRG2FTSS_FTSS0         0x01
#define _PRG2FTSS_RG2FTSS0      0x01
#define _PRG2FTSS_FTSS1         0x02
#define _PRG2FTSS_RG2FTSS1      0x02
#define _PRG2FTSS_FTSS2         0x04
#define _PRG2FTSS_RG2FTSS2      0x04
#define _PRG2FTSS_FTSS3         0x08
#define _PRG2FTSS_RG2FTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG2INS Bits

extern __at(0x0796) __sfr PRG2INS;

typedef union
  {
  struct
    {
    unsigned INS0               : 1;
    unsigned INS1               : 1;
    unsigned INS2               : 1;
    unsigned INS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2INS0            : 1;
    unsigned RG2INS1            : 1;
    unsigned RG2INS2            : 1;
    unsigned RG2INS3            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2INS             : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned INS                : 4;
    unsigned                    : 4;
    };
  } __PRG2INSbits_t;

extern __at(0x0796) volatile __PRG2INSbits_t PRG2INSbits;

#define _PRG2INS_INS0           0x01
#define _PRG2INS_RG2INS0        0x01
#define _PRG2INS_INS1           0x02
#define _PRG2INS_RG2INS1        0x02
#define _PRG2INS_INS2           0x04
#define _PRG2INS_RG2INS2        0x04
#define _PRG2INS_INS3           0x08
#define _PRG2INS_RG2INS3        0x08

//==============================================================================


//==============================================================================
//        PRG2CON0 Bits

extern __at(0x0797) __sfr PRG2CON0;

typedef union
  {
  struct
    {
    unsigned GO                 : 1;
    unsigned OS                 : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned REDG               : 1;
    unsigned FEDG               : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned RG2GO              : 1;
    unsigned RG2OS              : 1;
    unsigned RG2MODE0           : 1;
    unsigned RG2MODE1           : 1;
    unsigned RG2REDG            : 1;
    unsigned RG2FEDG            : 1;
    unsigned                    : 1;
    unsigned RG2EN              : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned RG2MODE            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };
  } __PRG2CON0bits_t;

extern __at(0x0797) volatile __PRG2CON0bits_t PRG2CON0bits;

#define _PRG2CON0_GO            0x01
#define _PRG2CON0_RG2GO         0x01
#define _PRG2CON0_OS            0x02
#define _PRG2CON0_RG2OS         0x02
#define _PRG2CON0_MODE0         0x04
#define _PRG2CON0_RG2MODE0      0x04
#define _PRG2CON0_MODE1         0x08
#define _PRG2CON0_RG2MODE1      0x08
#define _PRG2CON0_REDG          0x10
#define _PRG2CON0_RG2REDG       0x10
#define _PRG2CON0_FEDG          0x20
#define _PRG2CON0_RG2FEDG       0x20
#define _PRG2CON0_EN            0x80
#define _PRG2CON0_RG2EN         0x80

//==============================================================================


//==============================================================================
//        PRG2CON1 Bits

extern __at(0x0798) __sfr PRG2CON1;

typedef union
  {
  struct
    {
    unsigned RPOL               : 1;
    unsigned FPOL               : 1;
    unsigned RDY                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2RPOL            : 1;
    unsigned RG2FPOL            : 1;
    unsigned RG2RDY             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PRG2CON1bits_t;

extern __at(0x0798) volatile __PRG2CON1bits_t PRG2CON1bits;

#define _PRG2CON1_RPOL          0x01
#define _PRG2CON1_RG2RPOL       0x01
#define _PRG2CON1_FPOL          0x02
#define _PRG2CON1_RG2FPOL       0x02
#define _PRG2CON1_RDY           0x04
#define _PRG2CON1_RG2RDY        0x04

//==============================================================================


//==============================================================================
//        PRG2CON2 Bits

extern __at(0x0799) __sfr PRG2CON2;

typedef union
  {
  struct
    {
    unsigned ISET0              : 1;
    unsigned ISET1              : 1;
    unsigned ISET2              : 1;
    unsigned ISET3              : 1;
    unsigned ISET4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2ISET0           : 1;
    unsigned RG2ISET1           : 1;
    unsigned RG2ISET2           : 1;
    unsigned RG2ISET3           : 1;
    unsigned RG2ISET4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG2ISET            : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned ISET               : 5;
    unsigned                    : 3;
    };
  } __PRG2CON2bits_t;

extern __at(0x0799) volatile __PRG2CON2bits_t PRG2CON2bits;

#define _PRG2CON2_ISET0         0x01
#define _PRG2CON2_RG2ISET0      0x01
#define _PRG2CON2_ISET1         0x02
#define _PRG2CON2_RG2ISET1      0x02
#define _PRG2CON2_ISET2         0x04
#define _PRG2CON2_RG2ISET2      0x04
#define _PRG2CON2_ISET3         0x08
#define _PRG2CON2_RG2ISET3      0x08
#define _PRG2CON2_ISET4         0x10
#define _PRG2CON2_RG2ISET4      0x10

//==============================================================================


//==============================================================================
//        PRG3RTSS Bits

extern __at(0x079A) __sfr PRG3RTSS;

typedef union
  {
  struct
    {
    unsigned RTSS0              : 1;
    unsigned RTSS1              : 1;
    unsigned RTSS2              : 1;
    unsigned RTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3RTSS0           : 1;
    unsigned RG3RTSS1           : 1;
    unsigned RG3RTSS2           : 1;
    unsigned RG3RTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3RTSS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned RTSS               : 4;
    unsigned                    : 4;
    };
  } __PRG3RTSSbits_t;

extern __at(0x079A) volatile __PRG3RTSSbits_t PRG3RTSSbits;

#define _PRG3RTSS_RTSS0         0x01
#define _PRG3RTSS_RG3RTSS0      0x01
#define _PRG3RTSS_RTSS1         0x02
#define _PRG3RTSS_RG3RTSS1      0x02
#define _PRG3RTSS_RTSS2         0x04
#define _PRG3RTSS_RG3RTSS2      0x04
#define _PRG3RTSS_RTSS3         0x08
#define _PRG3RTSS_RG3RTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG3FTSS Bits

extern __at(0x079B) __sfr PRG3FTSS;

typedef union
  {
  struct
    {
    unsigned FTSS0              : 1;
    unsigned FTSS1              : 1;
    unsigned FTSS2              : 1;
    unsigned FTSS3              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3FTSS0           : 1;
    unsigned RG3FTSS1           : 1;
    unsigned RG3FTSS2           : 1;
    unsigned RG3FTSS3           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3FTSS            : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned FTSS               : 4;
    unsigned                    : 4;
    };
  } __PRG3FTSSbits_t;

extern __at(0x079B) volatile __PRG3FTSSbits_t PRG3FTSSbits;

#define _PRG3FTSS_FTSS0         0x01
#define _PRG3FTSS_RG3FTSS0      0x01
#define _PRG3FTSS_FTSS1         0x02
#define _PRG3FTSS_RG3FTSS1      0x02
#define _PRG3FTSS_FTSS2         0x04
#define _PRG3FTSS_RG3FTSS2      0x04
#define _PRG3FTSS_FTSS3         0x08
#define _PRG3FTSS_RG3FTSS3      0x08

//==============================================================================


//==============================================================================
//        PRG3INS Bits

extern __at(0x079C) __sfr PRG3INS;

typedef union
  {
  struct
    {
    unsigned INS0               : 1;
    unsigned INS1               : 1;
    unsigned INS2               : 1;
    unsigned INS3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3INS0            : 1;
    unsigned RG3INS1            : 1;
    unsigned RG3INS2            : 1;
    unsigned RG3INS3            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3INS             : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned INS                : 4;
    unsigned                    : 4;
    };
  } __PRG3INSbits_t;

extern __at(0x079C) volatile __PRG3INSbits_t PRG3INSbits;

#define _PRG3INS_INS0           0x01
#define _PRG3INS_RG3INS0        0x01
#define _PRG3INS_INS1           0x02
#define _PRG3INS_RG3INS1        0x02
#define _PRG3INS_INS2           0x04
#define _PRG3INS_RG3INS2        0x04
#define _PRG3INS_INS3           0x08
#define _PRG3INS_RG3INS3        0x08

//==============================================================================


//==============================================================================
//        PRG3CON0 Bits

extern __at(0x079D) __sfr PRG3CON0;

typedef union
  {
  struct
    {
    unsigned GO                 : 1;
    unsigned OS                 : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned REDG               : 1;
    unsigned FEDG               : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned RG3GO              : 1;
    unsigned RG3OS              : 1;
    unsigned RG3MODE0           : 1;
    unsigned RG3MODE1           : 1;
    unsigned RG3REDG            : 1;
    unsigned RG3FEDG            : 1;
    unsigned                    : 1;
    unsigned RG3EN              : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned RG3MODE            : 2;
    unsigned                    : 4;
    };
  } __PRG3CON0bits_t;

extern __at(0x079D) volatile __PRG3CON0bits_t PRG3CON0bits;

#define _PRG3CON0_GO            0x01
#define _PRG3CON0_RG3GO         0x01
#define _PRG3CON0_OS            0x02
#define _PRG3CON0_RG3OS         0x02
#define _PRG3CON0_MODE0         0x04
#define _PRG3CON0_RG3MODE0      0x04
#define _PRG3CON0_MODE1         0x08
#define _PRG3CON0_RG3MODE1      0x08
#define _PRG3CON0_REDG          0x10
#define _PRG3CON0_RG3REDG       0x10
#define _PRG3CON0_FEDG          0x20
#define _PRG3CON0_RG3FEDG       0x20
#define _PRG3CON0_EN            0x80
#define _PRG3CON0_RG3EN         0x80

//==============================================================================


//==============================================================================
//        PRG3CON1 Bits

extern __at(0x079E) __sfr PRG3CON1;

typedef union
  {
  struct
    {
    unsigned RPOL               : 1;
    unsigned FPOL               : 1;
    unsigned RDY                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3RPOL            : 1;
    unsigned RG3FPOL            : 1;
    unsigned RG3RDY             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PRG3CON1bits_t;

extern __at(0x079E) volatile __PRG3CON1bits_t PRG3CON1bits;

#define _PRG3CON1_RPOL          0x01
#define _PRG3CON1_RG3RPOL       0x01
#define _PRG3CON1_FPOL          0x02
#define _PRG3CON1_RG3FPOL       0x02
#define _PRG3CON1_RDY           0x04
#define _PRG3CON1_RG3RDY        0x04

//==============================================================================


//==============================================================================
//        PRG3CON2 Bits

extern __at(0x079F) __sfr PRG3CON2;

typedef union
  {
  struct
    {
    unsigned ISET0              : 1;
    unsigned ISET1              : 1;
    unsigned ISET2              : 1;
    unsigned ISET3              : 1;
    unsigned ISET4              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned RG3ISET0           : 1;
    unsigned RG3ISET1           : 1;
    unsigned RG3ISET2           : 1;
    unsigned RG3ISET3           : 1;
    unsigned RG3ISET4           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned ISET               : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned RG3ISET            : 5;
    unsigned                    : 3;
    };
  } __PRG3CON2bits_t;

extern __at(0x079F) volatile __PRG3CON2bits_t PRG3CON2bits;

#define _PRG3CON2_ISET0         0x01
#define _PRG3CON2_RG3ISET0      0x01
#define _PRG3CON2_ISET1         0x02
#define _PRG3CON2_RG3ISET1      0x02
#define _PRG3CON2_ISET2         0x04
#define _PRG3CON2_RG3ISET2      0x04
#define _PRG3CON2_ISET3         0x08
#define _PRG3CON2_RG3ISET3      0x08
#define _PRG3CON2_ISET4         0x10
#define _PRG3CON2_RG3ISET4      0x10

//==============================================================================


//==============================================================================
//        COG3PHR Bits

extern __at(0x080D) __sfr COG3PHR;

typedef union
  {
  struct
    {
    unsigned PHR0               : 1;
    unsigned PHR1               : 1;
    unsigned PHR2               : 1;
    unsigned PHR3               : 1;
    unsigned PHR4               : 1;
    unsigned PHR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3PHR0             : 1;
    unsigned G3PHR1             : 1;
    unsigned G3PHR2             : 1;
    unsigned G3PHR3             : 1;
    unsigned G3PHR4             : 1;
    unsigned G3PHR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHR                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G3PHR              : 6;
    unsigned                    : 2;
    };
  } __COG3PHRbits_t;

extern __at(0x080D) volatile __COG3PHRbits_t COG3PHRbits;

#define _COG3PHR_PHR0           0x01
#define _COG3PHR_G3PHR0         0x01
#define _COG3PHR_PHR1           0x02
#define _COG3PHR_G3PHR1         0x02
#define _COG3PHR_PHR2           0x04
#define _COG3PHR_G3PHR2         0x04
#define _COG3PHR_PHR3           0x08
#define _COG3PHR_G3PHR3         0x08
#define _COG3PHR_PHR4           0x10
#define _COG3PHR_G3PHR4         0x10
#define _COG3PHR_PHR5           0x20
#define _COG3PHR_G3PHR5         0x20

//==============================================================================


//==============================================================================
//        COG3PHF Bits

extern __at(0x080E) __sfr COG3PHF;

typedef union
  {
  struct
    {
    unsigned PHF0               : 1;
    unsigned PHF1               : 1;
    unsigned PHF2               : 1;
    unsigned PHF3               : 1;
    unsigned PHF4               : 1;
    unsigned PHF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3PHF0             : 1;
    unsigned G3PHF1             : 1;
    unsigned G3PHF2             : 1;
    unsigned G3PHF3             : 1;
    unsigned G3PHF4             : 1;
    unsigned G3PHF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G3PHF              : 6;
    unsigned                    : 2;
    };
  } __COG3PHFbits_t;

extern __at(0x080E) volatile __COG3PHFbits_t COG3PHFbits;

#define _COG3PHF_PHF0           0x01
#define _COG3PHF_G3PHF0         0x01
#define _COG3PHF_PHF1           0x02
#define _COG3PHF_G3PHF1         0x02
#define _COG3PHF_PHF2           0x04
#define _COG3PHF_G3PHF2         0x04
#define _COG3PHF_PHF3           0x08
#define _COG3PHF_G3PHF3         0x08
#define _COG3PHF_PHF4           0x10
#define _COG3PHF_G3PHF4         0x10
#define _COG3PHF_PHF5           0x20
#define _COG3PHF_G3PHF5         0x20

//==============================================================================


//==============================================================================
//        COG3BLKR Bits

extern __at(0x080F) __sfr COG3BLKR;

typedef union
  {
  struct
    {
    unsigned BLKR0              : 1;
    unsigned BLKR1              : 1;
    unsigned BLKR2              : 1;
    unsigned BLKR3              : 1;
    unsigned BLKR4              : 1;
    unsigned BLKR5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3BLKR0            : 1;
    unsigned G3BLKR1            : 1;
    unsigned G3BLKR2            : 1;
    unsigned G3BLKR3            : 1;
    unsigned G3BLKR4            : 1;
    unsigned G3BLKR5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3BLKR             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKR               : 6;
    unsigned                    : 2;
    };
  } __COG3BLKRbits_t;

extern __at(0x080F) volatile __COG3BLKRbits_t COG3BLKRbits;

#define _COG3BLKR_BLKR0         0x01
#define _COG3BLKR_G3BLKR0       0x01
#define _COG3BLKR_BLKR1         0x02
#define _COG3BLKR_G3BLKR1       0x02
#define _COG3BLKR_BLKR2         0x04
#define _COG3BLKR_G3BLKR2       0x04
#define _COG3BLKR_BLKR3         0x08
#define _COG3BLKR_G3BLKR3       0x08
#define _COG3BLKR_BLKR4         0x10
#define _COG3BLKR_G3BLKR4       0x10
#define _COG3BLKR_BLKR5         0x20
#define _COG3BLKR_G3BLKR5       0x20

//==============================================================================


//==============================================================================
//        COG3BLKF Bits

extern __at(0x0810) __sfr COG3BLKF;

typedef union
  {
  struct
    {
    unsigned BLKF0              : 1;
    unsigned BLKF1              : 1;
    unsigned BLKF2              : 1;
    unsigned BLKF3              : 1;
    unsigned BLKF4              : 1;
    unsigned BLKF5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3BLKF0            : 1;
    unsigned G3BLKF1            : 1;
    unsigned G3BLKF2            : 1;
    unsigned G3BLKF3            : 1;
    unsigned G3BLKF4            : 1;
    unsigned G3BLKF5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3BLKF             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKF               : 6;
    unsigned                    : 2;
    };
  } __COG3BLKFbits_t;

extern __at(0x0810) volatile __COG3BLKFbits_t COG3BLKFbits;

#define _COG3BLKF_BLKF0         0x01
#define _COG3BLKF_G3BLKF0       0x01
#define _COG3BLKF_BLKF1         0x02
#define _COG3BLKF_G3BLKF1       0x02
#define _COG3BLKF_BLKF2         0x04
#define _COG3BLKF_G3BLKF2       0x04
#define _COG3BLKF_BLKF3         0x08
#define _COG3BLKF_G3BLKF3       0x08
#define _COG3BLKF_BLKF4         0x10
#define _COG3BLKF_G3BLKF4       0x10
#define _COG3BLKF_BLKF5         0x20
#define _COG3BLKF_G3BLKF5       0x20

//==============================================================================


//==============================================================================
//        COG3DBR Bits

extern __at(0x0811) __sfr COG3DBR;

typedef union
  {
  struct
    {
    unsigned DBR0               : 1;
    unsigned DBR1               : 1;
    unsigned DBR2               : 1;
    unsigned DBR3               : 1;
    unsigned DBR4               : 1;
    unsigned DBR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3DBR0             : 1;
    unsigned G3DBR1             : 1;
    unsigned G3DBR2             : 1;
    unsigned G3DBR3             : 1;
    unsigned G3DBR4             : 1;
    unsigned G3DBR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DBR                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G3DBR              : 6;
    unsigned                    : 2;
    };
  } __COG3DBRbits_t;

extern __at(0x0811) volatile __COG3DBRbits_t COG3DBRbits;

#define _COG3DBR_DBR0           0x01
#define _COG3DBR_G3DBR0         0x01
#define _COG3DBR_DBR1           0x02
#define _COG3DBR_G3DBR1         0x02
#define _COG3DBR_DBR2           0x04
#define _COG3DBR_G3DBR2         0x04
#define _COG3DBR_DBR3           0x08
#define _COG3DBR_G3DBR3         0x08
#define _COG3DBR_DBR4           0x10
#define _COG3DBR_G3DBR4         0x10
#define _COG3DBR_DBR5           0x20
#define _COG3DBR_G3DBR5         0x20

//==============================================================================


//==============================================================================
//        COG3DBF Bits

extern __at(0x0812) __sfr COG3DBF;

typedef union
  {
  struct
    {
    unsigned DBF0               : 1;
    unsigned DBF1               : 1;
    unsigned DBF2               : 1;
    unsigned DBF3               : 1;
    unsigned DBF4               : 1;
    unsigned DBF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G3DBF0             : 1;
    unsigned G3DBF1             : 1;
    unsigned G3DBF2             : 1;
    unsigned G3DBF3             : 1;
    unsigned G3DBF4             : 1;
    unsigned G3DBF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DBF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G3DBF              : 6;
    unsigned                    : 2;
    };
  } __COG3DBFbits_t;

extern __at(0x0812) volatile __COG3DBFbits_t COG3DBFbits;

#define _COG3DBF_DBF0           0x01
#define _COG3DBF_G3DBF0         0x01
#define _COG3DBF_DBF1           0x02
#define _COG3DBF_G3DBF1         0x02
#define _COG3DBF_DBF2           0x04
#define _COG3DBF_G3DBF2         0x04
#define _COG3DBF_DBF3           0x08
#define _COG3DBF_G3DBF3         0x08
#define _COG3DBF_DBF4           0x10
#define _COG3DBF_G3DBF4         0x10
#define _COG3DBF_DBF5           0x20
#define _COG3DBF_G3DBF5         0x20

//==============================================================================


//==============================================================================
//        COG3CON0 Bits

extern __at(0x0813) __sfr COG3CON0;

typedef union
  {
  struct
    {
    unsigned MD0                : 1;
    unsigned MD1                : 1;
    unsigned MD2                : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned                    : 1;
    unsigned LD                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned G3MD0              : 1;
    unsigned G3MD1              : 1;
    unsigned G3MD2              : 1;
    unsigned G3CS0              : 1;
    unsigned G3CS1              : 1;
    unsigned                    : 1;
    unsigned G3LD               : 1;
    unsigned G3EN               : 1;
    };

  struct
    {
    unsigned G3MD               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned MD                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 3;
    unsigned CS                 : 2;
    unsigned                    : 3;
    };

  struct
    {
    unsigned                    : 3;
    unsigned G3CS               : 2;
    unsigned                    : 3;
    };
  } __COG3CON0bits_t;

extern __at(0x0813) volatile __COG3CON0bits_t COG3CON0bits;

#define _COG3CON0_MD0           0x01
#define _COG3CON0_G3MD0         0x01
#define _COG3CON0_MD1           0x02
#define _COG3CON0_G3MD1         0x02
#define _COG3CON0_MD2           0x04
#define _COG3CON0_G3MD2         0x04
#define _COG3CON0_CS0           0x08
#define _COG3CON0_G3CS0         0x08
#define _COG3CON0_CS1           0x10
#define _COG3CON0_G3CS1         0x10
#define _COG3CON0_LD            0x40
#define _COG3CON0_G3LD          0x40
#define _COG3CON0_EN            0x80
#define _COG3CON0_G3EN          0x80

//==============================================================================


//==============================================================================
//        COG3CON1 Bits

extern __at(0x0814) __sfr COG3CON1;

typedef union
  {
  struct
    {
    unsigned POLA               : 1;
    unsigned POLB               : 1;
    unsigned POLC               : 1;
    unsigned POLD               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned FDBS               : 1;
    unsigned RDBS               : 1;
    };

  struct
    {
    unsigned G3POLA             : 1;
    unsigned G3POLB             : 1;
    unsigned G3POLC             : 1;
    unsigned G3POLD             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G3FDBS             : 1;
    unsigned G3RDBS             : 1;
    };
  } __COG3CON1bits_t;

extern __at(0x0814) volatile __COG3CON1bits_t COG3CON1bits;

#define _COG3CON1_POLA          0x01
#define _COG3CON1_G3POLA        0x01
#define _COG3CON1_POLB          0x02
#define _COG3CON1_G3POLB        0x02
#define _COG3CON1_POLC          0x04
#define _COG3CON1_G3POLC        0x04
#define _COG3CON1_POLD          0x08
#define _COG3CON1_G3POLD        0x08
#define _COG3CON1_FDBS          0x40
#define _COG3CON1_G3FDBS        0x40
#define _COG3CON1_RDBS          0x80
#define _COG3CON1_G3RDBS        0x80

//==============================================================================


//==============================================================================
//        COG3RIS0 Bits

extern __at(0x0815) __sfr COG3RIS0;

typedef union
  {
  struct
    {
    unsigned RIS0               : 1;
    unsigned RIS1               : 1;
    unsigned RIS2               : 1;
    unsigned RIS3               : 1;
    unsigned RIS4               : 1;
    unsigned RIS5               : 1;
    unsigned RIS6               : 1;
    unsigned RIS7               : 1;
    };

  struct
    {
    unsigned G3RIS0             : 1;
    unsigned G3RIS1             : 1;
    unsigned G3RIS2             : 1;
    unsigned G3RIS3             : 1;
    unsigned G3RIS4             : 1;
    unsigned G3RIS5             : 1;
    unsigned G3RIS6             : 1;
    unsigned G3RIS7             : 1;
    };
  } __COG3RIS0bits_t;

extern __at(0x0815) volatile __COG3RIS0bits_t COG3RIS0bits;

#define _COG3RIS0_RIS0          0x01
#define _COG3RIS0_G3RIS0        0x01
#define _COG3RIS0_RIS1          0x02
#define _COG3RIS0_G3RIS1        0x02
#define _COG3RIS0_RIS2          0x04
#define _COG3RIS0_G3RIS2        0x04
#define _COG3RIS0_RIS3          0x08
#define _COG3RIS0_G3RIS3        0x08
#define _COG3RIS0_RIS4          0x10
#define _COG3RIS0_G3RIS4        0x10
#define _COG3RIS0_RIS5          0x20
#define _COG3RIS0_G3RIS5        0x20
#define _COG3RIS0_RIS6          0x40
#define _COG3RIS0_G3RIS6        0x40
#define _COG3RIS0_RIS7          0x80
#define _COG3RIS0_G3RIS7        0x80

//==============================================================================


//==============================================================================
//        COG3RIS1 Bits

extern __at(0x0816) __sfr COG3RIS1;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned RIS9               : 1;
    unsigned                    : 1;
    unsigned RIS11              : 1;
    unsigned RIS12              : 1;
    unsigned RIS13              : 1;
    unsigned RIS14              : 1;
    unsigned RIS15              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned G3RIS9             : 1;
    unsigned                    : 1;
    unsigned G3RIS11            : 1;
    unsigned G3RIS12            : 1;
    unsigned G3RIS13            : 1;
    unsigned G3RIS14            : 1;
    unsigned G3RIS15            : 1;
    };
  } __COG3RIS1bits_t;

extern __at(0x0816) volatile __COG3RIS1bits_t COG3RIS1bits;

#define _COG3RIS1_RIS9          0x02
#define _COG3RIS1_G3RIS9        0x02
#define _COG3RIS1_RIS11         0x08
#define _COG3RIS1_G3RIS11       0x08
#define _COG3RIS1_RIS12         0x10
#define _COG3RIS1_G3RIS12       0x10
#define _COG3RIS1_RIS13         0x20
#define _COG3RIS1_G3RIS13       0x20
#define _COG3RIS1_RIS14         0x40
#define _COG3RIS1_G3RIS14       0x40
#define _COG3RIS1_RIS15         0x80
#define _COG3RIS1_G3RIS15       0x80

//==============================================================================


//==============================================================================
//        COG3RSIM0 Bits

extern __at(0x0817) __sfr COG3RSIM0;

typedef union
  {
  struct
    {
    unsigned RSIM0              : 1;
    unsigned RSIM1              : 1;
    unsigned RSIM2              : 1;
    unsigned RSIM3              : 1;
    unsigned RSIM4              : 1;
    unsigned RSIM5              : 1;
    unsigned RSIM6              : 1;
    unsigned RSIM7              : 1;
    };

  struct
    {
    unsigned G3RSIM0            : 1;
    unsigned G3RSIM1            : 1;
    unsigned G3RSIM2            : 1;
    unsigned G3RSIM3            : 1;
    unsigned G3RSIM4            : 1;
    unsigned G3RSIM5            : 1;
    unsigned G3RSIM6            : 1;
    unsigned G3RSIM7            : 1;
    };
  } __COG3RSIM0bits_t;

extern __at(0x0817) volatile __COG3RSIM0bits_t COG3RSIM0bits;

#define _COG3RSIM0_RSIM0        0x01
#define _COG3RSIM0_G3RSIM0      0x01
#define _COG3RSIM0_RSIM1        0x02
#define _COG3RSIM0_G3RSIM1      0x02
#define _COG3RSIM0_RSIM2        0x04
#define _COG3RSIM0_G3RSIM2      0x04
#define _COG3RSIM0_RSIM3        0x08
#define _COG3RSIM0_G3RSIM3      0x08
#define _COG3RSIM0_RSIM4        0x10
#define _COG3RSIM0_G3RSIM4      0x10
#define _COG3RSIM0_RSIM5        0x20
#define _COG3RSIM0_G3RSIM5      0x20
#define _COG3RSIM0_RSIM6        0x40
#define _COG3RSIM0_G3RSIM6      0x40
#define _COG3RSIM0_RSIM7        0x80
#define _COG3RSIM0_G3RSIM7      0x80

//==============================================================================


//==============================================================================
//        COG3RSIM1 Bits

extern __at(0x0818) __sfr COG3RSIM1;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned RSIM9              : 1;
    unsigned                    : 1;
    unsigned RSIM11             : 1;
    unsigned RSIM12             : 1;
    unsigned RSIM13             : 1;
    unsigned RSIM14             : 1;
    unsigned RSIM15             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned G3RSIM9            : 1;
    unsigned                    : 1;
    unsigned G3RSIM11           : 1;
    unsigned G3RSIM12           : 1;
    unsigned G3RSIM13           : 1;
    unsigned G3RSIM14           : 1;
    unsigned G3RSIM15           : 1;
    };
  } __COG3RSIM1bits_t;

extern __at(0x0818) volatile __COG3RSIM1bits_t COG3RSIM1bits;

#define _COG3RSIM1_RSIM9        0x02
#define _COG3RSIM1_G3RSIM9      0x02
#define _COG3RSIM1_RSIM11       0x08
#define _COG3RSIM1_G3RSIM11     0x08
#define _COG3RSIM1_RSIM12       0x10
#define _COG3RSIM1_G3RSIM12     0x10
#define _COG3RSIM1_RSIM13       0x20
#define _COG3RSIM1_G3RSIM13     0x20
#define _COG3RSIM1_RSIM14       0x40
#define _COG3RSIM1_G3RSIM14     0x40
#define _COG3RSIM1_RSIM15       0x80
#define _COG3RSIM1_G3RSIM15     0x80

//==============================================================================


//==============================================================================
//        COG3FIS0 Bits

extern __at(0x0819) __sfr COG3FIS0;

typedef union
  {
  struct
    {
    unsigned FIS0               : 1;
    unsigned FIS1               : 1;
    unsigned FIS2               : 1;
    unsigned FIS3               : 1;
    unsigned FIS4               : 1;
    unsigned FIS5               : 1;
    unsigned FIS6               : 1;
    unsigned FIS7               : 1;
    };

  struct
    {
    unsigned G3FIS0             : 1;
    unsigned G3FIS1             : 1;
    unsigned G3FIS2             : 1;
    unsigned G3FIS3             : 1;
    unsigned G3FIS4             : 1;
    unsigned G3FIS5             : 1;
    unsigned G3FIS6             : 1;
    unsigned G3FIS7             : 1;
    };
  } __COG3FIS0bits_t;

extern __at(0x0819) volatile __COG3FIS0bits_t COG3FIS0bits;

#define _COG3FIS0_FIS0          0x01
#define _COG3FIS0_G3FIS0        0x01
#define _COG3FIS0_FIS1          0x02
#define _COG3FIS0_G3FIS1        0x02
#define _COG3FIS0_FIS2          0x04
#define _COG3FIS0_G3FIS2        0x04
#define _COG3FIS0_FIS3          0x08
#define _COG3FIS0_G3FIS3        0x08
#define _COG3FIS0_FIS4          0x10
#define _COG3FIS0_G3FIS4        0x10
#define _COG3FIS0_FIS5          0x20
#define _COG3FIS0_G3FIS5        0x20
#define _COG3FIS0_FIS6          0x40
#define _COG3FIS0_G3FIS6        0x40
#define _COG3FIS0_FIS7          0x80
#define _COG3FIS0_G3FIS7        0x80

//==============================================================================


//==============================================================================
//        COG3FIS1 Bits

extern __at(0x081A) __sfr COG3FIS1;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned FIS9               : 1;
    unsigned                    : 1;
    unsigned FIS11              : 1;
    unsigned FIS12              : 1;
    unsigned FIS13              : 1;
    unsigned FIS14              : 1;
    unsigned FIS15              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned G3FIS9             : 1;
    unsigned                    : 1;
    unsigned G3FIS11            : 1;
    unsigned G3FIS12            : 1;
    unsigned G3FIS13            : 1;
    unsigned G3FIS14            : 1;
    unsigned G3FIS15            : 1;
    };
  } __COG3FIS1bits_t;

extern __at(0x081A) volatile __COG3FIS1bits_t COG3FIS1bits;

#define _COG3FIS1_FIS9          0x02
#define _COG3FIS1_G3FIS9        0x02
#define _COG3FIS1_FIS11         0x08
#define _COG3FIS1_G3FIS11       0x08
#define _COG3FIS1_FIS12         0x10
#define _COG3FIS1_G3FIS12       0x10
#define _COG3FIS1_FIS13         0x20
#define _COG3FIS1_G3FIS13       0x20
#define _COG3FIS1_FIS14         0x40
#define _COG3FIS1_G3FIS14       0x40
#define _COG3FIS1_FIS15         0x80
#define _COG3FIS1_G3FIS15       0x80

//==============================================================================


//==============================================================================
//        COG3FSIM0 Bits

extern __at(0x081B) __sfr COG3FSIM0;

typedef union
  {
  struct
    {
    unsigned FSIM0              : 1;
    unsigned FSIM1              : 1;
    unsigned FSIM2              : 1;
    unsigned FSIM3              : 1;
    unsigned FSIM4              : 1;
    unsigned FSIM5              : 1;
    unsigned FSIM6              : 1;
    unsigned FSIM7              : 1;
    };

  struct
    {
    unsigned G3FSIM0            : 1;
    unsigned G3FSIM1            : 1;
    unsigned G3FSIM2            : 1;
    unsigned G3FSIM3            : 1;
    unsigned G3FSIM4            : 1;
    unsigned G3FSIM5            : 1;
    unsigned G3FSIM6            : 1;
    unsigned G3FSIM7            : 1;
    };
  } __COG3FSIM0bits_t;

extern __at(0x081B) volatile __COG3FSIM0bits_t COG3FSIM0bits;

#define _COG3FSIM0_FSIM0        0x01
#define _COG3FSIM0_G3FSIM0      0x01
#define _COG3FSIM0_FSIM1        0x02
#define _COG3FSIM0_G3FSIM1      0x02
#define _COG3FSIM0_FSIM2        0x04
#define _COG3FSIM0_G3FSIM2      0x04
#define _COG3FSIM0_FSIM3        0x08
#define _COG3FSIM0_G3FSIM3      0x08
#define _COG3FSIM0_FSIM4        0x10
#define _COG3FSIM0_G3FSIM4      0x10
#define _COG3FSIM0_FSIM5        0x20
#define _COG3FSIM0_G3FSIM5      0x20
#define _COG3FSIM0_FSIM6        0x40
#define _COG3FSIM0_G3FSIM6      0x40
#define _COG3FSIM0_FSIM7        0x80
#define _COG3FSIM0_G3FSIM7      0x80

//==============================================================================


//==============================================================================
//        COG3FSIM1 Bits

extern __at(0x081C) __sfr COG3FSIM1;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned FSIM9              : 1;
    unsigned                    : 1;
    unsigned FSIM11             : 1;
    unsigned FSIM12             : 1;
    unsigned FSIM13             : 1;
    unsigned FSIM14             : 1;
    unsigned FSIM15             : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned G3FSIM9            : 1;
    unsigned                    : 1;
    unsigned G3FSIM11           : 1;
    unsigned G3FSIM12           : 1;
    unsigned G3FSIM13           : 1;
    unsigned G3FSIM14           : 1;
    unsigned G3FSIM15           : 1;
    };
  } __COG3FSIM1bits_t;

extern __at(0x081C) volatile __COG3FSIM1bits_t COG3FSIM1bits;

#define _COG3FSIM1_FSIM9        0x02
#define _COG3FSIM1_G3FSIM9      0x02
#define _COG3FSIM1_FSIM11       0x08
#define _COG3FSIM1_G3FSIM11     0x08
#define _COG3FSIM1_FSIM12       0x10
#define _COG3FSIM1_G3FSIM12     0x10
#define _COG3FSIM1_FSIM13       0x20
#define _COG3FSIM1_G3FSIM13     0x20
#define _COG3FSIM1_FSIM14       0x40
#define _COG3FSIM1_G3FSIM14     0x40
#define _COG3FSIM1_FSIM15       0x80
#define _COG3FSIM1_G3FSIM15     0x80

//==============================================================================


//==============================================================================
//        COG3ASD0 Bits

extern __at(0x081D) __sfr COG3ASD0;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned ASDAC0             : 1;
    unsigned ASDAC1             : 1;
    unsigned ASDBD0             : 1;
    unsigned ASDBD1             : 1;
    unsigned ASREN              : 1;
    unsigned ASE                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G3ASDAC0           : 1;
    unsigned G3ASDAC1           : 1;
    unsigned G3ASDBD0           : 1;
    unsigned G3ASDBD1           : 1;
    unsigned ARSEN              : 1;
    unsigned G3ASE              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G3ARSEN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G3ASREN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned ASDAC              : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned G3ASDAC            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned G3ASDBD            : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned ASDBD              : 2;
    unsigned                    : 2;
    };
  } __COG3ASD0bits_t;

extern __at(0x081D) volatile __COG3ASD0bits_t COG3ASD0bits;

#define _COG3ASD0_ASDAC0        0x04
#define _COG3ASD0_G3ASDAC0      0x04
#define _COG3ASD0_ASDAC1        0x08
#define _COG3ASD0_G3ASDAC1      0x08
#define _COG3ASD0_ASDBD0        0x10
#define _COG3ASD0_G3ASDBD0      0x10
#define _COG3ASD0_ASDBD1        0x20
#define _COG3ASD0_G3ASDBD1      0x20
#define _COG3ASD0_ASREN         0x40
#define _COG3ASD0_ARSEN         0x40
#define _COG3ASD0_G3ARSEN       0x40
#define _COG3ASD0_G3ASREN       0x40
#define _COG3ASD0_ASE           0x80
#define _COG3ASD0_G3ASE         0x80

//==============================================================================


//==============================================================================
//        COG3ASD1 Bits

extern __at(0x081E) __sfr COG3ASD1;

typedef union
  {
  struct
    {
    unsigned AS0E               : 1;
    unsigned AS1E               : 1;
    unsigned AS2E               : 1;
    unsigned AS3E               : 1;
    unsigned AS4E               : 1;
    unsigned AS5E               : 1;
    unsigned AS6E               : 1;
    unsigned AS7E               : 1;
    };

  struct
    {
    unsigned G3AS0E             : 1;
    unsigned G3AS1E             : 1;
    unsigned G3AS2E             : 1;
    unsigned G3AS3E             : 1;
    unsigned G3AS4E             : 1;
    unsigned G3AS5E             : 1;
    unsigned G3AS6E             : 1;
    unsigned G3AS7E             : 1;
    };
  } __COG3ASD1bits_t;

extern __at(0x081E) volatile __COG3ASD1bits_t COG3ASD1bits;

#define _COG3ASD1_AS0E          0x01
#define _COG3ASD1_G3AS0E        0x01
#define _COG3ASD1_AS1E          0x02
#define _COG3ASD1_G3AS1E        0x02
#define _COG3ASD1_AS2E          0x04
#define _COG3ASD1_G3AS2E        0x04
#define _COG3ASD1_AS3E          0x08
#define _COG3ASD1_G3AS3E        0x08
#define _COG3ASD1_AS4E          0x10
#define _COG3ASD1_G3AS4E        0x10
#define _COG3ASD1_AS5E          0x20
#define _COG3ASD1_G3AS5E        0x20
#define _COG3ASD1_AS6E          0x40
#define _COG3ASD1_G3AS6E        0x40
#define _COG3ASD1_AS7E          0x80
#define _COG3ASD1_G3AS7E        0x80

//==============================================================================


//==============================================================================
//        COG3STR Bits

extern __at(0x081F) __sfr COG3STR;

typedef union
  {
  struct
    {
    unsigned STRA               : 1;
    unsigned STRB               : 1;
    unsigned STRC               : 1;
    unsigned STRD               : 1;
    unsigned SDATA              : 1;
    unsigned SDATB              : 1;
    unsigned SDATC              : 1;
    unsigned SDATD              : 1;
    };

  struct
    {
    unsigned G3STRA             : 1;
    unsigned G3STRB             : 1;
    unsigned G3STRC             : 1;
    unsigned G3STRD             : 1;
    unsigned G3SDATA            : 1;
    unsigned G3SDATB            : 1;
    unsigned G3SDATC            : 1;
    unsigned G3SDATD            : 1;
    };
  } __COG3STRbits_t;

extern __at(0x081F) volatile __COG3STRbits_t COG3STRbits;

#define _COG3STR_STRA           0x01
#define _COG3STR_G3STRA         0x01
#define _COG3STR_STRB           0x02
#define _COG3STR_G3STRB         0x02
#define _COG3STR_STRC           0x04
#define _COG3STR_G3STRC         0x04
#define _COG3STR_STRD           0x08
#define _COG3STR_G3STRD         0x08
#define _COG3STR_SDATA          0x10
#define _COG3STR_G3SDATA        0x10
#define _COG3STR_SDATB          0x20
#define _COG3STR_G3SDATB        0x20
#define _COG3STR_SDATC          0x40
#define _COG3STR_G3SDATC        0x40
#define _COG3STR_SDATD          0x80
#define _COG3STR_G3SDATD        0x80

//==============================================================================


//==============================================================================
//        COG4PHR Bits

extern __at(0x088D) __sfr COG4PHR;

typedef union
  {
  struct
    {
    unsigned PHR0               : 1;
    unsigned PHR1               : 1;
    unsigned PHR2               : 1;
    unsigned PHR3               : 1;
    unsigned PHR4               : 1;
    unsigned PHR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4PHR0             : 1;
    unsigned G4PHR1             : 1;
    unsigned G4PHR2             : 1;
    unsigned G4PHR3             : 1;
    unsigned G4PHR4             : 1;
    unsigned G4PHR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4PHR              : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned PHR                : 6;
    unsigned                    : 2;
    };
  } __COG4PHRbits_t;

extern __at(0x088D) volatile __COG4PHRbits_t COG4PHRbits;

#define _COG4PHR_PHR0           0x01
#define _COG4PHR_G4PHR0         0x01
#define _COG4PHR_PHR1           0x02
#define _COG4PHR_G4PHR1         0x02
#define _COG4PHR_PHR2           0x04
#define _COG4PHR_G4PHR2         0x04
#define _COG4PHR_PHR3           0x08
#define _COG4PHR_G4PHR3         0x08
#define _COG4PHR_PHR4           0x10
#define _COG4PHR_G4PHR4         0x10
#define _COG4PHR_PHR5           0x20
#define _COG4PHR_G4PHR5         0x20

//==============================================================================


//==============================================================================
//        COG4PHF Bits

extern __at(0x088E) __sfr COG4PHF;

typedef union
  {
  struct
    {
    unsigned PHF0               : 1;
    unsigned PHF1               : 1;
    unsigned PHF2               : 1;
    unsigned PHF3               : 1;
    unsigned PHF4               : 1;
    unsigned PHF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4PHF0             : 1;
    unsigned G4PHF1             : 1;
    unsigned G4PHF2             : 1;
    unsigned G4PHF3             : 1;
    unsigned G4PHF4             : 1;
    unsigned G4PHF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PHF                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G4PHF              : 6;
    unsigned                    : 2;
    };
  } __COG4PHFbits_t;

extern __at(0x088E) volatile __COG4PHFbits_t COG4PHFbits;

#define _COG4PHF_PHF0           0x01
#define _COG4PHF_G4PHF0         0x01
#define _COG4PHF_PHF1           0x02
#define _COG4PHF_G4PHF1         0x02
#define _COG4PHF_PHF2           0x04
#define _COG4PHF_G4PHF2         0x04
#define _COG4PHF_PHF3           0x08
#define _COG4PHF_G4PHF3         0x08
#define _COG4PHF_PHF4           0x10
#define _COG4PHF_G4PHF4         0x10
#define _COG4PHF_PHF5           0x20
#define _COG4PHF_G4PHF5         0x20

//==============================================================================


//==============================================================================
//        COG4BLKR Bits

extern __at(0x088F) __sfr COG4BLKR;

typedef union
  {
  struct
    {
    unsigned BLKR0              : 1;
    unsigned BLKR1              : 1;
    unsigned BLKR2              : 1;
    unsigned BLKR3              : 1;
    unsigned BLKR4              : 1;
    unsigned BLKR5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4BLKR0            : 1;
    unsigned G4BLKR1            : 1;
    unsigned G4BLKR2            : 1;
    unsigned G4BLKR3            : 1;
    unsigned G4BLKR4            : 1;
    unsigned G4BLKR5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned BLKR               : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G4BLKR             : 6;
    unsigned                    : 2;
    };
  } __COG4BLKRbits_t;

extern __at(0x088F) volatile __COG4BLKRbits_t COG4BLKRbits;

#define _COG4BLKR_BLKR0         0x01
#define _COG4BLKR_G4BLKR0       0x01
#define _COG4BLKR_BLKR1         0x02
#define _COG4BLKR_G4BLKR1       0x02
#define _COG4BLKR_BLKR2         0x04
#define _COG4BLKR_G4BLKR2       0x04
#define _COG4BLKR_BLKR3         0x08
#define _COG4BLKR_G4BLKR3       0x08
#define _COG4BLKR_BLKR4         0x10
#define _COG4BLKR_G4BLKR4       0x10
#define _COG4BLKR_BLKR5         0x20
#define _COG4BLKR_G4BLKR5       0x20

//==============================================================================


//==============================================================================
//        COG4BLKF Bits

extern __at(0x0890) __sfr COG4BLKF;

typedef union
  {
  struct
    {
    unsigned BLKF0              : 1;
    unsigned BLKF1              : 1;
    unsigned BLKF2              : 1;
    unsigned BLKF3              : 1;
    unsigned BLKF4              : 1;
    unsigned BLKF5              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4BLKF0            : 1;
    unsigned G4BLKF1            : 1;
    unsigned G4BLKF2            : 1;
    unsigned G4BLKF3            : 1;
    unsigned G4BLKF4            : 1;
    unsigned G4BLKF5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4BLKF             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned BLKF               : 6;
    unsigned                    : 2;
    };
  } __COG4BLKFbits_t;

extern __at(0x0890) volatile __COG4BLKFbits_t COG4BLKFbits;

#define _COG4BLKF_BLKF0         0x01
#define _COG4BLKF_G4BLKF0       0x01
#define _COG4BLKF_BLKF1         0x02
#define _COG4BLKF_G4BLKF1       0x02
#define _COG4BLKF_BLKF2         0x04
#define _COG4BLKF_G4BLKF2       0x04
#define _COG4BLKF_BLKF3         0x08
#define _COG4BLKF_G4BLKF3       0x08
#define _COG4BLKF_BLKF4         0x10
#define _COG4BLKF_G4BLKF4       0x10
#define _COG4BLKF_BLKF5         0x20
#define _COG4BLKF_G4BLKF5       0x20

//==============================================================================


//==============================================================================
//        COG4DBR Bits

extern __at(0x0891) __sfr COG4DBR;

typedef union
  {
  struct
    {
    unsigned DBR0               : 1;
    unsigned DBR1               : 1;
    unsigned DBR2               : 1;
    unsigned DBR3               : 1;
    unsigned DBR4               : 1;
    unsigned DBR5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4DBR0             : 1;
    unsigned G4DBR1             : 1;
    unsigned G4DBR2             : 1;
    unsigned G4DBR3             : 1;
    unsigned G4DBR4             : 1;
    unsigned G4DBR5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned DBR                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned G4DBR              : 6;
    unsigned                    : 2;
    };
  } __COG4DBRbits_t;

extern __at(0x0891) volatile __COG4DBRbits_t COG4DBRbits;

#define _COG4DBR_DBR0           0x01
#define _COG4DBR_G4DBR0         0x01
#define _COG4DBR_DBR1           0x02
#define _COG4DBR_G4DBR1         0x02
#define _COG4DBR_DBR2           0x04
#define _COG4DBR_G4DBR2         0x04
#define _COG4DBR_DBR3           0x08
#define _COG4DBR_G4DBR3         0x08
#define _COG4DBR_DBR4           0x10
#define _COG4DBR_G4DBR4         0x10
#define _COG4DBR_DBR5           0x20
#define _COG4DBR_G4DBR5         0x20

//==============================================================================


//==============================================================================
//        COG4DBF Bits

extern __at(0x0892) __sfr COG4DBF;

typedef union
  {
  struct
    {
    unsigned DBF0               : 1;
    unsigned DBF1               : 1;
    unsigned DBF2               : 1;
    unsigned DBF3               : 1;
    unsigned DBF4               : 1;
    unsigned DBF5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4DBF0             : 1;
    unsigned G4DBF1             : 1;
    unsigned G4DBF2             : 1;
    unsigned G4DBF3             : 1;
    unsigned G4DBF4             : 1;
    unsigned G4DBF5             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned G4DBF              : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned DBF                : 6;
    unsigned                    : 2;
    };
  } __COG4DBFbits_t;

extern __at(0x0892) volatile __COG4DBFbits_t COG4DBFbits;

#define _COG4DBF_DBF0           0x01
#define _COG4DBF_G4DBF0         0x01
#define _COG4DBF_DBF1           0x02
#define _COG4DBF_G4DBF1         0x02
#define _COG4DBF_DBF2           0x04
#define _COG4DBF_G4DBF2         0x04
#define _COG4DBF_DBF3           0x08
#define _COG4DBF_G4DBF3         0x08
#define _COG4DBF_DBF4           0x10
#define _COG4DBF_G4DBF4         0x10
#define _COG4DBF_DBF5           0x20
#define _COG4DBF_G4DBF5         0x20

//==============================================================================


//==============================================================================
//        COG4CON0 Bits

extern __at(0x0893) __sfr COG4CON0;

typedef union
  {
  struct
    {
    unsigned MD0                : 1;
    unsigned MD1                : 1;
    unsigned MD2                : 1;
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned                    : 1;
    unsigned LD                 : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned G4MD0              : 1;
    unsigned G4MD1              : 1;
    unsigned G4MD2              : 1;
    unsigned G4CS0              : 1;
    unsigned G4CS1              : 1;
    unsigned                    : 1;
    unsigned G4LD               : 1;
    unsigned G4EN               : 1;
    };

  struct
    {
    unsigned MD                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned G4MD               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 3;
    unsigned CS                 : 2;
    unsigned                    : 3;
    };

  struct
    {
    unsigned                    : 3;
    unsigned G4CS               : 2;
    unsigned                    : 3;
    };
  } __COG4CON0bits_t;

extern __at(0x0893) volatile __COG4CON0bits_t COG4CON0bits;

#define _COG4CON0_MD0           0x01
#define _COG4CON0_G4MD0         0x01
#define _COG4CON0_MD1           0x02
#define _COG4CON0_G4MD1         0x02
#define _COG4CON0_MD2           0x04
#define _COG4CON0_G4MD2         0x04
#define _COG4CON0_CS0           0x08
#define _COG4CON0_G4CS0         0x08
#define _COG4CON0_CS1           0x10
#define _COG4CON0_G4CS1         0x10
#define _COG4CON0_LD            0x40
#define _COG4CON0_G4LD          0x40
#define _COG4CON0_EN            0x80
#define _COG4CON0_G4EN          0x80

//==============================================================================


//==============================================================================
//        COG4CON1 Bits

extern __at(0x0894) __sfr COG4CON1;

typedef union
  {
  struct
    {
    unsigned POLA               : 1;
    unsigned POLB               : 1;
    unsigned POLC               : 1;
    unsigned POLD               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned FDBS               : 1;
    unsigned RDBS               : 1;
    };

  struct
    {
    unsigned G4POLA             : 1;
    unsigned G4POLB             : 1;
    unsigned G4POLC             : 1;
    unsigned G4POLD             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G4FDBS             : 1;
    unsigned G4RDBS             : 1;
    };
  } __COG4CON1bits_t;

extern __at(0x0894) volatile __COG4CON1bits_t COG4CON1bits;

#define _COG4CON1_POLA          0x01
#define _COG4CON1_G4POLA        0x01
#define _COG4CON1_POLB          0x02
#define _COG4CON1_G4POLB        0x02
#define _COG4CON1_POLC          0x04
#define _COG4CON1_G4POLC        0x04
#define _COG4CON1_POLD          0x08
#define _COG4CON1_G4POLD        0x08
#define _COG4CON1_FDBS          0x40
#define _COG4CON1_G4FDBS        0x40
#define _COG4CON1_RDBS          0x80
#define _COG4CON1_G4RDBS        0x80

//==============================================================================


//==============================================================================
//        COG4RIS0 Bits

extern __at(0x0895) __sfr COG4RIS0;

typedef union
  {
  struct
    {
    unsigned RIS0               : 1;
    unsigned RIS1               : 1;
    unsigned RIS2               : 1;
    unsigned RIS3               : 1;
    unsigned RIS4               : 1;
    unsigned RIS5               : 1;
    unsigned RIS6               : 1;
    unsigned RIS7               : 1;
    };

  struct
    {
    unsigned G4RIS0             : 1;
    unsigned G4RIS1             : 1;
    unsigned G4RIS2             : 1;
    unsigned G4RIS3             : 1;
    unsigned G4RIS4             : 1;
    unsigned G4RIS5             : 1;
    unsigned G4RIS6             : 1;
    unsigned G4RIS7             : 1;
    };
  } __COG4RIS0bits_t;

extern __at(0x0895) volatile __COG4RIS0bits_t COG4RIS0bits;

#define _COG4RIS0_RIS0          0x01
#define _COG4RIS0_G4RIS0        0x01
#define _COG4RIS0_RIS1          0x02
#define _COG4RIS0_G4RIS1        0x02
#define _COG4RIS0_RIS2          0x04
#define _COG4RIS0_G4RIS2        0x04
#define _COG4RIS0_RIS3          0x08
#define _COG4RIS0_G4RIS3        0x08
#define _COG4RIS0_RIS4          0x10
#define _COG4RIS0_G4RIS4        0x10
#define _COG4RIS0_RIS5          0x20
#define _COG4RIS0_G4RIS5        0x20
#define _COG4RIS0_RIS6          0x40
#define _COG4RIS0_G4RIS6        0x40
#define _COG4RIS0_RIS7          0x80
#define _COG4RIS0_G4RIS7        0x80

//==============================================================================


//==============================================================================
//        COG4RIS1 Bits

extern __at(0x0896) __sfr COG4RIS1;

typedef union
  {
  struct
    {
    unsigned RIS8               : 1;
    unsigned RIS9               : 1;
    unsigned RIS10              : 1;
    unsigned RIS11              : 1;
    unsigned RIS12              : 1;
    unsigned RIS13              : 1;
    unsigned RIS14              : 1;
    unsigned RIS15              : 1;
    };

  struct
    {
    unsigned G4RIS8             : 1;
    unsigned G4RIS9             : 1;
    unsigned G4RIS10            : 1;
    unsigned G4RIS11            : 1;
    unsigned G4RIS12            : 1;
    unsigned G4RIS13            : 1;
    unsigned G4RIS14            : 1;
    unsigned G4RIS15            : 1;
    };
  } __COG4RIS1bits_t;

extern __at(0x0896) volatile __COG4RIS1bits_t COG4RIS1bits;

#define _COG4RIS1_RIS8          0x01
#define _COG4RIS1_G4RIS8        0x01
#define _COG4RIS1_RIS9          0x02
#define _COG4RIS1_G4RIS9        0x02
#define _COG4RIS1_RIS10         0x04
#define _COG4RIS1_G4RIS10       0x04
#define _COG4RIS1_RIS11         0x08
#define _COG4RIS1_G4RIS11       0x08
#define _COG4RIS1_RIS12         0x10
#define _COG4RIS1_G4RIS12       0x10
#define _COG4RIS1_RIS13         0x20
#define _COG4RIS1_G4RIS13       0x20
#define _COG4RIS1_RIS14         0x40
#define _COG4RIS1_G4RIS14       0x40
#define _COG4RIS1_RIS15         0x80
#define _COG4RIS1_G4RIS15       0x80

//==============================================================================


//==============================================================================
//        COG4RSIM0 Bits

extern __at(0x0897) __sfr COG4RSIM0;

typedef union
  {
  struct
    {
    unsigned RSIM0              : 1;
    unsigned RSIM1              : 1;
    unsigned RSIM2              : 1;
    unsigned RSIM3              : 1;
    unsigned RSIM4              : 1;
    unsigned RSIM5              : 1;
    unsigned RSIM6              : 1;
    unsigned RSIM7              : 1;
    };

  struct
    {
    unsigned G4RSIM0            : 1;
    unsigned G4RSIM1            : 1;
    unsigned G4RSIM2            : 1;
    unsigned G4RSIM3            : 1;
    unsigned G4RSIM4            : 1;
    unsigned G4RSIM5            : 1;
    unsigned G4RSIM6            : 1;
    unsigned G4RSIM7            : 1;
    };
  } __COG4RSIM0bits_t;

extern __at(0x0897) volatile __COG4RSIM0bits_t COG4RSIM0bits;

#define _COG4RSIM0_RSIM0        0x01
#define _COG4RSIM0_G4RSIM0      0x01
#define _COG4RSIM0_RSIM1        0x02
#define _COG4RSIM0_G4RSIM1      0x02
#define _COG4RSIM0_RSIM2        0x04
#define _COG4RSIM0_G4RSIM2      0x04
#define _COG4RSIM0_RSIM3        0x08
#define _COG4RSIM0_G4RSIM3      0x08
#define _COG4RSIM0_RSIM4        0x10
#define _COG4RSIM0_G4RSIM4      0x10
#define _COG4RSIM0_RSIM5        0x20
#define _COG4RSIM0_G4RSIM5      0x20
#define _COG4RSIM0_RSIM6        0x40
#define _COG4RSIM0_G4RSIM6      0x40
#define _COG4RSIM0_RSIM7        0x80
#define _COG4RSIM0_G4RSIM7      0x80

//==============================================================================


//==============================================================================
//        COG4RSIM1 Bits

extern __at(0x0898) __sfr COG4RSIM1;

typedef union
  {
  struct
    {
    unsigned RSIM8              : 1;
    unsigned RSIM9              : 1;
    unsigned RSIM10             : 1;
    unsigned RSIM11             : 1;
    unsigned RSIM12             : 1;
    unsigned RSIM13             : 1;
    unsigned RSIM14             : 1;
    unsigned RSIM15             : 1;
    };

  struct
    {
    unsigned G4RSIM8            : 1;
    unsigned G4RSIM9            : 1;
    unsigned G4RSIM10           : 1;
    unsigned G4RSIM11           : 1;
    unsigned G4RSIM12           : 1;
    unsigned G4RSIM13           : 1;
    unsigned G4RSIM14           : 1;
    unsigned G4RSIM15           : 1;
    };
  } __COG4RSIM1bits_t;

extern __at(0x0898) volatile __COG4RSIM1bits_t COG4RSIM1bits;

#define _COG4RSIM1_RSIM8        0x01
#define _COG4RSIM1_G4RSIM8      0x01
#define _COG4RSIM1_RSIM9        0x02
#define _COG4RSIM1_G4RSIM9      0x02
#define _COG4RSIM1_RSIM10       0x04
#define _COG4RSIM1_G4RSIM10     0x04
#define _COG4RSIM1_RSIM11       0x08
#define _COG4RSIM1_G4RSIM11     0x08
#define _COG4RSIM1_RSIM12       0x10
#define _COG4RSIM1_G4RSIM12     0x10
#define _COG4RSIM1_RSIM13       0x20
#define _COG4RSIM1_G4RSIM13     0x20
#define _COG4RSIM1_RSIM14       0x40
#define _COG4RSIM1_G4RSIM14     0x40
#define _COG4RSIM1_RSIM15       0x80
#define _COG4RSIM1_G4RSIM15     0x80

//==============================================================================


//==============================================================================
//        COG4FIS0 Bits

extern __at(0x0899) __sfr COG4FIS0;

typedef union
  {
  struct
    {
    unsigned FIS0               : 1;
    unsigned FIS1               : 1;
    unsigned FIS2               : 1;
    unsigned FIS3               : 1;
    unsigned FIS4               : 1;
    unsigned FIS5               : 1;
    unsigned FIS6               : 1;
    unsigned FIS7               : 1;
    };

  struct
    {
    unsigned G4FIS0             : 1;
    unsigned G4FIS1             : 1;
    unsigned G4FIS2             : 1;
    unsigned G4FIS3             : 1;
    unsigned G4FIS4             : 1;
    unsigned G4FIS5             : 1;
    unsigned G4FIS6             : 1;
    unsigned G4FIS7             : 1;
    };
  } __COG4FIS0bits_t;

extern __at(0x0899) volatile __COG4FIS0bits_t COG4FIS0bits;

#define _COG4FIS0_FIS0          0x01
#define _COG4FIS0_G4FIS0        0x01
#define _COG4FIS0_FIS1          0x02
#define _COG4FIS0_G4FIS1        0x02
#define _COG4FIS0_FIS2          0x04
#define _COG4FIS0_G4FIS2        0x04
#define _COG4FIS0_FIS3          0x08
#define _COG4FIS0_G4FIS3        0x08
#define _COG4FIS0_FIS4          0x10
#define _COG4FIS0_G4FIS4        0x10
#define _COG4FIS0_FIS5          0x20
#define _COG4FIS0_G4FIS5        0x20
#define _COG4FIS0_FIS6          0x40
#define _COG4FIS0_G4FIS6        0x40
#define _COG4FIS0_FIS7          0x80
#define _COG4FIS0_G4FIS7        0x80

//==============================================================================


//==============================================================================
//        COG4FIS1 Bits

extern __at(0x089A) __sfr COG4FIS1;

typedef union
  {
  struct
    {
    unsigned FIS8               : 1;
    unsigned FIS9               : 1;
    unsigned FIS10              : 1;
    unsigned FIS11              : 1;
    unsigned FIS12              : 1;
    unsigned FIS13              : 1;
    unsigned FIS14              : 1;
    unsigned FIS15              : 1;
    };

  struct
    {
    unsigned G4FIS8             : 1;
    unsigned G4FIS9             : 1;
    unsigned G4FIS10            : 1;
    unsigned G4FIS11            : 1;
    unsigned G4FIS12            : 1;
    unsigned G4FIS13            : 1;
    unsigned G4FIS14            : 1;
    unsigned G4FIS15            : 1;
    };
  } __COG4FIS1bits_t;

extern __at(0x089A) volatile __COG4FIS1bits_t COG4FIS1bits;

#define _COG4FIS1_FIS8          0x01
#define _COG4FIS1_G4FIS8        0x01
#define _COG4FIS1_FIS9          0x02
#define _COG4FIS1_G4FIS9        0x02
#define _COG4FIS1_FIS10         0x04
#define _COG4FIS1_G4FIS10       0x04
#define _COG4FIS1_FIS11         0x08
#define _COG4FIS1_G4FIS11       0x08
#define _COG4FIS1_FIS12         0x10
#define _COG4FIS1_G4FIS12       0x10
#define _COG4FIS1_FIS13         0x20
#define _COG4FIS1_G4FIS13       0x20
#define _COG4FIS1_FIS14         0x40
#define _COG4FIS1_G4FIS14       0x40
#define _COG4FIS1_FIS15         0x80
#define _COG4FIS1_G4FIS15       0x80

//==============================================================================


//==============================================================================
//        COG4FSIM0 Bits

extern __at(0x089B) __sfr COG4FSIM0;

typedef union
  {
  struct
    {
    unsigned FSIM0              : 1;
    unsigned FSIM1              : 1;
    unsigned FSIM2              : 1;
    unsigned FSIM3              : 1;
    unsigned FSIM4              : 1;
    unsigned FSIM5              : 1;
    unsigned FSIM6              : 1;
    unsigned FSIM7              : 1;
    };

  struct
    {
    unsigned G4FSIM0            : 1;
    unsigned G4FSIM1            : 1;
    unsigned G4FSIM2            : 1;
    unsigned G4FSIM3            : 1;
    unsigned G4FSIM4            : 1;
    unsigned G4FSIM5            : 1;
    unsigned G4FSIM6            : 1;
    unsigned G4FSIM7            : 1;
    };
  } __COG4FSIM0bits_t;

extern __at(0x089B) volatile __COG4FSIM0bits_t COG4FSIM0bits;

#define _COG4FSIM0_FSIM0        0x01
#define _COG4FSIM0_G4FSIM0      0x01
#define _COG4FSIM0_FSIM1        0x02
#define _COG4FSIM0_G4FSIM1      0x02
#define _COG4FSIM0_FSIM2        0x04
#define _COG4FSIM0_G4FSIM2      0x04
#define _COG4FSIM0_FSIM3        0x08
#define _COG4FSIM0_G4FSIM3      0x08
#define _COG4FSIM0_FSIM4        0x10
#define _COG4FSIM0_G4FSIM4      0x10
#define _COG4FSIM0_FSIM5        0x20
#define _COG4FSIM0_G4FSIM5      0x20
#define _COG4FSIM0_FSIM6        0x40
#define _COG4FSIM0_G4FSIM6      0x40
#define _COG4FSIM0_FSIM7        0x80
#define _COG4FSIM0_G4FSIM7      0x80

//==============================================================================


//==============================================================================
//        COG4FSIM1 Bits

extern __at(0x089C) __sfr COG4FSIM1;

typedef union
  {
  struct
    {
    unsigned FSIM8              : 1;
    unsigned FSIM9              : 1;
    unsigned FSIM10             : 1;
    unsigned FSIM11             : 1;
    unsigned FSIM12             : 1;
    unsigned FSIM13             : 1;
    unsigned FSIM14             : 1;
    unsigned FSIM15             : 1;
    };

  struct
    {
    unsigned G4FSIM8            : 1;
    unsigned G4FSIM9            : 1;
    unsigned G4FSIM10           : 1;
    unsigned G4FSIM11           : 1;
    unsigned G4FSIM12           : 1;
    unsigned G4FSIM13           : 1;
    unsigned G4FSIM14           : 1;
    unsigned G4FSIM15           : 1;
    };
  } __COG4FSIM1bits_t;

extern __at(0x089C) volatile __COG4FSIM1bits_t COG4FSIM1bits;

#define _COG4FSIM1_FSIM8        0x01
#define _COG4FSIM1_G4FSIM8      0x01
#define _COG4FSIM1_FSIM9        0x02
#define _COG4FSIM1_G4FSIM9      0x02
#define _COG4FSIM1_FSIM10       0x04
#define _COG4FSIM1_G4FSIM10     0x04
#define _COG4FSIM1_FSIM11       0x08
#define _COG4FSIM1_G4FSIM11     0x08
#define _COG4FSIM1_FSIM12       0x10
#define _COG4FSIM1_G4FSIM12     0x10
#define _COG4FSIM1_FSIM13       0x20
#define _COG4FSIM1_G4FSIM13     0x20
#define _COG4FSIM1_FSIM14       0x40
#define _COG4FSIM1_G4FSIM14     0x40
#define _COG4FSIM1_FSIM15       0x80
#define _COG4FSIM1_G4FSIM15     0x80

//==============================================================================


//==============================================================================
//        COG4ASD0 Bits

extern __at(0x089D) __sfr COG4ASD0;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned ASDAC0             : 1;
    unsigned ASDAC1             : 1;
    unsigned ASDBD0             : 1;
    unsigned ASDBD1             : 1;
    unsigned ASREN              : 1;
    unsigned ASE                : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G4ASDAC0           : 1;
    unsigned G4ASDAC1           : 1;
    unsigned G4ASDBD0           : 1;
    unsigned G4ASDBD1           : 1;
    unsigned ARSEN              : 1;
    unsigned G4ASE              : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G4ARSEN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned G4ASREN            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned G4ASDAC            : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned ASDAC              : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 4;
    unsigned ASDBD              : 2;
    unsigned                    : 2;
    };

  struct
    {
    unsigned                    : 4;
    unsigned G4ASDBD            : 2;
    unsigned                    : 2;
    };
  } __COG4ASD0bits_t;

extern __at(0x089D) volatile __COG4ASD0bits_t COG4ASD0bits;

#define _COG4ASD0_ASDAC0        0x04
#define _COG4ASD0_G4ASDAC0      0x04
#define _COG4ASD0_ASDAC1        0x08
#define _COG4ASD0_G4ASDAC1      0x08
#define _COG4ASD0_ASDBD0        0x10
#define _COG4ASD0_G4ASDBD0      0x10
#define _COG4ASD0_ASDBD1        0x20
#define _COG4ASD0_G4ASDBD1      0x20
#define _COG4ASD0_ASREN         0x40
#define _COG4ASD0_ARSEN         0x40
#define _COG4ASD0_G4ARSEN       0x40
#define _COG4ASD0_G4ASREN       0x40
#define _COG4ASD0_ASE           0x80
#define _COG4ASD0_G4ASE         0x80

//==============================================================================


//==============================================================================
//        COG4ASD1 Bits

extern __at(0x089E) __sfr COG4ASD1;

typedef union
  {
  struct
    {
    unsigned AS0E               : 1;
    unsigned AS1E               : 1;
    unsigned AS2E               : 1;
    unsigned AS3E               : 1;
    unsigned AS4E               : 1;
    unsigned AS5E               : 1;
    unsigned AS6E               : 1;
    unsigned AS7E               : 1;
    };

  struct
    {
    unsigned G4AS0E             : 1;
    unsigned G4AS1E             : 1;
    unsigned G4AS2E             : 1;
    unsigned G4AS3E             : 1;
    unsigned G4AS4E             : 1;
    unsigned G4AS5E             : 1;
    unsigned G4AS6E             : 1;
    unsigned G4AS7E             : 1;
    };
  } __COG4ASD1bits_t;

extern __at(0x089E) volatile __COG4ASD1bits_t COG4ASD1bits;

#define _COG4ASD1_AS0E          0x01
#define _COG4ASD1_G4AS0E        0x01
#define _COG4ASD1_AS1E          0x02
#define _COG4ASD1_G4AS1E        0x02
#define _COG4ASD1_AS2E          0x04
#define _COG4ASD1_G4AS2E        0x04
#define _COG4ASD1_AS3E          0x08
#define _COG4ASD1_G4AS3E        0x08
#define _COG4ASD1_AS4E          0x10
#define _COG4ASD1_G4AS4E        0x10
#define _COG4ASD1_AS5E          0x20
#define _COG4ASD1_G4AS5E        0x20
#define _COG4ASD1_AS6E          0x40
#define _COG4ASD1_G4AS6E        0x40
#define _COG4ASD1_AS7E          0x80
#define _COG4ASD1_G4AS7E        0x80

//==============================================================================


//==============================================================================
//        COG4STR Bits

extern __at(0x089F) __sfr COG4STR;

typedef union
  {
  struct
    {
    unsigned STRA               : 1;
    unsigned STRB               : 1;
    unsigned STRC               : 1;
    unsigned STRD               : 1;
    unsigned SDATA              : 1;
    unsigned SDATB              : 1;
    unsigned SDATC              : 1;
    unsigned SDATD              : 1;
    };

  struct
    {
    unsigned G4STRA             : 1;
    unsigned G4STRB             : 1;
    unsigned G4STRC             : 1;
    unsigned G4STRD             : 1;
    unsigned G4SDATA            : 1;
    unsigned G4SDATB            : 1;
    unsigned G4SDATC            : 1;
    unsigned G4SDATD            : 1;
    };
  } __COG4STRbits_t;

extern __at(0x089F) volatile __COG4STRbits_t COG4STRbits;

#define _COG4STR_STRA           0x01
#define _COG4STR_G4STRA         0x01
#define _COG4STR_STRB           0x02
#define _COG4STR_G4STRB         0x02
#define _COG4STR_STRC           0x04
#define _COG4STR_G4STRC         0x04
#define _COG4STR_STRD           0x08
#define _COG4STR_G4STRD         0x08
#define _COG4STR_SDATA          0x10
#define _COG4STR_G4SDATA        0x10
#define _COG4STR_SDATB          0x20
#define _COG4STR_G4SDATB        0x20
#define _COG4STR_SDATC          0x40
#define _COG4STR_G4SDATC        0x40
#define _COG4STR_SDATD          0x80
#define _COG4STR_G4SDATD        0x80

//==============================================================================


//==============================================================================
//        CM4CON0 Bits

extern __at(0x090C) __sfr CM4CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C4SYNC             : 1;
    unsigned C4HYS              : 1;
    unsigned C4SP               : 1;
    unsigned C4ZLF              : 1;
    unsigned C4POL              : 1;
    unsigned                    : 1;
    unsigned C4OUT              : 1;
    unsigned C4ON               : 1;
    };
  } __CM4CON0bits_t;

extern __at(0x090C) volatile __CM4CON0bits_t CM4CON0bits;

#define _CM4CON0_SYNC           0x01
#define _CM4CON0_C4SYNC         0x01
#define _CM4CON0_HYS            0x02
#define _CM4CON0_C4HYS          0x02
#define _CM4CON0_Reserved       0x04
#define _CM4CON0_C4SP           0x04
#define _CM4CON0_ZLF            0x08
#define _CM4CON0_C4ZLF          0x08
#define _CM4CON0_POL            0x10
#define _CM4CON0_C4POL          0x10
#define _CM4CON0_OUT            0x40
#define _CM4CON0_C4OUT          0x40
#define _CM4CON0_ON             0x80
#define _CM4CON0_C4ON           0x80

//==============================================================================


//==============================================================================
//        CM4CON1 Bits

extern __at(0x090D) __sfr CM4CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C4INTN             : 1;
    unsigned C4INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM4CON1bits_t;

extern __at(0x090D) volatile __CM4CON1bits_t CM4CON1bits;

#define _CM4CON1_INTN           0x01
#define _CM4CON1_C4INTN         0x01
#define _CM4CON1_INTP           0x02
#define _CM4CON1_C4INTP         0x02

//==============================================================================


//==============================================================================
//        CM4NSEL Bits

extern __at(0x090E) __sfr CM4NSEL;

typedef union
  {
  struct
    {
    unsigned C4NCH0             : 1;
    unsigned C4NCH1             : 1;
    unsigned C4NCH2             : 1;
    unsigned C4NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C4NCH              : 4;
    unsigned                    : 4;
    };
  } __CM4NSELbits_t;

extern __at(0x090E) volatile __CM4NSELbits_t CM4NSELbits;

#define _C4NCH0                 0x01
#define _C4NCH1                 0x02
#define _C4NCH2                 0x04
#define _C4NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM4PSEL Bits

extern __at(0x090F) __sfr CM4PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C4PCH0             : 1;
    unsigned C4PCH1             : 1;
    unsigned C4PCH2             : 1;
    unsigned C4PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned C4PCH              : 4;
    unsigned                    : 4;
    };
  } __CM4PSELbits_t;

extern __at(0x090F) volatile __CM4PSELbits_t CM4PSELbits;

#define _CM4PSEL_PCH0           0x01
#define _CM4PSEL_C4PCH0         0x01
#define _CM4PSEL_PCH1           0x02
#define _CM4PSEL_C4PCH1         0x02
#define _CM4PSEL_PCH2           0x04
#define _CM4PSEL_C4PCH2         0x04
#define _CM4PSEL_PCH3           0x08
#define _CM4PSEL_C4PCH3         0x08

//==============================================================================


//==============================================================================
//        CM5CON0 Bits

extern __at(0x0910) __sfr CM5CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C5SYNC             : 1;
    unsigned C5HYS              : 1;
    unsigned C5SP               : 1;
    unsigned C5ZLF              : 1;
    unsigned C5POL              : 1;
    unsigned                    : 1;
    unsigned C5OUT              : 1;
    unsigned C5ON               : 1;
    };
  } __CM5CON0bits_t;

extern __at(0x0910) volatile __CM5CON0bits_t CM5CON0bits;

#define _CM5CON0_SYNC           0x01
#define _CM5CON0_C5SYNC         0x01
#define _CM5CON0_HYS            0x02
#define _CM5CON0_C5HYS          0x02
#define _CM5CON0_Reserved       0x04
#define _CM5CON0_C5SP           0x04
#define _CM5CON0_ZLF            0x08
#define _CM5CON0_C5ZLF          0x08
#define _CM5CON0_POL            0x10
#define _CM5CON0_C5POL          0x10
#define _CM5CON0_OUT            0x40
#define _CM5CON0_C5OUT          0x40
#define _CM5CON0_ON             0x80
#define _CM5CON0_C5ON           0x80

//==============================================================================


//==============================================================================
//        CM5CON1 Bits

extern __at(0x0911) __sfr CM5CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C5INTN             : 1;
    unsigned C5INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM5CON1bits_t;

extern __at(0x0911) volatile __CM5CON1bits_t CM5CON1bits;

#define _CM5CON1_INTN           0x01
#define _CM5CON1_C5INTN         0x01
#define _CM5CON1_INTP           0x02
#define _CM5CON1_C5INTP         0x02

//==============================================================================


//==============================================================================
//        CM5NSEL Bits

extern __at(0x0912) __sfr CM5NSEL;

typedef union
  {
  struct
    {
    unsigned C5NCH0             : 1;
    unsigned C5NCH1             : 1;
    unsigned C5NCH2             : 1;
    unsigned C5NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C5NCH              : 4;
    unsigned                    : 4;
    };
  } __CM5NSELbits_t;

extern __at(0x0912) volatile __CM5NSELbits_t CM5NSELbits;

#define _C5NCH0                 0x01
#define _C5NCH1                 0x02
#define _C5NCH2                 0x04
#define _C5NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM5PSEL Bits

extern __at(0x0913) __sfr CM5PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C5PCH0             : 1;
    unsigned C5PCH1             : 1;
    unsigned C5PCH2             : 1;
    unsigned C5PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C5PCH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };
  } __CM5PSELbits_t;

extern __at(0x0913) volatile __CM5PSELbits_t CM5PSELbits;

#define _CM5PSEL_PCH0           0x01
#define _CM5PSEL_C5PCH0         0x01
#define _CM5PSEL_PCH1           0x02
#define _CM5PSEL_C5PCH1         0x02
#define _CM5PSEL_PCH2           0x04
#define _CM5PSEL_C5PCH2         0x04
#define _CM5PSEL_PCH3           0x08
#define _CM5PSEL_C5PCH3         0x08

//==============================================================================


//==============================================================================
//        CM6CON0 Bits

extern __at(0x0914) __sfr CM6CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C6SYNC             : 1;
    unsigned C6HYS              : 1;
    unsigned C6SP               : 1;
    unsigned C6ZLF              : 1;
    unsigned C6POL              : 1;
    unsigned                    : 1;
    unsigned C6OUT              : 1;
    unsigned C6ON               : 1;
    };
  } __CM6CON0bits_t;

extern __at(0x0914) volatile __CM6CON0bits_t CM6CON0bits;

#define _CM6CON0_SYNC           0x01
#define _CM6CON0_C6SYNC         0x01
#define _CM6CON0_HYS            0x02
#define _CM6CON0_C6HYS          0x02
#define _CM6CON0_Reserved       0x04
#define _CM6CON0_C6SP           0x04
#define _CM6CON0_ZLF            0x08
#define _CM6CON0_C6ZLF          0x08
#define _CM6CON0_POL            0x10
#define _CM6CON0_C6POL          0x10
#define _CM6CON0_OUT            0x40
#define _CM6CON0_C6OUT          0x40
#define _CM6CON0_ON             0x80
#define _CM6CON0_C6ON           0x80

//==============================================================================


//==============================================================================
//        CM6CON1 Bits

extern __at(0x0915) __sfr CM6CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C6INTN             : 1;
    unsigned C6INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM6CON1bits_t;

extern __at(0x0915) volatile __CM6CON1bits_t CM6CON1bits;

#define _CM6CON1_INTN           0x01
#define _CM6CON1_C6INTN         0x01
#define _CM6CON1_INTP           0x02
#define _CM6CON1_C6INTP         0x02

//==============================================================================


//==============================================================================
//        CM6NSEL Bits

extern __at(0x0916) __sfr CM6NSEL;

typedef union
  {
  struct
    {
    unsigned C6NCH0             : 1;
    unsigned C6NCH1             : 1;
    unsigned C6NCH2             : 1;
    unsigned C6NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C6NCH              : 4;
    unsigned                    : 4;
    };
  } __CM6NSELbits_t;

extern __at(0x0916) volatile __CM6NSELbits_t CM6NSELbits;

#define _C6NCH0                 0x01
#define _C6NCH1                 0x02
#define _C6NCH2                 0x04
#define _C6NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM6PSEL Bits

extern __at(0x0917) __sfr CM6PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C6PCH0             : 1;
    unsigned C6PCH1             : 1;
    unsigned C6PCH2             : 1;
    unsigned C6PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C6PCH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };
  } __CM6PSELbits_t;

extern __at(0x0917) volatile __CM6PSELbits_t CM6PSELbits;

#define _CM6PSEL_PCH0           0x01
#define _CM6PSEL_C6PCH0         0x01
#define _CM6PSEL_PCH1           0x02
#define _CM6PSEL_C6PCH1         0x02
#define _CM6PSEL_PCH2           0x04
#define _CM6PSEL_C6PCH2         0x04
#define _CM6PSEL_PCH3           0x08
#define _CM6PSEL_C6PCH3         0x08

//==============================================================================


//==============================================================================
//        CM7CON0 Bits

extern __at(0x0918) __sfr CM7CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C7SYNC             : 1;
    unsigned C7HYS              : 1;
    unsigned C7SP               : 1;
    unsigned C7ZLF              : 1;
    unsigned C7POL              : 1;
    unsigned                    : 1;
    unsigned C7OUT              : 1;
    unsigned C7ON               : 1;
    };
  } __CM7CON0bits_t;

extern __at(0x0918) volatile __CM7CON0bits_t CM7CON0bits;

#define _CM7CON0_SYNC           0x01
#define _CM7CON0_C7SYNC         0x01
#define _CM7CON0_HYS            0x02
#define _CM7CON0_C7HYS          0x02
#define _CM7CON0_Reserved       0x04
#define _CM7CON0_C7SP           0x04
#define _CM7CON0_ZLF            0x08
#define _CM7CON0_C7ZLF          0x08
#define _CM7CON0_POL            0x10
#define _CM7CON0_C7POL          0x10
#define _CM7CON0_OUT            0x40
#define _CM7CON0_C7OUT          0x40
#define _CM7CON0_ON             0x80
#define _CM7CON0_C7ON           0x80

//==============================================================================


//==============================================================================
//        CM7CON1 Bits

extern __at(0x0919) __sfr CM7CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C7INTN             : 1;
    unsigned C7INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM7CON1bits_t;

extern __at(0x0919) volatile __CM7CON1bits_t CM7CON1bits;

#define _CM7CON1_INTN           0x01
#define _CM7CON1_C7INTN         0x01
#define _CM7CON1_INTP           0x02
#define _CM7CON1_C7INTP         0x02

//==============================================================================


//==============================================================================
//        CM7NSEL Bits

extern __at(0x091A) __sfr CM7NSEL;

typedef union
  {
  struct
    {
    unsigned C7NCH0             : 1;
    unsigned C7NCH1             : 1;
    unsigned C7NCH2             : 1;
    unsigned C7NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C7NCH              : 4;
    unsigned                    : 4;
    };
  } __CM7NSELbits_t;

extern __at(0x091A) volatile __CM7NSELbits_t CM7NSELbits;

#define _C7NCH0                 0x01
#define _C7NCH1                 0x02
#define _C7NCH2                 0x04
#define _C7NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM7PSEL Bits

extern __at(0x091B) __sfr CM7PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C7PCH0             : 1;
    unsigned C7PCH1             : 1;
    unsigned C7PCH2             : 1;
    unsigned C7PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned C7PCH              : 4;
    unsigned                    : 4;
    };
  } __CM7PSELbits_t;

extern __at(0x091B) volatile __CM7PSELbits_t CM7PSELbits;

#define _CM7PSEL_PCH0           0x01
#define _CM7PSEL_C7PCH0         0x01
#define _CM7PSEL_PCH1           0x02
#define _CM7PSEL_C7PCH1         0x02
#define _CM7PSEL_PCH2           0x04
#define _CM7PSEL_C7PCH2         0x04
#define _CM7PSEL_PCH3           0x08
#define _CM7PSEL_C7PCH3         0x08

//==============================================================================


//==============================================================================
//        CM8CON0 Bits

extern __at(0x091C) __sfr CM8CON0;

typedef union
  {
  struct
    {
    unsigned SYNC               : 1;
    unsigned HYS                : 1;
    unsigned Reserved           : 1;
    unsigned ZLF                : 1;
    unsigned POL                : 1;
    unsigned                    : 1;
    unsigned OUT                : 1;
    unsigned ON                 : 1;
    };

  struct
    {
    unsigned C8SYNC             : 1;
    unsigned C8HYS              : 1;
    unsigned C8SP               : 1;
    unsigned C8ZLF              : 1;
    unsigned C8POL              : 1;
    unsigned                    : 1;
    unsigned C8OUT              : 1;
    unsigned C8ON               : 1;
    };
  } __CM8CON0bits_t;

extern __at(0x091C) volatile __CM8CON0bits_t CM8CON0bits;

#define _CM8CON0_SYNC           0x01
#define _CM8CON0_C8SYNC         0x01
#define _CM8CON0_HYS            0x02
#define _CM8CON0_C8HYS          0x02
#define _CM8CON0_Reserved       0x04
#define _CM8CON0_C8SP           0x04
#define _CM8CON0_ZLF            0x08
#define _CM8CON0_C8ZLF          0x08
#define _CM8CON0_POL            0x10
#define _CM8CON0_C8POL          0x10
#define _CM8CON0_OUT            0x40
#define _CM8CON0_C8OUT          0x40
#define _CM8CON0_ON             0x80
#define _CM8CON0_C8ON           0x80

//==============================================================================


//==============================================================================
//        CM8CON1 Bits

extern __at(0x091D) __sfr CM8CON1;

typedef union
  {
  struct
    {
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C8INTN             : 1;
    unsigned C8INTP             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __CM8CON1bits_t;

extern __at(0x091D) volatile __CM8CON1bits_t CM8CON1bits;

#define _CM8CON1_INTN           0x01
#define _CM8CON1_C8INTN         0x01
#define _CM8CON1_INTP           0x02
#define _CM8CON1_C8INTP         0x02

//==============================================================================


//==============================================================================
//        CM8NSEL Bits

extern __at(0x091E) __sfr CM8NSEL;

typedef union
  {
  struct
    {
    unsigned C8NCH0             : 1;
    unsigned C8NCH1             : 1;
    unsigned C8NCH2             : 1;
    unsigned C8NCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C8NCH              : 4;
    unsigned                    : 4;
    };
  } __CM8NSELbits_t;

extern __at(0x091E) volatile __CM8NSELbits_t CM8NSELbits;

#define _C8NCH0                 0x01
#define _C8NCH1                 0x02
#define _C8NCH2                 0x04
#define _C8NCH3                 0x08

//==============================================================================


//==============================================================================
//        CM8PSEL Bits

extern __at(0x091F) __sfr CM8PSEL;

typedef union
  {
  struct
    {
    unsigned PCH0               : 1;
    unsigned PCH1               : 1;
    unsigned PCH2               : 1;
    unsigned PCH3               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C8PCH0             : 1;
    unsigned C8PCH1             : 1;
    unsigned C8PCH2             : 1;
    unsigned C8PCH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned C8PCH              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned PCH                : 4;
    unsigned                    : 4;
    };
  } __CM8PSELbits_t;

extern __at(0x091F) volatile __CM8PSELbits_t CM8PSELbits;

#define _CM8PSEL_PCH0           0x01
#define _CM8PSEL_C8PCH0         0x01
#define _CM8PSEL_PCH1           0x02
#define _CM8PSEL_C8PCH1         0x02
#define _CM8PSEL_PCH2           0x04
#define _CM8PSEL_C8PCH2         0x04
#define _CM8PSEL_PCH3           0x08
#define _CM8PSEL_C8PCH3         0x08

//==============================================================================


//==============================================================================
//        MD4CON0 Bits

extern __at(0x0D1B) __sfr MD4CON0;

typedef union
  {
  struct
    {
    unsigned BIT                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OPOL               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MD4BIT             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD4OPOL            : 1;
    unsigned MD4OUT             : 1;
    unsigned                    : 1;
    unsigned MD4EN              : 1;
    };
  } __MD4CON0bits_t;

extern __at(0x0D1B) volatile __MD4CON0bits_t MD4CON0bits;

#define _MD4CON0_BIT            0x01
#define _MD4CON0_MD4BIT         0x01
#define _MD4CON0_OPOL           0x10
#define _MD4CON0_MD4OPOL        0x10
#define _MD4CON0_OUT            0x20
#define _MD4CON0_MD4OUT         0x20
#define _MD4CON0_EN             0x80
#define _MD4CON0_MD4EN          0x80

//==============================================================================


//==============================================================================
//        MD4CON1 Bits

extern __at(0x0D1C) __sfr MD4CON1;

typedef union
  {
  struct
    {
    unsigned CLSYNC             : 1;
    unsigned CLPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned CHSYNC             : 1;
    unsigned CHPOL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4CLSYNC          : 1;
    unsigned MD4CLPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MD4CHSYNC          : 1;
    unsigned MD4CHPOL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __MD4CON1bits_t;

extern __at(0x0D1C) volatile __MD4CON1bits_t MD4CON1bits;

#define _MD4CON1_CLSYNC         0x01
#define _MD4CON1_MD4CLSYNC      0x01
#define _MD4CON1_CLPOL          0x02
#define _MD4CON1_MD4CLPOL       0x02
#define _MD4CON1_CHSYNC         0x10
#define _MD4CON1_MD4CHSYNC      0x10
#define _MD4CON1_CHPOL          0x20
#define _MD4CON1_MD4CHPOL       0x20

//==============================================================================


//==============================================================================
//        MD4SRC Bits

extern __at(0x0D1D) __sfr MD4SRC;

typedef union
  {
  struct
    {
    unsigned MS0                : 1;
    unsigned MS1                : 1;
    unsigned MS2                : 1;
    unsigned MS3                : 1;
    unsigned MS4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4MS0             : 1;
    unsigned MD4MS1             : 1;
    unsigned MD4MS2             : 1;
    unsigned MD4MS3             : 1;
    unsigned MD4MS4             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4MS              : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MS                 : 5;
    unsigned                    : 3;
    };
  } __MD4SRCbits_t;

extern __at(0x0D1D) volatile __MD4SRCbits_t MD4SRCbits;

#define _MD4SRC_MS0             0x01
#define _MD4SRC_MD4MS0          0x01
#define _MD4SRC_MS1             0x02
#define _MD4SRC_MD4MS1          0x02
#define _MD4SRC_MS2             0x04
#define _MD4SRC_MD4MS2          0x04
#define _MD4SRC_MS3             0x08
#define _MD4SRC_MD4MS3          0x08
#define _MD4SRC_MS4             0x10
#define _MD4SRC_MD4MS4          0x10

//==============================================================================


//==============================================================================
//        MD4CARL Bits

extern __at(0x0D1E) __sfr MD4CARL;

typedef union
  {
  struct
    {
    unsigned CL0                : 1;
    unsigned CL1                : 1;
    unsigned CL2                : 1;
    unsigned CL3                : 1;
    unsigned CL4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4CL0             : 1;
    unsigned MD4CL1             : 1;
    unsigned MD4CL2             : 1;
    unsigned MD4CL3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4CL              : 4;
    unsigned                    : 4;
    };

  struct
    {
    unsigned CL                 : 5;
    unsigned                    : 3;
    };
  } __MD4CARLbits_t;

extern __at(0x0D1E) volatile __MD4CARLbits_t MD4CARLbits;

#define _MD4CARL_CL0            0x01
#define _MD4CARL_MD4CL0         0x01
#define _MD4CARL_CL1            0x02
#define _MD4CARL_MD4CL1         0x02
#define _MD4CARL_CL2            0x04
#define _MD4CARL_MD4CL2         0x04
#define _MD4CARL_CL3            0x08
#define _MD4CARL_MD4CL3         0x08
#define _MD4CARL_CL4            0x10

//==============================================================================


//==============================================================================
//        MD4CARH Bits

extern __at(0x0D1F) __sfr MD4CARH;

typedef union
  {
  struct
    {
    unsigned CH0                : 1;
    unsigned CH1                : 1;
    unsigned CH2                : 1;
    unsigned CH3                : 1;
    unsigned CH4                : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned MD4CH0             : 1;
    unsigned MD4CH1             : 1;
    unsigned MD4CH2             : 1;
    unsigned MD4CH3             : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CH                 : 5;
    unsigned                    : 3;
    };

  struct
    {
    unsigned MD4CH              : 4;
    unsigned                    : 4;
    };
  } __MD4CARHbits_t;

extern __at(0x0D1F) volatile __MD4CARHbits_t MD4CARHbits;

#define _MD4CARH_CH0            0x01
#define _MD4CARH_MD4CH0         0x01
#define _MD4CARH_CH1            0x02
#define _MD4CARH_MD4CH1         0x02
#define _MD4CARH_CH2            0x04
#define _MD4CARH_MD4CH2         0x04
#define _MD4CARH_CH3            0x08
#define _MD4CARH_MD4CH3         0x08
#define _MD4CARH_CH4            0x10

//==============================================================================


//==============================================================================
//        PWMEN Bits

extern __at(0x0D8E) __sfr PWMEN;

typedef struct
  {
  unsigned MPWM5EN              : 1;
  unsigned MPWM6EN              : 1;
  unsigned MPWM11EN             : 1;
  unsigned MPWM12EN             : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PWMENbits_t;

extern __at(0x0D8E) volatile __PWMENbits_t PWMENbits;

#define _MPWM5EN                0x01
#define _MPWM6EN                0x02
#define _MPWM11EN               0x04
#define _MPWM12EN               0x08

//==============================================================================


//==============================================================================
//        PWMLD Bits

extern __at(0x0D8F) __sfr PWMLD;

typedef struct
  {
  unsigned MPWM5LD              : 1;
  unsigned MPWM6LD              : 1;
  unsigned MPWM11LD             : 1;
  unsigned MPWM12LD             : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PWMLDbits_t;

extern __at(0x0D8F) volatile __PWMLDbits_t PWMLDbits;

#define _MPWM5LD                0x01
#define _MPWM6LD                0x02
#define _MPWM11LD               0x04
#define _MPWM12LD               0x08

//==============================================================================


//==============================================================================
//        PWMOUT Bits

extern __at(0x0D90) __sfr PWMOUT;

typedef struct
  {
  unsigned MPWM5OUT             : 1;
  unsigned MPWM6OUT             : 1;
  unsigned MPWM11OUT            : 1;
  unsigned MPWM12OUT            : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PWMOUTbits_t;

extern __at(0x0D90) volatile __PWMOUTbits_t PWMOUTbits;

#define _MPWM5OUT               0x01
#define _MPWM6OUT               0x02
#define _MPWM11OUT              0x04
#define _MPWM12OUT              0x08

//==============================================================================

extern __at(0x0D91) __sfr PWM5PH;

//==============================================================================
//        PWM5PHL Bits

extern __at(0x0D91) __sfr PWM5PHL;

typedef struct
  {
  unsigned PWM5PHL0             : 1;
  unsigned PWM5PHL1             : 1;
  unsigned PWM5PHL2             : 1;
  unsigned PWM5PHL3             : 1;
  unsigned PWM5PHL4             : 1;
  unsigned PWM5PHL5             : 1;
  unsigned PWM5PHL6             : 1;
  unsigned PWM5PHL7             : 1;
  } __PWM5PHLbits_t;

extern __at(0x0D91) volatile __PWM5PHLbits_t PWM5PHLbits;

#define _PWM5PHL0               0x01
#define _PWM5PHL1               0x02
#define _PWM5PHL2               0x04
#define _PWM5PHL3               0x08
#define _PWM5PHL4               0x10
#define _PWM5PHL5               0x20
#define _PWM5PHL6               0x40
#define _PWM5PHL7               0x80

//==============================================================================


//==============================================================================
//        PWM5PHH Bits

extern __at(0x0D92) __sfr PWM5PHH;

typedef struct
  {
  unsigned PWM5PHH0             : 1;
  unsigned PWM5PHH1             : 1;
  unsigned PWM5PHH2             : 1;
  unsigned PWM5PHH3             : 1;
  unsigned PWM5PHH4             : 1;
  unsigned PWM5PHH5             : 1;
  unsigned PWM5PHH6             : 1;
  unsigned PWM5PHH7             : 1;
  } __PWM5PHHbits_t;

extern __at(0x0D92) volatile __PWM5PHHbits_t PWM5PHHbits;

#define _PWM5PHH0               0x01
#define _PWM5PHH1               0x02
#define _PWM5PHH2               0x04
#define _PWM5PHH3               0x08
#define _PWM5PHH4               0x10
#define _PWM5PHH5               0x20
#define _PWM5PHH6               0x40
#define _PWM5PHH7               0x80

//==============================================================================

extern __at(0x0D93) __sfr PWM5DC;

//==============================================================================
//        PWM5DCL Bits

extern __at(0x0D93) __sfr PWM5DCL;

typedef struct
  {
  unsigned PWM5DCL0             : 1;
  unsigned PWM5DCL1             : 1;
  unsigned PWM5DCL2             : 1;
  unsigned PWM5DCL3             : 1;
  unsigned PWM5DCL4             : 1;
  unsigned PWM5DCL5             : 1;
  unsigned PWM5DCL6             : 1;
  unsigned PWM5DCL7             : 1;
  } __PWM5DCLbits_t;

extern __at(0x0D93) volatile __PWM5DCLbits_t PWM5DCLbits;

#define _PWM5DCL0               0x01
#define _PWM5DCL1               0x02
#define _PWM5DCL2               0x04
#define _PWM5DCL3               0x08
#define _PWM5DCL4               0x10
#define _PWM5DCL5               0x20
#define _PWM5DCL6               0x40
#define _PWM5DCL7               0x80

//==============================================================================


//==============================================================================
//        PWM5DCH Bits

extern __at(0x0D94) __sfr PWM5DCH;

typedef struct
  {
  unsigned PWM5DCH0             : 1;
  unsigned PWM5DCH1             : 1;
  unsigned PWM5DCH2             : 1;
  unsigned PWM5DCH3             : 1;
  unsigned PWM5DCH4             : 1;
  unsigned PWM5DCH5             : 1;
  unsigned PWM5DCH6             : 1;
  unsigned PWM5DCH7             : 1;
  } __PWM5DCHbits_t;

extern __at(0x0D94) volatile __PWM5DCHbits_t PWM5DCHbits;

#define _PWM5DCH0               0x01
#define _PWM5DCH1               0x02
#define _PWM5DCH2               0x04
#define _PWM5DCH3               0x08
#define _PWM5DCH4               0x10
#define _PWM5DCH5               0x20
#define _PWM5DCH6               0x40
#define _PWM5DCH7               0x80

//==============================================================================

extern __at(0x0D95) __sfr PWM5PR;

//==============================================================================
//        PWM5PRL Bits

extern __at(0x0D95) __sfr PWM5PRL;

typedef struct
  {
  unsigned PWM5PRL0             : 1;
  unsigned PWM5PRL1             : 1;
  unsigned PWM5PRL2             : 1;
  unsigned PWM5PRL3             : 1;
  unsigned PWM5PRL4             : 1;
  unsigned PWM5PRL5             : 1;
  unsigned PWM5PRL6             : 1;
  unsigned PWM5PRL7             : 1;
  } __PWM5PRLbits_t;

extern __at(0x0D95) volatile __PWM5PRLbits_t PWM5PRLbits;

#define _PWM5PRL0               0x01
#define _PWM5PRL1               0x02
#define _PWM5PRL2               0x04
#define _PWM5PRL3               0x08
#define _PWM5PRL4               0x10
#define _PWM5PRL5               0x20
#define _PWM5PRL6               0x40
#define _PWM5PRL7               0x80

//==============================================================================


//==============================================================================
//        PWM5PRH Bits

extern __at(0x0D96) __sfr PWM5PRH;

typedef struct
  {
  unsigned PWM5PRH0             : 1;
  unsigned PWM5PRH1             : 1;
  unsigned PWM5PRH2             : 1;
  unsigned PWM5PRH3             : 1;
  unsigned PWM5PRH4             : 1;
  unsigned PWM5PRH5             : 1;
  unsigned PWM5PRH6             : 1;
  unsigned PWM5PRH7             : 1;
  } __PWM5PRHbits_t;

extern __at(0x0D96) volatile __PWM5PRHbits_t PWM5PRHbits;

#define _PWM5PRH0               0x01
#define _PWM5PRH1               0x02
#define _PWM5PRH2               0x04
#define _PWM5PRH3               0x08
#define _PWM5PRH4               0x10
#define _PWM5PRH5               0x20
#define _PWM5PRH6               0x40
#define _PWM5PRH7               0x80

//==============================================================================

extern __at(0x0D97) __sfr PWM5OF;

//==============================================================================
//        PWM5OFL Bits

extern __at(0x0D97) __sfr PWM5OFL;

typedef struct
  {
  unsigned PWM5OFL0             : 1;
  unsigned PWM5OFL1             : 1;
  unsigned PWM5OFL2             : 1;
  unsigned PWM5OFL3             : 1;
  unsigned PWM5OFL4             : 1;
  unsigned PWM5OFL5             : 1;
  unsigned PWM5OFL6             : 1;
  unsigned PWM5OFL7             : 1;
  } __PWM5OFLbits_t;

extern __at(0x0D97) volatile __PWM5OFLbits_t PWM5OFLbits;

#define _PWM5OFL0               0x01
#define _PWM5OFL1               0x02
#define _PWM5OFL2               0x04
#define _PWM5OFL3               0x08
#define _PWM5OFL4               0x10
#define _PWM5OFL5               0x20
#define _PWM5OFL6               0x40
#define _PWM5OFL7               0x80

//==============================================================================


//==============================================================================
//        PWM5OFH Bits

extern __at(0x0D98) __sfr PWM5OFH;

typedef struct
  {
  unsigned PWM5OFH0             : 1;
  unsigned PWM5OFH1             : 1;
  unsigned PWM5OFH2             : 1;
  unsigned PWM5OFH3             : 1;
  unsigned PWM5OFH4             : 1;
  unsigned PWM5OFH5             : 1;
  unsigned PWM5OFH6             : 1;
  unsigned PWM5OFH7             : 1;
  } __PWM5OFHbits_t;

extern __at(0x0D98) volatile __PWM5OFHbits_t PWM5OFHbits;

#define _PWM5OFH0               0x01
#define _PWM5OFH1               0x02
#define _PWM5OFH2               0x04
#define _PWM5OFH3               0x08
#define _PWM5OFH4               0x10
#define _PWM5OFH5               0x20
#define _PWM5OFH6               0x40
#define _PWM5OFH7               0x80

//==============================================================================

extern __at(0x0D99) __sfr PWM5TMR;

//==============================================================================
//        PWM5TMRL Bits

extern __at(0x0D99) __sfr PWM5TMRL;

typedef struct
  {
  unsigned PWM5TMRL0            : 1;
  unsigned PWM5TMRL1            : 1;
  unsigned PWM5TMRL2            : 1;
  unsigned PWM5TMRL3            : 1;
  unsigned PWM5TMRL4            : 1;
  unsigned PWM5TMRL5            : 1;
  unsigned PWM5TMRL6            : 1;
  unsigned PWM5TMRL7            : 1;
  } __PWM5TMRLbits_t;

extern __at(0x0D99) volatile __PWM5TMRLbits_t PWM5TMRLbits;

#define _PWM5TMRL0              0x01
#define _PWM5TMRL1              0x02
#define _PWM5TMRL2              0x04
#define _PWM5TMRL3              0x08
#define _PWM5TMRL4              0x10
#define _PWM5TMRL5              0x20
#define _PWM5TMRL6              0x40
#define _PWM5TMRL7              0x80

//==============================================================================


//==============================================================================
//        PWM5TMRH Bits

extern __at(0x0D9A) __sfr PWM5TMRH;

typedef struct
  {
  unsigned PWM5TMRH0            : 1;
  unsigned PWM5TMRH1            : 1;
  unsigned PWM5TMRH2            : 1;
  unsigned PWM5TMRH3            : 1;
  unsigned PWM5TMRH4            : 1;
  unsigned PWM5TMRH5            : 1;
  unsigned PWM5TMRH6            : 1;
  unsigned PWM5TMRH7            : 1;
  } __PWM5TMRHbits_t;

extern __at(0x0D9A) volatile __PWM5TMRHbits_t PWM5TMRHbits;

#define _PWM5TMRH0              0x01
#define _PWM5TMRH1              0x02
#define _PWM5TMRH2              0x04
#define _PWM5TMRH3              0x08
#define _PWM5TMRH4              0x10
#define _PWM5TMRH5              0x20
#define _PWM5TMRH6              0x40
#define _PWM5TMRH7              0x80

//==============================================================================


//==============================================================================
//        PWM5CON Bits

extern __at(0x0D9B) __sfr PWM5CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM5MODE0          : 1;
    unsigned PWM5MODE1          : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned PWM5POL            : 1;
    unsigned PWM5OUT            : 1;
    unsigned                    : 1;
    unsigned PWM5EN             : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PWM5MODE           : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };
  } __PWM5CONbits_t;

extern __at(0x0D9B) volatile __PWM5CONbits_t PWM5CONbits;

#define _PWM5CON_PWM5MODE0      0x04
#define _PWM5CON_MODE0          0x04
#define _PWM5CON_PWM5MODE1      0x08
#define _PWM5CON_MODE1          0x08
#define _PWM5CON_POL            0x10
#define _PWM5CON_PWM5POL        0x10
#define _PWM5CON_OUT            0x20
#define _PWM5CON_PWM5OUT        0x20
#define _PWM5CON_EN             0x80
#define _PWM5CON_PWM5EN         0x80

//==============================================================================


//==============================================================================
//        PWM5INTCON Bits

extern __at(0x0D9C) __sfr PWM5INTCON;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM5PRIE           : 1;
    unsigned PWM5DCIE           : 1;
    unsigned PWM5PHIE           : 1;
    unsigned PWM5OFIE           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM5INTCONbits_t;

extern __at(0x0D9C) volatile __PWM5INTCONbits_t PWM5INTCONbits;

#define _PRIE                   0x01
#define _PWM5PRIE               0x01
#define _DCIE                   0x02
#define _PWM5DCIE               0x02
#define _PHIE                   0x04
#define _PWM5PHIE               0x04
#define _OFIE                   0x08
#define _PWM5OFIE               0x08

//==============================================================================


//==============================================================================
//        PWM5INTE Bits

extern __at(0x0D9C) __sfr PWM5INTE;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM5PRIE           : 1;
    unsigned PWM5DCIE           : 1;
    unsigned PWM5PHIE           : 1;
    unsigned PWM5OFIE           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM5INTEbits_t;

extern __at(0x0D9C) volatile __PWM5INTEbits_t PWM5INTEbits;

#define _PWM5INTE_PRIE          0x01
#define _PWM5INTE_PWM5PRIE      0x01
#define _PWM5INTE_DCIE          0x02
#define _PWM5INTE_PWM5DCIE      0x02
#define _PWM5INTE_PHIE          0x04
#define _PWM5INTE_PWM5PHIE      0x04
#define _PWM5INTE_OFIE          0x08
#define _PWM5INTE_PWM5OFIE      0x08

//==============================================================================


//==============================================================================
//        PWM5INTF Bits

extern __at(0x0D9D) __sfr PWM5INTF;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM5PRIF           : 1;
    unsigned PWM5DCIF           : 1;
    unsigned PWM5PHIF           : 1;
    unsigned PWM5OFIF           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM5INTFbits_t;

extern __at(0x0D9D) volatile __PWM5INTFbits_t PWM5INTFbits;

#define _PRIF                   0x01
#define _PWM5PRIF               0x01
#define _DCIF                   0x02
#define _PWM5DCIF               0x02
#define _PHIF                   0x04
#define _PWM5PHIF               0x04
#define _OFIF                   0x08
#define _PWM5OFIF               0x08

//==============================================================================


//==============================================================================
//        PWM5INTFLG Bits

extern __at(0x0D9D) __sfr PWM5INTFLG;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM5PRIF           : 1;
    unsigned PWM5DCIF           : 1;
    unsigned PWM5PHIF           : 1;
    unsigned PWM5OFIF           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM5INTFLGbits_t;

extern __at(0x0D9D) volatile __PWM5INTFLGbits_t PWM5INTFLGbits;

#define _PWM5INTFLG_PRIF        0x01
#define _PWM5INTFLG_PWM5PRIF    0x01
#define _PWM5INTFLG_DCIF        0x02
#define _PWM5INTFLG_PWM5DCIF    0x02
#define _PWM5INTFLG_PHIF        0x04
#define _PWM5INTFLG_PWM5PHIF    0x04
#define _PWM5INTFLG_OFIF        0x08
#define _PWM5INTFLG_PWM5OFIF    0x08

//==============================================================================


//==============================================================================
//        PWM5CLKCON Bits

extern __at(0x0D9E) __sfr PWM5CLKCON;

typedef union
  {
  struct
    {
    unsigned PWM5CS0            : 1;
    unsigned PWM5CS1            : 1;
    unsigned PWM5CS2            : 1;
    unsigned                    : 1;
    unsigned PWM5PS0            : 1;
    unsigned PWM5PS1            : 1;
    unsigned PWM5PS2            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned                    : 1;
    unsigned PS0                : 1;
    unsigned PS1                : 1;
    unsigned PS2                : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned PWM5CS             : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PS                 : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PWM5PS             : 3;
    unsigned                    : 1;
    };
  } __PWM5CLKCONbits_t;

extern __at(0x0D9E) volatile __PWM5CLKCONbits_t PWM5CLKCONbits;

#define _PWM5CLKCON_PWM5CS0     0x01
#define _PWM5CLKCON_CS0         0x01
#define _PWM5CLKCON_PWM5CS1     0x02
#define _PWM5CLKCON_CS1         0x02
#define _PWM5CLKCON_PWM5CS2     0x04
#define _PWM5CLKCON_CS2         0x04
#define _PWM5CLKCON_PWM5PS0     0x10
#define _PWM5CLKCON_PS0         0x10
#define _PWM5CLKCON_PWM5PS1     0x20
#define _PWM5CLKCON_PS1         0x20
#define _PWM5CLKCON_PWM5PS2     0x40
#define _PWM5CLKCON_PS2         0x40

//==============================================================================


//==============================================================================
//        PWM5LDCON Bits

extern __at(0x0D9F) __sfr PWM5LDCON;

typedef union
  {
  struct
    {
    unsigned PWM5LDS0           : 1;
    unsigned PWM5LDS1           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LDT                : 1;
    unsigned LDA                : 1;
    };

  struct
    {
    unsigned LDS0               : 1;
    unsigned LDS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM5LDM            : 1;
    unsigned PWM5LD             : 1;
    };

  struct
    {
    unsigned LDS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned PWM5LDS            : 2;
    unsigned                    : 6;
    };
  } __PWM5LDCONbits_t;

extern __at(0x0D9F) volatile __PWM5LDCONbits_t PWM5LDCONbits;

#define _PWM5LDS0               0x01
#define _LDS0                   0x01
#define _PWM5LDS1               0x02
#define _LDS1                   0x02
#define _LDT                    0x40
#define _PWM5LDM                0x40
#define _LDA                    0x80
#define _PWM5LD                 0x80

//==============================================================================


//==============================================================================
//        PWM5OFCON Bits

extern __at(0x0DA0) __sfr PWM5OFCON;

typedef union
  {
  struct
    {
    unsigned PWM5OFS0           : 1;
    unsigned PWM5OFS1           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OFO                : 1;
    unsigned PWM5OFM0           : 1;
    unsigned PWM5OFM1           : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS0               : 1;
    unsigned OFS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM5OFMC           : 1;
    unsigned OFM0               : 1;
    unsigned OFM1               : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned PWM5OFS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 5;
    unsigned OFM                : 2;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 5;
    unsigned PWM5OFM            : 2;
    unsigned                    : 1;
    };
  } __PWM5OFCONbits_t;

extern __at(0x0DA0) volatile __PWM5OFCONbits_t PWM5OFCONbits;

#define _PWM5OFS0               0x01
#define _OFS0                   0x01
#define _PWM5OFS1               0x02
#define _OFS1                   0x02
#define _OFO                    0x10
#define _PWM5OFMC               0x10
#define _PWM5OFM0               0x20
#define _OFM0                   0x20
#define _PWM5OFM1               0x40
#define _OFM1                   0x40

//==============================================================================

extern __at(0x0DA1) __sfr PWM6PH;

//==============================================================================
//        PWM6PHL Bits

extern __at(0x0DA1) __sfr PWM6PHL;

typedef struct
  {
  unsigned PWM6PHL0             : 1;
  unsigned PWM6PHL1             : 1;
  unsigned PWM6PHL2             : 1;
  unsigned PWM6PHL3             : 1;
  unsigned PWM6PHL4             : 1;
  unsigned PWM6PHL5             : 1;
  unsigned PWM6PHL6             : 1;
  unsigned PWM6PHL7             : 1;
  } __PWM6PHLbits_t;

extern __at(0x0DA1) volatile __PWM6PHLbits_t PWM6PHLbits;

#define _PWM6PHL0               0x01
#define _PWM6PHL1               0x02
#define _PWM6PHL2               0x04
#define _PWM6PHL3               0x08
#define _PWM6PHL4               0x10
#define _PWM6PHL5               0x20
#define _PWM6PHL6               0x40
#define _PWM6PHL7               0x80

//==============================================================================


//==============================================================================
//        PWM6PHH Bits

extern __at(0x0DA2) __sfr PWM6PHH;

typedef struct
  {
  unsigned PWM6PHH0             : 1;
  unsigned PWM6PHH1             : 1;
  unsigned PWM6PHH2             : 1;
  unsigned PWM6PHH3             : 1;
  unsigned PWM6PHH4             : 1;
  unsigned PWM6PHH5             : 1;
  unsigned PWM6PHH6             : 1;
  unsigned PWM6PHH7             : 1;
  } __PWM6PHHbits_t;

extern __at(0x0DA2) volatile __PWM6PHHbits_t PWM6PHHbits;

#define _PWM6PHH0               0x01
#define _PWM6PHH1               0x02
#define _PWM6PHH2               0x04
#define _PWM6PHH3               0x08
#define _PWM6PHH4               0x10
#define _PWM6PHH5               0x20
#define _PWM6PHH6               0x40
#define _PWM6PHH7               0x80

//==============================================================================

extern __at(0x0DA3) __sfr PWM6DC;

//==============================================================================
//        PWM6DCL Bits

extern __at(0x0DA3) __sfr PWM6DCL;

typedef struct
  {
  unsigned PWM6DCL0             : 1;
  unsigned PWM6DCL1             : 1;
  unsigned PWM6DCL2             : 1;
  unsigned PWM6DCL3             : 1;
  unsigned PWM6DCL4             : 1;
  unsigned PWM6DCL5             : 1;
  unsigned PWM6DCL6             : 1;
  unsigned PWM6DCL7             : 1;
  } __PWM6DCLbits_t;

extern __at(0x0DA3) volatile __PWM6DCLbits_t PWM6DCLbits;

#define _PWM6DCL0               0x01
#define _PWM6DCL1               0x02
#define _PWM6DCL2               0x04
#define _PWM6DCL3               0x08
#define _PWM6DCL4               0x10
#define _PWM6DCL5               0x20
#define _PWM6DCL6               0x40
#define _PWM6DCL7               0x80

//==============================================================================


//==============================================================================
//        PWM6DCH Bits

extern __at(0x0DA4) __sfr PWM6DCH;

typedef struct
  {
  unsigned PWM6DCH0             : 1;
  unsigned PWM6DCH1             : 1;
  unsigned PWM6DCH2             : 1;
  unsigned PWM6DCH3             : 1;
  unsigned PWM6DCH4             : 1;
  unsigned PWM6DCH5             : 1;
  unsigned PWM6DCH6             : 1;
  unsigned PWM6DCH7             : 1;
  } __PWM6DCHbits_t;

extern __at(0x0DA4) volatile __PWM6DCHbits_t PWM6DCHbits;

#define _PWM6DCH0               0x01
#define _PWM6DCH1               0x02
#define _PWM6DCH2               0x04
#define _PWM6DCH3               0x08
#define _PWM6DCH4               0x10
#define _PWM6DCH5               0x20
#define _PWM6DCH6               0x40
#define _PWM6DCH7               0x80

//==============================================================================

extern __at(0x0DA5) __sfr PWM6PR;

//==============================================================================
//        PWM6PRL Bits

extern __at(0x0DA5) __sfr PWM6PRL;

typedef struct
  {
  unsigned PWM6PRL0             : 1;
  unsigned PWM6PRL1             : 1;
  unsigned PWM6PRL2             : 1;
  unsigned PWM6PRL3             : 1;
  unsigned PWM6PRL4             : 1;
  unsigned PWM6PRL5             : 1;
  unsigned PWM6PRL6             : 1;
  unsigned PWM6PRL7             : 1;
  } __PWM6PRLbits_t;

extern __at(0x0DA5) volatile __PWM6PRLbits_t PWM6PRLbits;

#define _PWM6PRL0               0x01
#define _PWM6PRL1               0x02
#define _PWM6PRL2               0x04
#define _PWM6PRL3               0x08
#define _PWM6PRL4               0x10
#define _PWM6PRL5               0x20
#define _PWM6PRL6               0x40
#define _PWM6PRL7               0x80

//==============================================================================


//==============================================================================
//        PWM6PRH Bits

extern __at(0x0DA6) __sfr PWM6PRH;

typedef struct
  {
  unsigned PWM6PRH0             : 1;
  unsigned PWM6PRH1             : 1;
  unsigned PWM6PRH2             : 1;
  unsigned PWM6PRH3             : 1;
  unsigned PWM6PRH4             : 1;
  unsigned PWM6PRH5             : 1;
  unsigned PWM6PRH6             : 1;
  unsigned PWM6PRH7             : 1;
  } __PWM6PRHbits_t;

extern __at(0x0DA6) volatile __PWM6PRHbits_t PWM6PRHbits;

#define _PWM6PRH0               0x01
#define _PWM6PRH1               0x02
#define _PWM6PRH2               0x04
#define _PWM6PRH3               0x08
#define _PWM6PRH4               0x10
#define _PWM6PRH5               0x20
#define _PWM6PRH6               0x40
#define _PWM6PRH7               0x80

//==============================================================================

extern __at(0x0DA7) __sfr PWM6OF;

//==============================================================================
//        PWM6OFL Bits

extern __at(0x0DA7) __sfr PWM6OFL;

typedef struct
  {
  unsigned PWM6OFL0             : 1;
  unsigned PWM6OFL1             : 1;
  unsigned PWM6OFL2             : 1;
  unsigned PWM6OFL3             : 1;
  unsigned PWM6OFL4             : 1;
  unsigned PWM6OFL5             : 1;
  unsigned PWM6OFL6             : 1;
  unsigned PWM6OFL7             : 1;
  } __PWM6OFLbits_t;

extern __at(0x0DA7) volatile __PWM6OFLbits_t PWM6OFLbits;

#define _PWM6OFL0               0x01
#define _PWM6OFL1               0x02
#define _PWM6OFL2               0x04
#define _PWM6OFL3               0x08
#define _PWM6OFL4               0x10
#define _PWM6OFL5               0x20
#define _PWM6OFL6               0x40
#define _PWM6OFL7               0x80

//==============================================================================


//==============================================================================
//        PWM6OFH Bits

extern __at(0x0DA8) __sfr PWM6OFH;

typedef struct
  {
  unsigned PWM6OFH0             : 1;
  unsigned PWM6OFH1             : 1;
  unsigned PWM6OFH2             : 1;
  unsigned PWM6OFH3             : 1;
  unsigned PWM6OFH4             : 1;
  unsigned PWM6OFH5             : 1;
  unsigned PWM6OFH6             : 1;
  unsigned PWM6OFH7             : 1;
  } __PWM6OFHbits_t;

extern __at(0x0DA8) volatile __PWM6OFHbits_t PWM6OFHbits;

#define _PWM6OFH0               0x01
#define _PWM6OFH1               0x02
#define _PWM6OFH2               0x04
#define _PWM6OFH3               0x08
#define _PWM6OFH4               0x10
#define _PWM6OFH5               0x20
#define _PWM6OFH6               0x40
#define _PWM6OFH7               0x80

//==============================================================================

extern __at(0x0DA9) __sfr PWM6TMR;

//==============================================================================
//        PWM6TMRL Bits

extern __at(0x0DA9) __sfr PWM6TMRL;

typedef struct
  {
  unsigned PWM6TMRL0            : 1;
  unsigned PWM6TMRL1            : 1;
  unsigned PWM6TMRL2            : 1;
  unsigned PWM6TMRL3            : 1;
  unsigned PWM6TMRL4            : 1;
  unsigned PWM6TMRL5            : 1;
  unsigned PWM6TMRL6            : 1;
  unsigned PWM6TMRL7            : 1;
  } __PWM6TMRLbits_t;

extern __at(0x0DA9) volatile __PWM6TMRLbits_t PWM6TMRLbits;

#define _PWM6TMRL0              0x01
#define _PWM6TMRL1              0x02
#define _PWM6TMRL2              0x04
#define _PWM6TMRL3              0x08
#define _PWM6TMRL4              0x10
#define _PWM6TMRL5              0x20
#define _PWM6TMRL6              0x40
#define _PWM6TMRL7              0x80

//==============================================================================


//==============================================================================
//        PWM6TMRH Bits

extern __at(0x0DAA) __sfr PWM6TMRH;

typedef struct
  {
  unsigned PWM6TMRH0            : 1;
  unsigned PWM6TMRH1            : 1;
  unsigned PWM6TMRH2            : 1;
  unsigned PWM6TMRH3            : 1;
  unsigned PWM6TMRH4            : 1;
  unsigned PWM6TMRH5            : 1;
  unsigned PWM6TMRH6            : 1;
  unsigned PWM6TMRH7            : 1;
  } __PWM6TMRHbits_t;

extern __at(0x0DAA) volatile __PWM6TMRHbits_t PWM6TMRHbits;

#define _PWM6TMRH0              0x01
#define _PWM6TMRH1              0x02
#define _PWM6TMRH2              0x04
#define _PWM6TMRH3              0x08
#define _PWM6TMRH4              0x10
#define _PWM6TMRH5              0x20
#define _PWM6TMRH6              0x40
#define _PWM6TMRH7              0x80

//==============================================================================


//==============================================================================
//        PWM6CON Bits

extern __at(0x0DAB) __sfr PWM6CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM6MODE0          : 1;
    unsigned PWM6MODE1          : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned PWM6POL            : 1;
    unsigned PWM6OUT            : 1;
    unsigned                    : 1;
    unsigned PWM6EN             : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PWM6MODE           : 2;
    unsigned                    : 4;
    };
  } __PWM6CONbits_t;

extern __at(0x0DAB) volatile __PWM6CONbits_t PWM6CONbits;

#define _PWM6CON_PWM6MODE0      0x04
#define _PWM6CON_MODE0          0x04
#define _PWM6CON_PWM6MODE1      0x08
#define _PWM6CON_MODE1          0x08
#define _PWM6CON_POL            0x10
#define _PWM6CON_PWM6POL        0x10
#define _PWM6CON_OUT            0x20
#define _PWM6CON_PWM6OUT        0x20
#define _PWM6CON_EN             0x80
#define _PWM6CON_PWM6EN         0x80

//==============================================================================


//==============================================================================
//        PWM6INTCON Bits

extern __at(0x0DAC) __sfr PWM6INTCON;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM6PRIE           : 1;
    unsigned PWM6DCIE           : 1;
    unsigned PWM6PHIE           : 1;
    unsigned PWM6OFIE           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM6INTCONbits_t;

extern __at(0x0DAC) volatile __PWM6INTCONbits_t PWM6INTCONbits;

#define _PWM6INTCON_PRIE        0x01
#define _PWM6INTCON_PWM6PRIE    0x01
#define _PWM6INTCON_DCIE        0x02
#define _PWM6INTCON_PWM6DCIE    0x02
#define _PWM6INTCON_PHIE        0x04
#define _PWM6INTCON_PWM6PHIE    0x04
#define _PWM6INTCON_OFIE        0x08
#define _PWM6INTCON_PWM6OFIE    0x08

//==============================================================================


//==============================================================================
//        PWM6INTE Bits

extern __at(0x0DAC) __sfr PWM6INTE;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM6PRIE           : 1;
    unsigned PWM6DCIE           : 1;
    unsigned PWM6PHIE           : 1;
    unsigned PWM6OFIE           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM6INTEbits_t;

extern __at(0x0DAC) volatile __PWM6INTEbits_t PWM6INTEbits;

#define _PWM6INTE_PRIE          0x01
#define _PWM6INTE_PWM6PRIE      0x01
#define _PWM6INTE_DCIE          0x02
#define _PWM6INTE_PWM6DCIE      0x02
#define _PWM6INTE_PHIE          0x04
#define _PWM6INTE_PWM6PHIE      0x04
#define _PWM6INTE_OFIE          0x08
#define _PWM6INTE_PWM6OFIE      0x08

//==============================================================================


//==============================================================================
//        PWM6INTF Bits

extern __at(0x0DAD) __sfr PWM6INTF;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM6PRIF           : 1;
    unsigned PWM6DCIF           : 1;
    unsigned PWM6PHIF           : 1;
    unsigned PWM6OFIF           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM6INTFbits_t;

extern __at(0x0DAD) volatile __PWM6INTFbits_t PWM6INTFbits;

#define _PWM6INTF_PRIF          0x01
#define _PWM6INTF_PWM6PRIF      0x01
#define _PWM6INTF_DCIF          0x02
#define _PWM6INTF_PWM6DCIF      0x02
#define _PWM6INTF_PHIF          0x04
#define _PWM6INTF_PWM6PHIF      0x04
#define _PWM6INTF_OFIF          0x08
#define _PWM6INTF_PWM6OFIF      0x08

//==============================================================================


//==============================================================================
//        PWM6INTFLG Bits

extern __at(0x0DAD) __sfr PWM6INTFLG;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM6PRIF           : 1;
    unsigned PWM6DCIF           : 1;
    unsigned PWM6PHIF           : 1;
    unsigned PWM6OFIF           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM6INTFLGbits_t;

extern __at(0x0DAD) volatile __PWM6INTFLGbits_t PWM6INTFLGbits;

#define _PWM6INTFLG_PRIF        0x01
#define _PWM6INTFLG_PWM6PRIF    0x01
#define _PWM6INTFLG_DCIF        0x02
#define _PWM6INTFLG_PWM6DCIF    0x02
#define _PWM6INTFLG_PHIF        0x04
#define _PWM6INTFLG_PWM6PHIF    0x04
#define _PWM6INTFLG_OFIF        0x08
#define _PWM6INTFLG_PWM6OFIF    0x08

//==============================================================================


//==============================================================================
//        PWM6CLKCON Bits

extern __at(0x0DAE) __sfr PWM6CLKCON;

typedef union
  {
  struct
    {
    unsigned PWM6CS0            : 1;
    unsigned PWM6CS1            : 1;
    unsigned PWM6CS2            : 1;
    unsigned                    : 1;
    unsigned PWM6PS0            : 1;
    unsigned PWM6PS1            : 1;
    unsigned PWM6PS2            : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned                    : 1;
    unsigned PS0                : 1;
    unsigned PS1                : 1;
    unsigned PS2                : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned PWM6CS             : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PS                 : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PWM6PS             : 3;
    unsigned                    : 1;
    };
  } __PWM6CLKCONbits_t;

extern __at(0x0DAE) volatile __PWM6CLKCONbits_t PWM6CLKCONbits;

#define _PWM6CLKCON_PWM6CS0     0x01
#define _PWM6CLKCON_CS0         0x01
#define _PWM6CLKCON_PWM6CS1     0x02
#define _PWM6CLKCON_CS1         0x02
#define _PWM6CLKCON_PWM6CS2     0x04
#define _PWM6CLKCON_CS2         0x04
#define _PWM6CLKCON_PWM6PS0     0x10
#define _PWM6CLKCON_PS0         0x10
#define _PWM6CLKCON_PWM6PS1     0x20
#define _PWM6CLKCON_PS1         0x20
#define _PWM6CLKCON_PWM6PS2     0x40
#define _PWM6CLKCON_PS2         0x40

//==============================================================================


//==============================================================================
//        PWM6LDCON Bits

extern __at(0x0DAF) __sfr PWM6LDCON;

typedef union
  {
  struct
    {
    unsigned PWM6LDS0           : 1;
    unsigned PWM6LDS1           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LDT                : 1;
    unsigned LDA                : 1;
    };

  struct
    {
    unsigned LDS0               : 1;
    unsigned LDS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM6LDM            : 1;
    unsigned PWM6LD             : 1;
    };

  struct
    {
    unsigned PWM6LDS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned LDS                : 2;
    unsigned                    : 6;
    };
  } __PWM6LDCONbits_t;

extern __at(0x0DAF) volatile __PWM6LDCONbits_t PWM6LDCONbits;

#define _PWM6LDCON_PWM6LDS0     0x01
#define _PWM6LDCON_LDS0         0x01
#define _PWM6LDCON_PWM6LDS1     0x02
#define _PWM6LDCON_LDS1         0x02
#define _PWM6LDCON_LDT          0x40
#define _PWM6LDCON_PWM6LDM      0x40
#define _PWM6LDCON_LDA          0x80
#define _PWM6LDCON_PWM6LD       0x80

//==============================================================================


//==============================================================================
//        PWM6OFCON Bits

extern __at(0x0DB0) __sfr PWM6OFCON;

typedef union
  {
  struct
    {
    unsigned PWM6OFS0           : 1;
    unsigned PWM6OFS1           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OFO                : 1;
    unsigned PWM6OFM0           : 1;
    unsigned PWM6OFM1           : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS0               : 1;
    unsigned OFS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM6OFMC           : 1;
    unsigned OFM0               : 1;
    unsigned OFM1               : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM6OFS            : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned OFS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 5;
    unsigned PWM6OFM            : 2;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 5;
    unsigned OFM                : 2;
    unsigned                    : 1;
    };
  } __PWM6OFCONbits_t;

extern __at(0x0DB0) volatile __PWM6OFCONbits_t PWM6OFCONbits;

#define _PWM6OFCON_PWM6OFS0     0x01
#define _PWM6OFCON_OFS0         0x01
#define _PWM6OFCON_PWM6OFS1     0x02
#define _PWM6OFCON_OFS1         0x02
#define _PWM6OFCON_OFO          0x10
#define _PWM6OFCON_PWM6OFMC     0x10
#define _PWM6OFCON_PWM6OFM0     0x20
#define _PWM6OFCON_OFM0         0x20
#define _PWM6OFCON_PWM6OFM1     0x40
#define _PWM6OFCON_OFM1         0x40

//==============================================================================

extern __at(0x0DB1) __sfr PWM11PH;

//==============================================================================
//        PWM11PHL Bits

extern __at(0x0DB1) __sfr PWM11PHL;

typedef struct
  {
  unsigned PWM11PHL0            : 1;
  unsigned PWM11PHL1            : 1;
  unsigned PWM11PHL2            : 1;
  unsigned PWM11PHL3            : 1;
  unsigned PWM11PHL4            : 1;
  unsigned PWM11PHL5            : 1;
  unsigned PWM11PHL6            : 1;
  unsigned PWM11PHL7            : 1;
  } __PWM11PHLbits_t;

extern __at(0x0DB1) volatile __PWM11PHLbits_t PWM11PHLbits;

#define _PWM11PHL0              0x01
#define _PWM11PHL1              0x02
#define _PWM11PHL2              0x04
#define _PWM11PHL3              0x08
#define _PWM11PHL4              0x10
#define _PWM11PHL5              0x20
#define _PWM11PHL6              0x40
#define _PWM11PHL7              0x80

//==============================================================================


//==============================================================================
//        PWM11PHH Bits

extern __at(0x0DB2) __sfr PWM11PHH;

typedef struct
  {
  unsigned PWM11PHH0            : 1;
  unsigned PWM11PHH1            : 1;
  unsigned PWM11PHH2            : 1;
  unsigned PWM11PHH3            : 1;
  unsigned PWM11PHH4            : 1;
  unsigned PWM11PHH5            : 1;
  unsigned PWM11PHH6            : 1;
  unsigned PWM11PHH7            : 1;
  } __PWM11PHHbits_t;

extern __at(0x0DB2) volatile __PWM11PHHbits_t PWM11PHHbits;

#define _PWM11PHH0              0x01
#define _PWM11PHH1              0x02
#define _PWM11PHH2              0x04
#define _PWM11PHH3              0x08
#define _PWM11PHH4              0x10
#define _PWM11PHH5              0x20
#define _PWM11PHH6              0x40
#define _PWM11PHH7              0x80

//==============================================================================

extern __at(0x0DB3) __sfr PWM11DC;

//==============================================================================
//        PWM11DCL Bits

extern __at(0x0DB3) __sfr PWM11DCL;

typedef struct
  {
  unsigned PWM11DCL0            : 1;
  unsigned PWM11DCL1            : 1;
  unsigned PWM11DCL2            : 1;
  unsigned PWM11DCL3            : 1;
  unsigned PWM11DCL4            : 1;
  unsigned PWM11DCL5            : 1;
  unsigned PWM11DCL6            : 1;
  unsigned PWM11DCL7            : 1;
  } __PWM11DCLbits_t;

extern __at(0x0DB3) volatile __PWM11DCLbits_t PWM11DCLbits;

#define _PWM11DCL0              0x01
#define _PWM11DCL1              0x02
#define _PWM11DCL2              0x04
#define _PWM11DCL3              0x08
#define _PWM11DCL4              0x10
#define _PWM11DCL5              0x20
#define _PWM11DCL6              0x40
#define _PWM11DCL7              0x80

//==============================================================================


//==============================================================================
//        PWM11DCH Bits

extern __at(0x0DB4) __sfr PWM11DCH;

typedef struct
  {
  unsigned PWM11DCH0            : 1;
  unsigned PWM11DCH1            : 1;
  unsigned PWM11DCH2            : 1;
  unsigned PWM11DCH3            : 1;
  unsigned PWM11DCH4            : 1;
  unsigned PWM11DCH5            : 1;
  unsigned PWM11DCH6            : 1;
  unsigned PWM11DCH7            : 1;
  } __PWM11DCHbits_t;

extern __at(0x0DB4) volatile __PWM11DCHbits_t PWM11DCHbits;

#define _PWM11DCH0              0x01
#define _PWM11DCH1              0x02
#define _PWM11DCH2              0x04
#define _PWM11DCH3              0x08
#define _PWM11DCH4              0x10
#define _PWM11DCH5              0x20
#define _PWM11DCH6              0x40
#define _PWM11DCH7              0x80

//==============================================================================

extern __at(0x0DB5) __sfr PWM11PR;

//==============================================================================
//        PWM11PRL Bits

extern __at(0x0DB5) __sfr PWM11PRL;

typedef struct
  {
  unsigned PWM11PRL0            : 1;
  unsigned PWM11PRL1            : 1;
  unsigned PWM11PRL2            : 1;
  unsigned PWM11PRL3            : 1;
  unsigned PWM11PRL4            : 1;
  unsigned PWM11PRL5            : 1;
  unsigned PWM11PRL6            : 1;
  unsigned PWM11PRL7            : 1;
  } __PWM11PRLbits_t;

extern __at(0x0DB5) volatile __PWM11PRLbits_t PWM11PRLbits;

#define _PWM11PRL0              0x01
#define _PWM11PRL1              0x02
#define _PWM11PRL2              0x04
#define _PWM11PRL3              0x08
#define _PWM11PRL4              0x10
#define _PWM11PRL5              0x20
#define _PWM11PRL6              0x40
#define _PWM11PRL7              0x80

//==============================================================================


//==============================================================================
//        PWM11PRH Bits

extern __at(0x0DB6) __sfr PWM11PRH;

typedef struct
  {
  unsigned PWM11PRH0            : 1;
  unsigned PWM11PRH1            : 1;
  unsigned PWM11PRH2            : 1;
  unsigned PWM11PRH3            : 1;
  unsigned PWM11PRH4            : 1;
  unsigned PWM11PRH5            : 1;
  unsigned PWM11PRH6            : 1;
  unsigned PWM11PRH7            : 1;
  } __PWM11PRHbits_t;

extern __at(0x0DB6) volatile __PWM11PRHbits_t PWM11PRHbits;

#define _PWM11PRH0              0x01
#define _PWM11PRH1              0x02
#define _PWM11PRH2              0x04
#define _PWM11PRH3              0x08
#define _PWM11PRH4              0x10
#define _PWM11PRH5              0x20
#define _PWM11PRH6              0x40
#define _PWM11PRH7              0x80

//==============================================================================

extern __at(0x0DB7) __sfr PWM11OF;

//==============================================================================
//        PWM11OFL Bits

extern __at(0x0DB7) __sfr PWM11OFL;

typedef struct
  {
  unsigned PWM11OFL0            : 1;
  unsigned PWM11OFL1            : 1;
  unsigned PWM11OFL2            : 1;
  unsigned PWM11OFL3            : 1;
  unsigned PWM11OFL4            : 1;
  unsigned PWM11OFL5            : 1;
  unsigned PWM11OFL6            : 1;
  unsigned PWM11OFL7            : 1;
  } __PWM11OFLbits_t;

extern __at(0x0DB7) volatile __PWM11OFLbits_t PWM11OFLbits;

#define _PWM11OFL0              0x01
#define _PWM11OFL1              0x02
#define _PWM11OFL2              0x04
#define _PWM11OFL3              0x08
#define _PWM11OFL4              0x10
#define _PWM11OFL5              0x20
#define _PWM11OFL6              0x40
#define _PWM11OFL7              0x80

//==============================================================================


//==============================================================================
//        PWM11OFH Bits

extern __at(0x0DB8) __sfr PWM11OFH;

typedef struct
  {
  unsigned PWM11OFH0            : 1;
  unsigned PWM11OFH1            : 1;
  unsigned PWM11OFH2            : 1;
  unsigned PWM11OFH3            : 1;
  unsigned PWM11OFH4            : 1;
  unsigned PWM11OFH5            : 1;
  unsigned PWM11OFH6            : 1;
  unsigned PWM11OFH7            : 1;
  } __PWM11OFHbits_t;

extern __at(0x0DB8) volatile __PWM11OFHbits_t PWM11OFHbits;

#define _PWM11OFH0              0x01
#define _PWM11OFH1              0x02
#define _PWM11OFH2              0x04
#define _PWM11OFH3              0x08
#define _PWM11OFH4              0x10
#define _PWM11OFH5              0x20
#define _PWM11OFH6              0x40
#define _PWM11OFH7              0x80

//==============================================================================

extern __at(0x0DB9) __sfr PWM11TMR;

//==============================================================================
//        PWM11TMRL Bits

extern __at(0x0DB9) __sfr PWM11TMRL;

typedef struct
  {
  unsigned PWM11TMRL0           : 1;
  unsigned PWM11TMRL1           : 1;
  unsigned PWM11TMRL2           : 1;
  unsigned PWM11TMRL3           : 1;
  unsigned PWM11TMRL4           : 1;
  unsigned PWM11TMRL5           : 1;
  unsigned PWM11TMRL6           : 1;
  unsigned PWM11TMRL7           : 1;
  } __PWM11TMRLbits_t;

extern __at(0x0DB9) volatile __PWM11TMRLbits_t PWM11TMRLbits;

#define _PWM11TMRL0             0x01
#define _PWM11TMRL1             0x02
#define _PWM11TMRL2             0x04
#define _PWM11TMRL3             0x08
#define _PWM11TMRL4             0x10
#define _PWM11TMRL5             0x20
#define _PWM11TMRL6             0x40
#define _PWM11TMRL7             0x80

//==============================================================================


//==============================================================================
//        PWM11TMRH Bits

extern __at(0x0DBA) __sfr PWM11TMRH;

typedef struct
  {
  unsigned PWM11TMRH0           : 1;
  unsigned PWM11TMRH1           : 1;
  unsigned PWM11TMRH2           : 1;
  unsigned PWM11TMRH3           : 1;
  unsigned PWM11TMRH4           : 1;
  unsigned PWM11TMRH5           : 1;
  unsigned PWM11TMRH6           : 1;
  unsigned PWM11TMRH7           : 1;
  } __PWM11TMRHbits_t;

extern __at(0x0DBA) volatile __PWM11TMRHbits_t PWM11TMRHbits;

#define _PWM11TMRH0             0x01
#define _PWM11TMRH1             0x02
#define _PWM11TMRH2             0x04
#define _PWM11TMRH3             0x08
#define _PWM11TMRH4             0x10
#define _PWM11TMRH5             0x20
#define _PWM11TMRH6             0x40
#define _PWM11TMRH7             0x80

//==============================================================================


//==============================================================================
//        PWM11CON Bits

extern __at(0x0DBB) __sfr PWM11CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM11MODE0         : 1;
    unsigned PWM11MODE1         : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned PWM11POL           : 1;
    unsigned PWM11OUT           : 1;
    unsigned                    : 1;
    unsigned PWM11EN            : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PWM11MODE          : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };
  } __PWM11CONbits_t;

extern __at(0x0DBB) volatile __PWM11CONbits_t PWM11CONbits;

#define _PWM11CON_PWM11MODE0    0x04
#define _PWM11CON_MODE0         0x04
#define _PWM11CON_PWM11MODE1    0x08
#define _PWM11CON_MODE1         0x08
#define _PWM11CON_POL           0x10
#define _PWM11CON_PWM11POL      0x10
#define _PWM11CON_OUT           0x20
#define _PWM11CON_PWM11OUT      0x20
#define _PWM11CON_EN            0x80
#define _PWM11CON_PWM11EN       0x80

//==============================================================================


//==============================================================================
//        PWM11INTCON Bits

extern __at(0x0DBC) __sfr PWM11INTCON;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM11PRIE          : 1;
    unsigned PWM11DCIE          : 1;
    unsigned PWM11PHIE          : 1;
    unsigned PWM11OFIE          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM11INTCONbits_t;

extern __at(0x0DBC) volatile __PWM11INTCONbits_t PWM11INTCONbits;

#define _PWM11INTCON_PRIE       0x01
#define _PWM11INTCON_PWM11PRIE  0x01
#define _PWM11INTCON_DCIE       0x02
#define _PWM11INTCON_PWM11DCIE  0x02
#define _PWM11INTCON_PHIE       0x04
#define _PWM11INTCON_PWM11PHIE  0x04
#define _PWM11INTCON_OFIE       0x08
#define _PWM11INTCON_PWM11OFIE  0x08

//==============================================================================


//==============================================================================
//        PWM11INTE Bits

extern __at(0x0DBC) __sfr PWM11INTE;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM11PRIE          : 1;
    unsigned PWM11DCIE          : 1;
    unsigned PWM11PHIE          : 1;
    unsigned PWM11OFIE          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM11INTEbits_t;

extern __at(0x0DBC) volatile __PWM11INTEbits_t PWM11INTEbits;

#define _PWM11INTE_PRIE         0x01
#define _PWM11INTE_PWM11PRIE    0x01
#define _PWM11INTE_DCIE         0x02
#define _PWM11INTE_PWM11DCIE    0x02
#define _PWM11INTE_PHIE         0x04
#define _PWM11INTE_PWM11PHIE    0x04
#define _PWM11INTE_OFIE         0x08
#define _PWM11INTE_PWM11OFIE    0x08

//==============================================================================


//==============================================================================
//        PWM11INTF Bits

extern __at(0x0DBD) __sfr PWM11INTF;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM11PRIF          : 1;
    unsigned PWM11DCIF          : 1;
    unsigned PWM11PHIF          : 1;
    unsigned PWM11OFIF          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM11INTFbits_t;

extern __at(0x0DBD) volatile __PWM11INTFbits_t PWM11INTFbits;

#define _PWM11INTF_PRIF         0x01
#define _PWM11INTF_PWM11PRIF    0x01
#define _PWM11INTF_DCIF         0x02
#define _PWM11INTF_PWM11DCIF    0x02
#define _PWM11INTF_PHIF         0x04
#define _PWM11INTF_PWM11PHIF    0x04
#define _PWM11INTF_OFIF         0x08
#define _PWM11INTF_PWM11OFIF    0x08

//==============================================================================


//==============================================================================
//        PWM11INTFLG Bits

extern __at(0x0DBD) __sfr PWM11INTFLG;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM11PRIF          : 1;
    unsigned PWM11DCIF          : 1;
    unsigned PWM11PHIF          : 1;
    unsigned PWM11OFIF          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM11INTFLGbits_t;

extern __at(0x0DBD) volatile __PWM11INTFLGbits_t PWM11INTFLGbits;

#define _PWM11INTFLG_PRIF       0x01
#define _PWM11INTFLG_PWM11PRIF  0x01
#define _PWM11INTFLG_DCIF       0x02
#define _PWM11INTFLG_PWM11DCIF  0x02
#define _PWM11INTFLG_PHIF       0x04
#define _PWM11INTFLG_PWM11PHIF  0x04
#define _PWM11INTFLG_OFIF       0x08
#define _PWM11INTFLG_PWM11OFIF  0x08

//==============================================================================


//==============================================================================
//        PWM11CLKCON Bits

extern __at(0x0DBE) __sfr PWM11CLKCON;

typedef union
  {
  struct
    {
    unsigned PWM11CS0           : 1;
    unsigned PWM11CS1           : 1;
    unsigned PWM11CS2           : 1;
    unsigned                    : 1;
    unsigned PWM11PS0           : 1;
    unsigned PWM11PS1           : 1;
    unsigned PWM11PS2           : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned                    : 1;
    unsigned PS0                : 1;
    unsigned PS1                : 1;
    unsigned PS2                : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned PWM11CS            : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PS                 : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PWM11PS            : 3;
    unsigned                    : 1;
    };
  } __PWM11CLKCONbits_t;

extern __at(0x0DBE) volatile __PWM11CLKCONbits_t PWM11CLKCONbits;

#define _PWM11CLKCON_PWM11CS0   0x01
#define _PWM11CLKCON_CS0        0x01
#define _PWM11CLKCON_PWM11CS1   0x02
#define _PWM11CLKCON_CS1        0x02
#define _PWM11CLKCON_PWM11CS2   0x04
#define _PWM11CLKCON_CS2        0x04
#define _PWM11CLKCON_PWM11PS0   0x10
#define _PWM11CLKCON_PS0        0x10
#define _PWM11CLKCON_PWM11PS1   0x20
#define _PWM11CLKCON_PS1        0x20
#define _PWM11CLKCON_PWM11PS2   0x40
#define _PWM11CLKCON_PS2        0x40

//==============================================================================


//==============================================================================
//        PWM11LDCON Bits

extern __at(0x0DBF) __sfr PWM11LDCON;

typedef union
  {
  struct
    {
    unsigned PWM11LDS0          : 1;
    unsigned PWM11LDS1          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LDT                : 1;
    unsigned LDA                : 1;
    };

  struct
    {
    unsigned LDS0               : 1;
    unsigned LDS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM11LDM           : 1;
    unsigned PWM11LD            : 1;
    };

  struct
    {
    unsigned PWM11LDS           : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned LDS                : 2;
    unsigned                    : 6;
    };
  } __PWM11LDCONbits_t;

extern __at(0x0DBF) volatile __PWM11LDCONbits_t PWM11LDCONbits;

#define _PWM11LDCON_PWM11LDS0   0x01
#define _PWM11LDCON_LDS0        0x01
#define _PWM11LDCON_PWM11LDS1   0x02
#define _PWM11LDCON_LDS1        0x02
#define _PWM11LDCON_LDT         0x40
#define _PWM11LDCON_PWM11LDM    0x40
#define _PWM11LDCON_LDA         0x80
#define _PWM11LDCON_PWM11LD     0x80

//==============================================================================


//==============================================================================
//        PWM11OFCON Bits

extern __at(0x0DC0) __sfr PWM11OFCON;

typedef union
  {
  struct
    {
    unsigned PWM11OFS0          : 1;
    unsigned PWM11OFS1          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OFO                : 1;
    unsigned PWM11OFM0          : 1;
    unsigned PWM11OFM1          : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS0               : 1;
    unsigned OFS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM11OFMC          : 1;
    unsigned OFM0               : 1;
    unsigned OFM1               : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM11OFS           : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned OFS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 5;
    unsigned OFM                : 2;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 5;
    unsigned PWM11OFM           : 2;
    unsigned                    : 1;
    };
  } __PWM11OFCONbits_t;

extern __at(0x0DC0) volatile __PWM11OFCONbits_t PWM11OFCONbits;

#define _PWM11OFCON_PWM11OFS0   0x01
#define _PWM11OFCON_OFS0        0x01
#define _PWM11OFCON_PWM11OFS1   0x02
#define _PWM11OFCON_OFS1        0x02
#define _PWM11OFCON_OFO         0x10
#define _PWM11OFCON_PWM11OFMC   0x10
#define _PWM11OFCON_PWM11OFM0   0x20
#define _PWM11OFCON_OFM0        0x20
#define _PWM11OFCON_PWM11OFM1   0x40
#define _PWM11OFCON_OFM1        0x40

//==============================================================================

extern __at(0x0DC1) __sfr PWM12PH;

//==============================================================================
//        PWM12PHL Bits

extern __at(0x0DC1) __sfr PWM12PHL;

typedef struct
  {
  unsigned PWM12PHL0            : 1;
  unsigned PWM12PHL1            : 1;
  unsigned PWM12PHL2            : 1;
  unsigned PWM12PHL3            : 1;
  unsigned PWM12PHL4            : 1;
  unsigned PWM12PHL5            : 1;
  unsigned PWM12PHL6            : 1;
  unsigned PWM12PHL7            : 1;
  } __PWM12PHLbits_t;

extern __at(0x0DC1) volatile __PWM12PHLbits_t PWM12PHLbits;

#define _PWM12PHL0              0x01
#define _PWM12PHL1              0x02
#define _PWM12PHL2              0x04
#define _PWM12PHL3              0x08
#define _PWM12PHL4              0x10
#define _PWM12PHL5              0x20
#define _PWM12PHL6              0x40
#define _PWM12PHL7              0x80

//==============================================================================


//==============================================================================
//        PWM12PHH Bits

extern __at(0x0DC2) __sfr PWM12PHH;

typedef struct
  {
  unsigned PWM12PHH0            : 1;
  unsigned PWM12PHH1            : 1;
  unsigned PWM12PHH2            : 1;
  unsigned PWM12PHH3            : 1;
  unsigned PWM12PHH4            : 1;
  unsigned PWM12PHH5            : 1;
  unsigned PWM12PHH6            : 1;
  unsigned PWM12PHH7            : 1;
  } __PWM12PHHbits_t;

extern __at(0x0DC2) volatile __PWM12PHHbits_t PWM12PHHbits;

#define _PWM12PHH0              0x01
#define _PWM12PHH1              0x02
#define _PWM12PHH2              0x04
#define _PWM12PHH3              0x08
#define _PWM12PHH4              0x10
#define _PWM12PHH5              0x20
#define _PWM12PHH6              0x40
#define _PWM12PHH7              0x80

//==============================================================================

extern __at(0x0DC3) __sfr PWM12DC;

//==============================================================================
//        PWM12DCL Bits

extern __at(0x0DC3) __sfr PWM12DCL;

typedef struct
  {
  unsigned PWM12DCL0            : 1;
  unsigned PWM12DCL1            : 1;
  unsigned PWM12DCL2            : 1;
  unsigned PWM12DCL3            : 1;
  unsigned PWM12DCL4            : 1;
  unsigned PWM12DCL5            : 1;
  unsigned PWM12DCL6            : 1;
  unsigned PWM12DCL7            : 1;
  } __PWM12DCLbits_t;

extern __at(0x0DC3) volatile __PWM12DCLbits_t PWM12DCLbits;

#define _PWM12DCL0              0x01
#define _PWM12DCL1              0x02
#define _PWM12DCL2              0x04
#define _PWM12DCL3              0x08
#define _PWM12DCL4              0x10
#define _PWM12DCL5              0x20
#define _PWM12DCL6              0x40
#define _PWM12DCL7              0x80

//==============================================================================


//==============================================================================
//        PWM12DCH Bits

extern __at(0x0DC4) __sfr PWM12DCH;

typedef struct
  {
  unsigned PWM12DCH0            : 1;
  unsigned PWM12DCH1            : 1;
  unsigned PWM12DCH2            : 1;
  unsigned PWM12DCH3            : 1;
  unsigned PWM12DCH4            : 1;
  unsigned PWM12DCH5            : 1;
  unsigned PWM12DCH6            : 1;
  unsigned PWM12DCH7            : 1;
  } __PWM12DCHbits_t;

extern __at(0x0DC4) volatile __PWM12DCHbits_t PWM12DCHbits;

#define _PWM12DCH0              0x01
#define _PWM12DCH1              0x02
#define _PWM12DCH2              0x04
#define _PWM12DCH3              0x08
#define _PWM12DCH4              0x10
#define _PWM12DCH5              0x20
#define _PWM12DCH6              0x40
#define _PWM12DCH7              0x80

//==============================================================================

extern __at(0x0DC5) __sfr PWM12PR;

//==============================================================================
//        PWM12PRL Bits

extern __at(0x0DC5) __sfr PWM12PRL;

typedef struct
  {
  unsigned PWM12PRL0            : 1;
  unsigned PWM12PRL1            : 1;
  unsigned PWM12PRL2            : 1;
  unsigned PWM12PRL3            : 1;
  unsigned PWM12PRL4            : 1;
  unsigned PWM12PRL5            : 1;
  unsigned PWM12PRL6            : 1;
  unsigned PWM12PRL7            : 1;
  } __PWM12PRLbits_t;

extern __at(0x0DC5) volatile __PWM12PRLbits_t PWM12PRLbits;

#define _PWM12PRL0              0x01
#define _PWM12PRL1              0x02
#define _PWM12PRL2              0x04
#define _PWM12PRL3              0x08
#define _PWM12PRL4              0x10
#define _PWM12PRL5              0x20
#define _PWM12PRL6              0x40
#define _PWM12PRL7              0x80

//==============================================================================


//==============================================================================
//        PWM12PRH Bits

extern __at(0x0DC6) __sfr PWM12PRH;

typedef struct
  {
  unsigned PWM12PRH0            : 1;
  unsigned PWM12PRH1            : 1;
  unsigned PWM12PRH2            : 1;
  unsigned PWM12PRH3            : 1;
  unsigned PWM12PRH4            : 1;
  unsigned PWM12PRH5            : 1;
  unsigned PWM12PRH6            : 1;
  unsigned PWM12PRH7            : 1;
  } __PWM12PRHbits_t;

extern __at(0x0DC6) volatile __PWM12PRHbits_t PWM12PRHbits;

#define _PWM12PRH0              0x01
#define _PWM12PRH1              0x02
#define _PWM12PRH2              0x04
#define _PWM12PRH3              0x08
#define _PWM12PRH4              0x10
#define _PWM12PRH5              0x20
#define _PWM12PRH6              0x40
#define _PWM12PRH7              0x80

//==============================================================================

extern __at(0x0DC7) __sfr PWM12OF;

//==============================================================================
//        PWM12OFL Bits

extern __at(0x0DC7) __sfr PWM12OFL;

typedef struct
  {
  unsigned PWM12OFL0            : 1;
  unsigned PWM12OFL1            : 1;
  unsigned PWM12OFL2            : 1;
  unsigned PWM12OFL3            : 1;
  unsigned PWM12OFL4            : 1;
  unsigned PWM12OFL5            : 1;
  unsigned PWM12OFL6            : 1;
  unsigned PWM12OFL7            : 1;
  } __PWM12OFLbits_t;

extern __at(0x0DC7) volatile __PWM12OFLbits_t PWM12OFLbits;

#define _PWM12OFL0              0x01
#define _PWM12OFL1              0x02
#define _PWM12OFL2              0x04
#define _PWM12OFL3              0x08
#define _PWM12OFL4              0x10
#define _PWM12OFL5              0x20
#define _PWM12OFL6              0x40
#define _PWM12OFL7              0x80

//==============================================================================


//==============================================================================
//        PWM12OFH Bits

extern __at(0x0DC8) __sfr PWM12OFH;

typedef struct
  {
  unsigned PWM12OFH0            : 1;
  unsigned PWM12OFH1            : 1;
  unsigned PWM12OFH2            : 1;
  unsigned PWM12OFH3            : 1;
  unsigned PWM12OFH4            : 1;
  unsigned PWM12OFH5            : 1;
  unsigned PWM12OFH6            : 1;
  unsigned PWM12OFH7            : 1;
  } __PWM12OFHbits_t;

extern __at(0x0DC8) volatile __PWM12OFHbits_t PWM12OFHbits;

#define _PWM12OFH0              0x01
#define _PWM12OFH1              0x02
#define _PWM12OFH2              0x04
#define _PWM12OFH3              0x08
#define _PWM12OFH4              0x10
#define _PWM12OFH5              0x20
#define _PWM12OFH6              0x40
#define _PWM12OFH7              0x80

//==============================================================================

extern __at(0x0DC9) __sfr PWM12TMR;

//==============================================================================
//        PWM12TMRL Bits

extern __at(0x0DC9) __sfr PWM12TMRL;

typedef struct
  {
  unsigned PWM12TMRL0           : 1;
  unsigned PWM12TMRL1           : 1;
  unsigned PWM12TMRL2           : 1;
  unsigned PWM12TMRL3           : 1;
  unsigned PWM12TMRL4           : 1;
  unsigned PWM12TMRL5           : 1;
  unsigned PWM12TMRL6           : 1;
  unsigned PWM12TMRL7           : 1;
  } __PWM12TMRLbits_t;

extern __at(0x0DC9) volatile __PWM12TMRLbits_t PWM12TMRLbits;

#define _PWM12TMRL0             0x01
#define _PWM12TMRL1             0x02
#define _PWM12TMRL2             0x04
#define _PWM12TMRL3             0x08
#define _PWM12TMRL4             0x10
#define _PWM12TMRL5             0x20
#define _PWM12TMRL6             0x40
#define _PWM12TMRL7             0x80

//==============================================================================


//==============================================================================
//        PWM12TMRH Bits

extern __at(0x0DCA) __sfr PWM12TMRH;

typedef struct
  {
  unsigned PWM12TMRH0           : 1;
  unsigned PWM12TMRH1           : 1;
  unsigned PWM12TMRH2           : 1;
  unsigned PWM12TMRH3           : 1;
  unsigned PWM12TMRH4           : 1;
  unsigned PWM12TMRH5           : 1;
  unsigned PWM12TMRH6           : 1;
  unsigned PWM12TMRH7           : 1;
  } __PWM12TMRHbits_t;

extern __at(0x0DCA) volatile __PWM12TMRHbits_t PWM12TMRHbits;

#define _PWM12TMRH0             0x01
#define _PWM12TMRH1             0x02
#define _PWM12TMRH2             0x04
#define _PWM12TMRH3             0x08
#define _PWM12TMRH4             0x10
#define _PWM12TMRH5             0x20
#define _PWM12TMRH6             0x40
#define _PWM12TMRH7             0x80

//==============================================================================


//==============================================================================
//        PWM12CON Bits

extern __at(0x0DCB) __sfr PWM12CON;

typedef union
  {
  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM12MODE0         : 1;
    unsigned PWM12MODE1         : 1;
    unsigned POL                : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned PWM12POL           : 1;
    unsigned PWM12OUT           : 1;
    unsigned                    : 1;
    unsigned PWM12EN            : 1;
    };

  struct
    {
    unsigned                    : 2;
    unsigned MODE               : 2;
    unsigned                    : 4;
    };

  struct
    {
    unsigned                    : 2;
    unsigned PWM12MODE          : 2;
    unsigned                    : 4;
    };
  } __PWM12CONbits_t;

extern __at(0x0DCB) volatile __PWM12CONbits_t PWM12CONbits;

#define _PWM12CON_PWM12MODE0    0x04
#define _PWM12CON_MODE0         0x04
#define _PWM12CON_PWM12MODE1    0x08
#define _PWM12CON_MODE1         0x08
#define _PWM12CON_POL           0x10
#define _PWM12CON_PWM12POL      0x10
#define _PWM12CON_OUT           0x20
#define _PWM12CON_PWM12OUT      0x20
#define _PWM12CON_EN            0x80
#define _PWM12CON_PWM12EN       0x80

//==============================================================================


//==============================================================================
//        PWM12INTCON Bits

extern __at(0x0DCC) __sfr PWM12INTCON;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM12PRIE          : 1;
    unsigned PWM12DCIE          : 1;
    unsigned PWM12PHIE          : 1;
    unsigned PWM12OFIE          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM12INTCONbits_t;

extern __at(0x0DCC) volatile __PWM12INTCONbits_t PWM12INTCONbits;

#define _PWM12INTCON_PRIE       0x01
#define _PWM12INTCON_PWM12PRIE  0x01
#define _PWM12INTCON_DCIE       0x02
#define _PWM12INTCON_PWM12DCIE  0x02
#define _PWM12INTCON_PHIE       0x04
#define _PWM12INTCON_PWM12PHIE  0x04
#define _PWM12INTCON_OFIE       0x08
#define _PWM12INTCON_PWM12OFIE  0x08

//==============================================================================


//==============================================================================
//        PWM12INTE Bits

extern __at(0x0DCC) __sfr PWM12INTE;

typedef union
  {
  struct
    {
    unsigned PRIE               : 1;
    unsigned DCIE               : 1;
    unsigned PHIE               : 1;
    unsigned OFIE               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM12PRIE          : 1;
    unsigned PWM12DCIE          : 1;
    unsigned PWM12PHIE          : 1;
    unsigned PWM12OFIE          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM12INTEbits_t;

extern __at(0x0DCC) volatile __PWM12INTEbits_t PWM12INTEbits;

#define _PWM12INTE_PRIE         0x01
#define _PWM12INTE_PWM12PRIE    0x01
#define _PWM12INTE_DCIE         0x02
#define _PWM12INTE_PWM12DCIE    0x02
#define _PWM12INTE_PHIE         0x04
#define _PWM12INTE_PWM12PHIE    0x04
#define _PWM12INTE_OFIE         0x08
#define _PWM12INTE_PWM12OFIE    0x08

//==============================================================================


//==============================================================================
//        PWM12INTF Bits

extern __at(0x0DCD) __sfr PWM12INTF;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM12PRIF          : 1;
    unsigned PWM12DCIF          : 1;
    unsigned PWM12PHIF          : 1;
    unsigned PWM12OFIF          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM12INTFbits_t;

extern __at(0x0DCD) volatile __PWM12INTFbits_t PWM12INTFbits;

#define _PWM12INTF_PRIF         0x01
#define _PWM12INTF_PWM12PRIF    0x01
#define _PWM12INTF_DCIF         0x02
#define _PWM12INTF_PWM12DCIF    0x02
#define _PWM12INTF_PHIF         0x04
#define _PWM12INTF_PWM12PHIF    0x04
#define _PWM12INTF_OFIF         0x08
#define _PWM12INTF_PWM12OFIF    0x08

//==============================================================================


//==============================================================================
//        PWM12INTFLG Bits

extern __at(0x0DCD) __sfr PWM12INTFLG;

typedef union
  {
  struct
    {
    unsigned PRIF               : 1;
    unsigned DCIF               : 1;
    unsigned PHIF               : 1;
    unsigned OFIF               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned PWM12PRIF          : 1;
    unsigned PWM12DCIF          : 1;
    unsigned PWM12PHIF          : 1;
    unsigned PWM12OFIF          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };
  } __PWM12INTFLGbits_t;

extern __at(0x0DCD) volatile __PWM12INTFLGbits_t PWM12INTFLGbits;

#define _PWM12INTFLG_PRIF       0x01
#define _PWM12INTFLG_PWM12PRIF  0x01
#define _PWM12INTFLG_DCIF       0x02
#define _PWM12INTFLG_PWM12DCIF  0x02
#define _PWM12INTFLG_PHIF       0x04
#define _PWM12INTFLG_PWM12PHIF  0x04
#define _PWM12INTFLG_OFIF       0x08
#define _PWM12INTFLG_PWM12OFIF  0x08

//==============================================================================


//==============================================================================
//        PWM12CLKCON Bits

extern __at(0x0DCE) __sfr PWM12CLKCON;

typedef union
  {
  struct
    {
    unsigned PWM12CS0           : 1;
    unsigned PWM12CS1           : 1;
    unsigned PWM12CS2           : 1;
    unsigned                    : 1;
    unsigned PWM12PS0           : 1;
    unsigned PWM12PS1           : 1;
    unsigned PWM12PS2           : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS0                : 1;
    unsigned CS1                : 1;
    unsigned CS2                : 1;
    unsigned                    : 1;
    unsigned PS0                : 1;
    unsigned PS1                : 1;
    unsigned PS2                : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned CS                 : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned PWM12CS            : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PS                 : 3;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 4;
    unsigned PWM12PS            : 3;
    unsigned                    : 1;
    };
  } __PWM12CLKCONbits_t;

extern __at(0x0DCE) volatile __PWM12CLKCONbits_t PWM12CLKCONbits;

#define _PWM12CLKCON_PWM12CS0   0x01
#define _PWM12CLKCON_CS0        0x01
#define _PWM12CLKCON_PWM12CS1   0x02
#define _PWM12CLKCON_CS1        0x02
#define _PWM12CLKCON_PWM12CS2   0x04
#define _PWM12CLKCON_CS2        0x04
#define _PWM12CLKCON_PWM12PS0   0x10
#define _PWM12CLKCON_PS0        0x10
#define _PWM12CLKCON_PWM12PS1   0x20
#define _PWM12CLKCON_PS1        0x20
#define _PWM12CLKCON_PWM12PS2   0x40
#define _PWM12CLKCON_PS2        0x40

//==============================================================================


//==============================================================================
//        PWM12LDCON Bits

extern __at(0x0DCF) __sfr PWM12LDCON;

typedef union
  {
  struct
    {
    unsigned PWM12LDS0          : 1;
    unsigned PWM12LDS1          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LDT                : 1;
    unsigned LDA                : 1;
    };

  struct
    {
    unsigned LDS0               : 1;
    unsigned LDS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM12LDM           : 1;
    unsigned PWM12LD            : 1;
    };

  struct
    {
    unsigned PWM12LDS           : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned LDS                : 2;
    unsigned                    : 6;
    };
  } __PWM12LDCONbits_t;

extern __at(0x0DCF) volatile __PWM12LDCONbits_t PWM12LDCONbits;

#define _PWM12LDCON_PWM12LDS0   0x01
#define _PWM12LDCON_LDS0        0x01
#define _PWM12LDCON_PWM12LDS1   0x02
#define _PWM12LDCON_LDS1        0x02
#define _PWM12LDCON_LDT         0x40
#define _PWM12LDCON_PWM12LDM    0x40
#define _PWM12LDCON_LDA         0x80
#define _PWM12LDCON_PWM12LD     0x80

//==============================================================================


//==============================================================================
//        PWM12OFCON Bits

extern __at(0x0DD0) __sfr PWM12OFCON;

typedef union
  {
  struct
    {
    unsigned PWM12OFS0          : 1;
    unsigned PWM12OFS1          : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned OFO                : 1;
    unsigned PWM12OFM0          : 1;
    unsigned PWM12OFM1          : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS0               : 1;
    unsigned OFS1               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned PWM12OFMC          : 1;
    unsigned OFM0               : 1;
    unsigned OFM1               : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned OFS                : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned PWM12OFS           : 2;
    unsigned                    : 6;
    };

  struct
    {
    unsigned                    : 5;
    unsigned OFM                : 2;
    unsigned                    : 1;
    };

  struct
    {
    unsigned                    : 5;
    unsigned PWM12OFM           : 2;
    unsigned                    : 1;
    };
  } __PWM12OFCONbits_t;

extern __at(0x0DD0) volatile __PWM12OFCONbits_t PWM12OFCONbits;

#define _PWM12OFCON_PWM12OFS0   0x01
#define _PWM12OFCON_OFS0        0x01
#define _PWM12OFCON_PWM12OFS1   0x02
#define _PWM12OFCON_OFS1        0x02
#define _PWM12OFCON_OFO         0x10
#define _PWM12OFCON_PWM12OFMC   0x10
#define _PWM12OFCON_PWM12OFM0   0x20
#define _PWM12OFCON_OFM0        0x20
#define _PWM12OFCON_PWM12OFM1   0x40
#define _PWM12OFCON_OFM1        0x40

//==============================================================================


//==============================================================================
//        PPSLOCK Bits

extern __at(0x0E0C) __sfr PPSLOCK;

typedef struct
  {
  unsigned PPSLOCKED            : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __PPSLOCKbits_t;

extern __at(0x0E0C) volatile __PPSLOCKbits_t PPSLOCKbits;

#define _PPSLOCKED              0x01

//==============================================================================

extern __at(0x0E0D) __sfr INTPPS;
extern __at(0x0E0E) __sfr T0CKIPPS;
extern __at(0x0E0F) __sfr T1CKIPPS;
extern __at(0x0E10) __sfr T1GPPS;
extern __at(0x0E11) __sfr T3CKIPPS;
extern __at(0x0E12) __sfr T3GPPS;
extern __at(0x0E13) __sfr T5CKIPPS;
extern __at(0x0E14) __sfr T5GPPS;
extern __at(0x0E15) __sfr T2CKIPPS;
extern __at(0x0E16) __sfr T4CKIPPS;
extern __at(0x0E17) __sfr T6CKIPPS;
extern __at(0x0E18) __sfr T8CKIPPS;
extern __at(0x0E19) __sfr CCP1PPS;
extern __at(0x0E1A) __sfr CCP2PPS;
extern __at(0x0E1B) __sfr CCP7PPS;
extern __at(0x0E1C) __sfr CCP8PPS;
extern __at(0x0E1D) __sfr COG1INPPS;
extern __at(0x0E1E) __sfr COG2INPPS;
extern __at(0x0E1F) __sfr COG3INPPS;
extern __at(0x0E20) __sfr COG4INPPS;
extern __at(0x0E21) __sfr MD1CLPPS;
extern __at(0x0E22) __sfr MD1CHPPS;
extern __at(0x0E23) __sfr MD1MODPPS;
extern __at(0x0E24) __sfr MD2CLPPS;
extern __at(0x0E25) __sfr MD2CHPPS;
extern __at(0x0E26) __sfr MD2MODPPS;
extern __at(0x0E27) __sfr MD3CLPPS;
extern __at(0x0E28) __sfr MD3CHPPS;
extern __at(0x0E29) __sfr MD3MODPPS;
extern __at(0x0E2A) __sfr MD4CLPPS;
extern __at(0x0E2B) __sfr MD4CHPPS;
extern __at(0x0E2C) __sfr MD4MODPPS;
extern __at(0x0E2D) __sfr PRG1RPPS;
extern __at(0x0E2E) __sfr PRG1FPPS;
extern __at(0x0E2F) __sfr PRG2RPPS;
extern __at(0x0E30) __sfr PRG2FPPS;
extern __at(0x0E31) __sfr PRG3RPPS;
extern __at(0x0E32) __sfr PRG3FPPS;
extern __at(0x0E33) __sfr PRG4RPPS;
extern __at(0x0E34) __sfr PRG4FPPS;
extern __at(0x0E35) __sfr CLCIN0PPS;
extern __at(0x0E36) __sfr CLCIN1PPS;
extern __at(0x0E37) __sfr CLCIN2PPS;
extern __at(0x0E38) __sfr CLCIN3PPS;
extern __at(0x0E39) __sfr ADCACTPPS;
extern __at(0x0E3A) __sfr SSPCLKPPS;
extern __at(0x0E3B) __sfr SSPDATPPS;
extern __at(0x0E3C) __sfr SSPSSPPS;
extern __at(0x0E3D) __sfr RXPPS;
extern __at(0x0E3E) __sfr CKPPS;
extern __at(0x0E90) __sfr RA0PPS;
extern __at(0x0E91) __sfr RA1PPS;
extern __at(0x0E92) __sfr RA2PPS;
extern __at(0x0E93) __sfr RA3PPS;
extern __at(0x0E94) __sfr RA4PPS;
extern __at(0x0E95) __sfr RA5PPS;
extern __at(0x0E96) __sfr RA6PPS;
extern __at(0x0E97) __sfr RA7PPS;
extern __at(0x0E98) __sfr RB0PPS;
extern __at(0x0E99) __sfr RB1PPS;
extern __at(0x0E9A) __sfr RB2PPS;
extern __at(0x0E9B) __sfr RB3PPS;
extern __at(0x0E9C) __sfr RB4PPS;
extern __at(0x0E9D) __sfr RB5PPS;
extern __at(0x0E9E) __sfr RB6PPS;
extern __at(0x0E9F) __sfr RB7PPS;
extern __at(0x0EA0) __sfr RC0PPS;
extern __at(0x0EA1) __sfr RC1PPS;
extern __at(0x0EA2) __sfr RC2PPS;
extern __at(0x0EA3) __sfr RC3PPS;
extern __at(0x0EA4) __sfr RC4PPS;
extern __at(0x0EA5) __sfr RC5PPS;
extern __at(0x0EA6) __sfr RC6PPS;
extern __at(0x0EA7) __sfr RC7PPS;
extern __at(0x0EA8) __sfr RD0PPS;
extern __at(0x0EA9) __sfr RD1PPS;
extern __at(0x0EAA) __sfr RD2PPS;
extern __at(0x0EAB) __sfr RD3PPS;
extern __at(0x0EAC) __sfr RD4PPS;
extern __at(0x0EAD) __sfr RD5PPS;
extern __at(0x0EAE) __sfr RD6PPS;
extern __at(0x0EAF) __sfr RD7PPS;
extern __at(0x0EB0) __sfr RE0PPS;
extern __at(0x0EB1) __sfr RE1PPS;
extern __at(0x0EB2) __sfr RE2PPS;

//==============================================================================
//        CLCDATA Bits

extern __at(0x0F0F) __sfr CLCDATA;

typedef struct
  {
  unsigned MCLC1OUT             : 1;
  unsigned MCLC2OUT             : 1;
  unsigned MCLC3OUT             : 1;
  unsigned MLC4OUT              : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __CLCDATAbits_t;

extern __at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits;

#define _MCLC1OUT               0x01
#define _MCLC2OUT               0x02
#define _MCLC3OUT               0x04
#define _MLC4OUT                0x08

//==============================================================================


//==============================================================================
//        CLC1CON Bits

extern __at(0x0F10) __sfr CLC1CON;

typedef union
  {
  struct
    {
    unsigned LC1MODE0           : 1;
    unsigned LC1MODE1           : 1;
    unsigned LC1MODE2           : 1;
    unsigned LC1INTN            : 1;
    unsigned LC1INTP            : 1;
    unsigned LC1OUT             : 1;
    unsigned                    : 1;
    unsigned LC1EN              : 1;
    };

  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MODE               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned LC1MODE            : 3;
    unsigned                    : 5;
    };
  } __CLC1CONbits_t;

extern __at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits;

#define _CLC1CON_LC1MODE0       0x01
#define _CLC1CON_MODE0          0x01
#define _CLC1CON_LC1MODE1       0x02
#define _CLC1CON_MODE1          0x02
#define _CLC1CON_LC1MODE2       0x04
#define _CLC1CON_MODE2          0x04
#define _CLC1CON_LC1INTN        0x08
#define _CLC1CON_INTN           0x08
#define _CLC1CON_LC1INTP        0x10
#define _CLC1CON_INTP           0x10
#define _CLC1CON_LC1OUT         0x20
#define _CLC1CON_OUT            0x20
#define _CLC1CON_LC1EN          0x80
#define _CLC1CON_EN             0x80

//==============================================================================


//==============================================================================
//        CLC1POL Bits

extern __at(0x0F11) __sfr CLC1POL;

typedef union
  {
  struct
    {
    unsigned LC1G1POL           : 1;
    unsigned LC1G2POL           : 1;
    unsigned LC1G3POL           : 1;
    unsigned LC1G4POL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LC1POL             : 1;
    };

  struct
    {
    unsigned G1POL              : 1;
    unsigned G2POL              : 1;
    unsigned G3POL              : 1;
    unsigned G4POL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    };
  } __CLC1POLbits_t;

extern __at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits;

#define _LC1G1POL               0x01
#define _G1POL                  0x01
#define _LC1G2POL               0x02
#define _G2POL                  0x02
#define _LC1G3POL               0x04
#define _G3POL                  0x04
#define _LC1G4POL               0x08
#define _G4POL                  0x08
#define _LC1POL                 0x80
#define _POL                    0x80

//==============================================================================


//==============================================================================
//        CLC1SEL0 Bits

extern __at(0x0F12) __sfr CLC1SEL0;

typedef union
  {
  struct
    {
    unsigned LC1D1S0            : 1;
    unsigned LC1D1S1            : 1;
    unsigned LC1D1S2            : 1;
    unsigned LC1D1S3            : 1;
    unsigned LC1D1S4            : 1;
    unsigned LC1D1S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S0               : 1;
    unsigned D1S1               : 1;
    unsigned D1S2               : 1;
    unsigned D1S3               : 1;
    unsigned D1S4               : 1;
    unsigned D1S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned LC1D1S             : 6;
    unsigned                    : 2;
    };
  } __CLC1SEL0bits_t;

extern __at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits;

#define _LC1D1S0                0x01
#define _D1S0                   0x01
#define _LC1D1S1                0x02
#define _D1S1                   0x02
#define _LC1D1S2                0x04
#define _D1S2                   0x04
#define _LC1D1S3                0x08
#define _D1S3                   0x08
#define _LC1D1S4                0x10
#define _D1S4                   0x10
#define _LC1D1S5                0x20
#define _D1S5                   0x20

//==============================================================================


//==============================================================================
//        CLC1SEL1 Bits

extern __at(0x0F13) __sfr CLC1SEL1;

typedef union
  {
  struct
    {
    unsigned LC1D2S0            : 1;
    unsigned LC1D2S1            : 1;
    unsigned LC1D2S2            : 1;
    unsigned LC1D2S3            : 1;
    unsigned LC1D2S4            : 1;
    unsigned LC1D2S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D2S0               : 1;
    unsigned D2S1               : 1;
    unsigned D2S2               : 1;
    unsigned D2S3               : 1;
    unsigned D2S4               : 1;
    unsigned D2S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC1D2S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D2S                : 6;
    unsigned                    : 2;
    };
  } __CLC1SEL1bits_t;

extern __at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits;

#define _LC1D2S0                0x01
#define _D2S0                   0x01
#define _LC1D2S1                0x02
#define _D2S1                   0x02
#define _LC1D2S2                0x04
#define _D2S2                   0x04
#define _LC1D2S3                0x08
#define _D2S3                   0x08
#define _LC1D2S4                0x10
#define _D2S4                   0x10
#define _LC1D2S5                0x20
#define _D2S5                   0x20

//==============================================================================


//==============================================================================
//        CLC1SEL2 Bits

extern __at(0x0F14) __sfr CLC1SEL2;

typedef union
  {
  struct
    {
    unsigned LC1D3S0            : 1;
    unsigned LC1D3S1            : 1;
    unsigned LC1D3S2            : 1;
    unsigned LC1D3S3            : 1;
    unsigned LC1D3S4            : 1;
    unsigned LC1D3S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D3S0               : 1;
    unsigned D3S1               : 1;
    unsigned D3S2               : 1;
    unsigned D3S3               : 1;
    unsigned D3S4               : 1;
    unsigned D3S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC1D3S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D3S                : 6;
    unsigned                    : 2;
    };
  } __CLC1SEL2bits_t;

extern __at(0x0F14) volatile __CLC1SEL2bits_t CLC1SEL2bits;

#define _LC1D3S0                0x01
#define _D3S0                   0x01
#define _LC1D3S1                0x02
#define _D3S1                   0x02
#define _LC1D3S2                0x04
#define _D3S2                   0x04
#define _LC1D3S3                0x08
#define _D3S3                   0x08
#define _LC1D3S4                0x10
#define _D3S4                   0x10
#define _LC1D3S5                0x20
#define _D3S5                   0x20

//==============================================================================


//==============================================================================
//        CLC1SEL3 Bits

extern __at(0x0F15) __sfr CLC1SEL3;

typedef union
  {
  struct
    {
    unsigned LC1D4S0            : 1;
    unsigned LC1D4S1            : 1;
    unsigned LC1D4S2            : 1;
    unsigned LC1D4S3            : 1;
    unsigned LC1D4S4            : 1;
    unsigned LC1D4S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D4S0               : 1;
    unsigned D4S1               : 1;
    unsigned D4S2               : 1;
    unsigned D4S3               : 1;
    unsigned D4S4               : 1;
    unsigned D4S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC1D4S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D4S                : 6;
    unsigned                    : 2;
    };
  } __CLC1SEL3bits_t;

extern __at(0x0F15) volatile __CLC1SEL3bits_t CLC1SEL3bits;

#define _LC1D4S0                0x01
#define _D4S0                   0x01
#define _LC1D4S1                0x02
#define _D4S1                   0x02
#define _LC1D4S2                0x04
#define _D4S2                   0x04
#define _LC1D4S3                0x08
#define _D4S3                   0x08
#define _LC1D4S4                0x10
#define _D4S4                   0x10
#define _LC1D4S5                0x20
#define _D4S5                   0x20

//==============================================================================


//==============================================================================
//        CLC1GLS0 Bits

extern __at(0x0F16) __sfr CLC1GLS0;

typedef union
  {
  struct
    {
    unsigned LC1G1D1N           : 1;
    unsigned LC1G1D1T           : 1;
    unsigned LC1G1D2N           : 1;
    unsigned LC1G1D2T           : 1;
    unsigned LC1G1D3N           : 1;
    unsigned LC1G1D3T           : 1;
    unsigned LC1G1D4N           : 1;
    unsigned LC1G1D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC1GLS0bits_t;

extern __at(0x0F16) volatile __CLC1GLS0bits_t CLC1GLS0bits;

#define _LC1G1D1N               0x01
#define _D1N                    0x01
#define _LC1G1D1T               0x02
#define _D1T                    0x02
#define _LC1G1D2N               0x04
#define _D2N                    0x04
#define _LC1G1D2T               0x08
#define _D2T                    0x08
#define _LC1G1D3N               0x10
#define _D3N                    0x10
#define _LC1G1D3T               0x20
#define _D3T                    0x20
#define _LC1G1D4N               0x40
#define _D4N                    0x40
#define _LC1G1D4T               0x80
#define _D4T                    0x80

//==============================================================================


//==============================================================================
//        CLC1GLS1 Bits

extern __at(0x0F17) __sfr CLC1GLS1;

typedef union
  {
  struct
    {
    unsigned LC1G2D1N           : 1;
    unsigned LC1G2D1T           : 1;
    unsigned LC1G2D2N           : 1;
    unsigned LC1G2D2T           : 1;
    unsigned LC1G2D3N           : 1;
    unsigned LC1G2D3T           : 1;
    unsigned LC1G2D4N           : 1;
    unsigned LC1G2D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC1GLS1bits_t;

extern __at(0x0F17) volatile __CLC1GLS1bits_t CLC1GLS1bits;

#define _CLC1GLS1_LC1G2D1N      0x01
#define _CLC1GLS1_D1N           0x01
#define _CLC1GLS1_LC1G2D1T      0x02
#define _CLC1GLS1_D1T           0x02
#define _CLC1GLS1_LC1G2D2N      0x04
#define _CLC1GLS1_D2N           0x04
#define _CLC1GLS1_LC1G2D2T      0x08
#define _CLC1GLS1_D2T           0x08
#define _CLC1GLS1_LC1G2D3N      0x10
#define _CLC1GLS1_D3N           0x10
#define _CLC1GLS1_LC1G2D3T      0x20
#define _CLC1GLS1_D3T           0x20
#define _CLC1GLS1_LC1G2D4N      0x40
#define _CLC1GLS1_D4N           0x40
#define _CLC1GLS1_LC1G2D4T      0x80
#define _CLC1GLS1_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC1GLS2 Bits

extern __at(0x0F18) __sfr CLC1GLS2;

typedef union
  {
  struct
    {
    unsigned LC1G3D1N           : 1;
    unsigned LC1G3D1T           : 1;
    unsigned LC1G3D2N           : 1;
    unsigned LC1G3D2T           : 1;
    unsigned LC1G3D3N           : 1;
    unsigned LC1G3D3T           : 1;
    unsigned LC1G3D4N           : 1;
    unsigned LC1G3D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC1GLS2bits_t;

extern __at(0x0F18) volatile __CLC1GLS2bits_t CLC1GLS2bits;

#define _CLC1GLS2_LC1G3D1N      0x01
#define _CLC1GLS2_D1N           0x01
#define _CLC1GLS2_LC1G3D1T      0x02
#define _CLC1GLS2_D1T           0x02
#define _CLC1GLS2_LC1G3D2N      0x04
#define _CLC1GLS2_D2N           0x04
#define _CLC1GLS2_LC1G3D2T      0x08
#define _CLC1GLS2_D2T           0x08
#define _CLC1GLS2_LC1G3D3N      0x10
#define _CLC1GLS2_D3N           0x10
#define _CLC1GLS2_LC1G3D3T      0x20
#define _CLC1GLS2_D3T           0x20
#define _CLC1GLS2_LC1G3D4N      0x40
#define _CLC1GLS2_D4N           0x40
#define _CLC1GLS2_LC1G3D4T      0x80
#define _CLC1GLS2_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC1GLS3 Bits

extern __at(0x0F19) __sfr CLC1GLS3;

typedef union
  {
  struct
    {
    unsigned LC1G4D1N           : 1;
    unsigned LC1G4D1T           : 1;
    unsigned LC1G4D2N           : 1;
    unsigned LC1G4D2T           : 1;
    unsigned LC1G4D3N           : 1;
    unsigned LC1G4D3T           : 1;
    unsigned LC1G4D4N           : 1;
    unsigned LC1G4D4T           : 1;
    };

  struct
    {
    unsigned G4D1N              : 1;
    unsigned G4D1T              : 1;
    unsigned G4D2N              : 1;
    unsigned G4D2T              : 1;
    unsigned G4D3N              : 1;
    unsigned G4D3T              : 1;
    unsigned G4D4N              : 1;
    unsigned G4D4T              : 1;
    };
  } __CLC1GLS3bits_t;

extern __at(0x0F19) volatile __CLC1GLS3bits_t CLC1GLS3bits;

#define _LC1G4D1N               0x01
#define _G4D1N                  0x01
#define _LC1G4D1T               0x02
#define _G4D1T                  0x02
#define _LC1G4D2N               0x04
#define _G4D2N                  0x04
#define _LC1G4D2T               0x08
#define _G4D2T                  0x08
#define _LC1G4D3N               0x10
#define _G4D3N                  0x10
#define _LC1G4D3T               0x20
#define _G4D3T                  0x20
#define _LC1G4D4N               0x40
#define _G4D4N                  0x40
#define _LC1G4D4T               0x80
#define _G4D4T                  0x80

//==============================================================================


//==============================================================================
//        CLC2CON Bits

extern __at(0x0F1A) __sfr CLC2CON;

typedef union
  {
  struct
    {
    unsigned LC2MODE0           : 1;
    unsigned LC2MODE1           : 1;
    unsigned LC2MODE2           : 1;
    unsigned LC2INTN            : 1;
    unsigned LC2INTP            : 1;
    unsigned LC2OUT             : 1;
    unsigned                    : 1;
    unsigned LC2EN              : 1;
    };

  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MODE               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned LC2MODE            : 3;
    unsigned                    : 5;
    };
  } __CLC2CONbits_t;

extern __at(0x0F1A) volatile __CLC2CONbits_t CLC2CONbits;

#define _CLC2CON_LC2MODE0       0x01
#define _CLC2CON_MODE0          0x01
#define _CLC2CON_LC2MODE1       0x02
#define _CLC2CON_MODE1          0x02
#define _CLC2CON_LC2MODE2       0x04
#define _CLC2CON_MODE2          0x04
#define _CLC2CON_LC2INTN        0x08
#define _CLC2CON_INTN           0x08
#define _CLC2CON_LC2INTP        0x10
#define _CLC2CON_INTP           0x10
#define _CLC2CON_LC2OUT         0x20
#define _CLC2CON_OUT            0x20
#define _CLC2CON_LC2EN          0x80
#define _CLC2CON_EN             0x80

//==============================================================================


//==============================================================================
//        CLC2POL Bits

extern __at(0x0F1B) __sfr CLC2POL;

typedef union
  {
  struct
    {
    unsigned LC2G1POL           : 1;
    unsigned LC2G2POL           : 1;
    unsigned LC2G3POL           : 1;
    unsigned LC2G4POL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LC2POL             : 1;
    };

  struct
    {
    unsigned G1POL              : 1;
    unsigned G2POL              : 1;
    unsigned G3POL              : 1;
    unsigned G4POL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    };
  } __CLC2POLbits_t;

extern __at(0x0F1B) volatile __CLC2POLbits_t CLC2POLbits;

#define _CLC2POL_LC2G1POL       0x01
#define _CLC2POL_G1POL          0x01
#define _CLC2POL_LC2G2POL       0x02
#define _CLC2POL_G2POL          0x02
#define _CLC2POL_LC2G3POL       0x04
#define _CLC2POL_G3POL          0x04
#define _CLC2POL_LC2G4POL       0x08
#define _CLC2POL_G4POL          0x08
#define _CLC2POL_LC2POL         0x80
#define _CLC2POL_POL            0x80

//==============================================================================


//==============================================================================
//        CLC2SEL0 Bits

extern __at(0x0F1C) __sfr CLC2SEL0;

typedef union
  {
  struct
    {
    unsigned LC2D1S0            : 1;
    unsigned LC2D1S1            : 1;
    unsigned LC2D1S2            : 1;
    unsigned LC2D1S3            : 1;
    unsigned LC2D1S4            : 1;
    unsigned LC2D1S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S0               : 1;
    unsigned D1S1               : 1;
    unsigned D1S2               : 1;
    unsigned D1S3               : 1;
    unsigned D1S4               : 1;
    unsigned D1S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned LC2D1S             : 6;
    unsigned                    : 2;
    };
  } __CLC2SEL0bits_t;

extern __at(0x0F1C) volatile __CLC2SEL0bits_t CLC2SEL0bits;

#define _CLC2SEL0_LC2D1S0       0x01
#define _CLC2SEL0_D1S0          0x01
#define _CLC2SEL0_LC2D1S1       0x02
#define _CLC2SEL0_D1S1          0x02
#define _CLC2SEL0_LC2D1S2       0x04
#define _CLC2SEL0_D1S2          0x04
#define _CLC2SEL0_LC2D1S3       0x08
#define _CLC2SEL0_D1S3          0x08
#define _CLC2SEL0_LC2D1S4       0x10
#define _CLC2SEL0_D1S4          0x10
#define _CLC2SEL0_LC2D1S5       0x20
#define _CLC2SEL0_D1S5          0x20

//==============================================================================


//==============================================================================
//        CLC2SEL1 Bits

extern __at(0x0F1D) __sfr CLC2SEL1;

typedef union
  {
  struct
    {
    unsigned LC2D2S0            : 1;
    unsigned LC2D2S1            : 1;
    unsigned LC2D2S2            : 1;
    unsigned LC2D2S3            : 1;
    unsigned LC2D2S4            : 1;
    unsigned LC2D2S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D2S0               : 1;
    unsigned D2S1               : 1;
    unsigned D2S2               : 1;
    unsigned D2S3               : 1;
    unsigned D2S4               : 1;
    unsigned D2S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC2D2S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D2S                : 6;
    unsigned                    : 2;
    };
  } __CLC2SEL1bits_t;

extern __at(0x0F1D) volatile __CLC2SEL1bits_t CLC2SEL1bits;

#define _CLC2SEL1_LC2D2S0       0x01
#define _CLC2SEL1_D2S0          0x01
#define _CLC2SEL1_LC2D2S1       0x02
#define _CLC2SEL1_D2S1          0x02
#define _CLC2SEL1_LC2D2S2       0x04
#define _CLC2SEL1_D2S2          0x04
#define _CLC2SEL1_LC2D2S3       0x08
#define _CLC2SEL1_D2S3          0x08
#define _CLC2SEL1_LC2D2S4       0x10
#define _CLC2SEL1_D2S4          0x10
#define _CLC2SEL1_LC2D2S5       0x20
#define _CLC2SEL1_D2S5          0x20

//==============================================================================


//==============================================================================
//        CLC2SEL2 Bits

extern __at(0x0F1E) __sfr CLC2SEL2;

typedef union
  {
  struct
    {
    unsigned LC2D3S0            : 1;
    unsigned LC2D3S1            : 1;
    unsigned LC2D3S2            : 1;
    unsigned LC2D3S3            : 1;
    unsigned LC2D3S4            : 1;
    unsigned LC2D3S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D3S0               : 1;
    unsigned D3S1               : 1;
    unsigned D3S2               : 1;
    unsigned D3S3               : 1;
    unsigned D3S4               : 1;
    unsigned D3S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC2D3S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D3S                : 6;
    unsigned                    : 2;
    };
  } __CLC2SEL2bits_t;

extern __at(0x0F1E) volatile __CLC2SEL2bits_t CLC2SEL2bits;

#define _CLC2SEL2_LC2D3S0       0x01
#define _CLC2SEL2_D3S0          0x01
#define _CLC2SEL2_LC2D3S1       0x02
#define _CLC2SEL2_D3S1          0x02
#define _CLC2SEL2_LC2D3S2       0x04
#define _CLC2SEL2_D3S2          0x04
#define _CLC2SEL2_LC2D3S3       0x08
#define _CLC2SEL2_D3S3          0x08
#define _CLC2SEL2_LC2D3S4       0x10
#define _CLC2SEL2_D3S4          0x10
#define _CLC2SEL2_LC2D3S5       0x20
#define _CLC2SEL2_D3S5          0x20

//==============================================================================


//==============================================================================
//        CLC2SEL3 Bits

extern __at(0x0F1F) __sfr CLC2SEL3;

typedef union
  {
  struct
    {
    unsigned LC2D4S0            : 1;
    unsigned LC2D4S1            : 1;
    unsigned LC2D4S2            : 1;
    unsigned LC2D4S3            : 1;
    unsigned LC2D4S4            : 1;
    unsigned LC2D4S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D4S0               : 1;
    unsigned D4S1               : 1;
    unsigned D4S2               : 1;
    unsigned D4S3               : 1;
    unsigned D4S4               : 1;
    unsigned D4S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D4S                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned LC2D4S             : 6;
    unsigned                    : 2;
    };
  } __CLC2SEL3bits_t;

extern __at(0x0F1F) volatile __CLC2SEL3bits_t CLC2SEL3bits;

#define _CLC2SEL3_LC2D4S0       0x01
#define _CLC2SEL3_D4S0          0x01
#define _CLC2SEL3_LC2D4S1       0x02
#define _CLC2SEL3_D4S1          0x02
#define _CLC2SEL3_LC2D4S2       0x04
#define _CLC2SEL3_D4S2          0x04
#define _CLC2SEL3_LC2D4S3       0x08
#define _CLC2SEL3_D4S3          0x08
#define _CLC2SEL3_LC2D4S4       0x10
#define _CLC2SEL3_D4S4          0x10
#define _CLC2SEL3_LC2D4S5       0x20
#define _CLC2SEL3_D4S5          0x20

//==============================================================================


//==============================================================================
//        CLC2GLS0 Bits

extern __at(0x0F20) __sfr CLC2GLS0;

typedef union
  {
  struct
    {
    unsigned LC2G1D1N           : 1;
    unsigned LC2G1D1T           : 1;
    unsigned LC2G1D2N           : 1;
    unsigned LC2G1D2T           : 1;
    unsigned LC2G1D3N           : 1;
    unsigned LC2G1D3T           : 1;
    unsigned LC2G1D4N           : 1;
    unsigned LC2G1D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC2GLS0bits_t;

extern __at(0x0F20) volatile __CLC2GLS0bits_t CLC2GLS0bits;

#define _CLC2GLS0_LC2G1D1N      0x01
#define _CLC2GLS0_D1N           0x01
#define _CLC2GLS0_LC2G1D1T      0x02
#define _CLC2GLS0_D1T           0x02
#define _CLC2GLS0_LC2G1D2N      0x04
#define _CLC2GLS0_D2N           0x04
#define _CLC2GLS0_LC2G1D2T      0x08
#define _CLC2GLS0_D2T           0x08
#define _CLC2GLS0_LC2G1D3N      0x10
#define _CLC2GLS0_D3N           0x10
#define _CLC2GLS0_LC2G1D3T      0x20
#define _CLC2GLS0_D3T           0x20
#define _CLC2GLS0_LC2G1D4N      0x40
#define _CLC2GLS0_D4N           0x40
#define _CLC2GLS0_LC2G1D4T      0x80
#define _CLC2GLS0_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC2GLS1 Bits

extern __at(0x0F21) __sfr CLC2GLS1;

typedef union
  {
  struct
    {
    unsigned LC2G2D1N           : 1;
    unsigned LC2G2D1T           : 1;
    unsigned LC2G2D2N           : 1;
    unsigned LC2G2D2T           : 1;
    unsigned LC2G2D3N           : 1;
    unsigned LC2G2D3T           : 1;
    unsigned LC2G2D4N           : 1;
    unsigned LC2G2D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC2GLS1bits_t;

extern __at(0x0F21) volatile __CLC2GLS1bits_t CLC2GLS1bits;

#define _CLC2GLS1_LC2G2D1N      0x01
#define _CLC2GLS1_D1N           0x01
#define _CLC2GLS1_LC2G2D1T      0x02
#define _CLC2GLS1_D1T           0x02
#define _CLC2GLS1_LC2G2D2N      0x04
#define _CLC2GLS1_D2N           0x04
#define _CLC2GLS1_LC2G2D2T      0x08
#define _CLC2GLS1_D2T           0x08
#define _CLC2GLS1_LC2G2D3N      0x10
#define _CLC2GLS1_D3N           0x10
#define _CLC2GLS1_LC2G2D3T      0x20
#define _CLC2GLS1_D3T           0x20
#define _CLC2GLS1_LC2G2D4N      0x40
#define _CLC2GLS1_D4N           0x40
#define _CLC2GLS1_LC2G2D4T      0x80
#define _CLC2GLS1_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC2GLS2 Bits

extern __at(0x0F22) __sfr CLC2GLS2;

typedef union
  {
  struct
    {
    unsigned LC2G3D1N           : 1;
    unsigned LC2G3D1T           : 1;
    unsigned LC2G3D2N           : 1;
    unsigned LC2G3D2T           : 1;
    unsigned LC2G3D3N           : 1;
    unsigned LC2G3D3T           : 1;
    unsigned LC2G3D4N           : 1;
    unsigned LC2G3D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC2GLS2bits_t;

extern __at(0x0F22) volatile __CLC2GLS2bits_t CLC2GLS2bits;

#define _CLC2GLS2_LC2G3D1N      0x01
#define _CLC2GLS2_D1N           0x01
#define _CLC2GLS2_LC2G3D1T      0x02
#define _CLC2GLS2_D1T           0x02
#define _CLC2GLS2_LC2G3D2N      0x04
#define _CLC2GLS2_D2N           0x04
#define _CLC2GLS2_LC2G3D2T      0x08
#define _CLC2GLS2_D2T           0x08
#define _CLC2GLS2_LC2G3D3N      0x10
#define _CLC2GLS2_D3N           0x10
#define _CLC2GLS2_LC2G3D3T      0x20
#define _CLC2GLS2_D3T           0x20
#define _CLC2GLS2_LC2G3D4N      0x40
#define _CLC2GLS2_D4N           0x40
#define _CLC2GLS2_LC2G3D4T      0x80
#define _CLC2GLS2_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC2GLS3 Bits

extern __at(0x0F23) __sfr CLC2GLS3;

typedef union
  {
  struct
    {
    unsigned LC2G4D1N           : 1;
    unsigned LC2G4D1T           : 1;
    unsigned LC2G4D2N           : 1;
    unsigned LC2G4D2T           : 1;
    unsigned LC2G4D3N           : 1;
    unsigned LC2G4D3T           : 1;
    unsigned LC2G4D4N           : 1;
    unsigned LC2G4D4T           : 1;
    };

  struct
    {
    unsigned G4D1N              : 1;
    unsigned G4D1T              : 1;
    unsigned G4D2N              : 1;
    unsigned G4D2T              : 1;
    unsigned G4D3N              : 1;
    unsigned G4D3T              : 1;
    unsigned G4D4N              : 1;
    unsigned G4D4T              : 1;
    };
  } __CLC2GLS3bits_t;

extern __at(0x0F23) volatile __CLC2GLS3bits_t CLC2GLS3bits;

#define _CLC2GLS3_LC2G4D1N      0x01
#define _CLC2GLS3_G4D1N         0x01
#define _CLC2GLS3_LC2G4D1T      0x02
#define _CLC2GLS3_G4D1T         0x02
#define _CLC2GLS3_LC2G4D2N      0x04
#define _CLC2GLS3_G4D2N         0x04
#define _CLC2GLS3_LC2G4D2T      0x08
#define _CLC2GLS3_G4D2T         0x08
#define _CLC2GLS3_LC2G4D3N      0x10
#define _CLC2GLS3_G4D3N         0x10
#define _CLC2GLS3_LC2G4D3T      0x20
#define _CLC2GLS3_G4D3T         0x20
#define _CLC2GLS3_LC2G4D4N      0x40
#define _CLC2GLS3_G4D4N         0x40
#define _CLC2GLS3_LC2G4D4T      0x80
#define _CLC2GLS3_G4D4T         0x80

//==============================================================================


//==============================================================================
//        CLC3CON Bits

extern __at(0x0F24) __sfr CLC3CON;

typedef union
  {
  struct
    {
    unsigned LC3MODE0           : 1;
    unsigned LC3MODE1           : 1;
    unsigned LC3MODE2           : 1;
    unsigned LC3INTN            : 1;
    unsigned LC3INTP            : 1;
    unsigned LC3OUT             : 1;
    unsigned                    : 1;
    unsigned LC3EN              : 1;
    };

  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned MODE               : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned LC3MODE            : 3;
    unsigned                    : 5;
    };
  } __CLC3CONbits_t;

extern __at(0x0F24) volatile __CLC3CONbits_t CLC3CONbits;

#define _CLC3CON_LC3MODE0       0x01
#define _CLC3CON_MODE0          0x01
#define _CLC3CON_LC3MODE1       0x02
#define _CLC3CON_MODE1          0x02
#define _CLC3CON_LC3MODE2       0x04
#define _CLC3CON_MODE2          0x04
#define _CLC3CON_LC3INTN        0x08
#define _CLC3CON_INTN           0x08
#define _CLC3CON_LC3INTP        0x10
#define _CLC3CON_INTP           0x10
#define _CLC3CON_LC3OUT         0x20
#define _CLC3CON_OUT            0x20
#define _CLC3CON_LC3EN          0x80
#define _CLC3CON_EN             0x80

//==============================================================================


//==============================================================================
//        CLC3POL Bits

extern __at(0x0F25) __sfr CLC3POL;

typedef union
  {
  struct
    {
    unsigned LC3G1POL           : 1;
    unsigned LC3G2POL           : 1;
    unsigned LC3G3POL           : 1;
    unsigned LC3G4POL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LC3POL             : 1;
    };

  struct
    {
    unsigned G1POL              : 1;
    unsigned G2POL              : 1;
    unsigned G3POL              : 1;
    unsigned G4POL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    };
  } __CLC3POLbits_t;

extern __at(0x0F25) volatile __CLC3POLbits_t CLC3POLbits;

#define _CLC3POL_LC3G1POL       0x01
#define _CLC3POL_G1POL          0x01
#define _CLC3POL_LC3G2POL       0x02
#define _CLC3POL_G2POL          0x02
#define _CLC3POL_LC3G3POL       0x04
#define _CLC3POL_G3POL          0x04
#define _CLC3POL_LC3G4POL       0x08
#define _CLC3POL_G4POL          0x08
#define _CLC3POL_LC3POL         0x80
#define _CLC3POL_POL            0x80

//==============================================================================


//==============================================================================
//        CLC3SEL0 Bits

extern __at(0x0F26) __sfr CLC3SEL0;

typedef union
  {
  struct
    {
    unsigned LC3D1S0            : 1;
    unsigned LC3D1S1            : 1;
    unsigned LC3D1S2            : 1;
    unsigned LC3D1S3            : 1;
    unsigned LC3D1S4            : 1;
    unsigned LC3D1S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S0               : 1;
    unsigned D1S1               : 1;
    unsigned D1S2               : 1;
    unsigned D1S3               : 1;
    unsigned D1S4               : 1;
    unsigned D1S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC3D1S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D1S                : 6;
    unsigned                    : 2;
    };
  } __CLC3SEL0bits_t;

extern __at(0x0F26) volatile __CLC3SEL0bits_t CLC3SEL0bits;

#define _CLC3SEL0_LC3D1S0       0x01
#define _CLC3SEL0_D1S0          0x01
#define _CLC3SEL0_LC3D1S1       0x02
#define _CLC3SEL0_D1S1          0x02
#define _CLC3SEL0_LC3D1S2       0x04
#define _CLC3SEL0_D1S2          0x04
#define _CLC3SEL0_LC3D1S3       0x08
#define _CLC3SEL0_D1S3          0x08
#define _CLC3SEL0_LC3D1S4       0x10
#define _CLC3SEL0_D1S4          0x10
#define _CLC3SEL0_LC3D1S5       0x20
#define _CLC3SEL0_D1S5          0x20

//==============================================================================


//==============================================================================
//        CLC3SEL1 Bits

extern __at(0x0F27) __sfr CLC3SEL1;

typedef union
  {
  struct
    {
    unsigned LC3D2S0            : 1;
    unsigned LC3D2S1            : 1;
    unsigned LC3D2S2            : 1;
    unsigned LC3D2S3            : 1;
    unsigned LC3D2S4            : 1;
    unsigned LC3D2S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D2S0               : 1;
    unsigned D2S1               : 1;
    unsigned D2S2               : 1;
    unsigned D2S3               : 1;
    unsigned D2S4               : 1;
    unsigned D2S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D2S                : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned LC3D2S             : 6;
    unsigned                    : 2;
    };
  } __CLC3SEL1bits_t;

extern __at(0x0F27) volatile __CLC3SEL1bits_t CLC3SEL1bits;

#define _CLC3SEL1_LC3D2S0       0x01
#define _CLC3SEL1_D2S0          0x01
#define _CLC3SEL1_LC3D2S1       0x02
#define _CLC3SEL1_D2S1          0x02
#define _CLC3SEL1_LC3D2S2       0x04
#define _CLC3SEL1_D2S2          0x04
#define _CLC3SEL1_LC3D2S3       0x08
#define _CLC3SEL1_D2S3          0x08
#define _CLC3SEL1_LC3D2S4       0x10
#define _CLC3SEL1_D2S4          0x10
#define _CLC3SEL1_LC3D2S5       0x20
#define _CLC3SEL1_D2S5          0x20

//==============================================================================


//==============================================================================
//        CLC3SEL2 Bits

extern __at(0x0F28) __sfr CLC3SEL2;

typedef union
  {
  struct
    {
    unsigned LC3D3S0            : 1;
    unsigned LC3D3S1            : 1;
    unsigned LC3D3S2            : 1;
    unsigned LC3D3S3            : 1;
    unsigned LC3D3S4            : 1;
    unsigned LC3D3S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D3S0               : 1;
    unsigned D3S1               : 1;
    unsigned D3S2               : 1;
    unsigned D3S3               : 1;
    unsigned D3S4               : 1;
    unsigned D3S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC3D3S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D3S                : 6;
    unsigned                    : 2;
    };
  } __CLC3SEL2bits_t;

extern __at(0x0F28) volatile __CLC3SEL2bits_t CLC3SEL2bits;

#define _CLC3SEL2_LC3D3S0       0x01
#define _CLC3SEL2_D3S0          0x01
#define _CLC3SEL2_LC3D3S1       0x02
#define _CLC3SEL2_D3S1          0x02
#define _CLC3SEL2_LC3D3S2       0x04
#define _CLC3SEL2_D3S2          0x04
#define _CLC3SEL2_LC3D3S3       0x08
#define _CLC3SEL2_D3S3          0x08
#define _CLC3SEL2_LC3D3S4       0x10
#define _CLC3SEL2_D3S4          0x10
#define _CLC3SEL2_LC3D3S5       0x20
#define _CLC3SEL2_D3S5          0x20

//==============================================================================


//==============================================================================
//        CLC3SEL3 Bits

extern __at(0x0F29) __sfr CLC3SEL3;

typedef union
  {
  struct
    {
    unsigned LC3D4S0            : 1;
    unsigned LC3D4S1            : 1;
    unsigned LC3D4S2            : 1;
    unsigned LC3D4S3            : 1;
    unsigned LC3D4S4            : 1;
    unsigned LC3D4S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D4S0               : 1;
    unsigned D4S1               : 1;
    unsigned D4S2               : 1;
    unsigned D4S3               : 1;
    unsigned D4S4               : 1;
    unsigned D4S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC3D4S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D4S                : 6;
    unsigned                    : 2;
    };
  } __CLC3SEL3bits_t;

extern __at(0x0F29) volatile __CLC3SEL3bits_t CLC3SEL3bits;

#define _CLC3SEL3_LC3D4S0       0x01
#define _CLC3SEL3_D4S0          0x01
#define _CLC3SEL3_LC3D4S1       0x02
#define _CLC3SEL3_D4S1          0x02
#define _CLC3SEL3_LC3D4S2       0x04
#define _CLC3SEL3_D4S2          0x04
#define _CLC3SEL3_LC3D4S3       0x08
#define _CLC3SEL3_D4S3          0x08
#define _CLC3SEL3_LC3D4S4       0x10
#define _CLC3SEL3_D4S4          0x10
#define _CLC3SEL3_LC3D4S5       0x20
#define _CLC3SEL3_D4S5          0x20

//==============================================================================


//==============================================================================
//        CLC3GLS0 Bits

extern __at(0x0F2A) __sfr CLC3GLS0;

typedef union
  {
  struct
    {
    unsigned LC3G1D1N           : 1;
    unsigned LC3G1D1T           : 1;
    unsigned LC3G1D2N           : 1;
    unsigned LC3G1D2T           : 1;
    unsigned LC3G1D3N           : 1;
    unsigned LC3G1D3T           : 1;
    unsigned LC3G1D4N           : 1;
    unsigned LC3G1D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC3GLS0bits_t;

extern __at(0x0F2A) volatile __CLC3GLS0bits_t CLC3GLS0bits;

#define _CLC3GLS0_LC3G1D1N      0x01
#define _CLC3GLS0_D1N           0x01
#define _CLC3GLS0_LC3G1D1T      0x02
#define _CLC3GLS0_D1T           0x02
#define _CLC3GLS0_LC3G1D2N      0x04
#define _CLC3GLS0_D2N           0x04
#define _CLC3GLS0_LC3G1D2T      0x08
#define _CLC3GLS0_D2T           0x08
#define _CLC3GLS0_LC3G1D3N      0x10
#define _CLC3GLS0_D3N           0x10
#define _CLC3GLS0_LC3G1D3T      0x20
#define _CLC3GLS0_D3T           0x20
#define _CLC3GLS0_LC3G1D4N      0x40
#define _CLC3GLS0_D4N           0x40
#define _CLC3GLS0_LC3G1D4T      0x80
#define _CLC3GLS0_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC3GLS1 Bits

extern __at(0x0F2B) __sfr CLC3GLS1;

typedef union
  {
  struct
    {
    unsigned LC3G2D1N           : 1;
    unsigned LC3G2D1T           : 1;
    unsigned LC3G2D2N           : 1;
    unsigned LC3G2D2T           : 1;
    unsigned LC3G2D3N           : 1;
    unsigned LC3G2D3T           : 1;
    unsigned LC3G2D4N           : 1;
    unsigned LC3G2D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC3GLS1bits_t;

extern __at(0x0F2B) volatile __CLC3GLS1bits_t CLC3GLS1bits;

#define _CLC3GLS1_LC3G2D1N      0x01
#define _CLC3GLS1_D1N           0x01
#define _CLC3GLS1_LC3G2D1T      0x02
#define _CLC3GLS1_D1T           0x02
#define _CLC3GLS1_LC3G2D2N      0x04
#define _CLC3GLS1_D2N           0x04
#define _CLC3GLS1_LC3G2D2T      0x08
#define _CLC3GLS1_D2T           0x08
#define _CLC3GLS1_LC3G2D3N      0x10
#define _CLC3GLS1_D3N           0x10
#define _CLC3GLS1_LC3G2D3T      0x20
#define _CLC3GLS1_D3T           0x20
#define _CLC3GLS1_LC3G2D4N      0x40
#define _CLC3GLS1_D4N           0x40
#define _CLC3GLS1_LC3G2D4T      0x80
#define _CLC3GLS1_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC3GLS2 Bits

extern __at(0x0F2C) __sfr CLC3GLS2;

typedef union
  {
  struct
    {
    unsigned LC3G3D1N           : 1;
    unsigned LC3G3D1T           : 1;
    unsigned LC3G3D2N           : 1;
    unsigned LC3G3D2T           : 1;
    unsigned LC3G3D3N           : 1;
    unsigned LC3G3D3T           : 1;
    unsigned LC3G3D4N           : 1;
    unsigned LC3G3D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC3GLS2bits_t;

extern __at(0x0F2C) volatile __CLC3GLS2bits_t CLC3GLS2bits;

#define _CLC3GLS2_LC3G3D1N      0x01
#define _CLC3GLS2_D1N           0x01
#define _CLC3GLS2_LC3G3D1T      0x02
#define _CLC3GLS2_D1T           0x02
#define _CLC3GLS2_LC3G3D2N      0x04
#define _CLC3GLS2_D2N           0x04
#define _CLC3GLS2_LC3G3D2T      0x08
#define _CLC3GLS2_D2T           0x08
#define _CLC3GLS2_LC3G3D3N      0x10
#define _CLC3GLS2_D3N           0x10
#define _CLC3GLS2_LC3G3D3T      0x20
#define _CLC3GLS2_D3T           0x20
#define _CLC3GLS2_LC3G3D4N      0x40
#define _CLC3GLS2_D4N           0x40
#define _CLC3GLS2_LC3G3D4T      0x80
#define _CLC3GLS2_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC3GLS3 Bits

extern __at(0x0F2D) __sfr CLC3GLS3;

typedef union
  {
  struct
    {
    unsigned LC3G4D1N           : 1;
    unsigned LC3G4D1T           : 1;
    unsigned LC3G4D2N           : 1;
    unsigned LC3G4D2T           : 1;
    unsigned LC3G4D3N           : 1;
    unsigned LC3G4D3T           : 1;
    unsigned LC3G4D4N           : 1;
    unsigned LC3G4D4T           : 1;
    };

  struct
    {
    unsigned G4D1N              : 1;
    unsigned G4D1T              : 1;
    unsigned G4D2N              : 1;
    unsigned G4D2T              : 1;
    unsigned G4D3N              : 1;
    unsigned G4D3T              : 1;
    unsigned G4D4N              : 1;
    unsigned G4D4T              : 1;
    };
  } __CLC3GLS3bits_t;

extern __at(0x0F2D) volatile __CLC3GLS3bits_t CLC3GLS3bits;

#define _CLC3GLS3_LC3G4D1N      0x01
#define _CLC3GLS3_G4D1N         0x01
#define _CLC3GLS3_LC3G4D1T      0x02
#define _CLC3GLS3_G4D1T         0x02
#define _CLC3GLS3_LC3G4D2N      0x04
#define _CLC3GLS3_G4D2N         0x04
#define _CLC3GLS3_LC3G4D2T      0x08
#define _CLC3GLS3_G4D2T         0x08
#define _CLC3GLS3_LC3G4D3N      0x10
#define _CLC3GLS3_G4D3N         0x10
#define _CLC3GLS3_LC3G4D3T      0x20
#define _CLC3GLS3_G4D3T         0x20
#define _CLC3GLS3_LC3G4D4N      0x40
#define _CLC3GLS3_G4D4N         0x40
#define _CLC3GLS3_LC3G4D4T      0x80
#define _CLC3GLS3_G4D4T         0x80

//==============================================================================


//==============================================================================
//        CLC4CON Bits

extern __at(0x0F2E) __sfr CLC4CON;

typedef union
  {
  struct
    {
    unsigned LC4MODE0           : 1;
    unsigned LC4MODE1           : 1;
    unsigned LC4MODE2           : 1;
    unsigned LC4INTN            : 1;
    unsigned LC4INTP            : 1;
    unsigned LC4OUT             : 1;
    unsigned                    : 1;
    unsigned LC4EN              : 1;
    };

  struct
    {
    unsigned MODE0              : 1;
    unsigned MODE1              : 1;
    unsigned MODE2              : 1;
    unsigned INTN               : 1;
    unsigned INTP               : 1;
    unsigned OUT                : 1;
    unsigned                    : 1;
    unsigned EN                 : 1;
    };

  struct
    {
    unsigned LC4MODE            : 3;
    unsigned                    : 5;
    };

  struct
    {
    unsigned MODE               : 3;
    unsigned                    : 5;
    };
  } __CLC4CONbits_t;

extern __at(0x0F2E) volatile __CLC4CONbits_t CLC4CONbits;

#define _CLC4CON_LC4MODE0       0x01
#define _CLC4CON_MODE0          0x01
#define _CLC4CON_LC4MODE1       0x02
#define _CLC4CON_MODE1          0x02
#define _CLC4CON_LC4MODE2       0x04
#define _CLC4CON_MODE2          0x04
#define _CLC4CON_LC4INTN        0x08
#define _CLC4CON_INTN           0x08
#define _CLC4CON_LC4INTP        0x10
#define _CLC4CON_INTP           0x10
#define _CLC4CON_LC4OUT         0x20
#define _CLC4CON_OUT            0x20
#define _CLC4CON_LC4EN          0x80
#define _CLC4CON_EN             0x80

//==============================================================================


//==============================================================================
//        CLC4POL Bits

extern __at(0x0F2F) __sfr CLC4POL;

typedef union
  {
  struct
    {
    unsigned LC4G1POL           : 1;
    unsigned LC4G2POL           : 1;
    unsigned LC4G3POL           : 1;
    unsigned LC4G4POL           : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned LC4POL             : 1;
    };

  struct
    {
    unsigned G1POL              : 1;
    unsigned G2POL              : 1;
    unsigned G3POL              : 1;
    unsigned G4POL              : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    unsigned POL                : 1;
    };
  } __CLC4POLbits_t;

extern __at(0x0F2F) volatile __CLC4POLbits_t CLC4POLbits;

#define _CLC4POL_LC4G1POL       0x01
#define _CLC4POL_G1POL          0x01
#define _CLC4POL_LC4G2POL       0x02
#define _CLC4POL_G2POL          0x02
#define _CLC4POL_LC4G3POL       0x04
#define _CLC4POL_G3POL          0x04
#define _CLC4POL_LC4G4POL       0x08
#define _CLC4POL_G4POL          0x08
#define _CLC4POL_LC4POL         0x80
#define _CLC4POL_POL            0x80

//==============================================================================


//==============================================================================
//        CLC4SEL0 Bits

extern __at(0x0F30) __sfr CLC4SEL0;

typedef union
  {
  struct
    {
    unsigned LC4D1S0            : 1;
    unsigned LC4D1S1            : 1;
    unsigned LC4D1S2            : 1;
    unsigned LC4D1S3            : 1;
    unsigned LC4D1S4            : 1;
    unsigned LC4D1S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D1S0               : 1;
    unsigned D1S1               : 1;
    unsigned D1S2               : 1;
    unsigned D1S3               : 1;
    unsigned D1S4               : 1;
    unsigned D1S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC4D1S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D1S                : 6;
    unsigned                    : 2;
    };
  } __CLC4SEL0bits_t;

extern __at(0x0F30) volatile __CLC4SEL0bits_t CLC4SEL0bits;

#define _CLC4SEL0_LC4D1S0       0x01
#define _CLC4SEL0_D1S0          0x01
#define _CLC4SEL0_LC4D1S1       0x02
#define _CLC4SEL0_D1S1          0x02
#define _CLC4SEL0_LC4D1S2       0x04
#define _CLC4SEL0_D1S2          0x04
#define _CLC4SEL0_LC4D1S3       0x08
#define _CLC4SEL0_D1S3          0x08
#define _CLC4SEL0_LC4D1S4       0x10
#define _CLC4SEL0_D1S4          0x10
#define _CLC4SEL0_LC4D1S5       0x20
#define _CLC4SEL0_D1S5          0x20

//==============================================================================


//==============================================================================
//        CLC4SEL1 Bits

extern __at(0x0F31) __sfr CLC4SEL1;

typedef union
  {
  struct
    {
    unsigned LC4D2S0            : 1;
    unsigned LC4D2S1            : 1;
    unsigned LC4D2S2            : 1;
    unsigned LC4D2S3            : 1;
    unsigned LC4D2S4            : 1;
    unsigned LC4D2S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D2S0               : 1;
    unsigned D2S1               : 1;
    unsigned D2S2               : 1;
    unsigned D2S3               : 1;
    unsigned D2S4               : 1;
    unsigned D2S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC4D2S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D2S                : 6;
    unsigned                    : 2;
    };
  } __CLC4SEL1bits_t;

extern __at(0x0F31) volatile __CLC4SEL1bits_t CLC4SEL1bits;

#define _CLC4SEL1_LC4D2S0       0x01
#define _CLC4SEL1_D2S0          0x01
#define _CLC4SEL1_LC4D2S1       0x02
#define _CLC4SEL1_D2S1          0x02
#define _CLC4SEL1_LC4D2S2       0x04
#define _CLC4SEL1_D2S2          0x04
#define _CLC4SEL1_LC4D2S3       0x08
#define _CLC4SEL1_D2S3          0x08
#define _CLC4SEL1_LC4D2S4       0x10
#define _CLC4SEL1_D2S4          0x10
#define _CLC4SEL1_LC4D2S5       0x20
#define _CLC4SEL1_D2S5          0x20

//==============================================================================


//==============================================================================
//        CLC4SEL2 Bits

extern __at(0x0F32) __sfr CLC4SEL2;

typedef union
  {
  struct
    {
    unsigned LC4D3S0            : 1;
    unsigned LC4D3S1            : 1;
    unsigned LC4D3S2            : 1;
    unsigned LC4D3S3            : 1;
    unsigned LC4D3S4            : 1;
    unsigned LC4D3S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D3S0               : 1;
    unsigned D3S1               : 1;
    unsigned D3S2               : 1;
    unsigned D3S3               : 1;
    unsigned D3S4               : 1;
    unsigned D3S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC4D3S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D3S                : 6;
    unsigned                    : 2;
    };
  } __CLC4SEL2bits_t;

extern __at(0x0F32) volatile __CLC4SEL2bits_t CLC4SEL2bits;

#define _CLC4SEL2_LC4D3S0       0x01
#define _CLC4SEL2_D3S0          0x01
#define _CLC4SEL2_LC4D3S1       0x02
#define _CLC4SEL2_D3S1          0x02
#define _CLC4SEL2_LC4D3S2       0x04
#define _CLC4SEL2_D3S2          0x04
#define _CLC4SEL2_LC4D3S3       0x08
#define _CLC4SEL2_D3S3          0x08
#define _CLC4SEL2_LC4D3S4       0x10
#define _CLC4SEL2_D3S4          0x10
#define _CLC4SEL2_LC4D3S5       0x20
#define _CLC4SEL2_D3S5          0x20

//==============================================================================


//==============================================================================
//        CLC4SEL3 Bits

extern __at(0x0F33) __sfr CLC4SEL3;

typedef union
  {
  struct
    {
    unsigned LC4D4S0            : 1;
    unsigned LC4D4S1            : 1;
    unsigned LC4D4S2            : 1;
    unsigned LC4D4S3            : 1;
    unsigned LC4D4S4            : 1;
    unsigned LC4D4S5            : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned D4S0               : 1;
    unsigned D4S1               : 1;
    unsigned D4S2               : 1;
    unsigned D4S3               : 1;
    unsigned D4S4               : 1;
    unsigned D4S5               : 1;
    unsigned                    : 1;
    unsigned                    : 1;
    };

  struct
    {
    unsigned LC4D4S             : 6;
    unsigned                    : 2;
    };

  struct
    {
    unsigned D4S                : 6;
    unsigned                    : 2;
    };
  } __CLC4SEL3bits_t;

extern __at(0x0F33) volatile __CLC4SEL3bits_t CLC4SEL3bits;

#define _CLC4SEL3_LC4D4S0       0x01
#define _CLC4SEL3_D4S0          0x01
#define _CLC4SEL3_LC4D4S1       0x02
#define _CLC4SEL3_D4S1          0x02
#define _CLC4SEL3_LC4D4S2       0x04
#define _CLC4SEL3_D4S2          0x04
#define _CLC4SEL3_LC4D4S3       0x08
#define _CLC4SEL3_D4S3          0x08
#define _CLC4SEL3_LC4D4S4       0x10
#define _CLC4SEL3_D4S4          0x10
#define _CLC4SEL3_LC4D4S5       0x20
#define _CLC4SEL3_D4S5          0x20

//==============================================================================


//==============================================================================
//        CLC4GLS0 Bits

extern __at(0x0F34) __sfr CLC4GLS0;

typedef union
  {
  struct
    {
    unsigned LC4G1D1N           : 1;
    unsigned LC4G1D1T           : 1;
    unsigned LC4G1D2N           : 1;
    unsigned LC4G1D2T           : 1;
    unsigned LC4G1D3N           : 1;
    unsigned LC4G1D3T           : 1;
    unsigned LC4G1D4N           : 1;
    unsigned LC4G1D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC4GLS0bits_t;

extern __at(0x0F34) volatile __CLC4GLS0bits_t CLC4GLS0bits;

#define _CLC4GLS0_LC4G1D1N      0x01
#define _CLC4GLS0_D1N           0x01
#define _CLC4GLS0_LC4G1D1T      0x02
#define _CLC4GLS0_D1T           0x02
#define _CLC4GLS0_LC4G1D2N      0x04
#define _CLC4GLS0_D2N           0x04
#define _CLC4GLS0_LC4G1D2T      0x08
#define _CLC4GLS0_D2T           0x08
#define _CLC4GLS0_LC4G1D3N      0x10
#define _CLC4GLS0_D3N           0x10
#define _CLC4GLS0_LC4G1D3T      0x20
#define _CLC4GLS0_D3T           0x20
#define _CLC4GLS0_LC4G1D4N      0x40
#define _CLC4GLS0_D4N           0x40
#define _CLC4GLS0_LC4G1D4T      0x80
#define _CLC4GLS0_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC4GLS1 Bits

extern __at(0x0F35) __sfr CLC4GLS1;

typedef union
  {
  struct
    {
    unsigned LC4G2D1N           : 1;
    unsigned LC4G2D1T           : 1;
    unsigned LC4G2D2N           : 1;
    unsigned LC4G2D2T           : 1;
    unsigned LC4G2D3N           : 1;
    unsigned LC4G2D3T           : 1;
    unsigned LC4G2D4N           : 1;
    unsigned LC4G2D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC4GLS1bits_t;

extern __at(0x0F35) volatile __CLC4GLS1bits_t CLC4GLS1bits;

#define _CLC4GLS1_LC4G2D1N      0x01
#define _CLC4GLS1_D1N           0x01
#define _CLC4GLS1_LC4G2D1T      0x02
#define _CLC4GLS1_D1T           0x02
#define _CLC4GLS1_LC4G2D2N      0x04
#define _CLC4GLS1_D2N           0x04
#define _CLC4GLS1_LC4G2D2T      0x08
#define _CLC4GLS1_D2T           0x08
#define _CLC4GLS1_LC4G2D3N      0x10
#define _CLC4GLS1_D3N           0x10
#define _CLC4GLS1_LC4G2D3T      0x20
#define _CLC4GLS1_D3T           0x20
#define _CLC4GLS1_LC4G2D4N      0x40
#define _CLC4GLS1_D4N           0x40
#define _CLC4GLS1_LC4G2D4T      0x80
#define _CLC4GLS1_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC4GLS2 Bits

extern __at(0x0F36) __sfr CLC4GLS2;

typedef union
  {
  struct
    {
    unsigned LC4G3D1N           : 1;
    unsigned LC4G3D1T           : 1;
    unsigned LC4G3D2N           : 1;
    unsigned LC4G3D2T           : 1;
    unsigned LC4G3D3N           : 1;
    unsigned LC4G3D3T           : 1;
    unsigned LC4G3D4N           : 1;
    unsigned LC4G3D4T           : 1;
    };

  struct
    {
    unsigned D1N                : 1;
    unsigned D1T                : 1;
    unsigned D2N                : 1;
    unsigned D2T                : 1;
    unsigned D3N                : 1;
    unsigned D3T                : 1;
    unsigned D4N                : 1;
    unsigned D4T                : 1;
    };
  } __CLC4GLS2bits_t;

extern __at(0x0F36) volatile __CLC4GLS2bits_t CLC4GLS2bits;

#define _CLC4GLS2_LC4G3D1N      0x01
#define _CLC4GLS2_D1N           0x01
#define _CLC4GLS2_LC4G3D1T      0x02
#define _CLC4GLS2_D1T           0x02
#define _CLC4GLS2_LC4G3D2N      0x04
#define _CLC4GLS2_D2N           0x04
#define _CLC4GLS2_LC4G3D2T      0x08
#define _CLC4GLS2_D2T           0x08
#define _CLC4GLS2_LC4G3D3N      0x10
#define _CLC4GLS2_D3N           0x10
#define _CLC4GLS2_LC4G3D3T      0x20
#define _CLC4GLS2_D3T           0x20
#define _CLC4GLS2_LC4G3D4N      0x40
#define _CLC4GLS2_D4N           0x40
#define _CLC4GLS2_LC4G3D4T      0x80
#define _CLC4GLS2_D4T           0x80

//==============================================================================


//==============================================================================
//        CLC4GLS3 Bits

extern __at(0x0F37) __sfr CLC4GLS3;

typedef union
  {
  struct
    {
    unsigned LC4G4D1N           : 1;
    unsigned LC4G4D1T           : 1;
    unsigned LC4G4D2N           : 1;
    unsigned LC4G4D2T           : 1;
    unsigned LC4G4D3N           : 1;
    unsigned LC4G4D3T           : 1;
    unsigned LC4G4D4N           : 1;
    unsigned LC4G4D4T           : 1;
    };

  struct
    {
    unsigned G4D1N              : 1;
    unsigned G4D1T              : 1;
    unsigned G4D2N              : 1;
    unsigned G4D2T              : 1;
    unsigned G4D3N              : 1;
    unsigned G4D3T              : 1;
    unsigned G4D4N              : 1;
    unsigned G4D4T              : 1;
    };
  } __CLC4GLS3bits_t;

extern __at(0x0F37) volatile __CLC4GLS3bits_t CLC4GLS3bits;

#define _CLC4GLS3_LC4G4D1N      0x01
#define _CLC4GLS3_G4D1N         0x01
#define _CLC4GLS3_LC4G4D1T      0x02
#define _CLC4GLS3_G4D1T         0x02
#define _CLC4GLS3_LC4G4D2N      0x04
#define _CLC4GLS3_G4D2N         0x04
#define _CLC4GLS3_LC4G4D2T      0x08
#define _CLC4GLS3_G4D2T         0x08
#define _CLC4GLS3_LC4G4D3N      0x10
#define _CLC4GLS3_G4D3N         0x10
#define _CLC4GLS3_LC4G4D3T      0x20
#define _CLC4GLS3_G4D3T         0x20
#define _CLC4GLS3_LC4G4D4N      0x40
#define _CLC4GLS3_G4D4N         0x40
#define _CLC4GLS3_LC4G4D4T      0x80
#define _CLC4GLS3_G4D4T         0x80

//==============================================================================


//==============================================================================
//        STATUS_SHAD Bits

extern __at(0x0FE4) __sfr STATUS_SHAD;

typedef struct
  {
  unsigned C_SHAD               : 1;
  unsigned DC_SHAD              : 1;
  unsigned Z_SHAD               : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  unsigned                      : 1;
  } __STATUS_SHADbits_t;

extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits;

#define _C_SHAD                 0x01
#define _DC_SHAD                0x02
#define _Z_SHAD                 0x04

//==============================================================================

extern __at(0x0FE5) __sfr WREG_SHAD;
extern __at(0x0FE6) __sfr BSR_SHAD;
extern __at(0x0FE7) __sfr PCLATH_SHAD;
extern __at(0x0FE8) __sfr FSR0L_SHAD;
extern __at(0x0FE9) __sfr FSR0H_SHAD;
extern __at(0x0FEA) __sfr FSR1L_SHAD;
extern __at(0x0FEB) __sfr FSR1H_SHAD;
extern __at(0x0FED) __sfr STKPTR;
extern __at(0x0FEE) __sfr TOSL;
extern __at(0x0FEF) __sfr TOSH;

//==============================================================================
//
//        Configuration Bits
//
//==============================================================================

#define _CONFIG1                0x8007
#define _CONFIG2                0x8008

//----------------------------- CONFIG1 Options -------------------------------

#define _FOSC_LP                0x3FF8  // LP Oscillator, Low-power crystal connected between OSC1 and OSC2 pins.
#define _FOSC_XT                0x3FF9  // XT Oscillator, Crystal/resonator connected between OSC1 and OSC2 pins.
#define _FOSC_HS                0x3FFA  // HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins.
#define _FOSC_EXTRC             0x3FFB  // EXTRC oscillator: External RC circuit connected to CLKIN pin.
#define _FOSC_INTOSC            0x3FFC  // INTOSC oscillator: I/O function on CLKIN pin.
#define _FOSC_ECL               0x3FFD  // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pins.
#define _FOSC_ECM               0x3FFE  // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pins.
#define _FOSC_ECH               0x3FFF  // ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins.
#define _WDTE_OFF               0x3FE7  // WDT disabled.
#define _WDTE_SWDTEN            0x3FEF  // WDT controlled by the SWDTEN bit in the WDTCON register.
#define _WDTE_NSLEEP            0x3FF7  // WDT enabled while running and disabled in Sleep.
#define _WDTE_ON                0x3FFF  // WDT enabled.
#define _PWRTE_ON               0x3FDF  // PWRT enabled.
#define _PWRTE_OFF              0x3FFF  // PWRT disabled.
#define _MCLRE_OFF              0x3FBF  // MCLR/VPP pin function is digital input.
#define _MCLRE_ON               0x3FFF  // MCLR/VPP pin function is MCLR.
#define _CP_ON                  0x3F7F  // Program memory code protection is enabled.
#define _CP_OFF                 0x3FFF  // Program memory code protection is disabled.
#define _BOREN_OFF              0x39FF  // Brown-out Reset disabled.
#define _BOREN_SBODEN           0x3BFF  // Brown-out Reset controlled by the SBOREN bit in the BORCON register.
#define _BOREN_NSLEEP           0x3DFF  // Brown-out Reset enabled while running and disabled in Sleep.
#define _BOREN_ON               0x3FFF  // Brown-out Reset enabled.
#define _CLKOUTEN_ON            0x37FF  // CLKOUT function is enabled on the CLKOUT pin.
#define _CLKOUTEN_OFF           0x3FFF  // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin.
#define _IESO_OFF               0x2FFF  // Internal/External Switchover Mode is disabled.
#define _IESO_ON                0x3FFF  // Internal/External Switchover Mode is enabled.
#define _FCMEN_OFF              0x1FFF  // Fail-Safe Clock Monitor is disabled.
#define _FCMEN_ON               0x3FFF  // Fail-Safe Clock Monitor is enabled.

//----------------------------- CONFIG2 Options -------------------------------

#define _WRT_ALL                0x3FFC  // 000h to 1FFFh write protected, no addresses may be modified by EECON control.
#define _WRT_HALF               0x3FFD  // 000h to FFFh write protected, 1000h to 1FFFh may be modified by EECON control.
#define _WRT_BOOT               0x3FFE  // 000h to 1FFh write protected, 200h to 1FFFh may be modified by EECON control.
#define _WRT_OFF                0x3FFF  // Write protection off.
#define _PPS1WAY_OFF            0x3FFB  // The PPSLOCK bit can be set and cleared repeatedly by software.
#define _PPS1WAY_ON             0x3FFF  // The PPSLOCK bit cannot be cleared once it is set by software.
#define _ZCD_ON                 0x3F7F  // Zero-cross detect circuit is enabled at POR.
#define _ZCD_OFF                0x3FFF  // Zero-cross detect circuit is disabled at POR.
#define _PLLEN_OFF              0x3EFF  // 4x PLL is enabled when software sets the SPLLEN bit.
#define _PLLEN_ON               0x3FFF  // 4x PLL is always enabled.
#define _STVREN_OFF             0x3DFF  // Stack Overflow or Underflow will not cause a Reset.
#define _STVREN_ON              0x3FFF  // Stack Overflow or Underflow will cause a Reset.
#define _BORV_HI                0x3BFF  // Brown-out Reset Voltage (Vbor), high trip point selected.
#define _BORV_LO                0x3FFF  // Brown-out Reset Voltage (Vbor), low trip point selected.
#define _LPBOR_ON               0x37FF  // Low-Power BOR is enabled.
#define _LPBOR_OFF              0x3FFF  // Low-Power BOR is disabled.
#define _DEBUG_ON               0x2FFF  // In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger.
#define _DEBUG_OFF              0x3FFF  // In-Circuit Debugger disabled, ICSPCLK and ICSPDAT are general purpose I/O pins.
#define _LVP_OFF                0x1FFF  // High-voltage on MCLR/VPP must be used for programming.
#define _LVP_ON                 0x3FFF  // Low-voltage programming enabled.

//==============================================================================

#define _DEVID1                 0x8006

#define _IDLOC0                 0x8000
#define _IDLOC1                 0x8001
#define _IDLOC2                 0x8002
#define _IDLOC3                 0x8003

//==============================================================================

#ifndef NO_BIT_DEFINES

#define ADON                    ADCON0bits.ADON                 // bit 0
#define GO                      ADCON0bits.GO                   // bit 1

#define ADNREF                  ADCON1bits.ADNREF               // bit 2
#define ADFM                    ADCON1bits.ADFM                 // bit 7

#define ANSA0                   ANSELAbits.ANSA0                // bit 0
#define ANSA1                   ANSELAbits.ANSA1                // bit 1
#define ANSA2                   ANSELAbits.ANSA2                // bit 2
#define ANSA3                   ANSELAbits.ANSA3                // bit 3
#define ANSA4                   ANSELAbits.ANSA4                // bit 4
#define ANSA5                   ANSELAbits.ANSA5                // bit 5

#define ANSB0                   ANSELBbits.ANSB0                // bit 0
#define ANSB1                   ANSELBbits.ANSB1                // bit 1
#define ANSB2                   ANSELBbits.ANSB2                // bit 2
#define ANSB3                   ANSELBbits.ANSB3                // bit 3
#define ANSB4                   ANSELBbits.ANSB4                // bit 4
#define ANSB5                   ANSELBbits.ANSB5                // bit 5

#define ANSC2                   ANSELCbits.ANSC2                // bit 2
#define ANSC3                   ANSELCbits.ANSC3                // bit 3
#define ANSC4                   ANSELCbits.ANSC4                // bit 4
#define ANSC5                   ANSELCbits.ANSC5                // bit 5
#define ANSC6                   ANSELCbits.ANSC6                // bit 6
#define ANSC7                   ANSELCbits.ANSC7                // bit 7

#define ANSD0                   ANSELDbits.ANSD0                // bit 0
#define ANSD1                   ANSELDbits.ANSD1                // bit 1
#define ANSD2                   ANSELDbits.ANSD2                // bit 2
#define ANSD3                   ANSELDbits.ANSD3                // bit 3
#define ANSD4                   ANSELDbits.ANSD4                // bit 4
#define ANSD5                   ANSELDbits.ANSD5                // bit 5
#define ANSD6                   ANSELDbits.ANSD6                // bit 6
#define ANSD7                   ANSELDbits.ANSD7                // bit 7

#define ANSE0                   ANSELEbits.ANSE0                // bit 0
#define ANSE1                   ANSELEbits.ANSE1                // bit 1
#define ANSE2                   ANSELEbits.ANSE2                // bit 2

#define ABDEN                   BAUD1CONbits.ABDEN              // bit 0
#define WUE                     BAUD1CONbits.WUE                // bit 1
#define BRG16                   BAUD1CONbits.BRG16              // bit 3
#define SCKP                    BAUD1CONbits.SCKP               // bit 4
#define RCIDL                   BAUD1CONbits.RCIDL              // bit 6
#define ABDOVF                  BAUD1CONbits.ABDOVF             // bit 7

#define BORRDY                  BORCONbits.BORRDY               // bit 0
#define BORFS                   BORCONbits.BORFS                // bit 6
#define SBOREN                  BORCONbits.SBOREN               // bit 7

#define BSR0                    BSRbits.BSR0                    // bit 0
#define BSR1                    BSRbits.BSR1                    // bit 1
#define BSR2                    BSRbits.BSR2                    // bit 2
#define BSR3                    BSRbits.BSR3                    // bit 3
#define BSR4                    BSRbits.BSR4                    // bit 4

#define CTS0                    CCP1CAPbits.CTS0                // bit 0, shadows bit in CCP1CAPbits
#define CCP1CTS0                CCP1CAPbits.CCP1CTS0            // bit 0, shadows bit in CCP1CAPbits
#define CTS1                    CCP1CAPbits.CTS1                // bit 1, shadows bit in CCP1CAPbits
#define CCP1CTS1                CCP1CAPbits.CCP1CTS1            // bit 1, shadows bit in CCP1CAPbits
#define CTS2                    CCP1CAPbits.CTS2                // bit 2, shadows bit in CCP1CAPbits
#define CCP1CTS2                CCP1CAPbits.CCP1CTS2            // bit 2, shadows bit in CCP1CAPbits
#define CTS3                    CCP1CAPbits.CTS3                // bit 3, shadows bit in CCP1CAPbits
#define CCP1CTS3                CCP1CAPbits.CCP1CTS3            // bit 3, shadows bit in CCP1CAPbits

#define MODE0                   CCP1CONbits.MODE0               // bit 0, shadows bit in CCP1CONbits
#define CCP1MODE0               CCP1CONbits.CCP1MODE0           // bit 0, shadows bit in CCP1CONbits
#define MODE1                   CCP1CONbits.MODE1               // bit 1, shadows bit in CCP1CONbits
#define CCP1MODE1               CCP1CONbits.CCP1MODE1           // bit 1, shadows bit in CCP1CONbits
#define MODE2                   CCP1CONbits.MODE2               // bit 2, shadows bit in CCP1CONbits
#define CCP1MODE2               CCP1CONbits.CCP1MODE2           // bit 2, shadows bit in CCP1CONbits
#define MODE3                   CCP1CONbits.MODE3               // bit 3, shadows bit in CCP1CONbits
#define CCP1MODE3               CCP1CONbits.CCP1MODE3           // bit 3, shadows bit in CCP1CONbits
#define FMT                     CCP1CONbits.FMT                 // bit 4, shadows bit in CCP1CONbits
#define CCP1FMT                 CCP1CONbits.CCP1FMT             // bit 4, shadows bit in CCP1CONbits
#define OUT                     CCP1CONbits.OUT                 // bit 5, shadows bit in CCP1CONbits
#define CCP1OUT                 CCP1CONbits.CCP1OUT             // bit 5, shadows bit in CCP1CONbits
#define EN                      CCP1CONbits.EN                  // bit 7, shadows bit in CCP1CONbits
#define CCP1EN                  CCP1CONbits.CCP1EN              // bit 7, shadows bit in CCP1CONbits

#define C1TSEL0                 CCPTMRS1bits.C1TSEL0            // bit 0
#define C1TSEL1                 CCPTMRS1bits.C1TSEL1            // bit 1
#define C2TSEL0                 CCPTMRS1bits.C2TSEL0            // bit 2
#define C2TSEL1                 CCPTMRS1bits.C2TSEL1            // bit 3
#define C7TSEL0                 CCPTMRS1bits.C7TSEL0            // bit 4
#define C7TSEL1                 CCPTMRS1bits.C7TSEL1            // bit 5

#define P3TSEL0                 CCPTMRS2bits.P3TSEL0            // bit 0
#define P3TSEL1                 CCPTMRS2bits.P3TSEL1            // bit 1
#define P4TSEL0                 CCPTMRS2bits.P4TSEL0            // bit 2
#define P4TSEL1                 CCPTMRS2bits.P4TSEL1            // bit 3
#define P9TSEL0                 CCPTMRS2bits.P9TSEL0            // bit 4
#define P9TSEL1                 CCPTMRS2bits.P9TSEL1            // bit 5

#define LC1G1D1N                CLC1GLS0bits.LC1G1D1N           // bit 0, shadows bit in CLC1GLS0bits
#define D1N                     CLC1GLS0bits.D1N                // bit 0, shadows bit in CLC1GLS0bits
#define LC1G1D1T                CLC1GLS0bits.LC1G1D1T           // bit 1, shadows bit in CLC1GLS0bits
#define D1T                     CLC1GLS0bits.D1T                // bit 1, shadows bit in CLC1GLS0bits
#define LC1G1D2N                CLC1GLS0bits.LC1G1D2N           // bit 2, shadows bit in CLC1GLS0bits
#define D2N                     CLC1GLS0bits.D2N                // bit 2, shadows bit in CLC1GLS0bits
#define LC1G1D2T                CLC1GLS0bits.LC1G1D2T           // bit 3, shadows bit in CLC1GLS0bits
#define D2T                     CLC1GLS0bits.D2T                // bit 3, shadows bit in CLC1GLS0bits
#define LC1G1D3N                CLC1GLS0bits.LC1G1D3N           // bit 4, shadows bit in CLC1GLS0bits
#define D3N                     CLC1GLS0bits.D3N                // bit 4, shadows bit in CLC1GLS0bits
#define LC1G1D3T                CLC1GLS0bits.LC1G1D3T           // bit 5, shadows bit in CLC1GLS0bits
#define D3T                     CLC1GLS0bits.D3T                // bit 5, shadows bit in CLC1GLS0bits
#define LC1G1D4N                CLC1GLS0bits.LC1G1D4N           // bit 6, shadows bit in CLC1GLS0bits
#define D4N                     CLC1GLS0bits.D4N                // bit 6, shadows bit in CLC1GLS0bits
#define LC1G1D4T                CLC1GLS0bits.LC1G1D4T           // bit 7, shadows bit in CLC1GLS0bits
#define D4T                     CLC1GLS0bits.D4T                // bit 7, shadows bit in CLC1GLS0bits

#define LC1G4D1N                CLC1GLS3bits.LC1G4D1N           // bit 0, shadows bit in CLC1GLS3bits
#define G4D1N                   CLC1GLS3bits.G4D1N              // bit 0, shadows bit in CLC1GLS3bits
#define LC1G4D1T                CLC1GLS3bits.LC1G4D1T           // bit 1, shadows bit in CLC1GLS3bits
#define G4D1T                   CLC1GLS3bits.G4D1T              // bit 1, shadows bit in CLC1GLS3bits
#define LC1G4D2N                CLC1GLS3bits.LC1G4D2N           // bit 2, shadows bit in CLC1GLS3bits
#define G4D2N                   CLC1GLS3bits.G4D2N              // bit 2, shadows bit in CLC1GLS3bits
#define LC1G4D2T                CLC1GLS3bits.LC1G4D2T           // bit 3, shadows bit in CLC1GLS3bits
#define G4D2T                   CLC1GLS3bits.G4D2T              // bit 3, shadows bit in CLC1GLS3bits
#define LC1G4D3N                CLC1GLS3bits.LC1G4D3N           // bit 4, shadows bit in CLC1GLS3bits
#define G4D3N                   CLC1GLS3bits.G4D3N              // bit 4, shadows bit in CLC1GLS3bits
#define LC1G4D3T                CLC1GLS3bits.LC1G4D3T           // bit 5, shadows bit in CLC1GLS3bits
#define G4D3T                   CLC1GLS3bits.G4D3T              // bit 5, shadows bit in CLC1GLS3bits
#define LC1G4D4N                CLC1GLS3bits.LC1G4D4N           // bit 6, shadows bit in CLC1GLS3bits
#define G4D4N                   CLC1GLS3bits.G4D4N              // bit 6, shadows bit in CLC1GLS3bits
#define LC1G4D4T                CLC1GLS3bits.LC1G4D4T           // bit 7, shadows bit in CLC1GLS3bits
#define G4D4T                   CLC1GLS3bits.G4D4T              // bit 7, shadows bit in CLC1GLS3bits

#define LC1G1POL                CLC1POLbits.LC1G1POL            // bit 0, shadows bit in CLC1POLbits
#define G1POL                   CLC1POLbits.G1POL               // bit 0, shadows bit in CLC1POLbits
#define LC1G2POL                CLC1POLbits.LC1G2POL            // bit 1, shadows bit in CLC1POLbits
#define G2POL                   CLC1POLbits.G2POL               // bit 1, shadows bit in CLC1POLbits
#define LC1G3POL                CLC1POLbits.LC1G3POL            // bit 2, shadows bit in CLC1POLbits
#define G3POL                   CLC1POLbits.G3POL               // bit 2, shadows bit in CLC1POLbits
#define LC1G4POL                CLC1POLbits.LC1G4POL            // bit 3, shadows bit in CLC1POLbits
#define G4POL                   CLC1POLbits.G4POL               // bit 3, shadows bit in CLC1POLbits
#define LC1POL                  CLC1POLbits.LC1POL              // bit 7, shadows bit in CLC1POLbits
#define POL                     CLC1POLbits.POL                 // bit 7, shadows bit in CLC1POLbits

#define LC1D1S0                 CLC1SEL0bits.LC1D1S0            // bit 0, shadows bit in CLC1SEL0bits
#define D1S0                    CLC1SEL0bits.D1S0               // bit 0, shadows bit in CLC1SEL0bits
#define LC1D1S1                 CLC1SEL0bits.LC1D1S1            // bit 1, shadows bit in CLC1SEL0bits
#define D1S1                    CLC1SEL0bits.D1S1               // bit 1, shadows bit in CLC1SEL0bits
#define LC1D1S2                 CLC1SEL0bits.LC1D1S2            // bit 2, shadows bit in CLC1SEL0bits
#define D1S2                    CLC1SEL0bits.D1S2               // bit 2, shadows bit in CLC1SEL0bits
#define LC1D1S3                 CLC1SEL0bits.LC1D1S3            // bit 3, shadows bit in CLC1SEL0bits
#define D1S3                    CLC1SEL0bits.D1S3               // bit 3, shadows bit in CLC1SEL0bits
#define LC1D1S4                 CLC1SEL0bits.LC1D1S4            // bit 4, shadows bit in CLC1SEL0bits
#define D1S4                    CLC1SEL0bits.D1S4               // bit 4, shadows bit in CLC1SEL0bits
#define LC1D1S5                 CLC1SEL0bits.LC1D1S5            // bit 5, shadows bit in CLC1SEL0bits
#define D1S5                    CLC1SEL0bits.D1S5               // bit 5, shadows bit in CLC1SEL0bits

#define LC1D2S0                 CLC1SEL1bits.LC1D2S0            // bit 0, shadows bit in CLC1SEL1bits
#define D2S0                    CLC1SEL1bits.D2S0               // bit 0, shadows bit in CLC1SEL1bits
#define LC1D2S1                 CLC1SEL1bits.LC1D2S1            // bit 1, shadows bit in CLC1SEL1bits
#define D2S1                    CLC1SEL1bits.D2S1               // bit 1, shadows bit in CLC1SEL1bits
#define LC1D2S2                 CLC1SEL1bits.LC1D2S2            // bit 2, shadows bit in CLC1SEL1bits
#define D2S2                    CLC1SEL1bits.D2S2               // bit 2, shadows bit in CLC1SEL1bits
#define LC1D2S3                 CLC1SEL1bits.LC1D2S3            // bit 3, shadows bit in CLC1SEL1bits
#define D2S3                    CLC1SEL1bits.D2S3               // bit 3, shadows bit in CLC1SEL1bits
#define LC1D2S4                 CLC1SEL1bits.LC1D2S4            // bit 4, shadows bit in CLC1SEL1bits
#define D2S4                    CLC1SEL1bits.D2S4               // bit 4, shadows bit in CLC1SEL1bits
#define LC1D2S5                 CLC1SEL1bits.LC1D2S5            // bit 5, shadows bit in CLC1SEL1bits
#define D2S5                    CLC1SEL1bits.D2S5               // bit 5, shadows bit in CLC1SEL1bits

#define LC1D3S0                 CLC1SEL2bits.LC1D3S0            // bit 0, shadows bit in CLC1SEL2bits
#define D3S0                    CLC1SEL2bits.D3S0               // bit 0, shadows bit in CLC1SEL2bits
#define LC1D3S1                 CLC1SEL2bits.LC1D3S1            // bit 1, shadows bit in CLC1SEL2bits
#define D3S1                    CLC1SEL2bits.D3S1               // bit 1, shadows bit in CLC1SEL2bits
#define LC1D3S2                 CLC1SEL2bits.LC1D3S2            // bit 2, shadows bit in CLC1SEL2bits
#define D3S2                    CLC1SEL2bits.D3S2               // bit 2, shadows bit in CLC1SEL2bits
#define LC1D3S3                 CLC1SEL2bits.LC1D3S3            // bit 3, shadows bit in CLC1SEL2bits
#define D3S3                    CLC1SEL2bits.D3S3               // bit 3, shadows bit in CLC1SEL2bits
#define LC1D3S4                 CLC1SEL2bits.LC1D3S4            // bit 4, shadows bit in CLC1SEL2bits
#define D3S4                    CLC1SEL2bits.D3S4               // bit 4, shadows bit in CLC1SEL2bits
#define LC1D3S5                 CLC1SEL2bits.LC1D3S5            // bit 5, shadows bit in CLC1SEL2bits
#define D3S5                    CLC1SEL2bits.D3S5               // bit 5, shadows bit in CLC1SEL2bits

#define LC1D4S0                 CLC1SEL3bits.LC1D4S0            // bit 0, shadows bit in CLC1SEL3bits
#define D4S0                    CLC1SEL3bits.D4S0               // bit 0, shadows bit in CLC1SEL3bits
#define LC1D4S1                 CLC1SEL3bits.LC1D4S1            // bit 1, shadows bit in CLC1SEL3bits
#define D4S1                    CLC1SEL3bits.D4S1               // bit 1, shadows bit in CLC1SEL3bits
#define LC1D4S2                 CLC1SEL3bits.LC1D4S2            // bit 2, shadows bit in CLC1SEL3bits
#define D4S2                    CLC1SEL3bits.D4S2               // bit 2, shadows bit in CLC1SEL3bits
#define LC1D4S3                 CLC1SEL3bits.LC1D4S3            // bit 3, shadows bit in CLC1SEL3bits
#define D4S3                    CLC1SEL3bits.D4S3               // bit 3, shadows bit in CLC1SEL3bits
#define LC1D4S4                 CLC1SEL3bits.LC1D4S4            // bit 4, shadows bit in CLC1SEL3bits
#define D4S4                    CLC1SEL3bits.D4S4               // bit 4, shadows bit in CLC1SEL3bits
#define LC1D4S5                 CLC1SEL3bits.LC1D4S5            // bit 5, shadows bit in CLC1SEL3bits
#define D4S5                    CLC1SEL3bits.D4S5               // bit 5, shadows bit in CLC1SEL3bits

#define MCLC1OUT                CLCDATAbits.MCLC1OUT            // bit 0
#define MCLC2OUT                CLCDATAbits.MCLC2OUT            // bit 1
#define MCLC3OUT                CLCDATAbits.MCLC3OUT            // bit 2
#define MLC4OUT                 CLCDATAbits.MLC4OUT             // bit 3

#define C1NCH0                  CM1NSELbits.C1NCH0              // bit 0
#define C1NCH1                  CM1NSELbits.C1NCH1              // bit 1
#define C1NCH2                  CM1NSELbits.C1NCH2              // bit 2
#define C1NCH3                  CM1NSELbits.C1NCH3              // bit 3

#define PCH0                    CM1PSELbits.PCH0                // bit 0, shadows bit in CM1PSELbits
#define C1PCH0                  CM1PSELbits.C1PCH0              // bit 0, shadows bit in CM1PSELbits
#define PCH1                    CM1PSELbits.PCH1                // bit 1, shadows bit in CM1PSELbits
#define C1PCH1                  CM1PSELbits.C1PCH1              // bit 1, shadows bit in CM1PSELbits
#define PCH2                    CM1PSELbits.PCH2                // bit 2, shadows bit in CM1PSELbits
#define C1PCH2                  CM1PSELbits.C1PCH2              // bit 2, shadows bit in CM1PSELbits
#define PCH3                    CM1PSELbits.PCH3                // bit 3, shadows bit in CM1PSELbits
#define C1PCH3                  CM1PSELbits.C1PCH3              // bit 3, shadows bit in CM1PSELbits

#define C2NCH0                  CM2NSELbits.C2NCH0              // bit 0
#define C2NCH1                  CM2NSELbits.C2NCH1              // bit 1
#define C2NCH2                  CM2NSELbits.C2NCH2              // bit 2
#define C2NCH3                  CM2NSELbits.C2NCH3              // bit 3

#define C3NCH0                  CM3NSELbits.C3NCH0              // bit 0
#define C3NCH1                  CM3NSELbits.C3NCH1              // bit 1
#define C3NCH2                  CM3NSELbits.C3NCH2              // bit 2
#define C3NCH3                  CM3NSELbits.C3NCH3              // bit 3

#define C4NCH0                  CM4NSELbits.C4NCH0              // bit 0
#define C4NCH1                  CM4NSELbits.C4NCH1              // bit 1
#define C4NCH2                  CM4NSELbits.C4NCH2              // bit 2
#define C4NCH3                  CM4NSELbits.C4NCH3              // bit 3

#define C5NCH0                  CM5NSELbits.C5NCH0              // bit 0
#define C5NCH1                  CM5NSELbits.C5NCH1              // bit 1
#define C5NCH2                  CM5NSELbits.C5NCH2              // bit 2
#define C5NCH3                  CM5NSELbits.C5NCH3              // bit 3

#define C6NCH0                  CM6NSELbits.C6NCH0              // bit 0
#define C6NCH1                  CM6NSELbits.C6NCH1              // bit 1
#define C6NCH2                  CM6NSELbits.C6NCH2              // bit 2
#define C6NCH3                  CM6NSELbits.C6NCH3              // bit 3

#define C7NCH0                  CM7NSELbits.C7NCH0              // bit 0
#define C7NCH1                  CM7NSELbits.C7NCH1              // bit 1
#define C7NCH2                  CM7NSELbits.C7NCH2              // bit 2
#define C7NCH3                  CM7NSELbits.C7NCH3              // bit 3

#define C8NCH0                  CM8NSELbits.C8NCH0              // bit 0
#define C8NCH1                  CM8NSELbits.C8NCH1              // bit 1
#define C8NCH2                  CM8NSELbits.C8NCH2              // bit 2
#define C8NCH3                  CM8NSELbits.C8NCH3              // bit 3

#define MC1OUT                  CMOUTbits.MC1OUT                // bit 0
#define MC2OUT                  CMOUTbits.MC2OUT                // bit 1
#define MC3OUT                  CMOUTbits.MC3OUT                // bit 2
#define MC4OUT                  CMOUTbits.MC4OUT                // bit 3
#define MC5OUT                  CMOUTbits.MC5OUT                // bit 4
#define MC6OUT                  CMOUTbits.MC6OUT                // bit 5
#define MC7OUT                  CMOUTbits.MC7OUT                // bit 6
#define MC80UT                  CMOUTbits.MC80UT                // bit 7

#define ASDAC0                  COG1ASD0bits.ASDAC0             // bit 2, shadows bit in COG1ASD0bits
#define G1ASDAC0                COG1ASD0bits.G1ASDAC0           // bit 2, shadows bit in COG1ASD0bits
#define ASDAC1                  COG1ASD0bits.ASDAC1             // bit 3, shadows bit in COG1ASD0bits
#define G1ASDAC1                COG1ASD0bits.G1ASDAC1           // bit 3, shadows bit in COG1ASD0bits
#define ASDBD0                  COG1ASD0bits.ASDBD0             // bit 4, shadows bit in COG1ASD0bits
#define G1ASDBD0                COG1ASD0bits.G1ASDBD0           // bit 4, shadows bit in COG1ASD0bits
#define ASDBD1                  COG1ASD0bits.ASDBD1             // bit 5, shadows bit in COG1ASD0bits
#define G1ASDBD1                COG1ASD0bits.G1ASDBD1           // bit 5, shadows bit in COG1ASD0bits
#define ASREN                   COG1ASD0bits.ASREN              // bit 6, shadows bit in COG1ASD0bits
#define ARSEN                   COG1ASD0bits.ARSEN              // bit 6, shadows bit in COG1ASD0bits
#define G1ARSEN                 COG1ASD0bits.G1ARSEN            // bit 6, shadows bit in COG1ASD0bits
#define G1ASREN                 COG1ASD0bits.G1ASREN            // bit 6, shadows bit in COG1ASD0bits
#define ASE                     COG1ASD0bits.ASE                // bit 7, shadows bit in COG1ASD0bits
#define G1ASE                   COG1ASD0bits.G1ASE              // bit 7, shadows bit in COG1ASD0bits

#define AS0E                    COG1ASD1bits.AS0E               // bit 0, shadows bit in COG1ASD1bits
#define G1AS0E                  COG1ASD1bits.G1AS0E             // bit 0, shadows bit in COG1ASD1bits
#define AS1E                    COG1ASD1bits.AS1E               // bit 1, shadows bit in COG1ASD1bits
#define G1AS1E                  COG1ASD1bits.G1AS1E             // bit 1, shadows bit in COG1ASD1bits
#define AS2E                    COG1ASD1bits.AS2E               // bit 2, shadows bit in COG1ASD1bits
#define G1AS2E                  COG1ASD1bits.G1AS2E             // bit 2, shadows bit in COG1ASD1bits
#define AS3E                    COG1ASD1bits.AS3E               // bit 3, shadows bit in COG1ASD1bits
#define G1AS3E                  COG1ASD1bits.G1AS3E             // bit 3, shadows bit in COG1ASD1bits
#define AS4E                    COG1ASD1bits.AS4E               // bit 4, shadows bit in COG1ASD1bits
#define G1AS4E                  COG1ASD1bits.G1AS4E             // bit 4, shadows bit in COG1ASD1bits
#define AS5E                    COG1ASD1bits.AS5E               // bit 5, shadows bit in COG1ASD1bits
#define G1AS5E                  COG1ASD1bits.G1AS5E             // bit 5, shadows bit in COG1ASD1bits
#define AS6E                    COG1ASD1bits.AS6E               // bit 6, shadows bit in COG1ASD1bits
#define G1AS6E                  COG1ASD1bits.G1AS6E             // bit 6, shadows bit in COG1ASD1bits
#define AS7E                    COG1ASD1bits.AS7E               // bit 7, shadows bit in COG1ASD1bits
#define G1AS7E                  COG1ASD1bits.G1AS7E             // bit 7, shadows bit in COG1ASD1bits

#define BLKF0                   COG1BLKFbits.BLKF0              // bit 0, shadows bit in COG1BLKFbits
#define G1BLKF0                 COG1BLKFbits.G1BLKF0            // bit 0, shadows bit in COG1BLKFbits
#define BLKF1                   COG1BLKFbits.BLKF1              // bit 1, shadows bit in COG1BLKFbits
#define G1BLKF1                 COG1BLKFbits.G1BLKF1            // bit 1, shadows bit in COG1BLKFbits
#define BLKF2                   COG1BLKFbits.BLKF2              // bit 2, shadows bit in COG1BLKFbits
#define G1BLKF2                 COG1BLKFbits.G1BLKF2            // bit 2, shadows bit in COG1BLKFbits
#define BLKF3                   COG1BLKFbits.BLKF3              // bit 3, shadows bit in COG1BLKFbits
#define G1BLKF3                 COG1BLKFbits.G1BLKF3            // bit 3, shadows bit in COG1BLKFbits
#define BLKF4                   COG1BLKFbits.BLKF4              // bit 4, shadows bit in COG1BLKFbits
#define G1BLKF4                 COG1BLKFbits.G1BLKF4            // bit 4, shadows bit in COG1BLKFbits
#define BLKF5                   COG1BLKFbits.BLKF5              // bit 5, shadows bit in COG1BLKFbits
#define G1BLKF5                 COG1BLKFbits.G1BLKF5            // bit 5, shadows bit in COG1BLKFbits

#define BLKR0                   COG1BLKRbits.BLKR0              // bit 0, shadows bit in COG1BLKRbits
#define G1BLKR0                 COG1BLKRbits.G1BLKR0            // bit 0, shadows bit in COG1BLKRbits
#define BLKR1                   COG1BLKRbits.BLKR1              // bit 1, shadows bit in COG1BLKRbits
#define G1BLKR1                 COG1BLKRbits.G1BLKR1            // bit 1, shadows bit in COG1BLKRbits
#define BLKR2                   COG1BLKRbits.BLKR2              // bit 2, shadows bit in COG1BLKRbits
#define G1BLKR2                 COG1BLKRbits.G1BLKR2            // bit 2, shadows bit in COG1BLKRbits
#define BLKR3                   COG1BLKRbits.BLKR3              // bit 3, shadows bit in COG1BLKRbits
#define G1BLKR3                 COG1BLKRbits.G1BLKR3            // bit 3, shadows bit in COG1BLKRbits
#define BLKR4                   COG1BLKRbits.BLKR4              // bit 4, shadows bit in COG1BLKRbits
#define G1BLKR4                 COG1BLKRbits.G1BLKR4            // bit 4, shadows bit in COG1BLKRbits
#define BLKR5                   COG1BLKRbits.BLKR5              // bit 5, shadows bit in COG1BLKRbits
#define G1BLKR5                 COG1BLKRbits.G1BLKR5            // bit 5, shadows bit in COG1BLKRbits

#define POLA                    COG1CON1bits.POLA               // bit 0, shadows bit in COG1CON1bits
#define G1POLA                  COG1CON1bits.G1POLA             // bit 0, shadows bit in COG1CON1bits
#define POLB                    COG1CON1bits.POLB               // bit 1, shadows bit in COG1CON1bits
#define G1POLB                  COG1CON1bits.G1POLB             // bit 1, shadows bit in COG1CON1bits
#define POLC                    COG1CON1bits.POLC               // bit 2, shadows bit in COG1CON1bits
#define G1POLC                  COG1CON1bits.G1POLC             // bit 2, shadows bit in COG1CON1bits
#define POLD                    COG1CON1bits.POLD               // bit 3, shadows bit in COG1CON1bits
#define G1POLD                  COG1CON1bits.G1POLD             // bit 3, shadows bit in COG1CON1bits
#define FDBS                    COG1CON1bits.FDBS               // bit 6, shadows bit in COG1CON1bits
#define G1FDBS                  COG1CON1bits.G1FDBS             // bit 6, shadows bit in COG1CON1bits
#define RDBS                    COG1CON1bits.RDBS               // bit 7, shadows bit in COG1CON1bits
#define G1RDBS                  COG1CON1bits.G1RDBS             // bit 7, shadows bit in COG1CON1bits

#define DBF0                    COG1DBFbits.DBF0                // bit 0, shadows bit in COG1DBFbits
#define G1DBF0                  COG1DBFbits.G1DBF0              // bit 0, shadows bit in COG1DBFbits
#define DBF1                    COG1DBFbits.DBF1                // bit 1, shadows bit in COG1DBFbits
#define G1DBF1                  COG1DBFbits.G1DBF1              // bit 1, shadows bit in COG1DBFbits
#define DBF2                    COG1DBFbits.DBF2                // bit 2, shadows bit in COG1DBFbits
#define G1DBF2                  COG1DBFbits.G1DBF2              // bit 2, shadows bit in COG1DBFbits
#define DBF3                    COG1DBFbits.DBF3                // bit 3, shadows bit in COG1DBFbits
#define G1DBF3                  COG1DBFbits.G1DBF3              // bit 3, shadows bit in COG1DBFbits
#define DBF4                    COG1DBFbits.DBF4                // bit 4, shadows bit in COG1DBFbits
#define G1DBF4                  COG1DBFbits.G1DBF4              // bit 4, shadows bit in COG1DBFbits
#define DBF5                    COG1DBFbits.DBF5                // bit 5, shadows bit in COG1DBFbits
#define G1DBF5                  COG1DBFbits.G1DBF5              // bit 5, shadows bit in COG1DBFbits

#define DBR0                    COG1DBRbits.DBR0                // bit 0, shadows bit in COG1DBRbits
#define G1DBR0                  COG1DBRbits.G1DBR0              // bit 0, shadows bit in COG1DBRbits
#define DBR1                    COG1DBRbits.DBR1                // bit 1, shadows bit in COG1DBRbits
#define G1DBR1                  COG1DBRbits.G1DBR1              // bit 1, shadows bit in COG1DBRbits
#define DBR2                    COG1DBRbits.DBR2                // bit 2, shadows bit in COG1DBRbits
#define G1DBR2                  COG1DBRbits.G1DBR2              // bit 2, shadows bit in COG1DBRbits
#define DBR3                    COG1DBRbits.DBR3                // bit 3, shadows bit in COG1DBRbits
#define G1DBR3                  COG1DBRbits.G1DBR3              // bit 3, shadows bit in COG1DBRbits
#define DBR4                    COG1DBRbits.DBR4                // bit 4, shadows bit in COG1DBRbits
#define G1DBR4                  COG1DBRbits.G1DBR4              // bit 4, shadows bit in COG1DBRbits
#define DBR5                    COG1DBRbits.DBR5                // bit 5, shadows bit in COG1DBRbits
#define G1DBR5                  COG1DBRbits.G1DBR5              // bit 5, shadows bit in COG1DBRbits

#define FIS0                    COG1FIS0bits.FIS0               // bit 0, shadows bit in COG1FIS0bits
#define G1FIS0                  COG1FIS0bits.G1FIS0             // bit 0, shadows bit in COG1FIS0bits
#define FIS1                    COG1FIS0bits.FIS1               // bit 1, shadows bit in COG1FIS0bits
#define G1FIS1                  COG1FIS0bits.G1FIS1             // bit 1, shadows bit in COG1FIS0bits
#define FIS2                    COG1FIS0bits.FIS2               // bit 2, shadows bit in COG1FIS0bits
#define G1FIS2                  COG1FIS0bits.G1FIS2             // bit 2, shadows bit in COG1FIS0bits
#define FIS3                    COG1FIS0bits.FIS3               // bit 3, shadows bit in COG1FIS0bits
#define G1FIS3                  COG1FIS0bits.G1FIS3             // bit 3, shadows bit in COG1FIS0bits
#define FIS4                    COG1FIS0bits.FIS4               // bit 4, shadows bit in COG1FIS0bits
#define G1FIS4                  COG1FIS0bits.G1FIS4             // bit 4, shadows bit in COG1FIS0bits
#define FIS5                    COG1FIS0bits.FIS5               // bit 5, shadows bit in COG1FIS0bits
#define G1FIS5                  COG1FIS0bits.G1FIS5             // bit 5, shadows bit in COG1FIS0bits
#define FIS6                    COG1FIS0bits.FIS6               // bit 6, shadows bit in COG1FIS0bits
#define G1FIS6                  COG1FIS0bits.G1FIS6             // bit 6, shadows bit in COG1FIS0bits
#define FIS7                    COG1FIS0bits.FIS7               // bit 7, shadows bit in COG1FIS0bits
#define G1FIS7                  COG1FIS0bits.G1FIS7             // bit 7, shadows bit in COG1FIS0bits

#define FIS8                    COG1FIS1bits.FIS8               // bit 0, shadows bit in COG1FIS1bits
#define G1FIS8                  COG1FIS1bits.G1FIS8             // bit 0, shadows bit in COG1FIS1bits
#define FIS9                    COG1FIS1bits.FIS9               // bit 1, shadows bit in COG1FIS1bits
#define G1FIS9                  COG1FIS1bits.G1FIS9             // bit 1, shadows bit in COG1FIS1bits
#define FIS10                   COG1FIS1bits.FIS10              // bit 2, shadows bit in COG1FIS1bits
#define G1FIS10                 COG1FIS1bits.G1FIS10            // bit 2, shadows bit in COG1FIS1bits
#define FIS11                   COG1FIS1bits.FIS11              // bit 3, shadows bit in COG1FIS1bits
#define G1FIS11                 COG1FIS1bits.G1FIS11            // bit 3, shadows bit in COG1FIS1bits
#define FIS12                   COG1FIS1bits.FIS12              // bit 4, shadows bit in COG1FIS1bits
#define G1FIS12                 COG1FIS1bits.G1FIS12            // bit 4, shadows bit in COG1FIS1bits
#define FIS13                   COG1FIS1bits.FIS13              // bit 5, shadows bit in COG1FIS1bits
#define G1FIS13                 COG1FIS1bits.G1FIS13            // bit 5, shadows bit in COG1FIS1bits
#define FIS14                   COG1FIS1bits.FIS14              // bit 6, shadows bit in COG1FIS1bits
#define G1FIS14                 COG1FIS1bits.G1FIS14            // bit 6, shadows bit in COG1FIS1bits
#define FIS15                   COG1FIS1bits.FIS15              // bit 7, shadows bit in COG1FIS1bits
#define G1FIS15                 COG1FIS1bits.G1FIS15            // bit 7, shadows bit in COG1FIS1bits

#define FSIM0                   COG1FSIM0bits.FSIM0             // bit 0, shadows bit in COG1FSIM0bits
#define G1FSIM0                 COG1FSIM0bits.G1FSIM0           // bit 0, shadows bit in COG1FSIM0bits
#define FSIM1                   COG1FSIM0bits.FSIM1             // bit 1, shadows bit in COG1FSIM0bits
#define G1FSIM1                 COG1FSIM0bits.G1FSIM1           // bit 1, shadows bit in COG1FSIM0bits
#define FSIM2                   COG1FSIM0bits.FSIM2             // bit 2, shadows bit in COG1FSIM0bits
#define G1FSIM2                 COG1FSIM0bits.G1FSIM2           // bit 2, shadows bit in COG1FSIM0bits
#define FSIM3                   COG1FSIM0bits.FSIM3             // bit 3, shadows bit in COG1FSIM0bits
#define G1FSIM3                 COG1FSIM0bits.G1FSIM3           // bit 3, shadows bit in COG1FSIM0bits
#define FSIM4                   COG1FSIM0bits.FSIM4             // bit 4, shadows bit in COG1FSIM0bits
#define G1FSIM4                 COG1FSIM0bits.G1FSIM4           // bit 4, shadows bit in COG1FSIM0bits
#define FSIM5                   COG1FSIM0bits.FSIM5             // bit 5, shadows bit in COG1FSIM0bits
#define G1FSIM5                 COG1FSIM0bits.G1FSIM5           // bit 5, shadows bit in COG1FSIM0bits
#define FSIM6                   COG1FSIM0bits.FSIM6             // bit 6, shadows bit in COG1FSIM0bits
#define G1FSIM6                 COG1FSIM0bits.G1FSIM6           // bit 6, shadows bit in COG1FSIM0bits
#define FSIM7                   COG1FSIM0bits.FSIM7             // bit 7, shadows bit in COG1FSIM0bits
#define G1FSIM7                 COG1FSIM0bits.G1FSIM7           // bit 7, shadows bit in COG1FSIM0bits

#define FSIM8                   COG1FSIM1bits.FSIM8             // bit 0, shadows bit in COG1FSIM1bits
#define G1FSIM8                 COG1FSIM1bits.G1FSIM8           // bit 0, shadows bit in COG1FSIM1bits
#define FSIM9                   COG1FSIM1bits.FSIM9             // bit 1, shadows bit in COG1FSIM1bits
#define G1FSIM9                 COG1FSIM1bits.G1FSIM9           // bit 1, shadows bit in COG1FSIM1bits
#define FSIM10                  COG1FSIM1bits.FSIM10            // bit 2, shadows bit in COG1FSIM1bits
#define G1FSIM10                COG1FSIM1bits.G1FSIM10          // bit 2, shadows bit in COG1FSIM1bits
#define FSIM11                  COG1FSIM1bits.FSIM11            // bit 3, shadows bit in COG1FSIM1bits
#define G1FSIM11                COG1FSIM1bits.G1FSIM11          // bit 3, shadows bit in COG1FSIM1bits
#define FSIM12                  COG1FSIM1bits.FSIM12            // bit 4, shadows bit in COG1FSIM1bits
#define G1FSIM12                COG1FSIM1bits.G1FSIM12          // bit 4, shadows bit in COG1FSIM1bits
#define FSIM13                  COG1FSIM1bits.FSIM13            // bit 5, shadows bit in COG1FSIM1bits
#define G1FSIM13                COG1FSIM1bits.G1FSIM13          // bit 5, shadows bit in COG1FSIM1bits
#define FSIM14                  COG1FSIM1bits.FSIM14            // bit 6, shadows bit in COG1FSIM1bits
#define G1FSIM14                COG1FSIM1bits.G1FSIM14          // bit 6, shadows bit in COG1FSIM1bits
#define FSIM15                  COG1FSIM1bits.FSIM15            // bit 7, shadows bit in COG1FSIM1bits
#define G1FSIM15                COG1FSIM1bits.G1FSIM15          // bit 7, shadows bit in COG1FSIM1bits

#define PHF0                    COG1PHFbits.PHF0                // bit 0, shadows bit in COG1PHFbits
#define G1PHF0                  COG1PHFbits.G1PHF0              // bit 0, shadows bit in COG1PHFbits
#define PHF1                    COG1PHFbits.PHF1                // bit 1, shadows bit in COG1PHFbits
#define G1PHF1                  COG1PHFbits.G1PHF1              // bit 1, shadows bit in COG1PHFbits
#define PHF2                    COG1PHFbits.PHF2                // bit 2, shadows bit in COG1PHFbits
#define G1PHF2                  COG1PHFbits.G1PHF2              // bit 2, shadows bit in COG1PHFbits
#define PHF3                    COG1PHFbits.PHF3                // bit 3, shadows bit in COG1PHFbits
#define G1PHF3                  COG1PHFbits.G1PHF3              // bit 3, shadows bit in COG1PHFbits
#define PHF4                    COG1PHFbits.PHF4                // bit 4, shadows bit in COG1PHFbits
#define G1PHF4                  COG1PHFbits.G1PHF4              // bit 4, shadows bit in COG1PHFbits
#define PHF5                    COG1PHFbits.PHF5                // bit 5, shadows bit in COG1PHFbits
#define G1PHF5                  COG1PHFbits.G1PHF5              // bit 5, shadows bit in COG1PHFbits

#define PHR0                    COG1PHRbits.PHR0                // bit 0, shadows bit in COG1PHRbits
#define G1PHR0                  COG1PHRbits.G1PHR0              // bit 0, shadows bit in COG1PHRbits
#define PHR1                    COG1PHRbits.PHR1                // bit 1, shadows bit in COG1PHRbits
#define G1PHR1                  COG1PHRbits.G1PHR1              // bit 1, shadows bit in COG1PHRbits
#define PHR2                    COG1PHRbits.PHR2                // bit 2, shadows bit in COG1PHRbits
#define G1PHR2                  COG1PHRbits.G1PHR2              // bit 2, shadows bit in COG1PHRbits
#define PHR3                    COG1PHRbits.PHR3                // bit 3, shadows bit in COG1PHRbits
#define G1PHR3                  COG1PHRbits.G1PHR3              // bit 3, shadows bit in COG1PHRbits
#define PHR4                    COG1PHRbits.PHR4                // bit 4, shadows bit in COG1PHRbits
#define G1PHR4                  COG1PHRbits.G1PHR4              // bit 4, shadows bit in COG1PHRbits
#define PHR5                    COG1PHRbits.PHR5                // bit 5, shadows bit in COG1PHRbits
#define G1PHR5                  COG1PHRbits.G1PHR5              // bit 5, shadows bit in COG1PHRbits

#define RIS0                    COG1RIS0bits.RIS0               // bit 0, shadows bit in COG1RIS0bits
#define G1RIS0                  COG1RIS0bits.G1RIS0             // bit 0, shadows bit in COG1RIS0bits
#define RIS1                    COG1RIS0bits.RIS1               // bit 1, shadows bit in COG1RIS0bits
#define G1RIS1                  COG1RIS0bits.G1RIS1             // bit 1, shadows bit in COG1RIS0bits
#define RIS2                    COG1RIS0bits.RIS2               // bit 2, shadows bit in COG1RIS0bits
#define G1RIS2                  COG1RIS0bits.G1RIS2             // bit 2, shadows bit in COG1RIS0bits
#define RIS3                    COG1RIS0bits.RIS3               // bit 3, shadows bit in COG1RIS0bits
#define G1RIS3                  COG1RIS0bits.G1RIS3             // bit 3, shadows bit in COG1RIS0bits
#define RIS4                    COG1RIS0bits.RIS4               // bit 4, shadows bit in COG1RIS0bits
#define G1RIS4                  COG1RIS0bits.G1RIS4             // bit 4, shadows bit in COG1RIS0bits
#define RIS5                    COG1RIS0bits.RIS5               // bit 5, shadows bit in COG1RIS0bits
#define G1RIS5                  COG1RIS0bits.G1RIS5             // bit 5, shadows bit in COG1RIS0bits
#define RIS6                    COG1RIS0bits.RIS6               // bit 6, shadows bit in COG1RIS0bits
#define G1RIS6                  COG1RIS0bits.G1RIS6             // bit 6, shadows bit in COG1RIS0bits
#define RIS7                    COG1RIS0bits.RIS7               // bit 7, shadows bit in COG1RIS0bits
#define G1RIS7                  COG1RIS0bits.G1RIS7             // bit 7, shadows bit in COG1RIS0bits

#define RIS8                    COG1RIS1bits.RIS8               // bit 0, shadows bit in COG1RIS1bits
#define G1RIS8                  COG1RIS1bits.G1RIS8             // bit 0, shadows bit in COG1RIS1bits
#define RIS9                    COG1RIS1bits.RIS9               // bit 1, shadows bit in COG1RIS1bits
#define G1RIS9                  COG1RIS1bits.G1RIS9             // bit 1, shadows bit in COG1RIS1bits
#define RIS10                   COG1RIS1bits.RIS10              // bit 2, shadows bit in COG1RIS1bits
#define G1RIS10                 COG1RIS1bits.G1RIS10            // bit 2, shadows bit in COG1RIS1bits
#define RIS11                   COG1RIS1bits.RIS11              // bit 3, shadows bit in COG1RIS1bits
#define G1RIS11                 COG1RIS1bits.G1RIS11            // bit 3, shadows bit in COG1RIS1bits
#define RIS12                   COG1RIS1bits.RIS12              // bit 4, shadows bit in COG1RIS1bits
#define G1RIS12                 COG1RIS1bits.G1RIS12            // bit 4, shadows bit in COG1RIS1bits
#define RIS13                   COG1RIS1bits.RIS13              // bit 5, shadows bit in COG1RIS1bits
#define G1RIS13                 COG1RIS1bits.G1RIS13            // bit 5, shadows bit in COG1RIS1bits
#define RIS14                   COG1RIS1bits.RIS14              // bit 6, shadows bit in COG1RIS1bits
#define G1RIS14                 COG1RIS1bits.G1RIS14            // bit 6, shadows bit in COG1RIS1bits
#define RIS15                   COG1RIS1bits.RIS15              // bit 7, shadows bit in COG1RIS1bits
#define G1RIS15                 COG1RIS1bits.G1RIS15            // bit 7, shadows bit in COG1RIS1bits

#define RSIM0                   COG1RSIM0bits.RSIM0             // bit 0, shadows bit in COG1RSIM0bits
#define G1RSIM0                 COG1RSIM0bits.G1RSIM0           // bit 0, shadows bit in COG1RSIM0bits
#define RSIM1                   COG1RSIM0bits.RSIM1             // bit 1, shadows bit in COG1RSIM0bits
#define G1RSIM1                 COG1RSIM0bits.G1RSIM1           // bit 1, shadows bit in COG1RSIM0bits
#define RSIM2                   COG1RSIM0bits.RSIM2             // bit 2, shadows bit in COG1RSIM0bits
#define G1RSIM2                 COG1RSIM0bits.G1RSIM2           // bit 2, shadows bit in COG1RSIM0bits
#define RSIM3                   COG1RSIM0bits.RSIM3             // bit 3, shadows bit in COG1RSIM0bits
#define G1RSIM3                 COG1RSIM0bits.G1RSIM3           // bit 3, shadows bit in COG1RSIM0bits
#define RSIM4                   COG1RSIM0bits.RSIM4             // bit 4, shadows bit in COG1RSIM0bits
#define G1RSIM4                 COG1RSIM0bits.G1RSIM4           // bit 4, shadows bit in COG1RSIM0bits
#define RSIM5                   COG1RSIM0bits.RSIM5             // bit 5, shadows bit in COG1RSIM0bits
#define G1RSIM5                 COG1RSIM0bits.G1RSIM5           // bit 5, shadows bit in COG1RSIM0bits
#define RSIM6                   COG1RSIM0bits.RSIM6             // bit 6, shadows bit in COG1RSIM0bits
#define G1RSIM6                 COG1RSIM0bits.G1RSIM6           // bit 6, shadows bit in COG1RSIM0bits
#define RSIM7                   COG1RSIM0bits.RSIM7             // bit 7, shadows bit in COG1RSIM0bits
#define G1RSIM7                 COG1RSIM0bits.G1RSIM7           // bit 7, shadows bit in COG1RSIM0bits

#define RSIM8                   COG1RSIM1bits.RSIM8             // bit 0, shadows bit in COG1RSIM1bits
#define G1RSIM8                 COG1RSIM1bits.G1RSIM8           // bit 0, shadows bit in COG1RSIM1bits
#define RSIM9                   COG1RSIM1bits.RSIM9             // bit 1, shadows bit in COG1RSIM1bits
#define G1RSIM9                 COG1RSIM1bits.G1RSIM9           // bit 1, shadows bit in COG1RSIM1bits
#define RSIM10                  COG1RSIM1bits.RSIM10            // bit 2, shadows bit in COG1RSIM1bits
#define G1RSIM10                COG1RSIM1bits.G1RSIM10          // bit 2, shadows bit in COG1RSIM1bits
#define RSIM11                  COG1RSIM1bits.RSIM11            // bit 3, shadows bit in COG1RSIM1bits
#define G1RSIM11                COG1RSIM1bits.G1RSIM11          // bit 3, shadows bit in COG1RSIM1bits
#define RSIM12                  COG1RSIM1bits.RSIM12            // bit 4, shadows bit in COG1RSIM1bits
#define G1RSIM12                COG1RSIM1bits.G1RSIM12          // bit 4, shadows bit in COG1RSIM1bits
#define RSIM13                  COG1RSIM1bits.RSIM13            // bit 5, shadows bit in COG1RSIM1bits
#define G1RSIM13                COG1RSIM1bits.G1RSIM13          // bit 5, shadows bit in COG1RSIM1bits
#define RSIM14                  COG1RSIM1bits.RSIM14            // bit 6, shadows bit in COG1RSIM1bits
#define G1RSIM14                COG1RSIM1bits.G1RSIM14          // bit 6, shadows bit in COG1RSIM1bits
#define RSIM15                  COG1RSIM1bits.RSIM15            // bit 7, shadows bit in COG1RSIM1bits
#define G1RSIM15                COG1RSIM1bits.G1RSIM15          // bit 7, shadows bit in COG1RSIM1bits

#define STRA                    COG1STRbits.STRA                // bit 0, shadows bit in COG1STRbits
#define G1STRA                  COG1STRbits.G1STRA              // bit 0, shadows bit in COG1STRbits
#define STRB                    COG1STRbits.STRB                // bit 1, shadows bit in COG1STRbits
#define G1STRB                  COG1STRbits.G1STRB              // bit 1, shadows bit in COG1STRbits
#define STRC                    COG1STRbits.STRC                // bit 2, shadows bit in COG1STRbits
#define G1STRC                  COG1STRbits.G1STRC              // bit 2, shadows bit in COG1STRbits
#define STRD                    COG1STRbits.STRD                // bit 3, shadows bit in COG1STRbits
#define G1STRD                  COG1STRbits.G1STRD              // bit 3, shadows bit in COG1STRbits
#define SDATA                   COG1STRbits.SDATA               // bit 4, shadows bit in COG1STRbits
#define G1SDATA                 COG1STRbits.G1SDATA             // bit 4, shadows bit in COG1STRbits
#define SDATB                   COG1STRbits.SDATB               // bit 5, shadows bit in COG1STRbits
#define G1SDATB                 COG1STRbits.G1SDATB             // bit 5, shadows bit in COG1STRbits
#define SDATC                   COG1STRbits.SDATC               // bit 6, shadows bit in COG1STRbits
#define G1SDATC                 COG1STRbits.G1SDATC             // bit 6, shadows bit in COG1STRbits
#define SDATD                   COG1STRbits.SDATD               // bit 7, shadows bit in COG1STRbits
#define G1SDATD                 COG1STRbits.G1SDATD             // bit 7, shadows bit in COG1STRbits

#define REF0                    DAC1CON1bits.REF0               // bit 0, shadows bit in DAC1CON1bits
#define DAC1REF0                DAC1CON1bits.DAC1REF0           // bit 0, shadows bit in DAC1CON1bits
#define R0                      DAC1CON1bits.R0                 // bit 0, shadows bit in DAC1CON1bits
#define DAC1R0                  DAC1CON1bits.DAC1R0             // bit 0, shadows bit in DAC1CON1bits
#define REF1                    DAC1CON1bits.REF1               // bit 1, shadows bit in DAC1CON1bits
#define DAC1REF1                DAC1CON1bits.DAC1REF1           // bit 1, shadows bit in DAC1CON1bits
#define R1                      DAC1CON1bits.R1                 // bit 1, shadows bit in DAC1CON1bits
#define DAC1R1                  DAC1CON1bits.DAC1R1             // bit 1, shadows bit in DAC1CON1bits
#define REF2                    DAC1CON1bits.REF2               // bit 2, shadows bit in DAC1CON1bits
#define DAC1REF2                DAC1CON1bits.DAC1REF2           // bit 2, shadows bit in DAC1CON1bits
#define R2                      DAC1CON1bits.R2                 // bit 2, shadows bit in DAC1CON1bits
#define DAC1R2                  DAC1CON1bits.DAC1R2             // bit 2, shadows bit in DAC1CON1bits
#define REF3                    DAC1CON1bits.REF3               // bit 3, shadows bit in DAC1CON1bits
#define DAC1REF3                DAC1CON1bits.DAC1REF3           // bit 3, shadows bit in DAC1CON1bits
#define R3                      DAC1CON1bits.R3                 // bit 3, shadows bit in DAC1CON1bits
#define DAC1R3                  DAC1CON1bits.DAC1R3             // bit 3, shadows bit in DAC1CON1bits
#define REF4                    DAC1CON1bits.REF4               // bit 4, shadows bit in DAC1CON1bits
#define DAC1REF4                DAC1CON1bits.DAC1REF4           // bit 4, shadows bit in DAC1CON1bits
#define R4                      DAC1CON1bits.R4                 // bit 4, shadows bit in DAC1CON1bits
#define DAC1R4                  DAC1CON1bits.DAC1R4             // bit 4, shadows bit in DAC1CON1bits
#define REF5                    DAC1CON1bits.REF5               // bit 5, shadows bit in DAC1CON1bits
#define DAC1REF5                DAC1CON1bits.DAC1REF5           // bit 5, shadows bit in DAC1CON1bits
#define R5                      DAC1CON1bits.R5                 // bit 5, shadows bit in DAC1CON1bits
#define DAC1R5                  DAC1CON1bits.DAC1R5             // bit 5, shadows bit in DAC1CON1bits
#define REF6                    DAC1CON1bits.REF6               // bit 6, shadows bit in DAC1CON1bits
#define DAC1REF6                DAC1CON1bits.DAC1REF6           // bit 6, shadows bit in DAC1CON1bits
#define R6                      DAC1CON1bits.R6                 // bit 6, shadows bit in DAC1CON1bits
#define DAC1R6                  DAC1CON1bits.DAC1R6             // bit 6, shadows bit in DAC1CON1bits
#define REF7                    DAC1CON1bits.REF7               // bit 7, shadows bit in DAC1CON1bits
#define DAC1REF7                DAC1CON1bits.DAC1REF7           // bit 7, shadows bit in DAC1CON1bits
#define R7                      DAC1CON1bits.R7                 // bit 7, shadows bit in DAC1CON1bits
#define DAC1R7                  DAC1CON1bits.DAC1R7             // bit 7, shadows bit in DAC1CON1bits

#define REF8                    DAC1CON2bits.REF8               // bit 0, shadows bit in DAC1CON2bits
#define DAC1REF8                DAC1CON2bits.DAC1REF8           // bit 0, shadows bit in DAC1CON2bits
#define R8                      DAC1CON2bits.R8                 // bit 0, shadows bit in DAC1CON2bits
#define DAC1R8                  DAC1CON2bits.DAC1R8             // bit 0, shadows bit in DAC1CON2bits
#define REF9                    DAC1CON2bits.REF9               // bit 1, shadows bit in DAC1CON2bits
#define DAC1REF9                DAC1CON2bits.DAC1REF9           // bit 1, shadows bit in DAC1CON2bits
#define R9                      DAC1CON2bits.R9                 // bit 1, shadows bit in DAC1CON2bits
#define DAC1R9                  DAC1CON2bits.DAC1R9             // bit 1, shadows bit in DAC1CON2bits
#define REF10                   DAC1CON2bits.REF10              // bit 2, shadows bit in DAC1CON2bits
#define DAC1REF10               DAC1CON2bits.DAC1REF10          // bit 2, shadows bit in DAC1CON2bits
#define R10                     DAC1CON2bits.R10                // bit 2, shadows bit in DAC1CON2bits
#define DAC1R10                 DAC1CON2bits.DAC1R10            // bit 2, shadows bit in DAC1CON2bits
#define REF11                   DAC1CON2bits.REF11              // bit 3, shadows bit in DAC1CON2bits
#define DAC1REF11               DAC1CON2bits.DAC1REF11          // bit 3, shadows bit in DAC1CON2bits
#define R11                     DAC1CON2bits.R11                // bit 3, shadows bit in DAC1CON2bits
#define DAC1R11                 DAC1CON2bits.DAC1R11            // bit 3, shadows bit in DAC1CON2bits
#define REF12                   DAC1CON2bits.REF12              // bit 4, shadows bit in DAC1CON2bits
#define DAC1REF12               DAC1CON2bits.DAC1REF12          // bit 4, shadows bit in DAC1CON2bits
#define R12                     DAC1CON2bits.R12                // bit 4, shadows bit in DAC1CON2bits
#define DAC1R12                 DAC1CON2bits.DAC1R12            // bit 4, shadows bit in DAC1CON2bits
#define REF13                   DAC1CON2bits.REF13              // bit 5, shadows bit in DAC1CON2bits
#define DAC1REF13               DAC1CON2bits.DAC1REF13          // bit 5, shadows bit in DAC1CON2bits
#define R13                     DAC1CON2bits.R13                // bit 5, shadows bit in DAC1CON2bits
#define DAC1R13                 DAC1CON2bits.DAC1R13            // bit 5, shadows bit in DAC1CON2bits
#define REF14                   DAC1CON2bits.REF14              // bit 6, shadows bit in DAC1CON2bits
#define DAC1REF14               DAC1CON2bits.DAC1REF14          // bit 6, shadows bit in DAC1CON2bits
#define R14                     DAC1CON2bits.R14                // bit 6, shadows bit in DAC1CON2bits
#define DAC1R14                 DAC1CON2bits.DAC1R14            // bit 6, shadows bit in DAC1CON2bits
#define REF15                   DAC1CON2bits.REF15              // bit 7, shadows bit in DAC1CON2bits
#define DAC1REF15               DAC1CON2bits.DAC1REF15          // bit 7, shadows bit in DAC1CON2bits
#define R15                     DAC1CON2bits.R15                // bit 7, shadows bit in DAC1CON2bits
#define DAC1R15                 DAC1CON2bits.DAC1R15            // bit 7, shadows bit in DAC1CON2bits

#define DAC1LD                  DACLDbits.DAC1LD                // bit 0
#define DAC2LD                  DACLDbits.DAC2LD                // bit 1
#define DAC5LD                  DACLDbits.DAC5LD                // bit 4
#define DAC6LD                  DACLDbits.DAC6LD                // bit 5

#define TSRNG                   FVRCONbits.TSRNG                // bit 4
#define TSEN                    FVRCONbits.TSEN                 // bit 5
#define FVRRDY                  FVRCONbits.FVRRDY               // bit 6
#define FVREN                   FVRCONbits.FVREN                // bit 7

#define HIDB0                   HIDRVBbits.HIDB0                // bit 0
#define HIDB1                   HIDRVBbits.HIDB1                // bit 1

#define INLVE0                  INLVEbits.INLVE0                // bit 0
#define INLVE1                  INLVEbits.INLVE1                // bit 1
#define INLVE2                  INLVEbits.INLVE2                // bit 2
#define INLVE3                  INLVEbits.INLVE3                // bit 3

#define INLVLA0                 INLVLAbits.INLVLA0              // bit 0
#define INLVLA1                 INLVLAbits.INLVLA1              // bit 1
#define INLVLA2                 INLVLAbits.INLVLA2              // bit 2
#define INLVLA3                 INLVLAbits.INLVLA3              // bit 3
#define INLVLA4                 INLVLAbits.INLVLA4              // bit 4
#define INLVLA5                 INLVLAbits.INLVLA5              // bit 5
#define INLVA6                  INLVLAbits.INLVA6               // bit 6
#define INLVA7                  INLVLAbits.INLVA7               // bit 7

#define INLVB0                  INLVLBbits.INLVB0               // bit 0
#define INLVB1                  INLVLBbits.INLVB1               // bit 1
#define INLVB2                  INLVLBbits.INLVB2               // bit 2
#define INLVB3                  INLVLBbits.INLVB3               // bit 3
#define INLVLB4                 INLVLBbits.INLVLB4              // bit 4
#define INLVLB5                 INLVLBbits.INLVLB5              // bit 5
#define INLVLB6                 INLVLBbits.INLVLB6              // bit 6
#define INLVLB7                 INLVLBbits.INLVLB7              // bit 7

#define INLVLC0                 INLVLCbits.INLVLC0              // bit 0
#define INLVLC1                 INLVLCbits.INLVLC1              // bit 1
#define INLVLC2                 INLVLCbits.INLVLC2              // bit 2
#define INLVLC3                 INLVLCbits.INLVLC3              // bit 3
#define INLVLC4                 INLVLCbits.INLVLC4              // bit 4
#define INLVLC5                 INLVLCbits.INLVLC5              // bit 5
#define INLVLC6                 INLVLCbits.INLVLC6              // bit 6
#define INLVLC7                 INLVLCbits.INLVLC7              // bit 7

#define INLVLD0                 INLVLDbits.INLVLD0              // bit 0
#define INLVLD1                 INLVLDbits.INLVLD1              // bit 1
#define INLVLD2                 INLVLDbits.INLVLD2              // bit 2
#define INLVLD3                 INLVLDbits.INLVLD3              // bit 3
#define INLVLD4                 INLVLDbits.INLVLD4              // bit 4
#define INLVLD5                 INLVLDbits.INLVLD5              // bit 5
#define INLVLD6                 INLVLDbits.INLVLD6              // bit 6
#define INLVLD7                 INLVLDbits.INLVLD7              // bit 7

#define IOCIF                   INTCONbits.IOCIF                // bit 0
#define INTF                    INTCONbits.INTF                 // bit 1
#define TMR0IF                  INTCONbits.TMR0IF               // bit 2, shadows bit in INTCONbits
#define T0IF                    INTCONbits.T0IF                 // bit 2, shadows bit in INTCONbits
#define IOCIE                   INTCONbits.IOCIE                // bit 3
#define INTE                    INTCONbits.INTE                 // bit 4
#define TMR0IE                  INTCONbits.TMR0IE               // bit 5, shadows bit in INTCONbits
#define T0IE                    INTCONbits.T0IE                 // bit 5, shadows bit in INTCONbits
#define PEIE                    INTCONbits.PEIE                 // bit 6
#define GIE                     INTCONbits.GIE                  // bit 7

#define IOCAF0                  IOCAFbits.IOCAF0                // bit 0
#define IOCAF1                  IOCAFbits.IOCAF1                // bit 1
#define IOCAF2                  IOCAFbits.IOCAF2                // bit 2
#define IOCAF3                  IOCAFbits.IOCAF3                // bit 3
#define IOCAF4                  IOCAFbits.IOCAF4                // bit 4
#define IOCAF5                  IOCAFbits.IOCAF5                // bit 5
#define IOCAF6                  IOCAFbits.IOCAF6                // bit 6
#define IOCAF7                  IOCAFbits.IOCAF7                // bit 7

#define IOCAN0                  IOCANbits.IOCAN0                // bit 0
#define IOCAN1                  IOCANbits.IOCAN1                // bit 1
#define IOCAN2                  IOCANbits.IOCAN2                // bit 2
#define IOCAN3                  IOCANbits.IOCAN3                // bit 3
#define IOCAN4                  IOCANbits.IOCAN4                // bit 4
#define IOCAN5                  IOCANbits.IOCAN5                // bit 5
#define IOCAN6                  IOCANbits.IOCAN6                // bit 6
#define IOCAN7                  IOCANbits.IOCAN7                // bit 7

#define IOCAP0                  IOCAPbits.IOCAP0                // bit 0
#define IOCAP1                  IOCAPbits.IOCAP1                // bit 1
#define IOCAP2                  IOCAPbits.IOCAP2                // bit 2
#define IOCAP3                  IOCAPbits.IOCAP3                // bit 3
#define IOCAP4                  IOCAPbits.IOCAP4                // bit 4
#define IOCAP5                  IOCAPbits.IOCAP5                // bit 5
#define IOCAP6                  IOCAPbits.IOCAP6                // bit 6
#define IOCAP7                  IOCAPbits.IOCAP7                // bit 7

#define IOCBF0                  IOCBFbits.IOCBF0                // bit 0
#define IOCBF1                  IOCBFbits.IOCBF1                // bit 1
#define IOCBF2                  IOCBFbits.IOCBF2                // bit 2
#define IOCBF3                  IOCBFbits.IOCBF3                // bit 3
#define IOCBF4                  IOCBFbits.IOCBF4                // bit 4
#define IOCBF5                  IOCBFbits.IOCBF5                // bit 5
#define IOCBF6                  IOCBFbits.IOCBF6                // bit 6
#define IOCBF7                  IOCBFbits.IOCBF7                // bit 7

#define IOCBN0                  IOCBNbits.IOCBN0                // bit 0
#define IOCBN1                  IOCBNbits.IOCBN1                // bit 1
#define IOCBN2                  IOCBNbits.IOCBN2                // bit 2
#define IOCBN3                  IOCBNbits.IOCBN3                // bit 3
#define IOCBN4                  IOCBNbits.IOCBN4                // bit 4
#define IOCBN5                  IOCBNbits.IOCBN5                // bit 5
#define IOCBN6                  IOCBNbits.IOCBN6                // bit 6
#define IOCBN7                  IOCBNbits.IOCBN7                // bit 7

#define IOCBP0                  IOCBPbits.IOCBP0                // bit 0
#define IOCBP1                  IOCBPbits.IOCBP1                // bit 1
#define IOCBP2                  IOCBPbits.IOCBP2                // bit 2
#define IOCBP3                  IOCBPbits.IOCBP3                // bit 3
#define IOCBP4                  IOCBPbits.IOCBP4                // bit 4
#define IOCBP5                  IOCBPbits.IOCBP5                // bit 5
#define IOCBP6                  IOCBPbits.IOCBP6                // bit 6
#define IOCBP7                  IOCBPbits.IOCBP7                // bit 7

#define IOCCF0                  IOCCFbits.IOCCF0                // bit 0
#define IOCCF1                  IOCCFbits.IOCCF1                // bit 1
#define IOCCF2                  IOCCFbits.IOCCF2                // bit 2
#define IOCCF3                  IOCCFbits.IOCCF3                // bit 3
#define IOCCF4                  IOCCFbits.IOCCF4                // bit 4
#define IOCCF5                  IOCCFbits.IOCCF5                // bit 5
#define IOCCF6                  IOCCFbits.IOCCF6                // bit 6
#define IOCCF7                  IOCCFbits.IOCCF7                // bit 7

#define IOCCN0                  IOCCNbits.IOCCN0                // bit 0
#define IOCCN1                  IOCCNbits.IOCCN1                // bit 1
#define IOCCN2                  IOCCNbits.IOCCN2                // bit 2
#define IOCCN3                  IOCCNbits.IOCCN3                // bit 3
#define IOCCN4                  IOCCNbits.IOCCN4                // bit 4
#define IOCCN5                  IOCCNbits.IOCCN5                // bit 5
#define IOCCN6                  IOCCNbits.IOCCN6                // bit 6
#define IOCCN7                  IOCCNbits.IOCCN7                // bit 7

#define IOCCP0                  IOCCPbits.IOCCP0                // bit 0
#define IOCCP1                  IOCCPbits.IOCCP1                // bit 1
#define IOCCP2                  IOCCPbits.IOCCP2                // bit 2
#define IOCCP3                  IOCCPbits.IOCCP3                // bit 3
#define IOCCP4                  IOCCPbits.IOCCP4                // bit 4
#define IOCCP5                  IOCCPbits.IOCCP5                // bit 5
#define IOCCP6                  IOCCPbits.IOCCP6                // bit 6
#define IOCCP7                  IOCCPbits.IOCCP7                // bit 7

#define IOCEF3                  IOCEFbits.IOCEF3                // bit 3

#define IOCEN3                  IOCENbits.IOCEN3                // bit 3

#define IOCEP3                  IOCEPbits.IOCEP3                // bit 3

#define LATA0                   LATAbits.LATA0                  // bit 0
#define LATA1                   LATAbits.LATA1                  // bit 1
#define LATA2                   LATAbits.LATA2                  // bit 2
#define LATA3                   LATAbits.LATA3                  // bit 3
#define LATA4                   LATAbits.LATA4                  // bit 4
#define LATA5                   LATAbits.LATA5                  // bit 5
#define LATA6                   LATAbits.LATA6                  // bit 6
#define LATA7                   LATAbits.LATA7                  // bit 7

#define LATB0                   LATBbits.LATB0                  // bit 0
#define LATB1                   LATBbits.LATB1                  // bit 1
#define LATB2                   LATBbits.LATB2                  // bit 2
#define LATB3                   LATBbits.LATB3                  // bit 3
#define LATB4                   LATBbits.LATB4                  // bit 4
#define LATB5                   LATBbits.LATB5                  // bit 5
#define LATB6                   LATBbits.LATB6                  // bit 6
#define LATB7                   LATBbits.LATB7                  // bit 7

#define LATC0                   LATCbits.LATC0                  // bit 0
#define LATC1                   LATCbits.LATC1                  // bit 1
#define LATC2                   LATCbits.LATC2                  // bit 2
#define LATC3                   LATCbits.LATC3                  // bit 3
#define LATC4                   LATCbits.LATC4                  // bit 4
#define LATC5                   LATCbits.LATC5                  // bit 5
#define LATC6                   LATCbits.LATC6                  // bit 6
#define LATC7                   LATCbits.LATC7                  // bit 7

#define LATD0                   LATDbits.LATD0                  // bit 0
#define LATD1                   LATDbits.LATD1                  // bit 1
#define LATD2                   LATDbits.LATD2                  // bit 2
#define LATD3                   LATDbits.LATD3                  // bit 3
#define LATD4                   LATDbits.LATD4                  // bit 4
#define LATD5                   LATDbits.LATD5                  // bit 5
#define LATD6                   LATDbits.LATD6                  // bit 6
#define LATD7                   LATDbits.LATD7                  // bit 7

#define LATE0                   LATEbits.LATE0                  // bit 0
#define LATE1                   LATEbits.LATE1                  // bit 1
#define LATE2                   LATEbits.LATE2                  // bit 2

#define CH0                     MD1CARHbits.CH0                 // bit 0, shadows bit in MD1CARHbits
#define MD1CH0                  MD1CARHbits.MD1CH0              // bit 0, shadows bit in MD1CARHbits
#define CH1                     MD1CARHbits.CH1                 // bit 1, shadows bit in MD1CARHbits
#define MD1CH1                  MD1CARHbits.MD1CH1              // bit 1, shadows bit in MD1CARHbits
#define CH2                     MD1CARHbits.CH2                 // bit 2, shadows bit in MD1CARHbits
#define MD1CH2                  MD1CARHbits.MD1CH2              // bit 2, shadows bit in MD1CARHbits
#define CH3                     MD1CARHbits.CH3                 // bit 3, shadows bit in MD1CARHbits
#define MD1CH3                  MD1CARHbits.MD1CH3              // bit 3, shadows bit in MD1CARHbits
#define CH4                     MD1CARHbits.CH4                 // bit 4

#define CL0                     MD1CARLbits.CL0                 // bit 0, shadows bit in MD1CARLbits
#define MD1CL0                  MD1CARLbits.MD1CL0              // bit 0, shadows bit in MD1CARLbits
#define CL1                     MD1CARLbits.CL1                 // bit 1, shadows bit in MD1CARLbits
#define MD1CL1                  MD1CARLbits.MD1CL1              // bit 1, shadows bit in MD1CARLbits
#define CL2                     MD1CARLbits.CL2                 // bit 2, shadows bit in MD1CARLbits
#define MD1CL2                  MD1CARLbits.MD1CL2              // bit 2, shadows bit in MD1CARLbits
#define CL3                     MD1CARLbits.CL3                 // bit 3, shadows bit in MD1CARLbits
#define MD1CL3                  MD1CARLbits.MD1CL3              // bit 3, shadows bit in MD1CARLbits
#define CL4                     MD1CARLbits.CL4                 // bit 4

#define CLSYNC                  MD1CON1bits.CLSYNC              // bit 0, shadows bit in MD1CON1bits
#define MD1CLSYNC               MD1CON1bits.MD1CLSYNC           // bit 0, shadows bit in MD1CON1bits
#define CLPOL                   MD1CON1bits.CLPOL               // bit 1, shadows bit in MD1CON1bits
#define MD1CLPOL                MD1CON1bits.MD1CLPOL            // bit 1, shadows bit in MD1CON1bits
#define CHSYNC                  MD1CON1bits.CHSYNC              // bit 4, shadows bit in MD1CON1bits
#define MD1CHSYNC               MD1CON1bits.MD1CHSYNC           // bit 4, shadows bit in MD1CON1bits
#define CHPOL                   MD1CON1bits.CHPOL               // bit 5, shadows bit in MD1CON1bits
#define MD1CHPOL                MD1CON1bits.MD1CHPOL            // bit 5, shadows bit in MD1CON1bits

#define MS0                     MD1SRCbits.MS0                  // bit 0, shadows bit in MD1SRCbits
#define MD1MS0                  MD1SRCbits.MD1MS0               // bit 0, shadows bit in MD1SRCbits
#define MS1                     MD1SRCbits.MS1                  // bit 1, shadows bit in MD1SRCbits
#define MD1MS1                  MD1SRCbits.MD1MS1               // bit 1, shadows bit in MD1SRCbits
#define MS2                     MD1SRCbits.MS2                  // bit 2, shadows bit in MD1SRCbits
#define MD1MS2                  MD1SRCbits.MD1MS2               // bit 2, shadows bit in MD1SRCbits
#define MS3                     MD1SRCbits.MS3                  // bit 3, shadows bit in MD1SRCbits
#define MD1MS3                  MD1SRCbits.MD1MS3               // bit 3, shadows bit in MD1SRCbits
#define MS4                     MD1SRCbits.MS4                  // bit 4, shadows bit in MD1SRCbits
#define MD1MS4                  MD1SRCbits.MD1MS4               // bit 4, shadows bit in MD1SRCbits

#define ODA0                    ODCONAbits.ODA0                 // bit 0
#define ODA1                    ODCONAbits.ODA1                 // bit 1
#define ODA2                    ODCONAbits.ODA2                 // bit 2
#define ODA3                    ODCONAbits.ODA3                 // bit 3
#define ODA4                    ODCONAbits.ODA4                 // bit 4
#define ODA5                    ODCONAbits.ODA5                 // bit 5
#define ODA6                    ODCONAbits.ODA6                 // bit 6
#define ODA7                    ODCONAbits.ODA7                 // bit 7

#define ODB0                    ODCONBbits.ODB0                 // bit 0
#define ODB1                    ODCONBbits.ODB1                 // bit 1
#define ODB2                    ODCONBbits.ODB2                 // bit 2
#define ODB3                    ODCONBbits.ODB3                 // bit 3
#define ODB4                    ODCONBbits.ODB4                 // bit 4
#define ODB5                    ODCONBbits.ODB5                 // bit 5
#define ODB6                    ODCONBbits.ODB6                 // bit 6
#define ODB7                    ODCONBbits.ODB7                 // bit 7

#define ODC0                    ODCONCbits.ODC0                 // bit 0
#define ODC1                    ODCONCbits.ODC1                 // bit 1
#define ODC2                    ODCONCbits.ODC2                 // bit 2
#define ODC3                    ODCONCbits.ODC3                 // bit 3
#define ODC4                    ODCONCbits.ODC4                 // bit 4
#define ODC5                    ODCONCbits.ODC5                 // bit 5
#define ODC6                    ODCONCbits.ODC6                 // bit 6
#define ODC7                    ODCONCbits.ODC7                 // bit 7

#define ODD0                    ODCONDbits.ODD0                 // bit 0
#define ODD1                    ODCONDbits.ODD1                 // bit 1
#define ODD2                    ODCONDbits.ODD2                 // bit 2
#define ODD3                    ODCONDbits.ODD3                 // bit 3
#define ODD4                    ODCONDbits.ODD4                 // bit 4
#define ODD5                    ODCONDbits.ODD5                 // bit 5
#define ODD6                    ODCONDbits.ODD6                 // bit 6
#define ODD7                    ODCONDbits.ODD7                 // bit 7

#define ODE0                    ODCONEbits.ODE0                 // bit 0
#define ODE1                    ODCONEbits.ODE1                 // bit 1
#define ODE2                    ODCONEbits.ODE2                 // bit 2

#define PS0                     OPTION_REGbits.PS0              // bit 0
#define PS1                     OPTION_REGbits.PS1              // bit 1
#define PS2                     OPTION_REGbits.PS2              // bit 2
#define PSA                     OPTION_REGbits.PSA              // bit 3
#define TMR0SE                  OPTION_REGbits.TMR0SE           // bit 4, shadows bit in OPTION_REGbits
#define T0SE                    OPTION_REGbits.T0SE             // bit 4, shadows bit in OPTION_REGbits
#define TMR0CS                  OPTION_REGbits.TMR0CS           // bit 5, shadows bit in OPTION_REGbits
#define T0CS                    OPTION_REGbits.T0CS             // bit 5, shadows bit in OPTION_REGbits
#define INTEDG                  OPTION_REGbits.INTEDG           // bit 6
#define NOT_WPUEN               OPTION_REGbits.NOT_WPUEN        // bit 7

#define SCS0                    OSCCONbits.SCS0                 // bit 0
#define SCS1                    OSCCONbits.SCS1                 // bit 1
#define IRCF0                   OSCCONbits.IRCF0                // bit 3
#define IRCF1                   OSCCONbits.IRCF1                // bit 4
#define IRCF2                   OSCCONbits.IRCF2                // bit 5
#define IRCF3                   OSCCONbits.IRCF3                // bit 6
#define SPLLEN                  OSCCONbits.SPLLEN               // bit 7

#define HFIOFS                  OSCSTATbits.HFIOFS              // bit 0
#define LFIOFR                  OSCSTATbits.LFIOFR              // bit 1
#define MFIOFR                  OSCSTATbits.MFIOFR              // bit 2
#define HFIOFL                  OSCSTATbits.HFIOFL              // bit 3
#define HFIOFR                  OSCSTATbits.HFIOFR              // bit 4
#define OSTS                    OSCSTATbits.OSTS                // bit 5
#define PLLR                    OSCSTATbits.PLLR                // bit 6
#define SOSCR                   OSCSTATbits.SOSCR               // bit 7

#define TUN0                    OSCTUNEbits.TUN0                // bit 0
#define TUN1                    OSCTUNEbits.TUN1                // bit 1
#define TUN2                    OSCTUNEbits.TUN2                // bit 2
#define TUN3                    OSCTUNEbits.TUN3                // bit 3
#define TUN4                    OSCTUNEbits.TUN4                // bit 4
#define TUN5                    OSCTUNEbits.TUN5                // bit 5

#define NOT_BOR                 PCONbits.NOT_BOR                // bit 0
#define NOT_POR                 PCONbits.NOT_POR                // bit 1
#define NOT_RI                  PCONbits.NOT_RI                 // bit 2
#define NOT_RMCLR               PCONbits.NOT_RMCLR              // bit 3
#define NOT_RWDT                PCONbits.NOT_RWDT               // bit 4
#define STKUNF                  PCONbits.STKUNF                 // bit 6
#define STKOVF                  PCONbits.STKOVF                 // bit 7

#define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
#define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
#define CCP1IE                  PIE1bits.CCP1IE                 // bit 2, shadows bit in PIE1bits
#define CCPIE                   PIE1bits.CCPIE                  // bit 2, shadows bit in PIE1bits
#define SSP1IE                  PIE1bits.SSP1IE                 // bit 3
#define TXIE                    PIE1bits.TXIE                   // bit 4
#define RCIE                    PIE1bits.RCIE                   // bit 5
#define ADIE                    PIE1bits.ADIE                   // bit 6
#define TMR1GIE                 PIE1bits.TMR1GIE                // bit 7

#define CCP2IE                  PIE2bits.CCP2IE                 // bit 0
#define C3IE                    PIE2bits.C3IE                   // bit 1
#define C4IE                    PIE2bits.C4IE                   // bit 2
#define BCL1IE                  PIE2bits.BCL1IE                 // bit 3
#define COGIE                   PIE2bits.COGIE                  // bit 4
#define C1IE                    PIE2bits.C1IE                   // bit 5
#define C2IE                    PIE2bits.C2IE                   // bit 6
#define OSFIE                   PIE2bits.OSFIE                  // bit 7

#define CLC1IE                  PIE3bits.CLC1IE                 // bit 0
#define CLC2IE                  PIE3bits.CLC2IE                 // bit 1
#define CLC3IE                  PIE3bits.CLC3IE                 // bit 2
#define CLC4IE                  PIE3bits.CLC4IE                 // bit 3
#define ZCDIE                   PIE3bits.ZCDIE                  // bit 4
#define COG2IE                  PIE3bits.COG2IE                 // bit 5

#define TMR4IE                  PIE4bits.TMR4IE                 // bit 0
#define TMR6IE                  PIE4bits.TMR6IE                 // bit 1
#define TMR3IE                  PIE4bits.TMR3IE                 // bit 2
#define TMR3GIE                 PIE4bits.TMR3GIE                // bit 3
#define TMR5IE                  PIE4bits.TMR5IE                 // bit 4
#define TMR5GIE                 PIE4bits.TMR5GIE                // bit 5
#define TMR8IE                  PIE4bits.TMR8IE                 // bit 6

#define C5IE                    PIE5bits.C5IE                   // bit 0
#define C6IE                    PIE5bits.C6IE                   // bit 1
#define C7IE                    PIE5bits.C7IE                   // bit 2
#define C8IE                    PIE5bits.C8IE                   // bit 3
#define COG3IE                  PIE5bits.COG3IE                 // bit 4
#define COG4IE                  PIE5bits.COG4IE                 // bit 5
#define CCP7IE                  PIE5bits.CCP7IE                 // bit 6
#define CCP8IE                  PIE5bits.CCP8IE                 // bit 7

#define PWM5IE                  PIE6bits.PWM5IE                 // bit 0
#define PWM6IE                  PIE6bits.PWM6IE                 // bit 1
#define PWM11IE                 PIE6bits.PWM11IE                // bit 2
#define PWM12IE                 PIE6bits.PWM12IE                // bit 3

#define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
#define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
#define CCP1IF                  PIR1bits.CCP1IF                 // bit 2, shadows bit in PIR1bits
#define CCPIF                   PIR1bits.CCPIF                  // bit 2, shadows bit in PIR1bits
#define SSP1IF                  PIR1bits.SSP1IF                 // bit 3
#define TXIF                    PIR1bits.TXIF                   // bit 4
#define RCIF                    PIR1bits.RCIF                   // bit 5
#define ADIF                    PIR1bits.ADIF                   // bit 6
#define TMR1GIF                 PIR1bits.TMR1GIF                // bit 7

#define CCP2IF                  PIR2bits.CCP2IF                 // bit 0
#define C3IF                    PIR2bits.C3IF                   // bit 1
#define C4IF                    PIR2bits.C4IF                   // bit 2
#define BCL1IF                  PIR2bits.BCL1IF                 // bit 3
#define COG1IF                  PIR2bits.COG1IF                 // bit 4
#define C1IF                    PIR2bits.C1IF                   // bit 5
#define C2IF                    PIR2bits.C2IF                   // bit 6
#define OSFIF                   PIR2bits.OSFIF                  // bit 7

#define CLC1IF                  PIR3bits.CLC1IF                 // bit 0
#define CLC2IF                  PIR3bits.CLC2IF                 // bit 1
#define CLC3IF                  PIR3bits.CLC3IF                 // bit 2
#define CLC4IF                  PIR3bits.CLC4IF                 // bit 3
#define ZCDIF                   PIR3bits.ZCDIF                  // bit 4
#define COG2IF                  PIR3bits.COG2IF                 // bit 5

#define TMR4IF                  PIR4bits.TMR4IF                 // bit 0
#define TMR6IF                  PIR4bits.TMR6IF                 // bit 1
#define TMR3IF                  PIR4bits.TMR3IF                 // bit 2
#define TMR3GIF                 PIR4bits.TMR3GIF                // bit 3
#define TMR5IF                  PIR4bits.TMR5IF                 // bit 4
#define TMR5GIF                 PIR4bits.TMR5GIF                // bit 5
#define TMR8IF                  PIR4bits.TMR8IF                 // bit 6

#define C5IF                    PIR5bits.C5IF                   // bit 0
#define C6IF                    PIR5bits.C6IF                   // bit 1
#define C7IF                    PIR5bits.C7IF                   // bit 2
#define C8IF                    PIR5bits.C8IF                   // bit 3
#define COG3IF                  PIR5bits.COG3IF                 // bit 4
#define COG4IF                  PIR5bits.COG4IF                 // bit 5
#define CCP7IF                  PIR5bits.CCP7IF                 // bit 6
#define CCP8IF                  PIR5bits.CCP8IF                 // bit 7

#define PWM5IF                  PIR6bits.PWM5IF                 // bit 0
#define PWM6IF                  PIR6bits.PWM6IF                 // bit 1
#define PWM11IF                 PIR6bits.PWM11IF                // bit 2
#define PWM12IF                 PIR6bits.PWM12IF                // bit 3

#define RD                      PMCON1bits.RD                   // bit 0
#define WR                      PMCON1bits.WR                   // bit 1
#define WREN                    PMCON1bits.WREN                 // bit 2
#define WRERR                   PMCON1bits.WRERR                // bit 3
#define FREE                    PMCON1bits.FREE                 // bit 4
#define LWLO                    PMCON1bits.LWLO                 // bit 5
#define CFGS                    PMCON1bits.CFGS                 // bit 6

#define RA0                     PORTAbits.RA0                   // bit 0
#define RA1                     PORTAbits.RA1                   // bit 1
#define RA2                     PORTAbits.RA2                   // bit 2
#define RA3                     PORTAbits.RA3                   // bit 3
#define RA4                     PORTAbits.RA4                   // bit 4
#define RA5                     PORTAbits.RA5                   // bit 5
#define RA6                     PORTAbits.RA6                   // bit 6
#define RA7                     PORTAbits.RA7                   // bit 7

#define RB0                     PORTBbits.RB0                   // bit 0
#define RB1                     PORTBbits.RB1                   // bit 1
#define RB2                     PORTBbits.RB2                   // bit 2
#define RB3                     PORTBbits.RB3                   // bit 3
#define RB4                     PORTBbits.RB4                   // bit 4
#define RB5                     PORTBbits.RB5                   // bit 5
#define RB6                     PORTBbits.RB6                   // bit 6
#define RB7                     PORTBbits.RB7                   // bit 7

#define RC0                     PORTCbits.RC0                   // bit 0
#define RC1                     PORTCbits.RC1                   // bit 1
#define RC2                     PORTCbits.RC2                   // bit 2
#define RC3                     PORTCbits.RC3                   // bit 3
#define RC4                     PORTCbits.RC4                   // bit 4
#define RC5                     PORTCbits.RC5                   // bit 5
#define RC6                     PORTCbits.RC6                   // bit 6
#define RC7                     PORTCbits.RC7                   // bit 7

#define RD0                     PORTDbits.RD0                   // bit 0
#define RD1                     PORTDbits.RD1                   // bit 1
#define RD2                     PORTDbits.RD2                   // bit 2
#define RD3                     PORTDbits.RD3                   // bit 3
#define RD4                     PORTDbits.RD4                   // bit 4
#define RD5                     PORTDbits.RD5                   // bit 5
#define RD6                     PORTDbits.RD6                   // bit 6
#define RD7                     PORTDbits.RD7                   // bit 7

#define RE0                     PORTEbits.RE0                   // bit 0
#define RE1                     PORTEbits.RE1                   // bit 1
#define RE2                     PORTEbits.RE2                   // bit 2
#define RE3                     PORTEbits.RE3                   // bit 3

#define PPSLOCKED               PPSLOCKbits.PPSLOCKED           // bit 0

#define RPOL                    PRG1CON1bits.RPOL               // bit 0, shadows bit in PRG1CON1bits
#define RG1RPOL                 PRG1CON1bits.RG1RPOL            // bit 0, shadows bit in PRG1CON1bits
#define FPOL                    PRG1CON1bits.FPOL               // bit 1, shadows bit in PRG1CON1bits
#define RG1FPOL                 PRG1CON1bits.RG1FPOL            // bit 1, shadows bit in PRG1CON1bits
#define RDY                     PRG1CON1bits.RDY                // bit 2, shadows bit in PRG1CON1bits
#define RG1RDY                  PRG1CON1bits.RG1RDY             // bit 2, shadows bit in PRG1CON1bits

#define ISET0                   PRG1CON2bits.ISET0              // bit 0, shadows bit in PRG1CON2bits
#define RG1ISET0                PRG1CON2bits.RG1ISET0           // bit 0, shadows bit in PRG1CON2bits
#define ISET1                   PRG1CON2bits.ISET1              // bit 1, shadows bit in PRG1CON2bits
#define RG1ISET1                PRG1CON2bits.RG1ISET1           // bit 1, shadows bit in PRG1CON2bits
#define ISET2                   PRG1CON2bits.ISET2              // bit 2, shadows bit in PRG1CON2bits
#define RG1ISET2                PRG1CON2bits.RG1ISET2           // bit 2, shadows bit in PRG1CON2bits
#define ISET3                   PRG1CON2bits.ISET3              // bit 3, shadows bit in PRG1CON2bits
#define RG1ISET3                PRG1CON2bits.RG1ISET3           // bit 3, shadows bit in PRG1CON2bits
#define ISET4                   PRG1CON2bits.ISET4              // bit 4, shadows bit in PRG1CON2bits
#define RG1ISET4                PRG1CON2bits.RG1ISET4           // bit 4, shadows bit in PRG1CON2bits

#define FTSS0                   PRG1FTSSbits.FTSS0              // bit 0, shadows bit in PRG1FTSSbits
#define RG1FTSS0                PRG1FTSSbits.RG1FTSS0           // bit 0, shadows bit in PRG1FTSSbits
#define FTSS1                   PRG1FTSSbits.FTSS1              // bit 1, shadows bit in PRG1FTSSbits
#define RG1FTSS1                PRG1FTSSbits.RG1FTSS1           // bit 1, shadows bit in PRG1FTSSbits
#define FTSS2                   PRG1FTSSbits.FTSS2              // bit 2, shadows bit in PRG1FTSSbits
#define RG1FTSS2                PRG1FTSSbits.RG1FTSS2           // bit 2, shadows bit in PRG1FTSSbits
#define FTSS3                   PRG1FTSSbits.FTSS3              // bit 3, shadows bit in PRG1FTSSbits
#define RG1FTSS3                PRG1FTSSbits.RG1FTSS3           // bit 3, shadows bit in PRG1FTSSbits

#define INS0                    PRG1INSbits.INS0                // bit 0, shadows bit in PRG1INSbits
#define RG1INS0                 PRG1INSbits.RG1INS0             // bit 0, shadows bit in PRG1INSbits
#define INS1                    PRG1INSbits.INS1                // bit 1, shadows bit in PRG1INSbits
#define RG1INS1                 PRG1INSbits.RG1INS1             // bit 1, shadows bit in PRG1INSbits
#define INS2                    PRG1INSbits.INS2                // bit 2, shadows bit in PRG1INSbits
#define RG1INS2                 PRG1INSbits.RG1INS2             // bit 2, shadows bit in PRG1INSbits
#define INS3                    PRG1INSbits.INS3                // bit 3, shadows bit in PRG1INSbits
#define RG1INS3                 PRG1INSbits.RG1INS3             // bit 3, shadows bit in PRG1INSbits

#define RTSS0                   PRG1RTSSbits.RTSS0              // bit 0, shadows bit in PRG1RTSSbits
#define RG1RTSS0                PRG1RTSSbits.RG1RTSS0           // bit 0, shadows bit in PRG1RTSSbits
#define RTSS1                   PRG1RTSSbits.RTSS1              // bit 1, shadows bit in PRG1RTSSbits
#define RG1RTSS1                PRG1RTSSbits.RG1RTSS1           // bit 1, shadows bit in PRG1RTSSbits
#define RTSS2                   PRG1RTSSbits.RTSS2              // bit 2, shadows bit in PRG1RTSSbits
#define RG1RTSS2                PRG1RTSSbits.RG1RTSS2           // bit 2, shadows bit in PRG1RTSSbits
#define RTSS3                   PRG1RTSSbits.RTSS3              // bit 3, shadows bit in PRG1RTSSbits
#define RG1RTSS3                PRG1RTSSbits.RG1RTSS3           // bit 3, shadows bit in PRG1RTSSbits

#define DC2                     PWM3DCHbits.DC2                 // bit 0, shadows bit in PWM3DCHbits
#define PWM3DC2                 PWM3DCHbits.PWM3DC2             // bit 0, shadows bit in PWM3DCHbits
#define PWMPW2                  PWM3DCHbits.PWMPW2              // bit 0, shadows bit in PWM3DCHbits
#define DC3                     PWM3DCHbits.DC3                 // bit 1, shadows bit in PWM3DCHbits
#define PWM3DC3                 PWM3DCHbits.PWM3DC3             // bit 1, shadows bit in PWM3DCHbits
#define PWMPW3                  PWM3DCHbits.PWMPW3              // bit 1, shadows bit in PWM3DCHbits
#define DC4                     PWM3DCHbits.DC4                 // bit 2, shadows bit in PWM3DCHbits
#define PWM3DC4                 PWM3DCHbits.PWM3DC4             // bit 2, shadows bit in PWM3DCHbits
#define PWMPW4                  PWM3DCHbits.PWMPW4              // bit 2, shadows bit in PWM3DCHbits
#define DC5                     PWM3DCHbits.DC5                 // bit 3, shadows bit in PWM3DCHbits
#define PWM3DC5                 PWM3DCHbits.PWM3DC5             // bit 3, shadows bit in PWM3DCHbits
#define PWMPW5                  PWM3DCHbits.PWMPW5              // bit 3, shadows bit in PWM3DCHbits
#define DC6                     PWM3DCHbits.DC6                 // bit 4, shadows bit in PWM3DCHbits
#define PWM3DC6                 PWM3DCHbits.PWM3DC6             // bit 4, shadows bit in PWM3DCHbits
#define PWMPW6                  PWM3DCHbits.PWMPW6              // bit 4, shadows bit in PWM3DCHbits
#define DC7                     PWM3DCHbits.DC7                 // bit 5, shadows bit in PWM3DCHbits
#define PWM3DC7                 PWM3DCHbits.PWM3DC7             // bit 5, shadows bit in PWM3DCHbits
#define PWMPW7                  PWM3DCHbits.PWMPW7              // bit 5, shadows bit in PWM3DCHbits
#define DC8                     PWM3DCHbits.DC8                 // bit 6, shadows bit in PWM3DCHbits
#define PWM3DC8                 PWM3DCHbits.PWM3DC8             // bit 6, shadows bit in PWM3DCHbits
#define PWMPW8                  PWM3DCHbits.PWMPW8              // bit 6, shadows bit in PWM3DCHbits
#define DC9                     PWM3DCHbits.DC9                 // bit 7, shadows bit in PWM3DCHbits
#define PWM3DC9                 PWM3DCHbits.PWM3DC9             // bit 7, shadows bit in PWM3DCHbits
#define PWMPW9                  PWM3DCHbits.PWMPW9              // bit 7, shadows bit in PWM3DCHbits

#define DC0                     PWM3DCLbits.DC0                 // bit 6, shadows bit in PWM3DCLbits
#define PWM3DC0                 PWM3DCLbits.PWM3DC0             // bit 6, shadows bit in PWM3DCLbits
#define PWMPW0                  PWM3DCLbits.PWMPW0              // bit 6, shadows bit in PWM3DCLbits
#define DC1                     PWM3DCLbits.DC1                 // bit 7, shadows bit in PWM3DCLbits
#define PWM3DC1                 PWM3DCLbits.PWM3DC1             // bit 7, shadows bit in PWM3DCLbits
#define PWMPW1                  PWM3DCLbits.PWMPW1              // bit 7, shadows bit in PWM3DCLbits

#define PWM5DCH0                PWM5DCHbits.PWM5DCH0            // bit 0
#define PWM5DCH1                PWM5DCHbits.PWM5DCH1            // bit 1
#define PWM5DCH2                PWM5DCHbits.PWM5DCH2            // bit 2
#define PWM5DCH3                PWM5DCHbits.PWM5DCH3            // bit 3
#define PWM5DCH4                PWM5DCHbits.PWM5DCH4            // bit 4
#define PWM5DCH5                PWM5DCHbits.PWM5DCH5            // bit 5
#define PWM5DCH6                PWM5DCHbits.PWM5DCH6            // bit 6
#define PWM5DCH7                PWM5DCHbits.PWM5DCH7            // bit 7

#define PWM5DCL0                PWM5DCLbits.PWM5DCL0            // bit 0
#define PWM5DCL1                PWM5DCLbits.PWM5DCL1            // bit 1
#define PWM5DCL2                PWM5DCLbits.PWM5DCL2            // bit 2
#define PWM5DCL3                PWM5DCLbits.PWM5DCL3            // bit 3
#define PWM5DCL4                PWM5DCLbits.PWM5DCL4            // bit 4
#define PWM5DCL5                PWM5DCLbits.PWM5DCL5            // bit 5
#define PWM5DCL6                PWM5DCLbits.PWM5DCL6            // bit 6
#define PWM5DCL7                PWM5DCLbits.PWM5DCL7            // bit 7

#define PRIE                    PWM5INTCONbits.PRIE             // bit 0, shadows bit in PWM5INTCONbits
#define PWM5PRIE                PWM5INTCONbits.PWM5PRIE         // bit 0, shadows bit in PWM5INTCONbits
#define DCIE                    PWM5INTCONbits.DCIE             // bit 1, shadows bit in PWM5INTCONbits
#define PWM5DCIE                PWM5INTCONbits.PWM5DCIE         // bit 1, shadows bit in PWM5INTCONbits
#define PHIE                    PWM5INTCONbits.PHIE             // bit 2, shadows bit in PWM5INTCONbits
#define PWM5PHIE                PWM5INTCONbits.PWM5PHIE         // bit 2, shadows bit in PWM5INTCONbits
#define OFIE                    PWM5INTCONbits.OFIE             // bit 3, shadows bit in PWM5INTCONbits
#define PWM5OFIE                PWM5INTCONbits.PWM5OFIE         // bit 3, shadows bit in PWM5INTCONbits

#define PRIF                    PWM5INTFbits.PRIF               // bit 0, shadows bit in PWM5INTFbits
#define PWM5PRIF                PWM5INTFbits.PWM5PRIF           // bit 0, shadows bit in PWM5INTFbits
#define DCIF                    PWM5INTFbits.DCIF               // bit 1, shadows bit in PWM5INTFbits
#define PWM5DCIF                PWM5INTFbits.PWM5DCIF           // bit 1, shadows bit in PWM5INTFbits
#define PHIF                    PWM5INTFbits.PHIF               // bit 2, shadows bit in PWM5INTFbits
#define PWM5PHIF                PWM5INTFbits.PWM5PHIF           // bit 2, shadows bit in PWM5INTFbits
#define OFIF                    PWM5INTFbits.OFIF               // bit 3, shadows bit in PWM5INTFbits
#define PWM5OFIF                PWM5INTFbits.PWM5OFIF           // bit 3, shadows bit in PWM5INTFbits

#define PWM5LDS0                PWM5LDCONbits.PWM5LDS0          // bit 0, shadows bit in PWM5LDCONbits
#define LDS0                    PWM5LDCONbits.LDS0              // bit 0, shadows bit in PWM5LDCONbits
#define PWM5LDS1                PWM5LDCONbits.PWM5LDS1          // bit 1, shadows bit in PWM5LDCONbits
#define LDS1                    PWM5LDCONbits.LDS1              // bit 1, shadows bit in PWM5LDCONbits
#define LDT                     PWM5LDCONbits.LDT               // bit 6, shadows bit in PWM5LDCONbits
#define PWM5LDM                 PWM5LDCONbits.PWM5LDM           // bit 6, shadows bit in PWM5LDCONbits
#define LDA                     PWM5LDCONbits.LDA               // bit 7, shadows bit in PWM5LDCONbits
#define PWM5LD                  PWM5LDCONbits.PWM5LD            // bit 7, shadows bit in PWM5LDCONbits

#define PWM5OFS0                PWM5OFCONbits.PWM5OFS0          // bit 0, shadows bit in PWM5OFCONbits
#define OFS0                    PWM5OFCONbits.OFS0              // bit 0, shadows bit in PWM5OFCONbits
#define PWM5OFS1                PWM5OFCONbits.PWM5OFS1          // bit 1, shadows bit in PWM5OFCONbits
#define OFS1                    PWM5OFCONbits.OFS1              // bit 1, shadows bit in PWM5OFCONbits
#define OFO                     PWM5OFCONbits.OFO               // bit 4, shadows bit in PWM5OFCONbits
#define PWM5OFMC                PWM5OFCONbits.PWM5OFMC          // bit 4, shadows bit in PWM5OFCONbits
#define PWM5OFM0                PWM5OFCONbits.PWM5OFM0          // bit 5, shadows bit in PWM5OFCONbits
#define OFM0                    PWM5OFCONbits.OFM0              // bit 5, shadows bit in PWM5OFCONbits
#define PWM5OFM1                PWM5OFCONbits.PWM5OFM1          // bit 6, shadows bit in PWM5OFCONbits
#define OFM1                    PWM5OFCONbits.OFM1              // bit 6, shadows bit in PWM5OFCONbits

#define PWM5OFH0                PWM5OFHbits.PWM5OFH0            // bit 0
#define PWM5OFH1                PWM5OFHbits.PWM5OFH1            // bit 1
#define PWM5OFH2                PWM5OFHbits.PWM5OFH2            // bit 2
#define PWM5OFH3                PWM5OFHbits.PWM5OFH3            // bit 3
#define PWM5OFH4                PWM5OFHbits.PWM5OFH4            // bit 4
#define PWM5OFH5                PWM5OFHbits.PWM5OFH5            // bit 5
#define PWM5OFH6                PWM5OFHbits.PWM5OFH6            // bit 6
#define PWM5OFH7                PWM5OFHbits.PWM5OFH7            // bit 7

#define PWM5OFL0                PWM5OFLbits.PWM5OFL0            // bit 0
#define PWM5OFL1                PWM5OFLbits.PWM5OFL1            // bit 1
#define PWM5OFL2                PWM5OFLbits.PWM5OFL2            // bit 2
#define PWM5OFL3                PWM5OFLbits.PWM5OFL3            // bit 3
#define PWM5OFL4                PWM5OFLbits.PWM5OFL4            // bit 4
#define PWM5OFL5                PWM5OFLbits.PWM5OFL5            // bit 5
#define PWM5OFL6                PWM5OFLbits.PWM5OFL6            // bit 6
#define PWM5OFL7                PWM5OFLbits.PWM5OFL7            // bit 7

#define PWM5PHH0                PWM5PHHbits.PWM5PHH0            // bit 0
#define PWM5PHH1                PWM5PHHbits.PWM5PHH1            // bit 1
#define PWM5PHH2                PWM5PHHbits.PWM5PHH2            // bit 2
#define PWM5PHH3                PWM5PHHbits.PWM5PHH3            // bit 3
#define PWM5PHH4                PWM5PHHbits.PWM5PHH4            // bit 4
#define PWM5PHH5                PWM5PHHbits.PWM5PHH5            // bit 5
#define PWM5PHH6                PWM5PHHbits.PWM5PHH6            // bit 6
#define PWM5PHH7                PWM5PHHbits.PWM5PHH7            // bit 7

#define PWM5PHL0                PWM5PHLbits.PWM5PHL0            // bit 0
#define PWM5PHL1                PWM5PHLbits.PWM5PHL1            // bit 1
#define PWM5PHL2                PWM5PHLbits.PWM5PHL2            // bit 2
#define PWM5PHL3                PWM5PHLbits.PWM5PHL3            // bit 3
#define PWM5PHL4                PWM5PHLbits.PWM5PHL4            // bit 4
#define PWM5PHL5                PWM5PHLbits.PWM5PHL5            // bit 5
#define PWM5PHL6                PWM5PHLbits.PWM5PHL6            // bit 6
#define PWM5PHL7                PWM5PHLbits.PWM5PHL7            // bit 7

#define PWM5PRH0                PWM5PRHbits.PWM5PRH0            // bit 0
#define PWM5PRH1                PWM5PRHbits.PWM5PRH1            // bit 1
#define PWM5PRH2                PWM5PRHbits.PWM5PRH2            // bit 2
#define PWM5PRH3                PWM5PRHbits.PWM5PRH3            // bit 3
#define PWM5PRH4                PWM5PRHbits.PWM5PRH4            // bit 4
#define PWM5PRH5                PWM5PRHbits.PWM5PRH5            // bit 5
#define PWM5PRH6                PWM5PRHbits.PWM5PRH6            // bit 6
#define PWM5PRH7                PWM5PRHbits.PWM5PRH7            // bit 7

#define PWM5PRL0                PWM5PRLbits.PWM5PRL0            // bit 0
#define PWM5PRL1                PWM5PRLbits.PWM5PRL1            // bit 1
#define PWM5PRL2                PWM5PRLbits.PWM5PRL2            // bit 2
#define PWM5PRL3                PWM5PRLbits.PWM5PRL3            // bit 3
#define PWM5PRL4                PWM5PRLbits.PWM5PRL4            // bit 4
#define PWM5PRL5                PWM5PRLbits.PWM5PRL5            // bit 5
#define PWM5PRL6                PWM5PRLbits.PWM5PRL6            // bit 6
#define PWM5PRL7                PWM5PRLbits.PWM5PRL7            // bit 7

#define PWM5TMRH0               PWM5TMRHbits.PWM5TMRH0          // bit 0
#define PWM5TMRH1               PWM5TMRHbits.PWM5TMRH1          // bit 1
#define PWM5TMRH2               PWM5TMRHbits.PWM5TMRH2          // bit 2
#define PWM5TMRH3               PWM5TMRHbits.PWM5TMRH3          // bit 3
#define PWM5TMRH4               PWM5TMRHbits.PWM5TMRH4          // bit 4
#define PWM5TMRH5               PWM5TMRHbits.PWM5TMRH5          // bit 5
#define PWM5TMRH6               PWM5TMRHbits.PWM5TMRH6          // bit 6
#define PWM5TMRH7               PWM5TMRHbits.PWM5TMRH7          // bit 7

#define PWM5TMRL0               PWM5TMRLbits.PWM5TMRL0          // bit 0
#define PWM5TMRL1               PWM5TMRLbits.PWM5TMRL1          // bit 1
#define PWM5TMRL2               PWM5TMRLbits.PWM5TMRL2          // bit 2
#define PWM5TMRL3               PWM5TMRLbits.PWM5TMRL3          // bit 3
#define PWM5TMRL4               PWM5TMRLbits.PWM5TMRL4          // bit 4
#define PWM5TMRL5               PWM5TMRLbits.PWM5TMRL5          // bit 5
#define PWM5TMRL6               PWM5TMRLbits.PWM5TMRL6          // bit 6
#define PWM5TMRL7               PWM5TMRLbits.PWM5TMRL7          // bit 7

#define PWM6DCH0                PWM6DCHbits.PWM6DCH0            // bit 0
#define PWM6DCH1                PWM6DCHbits.PWM6DCH1            // bit 1
#define PWM6DCH2                PWM6DCHbits.PWM6DCH2            // bit 2
#define PWM6DCH3                PWM6DCHbits.PWM6DCH3            // bit 3
#define PWM6DCH4                PWM6DCHbits.PWM6DCH4            // bit 4
#define PWM6DCH5                PWM6DCHbits.PWM6DCH5            // bit 5
#define PWM6DCH6                PWM6DCHbits.PWM6DCH6            // bit 6
#define PWM6DCH7                PWM6DCHbits.PWM6DCH7            // bit 7

#define PWM6DCL0                PWM6DCLbits.PWM6DCL0            // bit 0
#define PWM6DCL1                PWM6DCLbits.PWM6DCL1            // bit 1
#define PWM6DCL2                PWM6DCLbits.PWM6DCL2            // bit 2
#define PWM6DCL3                PWM6DCLbits.PWM6DCL3            // bit 3
#define PWM6DCL4                PWM6DCLbits.PWM6DCL4            // bit 4
#define PWM6DCL5                PWM6DCLbits.PWM6DCL5            // bit 5
#define PWM6DCL6                PWM6DCLbits.PWM6DCL6            // bit 6
#define PWM6DCL7                PWM6DCLbits.PWM6DCL7            // bit 7

#define PWM6OFH0                PWM6OFHbits.PWM6OFH0            // bit 0
#define PWM6OFH1                PWM6OFHbits.PWM6OFH1            // bit 1
#define PWM6OFH2                PWM6OFHbits.PWM6OFH2            // bit 2
#define PWM6OFH3                PWM6OFHbits.PWM6OFH3            // bit 3
#define PWM6OFH4                PWM6OFHbits.PWM6OFH4            // bit 4
#define PWM6OFH5                PWM6OFHbits.PWM6OFH5            // bit 5
#define PWM6OFH6                PWM6OFHbits.PWM6OFH6            // bit 6
#define PWM6OFH7                PWM6OFHbits.PWM6OFH7            // bit 7

#define PWM6OFL0                PWM6OFLbits.PWM6OFL0            // bit 0
#define PWM6OFL1                PWM6OFLbits.PWM6OFL1            // bit 1
#define PWM6OFL2                PWM6OFLbits.PWM6OFL2            // bit 2
#define PWM6OFL3                PWM6OFLbits.PWM6OFL3            // bit 3
#define PWM6OFL4                PWM6OFLbits.PWM6OFL4            // bit 4
#define PWM6OFL5                PWM6OFLbits.PWM6OFL5            // bit 5
#define PWM6OFL6                PWM6OFLbits.PWM6OFL6            // bit 6
#define PWM6OFL7                PWM6OFLbits.PWM6OFL7            // bit 7

#define PWM6PHH0                PWM6PHHbits.PWM6PHH0            // bit 0
#define PWM6PHH1                PWM6PHHbits.PWM6PHH1            // bit 1
#define PWM6PHH2                PWM6PHHbits.PWM6PHH2            // bit 2
#define PWM6PHH3                PWM6PHHbits.PWM6PHH3            // bit 3
#define PWM6PHH4                PWM6PHHbits.PWM6PHH4            // bit 4
#define PWM6PHH5                PWM6PHHbits.PWM6PHH5            // bit 5
#define PWM6PHH6                PWM6PHHbits.PWM6PHH6            // bit 6
#define PWM6PHH7                PWM6PHHbits.PWM6PHH7            // bit 7

#define PWM6PHL0                PWM6PHLbits.PWM6PHL0            // bit 0
#define PWM6PHL1                PWM6PHLbits.PWM6PHL1            // bit 1
#define PWM6PHL2                PWM6PHLbits.PWM6PHL2            // bit 2
#define PWM6PHL3                PWM6PHLbits.PWM6PHL3            // bit 3
#define PWM6PHL4                PWM6PHLbits.PWM6PHL4            // bit 4
#define PWM6PHL5                PWM6PHLbits.PWM6PHL5            // bit 5
#define PWM6PHL6                PWM6PHLbits.PWM6PHL6            // bit 6
#define PWM6PHL7                PWM6PHLbits.PWM6PHL7            // bit 7

#define PWM6PRH0                PWM6PRHbits.PWM6PRH0            // bit 0
#define PWM6PRH1                PWM6PRHbits.PWM6PRH1            // bit 1
#define PWM6PRH2                PWM6PRHbits.PWM6PRH2            // bit 2
#define PWM6PRH3                PWM6PRHbits.PWM6PRH3            // bit 3
#define PWM6PRH4                PWM6PRHbits.PWM6PRH4            // bit 4
#define PWM6PRH5                PWM6PRHbits.PWM6PRH5            // bit 5
#define PWM6PRH6                PWM6PRHbits.PWM6PRH6            // bit 6
#define PWM6PRH7                PWM6PRHbits.PWM6PRH7            // bit 7

#define PWM6PRL0                PWM6PRLbits.PWM6PRL0            // bit 0
#define PWM6PRL1                PWM6PRLbits.PWM6PRL1            // bit 1
#define PWM6PRL2                PWM6PRLbits.PWM6PRL2            // bit 2
#define PWM6PRL3                PWM6PRLbits.PWM6PRL3            // bit 3
#define PWM6PRL4                PWM6PRLbits.PWM6PRL4            // bit 4
#define PWM6PRL5                PWM6PRLbits.PWM6PRL5            // bit 5
#define PWM6PRL6                PWM6PRLbits.PWM6PRL6            // bit 6
#define PWM6PRL7                PWM6PRLbits.PWM6PRL7            // bit 7

#define PWM6TMRH0               PWM6TMRHbits.PWM6TMRH0          // bit 0
#define PWM6TMRH1               PWM6TMRHbits.PWM6TMRH1          // bit 1
#define PWM6TMRH2               PWM6TMRHbits.PWM6TMRH2          // bit 2
#define PWM6TMRH3               PWM6TMRHbits.PWM6TMRH3          // bit 3
#define PWM6TMRH4               PWM6TMRHbits.PWM6TMRH4          // bit 4
#define PWM6TMRH5               PWM6TMRHbits.PWM6TMRH5          // bit 5
#define PWM6TMRH6               PWM6TMRHbits.PWM6TMRH6          // bit 6
#define PWM6TMRH7               PWM6TMRHbits.PWM6TMRH7          // bit 7

#define PWM6TMRL0               PWM6TMRLbits.PWM6TMRL0          // bit 0
#define PWM6TMRL1               PWM6TMRLbits.PWM6TMRL1          // bit 1
#define PWM6TMRL2               PWM6TMRLbits.PWM6TMRL2          // bit 2
#define PWM6TMRL3               PWM6TMRLbits.PWM6TMRL3          // bit 3
#define PWM6TMRL4               PWM6TMRLbits.PWM6TMRL4          // bit 4
#define PWM6TMRL5               PWM6TMRLbits.PWM6TMRL5          // bit 5
#define PWM6TMRL6               PWM6TMRLbits.PWM6TMRL6          // bit 6
#define PWM6TMRL7               PWM6TMRLbits.PWM6TMRL7          // bit 7

#define PWM11DCH0               PWM11DCHbits.PWM11DCH0          // bit 0
#define PWM11DCH1               PWM11DCHbits.PWM11DCH1          // bit 1
#define PWM11DCH2               PWM11DCHbits.PWM11DCH2          // bit 2
#define PWM11DCH3               PWM11DCHbits.PWM11DCH3          // bit 3
#define PWM11DCH4               PWM11DCHbits.PWM11DCH4          // bit 4
#define PWM11DCH5               PWM11DCHbits.PWM11DCH5          // bit 5
#define PWM11DCH6               PWM11DCHbits.PWM11DCH6          // bit 6
#define PWM11DCH7               PWM11DCHbits.PWM11DCH7          // bit 7

#define PWM11DCL0               PWM11DCLbits.PWM11DCL0          // bit 0
#define PWM11DCL1               PWM11DCLbits.PWM11DCL1          // bit 1
#define PWM11DCL2               PWM11DCLbits.PWM11DCL2          // bit 2
#define PWM11DCL3               PWM11DCLbits.PWM11DCL3          // bit 3
#define PWM11DCL4               PWM11DCLbits.PWM11DCL4          // bit 4
#define PWM11DCL5               PWM11DCLbits.PWM11DCL5          // bit 5
#define PWM11DCL6               PWM11DCLbits.PWM11DCL6          // bit 6
#define PWM11DCL7               PWM11DCLbits.PWM11DCL7          // bit 7

#define PWM11OFH0               PWM11OFHbits.PWM11OFH0          // bit 0
#define PWM11OFH1               PWM11OFHbits.PWM11OFH1          // bit 1
#define PWM11OFH2               PWM11OFHbits.PWM11OFH2          // bit 2
#define PWM11OFH3               PWM11OFHbits.PWM11OFH3          // bit 3
#define PWM11OFH4               PWM11OFHbits.PWM11OFH4          // bit 4
#define PWM11OFH5               PWM11OFHbits.PWM11OFH5          // bit 5
#define PWM11OFH6               PWM11OFHbits.PWM11OFH6          // bit 6
#define PWM11OFH7               PWM11OFHbits.PWM11OFH7          // bit 7

#define PWM11OFL0               PWM11OFLbits.PWM11OFL0          // bit 0
#define PWM11OFL1               PWM11OFLbits.PWM11OFL1          // bit 1
#define PWM11OFL2               PWM11OFLbits.PWM11OFL2          // bit 2
#define PWM11OFL3               PWM11OFLbits.PWM11OFL3          // bit 3
#define PWM11OFL4               PWM11OFLbits.PWM11OFL4          // bit 4
#define PWM11OFL5               PWM11OFLbits.PWM11OFL5          // bit 5
#define PWM11OFL6               PWM11OFLbits.PWM11OFL6          // bit 6
#define PWM11OFL7               PWM11OFLbits.PWM11OFL7          // bit 7

#define PWM11PHH0               PWM11PHHbits.PWM11PHH0          // bit 0
#define PWM11PHH1               PWM11PHHbits.PWM11PHH1          // bit 1
#define PWM11PHH2               PWM11PHHbits.PWM11PHH2          // bit 2
#define PWM11PHH3               PWM11PHHbits.PWM11PHH3          // bit 3
#define PWM11PHH4               PWM11PHHbits.PWM11PHH4          // bit 4
#define PWM11PHH5               PWM11PHHbits.PWM11PHH5          // bit 5
#define PWM11PHH6               PWM11PHHbits.PWM11PHH6          // bit 6
#define PWM11PHH7               PWM11PHHbits.PWM11PHH7          // bit 7

#define PWM11PHL0               PWM11PHLbits.PWM11PHL0          // bit 0
#define PWM11PHL1               PWM11PHLbits.PWM11PHL1          // bit 1
#define PWM11PHL2               PWM11PHLbits.PWM11PHL2          // bit 2
#define PWM11PHL3               PWM11PHLbits.PWM11PHL3          // bit 3
#define PWM11PHL4               PWM11PHLbits.PWM11PHL4          // bit 4
#define PWM11PHL5               PWM11PHLbits.PWM11PHL5          // bit 5
#define PWM11PHL6               PWM11PHLbits.PWM11PHL6          // bit 6
#define PWM11PHL7               PWM11PHLbits.PWM11PHL7          // bit 7

#define PWM11PRH0               PWM11PRHbits.PWM11PRH0          // bit 0
#define PWM11PRH1               PWM11PRHbits.PWM11PRH1          // bit 1
#define PWM11PRH2               PWM11PRHbits.PWM11PRH2          // bit 2
#define PWM11PRH3               PWM11PRHbits.PWM11PRH3          // bit 3
#define PWM11PRH4               PWM11PRHbits.PWM11PRH4          // bit 4
#define PWM11PRH5               PWM11PRHbits.PWM11PRH5          // bit 5
#define PWM11PRH6               PWM11PRHbits.PWM11PRH6          // bit 6
#define PWM11PRH7               PWM11PRHbits.PWM11PRH7          // bit 7

#define PWM11PRL0               PWM11PRLbits.PWM11PRL0          // bit 0
#define PWM11PRL1               PWM11PRLbits.PWM11PRL1          // bit 1
#define PWM11PRL2               PWM11PRLbits.PWM11PRL2          // bit 2
#define PWM11PRL3               PWM11PRLbits.PWM11PRL3          // bit 3
#define PWM11PRL4               PWM11PRLbits.PWM11PRL4          // bit 4
#define PWM11PRL5               PWM11PRLbits.PWM11PRL5          // bit 5
#define PWM11PRL6               PWM11PRLbits.PWM11PRL6          // bit 6
#define PWM11PRL7               PWM11PRLbits.PWM11PRL7          // bit 7

#define PWM11TMRH0              PWM11TMRHbits.PWM11TMRH0        // bit 0
#define PWM11TMRH1              PWM11TMRHbits.PWM11TMRH1        // bit 1
#define PWM11TMRH2              PWM11TMRHbits.PWM11TMRH2        // bit 2
#define PWM11TMRH3              PWM11TMRHbits.PWM11TMRH3        // bit 3
#define PWM11TMRH4              PWM11TMRHbits.PWM11TMRH4        // bit 4
#define PWM11TMRH5              PWM11TMRHbits.PWM11TMRH5        // bit 5
#define PWM11TMRH6              PWM11TMRHbits.PWM11TMRH6        // bit 6
#define PWM11TMRH7              PWM11TMRHbits.PWM11TMRH7        // bit 7

#define PWM11TMRL0              PWM11TMRLbits.PWM11TMRL0        // bit 0
#define PWM11TMRL1              PWM11TMRLbits.PWM11TMRL1        // bit 1
#define PWM11TMRL2              PWM11TMRLbits.PWM11TMRL2        // bit 2
#define PWM11TMRL3              PWM11TMRLbits.PWM11TMRL3        // bit 3
#define PWM11TMRL4              PWM11TMRLbits.PWM11TMRL4        // bit 4
#define PWM11TMRL5              PWM11TMRLbits.PWM11TMRL5        // bit 5
#define PWM11TMRL6              PWM11TMRLbits.PWM11TMRL6        // bit 6
#define PWM11TMRL7              PWM11TMRLbits.PWM11TMRL7        // bit 7

#define PWM12DCH0               PWM12DCHbits.PWM12DCH0          // bit 0
#define PWM12DCH1               PWM12DCHbits.PWM12DCH1          // bit 1
#define PWM12DCH2               PWM12DCHbits.PWM12DCH2          // bit 2
#define PWM12DCH3               PWM12DCHbits.PWM12DCH3          // bit 3
#define PWM12DCH4               PWM12DCHbits.PWM12DCH4          // bit 4
#define PWM12DCH5               PWM12DCHbits.PWM12DCH5          // bit 5
#define PWM12DCH6               PWM12DCHbits.PWM12DCH6          // bit 6
#define PWM12DCH7               PWM12DCHbits.PWM12DCH7          // bit 7

#define PWM12DCL0               PWM12DCLbits.PWM12DCL0          // bit 0
#define PWM12DCL1               PWM12DCLbits.PWM12DCL1          // bit 1
#define PWM12DCL2               PWM12DCLbits.PWM12DCL2          // bit 2
#define PWM12DCL3               PWM12DCLbits.PWM12DCL3          // bit 3
#define PWM12DCL4               PWM12DCLbits.PWM12DCL4          // bit 4
#define PWM12DCL5               PWM12DCLbits.PWM12DCL5          // bit 5
#define PWM12DCL6               PWM12DCLbits.PWM12DCL6          // bit 6
#define PWM12DCL7               PWM12DCLbits.PWM12DCL7          // bit 7

#define PWM12OFH0               PWM12OFHbits.PWM12OFH0          // bit 0
#define PWM12OFH1               PWM12OFHbits.PWM12OFH1          // bit 1
#define PWM12OFH2               PWM12OFHbits.PWM12OFH2          // bit 2
#define PWM12OFH3               PWM12OFHbits.PWM12OFH3          // bit 3
#define PWM12OFH4               PWM12OFHbits.PWM12OFH4          // bit 4
#define PWM12OFH5               PWM12OFHbits.PWM12OFH5          // bit 5
#define PWM12OFH6               PWM12OFHbits.PWM12OFH6          // bit 6
#define PWM12OFH7               PWM12OFHbits.PWM12OFH7          // bit 7

#define PWM12OFL0               PWM12OFLbits.PWM12OFL0          // bit 0
#define PWM12OFL1               PWM12OFLbits.PWM12OFL1          // bit 1
#define PWM12OFL2               PWM12OFLbits.PWM12OFL2          // bit 2
#define PWM12OFL3               PWM12OFLbits.PWM12OFL3          // bit 3
#define PWM12OFL4               PWM12OFLbits.PWM12OFL4          // bit 4
#define PWM12OFL5               PWM12OFLbits.PWM12OFL5          // bit 5
#define PWM12OFL6               PWM12OFLbits.PWM12OFL6          // bit 6
#define PWM12OFL7               PWM12OFLbits.PWM12OFL7          // bit 7

#define PWM12PHH0               PWM12PHHbits.PWM12PHH0          // bit 0
#define PWM12PHH1               PWM12PHHbits.PWM12PHH1          // bit 1
#define PWM12PHH2               PWM12PHHbits.PWM12PHH2          // bit 2
#define PWM12PHH3               PWM12PHHbits.PWM12PHH3          // bit 3
#define PWM12PHH4               PWM12PHHbits.PWM12PHH4          // bit 4
#define PWM12PHH5               PWM12PHHbits.PWM12PHH5          // bit 5
#define PWM12PHH6               PWM12PHHbits.PWM12PHH6          // bit 6
#define PWM12PHH7               PWM12PHHbits.PWM12PHH7          // bit 7

#define PWM12PHL0               PWM12PHLbits.PWM12PHL0          // bit 0
#define PWM12PHL1               PWM12PHLbits.PWM12PHL1          // bit 1
#define PWM12PHL2               PWM12PHLbits.PWM12PHL2          // bit 2
#define PWM12PHL3               PWM12PHLbits.PWM12PHL3          // bit 3
#define PWM12PHL4               PWM12PHLbits.PWM12PHL4          // bit 4
#define PWM12PHL5               PWM12PHLbits.PWM12PHL5          // bit 5
#define PWM12PHL6               PWM12PHLbits.PWM12PHL6          // bit 6
#define PWM12PHL7               PWM12PHLbits.PWM12PHL7          // bit 7

#define PWM12PRH0               PWM12PRHbits.PWM12PRH0          // bit 0
#define PWM12PRH1               PWM12PRHbits.PWM12PRH1          // bit 1
#define PWM12PRH2               PWM12PRHbits.PWM12PRH2          // bit 2
#define PWM12PRH3               PWM12PRHbits.PWM12PRH3          // bit 3
#define PWM12PRH4               PWM12PRHbits.PWM12PRH4          // bit 4
#define PWM12PRH5               PWM12PRHbits.PWM12PRH5          // bit 5
#define PWM12PRH6               PWM12PRHbits.PWM12PRH6          // bit 6
#define PWM12PRH7               PWM12PRHbits.PWM12PRH7          // bit 7

#define PWM12PRL0               PWM12PRLbits.PWM12PRL0          // bit 0
#define PWM12PRL1               PWM12PRLbits.PWM12PRL1          // bit 1
#define PWM12PRL2               PWM12PRLbits.PWM12PRL2          // bit 2
#define PWM12PRL3               PWM12PRLbits.PWM12PRL3          // bit 3
#define PWM12PRL4               PWM12PRLbits.PWM12PRL4          // bit 4
#define PWM12PRL5               PWM12PRLbits.PWM12PRL5          // bit 5
#define PWM12PRL6               PWM12PRLbits.PWM12PRL6          // bit 6
#define PWM12PRL7               PWM12PRLbits.PWM12PRL7          // bit 7

#define PWM12TMRH0              PWM12TMRHbits.PWM12TMRH0        // bit 0
#define PWM12TMRH1              PWM12TMRHbits.PWM12TMRH1        // bit 1
#define PWM12TMRH2              PWM12TMRHbits.PWM12TMRH2        // bit 2
#define PWM12TMRH3              PWM12TMRHbits.PWM12TMRH3        // bit 3
#define PWM12TMRH4              PWM12TMRHbits.PWM12TMRH4        // bit 4
#define PWM12TMRH5              PWM12TMRHbits.PWM12TMRH5        // bit 5
#define PWM12TMRH6              PWM12TMRHbits.PWM12TMRH6        // bit 6
#define PWM12TMRH7              PWM12TMRHbits.PWM12TMRH7        // bit 7

#define PWM12TMRL0              PWM12TMRLbits.PWM12TMRL0        // bit 0
#define PWM12TMRL1              PWM12TMRLbits.PWM12TMRL1        // bit 1
#define PWM12TMRL2              PWM12TMRLbits.PWM12TMRL2        // bit 2
#define PWM12TMRL3              PWM12TMRLbits.PWM12TMRL3        // bit 3
#define PWM12TMRL4              PWM12TMRLbits.PWM12TMRL4        // bit 4
#define PWM12TMRL5              PWM12TMRLbits.PWM12TMRL5        // bit 5
#define PWM12TMRL6              PWM12TMRLbits.PWM12TMRL6        // bit 6
#define PWM12TMRL7              PWM12TMRLbits.PWM12TMRL7        // bit 7

#define MPWM5EN                 PWMENbits.MPWM5EN               // bit 0
#define MPWM6EN                 PWMENbits.MPWM6EN               // bit 1
#define MPWM11EN                PWMENbits.MPWM11EN              // bit 2
#define MPWM12EN                PWMENbits.MPWM12EN              // bit 3

#define MPWM5LD                 PWMLDbits.MPWM5LD               // bit 0
#define MPWM6LD                 PWMLDbits.MPWM6LD               // bit 1
#define MPWM11LD                PWMLDbits.MPWM11LD              // bit 2
#define MPWM12LD                PWMLDbits.MPWM12LD              // bit 3

#define MPWM5OUT                PWMOUTbits.MPWM5OUT             // bit 0
#define MPWM6OUT                PWMOUTbits.MPWM6OUT             // bit 1
#define MPWM11OUT               PWMOUTbits.MPWM11OUT            // bit 2
#define MPWM12OUT               PWMOUTbits.MPWM12OUT            // bit 3

#define RX9D                    RC1STAbits.RX9D                 // bit 0
#define OERR                    RC1STAbits.OERR                 // bit 1
#define FERR                    RC1STAbits.FERR                 // bit 2
#define ADDEN                   RC1STAbits.ADDEN                // bit 3
#define CREN                    RC1STAbits.CREN                 // bit 4
#define SREN                    RC1STAbits.SREN                 // bit 5
#define RX9                     RC1STAbits.RX9                  // bit 6
#define SPEN                    RC1STAbits.SPEN                 // bit 7

#define SLRA0                   SLRCONAbits.SLRA0               // bit 0
#define SLRA1                   SLRCONAbits.SLRA1               // bit 1
#define SLRA2                   SLRCONAbits.SLRA2               // bit 2
#define SLRA3                   SLRCONAbits.SLRA3               // bit 3
#define SLRA4                   SLRCONAbits.SLRA4               // bit 4
#define SLRA5                   SLRCONAbits.SLRA5               // bit 5
#define SLRA6                   SLRCONAbits.SLRA6               // bit 6
#define SLRA7                   SLRCONAbits.SLRA7               // bit 7

#define SLRB0                   SLRCONBbits.SLRB0               // bit 0
#define SLRB1                   SLRCONBbits.SLRB1               // bit 1
#define SLRB2                   SLRCONBbits.SLRB2               // bit 2
#define SLRB3                   SLRCONBbits.SLRB3               // bit 3
#define SLRB4                   SLRCONBbits.SLRB4               // bit 4
#define SLRB5                   SLRCONBbits.SLRB5               // bit 5
#define SLRB6                   SLRCONBbits.SLRB6               // bit 6
#define SLRB7                   SLRCONBbits.SLRB7               // bit 7

#define SLRC0                   SLRCONCbits.SLRC0               // bit 0
#define SLRC1                   SLRCONCbits.SLRC1               // bit 1
#define SLRC2                   SLRCONCbits.SLRC2               // bit 2
#define SLRC3                   SLRCONCbits.SLRC3               // bit 3
#define SLRC4                   SLRCONCbits.SLRC4               // bit 4
#define SLRC5                   SLRCONCbits.SLRC5               // bit 5
#define SLRC6                   SLRCONCbits.SLRC6               // bit 6
#define SLRC7                   SLRCONCbits.SLRC7               // bit 7

#define SLRD0                   SLRCONDbits.SLRD0               // bit 0
#define SLRD1                   SLRCONDbits.SLRD1               // bit 1
#define SLRD2                   SLRCONDbits.SLRD2               // bit 2
#define SLRD3                   SLRCONDbits.SLRD3               // bit 3
#define SLRD4                   SLRCONDbits.SLRD4               // bit 4
#define SLRD5                   SLRCONDbits.SLRD5               // bit 5
#define SLRD6                   SLRCONDbits.SLRD6               // bit 6
#define SLRD7                   SLRCONDbits.SLRD7               // bit 7

#define SLRE0                   SLRCONEbits.SLRE0               // bit 0
#define SLRE1                   SLRCONEbits.SLRE1               // bit 1
#define SLRE2                   SLRCONEbits.SLRE2               // bit 2

#define SSP1ADD0                SSP1ADDbits.SSP1ADD0            // bit 0, shadows bit in SSP1ADDbits
#define ADD0                    SSP1ADDbits.ADD0                // bit 0, shadows bit in SSP1ADDbits
#define SSP1ADD1                SSP1ADDbits.SSP1ADD1            // bit 1, shadows bit in SSP1ADDbits
#define ADD1                    SSP1ADDbits.ADD1                // bit 1, shadows bit in SSP1ADDbits
#define SSP1ADD2                SSP1ADDbits.SSP1ADD2            // bit 2, shadows bit in SSP1ADDbits
#define ADD2                    SSP1ADDbits.ADD2                // bit 2, shadows bit in SSP1ADDbits
#define SSP1ADD3                SSP1ADDbits.SSP1ADD3            // bit 3, shadows bit in SSP1ADDbits
#define ADD3                    SSP1ADDbits.ADD3                // bit 3, shadows bit in SSP1ADDbits
#define SSP1ADD4                SSP1ADDbits.SSP1ADD4            // bit 4, shadows bit in SSP1ADDbits
#define ADD4                    SSP1ADDbits.ADD4                // bit 4, shadows bit in SSP1ADDbits
#define SSP1ADD5                SSP1ADDbits.SSP1ADD5            // bit 5, shadows bit in SSP1ADDbits
#define ADD5                    SSP1ADDbits.ADD5                // bit 5, shadows bit in SSP1ADDbits
#define SSP1ADD6                SSP1ADDbits.SSP1ADD6            // bit 6, shadows bit in SSP1ADDbits
#define ADD6                    SSP1ADDbits.ADD6                // bit 6, shadows bit in SSP1ADDbits
#define SSP1ADD7                SSP1ADDbits.SSP1ADD7            // bit 7, shadows bit in SSP1ADDbits
#define ADD7                    SSP1ADDbits.ADD7                // bit 7, shadows bit in SSP1ADDbits

#define SSP1BUF0                SSP1BUFbits.SSP1BUF0            // bit 0, shadows bit in SSP1BUFbits
#define BUF0                    SSP1BUFbits.BUF0                // bit 0, shadows bit in SSP1BUFbits
#define SSP1BUF1                SSP1BUFbits.SSP1BUF1            // bit 1, shadows bit in SSP1BUFbits
#define BUF1                    SSP1BUFbits.BUF1                // bit 1, shadows bit in SSP1BUFbits
#define SSP1BUF2                SSP1BUFbits.SSP1BUF2            // bit 2, shadows bit in SSP1BUFbits
#define BUF2                    SSP1BUFbits.BUF2                // bit 2, shadows bit in SSP1BUFbits
#define SSP1BUF3                SSP1BUFbits.SSP1BUF3            // bit 3, shadows bit in SSP1BUFbits
#define BUF3                    SSP1BUFbits.BUF3                // bit 3, shadows bit in SSP1BUFbits
#define SSP1BUF4                SSP1BUFbits.SSP1BUF4            // bit 4, shadows bit in SSP1BUFbits
#define BUF4                    SSP1BUFbits.BUF4                // bit 4, shadows bit in SSP1BUFbits
#define SSP1BUF5                SSP1BUFbits.SSP1BUF5            // bit 5, shadows bit in SSP1BUFbits
#define BUF5                    SSP1BUFbits.BUF5                // bit 5, shadows bit in SSP1BUFbits
#define SSP1BUF6                SSP1BUFbits.SSP1BUF6            // bit 6, shadows bit in SSP1BUFbits
#define BUF6                    SSP1BUFbits.BUF6                // bit 6, shadows bit in SSP1BUFbits
#define SSP1BUF7                SSP1BUFbits.SSP1BUF7            // bit 7, shadows bit in SSP1BUFbits
#define BUF7                    SSP1BUFbits.BUF7                // bit 7, shadows bit in SSP1BUFbits

#define SSPM0                   SSP1CONbits.SSPM0               // bit 0
#define SSPM1                   SSP1CONbits.SSPM1               // bit 1
#define SSPM2                   SSP1CONbits.SSPM2               // bit 2
#define SSPM3                   SSP1CONbits.SSPM3               // bit 3
#define CKP                     SSP1CONbits.CKP                 // bit 4
#define SSPEN                   SSP1CONbits.SSPEN               // bit 5
#define SSPOV                   SSP1CONbits.SSPOV               // bit 6
#define WCOL                    SSP1CONbits.WCOL                // bit 7

#define SEN                     SSP1CON2bits.SEN                // bit 0
#define RSEN                    SSP1CON2bits.RSEN               // bit 1
#define PEN                     SSP1CON2bits.PEN                // bit 2
#define RCEN                    SSP1CON2bits.RCEN               // bit 3
#define ACKEN                   SSP1CON2bits.ACKEN              // bit 4
#define ACKDT                   SSP1CON2bits.ACKDT              // bit 5
#define ACKSTAT                 SSP1CON2bits.ACKSTAT            // bit 6
#define GCEN                    SSP1CON2bits.GCEN               // bit 7

#define DHEN                    SSP1CON3bits.DHEN               // bit 0
#define AHEN                    SSP1CON3bits.AHEN               // bit 1
#define SBCDE                   SSP1CON3bits.SBCDE              // bit 2
#define SDAHT                   SSP1CON3bits.SDAHT              // bit 3
#define BOEN                    SSP1CON3bits.BOEN               // bit 4
#define SCIE                    SSP1CON3bits.SCIE               // bit 5
#define PCIE                    SSP1CON3bits.PCIE               // bit 6
#define ACKTIM                  SSP1CON3bits.ACKTIM             // bit 7

#define SSP1MSK0                SSP1MSKbits.SSP1MSK0            // bit 0, shadows bit in SSP1MSKbits
#define MSK0                    SSP1MSKbits.MSK0                // bit 0, shadows bit in SSP1MSKbits
#define SSP1MSK1                SSP1MSKbits.SSP1MSK1            // bit 1, shadows bit in SSP1MSKbits
#define MSK1                    SSP1MSKbits.MSK1                // bit 1, shadows bit in SSP1MSKbits
#define SSP1MSK2                SSP1MSKbits.SSP1MSK2            // bit 2, shadows bit in SSP1MSKbits
#define MSK2                    SSP1MSKbits.MSK2                // bit 2, shadows bit in SSP1MSKbits
#define SSP1MSK3                SSP1MSKbits.SSP1MSK3            // bit 3, shadows bit in SSP1MSKbits
#define MSK3                    SSP1MSKbits.MSK3                // bit 3, shadows bit in SSP1MSKbits
#define SSP1MSK4                SSP1MSKbits.SSP1MSK4            // bit 4, shadows bit in SSP1MSKbits
#define MSK4                    SSP1MSKbits.MSK4                // bit 4, shadows bit in SSP1MSKbits
#define SSP1MSK5                SSP1MSKbits.SSP1MSK5            // bit 5, shadows bit in SSP1MSKbits
#define MSK5                    SSP1MSKbits.MSK5                // bit 5, shadows bit in SSP1MSKbits
#define SSP1MSK6                SSP1MSKbits.SSP1MSK6            // bit 6, shadows bit in SSP1MSKbits
#define MSK6                    SSP1MSKbits.MSK6                // bit 6, shadows bit in SSP1MSKbits
#define SSP1MSK7                SSP1MSKbits.SSP1MSK7            // bit 7, shadows bit in SSP1MSKbits
#define MSK7                    SSP1MSKbits.MSK7                // bit 7, shadows bit in SSP1MSKbits

#define BF                      SSP1STATbits.BF                 // bit 0
#define UA                      SSP1STATbits.UA                 // bit 1
#define R_NOT_W                 SSP1STATbits.R_NOT_W            // bit 2
#define S                       SSP1STATbits.S                  // bit 3
#define P                       SSP1STATbits.P                  // bit 4
#define D_NOT_A                 SSP1STATbits.D_NOT_A            // bit 5
#define CKE                     SSP1STATbits.CKE                // bit 6
#define SMP                     SSP1STATbits.SMP                // bit 7

#define C                       STATUSbits.C                    // bit 0
#define DC                      STATUSbits.DC                   // bit 1
#define Z                       STATUSbits.Z                    // bit 2
#define NOT_PD                  STATUSbits.NOT_PD               // bit 3
#define NOT_TO                  STATUSbits.NOT_TO               // bit 4

#define C_SHAD                  STATUS_SHADbits.C_SHAD          // bit 0
#define DC_SHAD                 STATUS_SHADbits.DC_SHAD         // bit 1
#define Z_SHAD                  STATUS_SHADbits.Z_SHAD          // bit 2

#define GSS0                    T1GCONbits.GSS0                 // bit 0, shadows bit in T1GCONbits
#define T1GSS0                  T1GCONbits.T1GSS0               // bit 0, shadows bit in T1GCONbits
#define GSS1                    T1GCONbits.GSS1                 // bit 1, shadows bit in T1GCONbits
#define T1GSS1                  T1GCONbits.T1GSS1               // bit 1, shadows bit in T1GCONbits
#define GVAL                    T1GCONbits.GVAL                 // bit 2, shadows bit in T1GCONbits
#define T1GVAL                  T1GCONbits.T1GVAL               // bit 2, shadows bit in T1GCONbits
#define GGO_NOT_DONE            T1GCONbits.GGO_NOT_DONE         // bit 3, shadows bit in T1GCONbits
#define T1GGO_NOT_DONE          T1GCONbits.T1GGO_NOT_DONE       // bit 3, shadows bit in T1GCONbits
#define GSPM                    T1GCONbits.GSPM                 // bit 4, shadows bit in T1GCONbits
#define T1GSPM                  T1GCONbits.T1GSPM               // bit 4, shadows bit in T1GCONbits
#define GTM                     T1GCONbits.GTM                  // bit 5, shadows bit in T1GCONbits
#define T1GTM                   T1GCONbits.T1GTM                // bit 5, shadows bit in T1GCONbits
#define GPOL                    T1GCONbits.GPOL                 // bit 6, shadows bit in T1GCONbits
#define T1GPOL                  T1GCONbits.T1GPOL               // bit 6, shadows bit in T1GCONbits
#define GE                      T1GCONbits.GE                   // bit 7, shadows bit in T1GCONbits
#define T1GE                    T1GCONbits.T1GE                 // bit 7, shadows bit in T1GCONbits
#define TMR1GE                  T1GCONbits.TMR1GE               // bit 7, shadows bit in T1GCONbits

#define RSEL0                   T2RSTbits.RSEL0                 // bit 0, shadows bit in T2RSTbits
#define T2RSEL0                 T2RSTbits.T2RSEL0               // bit 0, shadows bit in T2RSTbits
#define RSEL1                   T2RSTbits.RSEL1                 // bit 1, shadows bit in T2RSTbits
#define T2RSEL1                 T2RSTbits.T2RSEL1               // bit 1, shadows bit in T2RSTbits
#define RSEL2                   T2RSTbits.RSEL2                 // bit 2, shadows bit in T2RSTbits
#define T2RSEL2                 T2RSTbits.T2RSEL2               // bit 2, shadows bit in T2RSTbits
#define RSEL3                   T2RSTbits.RSEL3                 // bit 3, shadows bit in T2RSTbits
#define T2RSEL3                 T2RSTbits.T2RSEL3               // bit 3, shadows bit in T2RSTbits
#define RSEL4                   T2RSTbits.RSEL4                 // bit 4, shadows bit in T2RSTbits
#define T2RSEL4                 T2RSTbits.T2RSEL4               // bit 4, shadows bit in T2RSTbits

#define TRISA0                  TRISAbits.TRISA0                // bit 0
#define TRISA1                  TRISAbits.TRISA1                // bit 1
#define TRISA2                  TRISAbits.TRISA2                // bit 2
#define TRISA3                  TRISAbits.TRISA3                // bit 3
#define TRISA4                  TRISAbits.TRISA4                // bit 4
#define TRISA5                  TRISAbits.TRISA5                // bit 5
#define TRISA6                  TRISAbits.TRISA6                // bit 6
#define TRISA7                  TRISAbits.TRISA7                // bit 7

#define TRISB0                  TRISBbits.TRISB0                // bit 0
#define TRISB1                  TRISBbits.TRISB1                // bit 1
#define TRISB2                  TRISBbits.TRISB2                // bit 2
#define TRISB3                  TRISBbits.TRISB3                // bit 3
#define TRISB4                  TRISBbits.TRISB4                // bit 4
#define TRISB5                  TRISBbits.TRISB5                // bit 5
#define TRISB6                  TRISBbits.TRISB6                // bit 6
#define TRISB7                  TRISBbits.TRISB7                // bit 7

#define TRISC0                  TRISCbits.TRISC0                // bit 0
#define TRISC1                  TRISCbits.TRISC1                // bit 1
#define TRISC2                  TRISCbits.TRISC2                // bit 2
#define TRISC3                  TRISCbits.TRISC3                // bit 3
#define TRISC4                  TRISCbits.TRISC4                // bit 4
#define TRISC5                  TRISCbits.TRISC5                // bit 5
#define TRISC6                  TRISCbits.TRISC6                // bit 6
#define TRISC7                  TRISCbits.TRISC7                // bit 7

#define TRISD0                  TRISDbits.TRISD0                // bit 0
#define TRISD1                  TRISDbits.TRISD1                // bit 1
#define TRISD2                  TRISDbits.TRISD2                // bit 2
#define TRISD3                  TRISDbits.TRISD3                // bit 3
#define TRISD4                  TRISDbits.TRISD4                // bit 4
#define TRISD5                  TRISDbits.TRISD5                // bit 5
#define TRISD6                  TRISDbits.TRISD6                // bit 6
#define TRISD7                  TRISDbits.TRISD7                // bit 7

#define TRISE0                  TRISEbits.TRISE0                // bit 0
#define TRISE1                  TRISEbits.TRISE1                // bit 1
#define TRISE2                  TRISEbits.TRISE2                // bit 2
#define TRISE3                  TRISEbits.TRISE3                // bit 3

#define SWDTEN                  WDTCONbits.SWDTEN               // bit 0
#define WDTPS0                  WDTCONbits.WDTPS0               // bit 1
#define WDTPS1                  WDTCONbits.WDTPS1               // bit 2
#define WDTPS2                  WDTCONbits.WDTPS2               // bit 3
#define WDTPS3                  WDTCONbits.WDTPS3               // bit 4
#define WDTPS4                  WDTCONbits.WDTPS4               // bit 5

#define WPUA0                   WPUAbits.WPUA0                  // bit 0
#define WPUA1                   WPUAbits.WPUA1                  // bit 1
#define WPUA2                   WPUAbits.WPUA2                  // bit 2
#define WPUA3                   WPUAbits.WPUA3                  // bit 3
#define WPUA4                   WPUAbits.WPUA4                  // bit 4
#define WPUA5                   WPUAbits.WPUA5                  // bit 5
#define WPUA6                   WPUAbits.WPUA6                  // bit 6
#define WPUA7                   WPUAbits.WPUA7                  // bit 7

#define WPUB0                   WPUBbits.WPUB0                  // bit 0
#define WPUB1                   WPUBbits.WPUB1                  // bit 1
#define WPUB2                   WPUBbits.WPUB2                  // bit 2
#define WPUB3                   WPUBbits.WPUB3                  // bit 3
#define WPUB4                   WPUBbits.WPUB4                  // bit 4
#define WPUB5                   WPUBbits.WPUB5                  // bit 5
#define WPUB6                   WPUBbits.WPUB6                  // bit 6
#define WPUB7                   WPUBbits.WPUB7                  // bit 7

#define WPUC0                   WPUCbits.WPUC0                  // bit 0
#define WPUC1                   WPUCbits.WPUC1                  // bit 1
#define WPUC2                   WPUCbits.WPUC2                  // bit 2
#define WPUC3                   WPUCbits.WPUC3                  // bit 3
#define WPUC4                   WPUCbits.WPUC4                  // bit 4
#define WPUC5                   WPUCbits.WPUC5                  // bit 5
#define WPUC6                   WPUCbits.WPUC6                  // bit 6
#define WPUC7                   WPUCbits.WPUC7                  // bit 7

#define WPUD0                   WPUDbits.WPUD0                  // bit 0
#define WPUD1                   WPUDbits.WPUD1                  // bit 1
#define WPUD2                   WPUDbits.WPUD2                  // bit 2
#define WPUD3                   WPUDbits.WPUD3                  // bit 3
#define WPUD4                   WPUDbits.WPUD4                  // bit 4
#define WPUD5                   WPUDbits.WPUD5                  // bit 5
#define WPUD6                   WPUDbits.WPUD6                  // bit 6
#define WPUD7                   WPUDbits.WPUD7                  // bit 7

#define WPUE0                   WPUEbits.WPUE0                  // bit 0
#define WPUE1                   WPUEbits.WPUE1                  // bit 1
#define WPUE2                   WPUEbits.WPUE2                  // bit 2
#define WPUE3                   WPUEbits.WPUE3                  // bit 3

#define ZCD1INTN                ZCD1CONbits.ZCD1INTN            // bit 0
#define ZCD1INTP                ZCD1CONbits.ZCD1INTP            // bit 1
#define ZCD1POL                 ZCD1CONbits.ZCD1POL             // bit 4
#define ZCD1OUT                 ZCD1CONbits.ZCD1OUT             // bit 5
#define ZCD1EN                  ZCD1CONbits.ZCD1EN              // bit 7

#endif // #ifndef NO_BIT_DEFINES

#endif // #ifndef __PIC16F1779_H__
