/***********************************************************************/
/*  													               */
/*      PROJECT NAME :  RTOSDemo                                       */
/*      FILE         :  iodefine.h                                     */
/*      DESCRIPTION  :  Definition of I/O Registers                    */
/*      CPU SERIES   :  RX600                                          */
/*      CPU TYPE     :  RX64M                                          */
/*  													               */
/*      This file is generated by e2 studio.                        */
/*  													               */
/***********************************************************************/                                                                          
                                                                           
                                                                           
                                                                           
                                                                          


/********************************************************************************
*
* Device     : RX/RX600/RX64M
*
* File Name  : iodefine.h
*
* Abstract   : Definition of I/O Register
*
* History    : 0.20 (2013-10-03)  [Hardware Manual Revision : 0.40]
*
* Note       : This is a typical example.
*
* Copyright (C) 2013 Renesas Electronics Corporation and
* Renesas Solutions Corp. All rights reserved.
*
*********************************************************************************/
/*                                                                              */
/*  CPU TYPE    : RX64M                                                         */
/*  DESCRIPTION : Definition of ICU Register                                    */
/*                                                                              */
/*  Usage : IR,DTCER,IER,IPR of ICU Register                                    */
/*     The following IR, DTCE, IEN, IPR macro functions simplify usage.         */
/*     The bit access operation is "Bit_Name(interrupt source,name)".           */
/*     A part of the name can be omitted.                                       */
/*       IR(BSC,BUSERR) = 0;     expands to :                                   */
/*     for example :                                                            */
/*         ICU.IR[16].BIT.IR = 0;                                               */
/*                                                                              */
/*       DTCE(ICU,IRQ0) = 1;     expands to :                                   */
/*         ICU.DTCER[64].BIT.DTCE = 1;                                          */
/*                                                                              */
/*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
/*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
/*                                                                              */
/*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
/*     The number of vector is "(interrupt source, name)".                      */
/*       #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0))          expands to :  */
/*     for example :                                                            */
/*       #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0))    expands to :  */
/*                                                                              */
/*  Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register                          */
/*     The bit access operation is "MSTP(name)".                                */
/*     The name that can be used is a macro name defined with "iodefine.h".     */
/*       MSTP(TMR2) = 0;    // TMR2,TMR3                          expands to :  */
/*     for example :                                                            */
/*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
/*       MSTP(SCI0) = 0;    // SCI0,SMCI0                         expands to :  */
/*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
/*       MSTP(TPU4) = 0;    // TPU0,TPU1,TPU2,TPU3,TPU4,TPU5      expands to :  */
/*         SYSTEM.MSTPCRA.BIT.MSTPA13 = 0;                                      */
/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
/*                                                                              */
/*                                                                              */
/********************************************************************************/


#ifndef __RX64MIODEFINE_HEADER__
#define __RX64MIODEFINE_HEADER__

#ifdef __RX_LITTLE_ENDIAN__

struct st_bsc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char STSCLR:1;
            unsigned char :7;
        } BIT;
    } BERCLR;
    char           wk0[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IGAEN:1;
            unsigned char TOEN:1;
            unsigned char :6;
        } BIT;
    } BEREN;
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IA:1;
            unsigned char TO:1;
            unsigned char :2;
            unsigned char MST:3;
            unsigned char :1;
        } BIT;
    } BERSR1;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short ADDR:13;
        } BIT;
    } BERSR2;
    char           wk3[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short BPRA:2;
            unsigned short BPRO:2;
            unsigned short BPIB:2;
            unsigned short BPGB:2;
            unsigned short BPHB:2;
            unsigned short BPFB:2;
            unsigned short BPEB:2;
            unsigned short :2;
        } BIT;
    } BUSPRI;
    char           wk4[7408];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS0MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS0WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS0WCR2;
    char           wk5[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS1MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS1WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS1WCR2;
    char           wk6[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS2MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS2WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS2WCR2;
    char           wk7[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS3MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS3WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS3WCR2;
    char           wk8[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS4MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS4WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS4WCR2;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS5MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS5WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS5WCR2;
    char           wk10[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS6MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS6WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS6WCR2;
    char           wk11[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short WRMOD:1;
            unsigned short :2;
            unsigned short EWENB:1;
            unsigned short :4;
            unsigned short PRENB:1;
            unsigned short PWENB:1;
            unsigned short :5;
            unsigned short PRMOD:1;
        } BIT;
    } CS7MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSPWWAIT:3;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSWWAIT:5;
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
        } BIT;
    } CS7WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CSROFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long AWAIT:2;
            unsigned long :2;
            unsigned long RDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
        } BIT;
    } CS7WCR2;
    char           wk12[1926];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS0CR;
    char           wk13[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS0REC;
    char           wk14[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS1CR;
    char           wk15[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS1REC;
    char           wk16[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS2CR;
    char           wk17[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS2REC;
    char           wk18[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS3CR;
    char           wk19[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS3REC;
    char           wk20[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS4CR;
    char           wk21[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS4REC;
    char           wk22[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS5CR;
    char           wk23[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS5REC;
    char           wk24[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS6CR;
    char           wk25[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS6REC;
    char           wk26[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short EXENB:1;
            unsigned short :3;
            unsigned short BSIZE:2;
            unsigned short :2;
            unsigned short EMODE:1;
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
        } BIT;
    } CS7CR;
    char           wk27[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short RRCV:4;
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
        } BIT;
    } CS7REC;
    char           wk28[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short RCVEN0:1;
            unsigned short RCVEN1:1;
            unsigned short RCVEN2:1;
            unsigned short RCVEN3:1;
            unsigned short RCVEN4:1;
            unsigned short RCVEN5:1;
            unsigned short RCVEN6:1;
            unsigned short RCVEN7:1;
            unsigned short RCVENM0:1;
            unsigned short RCVENM1:1;
            unsigned short RCVENM2:1;
            unsigned short RCVENM3:1;
            unsigned short RCVENM4:1;
            unsigned short RCVENM5:1;
            unsigned short RCVENM6:1;
            unsigned short RCVENM7:1;
        } BIT;
    } CSRECEN;
    char           wk29[894];
    union {
        unsigned char BYTE;
        struct {
            unsigned char EXENB:1;
            unsigned char :3;
            unsigned char BSIZE:2;
            unsigned char :2;
        } BIT;
    } SDCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char EMODE:1;
            unsigned char :7;
        } BIT;
    } SDCMOD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BE:1;
            unsigned char :7;
        } BIT;
    } SDAMOD;
    char           wk30[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SFEN:1;
            unsigned char :7;
        } BIT;
    } SDSELF;
    char           wk31[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short RFC:12;
            unsigned short REFW:4;
        } BIT;
    } SDRFCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RFEN:1;
            unsigned char :7;
        } BIT;
    } SDRFEN;
    char           wk32[9];
    union {
        unsigned char BYTE;
        struct {
            unsigned char INIRQ:1;
            unsigned char :7;
        } BIT;
    } SDICR;
    char           wk33[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short ARFI:4;
            unsigned short ARFC:4;
            unsigned short PRC:3;
            unsigned short :5;
        } BIT;
    } SDIR;
    char           wk34[26];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MXC:2;
            unsigned char :6;
        } BIT;
    } SDADR;
    char           wk35[3];
    union {
        unsigned long LONG;
        struct {
            unsigned long CL:3;
            unsigned long :5;
            unsigned long WR:1;
            unsigned long RP:3;
            unsigned long RCD:2;
            unsigned long :2;
            unsigned long RAS:3;
            unsigned long :13;
        } BIT;
    } SDTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short MR:15;
            unsigned short :1;
        } BIT;
    } SDMOD;
    char           wk36[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MRSST:1;
            unsigned char :2;
            unsigned char INIST:1;
            unsigned char SRFST:1;
            unsigned char :3;
        } BIT;
    } SDSR;
};

struct st_cac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CFME:1;
            unsigned char :7;
        } BIT;
    } CACR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CACREFE:1;
            unsigned char FMCS:3;
            unsigned char TCSS:2;
            unsigned char EDGES:2;
        } BIT;
    } CACR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RPS:1;
            unsigned char RSCS:3;
            unsigned char RCDS:2;
            unsigned char DFS:2;
        } BIT;
    } CACR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FERRIE:1;
            unsigned char MENDIE:1;
            unsigned char OVFIE:1;
            unsigned char :1;
            unsigned char FERRFCL:1;
            unsigned char MENDFCL:1;
            unsigned char OVFFCL:1;
            unsigned char :1;
        } BIT;
    } CAICR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FERRF:1;
            unsigned char MENDF:1;
            unsigned char OVFF:1;
            unsigned char :5;
        } BIT;
    } CASTR;
    char           wk0[1];
    unsigned short CAULVR;
    unsigned short CALLVR;
    unsigned short CACNTBR;
};

struct st_can {
    struct {
        union {
            unsigned long LONG;
            struct {
                unsigned short H;
                unsigned short L;
            } WORD;
            struct {
                unsigned char HH;
                unsigned char HL;
                unsigned char LH;
                unsigned char LL;
            } BYTE;
            struct {
                unsigned long EID:18;
                unsigned long SID:11;
                unsigned long :1;
                unsigned long RTR:1;
                unsigned long IDE:1;
            } BIT;
        } ID;
        unsigned short DLC;        
        unsigned char  DATA[8];
        unsigned short TS;        
    } MB[32];
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long EID:18;
            unsigned long SID:11;
            unsigned long :3;
        } BIT;
    } MKR[8];
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long EID:18;
            unsigned long SID:11;
            unsigned long :1;
            unsigned long RTR:1;
            unsigned long IDE:1;
        } BIT;
    } FIDCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long EID:18;
            unsigned long SID:11;
            unsigned long :1;
            unsigned long RTR:1;
            unsigned long IDE:1;
        } BIT;
    } FIDCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned char MB0:1;
            unsigned char MB1:1;
            unsigned char MB2:1;
            unsigned char MB3:1;
            unsigned char MB4:1;
            unsigned char MB5:1;
            unsigned char MB6:1;
            unsigned char MB7:1;
            unsigned char MB8:1;
            unsigned char MB9:1;
            unsigned char MB10:1;
            unsigned char MB11:1;
            unsigned char MB12:1;
            unsigned char MB13:1;
            unsigned char MB14:1;
            unsigned char MB15:1;
            unsigned char MB16:1;
            unsigned char MB17:1;
            unsigned char MB18:1;
            unsigned char MB19:1;
            unsigned char MB20:1;
            unsigned char MB21:1;
            unsigned char MB22:1;
            unsigned char MB23:1;
            unsigned char MB24:1;
            unsigned char MB25:1;
            unsigned char MB26:1;
            unsigned char MB27:1;
            unsigned char MB28:1;
            unsigned char MB29:1;
            unsigned char MB30:1;
            unsigned char MB31:1;
        } BIT;
    } MKIVLR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned char MB0:1;
            unsigned char MB1:1;
            unsigned char MB2:1;
            unsigned char MB3:1;
            unsigned char MB4:1;
            unsigned char MB5:1;
            unsigned char MB6:1;
            unsigned char MB7:1;
            unsigned char MB8:1;
            unsigned char MB9:1;
            unsigned char MB10:1;
            unsigned char MB11:1;
            unsigned char MB12:1;
            unsigned char MB13:1;
            unsigned char MB14:1;
            unsigned char MB15:1;
            unsigned char MB16:1;
            unsigned char MB17:1;
            unsigned char MB18:1;
            unsigned char MB19:1;
            unsigned char MB20:1;
            unsigned char MB21:1;
            unsigned char MB22:1;
            unsigned char MB23:1;
            unsigned char MB24:1;
            unsigned char MB25:1;
            unsigned char MB26:1;
            unsigned char MB27:1;
            unsigned char MB28:1;
            unsigned char MB29:1;
            unsigned char MB30:1;
            unsigned char MB31:1;
        } BIT;
    } MIER;
    char           wk0[1008];
    union {
        unsigned char BYTE;
        union {
            struct {
                unsigned char SENTDATA:1;
                unsigned char TRMACTIVE:1;
                unsigned char TRMABT:1;
                unsigned char :1;
                unsigned char ONESHOT:1;
                unsigned char :1;
                unsigned char RECREQ:1;
                unsigned char TRMREQ:1;
            } TX;
            struct {
                unsigned char NEWDATA:1;
                unsigned char INVALDATA:1;
                unsigned char MSGLOST:1;
                unsigned char :1;
                unsigned char ONESHOT:1;
                unsigned char :1;
                unsigned char RECREQ:1;
                unsigned char TRMREQ:1;
            } RX;
        } BIT;
    } MCTL[32];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char MBM:1;
            unsigned char IDFM:2;
            unsigned char MLM:1;
            unsigned char TPM:1;
            unsigned char TSRC:1;
            unsigned char TSPS:2;
            unsigned char CANM:2;
            unsigned char SLPM:1;
            unsigned char BOM:2;
            unsigned char RBOC:1;
            unsigned char :2;
        } BIT;
    } CTLR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char NDST:1;
            unsigned char SDST:1;
            unsigned char RFST:1;
            unsigned char TFST:1;
            unsigned char NMLST:1;
            unsigned char FMLST:1;
            unsigned char TABST:1;
            unsigned char EST:1;
            unsigned char RSTST:1;
            unsigned char HLTST:1;
            unsigned char SLPST:1;
            unsigned char EPST:1;
            unsigned char BOST:1;
            unsigned char TRMST:1;
            unsigned char RECST:1;
            unsigned char :1;
        } BIT;
    } STR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long CCLKS:1;
            unsigned long :7;
            unsigned long TSEG2:3;
            unsigned long :1;
            unsigned long SJW:2;
            unsigned long :2;
            unsigned long BRP:10;
            unsigned long :2;
            unsigned long TSEG1:4;
        } BIT;
    } BCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RFE:1;
            unsigned char RFUST:3;
            unsigned char RFMLF:1;
            unsigned char RFFST:1;
            unsigned char RFWST:1;
            unsigned char RFEST:1;
        } BIT;
    } RFCR;
    unsigned char  RFPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TFE:1;
            unsigned char TFUST:3;
            unsigned char :2;
            unsigned char TFFST:1;
            unsigned char TFEST:1;
        } BIT;
    } TFCR;
    unsigned char  TFPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BEIE:1;
            unsigned char EWIE:1;
            unsigned char EPIE:1;
            unsigned char BOEIE:1;
            unsigned char BORIE:1;
            unsigned char ORIE:1;
            unsigned char OLIE:1;
            unsigned char BLIE:1;
        } BIT;
    } EIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BEIF:1;
            unsigned char EWIF:1;
            unsigned char EPIF:1;
            unsigned char BOEIF:1;
            unsigned char BORIF:1;
            unsigned char ORIF:1;
            unsigned char OLIF:1;
            unsigned char BLIF:1;
        } BIT;
    } EIFR;
    unsigned char  RECR;
    unsigned char  TECR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEF:1;
            unsigned char FEF:1;
            unsigned char AEF:1;
            unsigned char CEF:1;
            unsigned char BE1F:1;
            unsigned char BE0F:1;
            unsigned char ADEF:1;
            unsigned char EDPM:1;
        } BIT;
    } ECSR;
    unsigned char  CSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MBNST:5;
            unsigned char :2;
            unsigned char SEST:1;
        } BIT;
    } MSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MBSM:2;
            unsigned char :6;
        } BIT;
    } MSMR;
    unsigned short TSR;
    unsigned short AFSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TSTE:1;
            unsigned char TSTM:2;
            unsigned char :5;
        } BIT;
    } TCR;
};

struct st_cmt {
    union {
        unsigned short WORD;
        struct {
            unsigned short STR0:1;
            unsigned short STR1:1;
            unsigned short :14;
        } BIT;
    } CMSTR0;
    char           wk0[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short STR2:1;
            unsigned short STR3:1;
            unsigned short :14;
        } BIT;
    } CMSTR1;
};

struct st_cmt0 {
    union {
        unsigned short WORD;
        struct {
            unsigned short CKS:2;
            unsigned short :4;
            unsigned short CMIE:1;
            unsigned short :9;
        } BIT;
    } CMCR;
    unsigned short CMCNT;
    unsigned short CMCOR;
};

struct st_cmtw {
    union {
        unsigned short WORD;
        struct {
            unsigned short STR:1;
            unsigned short :15;
        } BIT;
    } CMWSTR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CKS:2;
            unsigned short :1;
            unsigned short CM2IE:1;
            unsigned short IC0IE:1;
            unsigned short IC1IE:1;
            unsigned short OC0IE:1;
            unsigned short OC1IE:1;
            unsigned short :1;
            unsigned short CMS:1;
            unsigned short :3;
            unsigned short CLLR:3;
        } BIT;
    } CMWCR;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short IC0:2;
            unsigned short IC1:2;
            unsigned short IC0E:1;
            unsigned short IC1E:1;
            unsigned short :2;
            unsigned short OC0:2;
            unsigned short OC1:2;
            unsigned short OC0E:1;
            unsigned short OC1E:1;
            unsigned short :1;
            unsigned short CM2E:1;
        } BIT;
    } CMWIOR;
    char           wk2[6];
    unsigned long  CMWCNT;
    unsigned long  CMWCOR;
    unsigned long  CMWICR0;
    unsigned long  CMWICR1;
    unsigned long  CMWOCR0;
    unsigned long  CMWOCR1;
};

struct st_crc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char GPS:2;
            unsigned char LMS:1;
            unsigned char :4;
            unsigned char DORCLR:1;
        } BIT;
    } CRCCR;
    unsigned char  CRCDIR;
    unsigned short CRCDOR;
};

struct st_da {

    unsigned short DADR0;
    unsigned short DADR1;    
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char DAE:1;
            unsigned char DAOE0:1;
            unsigned char DAOE1:1;
        } BIT;
    } DACR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DPSEL:1;
        } BIT;
    } DADPR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DAADST:1;
        } BIT;
    } DAADSCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char DAAMP0:1;
            unsigned char DAAMP1:1;
        } BIT;
    } DAAMPCR;
};

struct st_dmac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char DMST:1;
            unsigned char :7;
        } BIT;
    } DMAST;
    char           wk0[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char DMIS4:1;
            unsigned char DMIS5:1;
            unsigned char DMIS6:1;
            unsigned char DMIS7:1;
        } BIT;
    } DMIST;
};

struct st_dmac0 {

    void          *DMSAR;
    void          *DMDAR;    
    unsigned long  DMCRA;
    unsigned short DMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short DCTG:2;
            unsigned short :6;
            unsigned short SZ:2;
            unsigned short :2;
            unsigned short DTS:2;
            unsigned short MD:2;
        } BIT;
    } DMTMD;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DARIE:1;
            unsigned char SARIE:1;
            unsigned char RPTIE:1;
            unsigned char ESIE:1;
            unsigned char DTIE:1;
            unsigned char :3;
        } BIT;
    } DMINT;
    union {
        unsigned short WORD;
        struct {
            unsigned short DARA:5;
            unsigned short :1;
            unsigned short DM:2;
            unsigned short SARA:5;
            unsigned short :1;
            unsigned short SM:2;
        } BIT;
    } DMAMD;
    char           wk2[2];
    unsigned long  DMOFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTE:1;
            unsigned char :7;
        } BIT;
    } DMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWREQ:1;
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
        } BIT;
    } DMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ESIF:1;
            unsigned char :3;
            unsigned char DTIF:1;
            unsigned char :2;
            unsigned char ACT:1;
        } BIT;
    } DMSTS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DISEL:1;
            unsigned char :7;
        } BIT;
    } DMCSL;
};

struct st_dmac1 {    

    void          *DMSAR;
    void          *DMDAR;    
    unsigned long  DMCRA;
    unsigned short DMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short DCTG:2;
            unsigned short :6;
            unsigned short SZ:2;
            unsigned short :2;
            unsigned short DTS:2;
            unsigned short MD:2;
        } BIT;
    } DMTMD;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DARIE:1;
            unsigned char SARIE:1;
            unsigned char RPTIE:1;
            unsigned char ESIE:1;
            unsigned char DTIE:1;
            unsigned char :3;
        } BIT;
    } DMINT;
    union {
        unsigned short WORD;
        struct {
            unsigned short DARA:5;
            unsigned short :1;
            unsigned short DM:2;
            unsigned short SARA:5;
            unsigned short :1;
            unsigned short SM:2;
        } BIT;
    } DMAMD;
    char           wk2[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTE:1;
            unsigned char :7;
        } BIT;
    } DMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWREQ:1;
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
        } BIT;
    } DMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ESIF:1;
            unsigned char :3;
            unsigned char DTIF:1;
            unsigned char :2;
            unsigned char ACT:1;
        } BIT;
    } DMSTS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DISEL:1;
            unsigned char :7;
        } BIT;
    } DMCSL;
};

struct st_doc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char OMS:2;
            unsigned char DCSEL:1;
            unsigned char :1;
            unsigned char DOPCIE:1;
            unsigned char DOPCF:1;
            unsigned char DOPCFCL:1;
            unsigned char :1;
        } BIT;
    } DOCR;
    char           wk0[1];
    unsigned short DODIR;
    unsigned short DODSR;
};

struct st_dtc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char RRS:1;
            unsigned char :3;
        } BIT;
    } DTCCR;
    char           wk0[3];

    void          *DTCVBR;    
    union {
        unsigned char BYTE;
        struct {
            unsigned char SHORT:1;
            unsigned char :7;
        } BIT;
    } DTCADMOD;
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTCST:1;
            unsigned char :7;
        } BIT;
    } DTCST;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short VECN:8;
            unsigned short :7;
            unsigned short ACT:1;
        } BIT;
    } DTCSTS;
};

struct st_eccram {
    union {
        unsigned char BYTE;
        struct {
            unsigned char RAMMOD:2;
            unsigned char :6;
        } BIT;
    } ECCRAMMODE;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RAMERR:1;
            unsigned char :7;
        } BIT;
    } ECCRAMSTS;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RAMPRCR:1;
            unsigned char KW:7;
        } BIT;
    } ECCRAMPRCR;
    char           wk1[3];
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long READ:16;
            unsigned long :13;
        } BIT;
    } ECCRAMECAD;
    char           wk2[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RAMPRCR2:1;
            unsigned char KW2:7;
        } BIT;
    } ECCRAMPRCR2;
    char           wk3[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TSTBYP:1;
            unsigned char :7;
        } BIT;
    } ECCRAMETST;
};

struct st_edmac {
    union {
        unsigned long LONG;
        struct {
            unsigned long SWR:1;
            unsigned long :3;
            unsigned long DL:2;
            unsigned long DE:1;
            unsigned long :25;
        } BIT;
    } EDMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long TR:1;
            unsigned long :31;
        } BIT;
    } EDTRR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RR:1;
            unsigned long :31;
        } BIT;
    } EDRRR;
    char           wk2[4];
    void          *TDLAR;
    char           wk3[4];
    void          *RDLAR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long CERF:1;
            unsigned long PRE:1;
            unsigned long RTSF:1;
            unsigned long RTLF:1;
            unsigned long RRF:1;
            unsigned long :2;
            unsigned long RMAF:1;
            unsigned long TRO:1;
            unsigned long CD:1;
            unsigned long DLC:1;
            unsigned long CND:1;
            unsigned long :4;
            unsigned long RFOF:1;
            unsigned long RDE:1;
            unsigned long FR:1;
            unsigned long TFUF:1;
            unsigned long TDE:1;
            unsigned long TC:1;
            unsigned long ECI:1;
            unsigned long ADE:1;
            unsigned long RFCOF:1;
            unsigned long RABT:1;
            unsigned long TABT:1;
            unsigned long :3;
            unsigned long TWB:1;
            unsigned long :1;
        } BIT;
    } EESR;
    char           wk5[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long CERFIP:1;
            unsigned long PREIP:1;
            unsigned long RTSFIP:1;
            unsigned long RTLFIP:1;
            unsigned long RRFIP:1;
            unsigned long :2;
            unsigned long RMAFIP:1;
            unsigned long TROIP:1;
            unsigned long CDIP:1;
            unsigned long DLCIP:1;
            unsigned long CNDIP:1;
            unsigned long :4;
            unsigned long RFOFIP:1;
            unsigned long RDEIP:1;
            unsigned long FRIP:1;
            unsigned long TFUFIP:1;
            unsigned long TDEIP:1;
            unsigned long TCIP:1;
            unsigned long ECIIP:1;
            unsigned long ADEIP:1;
            unsigned long RFCOFIP:1;
            unsigned long RABTIP:1;
            unsigned long TABTIP:1;
            unsigned long :3;
            unsigned long TWBIP:1;
            unsigned long :1;
        } BIT;
    } EESIPR;
    char           wk6[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long CERFCE:1;
            unsigned long PRECE:1;
            unsigned long RTSFCE:1;
            unsigned long RTLFCE:1;
            unsigned long RRFCE:1;
            unsigned long :2;
            unsigned long RMAFCE:1;
            unsigned long TROCE:1;
            unsigned long CDCE:1;
            unsigned long DLCCE:1;
            unsigned long CNDCE:1;
            unsigned long :20;
        } BIT;
    } TRSCER;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long MFC:16;
            unsigned long :16;
        } BIT;
    } RMFCR;
    char           wk8[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long TFT:11;
            unsigned long :21;
        } BIT;
    } TFTR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RFD:5;
            unsigned long :3;
            unsigned long TFD:5;
            unsigned long :19;
        } BIT;
    } FDR;
    char           wk10[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RNR:1;
            unsigned long RNC:1;
            unsigned long :30;
        } BIT;
    } RMCR;
    char           wk11[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long UNDER:16;
            unsigned long :16;
        } BIT;
    } TFUCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long OVER:16;
            unsigned long :16;
        } BIT;
    } RFOCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long ELB:1;
            unsigned long :31;
        } BIT;
    } IOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long RFDO:3;
            unsigned long :13;
            unsigned long RFFO:3;
            unsigned long :13;
        } BIT;
    } FCFTR;
    char           wk12[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long PADR:6;
            unsigned long :10;
            unsigned long PADS:2;
            unsigned long :14;
        } BIT;
    } RPADIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long TIS:1;
            unsigned long :3;
            unsigned long TIM:1;
            unsigned long :27;
        } BIT;
    } TRIMD;
    char           wk13[72];
    void          *RBWAR;
    void          *RDFAR;
    char           wk14[4];
    void          *TBRAR;    
    void          *TDFAR;    
};

struct st_edmacp {
    union {
        unsigned long LONG;
        struct {
            unsigned long SWR:1;
            unsigned long :3;
            unsigned long DL:2;
            unsigned long DE:1;
            unsigned long :25;
        } BIT;
    } EDMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long TR:1;
            unsigned long :31;
        } BIT;
    } EDTRR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RR:1;
            unsigned long :31;
        } BIT;
    } EDRRR;
    char           wk2[4];
    unsigned long  TDLAR;
    char           wk3[4];
    unsigned long  RDLAR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long RFOF:1;
            unsigned long RDE:1;
            unsigned long FR:1;
            unsigned long TFUF:1;
            unsigned long TDE:1;
            unsigned long TC:1;
            unsigned long ECI:1;
            unsigned long ADE:1;
            unsigned long RFCOF:1;
            unsigned long RABT:1;
            unsigned long TABT:1;
            unsigned long :3;
            unsigned long TWB:1;
            unsigned long :1;
        } BIT;
    } EESR;
    char           wk5[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long RFOFIP:1;
            unsigned long RDEIP:1;
            unsigned long FRIP:1;
            unsigned long TFUFIP:1;
            unsigned long TDEIP:1;
            unsigned long TCIP:1;
            unsigned long ECIIP:1;
            unsigned long ADEIP:1;
            unsigned long RFCOFIP:1;
            unsigned long RABTIP:1;
            unsigned long TABTIP:1;
            unsigned long :3;
            unsigned long TWBIP:1;
            unsigned long :1;
        } BIT;
    } EESIPR;
    char           wk6[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long CERFCE:1;
            unsigned long PRECE:1;
            unsigned long RTSFCE:1;
            unsigned long RTLFCE:1;
            unsigned long RRFCE:1;
            unsigned long :2;
            unsigned long RMAFCE:1;
            unsigned long TROCE:1;
            unsigned long CDCE:1;
            unsigned long DLCCE:1;
            unsigned long CNDCE:1;
            unsigned long :20;
        } BIT;
    } TRSCER;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long MFC:16;
            unsigned long :16;
        } BIT;
    } RMFCR;
    char           wk8[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long TFT:11;
            unsigned long :21;
        } BIT;
    } TFTR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RFD:5;
            unsigned long :3;
            unsigned long TFD:5;
            unsigned long :19;
        } BIT;
    } FDR;
    char           wk10[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RNR:1;
            unsigned long RNC:1;
            unsigned long :30;
        } BIT;
    } RMCR;
    char           wk11[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long UNDER:16;
            unsigned long :16;
        } BIT;
    } TFUCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long OVER:16;
            unsigned long :16;
        } BIT;
    } RFOCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long ELB:1;
            unsigned long :31;
        } BIT;
    } IOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long RFDO:3;
            unsigned long :13;
            unsigned long RFFO:3;
            unsigned long :13;
        } BIT;
    } FCFTR;
    char           wk12[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long PADR:6;
            unsigned long :10;
            unsigned long PADS:2;
            unsigned long :14;
        } BIT;
    } RPADIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long TIS:1;
            unsigned long :3;
            unsigned long TIM:1;
            unsigned long :27;
        } BIT;
    } TRIMD;
    char           wk13[72];
    unsigned long  RBWAR;
    unsigned long  RDFAR;
    char           wk14[4];
    unsigned long  TBRAR;
    unsigned long  TDFAR;
};

struct st_elc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char ELCON:1;
        } BIT;
    } ELCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR0;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR4;
    char           wk1[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR7;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR10;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR11;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR12;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR13;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR15;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR16;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR18;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR19;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR20;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR21;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR22;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR23;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR24;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR25;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR26;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR27;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR28;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTU0MD:2;
            unsigned char :4;
            unsigned char MTU3MD:2;
        } BIT;
    } ELOPA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTU4MD:2;
            unsigned char :6;
        } BIT;
    } ELOPB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char CMT1MD:2;
            unsigned char :4;
        } BIT;
    } ELOPC;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMR0MD:2;
            unsigned char TMR1MD:2;
            unsigned char TMR2MD:2;
            unsigned char TMR3MD:2;
        } BIT;
    } ELOPD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGR0:1;
            unsigned char PGR1:1;
            unsigned char PGR2:1;
            unsigned char PGR3:1;
            unsigned char PGR4:1;
            unsigned char PGR5:1;
            unsigned char PGR6:1;
            unsigned char PGR7:1;
        } BIT;
    } PGR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGR0:1;
            unsigned char PGR1:1;
            unsigned char PGR2:1;
            unsigned char PGR3:1;
            unsigned char PGR4:1;
            unsigned char PGR5:1;
            unsigned char PGR6:1;
            unsigned char PGR7:1;
        } BIT;
    } PGR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGCI:2;
            unsigned char PGCOVE:1;
            unsigned char :1;
            unsigned char PGCO:3;
            unsigned char :1;
        } BIT;
    } PGC1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGCI:2;
            unsigned char PGCOVE:1;
            unsigned char :1;
            unsigned char PGCO:3;
            unsigned char :1;
        } BIT;
    } PGC2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PDBF0:1;
            unsigned char PDBF1:1;
            unsigned char PDBF2:1;
            unsigned char PDBF3:1;
            unsigned char PDBF4:1;
            unsigned char PDBF5:1;
            unsigned char PDBF6:1;
            unsigned char PDBF7:1;
        } BIT;
    } PDBF1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PDBF0:1;
            unsigned char PDBF1:1;
            unsigned char PDBF2:1;
            unsigned char PDBF3:1;
            unsigned char PDBF4:1;
            unsigned char PDBF5:1;
            unsigned char PDBF6:1;
            unsigned char PDBF7:1;
        } BIT;
    } PDBF2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSB:3;
            unsigned char PSP:2;
            unsigned char PSM:2;
            unsigned char :1;
        } BIT;
    } PEL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSB:3;
            unsigned char PSP:2;
            unsigned char PSM:2;
            unsigned char :1;
        } BIT;
    } PEL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSB:3;
            unsigned char PSP:2;
            unsigned char PSM:2;
            unsigned char :1;
        } BIT;
    } PEL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSB:3;
            unsigned char PSP:2;
            unsigned char PSM:2;
            unsigned char :1;
        } BIT;
    } PEL3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEG:1;
            unsigned char :5;
            unsigned char WE:1;
            unsigned char WI:1;
        } BIT;
    } ELSEGR;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR33;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR35;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR36;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR37;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR38;
    char           wk8[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR41;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR42;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR43;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR44;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR45;
    char           wk9[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPU0MD:2;
            unsigned char TPU1MD:2;
            unsigned char TPU2MD:2;
            unsigned char TPU3MD:2;
        } BIT;
    } ELOPF;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMTW0MD:2;
            unsigned char :6;
        } BIT;
    } ELOPH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char GPT0MD:3;
            unsigned char :1;
            unsigned char GPT1MD:3;
            unsigned char :1;
        } BIT;
    } ELOPI;
    union {
        unsigned char BYTE;
        struct {
            unsigned char GPT2MD:3;
            unsigned char :1;
            unsigned char GPT3MD:3;
            unsigned char :1;
        } BIT;
    } ELOPJ;
};

struct st_eptpc {
    union {
        unsigned long LONG;
        struct {
            unsigned long RESET:1;
            unsigned long :31;
        } BIT;
    } PTRSTR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SCLKDIV:3;
            unsigned long :5;
            unsigned long SCLKSEL:3;
            unsigned long :21;
        } BIT;
    } STCSELR;
    char           wk0[15096];
    union {
        unsigned long LONG;
        struct {
            unsigned long ST:1;
            unsigned long SY0:1;
            unsigned long SY1:1;
            unsigned long PRC:1;
            unsigned long :12;
            unsigned long CYC0:1;
            unsigned long CYC1:1;
            unsigned long CYC2:1;
            unsigned long CYC3:1;
            unsigned long CYC4:1;
            unsigned long CYC5:1;
            unsigned long :10;
        } BIT;
    } MIESR;
    union {
        unsigned long LONG;
        struct {
            unsigned long ST:1;
            unsigned long SY0:1;
            unsigned long SY1:1;
            unsigned long PR:1;
            unsigned long :12;
            unsigned long CYC0:1;
            unsigned long CYC1:1;
            unsigned long CYC2:1;
            unsigned long CYC3:1;
            unsigned long CYC4:1;
            unsigned long CYC5:1;
            unsigned long :10;
        } BIT;
    } MIEIPR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long REV:16;
            unsigned long VER:16;
        } BIT;
    } PTVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYCP0:1;
            unsigned long CYCP1:1;
            unsigned long CYCP2:1;
            unsigned long CYCP3:1;
            unsigned long CYCP4:1;
            unsigned long CYCP5:1;
            unsigned long :2;
            unsigned long CYCN0:1;
            unsigned long CYCN1:1;
            unsigned long CYCN2:1;
            unsigned long CYCN3:1;
            unsigned long CYCN4:1;
            unsigned long CYCN5:1;
            unsigned long :2;
            unsigned long PLSP:1;
            unsigned long :7;
            unsigned long PLSN:1;
            unsigned long :7;
        } BIT;
    } ELIPPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYCP0:1;
            unsigned long CYCP1:1;
            unsigned long CYCP2:1;
            unsigned long CYCP3:1;
            unsigned long CYCP4:1;
            unsigned long CYCP5:1;
            unsigned long :2;
            unsigned long CYCN0:1;
            unsigned long CYCN1:1;
            unsigned long CYCN2:1;
            unsigned long CYCN3:1;
            unsigned long CYCN4:1;
            unsigned long CYCN5:1;
            unsigned long :2;
            unsigned long PLSP:1;
            unsigned long :7;
            unsigned long PLSN:1;
            unsigned long :7;
        } BIT;
    } ELIPACR;
    char           wk2[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long SYNC:1;
            unsigned long SYNCOUT:1;
            unsigned long :1;
            unsigned long SYNTOUT:1;
            unsigned long W10D:1;
            unsigned long :27;
        } BIT;
    } STSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SYNC:1;
            unsigned long SYNCOUT:1;
            unsigned long :1;
            unsigned long SYNTOUT:1;
            unsigned long W10D:1;
            unsigned long :27;
        } BIT;
    } STIPR;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long REV:16;
            unsigned long VER:16;
        } BIT;
    } STVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long STCF:2;
            unsigned long :30;
        } BIT;
    } STCFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long WINT:8;
            unsigned long :5;
            unsigned long CMOD:1;
            unsigned long :1;
            unsigned long W10S:1;
            unsigned long DVTH:4;
            unsigned long SYTH:4;
            unsigned long :4;
            unsigned long ALEN0:1;
            unsigned long ALEN1:1;
            unsigned long :2;
        } BIT;
    } STMR;
    unsigned long  SYNTOR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long IPTSEL0:1;
            unsigned long IPTSEL1:1;
            unsigned long IPTSEL2:1;
            unsigned long IPTSEL3:1;
            unsigned long IPTSEL4:1;
            unsigned long IPTSEL5:1;
            unsigned long :26;
        } BIT;
    } IPTSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long MINTEN0:1;
            unsigned long MINTEN1:1;
            unsigned long MINTEN2:1;
            unsigned long MINTEN3:1;
            unsigned long MINTEN4:1;
            unsigned long MINTEN5:1;
            unsigned long :26;
        } BIT;
    } MITSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long ELTDIS0:1;
            unsigned long ELTDIS1:1;
            unsigned long ELTDIS2:1;
            unsigned long ELTDIS3:1;
            unsigned long ELTDIS4:1;
            unsigned long ELTDIS5:1;
            unsigned long :26;
        } BIT;
    } ELTSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SYSEL:1;
            unsigned long :31;
        } BIT;
    } STCHSELR;
    char           wk5[16];
    union {
        unsigned long LONG;
        struct {
            unsigned long STR:1;
            unsigned long :31;
        } BIT;
    } SYNSTARTR;
    union {
        unsigned long LONG;
        struct {
            unsigned long LOAD:1;
            unsigned long :31;
        } BIT;
    } LCIVLDR;
    char           wk6[8];
    unsigned long  SYNTDARU;
    unsigned long  SYNTDARL;
    unsigned long  SYNTDBRU;
    unsigned long  SYNTDBRL;
    char           wk7[16];
    union {
        unsigned long LONG;
        struct {
            unsigned long VALU:16;
            unsigned long :16;
        } BIT;
    } LCIVRU;
    unsigned long  LCIVRM;
    unsigned long  LCIVRL;
    char           wk8[104];
    union {
        unsigned long LONG;
        struct {
            unsigned long GW10:1;
            unsigned long :31;
        } BIT;
    } GETW10R;
    union {
        unsigned long LONG;
        struct {
            unsigned long LMTU:31;
            unsigned long :1;
        } BIT;
    } PLIMITRU;
    unsigned long  PLIMITRM;
    unsigned long  PLIMITRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long LMTU:31;
            unsigned long :1;
        } BIT;
    } MLIMITRU;
    unsigned long  MLIMITRM;
    unsigned long  MLIMITRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long INFO:1;
            unsigned long :31;
        } BIT;
    } GETINFOR;
    char           wk9[44];
    union {
        unsigned long LONG;
        struct {
            unsigned long CNTU:16;
            unsigned long :16;
        } BIT;
    } LCCVRU;
    unsigned long  LCCVRM;
    unsigned long  LCCVRL;
    char           wk10[148];
    unsigned long  PW10VRU;
    unsigned long  PW10VRM;
    unsigned long  PW10VRL;
    char           wk11[180];
    unsigned long  MW10RU;
    unsigned long  MW10RM;
    unsigned long  MW10RL;
    char           wk12[36];
    unsigned long  TMSTTRU0;
    unsigned long  TMSTTRL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR0;
    unsigned long  TMSTTRU1;
    unsigned long  TMSTTRL1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR1;
    unsigned long  TMSTTRU2;
    unsigned long  TMSTTRL2;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR2;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR2;
    unsigned long  TMSTTRU3;
    unsigned long  TMSTTRL3;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR3;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR3;
    unsigned long  TMSTTRU4;
    unsigned long  TMSTTRL4;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR4;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR4;
    unsigned long  TMSTTRU5;
    unsigned long  TMSTTRL5;
    union {
        unsigned long LONG;
        struct {
            unsigned long CYC:30;
            unsigned long :2;
        } BIT;
    } TMCYCR5;
    union {
        unsigned long LONG;
        struct {
            unsigned long WTH:29;
            unsigned long :3;
        } BIT;
    } TMPLSR5;
    char           wk13[28];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long :26;
        } BIT;
    } TMSTARTR;
    char           wk14[128];
    union {
        unsigned long LONG;
        struct {
            unsigned long OVRE0:1;
            unsigned long OVRE1:1;
            unsigned long OVRE2:1;
            unsigned long OVRE3:1;
            unsigned long :4;
            unsigned long MACE:1;
            unsigned long :7;
            unsigned long PRRE0:1;
            unsigned long PRRE1:1;
            unsigned long PRRE2:1;
            unsigned long PRRE3:1;
            unsigned long PRTE00:1;
            unsigned long PRTE01:1;
            unsigned long PRTE02:1;
            unsigned long PRTE03:1;
            unsigned long PRTE10:1;
            unsigned long PRTE11:1;
            unsigned long PRTE12:1;
            unsigned long PRTE13:1;
            unsigned long URE0:1;
            unsigned long URE1:1;
            unsigned long :2;
        } BIT;
    } PRSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long OVRE0:1;
            unsigned long OVRE1:1;
            unsigned long OVRE2:1;
            unsigned long OVRE3:1;
            unsigned long :4;
            unsigned long MACE:1;
            unsigned long :7;
            unsigned long PRRE0:1;
            unsigned long PRRE1:1;
            unsigned long PRRE2:1;
            unsigned long PRRE3:1;
            unsigned long PRTE00:1;
            unsigned long PRTE01:1;
            unsigned long PRTE02:1;
            unsigned long PRTE03:1;
            unsigned long PRTE10:1;
            unsigned long PRTE11:1;
            unsigned long PRTE12:1;
            unsigned long PRTE13:1;
            unsigned long URE0:1;
            unsigned long URE1:1;
            unsigned long :2;
        } BIT;
    } PRIPR;
    char           wk15[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long REV:16;
            unsigned long VER:16;
        } BIT;
    } PRVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } PRMACRU0;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } PRMACRL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } PRMACRU1;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } PRMACRL1;
    union {
        unsigned long LONG;
        struct {
            unsigned long TDIS:2;
            unsigned long :30;
        } BIT;
    } TRNDISR;
    char           wk16[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long MOD:1;
            unsigned long :31;
        } BIT;
    } TRNMR;
    union {
        unsigned long LONG;
        struct {
            unsigned long THVAL:11;
            unsigned long :21;
        } BIT;
    } TRNCTTDR;
};

struct st_eptpcs {
    union {
        unsigned long LONG;
        struct {
            unsigned long OFMUD:1;
            unsigned long INTCHG:1;
            unsigned long MPDUD:1;
            unsigned long :1;
            unsigned long DRPTO:1;
            unsigned long INTDEV:1;
            unsigned long DRQOVR:1;
            unsigned long :2;
            unsigned long PDRPMR:1;
            unsigned long :2;
            unsigned long RECLP:1;
            unsigned long SRTABT:1;
            unsigned long INFABT:1;
            unsigned long :1;
            unsigned long RESDN:1;
            unsigned long GENDN:1;
            unsigned long :2;
            unsigned long PRE0:1;
            unsigned long PRE1:1;
            unsigned long PRE2:1;
            unsigned long PRE3:1;
            unsigned long :8;
        } BIT;
    } SYSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long OFMUD:1;
            unsigned long INTCHG:1;
            unsigned long MPDUD:1;
            unsigned long :1;
            unsigned long DRPTO:1;
            unsigned long INTDEV:1;
            unsigned long DRQOVR:1;
            unsigned long :2;
            unsigned long PDRPMR:1;
            unsigned long :2;
            unsigned long RECLP:1;
            unsigned long SRTABT:1;
            unsigned long INFABT:1;
            unsigned long :1;
            unsigned long RESDN:1;
            unsigned long GENDN:1;
            unsigned long :2;
            unsigned long PRE0:1;
            unsigned long PRE1:1;
            unsigned long PRE2:1;
            unsigned long PRE3:1;
            unsigned long :8;
        } BIT;
    } SYIPR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long REV:16;
            unsigned long VER:16;
        } BIT;
    } SYVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } SYMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } SYMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long LLC:8;
            unsigned long :24;
        } BIT;
    } SYLLCCTLR;
    unsigned long  SYIPR2;
    char           wk1[32];
    union {
        unsigned long LONG;
        struct {
            unsigned long VER:4;
            unsigned long TRSP:4;
            unsigned long :24;
        } BIT;
    } SYSPVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long DNUM:8;
            unsigned long :24;
        } BIT;
    } SYDOMR;
    char           wk2[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long FLG0:1;
            unsigned long FLG1:1;
            unsigned long FLG2:1;
            unsigned long FLG3:1;
            unsigned long FLG4:1;
            unsigned long FLG5:1;
            unsigned long FLG6:1;
            unsigned long FLG7:1;
            unsigned long FLG8:1;
            unsigned long FLG9:1;
            unsigned long FLG10:1;
            unsigned long FLG11:1;
            unsigned long FLG12:1;
            unsigned long FLG13:1;
            unsigned long FLG14:1;
            unsigned long FLG15:1;
            unsigned long :16;
        } BIT;
    } ANFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long FLG0:1;
            unsigned long FLG1:1;
            unsigned long FLG2:1;
            unsigned long FLG3:1;
            unsigned long FLG4:1;
            unsigned long FLG5:1;
            unsigned long FLG6:1;
            unsigned long FLG7:1;
            unsigned long FLG8:1;
            unsigned long FLG9:1;
            unsigned long FLG10:1;
            unsigned long FLG11:1;
            unsigned long FLG12:1;
            unsigned long FLG13:1;
            unsigned long FLG14:1;
            unsigned long FLG15:1;
            unsigned long :16;
        } BIT;
    } SYNFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long FLG0:1;
            unsigned long FLG1:1;
            unsigned long FLG2:1;
            unsigned long FLG3:1;
            unsigned long FLG4:1;
            unsigned long FLG5:1;
            unsigned long FLG6:1;
            unsigned long FLG7:1;
            unsigned long FLG8:1;
            unsigned long FLG9:1;
            unsigned long FLG10:1;
            unsigned long FLG11:1;
            unsigned long FLG12:1;
            unsigned long FLG13:1;
            unsigned long FLG14:1;
            unsigned long FLG15:1;
            unsigned long :16;
        } BIT;
    } DYRQFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long FLG0:1;
            unsigned long FLG1:1;
            unsigned long FLG2:1;
            unsigned long FLG3:1;
            unsigned long FLG4:1;
            unsigned long FLG5:1;
            unsigned long FLG6:1;
            unsigned long FLG7:1;
            unsigned long FLG8:1;
            unsigned long FLG9:1;
            unsigned long FLG10:1;
            unsigned long FLG11:1;
            unsigned long FLG12:1;
            unsigned long FLG13:1;
            unsigned long FLG14:1;
            unsigned long FLG15:1;
            unsigned long :16;
        } BIT;
    } DYRPFR;
    unsigned long  SYCIDRU;
    unsigned long  SYCIDRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long PNUM:16;
            unsigned long :16;
        } BIT;
    } SYPNUMR;
    char           wk3[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long BMUP:1;
            unsigned long STUP:1;
            unsigned long ANUP:1;
            unsigned long :29;
        } BIT;
    } SYRVLDR;
    char           wk4[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long ANCE0:1;
            unsigned long ANCE1:1;
            unsigned long :2;
            unsigned long SYNC0:1;
            unsigned long SYNC1:1;
            unsigned long SYNC2:1;
            unsigned long :1;
            unsigned long FUP0:1;
            unsigned long FUP1:1;
            unsigned long FUP2:1;
            unsigned long :1;
            unsigned long DRQ0:1;
            unsigned long DRQ1:1;
            unsigned long DRQ2:1;
            unsigned long :1;
            unsigned long DRP0:1;
            unsigned long DRP1:1;
            unsigned long DRP2:1;
            unsigned long :1;
            unsigned long PDRQ0:1;
            unsigned long PDRQ1:1;
            unsigned long PDRQ2:1;
            unsigned long :1;
            unsigned long PDRP0:1;
            unsigned long PDRP1:1;
            unsigned long PDRP2:1;
            unsigned long :1;
            unsigned long PDFUP0:1;
            unsigned long PDFUP1:1;
            unsigned long PDFUP2:1;
            unsigned long :1;
        } BIT;
    } SYRFL1R;
    union {
        unsigned long LONG;
        struct {
            unsigned long MAN0:1;
            unsigned long MAN1:1;
            unsigned long :2;
            unsigned long SIG0:1;
            unsigned long SIG1:1;
            unsigned long :22;
            unsigned long ILL0:1;
            unsigned long ILL1:1;
            unsigned long :2;
        } BIT;
    } SYRFL2R;
    union {
        unsigned long LONG;
        struct {
            unsigned long ANCE:1;
            unsigned long :3;
            unsigned long SYNC:1;
            unsigned long :3;
            unsigned long DRQ:1;
            unsigned long :3;
            unsigned long PDRQ:1;
            unsigned long :19;
        } BIT;
    } SYTRENR;
    char           wk5[4];
    unsigned long  MTCIDU;
    unsigned long  MTCIDL;
    union {
        unsigned long LONG;
        struct {
            unsigned long PNUM:16;
            unsigned long :16;
        } BIT;
    } MTPID;
    char           wk6[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long ANCE:8;
            unsigned long SYNC:8;
            unsigned long DRQ:8;
            unsigned long :8;
        } BIT;
    } SYTLIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long ANCE:8;
            unsigned long SYNC:8;
            unsigned long DRP:8;
            unsigned long :8;
        } BIT;
    } SYRLIR;
    unsigned long  OFMRU;
    unsigned long  OFMRL;
    unsigned long  MPDRU;
    unsigned long  MPDRL;
    char           wk7[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long GMPR2:8;
            unsigned long :8;
            unsigned long GMPR1:8;
            unsigned long :8;
        } BIT;
    } GMPR;
    unsigned long  GMCQR;
    unsigned long  GMIDRU;
    unsigned long  GMIDRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long TSRC:8;
            unsigned long :8;
            unsigned long CUTO:16;
        } BIT;
    } CUOTSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SRMV:16;
            unsigned long :16;
        } BIT;
    } SRR;
    char           wk8[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } PPMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } PPMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } PDMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } PDMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long TYPE:16;
            unsigned long :16;
        } BIT;
    } PETYPER;
    char           wk9[12];
    unsigned long  PPIPR;
    unsigned long  PDIPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long EVTO:8;
            unsigned long :24;
        } BIT;
    } PETOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long GETO:8;
            unsigned long :24;
        } BIT;
    } PGTOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long PRTL:8;
            unsigned long :24;
        } BIT;
    } PPTTLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long PDTL:8;
            unsigned long :24;
        } BIT;
    } PDTTLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long EVUPT:16;
            unsigned long :16;
        } BIT;
    } PEUDPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long GEUPT:16;
            unsigned long :16;
        } BIT;
    } PGUDPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SEL:1;
            unsigned long PRT:1;
            unsigned long ENB:1;
            unsigned long :29;
        } BIT;
    } FFLTR;
    char           wk10[28];
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } FMAC0RU;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } FMAC0RL;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACU:24;
            unsigned long :8;
        } BIT;
    } FMAC1RU;
    union {
        unsigned long LONG;
        struct {
            unsigned long MACL:24;
            unsigned long :8;
        } BIT;
    } FMAC1RL;
    char           wk11[80];
    union {
        unsigned long LONG;
        struct {
            unsigned long ASYMU:16;
            unsigned long :16;
        } BIT;
    } DASYMRU;
    unsigned long  DASYMRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long EGP:16;
            unsigned long INGP:16;
        } BIT;
    } TSLATR;
    union {
        unsigned long LONG;
        struct {
            unsigned long TCYC:8;
            unsigned long :4;
            unsigned long SBDIS:1;
            unsigned long :3;
            unsigned long FILDIS:1;
            unsigned long :3;
            unsigned long TCMOD:1;
            unsigned long :3;
            unsigned long TRAN:1;
            unsigned long :7;
        } BIT;
    } SYCONFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long FORM0:1;
            unsigned long FORM1:1;
            unsigned long :30;
        } BIT;
    } SYFORMR;
    unsigned long  RSTOUTR;
};

struct st_etherc {
    union {
        unsigned long LONG;
        struct {
            unsigned long PRM:1;
            unsigned long DM:1;
            unsigned long RTM:1;
            unsigned long ILB:1;
            unsigned long :1;
            unsigned long TE:1;
            unsigned long RE:1;
            unsigned long :2;
            unsigned long MPDE:1;
            unsigned long :2;
            unsigned long PRCEF:1;
            unsigned long :3;
            unsigned long TXF:1;
            unsigned long RXF:1;
            unsigned long PFR:1;
            unsigned long ZPF:1;
            unsigned long TPC:1;
            unsigned long :11;
        } BIT;
    } ECMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RFL:12;
            unsigned long :20;
        } BIT;
    } RFLR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long ICD:1;
            unsigned long MPD:1;
            unsigned long LCHNG:1;
            unsigned long :1;
            unsigned long PSRTO:1;
            unsigned long BFR:1;
            unsigned long :26;
        } BIT;
    } ECSR;
    char           wk2[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long ICDIP:1;
            unsigned long MPDIP:1;
            unsigned long LCHNGIP:1;
            unsigned long :1;
            unsigned long PSRTOIP:1;
            unsigned long BFSIPR:1;
            unsigned long :26;
        } BIT;
    } ECSIPR;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long MDC:1;
            unsigned long MMD:1;
            unsigned long MDO:1;
            unsigned long MDI:1;
            unsigned long :28;
        } BIT;
    } PIR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long LMON:1;
            unsigned long :31;
        } BIT;
    } PSR;
    char           wk5[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long RMD:20;
            unsigned long :12;
        } BIT;
    } RDMLR;
    char           wk6[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long IPG:5;
            unsigned long :27;
        } BIT;
    } IPGR;
    union {
        unsigned long LONG;
        struct {
            unsigned long AP:16;
            unsigned long :16;
        } BIT;
    } APR;
    union {
        unsigned long LONG;
        struct {
            unsigned long MP:16;
            unsigned long :16;
        } BIT;
    } MPR;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long RPAUSE:8;
            unsigned long :24;
        } BIT;
    } RFCF;
    union {
        unsigned long LONG;
        struct {
            unsigned long TPAUSE:16;
            unsigned long :16;
        } BIT;
    } TPAUSER;
    union {
        unsigned long LONG;
        struct {
            unsigned long TXP:8;
            unsigned long :24;
        } BIT;
    } TPAUSECR;
    union {
        unsigned long LONG;
        struct {
            unsigned long BCF:16;
            unsigned long :16;
        } BIT;
    } BCFRR;
    char           wk8[80];
    unsigned long  MAHR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long MA:16;
            unsigned long :16;
        } BIT;
    } MALR;
    char           wk10[4];
    unsigned long  TROCR;
    unsigned long  CDCR;
    unsigned long  LCCR;
    unsigned long  CNDCR;
    char           wk11[4];
    unsigned long  CEFCR;
    unsigned long  FRECR;
    unsigned long  TSFRCR;
    unsigned long  TLFRCR;
    unsigned long  RFCR;
    unsigned long  MAFCR;
};

struct st_exdmac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char DMST:1;
            unsigned char :7;
        } BIT;
    } EDMAST;
    char           wk0[479];
    unsigned long  CLSBR0;
    unsigned long  CLSBR1;
    unsigned long  CLSBR2;
    unsigned long  CLSBR3;
    unsigned long  CLSBR4;
    unsigned long  CLSBR5;
    unsigned long  CLSBR6;
    unsigned long  CLSBR7;
};

struct st_exdmac0 {

    void          *EDMSAR;
    void          *EDMDAR;    
    unsigned long  EDMCRA;
    unsigned short EDMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short DCTG:2;
            unsigned short :6;
            unsigned short SZ:2;
            unsigned short :2;
            unsigned short DTS:2;
            unsigned short MD:2;
        } BIT;
    } EDMTMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DACKSEL:1;
            unsigned char DACKW:1;
            unsigned char DACKE:1;
            unsigned char DACKS:1;
            unsigned char :4;
        } BIT;
    } EDMOMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DARIE:1;
            unsigned char SARIE:1;
            unsigned char RPTIE:1;
            unsigned char ESIE:1;
            unsigned char DTIE:1;
            unsigned char :3;
        } BIT;
    } EDMINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long DARA:5;
            unsigned long :1;
            unsigned long DM:2;
            unsigned long SARA:5;
            unsigned long :1;
            unsigned long SM:2;
            unsigned long DIR:1;
            unsigned long AMS:1;
            unsigned long :14;
        } BIT;
    } EDMAMD;
    unsigned long  EDMOFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTE:1;
            unsigned char :7;
        } BIT;
    } EDMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWREQ:1;
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
        } BIT;
    } EDMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ESIF:1;
            unsigned char :3;
            unsigned char DTIF:1;
            unsigned char :2;
            unsigned char ACT:1;
        } BIT;
    } EDMSTS;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DREQS:2;
            unsigned char :6;
        } BIT;
    } EDMRMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char EREQ:1;
            unsigned char :7;
        } BIT;
    } EDMERF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PREQ:1;
            unsigned char :7;
        } BIT;
    } EDMPRF;
};

struct st_exdmac1 {

    void          *EDMSAR;
    void          *EDMDAR;    
    unsigned long  EDMCRA;
    unsigned short EDMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short DCTG:2;
            unsigned short :6;
            unsigned short SZ:2;
            unsigned short :2;
            unsigned short DTS:2;
            unsigned short MD:2;
        } BIT;
    } EDMTMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DACKSEL:1;
            unsigned char DACKW:1;
            unsigned char DACKE:1;
            unsigned char DACKS:1;
            unsigned char :4;
        } BIT;
    } EDMOMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DARIE:1;
            unsigned char SARIE:1;
            unsigned char RPTIE:1;
            unsigned char ESIE:1;
            unsigned char DTIE:1;
            unsigned char :3;
        } BIT;
    } EDMINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long DARA:5;
            unsigned long :1;
            unsigned long DM:2;
            unsigned long SARA:5;
            unsigned long :1;
            unsigned long SM:2;
            unsigned long DIR:1;
            unsigned long AMS:1;
            unsigned long :14;
        } BIT;
    } EDMAMD;
    char           wk1[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTE:1;
            unsigned char :7;
        } BIT;
    } EDMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWREQ:1;
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
        } BIT;
    } EDMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ESIF:1;
            unsigned char :3;
            unsigned char DTIF:1;
            unsigned char :2;
            unsigned char ACT:1;
        } BIT;
    } EDMSTS;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DREQS:2;
            unsigned char :6;
        } BIT;
    } EDMRMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char EREQ:1;
            unsigned char :7;
        } BIT;
    } EDMERF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PREQ:1;
            unsigned char :7;
        } BIT;
    } EDMPRF;
};

struct st_gpt {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CST0:1;
            unsigned char CST1:1;
            unsigned char CST2:1;
            unsigned char CST3:1;
            unsigned char :4;
            unsigned char :8;
        } BIT;
    } GTSTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short NFA0EN:1;
            unsigned short NFB0EN:1;
            unsigned short NFA1EN:1;
            unsigned short NFB1EN:1;
            unsigned short NFA2EN:1;
            unsigned short NFB2EN:1;
            unsigned short NFA3EN:1;
            unsigned short NFB3EN:1;
            unsigned short NFCS0:2;
            unsigned short NFCS1:2;
            unsigned short NFCS2:2;
            unsigned short NFCS3:2;
        } BIT;
    } NFCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CSHW0:2;
            unsigned char CSHW1:2;
            unsigned char CSHW2:2;
            unsigned char CSHW3:2;
            unsigned char CPHW0:2;
            unsigned char CPHW1:2;
            unsigned char CPHW2:2;
            unsigned char CPHW3:2;
        } BIT;
    } GTHSCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CCHW0:2;
            unsigned char CCHW1:2;
            unsigned char CCHW2:2;
            unsigned char CCHW3:2;
            unsigned char CCSW0:1;
            unsigned char CCSW1:1;
            unsigned char CCSW2:1;
            unsigned char CCSW3:1;
            unsigned char :4;
        } BIT;
    } GTHCCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CSHSL0:4;
            unsigned char CSHSL1:4;
            unsigned char CSHSL2:4;
            unsigned char CSHSL3:4;
        } BIT;
    } GTHSSR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CSHPL0:4;
            unsigned char CSHPL1:4;
            unsigned char CSHPL2:4;
            unsigned char CSHPL3:4;
        } BIT;
    } GTHPSR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char WP0:1;
            unsigned char WP1:1;
            unsigned char WP2:1;
            unsigned char WP3:1;
            unsigned char :4;
            unsigned char :8;
        } BIT;
    } GTWP;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char SYNC0:2;
            unsigned char :2;
            unsigned char SYNC1:2;
            unsigned char :2;
            unsigned char SYNC2:2;
            unsigned char :2;
            unsigned char SYNC3:2;
            unsigned char :2;
        } BIT;
    } GTSYNC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char ETIPEN:1;
            unsigned char ETINEN:1;
            unsigned char :6;
            unsigned char ETIPF:1;
            unsigned char ETINF:1;
            unsigned char :3;
            unsigned char GTENFCS:2;
            unsigned char GTETRGEN:1;
        } BIT;
    } GTETINT;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char BD00:1;
            unsigned char BD01:1;
            unsigned char BD02:1;
            unsigned char BD03:1;
            unsigned char BD10:1;
            unsigned char BD11:1;
            unsigned char BD12:1;
            unsigned char BD13:1;
            unsigned char BD20:1;
            unsigned char BD21:1;
            unsigned char BD22:1;
            unsigned char BD23:1;
            unsigned char BD30:1;
            unsigned char BD31:1;
            unsigned char BD32:1;
            unsigned char BD33:1;
        } BIT;
    } GTBDR;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char SWP0:1;
            unsigned char SWP1:1;
            unsigned char SWP2:1;
            unsigned char SWP3:1;
            unsigned char :4;
            unsigned char :8;
        } BIT;
    } GTSWP;
};

struct st_gpt0 {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char GTIOA:6;
            unsigned char OADFLT:1;
            unsigned char OAHLD:1;
            unsigned char GTIOB:6;
            unsigned char OBDFLT:1;
            unsigned char OBHLD:1;
        } BIT;
    } GTIOR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char GTINTA:1;
            unsigned char GTINTB:1;
            unsigned char GTINTC:1;
            unsigned char GTINTD:1;
            unsigned char GTINTE:1;
            unsigned char GTINTF:1;
            unsigned char GTINTPR:2;
            unsigned char :3;
            unsigned char EINT:1;
            unsigned char ADTRAUEN:1;
            unsigned char ADTRADEN:1;
            unsigned char ADTRBUEN:1;
            unsigned char ADTRBDEN:1;
        } BIT;
    } GTINTAD;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char MD:3;
            unsigned char :5;
            unsigned char TPCS:2;
            unsigned char :2;
            unsigned char CCLR:2;
            unsigned char :2;
        } BIT;
    } GTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CCRA:2;
            unsigned char CCRB:2;
            unsigned char PR:2;
            unsigned char CCRSWT:1;
            unsigned char :1;
            unsigned char ADTTA:2;
            unsigned char ADTDA:1;
            unsigned char :1;
            unsigned char ADTTB:2;
            unsigned char ADTDB:1;
            unsigned char :1;
        } BIT;
    } GTBER;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char UD:1;
            unsigned char UDF:1;
            unsigned char :6;
            unsigned char :8;
        } BIT;
    } GTUDC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char ITLA:1;
            unsigned char ITLB:1;
            unsigned char ITLC:1;
            unsigned char ITLD:1;
            unsigned char ITLE:1;
            unsigned char ITLF:1;
            unsigned char IVTC:2;
            unsigned char IVTT:3;
            unsigned char :1;
            unsigned char ADTAL:1;
            unsigned char :1;
            unsigned char ADTBL:1;
            unsigned char :1;
        } BIT;
    } GTITC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char TCFA:1;
            unsigned char TCFB:1;
            unsigned char TCFC:1;
            unsigned char TCFD:1;
            unsigned char TCFE:1;
            unsigned char TCFF:1;
            unsigned char TCFPO:1;
            unsigned char TCFPU:1;
            unsigned char ITCNT:3;
            unsigned char DTEF:1;
            unsigned char :3;
            unsigned char TUCF:1;
        } BIT;
    } GTST;
    unsigned short GTCNT;
    unsigned short GTCCRA;
    unsigned short GTCCRB;
    unsigned short GTCCRC;
    unsigned short GTCCRD;
    unsigned short GTCCRE;
    unsigned short GTCCRF;
    unsigned short GTPR;
    unsigned short GTPBR;
    unsigned short GTPDBR;
    char           wk0[2];
    unsigned short GTADTRA;
    unsigned short GTADTBRA;
    unsigned short GTADTDBRA;
    char           wk1[2];
    unsigned short GTADTRB;
    unsigned short GTADTBRB;
    unsigned short GTADTDBRB;
    char           wk2[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short NEA:1;
            unsigned short NEB:1;
            unsigned short NVA:1;
            unsigned short NVB:1;
            unsigned short NFS:4;
            unsigned short NFV:1;
            unsigned short :3;
            unsigned short SWN:1;
            unsigned short :1;
            unsigned short OAE:1;
            unsigned short OBE:1;
        } BIT;
    } GTONCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short TDE:1;
            unsigned short :3;
            unsigned short TDBUE:1;
            unsigned short TDBDE:1;
            unsigned short :2;
            unsigned short TDFER:1;
            unsigned short :7;
        } BIT;
    } GTDTCR;
    unsigned short GTDVU;
    unsigned short GTDVD;
    unsigned short GTDBU;
    unsigned short GTDBD;
    union {
        unsigned short WORD;
        struct {
            unsigned short SOS:2;
            unsigned short :14;
        } BIT;
    } GTSOS;
    union {
        unsigned short WORD;
        struct {
            unsigned short SOTR:1;
            unsigned short :15;
        } BIT;
    } GTSOTR;
};

struct st_icu {
    union {
        unsigned char BYTE;
        struct {
            unsigned char IR:1;
            unsigned char :7;
        } BIT;
    } IR[256];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DTCE:1;
            unsigned char :7;
        } BIT;
    } DTCER[256];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IEN0:1;
            unsigned char IEN1:1;
            unsigned char IEN2:1;
            unsigned char IEN3:1;
            unsigned char IEN4:1;
            unsigned char IEN5:1;
            unsigned char IEN6:1;
            unsigned char IEN7:1;
        } BIT;
    } IER[32];
    char           wk0[192];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWINT:1;
            unsigned char :7;
        } BIT;
    } SWINTR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SWINT2:1;
            unsigned char :7;
        } BIT;
    } SWINT2R;
    char           wk1[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short FVCT:8;
            unsigned short :7;
            unsigned short FIEN:1;
        } BIT;
    } FIR;
    char           wk2[14];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IPR:4;
            unsigned char :4;
        } BIT;
    } IPR[256];
    unsigned char  DMRSR0;
    char           wk3[3];
    unsigned char  DMRSR1;
    char           wk4[3];
    unsigned char  DMRSR2;
    char           wk5[3];
    unsigned char  DMRSR3;
    char           wk6[3];
    unsigned char  DMRSR4;
    char           wk7[3];
    unsigned char  DMRSR5;
    char           wk8[3];
    unsigned char  DMRSR6;
    char           wk9[3];
    unsigned char  DMRSR7;
    char           wk10[227];

    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char IRQMD:2;
            unsigned char :4;
        } BIT;
    } IRQCR[16];
    char           wk11[16];
    union {
        unsigned char BYTE;
        struct {
            unsigned char FLTEN0:1;
            unsigned char FLTEN1:1;
            unsigned char FLTEN2:1;
            unsigned char FLTEN3:1;
            unsigned char FLTEN4:1;
            unsigned char FLTEN5:1;
            unsigned char FLTEN6:1;
            unsigned char FLTEN7:1;
        } BIT;
    } IRQFLTE0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FLTEN8:1;
            unsigned char FLTEN9:1;
            unsigned char FLTEN10:1;
            unsigned char FLTEN11:1;
            unsigned char FLTEN12:1;
            unsigned char FLTEN13:1;
            unsigned char FLTEN14:1;
            unsigned char FLTEN15:1;
        } BIT;
    } IRQFLTE1;
    char           wk12[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short FCLKSEL0:2;
            unsigned short FCLKSEL1:2;
            unsigned short FCLKSEL2:2;
            unsigned short FCLKSEL3:2;
            unsigned short FCLKSEL4:2;
            unsigned short FCLKSEL5:2;
            unsigned short FCLKSEL6:2;
            unsigned short FCLKSEL7:2;
        } BIT;
    } IRQFLTC0;
    union {
        unsigned short WORD;
        struct {
            unsigned short FCLKSEL8:2;
            unsigned short FCLKSEL9:2;
            unsigned short FCLKSEL10:2;
            unsigned short FCLKSEL11:2;
            unsigned short FCLKSEL12:2;
            unsigned short FCLKSEL13:2;
            unsigned short FCLKSEL14:2;
            unsigned short FCLKSEL15:2;
        } BIT;
    } IRQFLTC1;
    char           wk13[84];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NMIST:1;
            unsigned char OSTST:1;
            unsigned char WDTST:1;
            unsigned char IWDTST:1;
            unsigned char LVD1ST:1;
            unsigned char LVD2ST:1;
            unsigned char ECCRAMST:1;
            unsigned char :1;
        } BIT;
    } NMISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NMIEN:1;
            unsigned char OSTEN:1;
            unsigned char WDTEN:1;
            unsigned char IWDTEN:1;
            unsigned char LVD1EN:1;
            unsigned char LVD2EN:1;
            unsigned char ECCRAMEN:1;
            unsigned char :1;
        } BIT;
    } NMIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NMICLR:1;
            unsigned char OSTCLR:1;
            unsigned char WDTCLR:1;
            unsigned char IWDTCLR:1;
            unsigned char LVD1CLR:1;
            unsigned char LVD2CLR:1;
            unsigned char ECCRAMCLR:1;
            unsigned char :1;
        } BIT;
    } NMICLR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char NMIMD:1;
            unsigned char :4;
        } BIT;
    } NMICR;
    char           wk14[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFLTEN:1;
            unsigned char :7;
        } BIT;
    } NMIFLTE;
    char           wk15[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFCLKSEL:2;
            unsigned char :6;
        } BIT;
    } NMIFLTC;
    char           wk16[107];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPBE1;
    char           wk17[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPBL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPBL1;
    char           wk18[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENBE1;
    char           wk19[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENBL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENBL1;
    char           wk20[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR0:1;
            unsigned long CLR1:1;
            unsigned long CLR2:1;
            unsigned long CLR3:1;
            unsigned long CLR4:1;
            unsigned long CLR5:1;
            unsigned long CLR6:1;
            unsigned long CLR7:1;
            unsigned long CLR8:1;
            unsigned long CLR9:1;
            unsigned long CLR10:1;
            unsigned long CLR11:1;
            unsigned long CLR12:1;
            unsigned long CLR13:1;
            unsigned long CLR14:1;
            unsigned long CLR15:1;
            unsigned long CLR16:1;
            unsigned long CLR17:1;
            unsigned long CLR18:1;
            unsigned long CLR19:1;
            unsigned long CLR20:1;
            unsigned long CLR21:1;
            unsigned long CLR22:1;
            unsigned long CLR23:1;
            unsigned long CLR24:1;
            unsigned long CLR25:1;
            unsigned long CLR26:1;
            unsigned long CLR27:1;
            unsigned long CLR28:1;
            unsigned long CLR29:1;
            unsigned long CLR30:1;
            unsigned long CLR31:1;
        } BIT;
    } GCREBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR0:1;
            unsigned long CLR1:1;
            unsigned long CLR2:1;
            unsigned long CLR3:1;
            unsigned long CLR4:1;
            unsigned long CLR5:1;
            unsigned long CLR6:1;
            unsigned long CLR7:1;
            unsigned long CLR8:1;
            unsigned long CLR9:1;
            unsigned long CLR10:1;
            unsigned long CLR11:1;
            unsigned long CLR12:1;
            unsigned long CLR13:1;
            unsigned long CLR14:1;
            unsigned long CLR15:1;
            unsigned long CLR16:1;
            unsigned long CLR17:1;
            unsigned long CLR18:1;
            unsigned long CLR19:1;
            unsigned long CLR20:1;
            unsigned long CLR21:1;
            unsigned long CLR22:1;
            unsigned long CLR23:1;
            unsigned long CLR24:1;
            unsigned long CLR25:1;
            unsigned long CLR26:1;
            unsigned long CLR27:1;
            unsigned long CLR28:1;
            unsigned long CLR29:1;
            unsigned long CLR30:1;
            unsigned long CLR31:1;
        } BIT;
    } GCREBE1;
    char           wk21[120];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR4;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR5;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR6;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR8;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBR9;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIBRA;
    char           wk22[117];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR128;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR129;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR130;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR131;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR132;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR133;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR134;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR135;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR136;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR137;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR138;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR139;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR140;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR141;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR142;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR143;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR144;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR145;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR146;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR147;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR148;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR149;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR150;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR151;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR152;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR153;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR154;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR155;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR156;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR157;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR158;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR159;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR160;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR161;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR162;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR163;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR164;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR165;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR166;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR167;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR168;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR169;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR170;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR171;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR172;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR173;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR174;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR175;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR176;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR177;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR178;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR179;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR180;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR181;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR182;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR183;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR184;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR185;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR186;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR187;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR188;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR189;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR190;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR191;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR192;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR193;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR194;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR195;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR196;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR197;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR198;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR199;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR200;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR201;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR202;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR203;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR204;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR205;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR206;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR207;
    char           wk23[48];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPAE1;
    char           wk24[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPAL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS0:1;
            unsigned long IS1:1;
            unsigned long IS2:1;
            unsigned long IS3:1;
            unsigned long IS4:1;
            unsigned long IS5:1;
            unsigned long IS6:1;
            unsigned long IS7:1;
            unsigned long IS8:1;
            unsigned long IS9:1;
            unsigned long IS10:1;
            unsigned long IS11:1;
            unsigned long IS12:1;
            unsigned long IS13:1;
            unsigned long IS14:1;
            unsigned long IS15:1;
            unsigned long IS16:1;
            unsigned long IS17:1;
            unsigned long IS18:1;
            unsigned long IS19:1;
            unsigned long IS20:1;
            unsigned long IS21:1;
            unsigned long IS22:1;
            unsigned long IS23:1;
            unsigned long IS24:1;
            unsigned long IS25:1;
            unsigned long IS26:1;
            unsigned long IS27:1;
            unsigned long IS28:1;
            unsigned long IS29:1;
            unsigned long IS30:1;
            unsigned long IS31:1;
        } BIT;
    } GRPAL1;
    char           wk25[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENAE1;
    char           wk26[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENAL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN0:1;
            unsigned long EN1:1;
            unsigned long EN2:1;
            unsigned long EN3:1;
            unsigned long EN4:1;
            unsigned long EN5:1;
            unsigned long EN6:1;
            unsigned long EN7:1;
            unsigned long EN8:1;
            unsigned long EN9:1;
            unsigned long EN10:1;
            unsigned long EN11:1;
            unsigned long EN12:1;
            unsigned long EN13:1;
            unsigned long EN14:1;
            unsigned long EN15:1;
            unsigned long EN16:1;
            unsigned long EN17:1;
            unsigned long EN18:1;
            unsigned long EN19:1;
            unsigned long EN20:1;
            unsigned long EN21:1;
            unsigned long EN22:1;
            unsigned long EN23:1;
            unsigned long EN24:1;
            unsigned long EN25:1;
            unsigned long EN26:1;
            unsigned long EN27:1;
            unsigned long EN28:1;
            unsigned long EN29:1;
            unsigned long EN30:1;
            unsigned long EN31:1;
        } BIT;
    } GENAL1;
    char           wk27[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR0:1;
            unsigned long CLR1:1;
            unsigned long CLR2:1;
            unsigned long CLR3:1;
            unsigned long CLR4:1;
            unsigned long CLR5:1;
            unsigned long CLR6:1;
            unsigned long CLR7:1;
            unsigned long CLR8:1;
            unsigned long CLR9:1;
            unsigned long CLR10:1;
            unsigned long CLR11:1;
            unsigned long CLR12:1;
            unsigned long CLR13:1;
            unsigned long CLR14:1;
            unsigned long CLR15:1;
            unsigned long CLR16:1;
            unsigned long CLR17:1;
            unsigned long CLR18:1;
            unsigned long CLR19:1;
            unsigned long CLR20:1;
            unsigned long CLR21:1;
            unsigned long CLR22:1;
            unsigned long CLR23:1;
            unsigned long CLR24:1;
            unsigned long CLR25:1;
            unsigned long CLR26:1;
            unsigned long CLR27:1;
            unsigned long CLR28:1;
            unsigned long CLR29:1;
            unsigned long CLR30:1;
            unsigned long CLR31:1;
        } BIT;
    } GCREAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR0:1;
            unsigned long CLR1:1;
            unsigned long CLR2:1;
            unsigned long CLR3:1;
            unsigned long CLR4:1;
            unsigned long CLR5:1;
            unsigned long CLR6:1;
            unsigned long CLR7:1;
            unsigned long CLR8:1;
            unsigned long CLR9:1;
            unsigned long CLR10:1;
            unsigned long CLR11:1;
            unsigned long CLR12:1;
            unsigned long CLR13:1;
            unsigned long CLR14:1;
            unsigned long CLR15:1;
            unsigned long CLR16:1;
            unsigned long CLR17:1;
            unsigned long CLR18:1;
            unsigned long CLR19:1;
            unsigned long CLR20:1;
            unsigned long CLR21:1;
            unsigned long CLR22:1;
            unsigned long CLR23:1;
            unsigned long CLR24:1;
            unsigned long CLR25:1;
            unsigned long CLR26:1;
            unsigned long CLR27:1;
            unsigned long CLR28:1;
            unsigned long CLR29:1;
            unsigned long CLR30:1;
            unsigned long CLR31:1;
        } BIT;
    } GCREAE1;
    char           wk28[120];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR4;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR5;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR6;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR8;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIAR9;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIARA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR0:1;
            unsigned char PIR1:1;
            unsigned char PIR2:1;
            unsigned char PIR3:1;
            unsigned char PIR4:1;
            unsigned char PIR5:1;
            unsigned char PIR6:1;
            unsigned char PIR7:1;
        } BIT;
    } PIARB;
    char           wk29[196];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR208;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR209;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR210;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR211;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR212;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR213;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR214;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR215;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR216;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR217;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR218;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR219;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR220;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR221;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR222;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR223;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR224;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR225;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR226;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR227;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR228;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR229;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR230;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR231;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR232;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR233;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR234;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR235;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR236;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR237;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR238;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR239;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR240;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR241;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR242;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR243;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR244;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR245;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR246;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR247;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR248;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR249;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR250;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR251;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR252;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR253;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR254;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR255;
    union {
        unsigned char BYTE;
        struct {
            unsigned char WPRC:1;
            unsigned char :7;
        } BIT;
    } SLIPRCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SELEXD0:1;
            unsigned char SELEXD1:1;
            unsigned char :6;
        } BIT;
    } SELEXDR;
};

struct st_iwdt {
    unsigned char  IWDTRR;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short TOPS:2;
            unsigned short :2;
            unsigned short CKS:4;
            unsigned short RPES:2;
            unsigned short :2;
            unsigned short RPSS:2;
            unsigned short :2;
        } BIT;
    } IWDTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short CNTVAL:14;
            unsigned short UNDFF:1;
            unsigned short REFEF:1;
        } BIT;
    } IWDTSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RSTIRQS:1;
        } BIT;
    } IWDTRCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SLCSTP:1;
        } BIT;
    } IWDTCSTPR;
};

struct st_mmc {
    union {
        unsigned long LONG;
        struct {
            unsigned long DATW:2;
            unsigned long :1;
            unsigned long SBIT:1;
            unsigned long :2;
            unsigned long OPDM:1;
            unsigned long TBIT:1;
            unsigned long CRCSTE:1;
            unsigned long BOOTACK:1;
            unsigned long CRC16C:1;
            unsigned long :1;
            unsigned long RCRC7C:2;
            unsigned long RIDXC:2;
            unsigned long CMD12EN:1;
            unsigned long CMLTE:1;
            unsigned long DWEN:1;
            unsigned long WDAT:1;
            unsigned long :1;
            unsigned long RBSY:1;
            unsigned long RTYP:2;
            unsigned long CMD:6;
            unsigned long BOOT:1;
            unsigned long :1;
        } BIT;
    } CECMDSET;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long ARG:32;
        } BIT;
    } CEARG;
    union {
        unsigned long LONG;
        struct {
            unsigned long C12ARG:32;
        } BIT;
    } CEARGCMD12;
    union {
        unsigned long LONG;
        struct {
            unsigned long BREAK:1;
            unsigned long :31;
        } BIT;
    } CECMDCTRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long BLKSZ:16;
            unsigned long BLKCNT:16;
        } BIT;
    } CEBLOCKSET;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long SRWDTO:4;
            unsigned long SRBSYTO:4;
            unsigned long SRSTPO:2;
            unsigned long :2;
            unsigned long CLKDIV:4;
            unsigned long :4;
            unsigned long CLKEN:1;
            unsigned long :6;
            unsigned long MMCBUSBSY:1;
        } BIT;
    } CECLKCTRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long ATYP:1;
            unsigned long :7;
            unsigned long DMAREN:1;
            unsigned long DMAWEN:1;
            unsigned long DMATYP:1;
            unsigned long :5;
        } BIT;
    } CEBUFACC;
    unsigned long  CERESP3;
    unsigned long  CERESP2;
    unsigned long  CERESP1;
    unsigned long  CERESP0;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSP12:32;
        } BIT;
    } CERESPCMD12;
    union {
        unsigned long LONG;
        struct {
            unsigned long DATA:32;
        } BIT;
    } CEDATA;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long SBTDATTO:4;
            unsigned long S1STBTDATTO:4;
            unsigned long SBTACKTO:4;
            unsigned long SBTCLKDIV:4;
        } BIT;
    } CEBOOT;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPTO:1;
            unsigned long RBSYTO:1;
            unsigned long RDATTO:1;
            unsigned long WDATTO:1;
            unsigned long CRCSTO:1;
            unsigned long :3;
            unsigned long RSPERR:1;
            unsigned long RIDXERR:1;
            unsigned long RDATERR:1;
            unsigned long WDATERR:1;
            unsigned long :2;
            unsigned long BUFVIO:1;
            unsigned long CMDVIO:1;
            unsigned long CRSPE:1;
            unsigned long RBSYE:1;
            unsigned long :2;
            unsigned long BUFREN:1;
            unsigned long BUFWEN:1;
            unsigned long BUFRE:1;
            unsigned long DTRANE:1;
            unsigned long CMD12CRE:1;
            unsigned long CMD12RBE:1;
            unsigned long CMD12DRE:1;
            unsigned long :5;
        } BIT;
    } CEINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long MRSPTO:1;
            unsigned long MRBSYTO:1;
            unsigned long MRDATTO:1;
            unsigned long MWDATTO:1;
            unsigned long MCRCSTO:1;
            unsigned long :3;
            unsigned long MRSPERR:1;
            unsigned long MRIDXERR:1;
            unsigned long MRDATERR:1;
            unsigned long MWDATERR:1;
            unsigned long :2;
            unsigned long MBUFVIO:1;
            unsigned long MCMDVIO:1;
            unsigned long MCRSPE:1;
            unsigned long MRBSYE:1;
            unsigned long :2;
            unsigned long MBUFREN:1;
            unsigned long MBUFWEN:1;
            unsigned long MBUFRE:1;
            unsigned long MDTRANE:1;
            unsigned long MCMD12CRE:1;
            unsigned long MCMD12RBE:1;
            unsigned long MCMD12DRE:1;
            unsigned long :5;
        } BIT;
    } CEINTEN;
    union {
        unsigned long LONG;
        struct {
            unsigned long RCVBLK:16;
            unsigned long DATSIG:8;
            unsigned long RSPIDX:6;
            unsigned long CMDSIG:1;
            unsigned long CMDSEQ:1;
        } BIT;
    } CEHOSTSTS1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :5;
            unsigned long BTDATTO:1;
            unsigned long STBTDATTO:1;
            unsigned long BTACKTO:1;
            unsigned long STRSPTO:1;
            unsigned long AC12RSPTO:1;
            unsigned long RSPBSYTO:1;
            unsigned long AC12BSYTO:1;
            unsigned long CRCSTTO:1;
            unsigned long DATBSYTO:1;
            unsigned long STRDATTO:1;
            unsigned long :1;
            unsigned long CRCST:3;
            unsigned long :1;
            unsigned long BTACKEBE:1;
            unsigned long BTACKPATE:1;
            unsigned long RSPIDXE:1;
            unsigned long AC12IDXE:1;
            unsigned long RSPEBE:1;
            unsigned long AC12REBE:1;
            unsigned long RDATEBE:1;
            unsigned long CRCSTEBE:1;
            unsigned long RSPCRC7E:1;
            unsigned long AC12CRCE:1;
            unsigned long CRC16E:1;
            unsigned long CRCSTE:1;
        } BIT;
    } CEHOSTSTS2;
    char           wk2[32];
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long MCDFALL:1;
            unsigned long MCDRISE:1;
            unsigned long :6;
            unsigned long CDFALL:1;
            unsigned long CDRISE:1;
            unsigned long CDSIG:1;
            unsigned long :17;
        } BIT;
    } CEDETECT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :19;
            unsigned long CLKMAIN:1;
            unsigned long :1;
            unsigned long RESNOUT:1;
            unsigned long :10;
        } BIT;
    } CEADDMODE;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long VERSION:16;
            unsigned long :15;
            unsigned long SWRST:1;
        } BIT;
    } CEVERSION;
};

struct st_mpc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS0E:1;
            unsigned char CS1E:1;
            unsigned char CS2E:1;
            unsigned char CS3E:1;
            unsigned char CS4E:1;
            unsigned char CS5E:1;
            unsigned char CS6E:1;
            unsigned char CS7E:1;
        } BIT;
    } PFCSE;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS0S:1;
            unsigned char :1;
            unsigned char CS1S:2;
            unsigned char CS2S:2;
            unsigned char CS3S:2;
        } BIT;
    } PFCSS0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS4S:2;
            unsigned char CS5S:2;
            unsigned char CS6S:2;
            unsigned char CS7S:2;
        } BIT;
    } PFCSS1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char A8E:1;
            unsigned char A9E:1;
            unsigned char A10E:1;
            unsigned char A11E:1;
            unsigned char A12E:1;
            unsigned char A13E:1;
            unsigned char A14E:1;
            unsigned char A15E:1;
        } BIT;
    } PFAOE0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char A16E:1;
            unsigned char A17E:1;
            unsigned char A18E:1;
            unsigned char A19E:1;
            unsigned char A20E:1;
            unsigned char A21E:1;
            unsigned char A22E:1;
            unsigned char A23E:1;
        } BIT;
    } PFAOE1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADRLE:1;
            unsigned char ADRHMS:1;
            unsigned char :1;
            unsigned char BCLKO:1;
            unsigned char DHE:1;
            unsigned char DH32E:1;
            unsigned char WR1BC1E:1;
            unsigned char WR32BC32E:1;
        } BIT;
    } PFBCR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char WAITS:2;
            unsigned char ALEOE:1;
            unsigned char ALES:1;
            unsigned char MDSDE:1;
            unsigned char :1;
            unsigned char DQM1E:1;
            unsigned char SDCLKE:1;
        } BIT;
    } PFBCR1;
    char           wk1[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char PHYMODE0:1;
            unsigned char PHYMODE1:1;
            unsigned char :2;
        } BIT;
    } PFENET;
    char           wk2[16];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char PFSWE:1;
            unsigned char B0WI:1;
        } BIT;
    } PWPR;
    char           wk3[32];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P00PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P01PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P02PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P03PFS;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P05PFS;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P07PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P10PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P11PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P12PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P13PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P14PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P15PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P16PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P17PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P20PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P21PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P22PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P23PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P24PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P25PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P26PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P27PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P30PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P31PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P32PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P33PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P34PFS;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P40PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P41PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P42PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P43PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P44PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P45PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P46PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } P47PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P50PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P51PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P52PFS;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P54PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P55PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P56PFS;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P60PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P61PFS;
    char           wk9[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P66PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } P67PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P70PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P71PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P72PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P73PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P74PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P75PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P76PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P77PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P80PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P81PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P82PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P83PFS;
    char           wk10[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P86PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } P87PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P90PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P91PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P92PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P93PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P94PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P95PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P96PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :1;
            unsigned char ASEL:1;
        } BIT;
    } P97PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PA7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PB7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PC7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PD7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char ASEL:1;
        } BIT;
    } PE7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PF0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PF1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PF2PFS;
    char           wk11[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char ISEL:1;
            unsigned char :1;
        } BIT;
    } PF5PFS;
    char           wk12[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PG7PFS;
    char           wk13[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PJ3PFS;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PSEL:6;
            unsigned char :2;
        } BIT;
    } PJ5PFS;
};

struct st_mpu {
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE1;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE2;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE2;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE3;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE3;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE4;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE4;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE5;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE5;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE6;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE6;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE7;
    union {
        unsigned long LONG;
        struct {
            unsigned long V:1;
            unsigned long UAC:3;
            unsigned long REPN:28;
        } BIT;
    } REPAGE7;
    char           wk0[192];
    union {
        unsigned long LONG;
        struct {
            unsigned long MPEN:1;
            unsigned long :31;
        } BIT;
    } MPEN;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long UBAC:3;
            unsigned long :28;
        } BIT;
    } MPBAC;
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR:1;
            unsigned long :31;
        } BIT;
    } MPECLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long IA:1;
            unsigned long DA:1;
            unsigned long DRW:1;
            unsigned long :29;
        } BIT;
    } MPESTS;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long DEA:32;
        } BIT;
    } MPDEA;
    char           wk2[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long SA:32;
        } BIT;
    } MPSA;
    union {
        unsigned short WORD;
        struct {
            unsigned short S:1;
            unsigned short :15;
        } BIT;
    } MPOPS;
    union {
        unsigned short WORD;
        struct {
            unsigned short INV:1;
            unsigned short :15;
        } BIT;
    } MPOPI;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long UHACI:3;
            unsigned long :12;
            unsigned long HITI:8;
            unsigned long :8;
        } BIT;
    } MHITI;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long UHACD:3;
            unsigned long :12;
            unsigned long HITD:8;
            unsigned long :8;
        } BIT;
    } MHITD;
};

struct st_mtu {
    union {
        unsigned char BYTE;
        struct {
            unsigned char OE3B:1;
            unsigned char OE4A:1;
            unsigned char OE4B:1;
            unsigned char OE3D:1;
            unsigned char OE4C:1;
            unsigned char OE4D:1;
            unsigned char :2;
        } BIT;
    } TOERA;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char UF:1;
            unsigned char VF:1;
            unsigned char WF:1;
            unsigned char FB:1;
            unsigned char P:1;
            unsigned char N:1;
            unsigned char BDC:1;
            unsigned char :1;
        } BIT;
    } TGCRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLSP:1;
            unsigned char OLSN:1;
            unsigned char TOCS:1;
            unsigned char TOCL:1;
            unsigned char :2;
            unsigned char PSYE:1;
            unsigned char :1;
        } BIT;
    } TOCR1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLS1P:1;
            unsigned char OLS1N:1;
            unsigned char OLS2P:1;
            unsigned char OLS2N:1;
            unsigned char OLS3P:1;
            unsigned char OLS3N:1;
            unsigned char BF:2;
        } BIT;
    } TOCR2A;
    char           wk1[4];
    unsigned short TCDRA;
    unsigned short TDDRA;
    char           wk2[8];
    unsigned short TCNTSA;
    unsigned short TCBRA;
    char           wk3[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char T4VCOR:3;
            unsigned char T4VEN:1;
            unsigned char T3ACOR:3;
            unsigned char T3AEN:1;
        } BIT;
    } TITCR1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char T4VCNT:3;
            unsigned char :1;
            unsigned char T3ACNT:3;
            unsigned char :1;
        } BIT;
    } TITCNT1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BTE:2;
            unsigned char :6;
        } BIT;
    } TBTERA;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TDER:1;
            unsigned char :7;
        } BIT;
    } TDERA;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLS1P:1;
            unsigned char OLS1N:1;
            unsigned char OLS2P:1;
            unsigned char OLS2N:1;
            unsigned char OLS3P:1;
            unsigned char OLS3N:1;
            unsigned char :2;
        } BIT;
    } TOLBRA;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TITM:1;
            unsigned char :7;
        } BIT;
    } TITMRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TRG4COR:3;
            unsigned char :5;
        } BIT;
    } TITCR2A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TRG4CNT:3;
            unsigned char :5;
        } BIT;
    } TITCNT2A;
    char           wk7[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char WRE:1;
            unsigned char SCC:1;
            unsigned char :5;
            unsigned char CCE:1;
        } BIT;
    } TWCRA;
    char           wk8[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DRS:1;
            unsigned char :7;
        } BIT;
    } TMDR2A;
    char           wk9[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CST0:1;
            unsigned char CST1:1;
            unsigned char CST2:1;
            unsigned char CST8:1;
            unsigned char :2;
            unsigned char CST3:1;
            unsigned char CST4:1;
        } BIT;
    } TSTRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SYNC0:1;
            unsigned char SYNC1:1;
            unsigned char SYNC2:1;
            unsigned char :3;
            unsigned char SYNC3:1;
            unsigned char SYNC4:1;
        } BIT;
    } TSYRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SCH7:1;
            unsigned char SCH6:1;
            unsigned char :1;
            unsigned char SCH4:1;
            unsigned char SCH3:1;
            unsigned char SCH2:1;
            unsigned char SCH1:1;
            unsigned char SCH0:1;
        } BIT;
    } TCSYSTR;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RWE:1;
            unsigned char :7;
        } BIT;
    } TRWERA;
    char           wk11[1925];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OE6B:1;
            unsigned char OE7A:1;
            unsigned char OE7B:1;
            unsigned char OE6D:1;
            unsigned char OE7C:1;
            unsigned char OE7D:1;
            unsigned char :2;
        } BIT;
    } TOERB;
    char           wk12[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLSP:1;
            unsigned char OLSN:1;
            unsigned char TOCS:1;
            unsigned char TOCL:1;
            unsigned char :2;
            unsigned char PSYE:1;
            unsigned char :1;
        } BIT;
    } TOCR1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLS1P:1;
            unsigned char OLS1N:1;
            unsigned char OLS2P:1;
            unsigned char OLS2N:1;
            unsigned char OLS3P:1;
            unsigned char OLS3N:1;
            unsigned char BF:2;
        } BIT;
    } TOCR2B;
    char           wk13[4];
    unsigned short TCDRB;
    unsigned short TDDRB;
    char           wk14[8];
    unsigned short TCNTSB;
    unsigned short TCBRB;
    char           wk15[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char T7VCOR:3;
            unsigned char T7VEN:1;
            unsigned char T6ACOR:3;
            unsigned char T6AEN:1;
        } BIT;
    } TITCR1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char T7VCNT:3;
            unsigned char :1;
            unsigned char T6ACNT:3;
            unsigned char :1;
        } BIT;
    } TITCNT1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BTE:2;
            unsigned char :6;
        } BIT;
    } TBTERB;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TDER:1;
            unsigned char :7;
        } BIT;
    } TDERB;
    char           wk17[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OLS1P:1;
            unsigned char OLS1N:1;
            unsigned char OLS2P:1;
            unsigned char OLS2N:1;
            unsigned char OLS3P:1;
            unsigned char OLS3N:1;
            unsigned char :2;
        } BIT;
    } TOLBRB;
    char           wk18[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TITM:1;
            unsigned char :7;
        } BIT;
    } TITMRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TRG7COR:3;
            unsigned char :5;
        } BIT;
    } TITCR2B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TRG7CNT:3;
            unsigned char :5;
        } BIT;
    } TITCNT2B;
    char           wk19[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char WRE:1;
            unsigned char SCC:1;
            unsigned char :5;
            unsigned char CCE:1;
        } BIT;
    } TWCRB;
    char           wk20[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DRS:1;
            unsigned char :7;
        } BIT;
    } TMDR2B;
    char           wk21[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char CST6:1;
            unsigned char CST7:1;
        } BIT;
    } TSTRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char SYNC6:1;
            unsigned char SYNC7:1;
        } BIT;
    } TSYRB;
    char           wk22[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RWE:1;
            unsigned char :7;
        } BIT;
    } TRWERB;
};

struct st_mtu0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR0;
    char           wk0[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCRC;
    char           wk1[102];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char BFE:1;
            unsigned char :1;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :3;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk2[16];
    unsigned short TGRE;
    unsigned short TGRF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEE:1;
            unsigned char TGIEF:1;
            unsigned char :5;
            unsigned char TTGE2:1;
        } BIT;
    } TIER2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFE:1;
            unsigned char TGFF:1;
            unsigned char :6;
        } BIT;
    } TSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTSA:1;
            unsigned char TTSB:1;
            unsigned char TTSE:1;
            unsigned char :5;
        } BIT;
    } TBTM;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char :5;
        } BIT;
    } TCR2;
};

struct st_mtu1 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR1;
    char           wk1[238];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:2;
            unsigned char :1;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char :4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk3[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char I1AE:1;
            unsigned char I1BE:1;
            unsigned char I2AE:1;
            unsigned char I2BE:1;
            unsigned char :4;
        } BIT;
    } TICCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LWA:1;
            unsigned char PHCKSEL:1;
            unsigned char :6;
        } BIT;
    } TMDR3;
    char           wk4[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char PCB:2;
            unsigned char :3;
        } BIT;
    } TCR2;
    char           wk5[11];
    unsigned long  TCNTLW;
    unsigned long  TGRALW;
    unsigned long  TGRBLW;
};

struct st_mtu2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR2;
    char           wk0[365];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:2;
            unsigned char :1;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char :4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char PCB:2;
            unsigned char :3;
        } BIT;
    } TCR2;
};

struct st_mtu3 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char :2;
        } BIT;
    } TMDR1;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    char           wk3[7];
    unsigned short TCNT;
    char           wk4[6];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk5[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk6[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    char           wk7[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTSA:1;
            unsigned char TTSB:1;
            unsigned char :6;
        } BIT;
    } TBTM;
    char           wk8[19];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char :5;
        } BIT;
    } TCR2;
    char           wk9[37];
    unsigned short TGRE;
    char           wk10[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR3;
};

struct st_mtu4 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char :2;
        } BIT;
    } TMDR1;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :1;
            unsigned char TTGE2:1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    char           wk4[8];
    unsigned short TCNT;
    char           wk5[8];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk6[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    char           wk8[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTSA:1;
            unsigned char TTSB:1;
            unsigned char :6;
        } BIT;
    } TBTM;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short ITB4VE:1;
            unsigned short ITB3AE:1;
            unsigned short ITA4VE:1;
            unsigned short ITA3AE:1;
            unsigned short DT4BE:1;
            unsigned short UT4BE:1;
            unsigned short DT4AE:1;
            unsigned short UT4AE:1;
            unsigned short :6;
            unsigned short BF:2;
        } BIT;
    } TADCR;
    char           wk10[2];
    unsigned short TADCORA;
    unsigned short TADCORB;
    unsigned short TADCOBRA;
    unsigned short TADCOBRB;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char :5;
        } BIT;
    } TCR2;
    char           wk12[38];
    unsigned short TGRE;
    unsigned short TGRF;
    char           wk13[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR4;
};

struct st_mtu5 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFUEN:1;
            unsigned char NFVEN:1;
            unsigned char NFWEN:1;
            unsigned char :1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR5;
    char           wk1[2538];
    unsigned short TCNTU;
    unsigned short TGRU;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:2;
            unsigned char :6;
        } BIT;
    } TCRU;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char CKEG:2;
            unsigned char :3;
        } BIT;
    } TCR2U;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:5;
            unsigned char :3;
        } BIT;
    } TIORU;
    char           wk2[9];
    unsigned short TCNTV;
    unsigned short TGRV;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:2;
            unsigned char :6;
        } BIT;
    } TCRV;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char CKEG:2;
            unsigned char :3;
        } BIT;
    } TCR2V;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:5;
            unsigned char :3;
        } BIT;
    } TIORV;
    char           wk3[9];
    unsigned short TCNTW;
    unsigned short TGRW;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:2;
            unsigned char :6;
        } BIT;
    } TCRW;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char CKEG:2;
            unsigned char :3;
        } BIT;
    } TCR2W;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:5;
            unsigned char :3;
        } BIT;
    } TIORW;
    char           wk4[9];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMFW5:1;
            unsigned char CMFV5:1;
            unsigned char CMFU5:1;
            unsigned char :5;
        } BIT;
    } TSR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIE5W:1;
            unsigned char TGIE5V:1;
            unsigned char TGIE5U:1;
            unsigned char :5;
        } BIT;
    } TIER;
    char           wk6[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CSTW5:1;
            unsigned char CSTV5:1;
            unsigned char CSTU5:1;
            unsigned char :5;
        } BIT;
    } TSTR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPCLR5W:1;
            unsigned char CMPCLR5V:1;
            unsigned char CMPCLR5U:1;
            unsigned char :5;
        } BIT;
    } TCNTCMPCLR;
};

struct st_mtu6 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR6;
    char           wk1[1884];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char :2;
        } BIT;
    } TMDR1;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    char           wk4[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    char           wk5[7];
    unsigned short TCNT;
    char           wk6[6];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk7[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk8[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    char           wk9[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTSA:1;
            unsigned char TTSB:1;
            unsigned char :6;
        } BIT;
    } TBTM;
    char           wk10[19];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char :5;
        } BIT;
    } TCR2;
    char           wk11[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CE2B:1;
            unsigned char CE2A:1;
            unsigned char CE1B:1;
            unsigned char CE1A:1;
            unsigned char CE0D:1;
            unsigned char CE0C:1;
            unsigned char CE0B:1;
            unsigned char CE0A:1;
        } BIT;
    } TSYCR;
    char           wk12[33];
    unsigned short TGRE;
};

struct st_mtu7 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR7;
    char           wk0[1884];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char :2;
        } BIT;
    } TMDR1;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :1;
            unsigned char TTGE2:1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    char           wk4[8];
    unsigned short TCNT;
    char           wk5[8];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk6[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    char           wk8[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTSA:1;
            unsigned char TTSB:1;
            unsigned char :6;
        } BIT;
    } TBTM;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short ITB7VE:1;
            unsigned short ITB6AE:1;
            unsigned short ITA7VE:1;
            unsigned short ITA6AE:1;
            unsigned short DT7BE:1;
            unsigned short UT7BE:1;
            unsigned short DT7AE:1;
            unsigned short UT7AE:1;
            unsigned short :6;
            unsigned short BF:2;
        } BIT;
    } TADCR;
    char           wk10[2];
    unsigned short TADCORA;
    unsigned short TADCORB;
    unsigned short TADCOBRA;
    unsigned short TADCOBRB;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char :5;
        } BIT;
    } TCR2;
    char           wk12[38];
    unsigned short TGRE;
    unsigned short TGRF;
};

struct st_mtu8 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR8;
    char           wk0[871];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char :2;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :2;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char :3;
        } BIT;
    } TSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC2:3;
            unsigned char PCB:2;
            unsigned char :3;
        } BIT;
    } TCR2;
    char           wk1[1];
    unsigned long  TCNT;
    unsigned long  TGRA;
    unsigned long  TGRB;
    unsigned long  TGRC;
    unsigned long  TGRD;
};

struct st_pdc {
    union {
        unsigned long LONG;
        struct {
            unsigned long PCKE:1;
            unsigned long VPS:1;
            unsigned long HPS:1;
            unsigned long PRST:1;
            unsigned long DFIE:1;
            unsigned long FEIE:1;
            unsigned long OVIE:1;
            unsigned long UDRIE:1;
            unsigned long VERIE:1;
            unsigned long HERIE:1;
            unsigned long PCKOE:1;
            unsigned long PCKDIV:3;
            unsigned long EDS:1;
            unsigned long :17;
        } BIT;
    } PCCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned long PCE:1;
            unsigned long :31;
        } BIT;
    } PCCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long FBSY:1;
            unsigned long FEMPF:1;
            unsigned long FEF:1;
            unsigned long OVRF:1;
            unsigned long UDRF:1;
            unsigned long VERF:1;
            unsigned long HERF:1;
            unsigned long :25;
        } BIT;
    } PCSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long VSYNC:1;
            unsigned long HSYNC:1;
            unsigned long :30;
        } BIT;
    } PCMONR;
    union {
        unsigned long LONG;
        struct {
            unsigned long B0:1;
            unsigned long B1:1;
            unsigned long B2:1;
            unsigned long B3:1;
            unsigned long B4:1;
            unsigned long B5:1;
            unsigned long B6:1;
            unsigned long B7:1;
            unsigned long B8:1;
            unsigned long B9:1;
            unsigned long B10:1;
            unsigned long B11:1;
            unsigned long B12:1;
            unsigned long B13:1;
            unsigned long B14:1;
            unsigned long B15:1;
            unsigned long B16:1;
            unsigned long B17:1;
            unsigned long B18:1;
            unsigned long B19:1;
            unsigned long B20:1;
            unsigned long B21:1;
            unsigned long B22:1;
            unsigned long B23:1;
            unsigned long B24:1;
            unsigned long B25:1;
            unsigned long B26:1;
            unsigned long B27:1;
            unsigned long B28:1;
            unsigned long B29:1;
            unsigned long B30:1;
            unsigned long B31:1;
        } BIT;
    } PCDR;
    union {
        unsigned long LONG;
        struct {
            unsigned long VST:12;
            unsigned long :4;
            unsigned long VSZ:12;
            unsigned long :4;
        } BIT;
    } VCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long HST:12;
            unsigned long :4;
            unsigned long HSZ:12;
            unsigned long :4;
        } BIT;
    } HCR;
};

struct st_poe {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char POE0M:2;
            unsigned char :6;
            unsigned char PIE1:1;
            unsigned char :3;
            unsigned char POE0F:1;
            unsigned char :3;
        } BIT;
    } ICSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char OIE1:1;
            unsigned char OCE1:1;
            unsigned char :5;
            unsigned char OSF1:1;
        } BIT;
    } OCSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char POE4M:2;
            unsigned char :6;
            unsigned char PIE2:1;
            unsigned char :3;
            unsigned char POE4F:1;
            unsigned char :3;
        } BIT;
    } ICSR2;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char OIE2:1;
            unsigned char OCE2:1;
            unsigned char :5;
            unsigned char OSF2:1;
        } BIT;
    } OCSR2;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char POE8M:2;
            unsigned char :6;
            unsigned char PIE3:1;
            unsigned char POE8E:1;
            unsigned char :2;
            unsigned char POE8F:1;
            unsigned char :3;
        } BIT;
    } ICSR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTUCH34HIZ:1;
            unsigned char MTUCH67HIZ:1;
            unsigned char MTUCH0HIZ:1;
            unsigned char GPT01HIZ:1;
            unsigned char GPT23HIZ:1;
            unsigned char :3;
        } BIT;
    } SPOER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTU0AZE:1;
            unsigned char MTU0BZE:1;
            unsigned char MTU0CZE:1;
            unsigned char MTU0DZE:1;
            unsigned char :4;
        } BIT;
    } POECR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short MTU7BDZE:1;
            unsigned short MTU7ACZE:1;
            unsigned short MTU6BDZE:1;
            unsigned short :5;
            unsigned short MTU4BDZE:1;
            unsigned short MTU4ACZE:1;
            unsigned short MTU3BDZE:1;
            unsigned short :5;
        } BIT;
    } POECR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short GPT0ABZE:1;
            unsigned short GPT1ABZE:1;
            unsigned short :6;
            unsigned short GPT2ABZE:1;
            unsigned short GPT3ABZE:1;
            unsigned short :6;
        } BIT;
    } POECR3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short IC2ADDMT34ZE:1;
            unsigned short IC3ADDMT34ZE:1;
            unsigned short IC4ADDMT34ZE:1;
            unsigned short IC5ADDMT34ZE:1;
            unsigned short :3;
            unsigned short IC1ADDMT67ZE:1;
            unsigned short :1;
            unsigned short IC3ADDMT67ZE:1;
            unsigned short IC4ADDMT67ZE:1;
            unsigned short IC5ADDMT67ZE:1;
            unsigned short :2;
        } BIT;
    } POECR4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short IC1ADDMT0ZE:1;
            unsigned short IC2ADDMT0ZE:1;
            unsigned short :1;
            unsigned short IC4ADDMT0ZE:1;
            unsigned short IC5ADDMT0ZE:1;
            unsigned short :10;
        } BIT;
    } POECR5;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short IC1ADDGPT01ZE:1;
            unsigned short IC2ADDGPT01Z:1;
            unsigned short IC3ADDGPT01ZE:1;
            unsigned short :1;
            unsigned short IC5ADDGPT01ZE:1;
            unsigned short :3;
            unsigned short IC1ADDGPT23ZE:1;
            unsigned short IC2ADDGPT23Z:1;
            unsigned short IC3ADDGPT23ZE:1;
            unsigned short IC4ADDGPT23ZE:1;
            unsigned short :3;
        } BIT;
    } POECR6;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char POE10M:2;
            unsigned char :6;
            unsigned char PIE4:1;
            unsigned char POE10E:1;
            unsigned char :2;
            unsigned char POE10F:1;
            unsigned char :3;
        } BIT;
    } ICSR4;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char POE11M:2;
            unsigned char :6;
            unsigned char PIE5:1;
            unsigned char POE11E:1;
            unsigned char :2;
            unsigned char POE11F:1;
            unsigned char :3;
        } BIT;
    } ICSR5;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char OLSG0A:1;
            unsigned char OLSG0B:1;
            unsigned char OLSG1A:1;
            unsigned char OLSG1B:1;
            unsigned char OLSG2A:1;
            unsigned char OLSG2B:1;
            unsigned char :1;
            unsigned char OLSEN:1;
            unsigned char :8;
        } BIT;
    } ALR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char :1;
            unsigned char OSTSTE:1;
            unsigned char :2;
            unsigned char OSTSTF:1;
            unsigned char :3;
        } BIT;
    } ICSR6;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0ASEL:4;
            unsigned char G0BSEL:4;
        } BIT;
    } G0SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G1ASEL:4;
            unsigned char G1BSEL:4;
        } BIT;
    } G1SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G2ASEL:4;
            unsigned char G2BSEL:4;
        } BIT;
    } G2SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3ASEL:4;
            unsigned char G3BSEL:4;
        } BIT;
    } G3SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M0ASEL:4;
            unsigned char M0BSEL:4;
        } BIT;
    } M0SELR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M0CSEL:4;
            unsigned char M0DSEL:4;
        } BIT;
    } M0SELR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M3BSEL:4;
            unsigned char M3DSEL:4;
        } BIT;
    } M3SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M4ASEL:4;
            unsigned char M4CSEL:4;
        } BIT;
    } M4SELR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M4BSEL:4;
            unsigned char M4DSEL:4;
        } BIT;
    } M4SELR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M4G0SEL:1;
            unsigned char M4G1SEL:1;
            unsigned char M4G2SEL:1;
            unsigned char :5;
        } BIT;
    } MGSELR;
};

struct st_port0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B2:1;
            unsigned char :3;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[62];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char :5;
        } BIT;
    } DSCR;
};

struct st_port1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[32];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[61];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[33];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[60];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_port3 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[34];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[59];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port4 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[58];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port5 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } PMR;
    char           wk3[36];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[57];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char :3;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } DSCR;
};

struct st_port6 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[37];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[56];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port7 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[38];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[55];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port8 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :2;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :2;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :2;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :2;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[39];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[54];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char :2;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
};

struct st_port9 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[40];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[53];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_porta {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[41];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[52];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_portb {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[42];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[51];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_portc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[43];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[50];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_portd {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[44];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[49];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_porte {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[45];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[48];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_portf {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PMR;
    char           wk3[46];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :5;
        } BIT;
    } ODR1;
    char           wk4[47];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PCR;
};

struct st_portg {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PMR;
    char           wk3[47];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR1;
    char           wk4[46];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char B2:1;
            unsigned char B3:1;
            unsigned char B4:1;
            unsigned char B5:1;
            unsigned char B6:1;
            unsigned char B7:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0:1;
            unsigned char B1:1;
            unsigned char :6;
        } BIT;
    } DSCR;
};

struct st_portj {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PMR;
    char           wk3[49];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char B6:1;
            unsigned char :1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B2:1;
            unsigned char :5;
        } BIT;
    } ODR1;
    char           wk4[44];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char B3:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :2;
        } BIT;
    } PCR;
};

struct st_ppg0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0CMS:2;
            unsigned char G1CMS:2;
            unsigned char G2CMS:2;
            unsigned char G3CMS:2;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0NOV:1;
            unsigned char G1NOV:1;
            unsigned char G2NOV:1;
            unsigned char G3NOV:1;
            unsigned char G0INV:1;
            unsigned char G1INV:1;
            unsigned char G2INV:1;
            unsigned char G3INV:1;
        } BIT;
    } PMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER8:1;
            unsigned char NDER9:1;
            unsigned char NDER10:1;
            unsigned char NDER11:1;
            unsigned char NDER12:1;
            unsigned char NDER13:1;
            unsigned char NDER14:1;
            unsigned char NDER15:1;
        } BIT;
    } NDERH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER0:1;
            unsigned char NDER1:1;
            unsigned char NDER2:1;
            unsigned char NDER3:1;
            unsigned char NDER4:1;
            unsigned char NDER5:1;
            unsigned char NDER6:1;
            unsigned char NDER7:1;
        } BIT;
    } NDERL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD8:1;
            unsigned char POD9:1;
            unsigned char POD10:1;
            unsigned char POD11:1;
            unsigned char POD12:1;
            unsigned char POD13:1;
            unsigned char POD14:1;
            unsigned char POD15:1;
        } BIT;
    } PODRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD0:1;
            unsigned char POD1:1;
            unsigned char POD2:1;
            unsigned char POD3:1;
            unsigned char POD4:1;
            unsigned char POD5:1;
            unsigned char POD6:1;
            unsigned char POD7:1;
        } BIT;
    } PODRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR8:1;
            unsigned char NDR9:1;
            unsigned char NDR10:1;
            unsigned char NDR11:1;
            unsigned char NDR12:1;
            unsigned char NDR13:1;
            unsigned char NDR14:1;
            unsigned char NDR15:1;
        } BIT;
    } NDRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR0:1;
            unsigned char NDR1:1;
            unsigned char NDR2:1;
            unsigned char NDR3:1;
            unsigned char NDR4:1;
            unsigned char NDR5:1;
            unsigned char NDR6:1;
            unsigned char NDR7:1;
        } BIT;
    } NDRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR8:1;
            unsigned char NDR9:1;
            unsigned char NDR10:1;
            unsigned char NDR11:1;
            unsigned char :4;
        } BIT;
    } NDRH2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR0:1;
            unsigned char NDR1:1;
            unsigned char NDR2:1;
            unsigned char NDR3:1;
            unsigned char :4;
        } BIT;
    } NDRL2;
};

struct st_ppg1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char PTRSL:1;
            unsigned char :7;
        } BIT;
    } PTRSLR;
    char           wk0[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0CMS:2;
            unsigned char G1CMS:2;
            unsigned char G2CMS:2;
            unsigned char G3CMS:2;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0NOV:1;
            unsigned char G1NOV:1;
            unsigned char G2NOV:1;
            unsigned char G3NOV:1;
            unsigned char G0INV:1;
            unsigned char G1INV:1;
            unsigned char G2INV:1;
            unsigned char G3INV:1;
        } BIT;
    } PMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER24:1;
            unsigned char NDER25:1;
            unsigned char NDER26:1;
            unsigned char NDER27:1;
            unsigned char NDER28:1;
            unsigned char NDER29:1;
            unsigned char NDER30:1;
            unsigned char NDER31:1;
        } BIT;
    } NDERH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER16:1;
            unsigned char NDER17:1;
            unsigned char NDER18:1;
            unsigned char NDER19:1;
            unsigned char NDER20:1;
            unsigned char NDER21:1;
            unsigned char NDER22:1;
            unsigned char NDER23:1;
        } BIT;
    } NDERL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD24:1;
            unsigned char POD25:1;
            unsigned char POD26:1;
            unsigned char POD27:1;
            unsigned char POD28:1;
            unsigned char POD29:1;
            unsigned char POD30:1;
            unsigned char POD31:1;
        } BIT;
    } PODRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD16:1;
            unsigned char POD17:1;
            unsigned char POD18:1;
            unsigned char POD19:1;
            unsigned char POD20:1;
            unsigned char POD21:1;
            unsigned char POD22:1;
            unsigned char POD23:1;
        } BIT;
    } PODRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR24:1;
            unsigned char NDR25:1;
            unsigned char NDR26:1;
            unsigned char NDR27:1;
            unsigned char NDR28:1;
            unsigned char NDR29:1;
            unsigned char NDR30:1;
            unsigned char NDR31:1;
        } BIT;
    } NDRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR16:1;
            unsigned char NDR17:1;
            unsigned char NDR18:1;
            unsigned char NDR19:1;
            unsigned char NDR20:1;
            unsigned char NDR21:1;
            unsigned char NDR22:1;
            unsigned char NDR23:1;
        } BIT;
    } NDRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR24:1;
            unsigned char NDR25:1;
            unsigned char NDR26:1;
            unsigned char NDR27:1;
            unsigned char :4;
        } BIT;
    } NDRH2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR16:1;
            unsigned char NDR17:1;
            unsigned char NDR18:1;
            unsigned char NDR19:1;
            unsigned char :4;
        } BIT;
    } NDRL2;
};

struct st_qspi {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SPSSLIE:1;
            unsigned char :3;
            unsigned char SPTIE:1;
            unsigned char SPE:1;
            unsigned char SPRIE:1;
        } BIT;
    } SPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSLP:1;
            unsigned char :7;
        } BIT;
    } SSLP;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPLP:1;
            unsigned char IO2FV:1;
            unsigned char IO3FV:1;
            unsigned char :1;
            unsigned char MOIFV:1;
            unsigned char MOIFE:1;
            unsigned char :2;
        } BIT;
    } SPPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char SPSSLF:1;
            unsigned char SPTEF:1;
            unsigned char TREND:1;
            unsigned char SPRFF:1;
        } BIT;
    } SPSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SPD0:1;
            unsigned long SPD1:1;
            unsigned long SPD2:1;
            unsigned long SPD3:1;
            unsigned long SPD4:1;
            unsigned long SPD5:1;
            unsigned long SPD6:1;
            unsigned long SPD7:1;
            unsigned long SPD8:1;
            unsigned long SPD9:1;
            unsigned long SPD10:1;
            unsigned long SPD11:1;
            unsigned long SPD12:1;
            unsigned long SPD13:1;
            unsigned long SPD14:1;
            unsigned long SPD15:1;
            unsigned long SPD16:1;
            unsigned long SPD17:1;
            unsigned long SPD18:1;
            unsigned long SPD19:1;
            unsigned long SPD20:1;
            unsigned long SPD21:1;
            unsigned long SPD22:1;
            unsigned long SPD23:1;
            unsigned long SPD24:1;
            unsigned long SPD25:1;
            unsigned long SPD26:1;
            unsigned long SPD27:1;
            unsigned long SPD28:1;
            unsigned long SPD29:1;
            unsigned long SPD30:1;
            unsigned long SPD31:1;
        } BIT;
    } SPDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPSC:2;
            unsigned char :6;
        } BIT;
    } SPSCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPSS:2;
            unsigned char :6;
        } BIT;
    } SPSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPBR0:1;
            unsigned char SPBR1:1;
            unsigned char SPBR2:1;
            unsigned char SPBR3:1;
            unsigned char SPBR4:1;
            unsigned char SPBR5:1;
            unsigned char SPBR6:1;
            unsigned char SPBR7:1;
        } BIT;
    } SPBR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TXDMY:1;
        } BIT;
    } SPDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SCKDL:3;
            unsigned char :5;
        } BIT;
    } SPCKD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLNDL:3;
            unsigned char :5;
        } BIT;
    } SSLND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPNDL:3;
            unsigned char :5;
        } BIT;
    } SPND;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SPRW:1;
            unsigned short SPIMOD:2;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SPRW:1;
            unsigned short SPIMOD:2;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SPRW:1;
            unsigned short SPIMOD:2;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SPRW:1;
            unsigned short SPIMOD:2;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RXTRG:3;
            unsigned char TXTRGEX:1;
            unsigned char TXTRG:2;
            unsigned char RXRST:1;
            unsigned char TXRST:1;
        } BIT;
    } SPBFCR;
    char           wk1[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short RXBC:6;
            unsigned short :2;
            unsigned short TXBC:6;
            unsigned short :2;
        } BIT;
    } SPBDCR;
    union {
        unsigned long LONG;
    } SPBMUL0;
    union {
        unsigned long LONG;
    } SPBMUL1;
    union {
        unsigned long LONG;
    } SPBMUL2;
    union {
        unsigned long LONG;
    } SPBMUL3;
};

struct st_riic0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char SDAI:1;
            unsigned char SCLI:1;
            unsigned char SDAO:1;
            unsigned char SCLO:1;
            unsigned char SOWP:1;
            unsigned char CLO:1;
            unsigned char IICRST:1;
            unsigned char ICE:1;
        } BIT;
    } ICCR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ST:1;
            unsigned char RS:1;
            unsigned char SP:1;
            unsigned char :1;
            unsigned char TRS:1;
            unsigned char MST:1;
            unsigned char BBSY:1;
        } BIT;
    } ICCR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BC:3;
            unsigned char BCWP:1;
            unsigned char CKS:3;
            unsigned char MTWP:1;
        } BIT;
    } ICMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOS:1;
            unsigned char TMOL:1;
            unsigned char TMOH:1;
            unsigned char :1;
            unsigned char SDDL:3;
            unsigned char DLCS:1;
        } BIT;
    } ICMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NF:2;
            unsigned char ACKBR:1;
            unsigned char ACKBT:1;
            unsigned char ACKWP:1;
            unsigned char RDRFS:1;
            unsigned char WAIT:1;
            unsigned char SMBS:1;
        } BIT;
    } ICMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOE:1;
            unsigned char MALE:1;
            unsigned char NALE:1;
            unsigned char SALE:1;
            unsigned char NACKE:1;
            unsigned char NFE:1;
            unsigned char SCLE:1;
            unsigned char FMPE:1;
        } BIT;
    } ICFER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SAR0E:1;
            unsigned char SAR1E:1;
            unsigned char SAR2E:1;
            unsigned char GCAE:1;
            unsigned char :1;
            unsigned char DIDE:1;
            unsigned char :1;
            unsigned char HOAE:1;
        } BIT;
    } ICSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOIE:1;
            unsigned char ALIE:1;
            unsigned char STIE:1;
            unsigned char SPIE:1;
            unsigned char NAKIE:1;
            unsigned char RIE:1;
            unsigned char TEIE:1;
            unsigned char TIE:1;
        } BIT;
    } ICIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char AAS0:1;
            unsigned char AAS1:1;
            unsigned char AAS2:1;
            unsigned char GCA:1;
            unsigned char :1;
            unsigned char DID:1;
            unsigned char :1;
            unsigned char HOA:1;
        } BIT;
    } ICSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOF:1;
            unsigned char AL:1;
            unsigned char START:1;
            unsigned char STOP:1;
            unsigned char NACKF:1;
            unsigned char RDRF:1;
            unsigned char TEND:1;
            unsigned char TDRE:1;
        } BIT;
    } ICSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BRL:5;
            unsigned char :3;
        } BIT;
    } ICBRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BRH:5;
            unsigned char :3;
        } BIT;
    } ICBRH;
    unsigned char  ICDRT;
    unsigned char  ICDRR;
};

struct st_riic2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char SDAI:1;
            unsigned char SCLI:1;
            unsigned char SDAO:1;
            unsigned char SCLO:1;
            unsigned char SOWP:1;
            unsigned char CLO:1;
            unsigned char IICRST:1;
            unsigned char ICE:1;
        } BIT;
    } ICCR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ST:1;
            unsigned char RS:1;
            unsigned char SP:1;
            unsigned char :1;
            unsigned char TRS:1;
            unsigned char MST:1;
            unsigned char BBSY:1;
        } BIT;
    } ICCR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BC:3;
            unsigned char BCWP:1;
            unsigned char CKS:3;
            unsigned char MTWP:1;
        } BIT;
    } ICMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOS:1;
            unsigned char TMOL:1;
            unsigned char TMOH:1;
            unsigned char :1;
            unsigned char SDDL:3;
            unsigned char DLCS:1;
        } BIT;
    } ICMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NF:2;
            unsigned char ACKBR:1;
            unsigned char ACKBT:1;
            unsigned char ACKWP:1;
            unsigned char RDRFS:1;
            unsigned char WAIT:1;
            unsigned char SMBS:1;
        } BIT;
    } ICMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOE:1;
            unsigned char MALE:1;
            unsigned char NALE:1;
            unsigned char SALE:1;
            unsigned char NACKE:1;
            unsigned char NFE:1;
            unsigned char SCLE:1;
            unsigned char :1;
        } BIT;
    } ICFER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SAR0E:1;
            unsigned char SAR1E:1;
            unsigned char SAR2E:1;
            unsigned char GCAE:1;
            unsigned char :1;
            unsigned char DIDE:1;
            unsigned char :1;
            unsigned char HOAE:1;
        } BIT;
    } ICSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOIE:1;
            unsigned char ALIE:1;
            unsigned char STIE:1;
            unsigned char SPIE:1;
            unsigned char NAKIE:1;
            unsigned char RIE:1;
            unsigned char TEIE:1;
            unsigned char TIE:1;
        } BIT;
    } ICIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char AAS0:1;
            unsigned char AAS1:1;
            unsigned char AAS2:1;
            unsigned char GCA:1;
            unsigned char :1;
            unsigned char DID:1;
            unsigned char :1;
            unsigned char HOA:1;
        } BIT;
    } ICSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMOF:1;
            unsigned char AL:1;
            unsigned char START:1;
            unsigned char STOP:1;
            unsigned char NACKF:1;
            unsigned char RDRF:1;
            unsigned char TEND:1;
            unsigned char TDRE:1;
        } BIT;
    } ICSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA0:1;
            unsigned char SVA:7;
        } BIT;
    } SARL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FS:1;
            unsigned char SVA:2;
            unsigned char :5;
        } BIT;
    } SARU2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BRL:5;
            unsigned char :3;
        } BIT;
    } ICBRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BRH:5;
            unsigned char :3;
        } BIT;
    } ICBRH;
    unsigned char  ICDRT;
    unsigned char  ICDRR;
};

struct st_rspi0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPMS:1;
            unsigned char TXMD:1;
            unsigned char MODFEN:1;
            unsigned char MSTR:1;
            unsigned char SPEIE:1;
            unsigned char SPTIE:1;
            unsigned char SPE:1;
            unsigned char SPRIE:1;
        } BIT;
    } SPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSL0P:1;
            unsigned char SSL1P:1;
            unsigned char SSL2P:1;
            unsigned char SSL3P:1;
            unsigned char :4;
        } BIT;
    } SSLP;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPLP:1;
            unsigned char SPLP2:1;
            unsigned char :2;
            unsigned char MOIFV:1;
            unsigned char MOIFE:1;
            unsigned char :2;
        } BIT;
    } SPPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char OVRF:1;
            unsigned char IDLNF:1;
            unsigned char MODF:1;
            unsigned char PERF:1;
            unsigned char :4;
        } BIT;
    } SPSR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
    } SPDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPSLN:3;
            unsigned char :5;
        } BIT;
    } SPSCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPCP:3;
            unsigned char :1;
            unsigned char SPECM:3;
            unsigned char :1;
        } BIT;
    } SPSSR;
    unsigned char SPBR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPFC:2;
            unsigned char :2;
            unsigned char SPRDTD:1;
            unsigned char SPLW:1;
            unsigned char :2;
        } BIT;
    } SPDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SCKDL:3;
            unsigned char :5;
        } BIT;
    } SPCKD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLNDL:3;
            unsigned char :5;
        } BIT;
    } SSLND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPNDL:3;
            unsigned char :5;
        } BIT;
    } SPND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPPE:1;
            unsigned char SPOE:1;
            unsigned char SPIIE:1;
            unsigned char PTE:1;
            unsigned char SCKASE:1;
            unsigned char SPTDDL:3;
        } BIT;
    } SPCR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD5;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD6;
    union {
        unsigned short WORD;
        struct {
            unsigned short CPHA:1;
            unsigned short CPOL:1;
            unsigned short BRDV:2;
            unsigned short SSLA:3;
            unsigned short SSLKP:1;
            unsigned short SPB:4;
            unsigned short LSBF:1;
            unsigned short SPNDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SCKDEN:1;
        } BIT;
    } SPCMD7;
};

struct st_rtc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char F64HZ:1;
            unsigned char F32HZ:1;
            unsigned char F16HZ:1;
            unsigned char F8HZ:1;
            unsigned char F4HZ:1;
            unsigned char F2HZ:1;
            unsigned char F1HZ:1;
            unsigned char :1;
        } BIT;
    } R64CNT;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEC1:4;
            unsigned char SEC10:3;
            unsigned char :1;
        } BIT;
    } RSECCNT;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MIN1:4;
            unsigned char MIN10:3;
            unsigned char :1;
        } BIT;
    } RMINCNT;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char HR1:4;
            unsigned char HR10:2;
            unsigned char PM:1;
            unsigned char :1;
        } BIT;
    } RHRCNT;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DAYW:3;
            unsigned char :5;
        } BIT;
    } RWKCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DATE1:4;
            unsigned char DATE10:2;
            unsigned char :2;
        } BIT;
    } RDAYCNT;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MON1:4;
            unsigned char MON10:1;
            unsigned char :3;
        } BIT;
    } RMONCNT;
    char           wk6[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short YR1:4;
            unsigned short YR10:4;
            unsigned short :8;
        } BIT;
    } RYRCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEC1:4;
            unsigned char SEC10:3;
            unsigned char ENB:1;
        } BIT;
    } RSECAR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MIN1:4;
            unsigned char MIN10:3;
            unsigned char ENB:1;
        } BIT;
    } RMINAR;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char HR1:4;
            unsigned char HR10:2;
            unsigned char PM:1;
            unsigned char ENB:1;
        } BIT;
    } RHRAR;
    char           wk9[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DAYW:3;
            unsigned char :4;
            unsigned char ENB:1;
        } BIT;
    } RWKAR;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DATE1:4;
            unsigned char DATE10:2;
            unsigned char :1;
            unsigned char ENB:1;
        } BIT;
    } RDAYAR;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MON1:4;
            unsigned char MON10:1;
            unsigned char :2;
            unsigned char ENB:1;
        } BIT;
    } RMONAR;
    char           wk12[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short YR1:4;
            unsigned short YR10:4;
            unsigned short :8;
        } BIT;
    } RYRAR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char ENB:1;
        } BIT;
    } RYRAREN;
    char           wk13[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char AIE:1;
            unsigned char CIE:1;
            unsigned char PIE:1;
            unsigned char RTCOS:1;
            unsigned char PES:4;
        } BIT;
    } RCR1;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char START:1;
            unsigned char RESET:1;
            unsigned char ADJ30:1;
            unsigned char RTCOE:1;
            unsigned char AADJE:1;
            unsigned char AADJP:1;
            unsigned char HR24:1;
            unsigned char CNTMD:1;
        } BIT;
    } RCR2;
    char           wk15[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RTCEN:1;
            unsigned char RTCDV:3;
            unsigned char :4;
        } BIT;
    } RCR3;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char RCKSEL:1;
            unsigned char :7;
        } BIT;
    } RCR4;
    char           wk17[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short RFC:1;
            unsigned short :15;
        } BIT;
    } RFRH;
    union {
        unsigned short WORD;
        struct {
            unsigned short RFC:16;
        } BIT;
    } RFRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADJ:6;
            unsigned char PMADJ:2;
        } BIT;
    } RADJ;
    char           wk18[17];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCCT:2;
            unsigned char TCST:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCEN:1;
        } BIT;
    } RTCCR0;
    char           wk19[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCCT:2;
            unsigned char TCST:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCEN:1;
        } BIT;
    } RTCCR1;
    char           wk20[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCCT:2;
            unsigned char TCST:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCEN:1;
        } BIT;
    } RTCCR2;
    char           wk21[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEC1:4;
            unsigned char SEC10:3;
            unsigned char :1;
        } BIT;
    } RSECCP0;
    char           wk22[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MIN1:4;
            unsigned char MIN10:3;
            unsigned char :1;
        } BIT;
    } RMINCP0;
    char           wk23[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char HR1:4;
            unsigned char HR10:2;
            unsigned char PM:1;
            unsigned char :1;
        } BIT;
    } RHRCP0;
    char           wk24[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DATE1:4;
            unsigned char DATE10:2;
            unsigned char :2;
        } BIT;
    } RDAYCP0;
    char           wk25[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MON1:4;
            unsigned char MON10:1;
            unsigned char :3;
        } BIT;
    } RMONCP0;
    char           wk26[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEC1:4;
            unsigned char SEC10:3;
            unsigned char :1;
        } BIT;
    } RSECCP1;
    char           wk27[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MIN1:4;
            unsigned char MIN10:3;
            unsigned char :1;
        } BIT;
    } RMINCP1;
    char           wk28[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char HR1:4;
            unsigned char HR10:2;
            unsigned char PM:1;
            unsigned char :1;
        } BIT;
    } RHRCP1;
    char           wk29[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DATE1:4;
            unsigned char DATE10:2;
            unsigned char :2;
        } BIT;
    } RDAYCP1;
    char           wk30[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MON1:4;
            unsigned char MON10:1;
            unsigned char :3;
        } BIT;
    } RMONCP1;
    char           wk31[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEC1:4;
            unsigned char SEC10:3;
            unsigned char :1;
        } BIT;
    } RSECCP2;
    char           wk32[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MIN1:4;
            unsigned char MIN10:3;
            unsigned char :1;
        } BIT;
    } RMINCP2;
    char           wk33[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char HR1:4;
            unsigned char HR10:2;
            unsigned char PM:1;
            unsigned char :1;
        } BIT;
    } RHRCP2;
    char           wk34[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DATE1:4;
            unsigned char DATE10:2;
            unsigned char :2;
        } BIT;
    } RDAYCP2;
    char           wk35[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MON1:4;
            unsigned char MON10:1;
            unsigned char :3;
        } BIT;
    } RMONCP2;
};

struct st_rtcb {
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT0;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT1;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT2;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT3;
    char           wk3[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT0AR;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT1AR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT2AR;
    char           wk6[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT3AR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT0AER;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT1AER;
    char           wk9[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short ENB:8;
            unsigned short :8;
        } BIT;
    } BCNT2AER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT3AER;
    char           wk10[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char START:1;
            unsigned char RESET:1;
            unsigned char :1;
            unsigned char RTCOE:1;
            unsigned char AADJE:1;
            unsigned char AADJP:1;
            unsigned char :1;
            unsigned char CNTMD:1;
        } BIT;
    } BRCR2;
    char           wk11[45];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT0CP0;
    char           wk12[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT1CP0;
    char           wk13[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT2CP0;
    char           wk14[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT3CP0;
    char           wk15[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT0CP1;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT1CP1;
    char           wk17[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT2CP1;
    char           wk18[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT3CP1;
    char           wk19[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT0CP2;
    char           wk20[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT1CP2;
    char           wk21[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT2CP2;
    char           wk22[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT3CP2;
};

struct st_s12ad {
    union {
        unsigned short WORD;
        struct {
            unsigned short DBLANS:5;
            unsigned short :1;
            unsigned short GBADIE:1;
            unsigned short DBLE:1;
            unsigned short EXTRG:1;
            unsigned short TRGE:1;
            unsigned short :2;
            unsigned short ADIE:1;
            unsigned short ADCS:2;
            unsigned short ADST:1;
        } BIT;
    } ADCSR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSA0:16;
        } BIT;
    } ADANSA0;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short ADS0:16;
        } BIT;
    } ADADS0;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADC:2;
            unsigned char :5;
            unsigned char AVEE:1;
        } BIT;
    } ADADC;
    char           wk3[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short ADPRC:2;
            unsigned short :2;
            unsigned short ACE:1;
            unsigned short :2;
            unsigned short DIAGVAL:2;
            unsigned short DIAGLD:1;
            unsigned short DIAGM:1;
            unsigned short :3;
            unsigned short ADRFMT:1;
        } BIT;
    } ADCER;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRSB:6;
            unsigned short :2;
            unsigned short TRSA:6;
            unsigned short :2;
        } BIT;
    } ADSTRGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short TSSAD:1;
            unsigned short OCSAD:1;
            unsigned short :6;
            unsigned short TSS:1;
            unsigned short OCS:1;
            unsigned short :3;
            unsigned short EXSEL:2;
            unsigned short EXOEN:1;
        } BIT;
    } ADEXICR;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSB0:16;
        } BIT;
    } ADANSB0;
    char           wk4[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short AD:12;
            unsigned short :4;
        } BIT;
    } ADDBLDR;
    char           wk5[4];
    union {
        unsigned short WORD;
        union {
            struct {
                unsigned short AD:12;
                unsigned short :2;
                unsigned short DIAGST:2;
            } RIGHT;
            struct {
                unsigned short DIAGST:2;
                unsigned short :2;
                unsigned short AD:12;
            } LEFT;
        } BIT;
    } ADRD;
    unsigned short ADDR0;
    unsigned short ADDR1;
    unsigned short ADDR2;
    unsigned short ADDR3;
    unsigned short ADDR4;
    unsigned short ADDR5;
    unsigned short ADDR6;
    unsigned short ADDR7;
    char           wk6[48];
    unsigned char  ADSSTR0;
    unsigned char  ADSSTRL;
    char           wk7[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short SSTSH:8;
            unsigned short SHANS:3;
            unsigned short :5;
        } BIT;
    } ADSHCR;
    char           wk8[11];
    unsigned char  ADSSTR1;
    unsigned char  ADSSTR2;
    unsigned char  ADSSTR3;
    unsigned char  ADSSTR4;
    unsigned char  ADSSTR5;
    unsigned char  ADSSTR6;
    unsigned char  ADSSTR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADNDIS:5;
            unsigned char :3;
        } BIT;
    } ADDISCR;
    char           wk9[5];
    union {
        unsigned short WORD;
        struct {
            unsigned short PGS:1;
            unsigned short GBRSCN:1;
            unsigned short :13;
            unsigned short GBRP:1;
        } BIT;
    } ADGSPCR;
    char           wk10[2];
    unsigned short ADDBLDRA;
    unsigned short ADDBLDRB;
    char           wk11[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char WCMPE:1;
            unsigned char CMPIE:1;
        } BIT;
    } ADCMPCR;
    char           wk12[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPS0:16;
        } BIT;
    } ADCMPANSR0;
    char           wk13[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPL0:16;
        } BIT;
    } ADCMPLR0;
    char           wk14[2];
    unsigned short ADCMPDR0;
    unsigned short ADCMPDR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPF0:16;
        } BIT;
    } ADCMPSR0;
};

struct st_s12ad1 {
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSA0:16;
        } BIT;
    } ADANSA0;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSA1:5;
            unsigned short :11;
        } BIT;
    } ADANSA1;
    union {
        unsigned short WORD;
        struct {
            unsigned short ADS0:16;
        } BIT;
    } ADADS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short ADS1:5;
            unsigned short :11;
        } BIT;
    } ADADS1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADC:2;
            unsigned char :5;
            unsigned char AVEE:1;
        } BIT;
    } ADADC;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short ADPRC:2;
            unsigned short :2;
            unsigned short ACE:1;
            unsigned short :2;
            unsigned short DIAGVAL:2;
            unsigned short DIAGLD:1;
            unsigned short DIAGM:1;
            unsigned short :3;
            unsigned short ADRFMT:1;
        } BIT;
    } ADCER;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRSB:6;
            unsigned short :2;
            unsigned short TRSA:6;
            unsigned short :2;
        } BIT;
    } ADSTRGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short TSSAD:1;
            unsigned short OCSAD:1;
            unsigned short :6;
            unsigned short TSS:1;
            unsigned short OCS:1;
            unsigned short :3;
            unsigned short EXSEL:2;
            unsigned short EXOEN:1;
        } BIT;
    } ADEXICR;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSB0:16;
        } BIT;
    } ADANSB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSB1:5;
            unsigned short :11;
        } BIT;
    } ADANSB1;
    unsigned short ADDBLDR;
    unsigned short ADTSDR;
    unsigned short ADOCDR;
    union {
        unsigned short WORD;
        union {
            struct {
                unsigned short AD:12;
                unsigned short :2;
                unsigned short DIAGST:2;
            } RIGHT;
            struct {
                unsigned short DIAGST:2;
                unsigned short :2;
                unsigned short AD:12;
            } LEFT;
        } BIT;
    } ADRD;
    unsigned short ADDR0;
    unsigned short ADDR1;
    unsigned short ADDR2;
    unsigned short ADDR3;
    unsigned short ADDR4;
    unsigned short ADDR5;
    unsigned short ADDR6;
    unsigned short ADDR7;
    unsigned short ADDR8;
    unsigned short ADDR9;
    unsigned short ADDR10;
    unsigned short ADDR11;
    unsigned short ADDR12;
    unsigned short ADDR13;
    unsigned short ADDR14;
    unsigned short ADDR15;
    unsigned short ADDR16;
    unsigned short ADDR17;
    unsigned short ADDR18;
    unsigned short ADDR19;
    unsigned short ADDR20;
    char           wk1[22];
    unsigned char  ADSSTR0;
    unsigned char  ADSSTRL;
    char           wk2[14];
    unsigned char  ADSSTRT;
    unsigned char  ADSSTRO;
    char           wk3[1];
    unsigned char  ADSSTR1;
    unsigned char  ADSSTR2;
    unsigned char  ADSSTR3;
    unsigned char  ADSSTR4;
    unsigned char  ADSSTR5;
    unsigned char  ADSSTR6;
    unsigned char  ADSSTR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ADNDIS:5;
            unsigned char :3;
        } BIT;
    } ADDISCR;
    char           wk4[5];
    union {
        unsigned short WORD;
        struct {
            unsigned short PGS:1;
            unsigned short GBRSCN:1;
            unsigned short :13;
            unsigned short GBRP:1;
        } BIT;
    } ADGSPCR;
    char           wk5[2];
    unsigned short ADDBLDRA;
    unsigned short ADDBLDRB;
    char           wk6[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char WCMPE:1;
            unsigned char CMPIE:1;
        } BIT;
    } ADCMPCR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPSTS:1;
            unsigned char CMPSOC:1;
            unsigned char :6;
        } BIT;
    } ADCMPANSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPLTS:1;
            unsigned char CMPLOC:1;
            unsigned char :6;
        } BIT;
    } ADCMPLER;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPS0:16;
        } BIT;
    } ADCMPANSR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPS1:5;
            unsigned short :11;
        } BIT;
    } ADCMPANSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPL0:16;
        } BIT;
    } ADCMPLR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPL1:5;
            unsigned short :11;
        } BIT;
    } ADCMPLR1;
    unsigned short ADCMPDR0;
    unsigned short ADCMPDR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPF0:16;
        } BIT;
    } ADCMPSR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPF1:5;
            unsigned short :11;
        } BIT;
    } ADCMPSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPFTS:1;
            unsigned char CMPFOC:1;
            unsigned char :6;
        } BIT;
    } ADCMPSER;
};

struct st_sci0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:2;
            unsigned char MP:1;
            unsigned char STOP:1;
            unsigned char PM:1;
            unsigned char PE:1;
            unsigned char CHR:1;
            unsigned char CM:1;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKE:2;
            unsigned char TEIE:1;
            unsigned char MPIE:1;
            unsigned char RE:1;
            unsigned char TE:1;
            unsigned char RIE:1;
            unsigned char TIE:1;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MPBT:1;
            unsigned char MPB:1;
            unsigned char TEND:1;
            unsigned char PER:1;
            unsigned char FER:1;
            unsigned char ORER:1;
            unsigned char :2;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMIF:1;
            unsigned char :1;
            unsigned char SINV:1;
            unsigned char SDIR:1;
            unsigned char CHR1:1;
            unsigned char :2;
            unsigned char BCP2:1;
        } BIT;
    } SCMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACS0:1;
            unsigned char :1;
            unsigned char BRME:1;
            unsigned char :1;
            unsigned char ABCS:1;
            unsigned char NFEN:1;
            unsigned char BGDM:1;
            unsigned char RXDESEL:1;
        } BIT;
    } SEMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFCS:3;
            unsigned char :5;
        } BIT;
    } SNFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICM:1;
            unsigned char :2;
            unsigned char IICDL:5;
        } BIT;
    } SIMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICINTM:1;
            unsigned char IICCSC:1;
            unsigned char :3;
            unsigned char IICACKT:1;
            unsigned char :2;
        } BIT;
    } SIMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICSTAREQ:1;
            unsigned char IICRSTAREQ:1;
            unsigned char IICSTPREQ:1;
            unsigned char IICSTIF:1;
            unsigned char IICSDAS:2;
            unsigned char IICSCLS:2;
        } BIT;
    } SIMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICACKR:1;
            unsigned char :7;
        } BIT;
    } SISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSE:1;
            unsigned char CTSE:1;
            unsigned char MSS:1;
            unsigned char :1;
            unsigned char MFF:1;
            unsigned char :1;
            unsigned char CKPOL:1;
            unsigned char CKPH:1;
        } BIT;
    } SPMR;
    unsigned char  TDRH;
    unsigned char  TDRL;
    unsigned char  RDRH;
    unsigned char  RDRL;
    unsigned char  MDDR;
};

struct st_sci12 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:2;
            unsigned char MP:1;
            unsigned char STOP:1;
            unsigned char PM:1;
            unsigned char PE:1;
            unsigned char CHR:1;
            unsigned char CM:1;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKE:2;
            unsigned char TEIE:1;
            unsigned char MPIE:1;
            unsigned char RE:1;
            unsigned char TE:1;
            unsigned char RIE:1;
            unsigned char TIE:1;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MPBT:1;
            unsigned char MPB:1;
            unsigned char TEND:1;
            unsigned char PER:1;
            unsigned char FER:1;
            unsigned char ORER:1;
            unsigned char :2;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMIF:1;
            unsigned char :1;
            unsigned char SINV:1;
            unsigned char SDIR:1;
            unsigned char CHR1:1;
            unsigned char :2;
            unsigned char BCP2:1;
        } BIT;
    } SCMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACS0:1;
            unsigned char :1;
            unsigned char BRME:1;
            unsigned char :1;
            unsigned char ABCS:1;
            unsigned char NFEN:1;
            unsigned char BGDM:1;
            unsigned char RXDESEL:1;
        } BIT;
    } SEMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFCS:3;
            unsigned char :5;
        } BIT;
    } SNFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICM:1;
            unsigned char :2;
            unsigned char IICDL:5;
        } BIT;
    } SIMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICINTM:1;
            unsigned char IICCSC:1;
            unsigned char :3;
            unsigned char IICACKT:1;
            unsigned char :2;
        } BIT;
    } SIMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICSTAREQ:1;
            unsigned char IICRSTAREQ:1;
            unsigned char IICSTPREQ:1;
            unsigned char IICSTIF:1;
            unsigned char IICSDAS:2;
            unsigned char IICSCLS:2;
        } BIT;
    } SIMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICACKR:1;
            unsigned char :7;
        } BIT;
    } SISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSE:1;
            unsigned char CTSE:1;
            unsigned char MSS:1;
            unsigned char :1;
            unsigned char MFF:1;
            unsigned char :1;
            unsigned char CKPOL:1;
            unsigned char CKPH:1;
        } BIT;
    } SPMR;
    unsigned char  TDRH;
    unsigned char  TDRL;
    unsigned char  RDRH;
    unsigned char  RDRL;
    unsigned char  MDDR;
    char           wk0[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ESME:1;
            unsigned char :7;
        } BIT;
    } ESMER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SFSF:1;
            unsigned char RXDSF:1;
            unsigned char BRME:1;
            unsigned char :4;
        } BIT;
    } CR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BFE:1;
            unsigned char CF0RE:1;
            unsigned char CF1DS:2;
            unsigned char PIBE:1;
            unsigned char PIBS:3;
        } BIT;
    } CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DFCS:3;
            unsigned char :1;
            unsigned char BCCS:2;
            unsigned char RTS:2;
        } BIT;
    } CR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SDST:1;
            unsigned char :7;
        } BIT;
    } CR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TXDXPS:1;
            unsigned char RXDXPS:1;
            unsigned char :2;
            unsigned char SHARPS:1;
            unsigned char :3;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BFDIE:1;
            unsigned char CF0MIE:1;
            unsigned char CF1MIE:1;
            unsigned char PIBDIE:1;
            unsigned char BCDIE:1;
            unsigned char AEDIE:1;
            unsigned char :2;
        } BIT;
    } ICR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BFDF:1;
            unsigned char CF0MF:1;
            unsigned char CF1MF:1;
            unsigned char PIBDF:1;
            unsigned char BCDF:1;
            unsigned char AEDF:1;
            unsigned char :2;
        } BIT;
    } STR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BFDCL:1;
            unsigned char CF0MCL:1;
            unsigned char CF1MCL:1;
            unsigned char PIBDCL:1;
            unsigned char BCDCL:1;
            unsigned char AEDCL:1;
            unsigned char :2;
        } BIT;
    } STCR;
    unsigned char  CF0DR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CF0CE0:1;
            unsigned char CF0CE1:1;
            unsigned char CF0CE2:1;
            unsigned char CF0CE3:1;
            unsigned char CF0CE4:1;
            unsigned char CF0CE5:1;
            unsigned char CF0CE6:1;
            unsigned char CF0CE7:1;
        } BIT;
    } CF0CR;
    unsigned char  CF0RR;
    unsigned char  PCF1DR;
    unsigned char  SCF1DR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CF1CE0:1;
            unsigned char CF1CE1:1;
            unsigned char CF1CE2:1;
            unsigned char CF1CE3:1;
            unsigned char CF1CE4:1;
            unsigned char CF1CE5:1;
            unsigned char CF1CE6:1;
            unsigned char CF1CE7:1;
        } BIT;
    } CF1CR;
    unsigned char  CF1RR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCST:1;
            unsigned char :7;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TOMS:2;
            unsigned char :1;
            unsigned char TWRC:1;
            unsigned char TCSS:3;
            unsigned char :1;
        } BIT;
    } TMR;
    unsigned char  TPRE;
    unsigned char  TCNT;
};

struct st_scif {
    union {
        unsigned short WORD;
        struct {
            unsigned short CKS:2;
            unsigned short :1;
            unsigned short STOP:1;
            unsigned short PM:1;
            unsigned short PE:1;
            unsigned short CHR:1;
            unsigned short CM:1;
            unsigned short :8;
        } BIT;
    } SMR;
    union {
        unsigned char  BRR;
        unsigned char  MDDR;    
    };
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short CKE:2;
            unsigned short TEIE:1;
            unsigned short REIE:1;
            unsigned short RE:1;
            unsigned short TE:1;
            unsigned short RIE:1;
            unsigned short TIE:1;
            unsigned short :8;
        } BIT;
    } SCR;
    unsigned char  FTDR;
    char           wk1[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short DR:1;
            unsigned short RDF:1;
            unsigned short PER:1;
            unsigned short FER:1;
            unsigned short BRK:1;
            unsigned short TDFE:1;
            unsigned short TEND:1;
            unsigned short ER:1;
            unsigned short :8;
        } BIT;
    } FSR;
    unsigned char  FRDR;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short LOOP:1;
            unsigned short RFRST:1;
            unsigned short TFRST:1;
            unsigned short MCE:1;
            unsigned short TTRG:2;
            unsigned short RTRG:2;
            unsigned short RSTRG:3;
            unsigned short :5;
        } BIT;
    } FCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short R:5;
            unsigned short :3;
            unsigned short T:5;
            unsigned short :3;
        } BIT;
    } FDR;
    union {
        unsigned short WORD;
        struct {
            unsigned short SPB2DT:1;
            unsigned short SPB2IO:1;
            unsigned short SCKDT:1;
            unsigned short SCKIO:1;
            unsigned short CTS2DT:1;
            unsigned short CTS2IO:1;
            unsigned short RTS2DT:1;
            unsigned short RTS2IO:1;
            unsigned short :8;
        } BIT;
    } SPTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short ORER:1;
            unsigned short :1;
            unsigned short FER:4;
            unsigned short :2;
            unsigned short PER:4;
            unsigned short :4;
        } BIT;
    } LSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ABCS0:1;
            unsigned char :1;
            unsigned char NFEN:1;
            unsigned char DIR:1;
            unsigned char MDDRS:1;
            unsigned char BRME:1;
            unsigned char ACS0:1;
            unsigned char BGDM:1;
        } BIT;
    } SEMR;
    char           wk3[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short TFTC:5;
            unsigned short :2;
            unsigned short TTRGS:1;
            unsigned short RFTC:5;
            unsigned short :2;
            unsigned short RTRGS:1;
        } BIT;
    } FTCR;
};

struct st_smci {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:2;
            unsigned char BCP:2;
            unsigned char PM:1;
            unsigned char PE:1;
            unsigned char BLK:1;
            unsigned char GM:1;
        } BIT;
    } SMR;
    char           wk0[3];

    union {
        unsigned char  BRR;
        unsigned char  MDDR;    
    };
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKE:2;
            unsigned char TEIE:1;
            unsigned char MPIE:1;
            unsigned char RE:1;
            unsigned char TE:1;
            unsigned char RIE:1;
            unsigned char TIE:1;
        } BIT;
    } SCR;
    char           wk2[3];
    unsigned char  TDR;
    char           wk3[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MPBT:1;
            unsigned char MPB:1;
            unsigned char TEND:1;
            unsigned char PER:1;
            unsigned char ERS:1;
            unsigned char ORER:1;
            unsigned char :2;
        } BIT;
    } SSR;
    char           wk4[3];
    unsigned char  RDR;
    char           wk5[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMIF:1;
            unsigned char :1;
            unsigned char SINV:1;
            unsigned char SDIR:1;
            unsigned char CHR1:1;
            unsigned char :2;
            unsigned char BCP2:1;
        } BIT;
    } SCMR;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACS0:1;
            unsigned char :1;
            unsigned char RSDMOS:1;
            unsigned char :1;
            unsigned char ABCS:1;
            unsigned char :1;
            unsigned char MDDRS:1;
            unsigned char BRME:1;
        } BIT;
    } SEMR;
};

struct st_smci0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:2;
            unsigned char BCP:2;
            unsigned char PM:1;
            unsigned char PE:1;
            unsigned char BLK:1;
            unsigned char GM:1;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKE:2;
            unsigned char TEIE:1;
            unsigned char MPIE:1;
            unsigned char RE:1;
            unsigned char TE:1;
            unsigned char RIE:1;
            unsigned char TIE:1;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MPBT:1;
            unsigned char MPB:1;
            unsigned char TEND:1;
            unsigned char PER:1;
            unsigned char ERS:1;
            unsigned char ORER:1;
            unsigned char :2;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMIF:1;
            unsigned char :1;
            unsigned char SINV:1;
            unsigned char SDIR:1;
            unsigned char CHR1:1;
            unsigned char :2;
            unsigned char BCP2:1;
        } BIT;
    } SCMR;
};

struct st_src {
    union {
        unsigned long LONG;
        struct {
            unsigned long SRCFCTR:22;
            unsigned long :10;
        } BIT;
    } SRCFCTR[5552];
    char           wk0[2352];
    union {
        unsigned long LONG;
        struct {
            unsigned long B0:1;
            unsigned long B1:1;
            unsigned long B2:1;
            unsigned long B3:1;
            unsigned long B4:1;
            unsigned long B5:1;
            unsigned long B6:1;
            unsigned long B7:1;
            unsigned long B8:1;
            unsigned long B9:1;
            unsigned long B10:1;
            unsigned long B11:1;
            unsigned long B12:1;
            unsigned long B13:1;
            unsigned long B14:1;
            unsigned long B15:1;
            unsigned long B16:1;
            unsigned long B17:1;
            unsigned long B18:1;
            unsigned long B19:1;
            unsigned long B20:1;
            unsigned long B21:1;
            unsigned long B22:1;
            unsigned long B23:1;
            unsigned long B24:1;
            unsigned long B25:1;
            unsigned long B26:1;
            unsigned long B27:1;
            unsigned long B28:1;
            unsigned long B29:1;
            unsigned long B30:1;
            unsigned long B31:1;
        } BIT;
    } SRCID;
    union {
        unsigned long LONG;
        struct {
            unsigned long B0:1;
            unsigned long B1:1;
            unsigned long B2:1;
            unsigned long B3:1;
            unsigned long B4:1;
            unsigned long B5:1;
            unsigned long B6:1;
            unsigned long B7:1;
            unsigned long B8:1;
            unsigned long B9:1;
            unsigned long B10:1;
            unsigned long B11:1;
            unsigned long B12:1;
            unsigned long B13:1;
            unsigned long B14:1;
            unsigned long B15:1;
            unsigned long B16:1;
            unsigned long B17:1;
            unsigned long B18:1;
            unsigned long B19:1;
            unsigned long B20:1;
            unsigned long B21:1;
            unsigned long B22:1;
            unsigned long B23:1;
            unsigned long B24:1;
            unsigned long B25:1;
            unsigned long B26:1;
            unsigned long B27:1;
            unsigned long B28:1;
            unsigned long B29:1;
            unsigned long B30:1;
            unsigned long B31:1;
        } BIT;
    } SRCOD;
    union {
        unsigned short WORD;
        struct {
            unsigned short IFTRG:2;
            unsigned short :6;
            unsigned short IEN:1;
            unsigned short IED:1;
            unsigned short :6;
        } BIT;
    } SRCIDCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short OFTRG:2;
            unsigned short :6;
            unsigned short OEN:1;
            unsigned short OED:1;
            unsigned short OCH:1;
            unsigned short :5;
        } BIT;
    } SRCODCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short OFS:3;
            unsigned short :1;
            unsigned short IFS:4;
            unsigned short CL:1;
            unsigned short FL:1;
            unsigned short OVEN:1;
            unsigned short UDEN:1;
            unsigned short SRCEN:1;
            unsigned short CEEN:1;
            unsigned short :1;
            unsigned short FICRAE:1;
        } BIT;
    } SRCCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short OINT:1;
            unsigned short IINIT:1;
            unsigned short OVF:1;
            unsigned short UDF:1;
            unsigned short FLF:1;
            unsigned short CEF:1;
            unsigned short :2;
            unsigned short IFDN:3;
            unsigned short OFDN:5;
        } BIT;
    } SRCSTAT;
};

struct st_ssi {
    union {
        unsigned long LONG;
        struct {
            unsigned long REN:1;
            unsigned long TEN:1;
            unsigned long :1;
            unsigned long MUEN:1;
            unsigned long CKDV:4;
            unsigned long DEL:1;
            unsigned long PDTA:1;
            unsigned long SDTA:1;
            unsigned long SPDP:1;
            unsigned long SWSP:1;
            unsigned long SCKP:1;
            unsigned long SWSD:1;
            unsigned long SCKD:1;
            unsigned long SWL:3;
            unsigned long DWL:3;
            unsigned long CHNL:2;
            unsigned long :1;
            unsigned long IIEN:1;
            unsigned long ROIEN:1;
            unsigned long RUIEN:1;
            unsigned long TOIEN:1;
            unsigned long TUIEN:1;
            unsigned long CKS:1;
            unsigned long :1;
        } BIT;
    } SSICR;
    union {
        unsigned long LONG;
        struct {
            unsigned long IDST:1;
            unsigned long RSWNO:1;
            unsigned long RCHNO:2;
            unsigned long TSWNO:1;
            unsigned long TCHNO:2;
            unsigned long :18;
            unsigned long IIRQ:1;
            unsigned long ROIRQ:1;
            unsigned long RUIRQ:1;
            unsigned long TOIRQ:1;
            unsigned long TUIRQ:1;
            unsigned long :2;
        } BIT;
    } SSISR;
    char           wk0[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long RFRST:1;
            unsigned long TFRST:1;
            unsigned long RIE:1;
            unsigned long TUE:1;
            unsigned long RTRG:2;
            unsigned long TTRG:2;
            unsigned long :23;
            unsigned long AUCKE:1;
        } BIT;
    } SSIFCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long RDF:1;
            unsigned long :7;
            unsigned long RDC:4;
            unsigned long :4;
            unsigned long TDE:1;
            unsigned long :7;
            unsigned long TDC:4;
            unsigned long :4;
        } BIT;
    } SSIFSR;
    unsigned long  SSIFTDR;
    unsigned long  SSIFRDR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long CONT:1;
            unsigned long :23;
        } BIT;
    } SSITDMR;
};

struct st_system {
    union {
        unsigned short WORD;
        struct {
            unsigned short MD:1;
            unsigned short :15;
        } BIT;
    } MDMONR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short UBTS:1;
            unsigned short :10;
        } BIT;
    } MDSR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short ROME:1;
            unsigned short EXBE:1;
            unsigned short :6;
            unsigned short KEY:8;
        } BIT;
    } SYSCR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short RAME:1;
            unsigned short :5;
            unsigned short ECCRAME:1;
            unsigned short SBYRAME:1;
            unsigned short :8;
        } BIT;
    } SYSCR1;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :14;
            unsigned short OPE:1;
            unsigned short SSBY:1;
        } BIT;
    } SBYCR;
    char           wk2[2];
    union {
        unsigned long LONG;
        struct {
            unsigned long MSTPA0:1;
            unsigned long MSTPA1:1;
            unsigned long :2;
            unsigned long MSTPA4:1;
            unsigned long MSTPA5:1;
            unsigned long :1;
            unsigned long MSTPA7:1;
            unsigned long :1;
            unsigned long MSTPA9:1;
            unsigned long MSTPA10:1;
            unsigned long MSTPA11:1;
            unsigned long :1;
            unsigned long MSTPA13:1;
            unsigned long MSTPA14:1;
            unsigned long MSTPA15:1;
            unsigned long MSTPA16:1;
            unsigned long MSTPA17:1;
            unsigned long :1;
            unsigned long MSTPA19:1;
            unsigned long :7;
            unsigned long MSTPA27:1;
            unsigned long MSTPA28:1;
            unsigned long MSTPA29:1;
            unsigned long :1;
            unsigned long ACSE:1;
        } BIT;
    } MSTPCRA;
    union {
        unsigned long LONG;
        struct {
            unsigned long MSTPB0:1;
            unsigned long MSTPB1:1;
            unsigned long MSTPB2:1;
            unsigned long :1;
            unsigned long MSTPB4:1;
            unsigned long :1;
            unsigned long MSTPB6:1;
            unsigned long :1;
            unsigned long MSTPB8:1;
            unsigned long MSTPB9:1;
            unsigned long :2;
            unsigned long MSTPB12:1;
            unsigned long :1;
            unsigned long MSTPB14:1;
            unsigned long MSTPB15:1;
            unsigned long :1;
            unsigned long MSTPB17:1;
            unsigned long :1;
            unsigned long MSTPB19:1;
            unsigned long :1;
            unsigned long MSTPB21:1;
            unsigned long MSTPB22:1;
            unsigned long MSTPB23:1;
            unsigned long MSTPB24:1;
            unsigned long MSTPB25:1;
            unsigned long MSTPB26:1;
            unsigned long MSTPB27:1;
            unsigned long MSTPB28:1;
            unsigned long MSTPB29:1;
            unsigned long MSTPB30:1;
            unsigned long MSTPB31:1;
        } BIT;
    } MSTPCRB;
    union {
        unsigned long LONG;
        struct {
            unsigned long MSTPC0:1;
            unsigned long :1;
            unsigned long MSTPC2:1;
            unsigned long :4;
            unsigned long MSTPC7:1;
            unsigned long :9;
            unsigned long MSTPC17:1;
            unsigned long :1;
            unsigned long MSTPC19:1;
            unsigned long :3;
            unsigned long MSTPC23:1;
            unsigned long MSTPC24:1;
            unsigned long MSTPC25:1;
            unsigned long MSTPC26:1;
            unsigned long MSTPC27:1;
            unsigned long :4;
        } BIT;
    } MSTPCRC;
    union {
        unsigned long LONG;
        struct {
            unsigned long :14;
            unsigned long MSTPD14:1;
            unsigned long MSTPD15:1;
            unsigned long :3;
            unsigned long MSTPD19:1;
            unsigned long :1;
            unsigned long MSTPD21:1;
            unsigned long :1;
            unsigned long MSTPD23:1;
            unsigned long :4;
            unsigned long MSTPD28:1;
            unsigned long MSTPD29:1;
            unsigned long MSTPD30:1;
            unsigned long MSTPD31:1;
        } BIT;
    } MSTPCRD;
    union {
        unsigned long LONG;
        struct {
            unsigned long PCKD:4;
            unsigned long PCKC:4;
            unsigned long PCKB:4;
            unsigned long PCKA:4;
            unsigned long BCK:4;
            unsigned long :2;
            unsigned long PSTOP0:1;
            unsigned long PSTOP1:1;
            unsigned long ICK:4;
            unsigned long FCK:4;
        } BIT;
    } SCKCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short UCK:4;
            unsigned short :8;
        } BIT;
    } SCKCR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short CKSEL:3;
            unsigned short :5;
        } BIT;
    } SCKCR3;
    union {
        unsigned short WORD;
        struct {
            unsigned short PLIDIV:2;
            unsigned short :2;
            unsigned short PLLSRCSEL:1;
            unsigned short :3;
            unsigned short STC:6;
            unsigned short :2;
        } BIT;
    } PLLCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PLLEN:1;
            unsigned char :7;
        } BIT;
    } PLLCR2;
    char           wk3[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCLKDIV:1;
            unsigned char :7;
        } BIT;
    } BCKCR;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MOSTP:1;
            unsigned char :7;
        } BIT;
    } MOSCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SOSTP:1;
            unsigned char :7;
        } BIT;
    } SOSCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LCSTP:1;
            unsigned char :7;
        } BIT;
    } LOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ILCSTP:1;
            unsigned char :7;
        } BIT;
    } ILOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HCSTP:1;
            unsigned char :7;
        } BIT;
    } HOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HCFRQ:2;
            unsigned char :6;
        } BIT;
    } HOCOCR2;
    char           wk6[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MOOVF:1;
            unsigned char SOOVF:1;
            unsigned char PLOVF:1;
            unsigned char HCOVF:1;
            unsigned char ILCOVF:1;
            unsigned char :3;
        } BIT;
    } OSCOVFSR;
    char           wk7[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OSTDIE:1;
            unsigned char :6;
            unsigned char OSTDE:1;
        } BIT;
    } OSTDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char OSTDF:1;
            unsigned char :7;
        } BIT;
    } OSTDSR;
    char           wk8[94];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OPCM:3;
            unsigned char :1;
            unsigned char OPCMTSF:1;
            unsigned char :3;
        } BIT;
    } OPCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RSTCKSEL:3;
            unsigned char :4;
            unsigned char RSTCKEN:1;
        } BIT;
    } RSTCKCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MSTS:8;
        } BIT;
    } MOSCWTCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSTS:8;
        } BIT;
    } SOSCWTCR;
    char           wk9[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IWTDRF:1;
            unsigned char WDTRF:1;
            unsigned char SWRF:1;
            unsigned char :5;
        } BIT;
    } RSTSR2;
    char           wk10[1];
    unsigned short SWRR;
    char           wk11[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD1IDTSEL:2;
            unsigned char LVD1IRQSEL:1;
            unsigned char :5;
        } BIT;
    } LVD1CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD1DET:1;
            unsigned char LVD1MON:1;
            unsigned char :6;
        } BIT;
    } LVD1SR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD2IDTSEL:2;
            unsigned char LVD2IRQSEL:1;
            unsigned char :5;
        } BIT;
    } LVD2CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD2DET:1;
            unsigned char LVD2MON:1;
            unsigned char :6;
        } BIT;
    } LVD2SR;
    char           wk12[794];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRC0:1;
            unsigned short PRC1:1;
            unsigned short :1;
            unsigned short PRC3:1;
            unsigned short :4;
            unsigned short PRKEY:8;
        } BIT;
    } PRCR;
    char           wk13[48768];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DEEPCUT:2;
            unsigned char :4;
            unsigned char IOKEEP:1;
            unsigned char DPSBY:1;
        } BIT;
    } DPSBYCR;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ0E:1;
            unsigned char DIRQ1E:1;
            unsigned char DIRQ2E:1;
            unsigned char DIRQ3E:1;
            unsigned char DIRQ4E:1;
            unsigned char DIRQ5E:1;
            unsigned char DIRQ6E:1;
            unsigned char DIRQ7E:1;
        } BIT;
    } DPSIER0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ8E:1;
            unsigned char DIRQ9E:1;
            unsigned char DIRQ10E:1;
            unsigned char DIRQ11E:1;
            unsigned char DIRQ12E:1;
            unsigned char DIRQ13E:1;
            unsigned char DIRQ14E:1;
            unsigned char DIRQ15E:1;
        } BIT;
    } DPSIER1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DLVD1IE:1;
            unsigned char DLVD2IE:1;
            unsigned char DRTCIIE:1;
            unsigned char DRTCAIE:1;
            unsigned char DNMIE:1;
            unsigned char DRIICDIE:1;
            unsigned char DRIICCIE:1;
            unsigned char DUSBIE:1;
        } BIT;
    } DPSIER2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DCANIE:1;
            unsigned char :7;
        } BIT;
    } DPSIER3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ0F:1;
            unsigned char DIRQ1F:1;
            unsigned char DIRQ2F:1;
            unsigned char DIRQ3F:1;
            unsigned char DIRQ4F:1;
            unsigned char DIRQ5F:1;
            unsigned char DIRQ6F:1;
            unsigned char DIRQ7F:1;
        } BIT;
    } DPSIFR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ8F:1;
            unsigned char DIRQ9F:1;
            unsigned char DIRQ10F:1;
            unsigned char DIRQ11F:1;
            unsigned char DIRQ12F:1;
            unsigned char DIRQ13F:1;
            unsigned char DIRQ14F:1;
            unsigned char DIRQ15F:1;
        } BIT;
    } DPSIFR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DLVD1IF:1;
            unsigned char DLVD2IF:1;
            unsigned char DRTCIIF:1;
            unsigned char DRTCAIF:1;
            unsigned char DNMIF:1;
            unsigned char DRIICDIF:1;
            unsigned char DRIICCIF:1;
            unsigned char DUSBIF:1;
        } BIT;
    } DPSIFR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DCANIF:1;
            unsigned char :7;
        } BIT;
    } DPSIFR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ0EG:1;
            unsigned char DIRQ1EG:1;
            unsigned char DIRQ2EG:1;
            unsigned char DIRQ3EG:1;
            unsigned char DIRQ4EG:1;
            unsigned char DIRQ5EG:1;
            unsigned char DIRQ6EG:1;
            unsigned char DIRQ7EG:1;
        } BIT;
    } DPSIEGR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ8EG:1;
            unsigned char DIRQ9EG:1;
            unsigned char DIRQ10EG:1;
            unsigned char DIRQ11EG:1;
            unsigned char DIRQ12EG:1;
            unsigned char DIRQ13EG:1;
            unsigned char DIRQ14EG:1;
            unsigned char DIRQ15EG:1;
        } BIT;
    } DPSIEGR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DLVD1EG:1;
            unsigned char DLVD2EG:1;
            unsigned char :2;
            unsigned char DNMIEG:1;
            unsigned char DRIICDEG:1;
            unsigned char DRIICCEG:1;
            unsigned char :1;
        } BIT;
    } DPSIEGR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DCANIEG:1;
            unsigned char :7;
        } BIT;
    } DPSIEGR3;
    char           wk15[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PORF:1;
            unsigned char LVD0RF:1;
            unsigned char LVD1RF:1;
            unsigned char LVD2RF:1;
            unsigned char :3;
            unsigned char DPSRSTF:1;
        } BIT;
    } RSTSR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CWSF:1;
            unsigned char :7;
        } BIT;
    } RSTSR1;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MOFXIN:1;
            unsigned char MODRV:3;
            unsigned char MODRV2:2;
            unsigned char MOSEL:1;
            unsigned char :1;
        } BIT;
    } MOFCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HOCOPCNT:1;
            unsigned char :7;
        } BIT;
    } HOCOPCR;
    char           wk17[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char LVD1E:1;
            unsigned char LVD2E:1;
            unsigned char :1;
        } BIT;
    } LVCMPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD1LVL:4;
            unsigned char LVD2LVL:4;
        } BIT;
    } LVDLVLR;
    char           wk18[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD1RIE:1;
            unsigned char LVD1DFDIS:1;
            unsigned char LVD1CMPE:1;
            unsigned char :1;
            unsigned char LVD1FSAMP:2;
            unsigned char LVD1RI:1;
            unsigned char LVD1RN:1;
        } BIT;
    } LVD1CR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD2RIE:1;
            unsigned char LVD2DFDIS:1;
            unsigned char LVD2CMPE:1;
            unsigned char :1;
            unsigned char LVD2FSAMP:2;
            unsigned char LVD2RI:1;
            unsigned char LVD2RN:1;
        } BIT;
    } LVD2CR0;
    char           wk19[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char VBATTMNSEL:1;
            unsigned char :7;
        } BIT;
    } VBATTMNSELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char VBATTMON:1;
            unsigned char :7;
        } BIT;
    } VBATTMONR;
    char           wk20[1];
    unsigned char  DPSBKR[32];
    char           wk21[7794020];
    union {
        unsigned long LONG;
        struct {
            unsigned long MDE:3;
            unsigned long :29;
        } BIT;
    } MDE;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long IWDTSTRT:1;
            unsigned long IWDTTOPS:2;
            unsigned long IWDTCKS:4;
            unsigned long IWDTRPES:2;
            unsigned long IWDTRPSS:2;
            unsigned long IWDTRSTIRQS:1;
            unsigned long :1;
            unsigned long IWDTSLCSTP:1;
            unsigned long :2;
            unsigned long WDTSTRT:1;
            unsigned long WDTTOPS:2;
            unsigned long WDTCKS:4;
            unsigned long WDTRPES:2;
            unsigned long WDTRPSS:2;
            unsigned long WDTRSTIRQS:1;
            unsigned long :3;
        } BIT;
    } OFS0;
    union {
        unsigned long LONG;
        struct {
            unsigned long VDSEL:2;
            unsigned long LVDAS:1;
            unsigned long :5;
            unsigned long HOCOEN:1;
            unsigned long :23;
        } BIT;
    } OFS1;
};

struct st_temps {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char TSOE:1;
            unsigned char :2;
            unsigned char TSEN:1;
        } BIT;
    } TSCR;
};

struct st_tmr0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CCLR:2;
            unsigned char OVIE:1;
            unsigned char CMIEA:1;
            unsigned char CMIEB:1;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OSA:2;
            unsigned char OSB:2;
            unsigned char ADTE:1;
            unsigned char :3;
        } BIT;
    } TCSR;
    char           wk1[1];
    unsigned char  TCORA;
    char           wk2[1];
    unsigned char  TCORB;
    char           wk3[1];
    unsigned char  TCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:3;
            unsigned char CSS:2;
            unsigned char :2;
            unsigned char TMRIS:1;
        } BIT;
    } TCCR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCS:1;
            unsigned char :7;
        } BIT;
    } TCSTR;
};

struct st_tmr1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CCLR:2;
            unsigned char OVIE:1;
            unsigned char CMIEA:1;
            unsigned char CMIEB:1;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OSA:2;
            unsigned char OSB:2;
            unsigned char :4;
        } BIT;
    } TCSR;
    char           wk1[1];
    unsigned char  TCORA;
    char           wk2[1];
    unsigned char  TCORB;
    char           wk3[1];
    unsigned char  TCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKS:3;
            unsigned char CSS:2;
            unsigned char :2;
            unsigned char TMRIS:1;
        } BIT;
    } TCCR;
};

struct st_tmr01 {
    unsigned short TCORA;
    unsigned short TCORB;
    unsigned short TCNT;
    unsigned short TCCR;
};

struct st_tpu0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk0[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
};

struct st_tpu1 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk1[22];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk0[37];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu3 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk1[52];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOC:4;
            unsigned char IOD:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
};

struct st_tpu4 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk0[67];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu5 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char NFAEN:1;
            unsigned char NFBEN:1;
            unsigned char NFCEN:1;
            unsigned char NFDEN:1;
            unsigned char NFCS:2;
            unsigned char :2;
        } BIT;
    } NFCR;
    char           wk1[82];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPSC:3;
            unsigned char CKEG:2;
            unsigned char CCLR:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MD:4;
            unsigned char BFA:1;
            unsigned char BFB:1;
            unsigned char ICSELB:1;
            unsigned char ICSELD:1;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOA:4;
            unsigned char IOB:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGIEA:1;
            unsigned char TGIEB:1;
            unsigned char TGIEC:1;
            unsigned char TGIED:1;
            unsigned char TCIEV:1;
            unsigned char TCIEU:1;
            unsigned char :1;
            unsigned char TTGE:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TGFA:1;
            unsigned char TGFB:1;
            unsigned char TGFC:1;
            unsigned char TGFD:1;
            unsigned char TCFV:1;
            unsigned char TCFU:1;
            unsigned char :1;
            unsigned char TCFD:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpua {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CST0:1;
            unsigned char CST1:1;
            unsigned char CST2:1;
            unsigned char CST3:1;
            unsigned char CST4:1;
            unsigned char CST5:1;
            unsigned char :2;
        } BIT;
    } TSTR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SYNC0:1;
            unsigned char SYNC1:1;
            unsigned char SYNC2:1;
            unsigned char SYNC3:1;
            unsigned char SYNC4:1;
            unsigned char SYNC5:1;
            unsigned char :2;
        } BIT;
    } TSYR;
};

struct st_usb {
    union {
        unsigned long LONG;
        struct {
            unsigned long SRPC0:1;
            unsigned long RPUE0:1;
            unsigned long :1;
            unsigned long DRPD0:1;
            unsigned long FIXPHY0:1;
            unsigned long :11;
            unsigned long DP0:1;
            unsigned long DM0:1;
            unsigned long :2;
            unsigned long DOVCA0:1;
            unsigned long DOVCB0:1;
            unsigned long :1;
            unsigned long DVBSTS0:1;
            unsigned long :8;
        } BIT;
    } DPUSR0R;
    union {
        unsigned long LONG;
        struct {
            unsigned long DPINTE0:1;
            unsigned long DMINTE0:1;
            unsigned long :2;
            unsigned long DOVRCRAE0:1;
            unsigned long DOVRCRBE0:1;
            unsigned long :1;
            unsigned long DVBSE0:1;
            unsigned long :8;
            unsigned long DPINT0:1;
            unsigned long DMINT0:1;
            unsigned long :2;
            unsigned long DOVRCRA0:1;
            unsigned long DOVRCRB0:1;
            unsigned long :1;
            unsigned long DVBINT0:1;
            unsigned long :8;
        } BIT;
    } DPUSR1R;
};

struct st_usb0 {
    union {
        unsigned short WORD;
        struct {
            unsigned short USBE:1;
            unsigned short :3;
            unsigned short DPRPU:1;
            unsigned short DRPD:1;
            unsigned short DCFM:1;
            unsigned short :3;
            unsigned short SCKE:1;
            unsigned short :5;
        } BIT;
    } SYSCFG;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short LNST:2;
            unsigned short IDMON:1;
            unsigned short :3;
            unsigned short HTACT:1;
            unsigned short :7;
            unsigned short OVCMON:2;
        } BIT;
    } SYSSTS0;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short RHST:3;
            unsigned short :1;
            unsigned short UACT:1;
            unsigned short RESUME:1;
            unsigned short USBRST:1;
            unsigned short RWUPE:1;
            unsigned short WKUP:1;
            unsigned short VBUSEN:1;
            unsigned short EXICEN:1;
            unsigned short HNPBTOA:1;
            unsigned short :4;
        } BIT;
    } DVSTCTR0;
    char           wk2[10];
    unsigned short CFIFO;
    char           wk3[2];
    unsigned short D0FIFO;
    char           wk4[2];
    unsigned short D1FIFO;
    char           wk5[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :1;
            unsigned short ISEL:1;
            unsigned short :2;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:1;
            unsigned short :3;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } CFIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:9;
            unsigned short :4;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } CFIFOCTR;
    char           wk6[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :4;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:1;
            unsigned short :1;
            unsigned short DREQE:1;
            unsigned short DCLRM:1;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } D0FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:9;
            unsigned short :4;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } D0FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :4;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:1;
            unsigned short :1;
            unsigned short DREQE:1;
            unsigned short DCLRM:1;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } D1FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:9;
            unsigned short :4;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } D1FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short BRDYE:1;
            unsigned short NRDYE:1;
            unsigned short BEMPE:1;
            unsigned short CTRE:1;
            unsigned short DVSE:1;
            unsigned short SOFE:1;
            unsigned short RSME:1;
            unsigned short VBSE:1;
        } BIT;
    } INTENB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short SACKE:1;
            unsigned short SIGNE:1;
            unsigned short EOFERRE:1;
            unsigned short :4;
            unsigned short ATTCHE:1;
            unsigned short DTCHE:1;
            unsigned short :1;
            unsigned short BCHGE:1;
            unsigned short OVRCRE:1;
        } BIT;
    } INTENB1;
    char           wk7[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BRDYE:1;
            unsigned short PIPE1BRDYE:1;
            unsigned short PIPE2BRDYE:1;
            unsigned short PIPE3BRDYE:1;
            unsigned short PIPE4BRDYE:1;
            unsigned short PIPE5BRDYE:1;
            unsigned short PIPE6BRDYE:1;
            unsigned short PIPE7BRDYE:1;
            unsigned short PIPE8BRDYE:1;
            unsigned short PIPE9BRDYE:1;
            unsigned short :6;
        } BIT;
    } BRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE9NRDYE:1;
            unsigned short :6;
        } BIT;
    } NRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BEMPE:1;
            unsigned short PIPE1BEMPE:1;
            unsigned short PIPE2BEMPE:1;
            unsigned short PIPE3BEMPE:1;
            unsigned short PIPE4BEMPE:1;
            unsigned short PIPE5BEMPE:1;
            unsigned short PIPE6BEMPE:1;
            unsigned short PIPE7BEMPE:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE9BEMPE:1;
            unsigned short :6;
        } BIT;
    } BEMPENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short EDGESTS:1;
            unsigned short :1;
            unsigned short BRDYM:1;
            unsigned short :1;
            unsigned short TRNENSEL:1;
            unsigned short :7;
        } BIT;
    } SOFCFG;
    char           wk8[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CTSQ:3;
            unsigned short VALID:1;
            unsigned short DVSQ:3;
            unsigned short VBSTS:1;
            unsigned short BRDY:1;
            unsigned short NRDY:1;
            unsigned short BEMP:1;
            unsigned short CTRT:1;
            unsigned short DVST:1;
            unsigned short SOFR:1;
            unsigned short RESM:1;
            unsigned short VBINT:1;
        } BIT;
    } INTSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short SACK:1;
            unsigned short SIGN:1;
            unsigned short EOFERR:1;
            unsigned short :4;
            unsigned short ATTCH:1;
            unsigned short DTCH:1;
            unsigned short :1;
            unsigned short BCHG:1;
            unsigned short OVRCR:1;
        } BIT;
    } INTSTS1;
    char           wk9[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BRDY:1;
            unsigned short PIPE1BRDY:1;
            unsigned short PIPE2BRDY:1;
            unsigned short PIPE3BRDY:1;
            unsigned short PIPE4BRDY:1;
            unsigned short PIPE5BRDY:1;
            unsigned short PIPE6BRDY:1;
            unsigned short PIPE7BRDY:1;
            unsigned short PIPE8BRDY:1;
            unsigned short PIPE9BRDY:1;
            unsigned short :6;
        } BIT;
    } BRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0NRDY:1;
            unsigned short PIPE1NRDY:1;
            unsigned short PIPE2NRDY:1;
            unsigned short PIPE3NRDY:1;
            unsigned short PIPE4NRDY:1;
            unsigned short PIPE5NRDY:1;
            unsigned short PIPE6NRDY:1;
            unsigned short PIPE7NRDY:1;
            unsigned short PIPE8NRDY:1;
            unsigned short PIPE9NRDY:1;
            unsigned short :6;
        } BIT;
    } NRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BEMP:1;
            unsigned short PIPE1BEMP:1;
            unsigned short PIPE2BEMP:1;
            unsigned short PIPE3BEMP:1;
            unsigned short PIPE4BEMP:1;
            unsigned short PIPE5BEMP:1;
            unsigned short PIPE6BEMP:1;
            unsigned short PIPE7BEMP:1;
            unsigned short PIPE8BEMP:1;
            unsigned short PIPE9BEMP:1;
            unsigned short :6;
        } BIT;
    } BEMPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short FRNM:11;
            unsigned short :3;
            unsigned short CRCE:1;
            unsigned short OVRN:1;
        } BIT;
    } FRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short DVCHG:1;
        } BIT;
    } DVCHGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short USBADDR:7;
            unsigned short :1;
            unsigned short STSRECOV:4;
            unsigned short :4;
        } BIT;
    } USBADDR;
    char           wk10[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short BMREQUESTTYPE:8;
            unsigned short BREQUEST:8;
        } BIT;
    } USBREQ;
    unsigned short USBVAL;
    unsigned short USBINDX;
    unsigned short USBLENG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short DIR:1;
            unsigned short :2;
            unsigned short SHTNAK:1;
            unsigned short :8;
        } BIT;
    } DCPCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short MXPS:7;
            unsigned short :5;
            unsigned short DEVSEL:4;
        } BIT;
    } DCPMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short CCPL:1;
            unsigned short :2;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short :2;
            unsigned short SUREQCLR:1;
            unsigned short :2;
            unsigned short SUREQ:1;
            unsigned short BSTS:1;
        } BIT;
    } DCPCTR;
    char           wk11[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPESEL:4;
            unsigned short :12;
        } BIT;
    } PIPESEL;
    char           wk12[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short EPNUM:4;
            unsigned short DIR:1;
            unsigned short :2;
            unsigned short SHTNAK:1;
            unsigned short :1;
            unsigned short DBLB:1;
            unsigned short BFRE:1;
            unsigned short :3;
            unsigned short TYPE:2;
        } BIT;
    } PIPECFG;
    char           wk13[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short MXPS:9;
            unsigned short :3;
            unsigned short DEVSEL:4;
        } BIT;
    } PIPEMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short IITV:3;
            unsigned short :9;
            unsigned short IFIS:1;
            unsigned short :3;
        } BIT;
    } PIPEPERI;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :3;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE1CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :3;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE2CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :3;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE3CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :3;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE4CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :3;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE5CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short :5;
            unsigned short BSTS:1;
        } BIT;
    } PIPE6CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short :5;
            unsigned short BSTS:1;
        } BIT;
    } PIPE7CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short :5;
            unsigned short BSTS:1;
        } BIT;
    } PIPE8CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short :5;
            unsigned short BSTS:1;
        } BIT;
    } PIPE9CTR;
    char           wk14[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE1TRE;
    unsigned short PIPE1TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE2TRE;
    unsigned short PIPE2TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE3TRE;
    unsigned short PIPE3TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE4TRE;
    unsigned short PIPE4TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE5TRE;
    unsigned short PIPE5TRN;
    char           wk15[44];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short :8;
        } BIT;
    } DEVADD5;
    char           wk16[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long SLEWR00:1;
            unsigned long SLEWR01:1;
            unsigned long SLEWF00:1;
            unsigned long SLEWF01:1;
            unsigned long :2;
            unsigned long USBSPD:2;
            unsigned long :24;
        } BIT;
    } DPUSR2R;
};

struct st_usbhs {
    union {
        unsigned short WORD;
        struct {
            unsigned short USBE:1;
            unsigned short :3;
            unsigned short DPRPU:1;
            unsigned short DRPD:1;
            unsigned short DCFM:1;
            unsigned short HSE:1;
            unsigned short CNEN:1;
            unsigned short :7;
        } BIT;
    } SYSCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short BWAIT:4;
            unsigned short :12;
        } BIT;
    } BUSWAIT;
    union {
        unsigned short WORD;
        struct {
            unsigned short LNST:2;
            unsigned short IDMON:1;
            unsigned short :3;
            unsigned short HTACT:1;
            unsigned short :7;
            unsigned short OVCMON:2;
        } BIT;
    } SYSSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short PLLLOCK:1;
            unsigned short :15;
        } BIT;
    } PLLSTA;
    union {
        unsigned short WORD;
        struct {
            unsigned short RHST:3;
            unsigned short :1;
            unsigned short UACT:1;
            unsigned short RESUME:1;
            unsigned short USBRST:1;
            unsigned short RWUPE:1;
            unsigned short WKUP:1;
            unsigned short VBUSEN:1;
            unsigned short EXICEN:1;
            unsigned short HNPBTOA:1;
            unsigned short :4;
        } BIT;
    } DVSTCTR0;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short UTST:4;
            unsigned short :12;
        } BIT;
    } TESTMODE;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short TENDE:1;
            unsigned short :7;
            unsigned short DFACC:2;
            unsigned short :2;
        } BIT;
    } D0FBCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short TENDE:1;
            unsigned short :7;
            unsigned short DFACC:2;
            unsigned short :2;
        } BIT;
    } D1FBCFG;
    unsigned short CFIFO;
    unsigned short CFIFO1;
    unsigned short D0FIFO;
    unsigned short D0FIFO1;
    unsigned short D1FIFO;
    unsigned short D1FIFO1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :1;
            unsigned short ISEL:1;
            unsigned short :2;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:2;
            unsigned short :2;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } CFIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:12;
            unsigned short :1;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } CFIFOCTR;
    char           wk2[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :4;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:2;
            unsigned short DREQE:1;
            unsigned short DCLRM:1;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } D0FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:12;
            unsigned short :1;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } D0FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short CURPIPE:4;
            unsigned short :4;
            unsigned short BIGEND:1;
            unsigned short :1;
            unsigned short MBW:2;
            unsigned short DREQE:1;
            unsigned short DCLRM:1;
            unsigned short REW:1;
            unsigned short RCNT:1;
        } BIT;
    } D1FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short DTLN:12;
            unsigned short :1;
            unsigned short FRDY:1;
            unsigned short BCLR:1;
            unsigned short BVAL:1;
        } BIT;
    } D1FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short BRDYE:1;
            unsigned short NRDYE:1;
            unsigned short BEMPE:1;
            unsigned short CTRE:1;
            unsigned short DVSE:1;
            unsigned short SOFE:1;
            unsigned short RSME:1;
            unsigned short VBSE:1;
        } BIT;
    } INTENB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short PDDETINTE:1;
            unsigned short :3;
            unsigned short SACKE:1;
            unsigned short SIGNE:1;
            unsigned short EOFERRE:1;
            unsigned short :1;
            unsigned short LPMENDE:1;
            unsigned short L1RSMENDE:1;
            unsigned short :1;
            unsigned short ATTCHE:1;
            unsigned short DTCHE:1;
            unsigned short :1;
            unsigned short BCHGE:1;
            unsigned short OVRCRE:1;
        } BIT;
    } INTENB1;
    char           wk3[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BRDYE:1;
            unsigned short PIPE1BRDYE:1;
            unsigned short PIPE2BRDYE:1;
            unsigned short PIPE3BRDYE:1;
            unsigned short PIPE4BRDYE:1;
            unsigned short PIPE5BRDYE:1;
            unsigned short PIPE6BRDYE:1;
            unsigned short PIPE7BRDYE:1;
            unsigned short PIPE8BRDYE:1;
            unsigned short PIPE9BRDYE:1;
            unsigned short :6;
        } BIT;
    } BRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE9NRDYE:1;
            unsigned short :6;
        } BIT;
    } NRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BEMPE:1;
            unsigned short PIPE1BEMPE:1;
            unsigned short PIPE2BEMPE:1;
            unsigned short PIPE3BEMPE:1;
            unsigned short PIPE4BEMPE:1;
            unsigned short PIPE5BEMPE:1;
            unsigned short PIPE6BEMPE:1;
            unsigned short PIPE7BEMPE:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE9BEMPE:1;
            unsigned short :6;
        } BIT;
    } BEMPENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short SOFM:2;
            unsigned short EDGESTS:1;
            unsigned short INTL:1;
            unsigned short BRDYM:1;
            unsigned short :1;
            unsigned short TRNENSEL:1;
            unsigned short :7;
        } BIT;
    } SOFCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short dirpd:1;
            unsigned short pllreset:1;
            unsigned short :1;
            unsigned short cdpen:1;
            unsigned short clksel0:1;
            unsigned short clksel1:1;
            unsigned short :2;
            unsigned short repsel0:1;
            unsigned short repsel1:1;
            unsigned short :1;
            unsigned short repstart:1;
            unsigned short :3;
            unsigned short HSEB:1;
        } BIT;
    } PHYSET;
    union {
        unsigned short WORD;
        struct {
            unsigned short CTSQ:3;
            unsigned short VALID:1;
            unsigned short DVSQ:3;
            unsigned short VBSTS:1;
            unsigned short BRDY:1;
            unsigned short NRDY:1;
            unsigned short BEMP:1;
            unsigned short CTRT:1;
            unsigned short DVST:1;
            unsigned short SOFR:1;
            unsigned short RESM:1;
            unsigned short VBINT:1;
        } BIT;
    } INTSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short PDDETINT:1;
            unsigned short :3;
            unsigned short SACK:1;
            unsigned short SIGN:1;
            unsigned short EOFERR:1;
            unsigned short :1;
            unsigned short LPMEND:1;
            unsigned short L1RSMEND:1;
            unsigned short :1;
            unsigned short ATTCH:1;
            unsigned short DTCH:1;
            unsigned short :1;
            unsigned short BCHG:1;
            unsigned short OVRCR:1;
        } BIT;
    } INTSTS1;
    char           wk4[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BRDY:1;
            unsigned short PIPE1BRDY:1;
            unsigned short PIPE2BRDY:1;
            unsigned short PIPE3BRDY:1;
            unsigned short PIPE4BRDY:1;
            unsigned short PIPE5BRDY:1;
            unsigned short PIPE6BRDY:1;
            unsigned short PIPE7BRDY:1;
            unsigned short PIPE8BRDY:1;
            unsigned short PIPE9BRDY:1;
            unsigned short :6;
        } BIT;
    } BRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE9NRDYE:1;
            unsigned short :6;
        } BIT;
    } NRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPE0BENP:1;
            unsigned short PIPE1BENP:1;
            unsigned short PIPE2BENP:1;
            unsigned short PIPE3BENP:1;
            unsigned short PIPE4BENP:1;
            unsigned short PIPE5BENP:1;
            unsigned short PIPE6BENP:1;
            unsigned short PIPE7BENP:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE9BEMPE:1;
            unsigned short :6;
        } BIT;
    } BEMPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short FRNM:11;
            unsigned short :3;
            unsigned short CRCE:1;
            unsigned short OVRN:1;
        } BIT;
    } FRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short UFRNM:3;
            unsigned short :13;
        } BIT;
    } UFRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short USBADDR:7;
            unsigned short :9;
        } BIT;
    } USBADDR;
    char           wk5[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short BMREQUESTTYPE:8;
            unsigned short BREQUEST:8;
        } BIT;
    } USBREQ;
    unsigned short USBVAL;
    unsigned short USBINDX;
    unsigned short USBLENG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short DIR:1;
            unsigned short :11;
        } BIT;
    } DCPCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short MXPS:7;
            unsigned short :5;
            unsigned short DEVSEL:4;
        } BIT;
    } DCPMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short CCPL:1;
            unsigned short :1;
            unsigned short PINGE:1;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short :2;
            unsigned short SUREQCLR:1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short SUREQ:1;
            unsigned short BSTS:1;
        } BIT;
    } DCPCTR;
    char           wk6[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short PIPESEL:4;
            unsigned short :12;
        } BIT;
    } PIPESEL;
    char           wk7[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short EPNUM:4;
            unsigned short DIR:1;
            unsigned short :2;
            unsigned short SHTNAK:1;
            unsigned short CNTMD:1;
            unsigned short DBLB:1;
            unsigned short BFRE:1;
            unsigned short :3;
            unsigned short TYPE:2;
        } BIT;
    } PIPECFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short BUFNMB:8;
            unsigned short :2;
            unsigned short BUFSIZE:5;
            unsigned short :1;
        } BIT;
    } PIPEBUF;
    union {
        unsigned short WORD;
        struct {
            unsigned short MXPS:11;
            unsigned short :1;
            unsigned short DEVSEL:4;
        } BIT;
    } PIPEMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short IITV:3;
            unsigned short :9;
            unsigned short IFIS:1;
            unsigned short :3;
        } BIT;
    } PIPEPERI;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE1CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE2CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE3CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE4CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE5CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE6CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE7CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE8CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short PID:2;
            unsigned short :3;
            unsigned short PBUSY:1;
            unsigned short SQMON:1;
            unsigned short SQSET:1;
            unsigned short SQCLR:1;
            unsigned short ACLRM:1;
            unsigned short ATREPM:1;
            unsigned short :1;
            unsigned short CSSTS:1;
            unsigned short CSCLR:1;
            unsigned short INBUFM:1;
            unsigned short BSTS:1;
        } BIT;
    } PIPE9CTR;
    char           wk8[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE1TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE1TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE2TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE2TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE3TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE3TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE4TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE4TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TRCLR:1;
            unsigned short TRENB:1;
            unsigned short :6;
        } BIT;
    } PIPE5TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE5TRN;
    char           wk9[44];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short USBSPD:2;
            unsigned short HUBPORT:3;
            unsigned short UPPHUB:4;
            unsigned short :1;
        } BIT;
    } DEVADD5;
    char           wk10[36];
    union {
        unsigned short WORD;
        struct {
            unsigned short :7;
            unsigned short HWLPM:1;
            unsigned short :8;
        } BIT;
    } LPCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short :14;
            unsigned short SUSPENDM:1;
            unsigned short :1;
        } BIT;
    } LPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short XCVRSEL:2;
            unsigned short TERMSEL:1;
            unsigned short OPMODE:2;
            unsigned short :1;
            unsigned short SUSMON:1;
            unsigned short :1;
        } BIT;
    } PHYFUNCTR;
    char           wk11[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short :9;
            unsigned short DPPUDWN:1;
            unsigned short DMPUDWN:1;
            unsigned short :5;
        } BIT;
    } PHYOTGCTR;
    char           wk12[52];
    union {
        unsigned short WORD;
        struct {
            unsigned short IDPSRCE:1;
            unsigned short IDMSINKE:1;
            unsigned short VDPSRCE:1;
            unsigned short IDPSINKE:1;
            unsigned short VDMSRCE:1;
            unsigned short DCPMODE:1;
            unsigned short :2;
            unsigned short CHGDETSTS:1;
            unsigned short PDDETSTS:1;
            unsigned short :6;
        } BIT;
    } BCCTRL;
    char           wk13[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short drise0:1;
            unsigned short drise1:1;
            unsigned short dfall0:1;
            unsigned short dfall1:1;
            unsigned short :3;
            unsigned short pcompenb:1;
            unsigned short hsiup0:1;
            unsigned short hsiup1:1;
            unsigned short hsiup2:1;
            unsigned short hsiup3:1;
            unsigned short impoffset0:1;
            unsigned short impoffset1:1;
            unsigned short impoffset2:1;
            unsigned short :1;
        } BIT;
    } PHYTRIM1;
    union {
        unsigned short WORD;
        struct {
            unsigned short squ0:1;
            unsigned short squ1:1;
            unsigned short squ2:1;
            unsigned short squ3:1;
            unsigned short :3;
            unsigned short hsrxenmode:1;
            unsigned short prd0:1;
            unsigned short prd1:1;
            unsigned short :2;
            unsigned short dis0:1;
            unsigned short dis1:1;
            unsigned short dis2:1;
            unsigned short :1;
        } BIT;
    } PHYTRIM2;
    char           wk14[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long SRPC:1;
            unsigned long :3;
            unsigned long FIXPHY:1;
            unsigned long :11;
            unsigned long DP:1;
            unsigned long DM:1;
            unsigned long :2;
            unsigned long DOVCA:1;
            unsigned long DOVCB:1;
            unsigned long :1;
            unsigned long DVBSTS:1;
            unsigned long :8;
        } BIT;
    } DPUSR0R;
    union {
        unsigned long LONG;
        struct {
            unsigned long DPINTE:1;
            unsigned long DMINTE:1;
            unsigned long :2;
            unsigned long DOVRCRAE:1;
            unsigned long DOVRCRBE:1;
            unsigned long :1;
            unsigned long DVBSE:1;
            unsigned long :8;
            unsigned long DPINT:1;
            unsigned long DMINT:1;
            unsigned long :2;
            unsigned long DOVRCRA:1;
            unsigned long DOVRCRB:1;
            unsigned long :1;
            unsigned long DVBINT:1;
            unsigned long :8;
        } BIT;
    } DPUSR1R;
};

struct st_wdt {
    unsigned char  WDTRR;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short TOPS:2;
            unsigned short :2;
            unsigned short CKS:4;
            unsigned short RPES:2;
            unsigned short :2;
            unsigned short RPSS:2;
            unsigned short :2;
        } BIT;
    } WDTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short CNTVAL:14;
            unsigned short UNDFF:1;
            unsigned short REFEF:1;
        } BIT;
    } WDTSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RSTIRQS:1;
        } BIT;
    } WDTRCR;
};

#elif __RX_BIG_ENDIAN__        /*Big endian*/

struct st_bsc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char STSCLR:1;
        } BIT;
    } BERCLR;
    char           wk0[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TOEN:1;
            unsigned char IGAEN:1;
        } BIT;
    } BEREN;
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MST:3;
            unsigned char :2;
            unsigned char TO:1;
            unsigned char IA:1;
        } BIT;
    } BERSR1;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short ADDR:13;
        } BIT;
    } BERSR2;
    char           wk3[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short BPEB:2;
            unsigned short BPFB:2;
            unsigned short BPHB:2;
            unsigned short BPGB:2;
            unsigned short BPIB:2;
            unsigned short BPRO:2;
            unsigned short BPRA:2;
        } BIT;
    } BUSPRI;
    char           wk4[7408];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS0MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS0WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS0WCR2;
    char           wk5[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS1MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS1WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS1WCR2;
    char           wk6[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS2MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS2WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS2WCR2;
    char           wk7[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS3MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS3WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS3WCR2;
    char           wk8[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS4MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS4WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS4WCR2;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS5MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS5WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS5WCR2;
    char           wk10[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS6MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS6WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS6WCR2;
    char           wk11[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRMOD:1;
            unsigned short :5;
            unsigned short PWENB:1;
            unsigned short PRENB:1;
            unsigned short :4;
            unsigned short EWENB:1;
            unsigned short :2;
            unsigned short WRMOD:1;
        } BIT;
    } CS7MOD;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long CSRWAIT:5;
            unsigned long :3;
            unsigned long CSWWAIT:5;
            unsigned long :5;
            unsigned long CSPRWAIT:3;
            unsigned long :5;
            unsigned long CSPWWAIT:3;
        } BIT;
    } CS7WCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CSON:3;
            unsigned long :1;
            unsigned long WDON:3;
            unsigned long :1;
            unsigned long WRON:3;
            unsigned long :1;
            unsigned long RDON:3;
            unsigned long :2;
            unsigned long AWAIT:2;
            unsigned long :1;
            unsigned long WDOFF:3;
            unsigned long :1;
            unsigned long CSWOFF:3;
            unsigned long :1;
            unsigned long CSROFF:3;
        } BIT;
    } CS7WCR2;
    char           wk12[1926];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS0CR;
    char           wk13[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS0REC;
    char           wk14[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS1CR;
    char           wk15[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS1REC;
    char           wk16[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS2CR;
    char           wk17[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS2REC;
    char           wk18[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS3CR;
    char           wk19[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS3REC;
    char           wk20[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS4CR;
    char           wk21[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS4REC;
    char           wk22[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS5CR;
    char           wk23[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS5REC;
    char           wk24[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS6CR;
    char           wk25[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS6REC;
    char           wk26[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short MPXEN:1;
            unsigned short :3;
            unsigned short EMODE:1;
            unsigned short :2;
            unsigned short BSIZE:2;
            unsigned short :3;
            unsigned short EXENB:1;
        } BIT;
    } CS7CR;
    char           wk27[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short WRCV:4;
            unsigned short :4;
            unsigned short RRCV:4;
        } BIT;
    } CS7REC;
    char           wk28[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short RCVENM7:1;
            unsigned short RCVENM6:1;
            unsigned short RCVENM5:1;
            unsigned short RCVENM4:1;
            unsigned short RCVENM3:1;
            unsigned short RCVENM2:1;
            unsigned short RCVENM1:1;
            unsigned short RCVENM0:1;
            unsigned short RCVEN7:1;
            unsigned short RCVEN6:1;
            unsigned short RCVEN5:1;
            unsigned short RCVEN4:1;
            unsigned short RCVEN3:1;
            unsigned short RCVEN2:1;
            unsigned short RCVEN1:1;
            unsigned short RCVEN0:1;
        } BIT;
    } CSRECEN;
    char           wk29[894];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BSIZE:2;
            unsigned char :3;
            unsigned char EXENB:1;
        } BIT;
    } SDCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char EMODE:1;
        } BIT;
    } SDCMOD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char BE:1;
        } BIT;
    } SDAMOD;
    char           wk30[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SFEN:1;
        } BIT;
    } SDSELF;
    char           wk31[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short REFW:4;
            unsigned short RFC:12;
        } BIT;
    } SDRFCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RFEN:1;
        } BIT;
    } SDRFEN;
    char           wk32[9];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char INIRQ:1;
        } BIT;
    } SDICR;
    char           wk33[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short PRC:3;
            unsigned short ARFC:4;
            unsigned short ARFI:4;
        } BIT;
    } SDIR;
    char           wk34[26];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char MXC:2;
        } BIT;
    } SDADR;
    char           wk35[3];
    union {
        unsigned long LONG;
        struct {
            unsigned long :13;
            unsigned long RAS:3;
            unsigned long :2;
            unsigned long RCD:2;
            unsigned long RP:3;
            unsigned long WR:1;
            unsigned long :5;
            unsigned long CL:3;
        } BIT;
    } SDTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short MR:15;
        } BIT;
    } SDMOD;
    char           wk36[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char SRFST:1;
            unsigned char INIST:1;
            unsigned char :2;
            unsigned char MRSST:1;
        } BIT;
    } SDSR;
};

struct st_cac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char CFME:1;
        } BIT;
    } CACR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char EDGES:2;
            unsigned char TCSS:2;
            unsigned char FMCS:3;
            unsigned char CACREFE:1;
        } BIT;
    } CACR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DFS:2;
            unsigned char RCDS:2;
            unsigned char RSCS:3;
            unsigned char RPS:1;
        } BIT;
    } CACR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char OVFFCL:1;
            unsigned char MENDFCL:1;
            unsigned char FERRFCL:1;
            unsigned char :1;
            unsigned char OVFIE:1;
            unsigned char MENDIE:1;
            unsigned char FERRIE:1;
        } BIT;
    } CAICR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char OVFF:1;
            unsigned char MENDF:1;
            unsigned char FERRF:1;
        } BIT;
    } CASTR;
    char           wk0[1];
    unsigned short CAULVR;
    unsigned short CALLVR;
    unsigned short CACNTBR;
};

struct st_can {
    struct {
        union {
            unsigned long LONG;
            struct {
                unsigned short H;
                unsigned short L;
            } WORD;
            struct {
                unsigned char HH;
                unsigned char HL;
                unsigned char LH;
                unsigned char LL;
            } BYTE;
            struct {
                unsigned long IDE:1;
                unsigned long RTR:1;
                unsigned long :1;
                unsigned long SID:11;
                unsigned long EID:18;
            } BIT;
        } ID;
        unsigned short DLC;        
        unsigned char  DATA[8];
        unsigned short TS;        
    } MB[32];
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long :3;
            unsigned long SID:11;
            unsigned long EID:18;
        } BIT;
    } MKR[8];
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long IDE:1;
            unsigned long RTR:1;
            unsigned long :1;
            unsigned long SID:11;
            unsigned long EID:18;
        } BIT;
    } FIDCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long IDE:1;
            unsigned long RTR:1;
            unsigned long :1;
            unsigned long SID:11;
            unsigned long EID:18;
        } BIT;
    } FIDCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned char MB31:1;
            unsigned char MB30:1;
            unsigned char MB29:1;
            unsigned char MB28:1;
            unsigned char MB27:1;
            unsigned char MB26:1;
            unsigned char MB25:1;
            unsigned char MB24:1;
            unsigned char MB23:1;
            unsigned char MB22:1;
            unsigned char MB21:1;
            unsigned char MB20:1;
            unsigned char MB19:1;
            unsigned char MB18:1;
            unsigned char MB17:1;
            unsigned char MB16:1;
            unsigned char MB15:1;
            unsigned char MB14:1;
            unsigned char MB13:1;
            unsigned char MB12:1;
            unsigned char MB11:1;
            unsigned char MB10:1;
            unsigned char MB9:1;
            unsigned char MB8:1;
            unsigned char MB7:1;
            unsigned char MB6:1;
            unsigned char MB5:1;
            unsigned char MB4:1;
            unsigned char MB3:1;
            unsigned char MB2:1;
            unsigned char MB1:1;
            unsigned char MB0:1;
        } BIT;
    } MKIVLR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned char MB31:1;
            unsigned char MB30:1;
            unsigned char MB29:1;
            unsigned char MB28:1;
            unsigned char MB27:1;
            unsigned char MB26:1;
            unsigned char MB25:1;
            unsigned char MB24:1;
            unsigned char MB23:1;
            unsigned char MB22:1;
            unsigned char MB21:1;
            unsigned char MB20:1;
            unsigned char MB19:1;
            unsigned char MB18:1;
            unsigned char MB17:1;
            unsigned char MB16:1;
            unsigned char MB15:1;
            unsigned char MB14:1;
            unsigned char MB13:1;
            unsigned char MB12:1;
            unsigned char MB11:1;
            unsigned char MB10:1;
            unsigned char MB9:1;
            unsigned char MB8:1;
            unsigned char MB7:1;
            unsigned char MB6:1;
            unsigned char MB5:1;
            unsigned char MB4:1;
            unsigned char MB3:1;
            unsigned char MB2:1;
            unsigned char MB1:1;
            unsigned char MB0:1;
        } BIT;
    } MIER;
    char           wk0[1008];
    union {
        unsigned char BYTE;
        union {
            struct {
                unsigned char TRMREQ:1;
                unsigned char RECREQ:1;
                unsigned char :1;
                unsigned char ONESHOT:1;
                unsigned char :1;
                unsigned char TRMABT:1;
                unsigned char TRMACTIVE:1;
                unsigned char SENTDATA:1;
            } TX;
            struct {
                unsigned char TRMREQ:1;
                unsigned char RECREQ:1;
                unsigned char :1;
                unsigned char ONESHOT:1;
                unsigned char :1;
                unsigned char MSGLOST:1;
                unsigned char INVALDATA:1;
                unsigned char NEWDATA:1;
            } RX;
        } BIT;
    } MCTL[32];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :2;
            unsigned char RBOC:1;
            unsigned char BOM:2;
            unsigned char SLPM:1;
            unsigned char CANM:2;
            unsigned char TSPS:2;
            unsigned char TSRC:1;
            unsigned char TPM:1;
            unsigned char MLM:1;
            unsigned char IDFM:2;
            unsigned char MBM:1;
        } BIT;
    } CTLR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :1;
            unsigned char RECST:1;
            unsigned char TRMST:1;
            unsigned char BOST:1;
            unsigned char EPST:1;
            unsigned char SLPST:1;
            unsigned char HLTST:1;
            unsigned char RSTST:1;
            unsigned char EST:1;
            unsigned char TABST:1;
            unsigned char FMLST:1;
            unsigned char NMLST:1;
            unsigned char TFST:1;
            unsigned char RFST:1;
            unsigned char SDST:1;
            unsigned char NDST:1;
        } BIT;
    } STR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
            unsigned short L;
        } WORD;
        struct {
            unsigned char HH;
            unsigned char HL;
            unsigned char LH;
            unsigned char LL;
        } BYTE;
        struct {
            unsigned long TSEG1:4;
            unsigned long :2;
            unsigned long BRP:10;
            unsigned long :2;
            unsigned long SJW:2;
            unsigned long :1;
            unsigned long TSEG2:3;
            unsigned long :7;
            unsigned long CCLKS:1;
        } BIT;
    } BCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RFEST:1;
            unsigned char RFWST:1;
            unsigned char RFFST:1;
            unsigned char RFMLF:1;
            unsigned char RFUST:3;
            unsigned char RFE:1;
        } BIT;
    } RFCR;
    unsigned char  RFPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TFEST:1;
            unsigned char TFFST:1;
            unsigned char :2;
            unsigned char TFUST:3;
            unsigned char TFE:1;
        } BIT;
    } TFCR;
    unsigned char  TFPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BLIE:1;
            unsigned char OLIE:1;
            unsigned char ORIE:1;
            unsigned char BORIE:1;
            unsigned char BOEIE:1;
            unsigned char EPIE:1;
            unsigned char EWIE:1;
            unsigned char BEIE:1;
        } BIT;
    } EIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BLIF:1;
            unsigned char OLIF:1;
            unsigned char ORIF:1;
            unsigned char BORIF:1;
            unsigned char BOEIF:1;
            unsigned char EPIF:1;
            unsigned char EWIF:1;
            unsigned char BEIF:1;
        } BIT;
    } EIFR;
    unsigned char  RECR;
    unsigned char  TECR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char EDPM:1;
            unsigned char ADEF:1;
            unsigned char BE0F:1;
            unsigned char BE1F:1;
            unsigned char CEF:1;
            unsigned char AEF:1;
            unsigned char FEF:1;
            unsigned char SEF:1;
        } BIT;
    } ECSR;
    unsigned char  CSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SEST:1;
            unsigned char :2;
            unsigned char MBNST:5;
        } BIT;
    } MSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char MBSM:2;
        } BIT;
    } MSMR;
    unsigned short TSR;
    unsigned short AFSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TSTM:2;
            unsigned char TSTE:1;
        } BIT;
    } TCR;
};

struct st_cmt {
    union {
        unsigned short WORD;
        struct {
            unsigned short :14;
            unsigned short STR1:1;
            unsigned short STR0:1;
        } BIT;
    } CMSTR0;
    char           wk0[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :14;
            unsigned short STR3:1;
            unsigned short STR2:1;
        } BIT;
    } CMSTR1;
};

struct st_cmt0 {
    union {
        unsigned short WORD;
        struct {
            unsigned short :9;
            unsigned short CMIE:1;
            unsigned short :4;
            unsigned short CKS:2;
        } BIT;
    } CMCR;
    unsigned short CMCNT;
    unsigned short CMCOR;
};

struct st_cmtw {
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short STR:1;
        } BIT;
    } CMWSTR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CLLR:3;
            unsigned short :3;
            unsigned short CMS:1;
            unsigned short :1;
            unsigned short OC1IE:1;
            unsigned short OC0IE:1;
            unsigned short IC1IE:1;
            unsigned short IC0IE:1;
            unsigned short CM2IE:1;
            unsigned short :1;
            unsigned short CKS:2;
        } BIT;
    } CMWCR;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CM2E:1;
            unsigned short :1;
            unsigned short OC1E:1;
            unsigned short OC0E:1;
            unsigned short OC1:2;
            unsigned short OC0:2;
            unsigned short :2;
            unsigned short IC1E:1;
            unsigned short IC0E:1;
            unsigned short IC1:2;
            unsigned short IC0:2;
        } BIT;
    } CMWIOR;
    char           wk2[6];
    unsigned long  CMWCNT;
    unsigned long  CMWCOR;
    unsigned long  CMWICR0;
    unsigned long  CMWICR1;
    unsigned long  CMWOCR0;
    unsigned long  CMWOCR1;
};

struct st_crc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char DORCLR:1;
            unsigned char :4;
            unsigned char LMS:1;
            unsigned char GPS:2;
        } BIT;
    } CRCCR;
    unsigned char  CRCDIR;
    unsigned short CRCDOR;
};

struct st_da {
//    union {
//        unsigned short WORD;
//        struct {
//            unsigned short :4;
//            unsigned short B11:1;
//            unsigned short B10:1;
//            unsigned short B9:1;
//            unsigned short B8:1;
//            unsigned short B7:1;
//            unsigned short B6:1;
//            unsigned short B5:1;
//            unsigned short B4:1;
//            unsigned short B3:1;
//            unsigned short B2:1;
//            unsigned short B1:1;
//            unsigned short B0:1;
//        } BIT;
//    } DADR0;
//    union {
//        unsigned short WORD;
//        struct {
//            unsigned short :4;
//            unsigned short B11:1;
//            unsigned short B10:1;
//            unsigned short B9:1;
//            unsigned short B8:1;
//            unsigned short B7:1;
//            unsigned short B6:1;
//            unsigned short B5:1;
//            unsigned short B4:1;
//            unsigned short B3:1;
//            unsigned short B2:1;
//            unsigned short B1:1;
//            unsigned short B0:1;
//        } BIT;
//    } DADR1;
    unsigned short DADR0;
    unsigned short DADR1;    
    union {
        unsigned char BYTE;
        struct {
            unsigned char DAOE1:1;
            unsigned char DAOE0:1;
            unsigned char DAE:1;
        } BIT;
    } DACR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DPSEL:1;
        } BIT;
    } DADPR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DAADST:1;
        } BIT;
    } DAADSCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DAAMP1:1;
            unsigned char DAAMP0:1;
        } BIT;
    } DAAMPCR;
};

struct st_dmac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DMST:1;
        } BIT;
    } DMAST;
    char           wk0[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DMIS7:1;
            unsigned char DMIS6:1;
            unsigned char DMIS5:1;
            unsigned char DMIS4:1;
        } BIT;
    } DMIST;
};

struct st_dmac0 {
//    unsigned long  DMSAR;
//    unsigned long  DMDAR;
    void          *DMSAR;
    void          *DMDAR;    
    unsigned long  DMCRA;
    unsigned short DMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short MD:2;
            unsigned short DTS:2;
            unsigned short :2;
            unsigned short SZ:2;
            unsigned short :6;
            unsigned short DCTG:2;
        } BIT;
    } DMTMD;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char DTIE:1;
            unsigned char ESIE:1;
            unsigned char RPTIE:1;
            unsigned char SARIE:1;
            unsigned char DARIE:1;
        } BIT;
    } DMINT;
    union {
        unsigned short WORD;
        struct {
            unsigned short SM:2;
            unsigned short :1;
            unsigned short SARA:5;
            unsigned short DM:2;
            unsigned short :1;
            unsigned short DARA:5;
        } BIT;
    } DMAMD;
    char           wk2[2];
    unsigned long  DMOFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTE:1;
        } BIT;
    } DMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
            unsigned char SWREQ:1;
        } BIT;
    } DMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACT:1;
            unsigned char :2;
            unsigned char DTIF:1;
            unsigned char :3;
            unsigned char ESIF:1;
        } BIT;
    } DMSTS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DISEL:1;
        } BIT;
    } DMCSL;
};

struct st_dmac1 {    
//    unsigned long  DMSAR;
//    unsigned long  DMDAR;
    void          *DMSAR;
    void          *DMDAR;    
    unsigned long  DMCRA;
    unsigned short DMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short MD:2;
            unsigned short DTS:2;
            unsigned short :2;
            unsigned short SZ:2;
            unsigned short :6;
            unsigned short DCTG:2;
        } BIT;
    } DMTMD;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char DTIE:1;
            unsigned char ESIE:1;
            unsigned char RPTIE:1;
            unsigned char SARIE:1;
            unsigned char DARIE:1;
        } BIT;
    } DMINT;
    union {
        unsigned short WORD;
        struct {
            unsigned short SM:2;
            unsigned short :1;
            unsigned short SARA:5;
            unsigned short DM:2;
            unsigned short :1;
            unsigned short DARA:5;
        } BIT;
    } DMAMD;
    char           wk2[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTE:1;
        } BIT;
    } DMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
            unsigned char SWREQ:1;
        } BIT;
    } DMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACT:1;
            unsigned char :2;
            unsigned char DTIF:1;
            unsigned char :3;
            unsigned char ESIF:1;
        } BIT;
    } DMSTS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DISEL:1;
        } BIT;
    } DMCSL;
};

struct st_doc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char DOPCFCL:1;
            unsigned char DOPCF:1;
            unsigned char DOPCIE:1;
            unsigned char :1;
            unsigned char DCSEL:1;
            unsigned char OMS:2;
        } BIT;
    } DOCR;
    char           wk0[1];
    unsigned short DODIR;
    unsigned short DODSR;
};

struct st_dtc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char RRS:1;
        } BIT;
    } DTCCR;
    char           wk0[3];
//    unsigned long  DTCVBR;
    void          *DTCVBR;    
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SHORT:1;
        } BIT;
    } DTCADMOD;
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTCST:1;
        } BIT;
    } DTCST;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short ACT:1;
            unsigned short :7;
            unsigned short VECN:8;
        } BIT;
    } DTCSTS;
};

struct st_eccram {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char RAMMOD:2;
        } BIT;
    } ECCRAMMODE;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RAMERR:1;
        } BIT;
    } ECCRAMSTS;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char KW:7;
            unsigned char RAMPRCR:1;
        } BIT;
    } ECCRAMPRCR;
    char           wk1[3];
    union {
        unsigned long LONG;
        struct {
            unsigned long :13;
            unsigned long READ:16;
        } BIT;
    } ECCRAMECAD;
    char           wk2[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char KW2:7;
            unsigned char RAMPRCR2:1;
        } BIT;
    } ECCRAMPRCR2;
    char           wk3[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TSTBYP:1;
        } BIT;
    } ECCRAMETST;
};

struct st_edmac {
    union {
        unsigned long LONG;
        struct {
            unsigned long :25;
            unsigned long DE:1;
            unsigned long DL:2;
            unsigned long :3;
            unsigned long SWR:1;
        } BIT;
    } EDMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long TR:1;
        } BIT;
    } EDTRR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long RR:1;
        } BIT;
    } EDRRR;
    char           wk2[4];
//    unsigned long  TDLAR;
    void          *TDLAR;
    char           wk3[4];
//    unsigned long  RDLAR;
    void          *RDLAR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long TWB:1;
            unsigned long :3;
            unsigned long TABT:1;
            unsigned long RABT:1;
            unsigned long RFCOF:1;
            unsigned long ADE:1;
            unsigned long ECI:1;
            unsigned long TC:1;
            unsigned long TDE:1;
            unsigned long TFUF:1;
            unsigned long FR:1;
            unsigned long RDE:1;
            unsigned long RFOF:1;
            unsigned long :4;
            unsigned long CND:1;
            unsigned long DLC:1;
            unsigned long CD:1;
            unsigned long TRO:1;
            unsigned long RMAF:1;
            unsigned long :2;
            unsigned long RRF:1;
            unsigned long RTLF:1;
            unsigned long RTSF:1;
            unsigned long PRE:1;
            unsigned long CERF:1;
        } BIT;
    } EESR;
    char           wk5[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long TWBIP:1;
            unsigned long :3;
            unsigned long TABTIP:1;
            unsigned long RABTIP:1;
            unsigned long RFCOFIP:1;
            unsigned long ADEIP:1;
            unsigned long ECIIP:1;
            unsigned long TCIP:1;
            unsigned long TDEIP:1;
            unsigned long TFUFIP:1;
            unsigned long FRIP:1;
            unsigned long RDEIP:1;
            unsigned long RFOFIP:1;
            unsigned long :4;
            unsigned long CNDIP:1;
            unsigned long DLCIP:1;
            unsigned long CDIP:1;
            unsigned long TROIP:1;
            unsigned long RMAFIP:1;
            unsigned long :2;
            unsigned long RRFIP:1;
            unsigned long RTLFIP:1;
            unsigned long RTSFIP:1;
            unsigned long PREIP:1;
            unsigned long CERFIP:1;
        } BIT;
    } EESIPR;
    char           wk6[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :20;
            unsigned long CNDCE:1;
            unsigned long DLCCE:1;
            unsigned long CDCE:1;
            unsigned long TROCE:1;
            unsigned long RMAFCE:1;
            unsigned long :2;
            unsigned long RRFCE:1;
            unsigned long RTLFCE:1;
            unsigned long RTSFCE:1;
            unsigned long PRECE:1;
            unsigned long CERFCE:1;
        } BIT;
    } TRSCER;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long MFC:16;
        } BIT;
    } RMFCR;
    char           wk8[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :21;
            unsigned long TFT:11;
        } BIT;
    } TFTR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :19;
            unsigned long TFD:5;
            unsigned long :3;
            unsigned long RFD:5;
        } BIT;
    } FDR;
    char           wk10[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long RNC:1;
            unsigned long RNR:1;
        } BIT;
    } RMCR;
    char           wk11[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long UNDER:16;
        } BIT;
    } TFUCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long OVER:16;
        } BIT;
    } RFOCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long ELB:1;
        } BIT;
    } IOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :13;
            unsigned long RFFO:3;
            unsigned long :13;
            unsigned long RFDO:3;
        } BIT;
    } FCFTR;
    char           wk12[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :14;
            unsigned long PADS:2;
            unsigned long :10;
            unsigned long PADR:6;
        } BIT;
    } RPADIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :27;
            unsigned long TIM:1;
            unsigned long :3;
            unsigned long TIS:1;
        } BIT;
    } TRIMD;
    char           wk13[72];
//    unsigned long  RBWAR;
    void          *RBWAR;
//    unsigned long  RDFAR;
    void          *RDFAR;
    char           wk14[4];
//    unsigned long  TBRAR;
    void          *TBRAR;    
//    unsigned long  TDFAR;
    void          *TDFAR;    
};

struct st_edmacp {
    union {
        unsigned long LONG;
        struct {
            unsigned long :25;
            unsigned long DE:1;
            unsigned long DL:2;
            unsigned long :3;
            unsigned long SWR:1;
        } BIT;
    } EDMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long TR:1;
        } BIT;
    } EDTRR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long RR:1;
        } BIT;
    } EDRRR;
    char           wk2[4];
    unsigned long  TDLAR;
    char           wk3[4];
    unsigned long  RDLAR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long TWB:1;
            unsigned long :3;
            unsigned long TABT:1;
            unsigned long RABT:1;
            unsigned long RFCOF:1;
            unsigned long ADE:1;
            unsigned long ECI:1;
            unsigned long TC:1;
            unsigned long TDE:1;
            unsigned long TFUF:1;
            unsigned long FR:1;
            unsigned long RDE:1;
            unsigned long RFOF:1;
        } BIT;
    } EESR;
    char           wk5[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long TWBIP:1;
            unsigned long :3;
            unsigned long TABTIP:1;
            unsigned long RABTIP:1;
            unsigned long RFCOFIP:1;
            unsigned long ADEIP:1;
            unsigned long ECIIP:1;
            unsigned long TCIP:1;
            unsigned long TDEIP:1;
            unsigned long TFUFIP:1;
            unsigned long FRIP:1;
            unsigned long RDEIP:1;
            unsigned long RFOFIP:1;
        } BIT;
    } EESIPR;
    char           wk6[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :20;
            unsigned long CNDCE:1;
            unsigned long DLCCE:1;
            unsigned long CDCE:1;
            unsigned long TROCE:1;
            unsigned long RMAFCE:1;
            unsigned long :2;
            unsigned long RRFCE:1;
            unsigned long RTLFCE:1;
            unsigned long RTSFCE:1;
            unsigned long PRECE:1;
            unsigned long CERFCE:1;
        } BIT;
    } TRSCER;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long MFC:16;
        } BIT;
    } RMFCR;
    char           wk8[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :21;
            unsigned long TFT:11;
        } BIT;
    } TFTR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :19;
            unsigned long TFD:5;
            unsigned long :3;
            unsigned long RFD:5;
        } BIT;
    } FDR;
    char           wk10[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long RNC:1;
            unsigned long RNR:1;
        } BIT;
    } RMCR;
    char           wk11[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long UNDER:16;
        } BIT;
    } TFUCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long OVER:16;
        } BIT;
    } RFOCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long ELB:1;
        } BIT;
    } IOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :13;
            unsigned long RFFO:3;
            unsigned long :13;
            unsigned long RFDO:3;
        } BIT;
    } FCFTR;
    char           wk12[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :14;
            unsigned long PADS:2;
            unsigned long :10;
            unsigned long PADR:6;
        } BIT;
    } RPADIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :27;
            unsigned long TIM:1;
            unsigned long :3;
            unsigned long TIS:1;
        } BIT;
    } TRIMD;
    char           wk13[72];
    unsigned long  RBWAR;
    unsigned long  RDFAR;
    char           wk14[4];
    unsigned long  TBRAR;
    unsigned long  TDFAR;
};

struct st_elc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELCON:1;
        } BIT;
    } ELCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR0;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR4;
    char           wk1[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR7;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR10;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR11;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR12;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR13;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR15;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR16;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR18;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR19;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR20;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR21;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR22;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR23;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR24;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR25;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR26;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR27;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR28;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTU3MD:2;
            unsigned char :4;
            unsigned char MTU0MD:2;
        } BIT;
    } ELOPA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char MTU4MD:2;
        } BIT;
    } ELOPB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char CMT1MD:2;
        } BIT;
    } ELOPC;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMR3MD:2;
            unsigned char TMR2MD:2;
            unsigned char TMR1MD:2;
            unsigned char TMR0MD:2;
        } BIT;
    } ELOPD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGR7:1;
            unsigned char PGR6:1;
            unsigned char PGR5:1;
            unsigned char PGR4:1;
            unsigned char PGR3:1;
            unsigned char PGR2:1;
            unsigned char PGR1:1;
            unsigned char PGR0:1;
        } BIT;
    } PGR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PGR7:1;
            unsigned char PGR6:1;
            unsigned char PGR5:1;
            unsigned char PGR4:1;
            unsigned char PGR3:1;
            unsigned char PGR2:1;
            unsigned char PGR1:1;
            unsigned char PGR0:1;
        } BIT;
    } PGR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PGCO:3;
            unsigned char :1;
            unsigned char PGCOVE:1;
            unsigned char PGCI:2;
        } BIT;
    } PGC1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PGCO:3;
            unsigned char :1;
            unsigned char PGCOVE:1;
            unsigned char PGCI:2;
        } BIT;
    } PGC2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PDBF7:1;
            unsigned char PDBF6:1;
            unsigned char PDBF5:1;
            unsigned char PDBF4:1;
            unsigned char PDBF3:1;
            unsigned char PDBF2:1;
            unsigned char PDBF1:1;
            unsigned char PDBF0:1;
        } BIT;
    } PDBF1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PDBF7:1;
            unsigned char PDBF6:1;
            unsigned char PDBF5:1;
            unsigned char PDBF4:1;
            unsigned char PDBF3:1;
            unsigned char PDBF2:1;
            unsigned char PDBF1:1;
            unsigned char PDBF0:1;
        } BIT;
    } PDBF2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSM:2;
            unsigned char PSP:2;
            unsigned char PSB:3;
        } BIT;
    } PEL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSM:2;
            unsigned char PSP:2;
            unsigned char PSB:3;
        } BIT;
    } PEL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSM:2;
            unsigned char PSP:2;
            unsigned char PSB:3;
        } BIT;
    } PEL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSM:2;
            unsigned char PSP:2;
            unsigned char PSB:3;
        } BIT;
    } PEL3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char WI:1;
            unsigned char WE:1;
            unsigned char :5;
            unsigned char SEG:1;
        } BIT;
    } ELSEGR;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR33;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR35;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR36;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR37;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR38;
    char           wk8[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR41;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR42;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR43;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR44;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ELS:8;
        } BIT;
    } ELSR45;
    char           wk9[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TPU3MD:2;
            unsigned char TPU2MD:2;
            unsigned char TPU1MD:2;
            unsigned char TPU0MD:2;
        } BIT;
    } ELOPF;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char CMTW0MD:2;
        } BIT;
    } ELOPH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char GPT1MD:3;
            unsigned char :1;
            unsigned char GPT0MD:3;
        } BIT;
    } ELOPI;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char GPT3MD:3;
            unsigned char :1;
            unsigned char GPT2MD:3;
        } BIT;
    } ELOPJ;
};

struct st_eptpc {
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long RESET:1;
        } BIT;
    } PTRSTR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :21;
            unsigned long SCLKSEL:3;
            unsigned long :5;
            unsigned long SCLKDIV:3;
        } BIT;
    } STCSELR;
    char           wk0[15096];
    union {
        unsigned long LONG;
        struct {
            unsigned long :10;
            unsigned long CYC5:1;
            unsigned long CYC4:1;
            unsigned long CYC3:1;
            unsigned long CYC2:1;
            unsigned long CYC1:1;
            unsigned long CYC0:1;
            unsigned long :12;
            unsigned long PRC:1;
            unsigned long SY1:1;
            unsigned long SY0:1;
            unsigned long ST:1;
        } BIT;
    } MIESR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :10;
            unsigned long CYC5:1;
            unsigned long CYC4:1;
            unsigned long CYC3:1;
            unsigned long CYC2:1;
            unsigned long CYC1:1;
            unsigned long CYC0:1;
            unsigned long :12;
            unsigned long PR:1;
            unsigned long SY1:1;
            unsigned long SY0:1;
            unsigned long ST:1;
        } BIT;
    } MIEIPR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long VER:16;
            unsigned long REV:16;
        } BIT;
    } PTVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :7;
            unsigned long PLSN:1;
            unsigned long :7;
            unsigned long PLSP:1;
            unsigned long :2;
            unsigned long CYCN5:1;
            unsigned long CYCN4:1;
            unsigned long CYCN3:1;
            unsigned long CYCN2:1;
            unsigned long CYCN1:1;
            unsigned long CYCN0:1;
            unsigned long :2;
            unsigned long CYCP5:1;
            unsigned long CYCP4:1;
            unsigned long CYCP3:1;
            unsigned long CYCP2:1;
            unsigned long CYCP1:1;
            unsigned long CYCP0:1;
        } BIT;
    } ELIPPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :7;
            unsigned long PLSN:1;
            unsigned long :7;
            unsigned long PLSP:1;
            unsigned long :2;
            unsigned long CYCN5:1;
            unsigned long CYCN4:1;
            unsigned long CYCN3:1;
            unsigned long CYCN2:1;
            unsigned long CYCN1:1;
            unsigned long CYCN0:1;
            unsigned long :2;
            unsigned long CYCP5:1;
            unsigned long CYCP4:1;
            unsigned long CYCP3:1;
            unsigned long CYCP2:1;
            unsigned long CYCP1:1;
            unsigned long CYCP0:1;
        } BIT;
    } ELIPACR;
    char           wk2[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long :27;
            unsigned long W10D:1;
            unsigned long SYNTOUT:1;
            unsigned long :1;
            unsigned long SYNCOUT:1;
            unsigned long SYNC:1;
        } BIT;
    } STSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :27;
            unsigned long W10D:1;
            unsigned long SYNTOUT:1;
            unsigned long :1;
            unsigned long SYNCOUT:1;
            unsigned long SYNC:1;
        } BIT;
    } STIPR;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long VER:16;
            unsigned long REV:16;
        } BIT;
    } STVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long STCF:2;
        } BIT;
    } STCFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long ALEN1:1;
            unsigned long ALEN0:1;
            unsigned long :4;
            unsigned long SYTH:4;
            unsigned long DVTH:4;
            unsigned long W10S:1;
            unsigned long :1;
            unsigned long CMOD:1;
            unsigned long :5;
            unsigned long WINT:8;
        } BIT;
    } STMR;
    unsigned long  SYNTOR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long IPTSEL5:1;
            unsigned long IPTSEL4:1;
            unsigned long IPTSEL3:1;
            unsigned long IPTSEL2:1;
            unsigned long IPTSEL1:1;
            unsigned long IPTSEL0:1;
        } BIT;
    } IPTSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long MINTEN5:1;
            unsigned long MINTEN4:1;
            unsigned long MINTEN3:1;
            unsigned long MINTEN2:1;
            unsigned long MINTEN1:1;
            unsigned long MINTEN0:1;
        } BIT;
    } MITSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long ELTDIS5:1;
            unsigned long ELTDIS4:1;
            unsigned long ELTDIS3:1;
            unsigned long ELTDIS2:1;
            unsigned long ELTDIS1:1;
            unsigned long ELTDIS0:1;
        } BIT;
    } ELTSELR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long SYSEL:1;
        } BIT;
    } STCHSELR;
    char           wk5[16];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long STR:1;
        } BIT;
    } SYNSTARTR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long LOAD:1;
        } BIT;
    } LCIVLDR;
    char           wk6[8];
    unsigned long  SYNTDARU;
    unsigned long  SYNTDARL;
    unsigned long  SYNTDBRU;
    unsigned long  SYNTDBRL;
    char           wk7[16];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long VALU:16;
        } BIT;
    } LCIVRU;
    unsigned long  LCIVRM;
    unsigned long  LCIVRL;
    char           wk8[104];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long GW10:1;
        } BIT;
    } GETW10R;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long LMTU:31;
        } BIT;
    } PLIMITRU;
    unsigned long  PLIMITRM;
    unsigned long  PLIMITRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long LMTU:31;
        } BIT;
    } MLIMITRU;
    unsigned long  MLIMITRM;
    unsigned long  MLIMITRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long INFO:1;
        } BIT;
    } GETINFOR;
    char           wk9[44];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long CNTU:16;
        } BIT;
    } LCCVRU;
    unsigned long  LCCVRM;
    unsigned long  LCCVRL;
    char           wk10[148];
    unsigned long  PW10VRU;
    unsigned long  PW10VRM;
    unsigned long  PW10VRL;
    char           wk11[180];
    unsigned long  MW10RU;
    unsigned long  MW10RM;
    unsigned long  MW10RL;
    char           wk12[36];
    unsigned long  TMSTTRU0;
    unsigned long  TMSTTRL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR0;
    unsigned long  TMSTTRU1;
    unsigned long  TMSTTRL1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR1;
    unsigned long  TMSTTRU2;
    unsigned long  TMSTTRL2;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR2;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR2;
    unsigned long  TMSTTRU3;
    unsigned long  TMSTTRL3;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR3;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR3;
    unsigned long  TMSTTRU4;
    unsigned long  TMSTTRL4;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR4;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR4;
    unsigned long  TMSTTRU5;
    unsigned long  TMSTTRL5;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long CYC:30;
        } BIT;
    } TMCYCR5;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WTH:29;
        } BIT;
    } TMPLSR5;
    char           wk13[28];
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } TMSTARTR;
    char           wk14[128];
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long URE1:1;
            unsigned long URE0:1;
            unsigned long PRTE13:1;
            unsigned long PRTE12:1;
            unsigned long PRTE11:1;
            unsigned long PRTE10:1;
            unsigned long PRTE03:1;
            unsigned long PRTE02:1;
            unsigned long PRTE01:1;
            unsigned long PRTE00:1;
            unsigned long PRRE3:1;
            unsigned long PRRE2:1;
            unsigned long PRRE1:1;
            unsigned long PRRE0:1;
            unsigned long :7;
            unsigned long MACE:1;
            unsigned long :4;
            unsigned long OVRE3:1;
            unsigned long OVRE2:1;
            unsigned long OVRE1:1;
            unsigned long OVRE0:1;
        } BIT;
    } PRSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long URE1:1;
            unsigned long URE0:1;
            unsigned long PRTE13:1;
            unsigned long PRTE12:1;
            unsigned long PRTE11:1;
            unsigned long PRTE10:1;
            unsigned long PRTE03:1;
            unsigned long PRTE02:1;
            unsigned long PRTE01:1;
            unsigned long PRTE00:1;
            unsigned long PRRE3:1;
            unsigned long PRRE2:1;
            unsigned long PRRE1:1;
            unsigned long PRRE0:1;
            unsigned long :7;
            unsigned long MACE:1;
            unsigned long :4;
            unsigned long OVRE3:1;
            unsigned long OVRE2:1;
            unsigned long OVRE1:1;
            unsigned long OVRE0:1;
        } BIT;
    } PRIPR;
    char           wk15[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long VER:16;
            unsigned long REV:16;
        } BIT;
    } PRVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } PRMACRU0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } PRMACRL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } PRMACRU1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } PRMACRL1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long TDIS:2;
        } BIT;
    } TRNDISR;
    char           wk16[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long MOD:1;
        } BIT;
    } TRNMR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :21;
            unsigned long THVAL:11;
        } BIT;
    } TRNCTTDR;
};

struct st_eptpcs {
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long PRE3:1;
            unsigned long PRE2:1;
            unsigned long PRE1:1;
            unsigned long PRE0:1;
            unsigned long :2;
            unsigned long GENDN:1;
            unsigned long RESDN:1;
            unsigned long :1;
            unsigned long INFABT:1;
            unsigned long SRTABT:1;
            unsigned long RECLP:1;
            unsigned long :2;
            unsigned long PDRPMR:1;
            unsigned long :2;
            unsigned long DRQOVR:1;
            unsigned long INTDEV:1;
            unsigned long DRPTO:1;
            unsigned long :1;
            unsigned long MPDUD:1;
            unsigned long INTCHG:1;
            unsigned long OFMUD:1;
        } BIT;
    } SYSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long PRE3:1;
            unsigned long PRE2:1;
            unsigned long PRE1:1;
            unsigned long PRE0:1;
            unsigned long :2;
            unsigned long GENDN:1;
            unsigned long RESDN:1;
            unsigned long :1;
            unsigned long INFABT:1;
            unsigned long SRTABT:1;
            unsigned long RECLP:1;
            unsigned long :2;
            unsigned long PDRPMR:1;
            unsigned long :2;
            unsigned long DRQOVR:1;
            unsigned long INTDEV:1;
            unsigned long DRPTO:1;
            unsigned long :1;
            unsigned long MPDUD:1;
            unsigned long INTCHG:1;
            unsigned long OFMUD:1;
        } BIT;
    } SYIPR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long VER:16;
            unsigned long REV:16;
        } BIT;
    } SYVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } SYMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } SYMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long LLC:8;
        } BIT;
    } SYLLCCTLR;
    unsigned long  SYIPR2;
    char           wk1[32];
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long TRSP:4;
            unsigned long VER:4;
        } BIT;
    } SYSPVRR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long DNUM:8;
        } BIT;
    } SYDOMR;
    char           wk2[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long FLG15:1;
            unsigned long FLG14:1;
            unsigned long FLG13:1;
            unsigned long FLG12:1;
            unsigned long FLG11:1;
            unsigned long FLG10:1;
            unsigned long FLG9:1;
            unsigned long FLG8:1;
            unsigned long FLG7:1;
            unsigned long FLG6:1;
            unsigned long FLG5:1;
            unsigned long FLG4:1;
            unsigned long FLG3:1;
            unsigned long FLG2:1;
            unsigned long FLG1:1;
            unsigned long FLG0:1;
        } BIT;
    } ANFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long FLG15:1;
            unsigned long FLG14:1;
            unsigned long FLG13:1;
            unsigned long FLG12:1;
            unsigned long FLG11:1;
            unsigned long FLG10:1;
            unsigned long FLG9:1;
            unsigned long FLG8:1;
            unsigned long FLG7:1;
            unsigned long FLG6:1;
            unsigned long FLG5:1;
            unsigned long FLG4:1;
            unsigned long FLG3:1;
            unsigned long FLG2:1;
            unsigned long FLG1:1;
            unsigned long FLG0:1;
        } BIT;
    } SYNFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long FLG15:1;
            unsigned long FLG14:1;
            unsigned long FLG13:1;
            unsigned long FLG12:1;
            unsigned long FLG11:1;
            unsigned long FLG10:1;
            unsigned long FLG9:1;
            unsigned long FLG8:1;
            unsigned long FLG7:1;
            unsigned long FLG6:1;
            unsigned long FLG5:1;
            unsigned long FLG4:1;
            unsigned long FLG3:1;
            unsigned long FLG2:1;
            unsigned long FLG1:1;
            unsigned long FLG0:1;
        } BIT;
    } DYRQFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long FLG15:1;
            unsigned long FLG14:1;
            unsigned long FLG13:1;
            unsigned long FLG12:1;
            unsigned long FLG11:1;
            unsigned long FLG10:1;
            unsigned long FLG9:1;
            unsigned long FLG8:1;
            unsigned long FLG7:1;
            unsigned long FLG6:1;
            unsigned long FLG5:1;
            unsigned long FLG4:1;
            unsigned long FLG3:1;
            unsigned long FLG2:1;
            unsigned long FLG1:1;
            unsigned long FLG0:1;
        } BIT;
    } DYRPFR;
    unsigned long  SYCIDRU;
    unsigned long  SYCIDRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long PNUM:16;
        } BIT;
    } SYPNUMR;
    char           wk3[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long :29;
            unsigned long ANUP:1;
            unsigned long STUP:1;
            unsigned long BMUP:1;
        } BIT;
    } SYRVLDR;
    char           wk4[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long PDFUP2:1;
            unsigned long PDFUP1:1;
            unsigned long PDFUP0:1;
            unsigned long :1;
            unsigned long PDRP2:1;
            unsigned long PDRP1:1;
            unsigned long PDRP0:1;
            unsigned long :1;
            unsigned long PDRQ2:1;
            unsigned long PDRQ1:1;
            unsigned long PDRQ0:1;
            unsigned long :1;
            unsigned long DRP2:1;
            unsigned long DRP1:1;
            unsigned long DRP0:1;
            unsigned long :1;
            unsigned long DRQ2:1;
            unsigned long DRQ1:1;
            unsigned long DRQ0:1;
            unsigned long :1;
            unsigned long FUP2:1;
            unsigned long FUP1:1;
            unsigned long FUP0:1;
            unsigned long :1;
            unsigned long SYNC2:1;
            unsigned long SYNC1:1;
            unsigned long SYNC0:1;
            unsigned long :2;
            unsigned long ANCE1:1;
            unsigned long ANCE0:1;
        } BIT;
    } SYRFL1R;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long ILL1:1;
            unsigned long ILL0:1;
            unsigned long :22;
            unsigned long SIG1:1;
            unsigned long SIG0:1;
            unsigned long :2;
            unsigned long MAN1:1;
            unsigned long MAN0:1;
        } BIT;
    } SYRFL2R;
    union {
        unsigned long LONG;
        struct {
            unsigned long :19;
            unsigned long PDRQ:1;
            unsigned long :3;
            unsigned long DRQ:1;
            unsigned long :3;
            unsigned long SYNC:1;
            unsigned long :3;
            unsigned long ANCE:1;
        } BIT;
    } SYTRENR;
    char           wk5[4];
    unsigned long  MTCIDU;
    unsigned long  MTCIDL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long PNUM:16;
        } BIT;
    } MTPID;
    char           wk6[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DRQ:8;
            unsigned long SYNC:8;
            unsigned long ANCE:8;
        } BIT;
    } SYTLIR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DRP:8;
            unsigned long SYNC:8;
            unsigned long ANCE:8;
        } BIT;
    } SYRLIR;
    unsigned long  OFMRU;
    unsigned long  OFMRL;
    unsigned long  MPDRU;
    unsigned long  MPDRL;
    char           wk7[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long GMPR1:8;
            unsigned long :8;
            unsigned long GMPR2:8;
        } BIT;
    } GMPR;
    unsigned long  GMCQR;
    unsigned long  GMIDRU;
    unsigned long  GMIDRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long CUTO:16;
            unsigned long :8;
            unsigned long TSRC:8;
        } BIT;
    } CUOTSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long SRMV:16;
        } BIT;
    } SRR;
    char           wk8[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } PPMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } PPMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } PDMACRU;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } PDMACRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long TYPE:16;
        } BIT;
    } PETYPER;
    char           wk9[12];
    unsigned long  PPIPR;
    unsigned long  PDIPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long EVTO:8;
        } BIT;
    } PETOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long GETO:8;
        } BIT;
    } PGTOSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long PRTL:8;
        } BIT;
    } PPTTLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long PDTL:8;
        } BIT;
    } PDTTLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long EVUPT:16;
        } BIT;
    } PEUDPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long GEUPT:16;
        } BIT;
    } PGUDPR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :29;
            unsigned long ENB:1;
            unsigned long PRT:1;
            unsigned long SEL:1;
        } BIT;
    } FFLTR;
    char           wk10[28];
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } FMAC0RU;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } FMAC0RL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACU:24;
        } BIT;
    } FMAC1RU;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long MACL:24;
        } BIT;
    } FMAC1RL;
    char           wk11[80];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long ASYMU:16;
        } BIT;
    } DASYMRU;
    unsigned long  DASYMRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long INGP:16;
            unsigned long EGP:16;
        } BIT;
    } TSLATR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :7;
            unsigned long TRAN:1;
            unsigned long :3;
            unsigned long TCMOD:1;
            unsigned long :3;
            unsigned long FILDIS:1;
            unsigned long :3;
            unsigned long SBDIS:1;
            unsigned long :4;
            unsigned long TCYC:8;
        } BIT;
    } SYCONFR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long FORM1:1;
            unsigned long FORM0:1;
        } BIT;
    } SYFORMR;
    unsigned long  RSTOUTR;
};

struct st_etherc {
    union {
        unsigned long LONG;
        struct {
            unsigned long :11;
            unsigned long TPC:1;
            unsigned long ZPF:1;
            unsigned long PFR:1;
            unsigned long RXF:1;
            unsigned long TXF:1;
            unsigned long :3;
            unsigned long PRCEF:1;
            unsigned long :2;
            unsigned long MPDE:1;
            unsigned long :2;
            unsigned long RE:1;
            unsigned long TE:1;
            unsigned long :1;
            unsigned long ILB:1;
            unsigned long RTM:1;
            unsigned long DM:1;
            unsigned long PRM:1;
        } BIT;
    } ECMR;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :20;
            unsigned long RFL:12;
        } BIT;
    } RFLR;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long BFR:1;
            unsigned long PSRTO:1;
            unsigned long :1;
            unsigned long LCHNG:1;
            unsigned long MPD:1;
            unsigned long ICD:1;
        } BIT;
    } ECSR;
    char           wk2[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :26;
            unsigned long BFSIPR:1;
            unsigned long PSRTOIP:1;
            unsigned long :1;
            unsigned long LCHNGIP:1;
            unsigned long MPDIP:1;
            unsigned long ICDIP:1;
        } BIT;
    } ECSIPR;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :28;
            unsigned long MDI:1;
            unsigned long MDO:1;
            unsigned long MMD:1;
            unsigned long MDC:1;
        } BIT;
    } PIR;
    char           wk4[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long LMON:1;
        } BIT;
    } PSR;
    char           wk5[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long :12;
            unsigned long RMD:20;
        } BIT;
    } RDMLR;
    char           wk6[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long :27;
            unsigned long IPG:5;
        } BIT;
    } IPGR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long AP:16;
        } BIT;
    } APR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long MP:16;
        } BIT;
    } MPR;
    char           wk7[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long RPAUSE:8;
        } BIT;
    } RFCF;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long TPAUSE:16;
        } BIT;
    } TPAUSER;
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long TXP:8;
        } BIT;
    } TPAUSECR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long BCF:16;
        } BIT;
    } BCFRR;
    char           wk8[80];
    unsigned long  MAHR;
    char           wk9[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long :16;
            unsigned long MA:16;
        } BIT;
    } MALR;
    char           wk10[4];
    unsigned long  TROCR;
    unsigned long  CDCR;
    unsigned long  LCCR;
    unsigned long  CNDCR;
    char           wk11[4];
    unsigned long  CEFCR;
    unsigned long  FRECR;
    unsigned long  TSFRCR;
    unsigned long  TLFRCR;
    unsigned long  RFCR;
    unsigned long  MAFCR;
};

struct st_exdmac {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DMST:1;
        } BIT;
    } EDMAST;
    char           wk0[479];
    unsigned long  CLSBR0;
    unsigned long  CLSBR1;
    unsigned long  CLSBR2;
    unsigned long  CLSBR3;
    unsigned long  CLSBR4;
    unsigned long  CLSBR5;
    unsigned long  CLSBR6;
    unsigned long  CLSBR7;
};

struct st_exdmac0 {
//    unsigned long  EDMSAR;
//    unsigned long  EDMDAR;
    void          *EDMSAR;
    void          *EDMDAR;    
    unsigned long  EDMCRA;
    unsigned short EDMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short MD:2;
            unsigned short DTS:2;
            unsigned short :2;
            unsigned short SZ:2;
            unsigned short :6;
            unsigned short DCTG:2;
        } BIT;
    } EDMTMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char DACKS:1;
            unsigned char DACKE:1;
            unsigned char DACKW:1;
            unsigned char DACKSEL:1;
        } BIT;
    } EDMOMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char DTIE:1;
            unsigned char ESIE:1;
            unsigned char RPTIE:1;
            unsigned char SARIE:1;
            unsigned char DARIE:1;
        } BIT;
    } EDMINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :14;
            unsigned long AMS:1;
            unsigned long DIR:1;
            unsigned long SM:2;
            unsigned long :1;
            unsigned long SARA:5;
            unsigned long DM:2;
            unsigned long :1;
            unsigned long DARA:5;
        } BIT;
    } EDMAMD;
    unsigned long  EDMOFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTE:1;
        } BIT;
    } EDMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
            unsigned char SWREQ:1;
        } BIT;
    } EDMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACT:1;
            unsigned char :2;
            unsigned char DTIF:1;
            unsigned char :3;
            unsigned char ESIF:1;
        } BIT;
    } EDMSTS;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char DREQS:2;
        } BIT;
    } EDMRMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char EREQ:1;
        } BIT;
    } EDMERF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char PREQ:1;
        } BIT;
    } EDMPRF;
};

struct st_exdmac1 {
//    unsigned long  EDMSAR;
//    unsigned long  EDMDAR;
    void          *EDMSAR;
    void          *EDMDAR;    
    unsigned long  EDMCRA;
    unsigned short EDMCRB;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short MD:2;
            unsigned short DTS:2;
            unsigned short :2;
            unsigned short SZ:2;
            unsigned short :6;
            unsigned short DCTG:2;
        } BIT;
    } EDMTMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char DACKS:1;
            unsigned char DACKE:1;
            unsigned char DACKW:1;
            unsigned char DACKSEL:1;
        } BIT;
    } EDMOMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char DTIE:1;
            unsigned char ESIE:1;
            unsigned char RPTIE:1;
            unsigned char SARIE:1;
            unsigned char DARIE:1;
        } BIT;
    } EDMINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :14;
            unsigned long AMS:1;
            unsigned long DIR:1;
            unsigned long SM:2;
            unsigned long :1;
            unsigned long SARA:5;
            unsigned long DM:2;
            unsigned long :1;
            unsigned long DARA:5;
        } BIT;
    } EDMAMD;
    char           wk1[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTE:1;
        } BIT;
    } EDMCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CLRS:1;
            unsigned char :3;
            unsigned char SWREQ:1;
        } BIT;
    } EDMREQ;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ACT:1;
            unsigned char :2;
            unsigned char DTIF:1;
            unsigned char :3;
            unsigned char ESIF:1;
        } BIT;
    } EDMSTS;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char DREQS:2;
        } BIT;
    } EDMRMD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char EREQ:1;
        } BIT;
    } EDMERF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char PREQ:1;
        } BIT;
    } EDMPRF;
};

struct st_gpt {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char :4;
            unsigned char CST3:1;
            unsigned char CST2:1;
            unsigned char CST1:1;
            unsigned char CST0:1;
        } BIT;
    } GTSTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short NFCS3:2;
            unsigned short NFCS2:2;
            unsigned short NFCS1:2;
            unsigned short NFCS0:2;
            unsigned short NFB3EN:1;
            unsigned short NFA3EN:1;
            unsigned short NFB2EN:1;
            unsigned short NFA2EN:1;
            unsigned short NFB1EN:1;
            unsigned short NFA1EN:1;
            unsigned short NFB0EN:1;
            unsigned short NFA0EN:1;
        } BIT;
    } NFCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CPHW3:2;
            unsigned char CPHW2:2;
            unsigned char CPHW1:2;
            unsigned char CPHW0:2;
            unsigned char CSHW3:2;
            unsigned char CSHW2:2;
            unsigned char CSHW1:2;
            unsigned char CSHW0:2;
        } BIT;
    } GTHSCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :4;
            unsigned char CCSW3:1;
            unsigned char CCSW2:1;
            unsigned char CCSW1:1;
            unsigned char CCSW0:1;
            unsigned char CCHW3:2;
            unsigned char CCHW2:2;
            unsigned char CCHW1:2;
            unsigned char CCHW0:2;
        } BIT;
    } GTHCCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CSHSL3:4;
            unsigned char CSHSL2:4;
            unsigned char CSHSL1:4;
            unsigned char CSHSL0:4;
        } BIT;
    } GTHSSR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char CSHPL3:4;
            unsigned char CSHPL2:4;
            unsigned char CSHPL1:4;
            unsigned char CSHPL0:4;
        } BIT;
    } GTHPSR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char :4;
            unsigned char WP3:1;
            unsigned char WP2:1;
            unsigned char WP1:1;
            unsigned char WP0:1;
        } BIT;
    } GTWP;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :2;
            unsigned char SYNC3:2;
            unsigned char :2;
            unsigned char SYNC2:2;
            unsigned char :2;
            unsigned char SYNC1:2;
            unsigned char :2;
            unsigned char SYNC0:2;
        } BIT;
    } GTSYNC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char GTETRGEN:1;
            unsigned char GTENFCS:2;
            unsigned char :3;
            unsigned char ETINF:1;
            unsigned char ETIPF:1;
            unsigned char :6;
            unsigned char ETINEN:1;
            unsigned char ETIPEN:1;
        } BIT;
    } GTETINT;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char BD33:1;
            unsigned char BD32:1;
            unsigned char BD31:1;
            unsigned char BD30:1;
            unsigned char BD23:1;
            unsigned char BD22:1;
            unsigned char BD21:1;
            unsigned char BD20:1;
            unsigned char BD13:1;
            unsigned char BD12:1;
            unsigned char BD11:1;
            unsigned char BD10:1;
            unsigned char BD03:1;
            unsigned char BD02:1;
            unsigned char BD01:1;
            unsigned char BD00:1;
        } BIT;
    } GTBDR;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char :4;
            unsigned char SWP3:1;
            unsigned char SWP2:1;
            unsigned char SWP1:1;
            unsigned char SWP0:1;
        } BIT;
    } GTSWP;
};

struct st_gpt0 {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char OBHLD:1;
            unsigned char OBDFLT:1;
            unsigned char GTIOB:6;
            unsigned char OAHLD:1;
            unsigned char OADFLT:1;
            unsigned char GTIOA:6;
        } BIT;
    } GTIOR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char ADTRBDEN:1;
            unsigned char ADTRBUEN:1;
            unsigned char ADTRADEN:1;
            unsigned char ADTRAUEN:1;
            unsigned char EINT:1;
            unsigned char :3;
            unsigned char GTINTPR:2;
            unsigned char GTINTF:1;
            unsigned char GTINTE:1;
            unsigned char GTINTD:1;
            unsigned char GTINTC:1;
            unsigned char GTINTB:1;
            unsigned char GTINTA:1;
        } BIT;
    } GTINTAD;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :2;
            unsigned char CCLR:2;
            unsigned char :2;
            unsigned char TPCS:2;
            unsigned char :5;
            unsigned char MD:3;
        } BIT;
    } GTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :1;
            unsigned char ADTDB:1;
            unsigned char ADTTB:2;
            unsigned char :1;
            unsigned char ADTDA:1;
            unsigned char ADTTA:2;
            unsigned char :1;
            unsigned char CCRSWT:1;
            unsigned char PR:2;
            unsigned char CCRB:2;
            unsigned char CCRA:2;
        } BIT;
    } GTBER;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char :6;
            unsigned char UDF:1;
            unsigned char UD:1;
        } BIT;
    } GTUDC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :1;
            unsigned char ADTBL:1;
            unsigned char :1;
            unsigned char ADTAL:1;
            unsigned char :1;
            unsigned char IVTT:3;
            unsigned char IVTC:2;
            unsigned char ITLF:1;
            unsigned char ITLE:1;
            unsigned char ITLD:1;
            unsigned char ITLC:1;
            unsigned char ITLB:1;
            unsigned char ITLA:1;
        } BIT;
    } GTITC;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char TUCF:1;
            unsigned char :3;
            unsigned char DTEF:1;
            unsigned char ITCNT:3;
            unsigned char TCFPU:1;
            unsigned char TCFPO:1;
            unsigned char TCFF:1;
            unsigned char TCFE:1;
            unsigned char TCFD:1;
            unsigned char TCFC:1;
            unsigned char TCFB:1;
            unsigned char TCFA:1;
        } BIT;
    } GTST;
    unsigned short GTCNT;
    unsigned short GTCCRA;
    unsigned short GTCCRB;
    unsigned short GTCCRC;
    unsigned short GTCCRD;
    unsigned short GTCCRE;
    unsigned short GTCCRF;
    unsigned short GTPR;
    unsigned short GTPBR;
    unsigned short GTPDBR;
    char           wk0[2];
    unsigned short GTADTRA;
    unsigned short GTADTBRA;
    unsigned short GTADTDBRA;
    char           wk1[2];
    unsigned short GTADTRB;
    unsigned short GTADTBRB;
    unsigned short GTADTDBRB;
    char           wk2[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short OBE:1;
            unsigned short OAE:1;
            unsigned short :1;
            unsigned short SWN:1;
            unsigned short :3;
            unsigned short NFV:1;
            unsigned short NFS:4;
            unsigned short NVB:1;
            unsigned short NVA:1;
            unsigned short NEB:1;
            unsigned short NEA:1;
        } BIT;
    } GTONCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :7;
            unsigned short TDFER:1;
            unsigned short :2;
            unsigned short TDBDE:1;
            unsigned short TDBUE:1;
            unsigned short :3;
            unsigned short TDE:1;
        } BIT;
    } GTDTCR;
    unsigned short GTDVU;
    unsigned short GTDVD;
    unsigned short GTDBU;
    unsigned short GTDBD;
    union {
        unsigned short WORD;
        struct {
            unsigned short :14;
            unsigned short SOS:2;
        } BIT;
    } GTSOS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short SOTR:1;
        } BIT;
    } GTSOTR;
};

struct st_icu {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char IR:1;
        } BIT;
    } IR[256];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DTCE:1;
        } BIT;
    } DTCER[256];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IEN7:1;
            unsigned char IEN6:1;
            unsigned char IEN5:1;
            unsigned char IEN4:1;
            unsigned char IEN3:1;
            unsigned char IEN2:1;
            unsigned char IEN1:1;
            unsigned char IEN0:1;
        } BIT;
    } IER[32];
    char           wk0[192];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SWINT:1;
        } BIT;
    } SWINTR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SWINT2:1;
        } BIT;
    } SWINT2R;
    char           wk1[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short FIEN:1;
            unsigned short :7;
            unsigned short FVCT:8;
        } BIT;
    } FIR;
    char           wk2[14];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char IPR:4;
        } BIT;
    } IPR[256];
    unsigned char  DMRSR0;
    char           wk3[3];
    unsigned char  DMRSR1;
    char           wk4[3];
    unsigned char  DMRSR2;
    char           wk5[3];
    unsigned char  DMRSR3;
    char           wk6[3];
    unsigned char  DMRSR4;
    char           wk7[3];
    unsigned char  DMRSR5;
    char           wk8[3];
    unsigned char  DMRSR6;
    char           wk9[3];
    unsigned char  DMRSR7;
    char           wk10[227];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR0;
//    char           wk3[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR1;
//    char           wk4[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR2;
//    char           wk5[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR3;
//    char           wk6[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR4;
//    char           wk7[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR5;
//    char           wk8[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR6;
//    char           wk9[3];
//    union {
//        unsigned char BYTE;
//        struct {
//            unsigned char DMRS:8;
//        } BIT;
//    } DMRSR7;
//    char           wk10[227];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char IRQMD:2;
        } BIT;
    } IRQCR[16];
    char           wk11[16];
    union {
        unsigned char BYTE;
        struct {
            unsigned char FLTEN7:1;
            unsigned char FLTEN6:1;
            unsigned char FLTEN5:1;
            unsigned char FLTEN4:1;
            unsigned char FLTEN3:1;
            unsigned char FLTEN2:1;
            unsigned char FLTEN1:1;
            unsigned char FLTEN0:1;
        } BIT;
    } IRQFLTE0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FLTEN15:1;
            unsigned char FLTEN14:1;
            unsigned char FLTEN13:1;
            unsigned char FLTEN12:1;
            unsigned char FLTEN11:1;
            unsigned char FLTEN10:1;
            unsigned char FLTEN9:1;
            unsigned char FLTEN8:1;
        } BIT;
    } IRQFLTE1;
    char           wk12[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short FCLKSEL7:2;
            unsigned short FCLKSEL6:2;
            unsigned short FCLKSEL5:2;
            unsigned short FCLKSEL4:2;
            unsigned short FCLKSEL3:2;
            unsigned short FCLKSEL2:2;
            unsigned short FCLKSEL1:2;
            unsigned short FCLKSEL0:2;
        } BIT;
    } IRQFLTC0;
    union {
        unsigned short WORD;
        struct {
            unsigned short FCLKSEL15:2;
            unsigned short FCLKSEL14:2;
            unsigned short FCLKSEL13:2;
            unsigned short FCLKSEL12:2;
            unsigned short FCLKSEL11:2;
            unsigned short FCLKSEL10:2;
            unsigned short FCLKSEL9:2;
            unsigned short FCLKSEL8:2;
        } BIT;
    } IRQFLTC1;
    char           wk13[84];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ECCRAMST:1;
            unsigned char LVD2ST:1;
            unsigned char LVD1ST:1;
            unsigned char IWDTST:1;
            unsigned char WDTST:1;
            unsigned char OSTST:1;
            unsigned char NMIST:1;
        } BIT;
    } NMISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ECCRAMEN:1;
            unsigned char LVD2EN:1;
            unsigned char LVD1EN:1;
            unsigned char IWDTEN:1;
            unsigned char WDTEN:1;
            unsigned char OSTEN:1;
            unsigned char NMIEN:1;
        } BIT;
    } NMIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ECCRAMCLR:1;
            unsigned char LVD2CLR:1;
            unsigned char LVD1CLR:1;
            unsigned char IWDTCLR:1;
            unsigned char WDTCLR:1;
            unsigned char OSTCLR:1;
            unsigned char NMICLR:1;
        } BIT;
    } NMICLR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char NMIMD:1;
        } BIT;
    } NMICR;
    char           wk14[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char NFLTEN:1;
        } BIT;
    } NMIFLTE;
    char           wk15[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char NFCLKSEL:2;
        } BIT;
    } NMIFLTC;
    char           wk16[107];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPBE1;
    char           wk17[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPBL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPBL1;
    char           wk18[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENBE1;
    char           wk19[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENBL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENBL1;
    char           wk20[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR31:1;
            unsigned long CLR30:1;
            unsigned long CLR29:1;
            unsigned long CLR28:1;
            unsigned long CLR27:1;
            unsigned long CLR26:1;
            unsigned long CLR25:1;
            unsigned long CLR24:1;
            unsigned long CLR23:1;
            unsigned long CLR22:1;
            unsigned long CLR21:1;
            unsigned long CLR20:1;
            unsigned long CLR19:1;
            unsigned long CLR18:1;
            unsigned long CLR17:1;
            unsigned long CLR16:1;
            unsigned long CLR15:1;
            unsigned long CLR14:1;
            unsigned long CLR13:1;
            unsigned long CLR12:1;
            unsigned long CLR11:1;
            unsigned long CLR10:1;
            unsigned long CLR9:1;
            unsigned long CLR8:1;
            unsigned long CLR7:1;
            unsigned long CLR6:1;
            unsigned long CLR5:1;
            unsigned long CLR4:1;
            unsigned long CLR3:1;
            unsigned long CLR2:1;
            unsigned long CLR1:1;
            unsigned long CLR0:1;
        } BIT;
    } GCREBE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR31:1;
            unsigned long CLR30:1;
            unsigned long CLR29:1;
            unsigned long CLR28:1;
            unsigned long CLR27:1;
            unsigned long CLR26:1;
            unsigned long CLR25:1;
            unsigned long CLR24:1;
            unsigned long CLR23:1;
            unsigned long CLR22:1;
            unsigned long CLR21:1;
            unsigned long CLR20:1;
            unsigned long CLR19:1;
            unsigned long CLR18:1;
            unsigned long CLR17:1;
            unsigned long CLR16:1;
            unsigned long CLR15:1;
            unsigned long CLR14:1;
            unsigned long CLR13:1;
            unsigned long CLR12:1;
            unsigned long CLR11:1;
            unsigned long CLR10:1;
            unsigned long CLR9:1;
            unsigned long CLR8:1;
            unsigned long CLR7:1;
            unsigned long CLR6:1;
            unsigned long CLR5:1;
            unsigned long CLR4:1;
            unsigned long CLR3:1;
            unsigned long CLR2:1;
            unsigned long CLR1:1;
            unsigned long CLR0:1;
        } BIT;
    } GCREBE1;
    char           wk21[120];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR4;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR5;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR6;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR8;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBR9;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIBRA;
    char           wk22[117];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR128;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR129;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR130;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR131;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR132;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR133;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR134;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR135;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR136;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR137;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR138;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR139;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR140;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR141;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR142;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBXR143;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR144;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR145;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR146;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR147;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR148;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR149;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR150;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR151;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR152;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR153;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR154;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR155;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR156;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR157;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR158;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR159;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR160;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR161;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR162;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR163;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR164;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR165;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR166;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR167;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR168;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR169;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR170;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR171;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR172;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR173;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR174;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR175;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR176;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR177;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR178;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR179;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR180;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR181;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR182;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR183;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR184;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR185;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR186;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR187;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR188;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR189;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR190;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR191;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR192;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR193;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR194;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR195;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR196;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR197;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR198;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR199;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR200;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR201;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR202;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR203;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR204;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR205;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR206;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIBR207;
    char           wk23[48];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPAE1;
    char           wk24[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPAL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long IS31:1;
            unsigned long IS30:1;
            unsigned long IS29:1;
            unsigned long IS28:1;
            unsigned long IS27:1;
            unsigned long IS26:1;
            unsigned long IS25:1;
            unsigned long IS24:1;
            unsigned long IS23:1;
            unsigned long IS22:1;
            unsigned long IS21:1;
            unsigned long IS20:1;
            unsigned long IS19:1;
            unsigned long IS18:1;
            unsigned long IS17:1;
            unsigned long IS16:1;
            unsigned long IS15:1;
            unsigned long IS14:1;
            unsigned long IS13:1;
            unsigned long IS12:1;
            unsigned long IS11:1;
            unsigned long IS10:1;
            unsigned long IS9:1;
            unsigned long IS8:1;
            unsigned long IS7:1;
            unsigned long IS6:1;
            unsigned long IS5:1;
            unsigned long IS4:1;
            unsigned long IS3:1;
            unsigned long IS2:1;
            unsigned long IS1:1;
            unsigned long IS0:1;
        } BIT;
    } GRPAL1;
    char           wk25[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENAE1;
    char           wk26[40];
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENAL0;
    union {
        unsigned long LONG;
        struct {
            unsigned long EN31:1;
            unsigned long EN30:1;
            unsigned long EN29:1;
            unsigned long EN28:1;
            unsigned long EN27:1;
            unsigned long EN26:1;
            unsigned long EN25:1;
            unsigned long EN24:1;
            unsigned long EN23:1;
            unsigned long EN22:1;
            unsigned long EN21:1;
            unsigned long EN20:1;
            unsigned long EN19:1;
            unsigned long EN18:1;
            unsigned long EN17:1;
            unsigned long EN16:1;
            unsigned long EN15:1;
            unsigned long EN14:1;
            unsigned long EN13:1;
            unsigned long EN12:1;
            unsigned long EN11:1;
            unsigned long EN10:1;
            unsigned long EN9:1;
            unsigned long EN8:1;
            unsigned long EN7:1;
            unsigned long EN6:1;
            unsigned long EN5:1;
            unsigned long EN4:1;
            unsigned long EN3:1;
            unsigned long EN2:1;
            unsigned long EN1:1;
            unsigned long EN0:1;
        } BIT;
    } GENAL1;
    char           wk27[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR31:1;
            unsigned long CLR30:1;
            unsigned long CLR29:1;
            unsigned long CLR28:1;
            unsigned long CLR27:1;
            unsigned long CLR26:1;
            unsigned long CLR25:1;
            unsigned long CLR24:1;
            unsigned long CLR23:1;
            unsigned long CLR22:1;
            unsigned long CLR21:1;
            unsigned long CLR20:1;
            unsigned long CLR19:1;
            unsigned long CLR18:1;
            unsigned long CLR17:1;
            unsigned long CLR16:1;
            unsigned long CLR15:1;
            unsigned long CLR14:1;
            unsigned long CLR13:1;
            unsigned long CLR12:1;
            unsigned long CLR11:1;
            unsigned long CLR10:1;
            unsigned long CLR9:1;
            unsigned long CLR8:1;
            unsigned long CLR7:1;
            unsigned long CLR6:1;
            unsigned long CLR5:1;
            unsigned long CLR4:1;
            unsigned long CLR3:1;
            unsigned long CLR2:1;
            unsigned long CLR1:1;
            unsigned long CLR0:1;
        } BIT;
    } GCREAE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long CLR31:1;
            unsigned long CLR30:1;
            unsigned long CLR29:1;
            unsigned long CLR28:1;
            unsigned long CLR27:1;
            unsigned long CLR26:1;
            unsigned long CLR25:1;
            unsigned long CLR24:1;
            unsigned long CLR23:1;
            unsigned long CLR22:1;
            unsigned long CLR21:1;
            unsigned long CLR20:1;
            unsigned long CLR19:1;
            unsigned long CLR18:1;
            unsigned long CLR17:1;
            unsigned long CLR16:1;
            unsigned long CLR15:1;
            unsigned long CLR14:1;
            unsigned long CLR13:1;
            unsigned long CLR12:1;
            unsigned long CLR11:1;
            unsigned long CLR10:1;
            unsigned long CLR9:1;
            unsigned long CLR8:1;
            unsigned long CLR7:1;
            unsigned long CLR6:1;
            unsigned long CLR5:1;
            unsigned long CLR4:1;
            unsigned long CLR3:1;
            unsigned long CLR2:1;
            unsigned long CLR1:1;
            unsigned long CLR0:1;
        } BIT;
    } GCREAE1;
    char           wk28[120];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR4;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR5;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR6;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR8;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIAR9;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIARA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIR7:1;
            unsigned char PIR6:1;
            unsigned char PIR5:1;
            unsigned char PIR4:1;
            unsigned char PIR3:1;
            unsigned char PIR2:1;
            unsigned char PIR1:1;
            unsigned char PIR0:1;
        } BIT;
    } PIARB;
    char           wk29[196];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR208;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR209;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR210;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR211;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR212;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR213;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR214;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR215;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR216;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR217;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR218;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR219;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR220;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR221;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR222;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR223;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR224;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR225;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR226;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR227;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR228;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR229;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR230;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR231;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR232;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR233;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR234;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR235;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR236;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR237;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR238;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR239;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR240;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR241;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR242;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR243;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR244;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR245;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR246;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR247;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR248;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR249;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR250;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR251;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR252;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR253;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR254;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLI:8;
        } BIT;
    } SLIAR255;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char WPRC:1;
        } BIT;
    } SLIPRCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char SELEXD1:1;
            unsigned char SELEXD0:1;
        } BIT;
    } SELEXDR;
};

struct st_iwdt {
    unsigned char  IWDTRR;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short RPSS:2;
            unsigned short :2;
            unsigned short RPES:2;
            unsigned short CKS:4;
            unsigned short :2;
            unsigned short TOPS:2;
        } BIT;
    } IWDTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short REFEF:1;
            unsigned short UNDFF:1;
            unsigned short CNTVAL:14;
        } BIT;
    } IWDTSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RSTIRQS:1;
        } BIT;
    } IWDTRCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char SLCSTP:1;
        } BIT;
    } IWDTCSTPR;
};

struct st_mmc {
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long BOOT:1;
            unsigned long CMD:6;
            unsigned long RTYP:2;
            unsigned long RBSY:1;
            unsigned long :1;
            unsigned long WDAT:1;
            unsigned long DWEN:1;
            unsigned long CMLTE:1;
            unsigned long CMD12EN:1;
            unsigned long RIDXC:2;
            unsigned long RCRC7C:2;
            unsigned long :1;
            unsigned long CRC16C:1;
            unsigned long BOOTACK:1;
            unsigned long CRCSTE:1;
            unsigned long TBIT:1;
            unsigned long OPDM:1;
            unsigned long :2;
            unsigned long SBIT:1;
            unsigned long :1;
            unsigned long DATW:2;
        } BIT;
    } CECMDSET;
    char           wk0[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long ARG:32;
        } BIT;
    } CEARG;
    union {
        unsigned long LONG;
        struct {
            unsigned long C12ARG:32;
        } BIT;
    } CEARGCMD12;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long BREAK:1;
        } BIT;
    } CECMDCTRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long BLKCNT:16;
            unsigned long BLKSZ:16;
        } BIT;
    } CEBLOCKSET;
    union {
        unsigned long LONG;
        struct {
            unsigned long MMCBUSBSY:1;
            unsigned long :6;
            unsigned long CLKEN:1;
            unsigned long :4;
            unsigned long CLKDIV:4;
            unsigned long :2;
            unsigned long SRSTPO:2;
            unsigned long SRBSYTO:4;
            unsigned long SRWDTO:4;
        } BIT;
    } CECLKCTRL;
    union {
        unsigned long LONG;
        struct {
            unsigned long :5;
            unsigned long DMATYP:1;
            unsigned long DMAWEN:1;
            unsigned long DMAREN:1;
            unsigned long :7;
            unsigned long ATYP:1;
        } BIT;
    } CEBUFACC;
    unsigned long  CERESP3;
    unsigned long  CERESP2;
    unsigned long  CERESP1;
    unsigned long  CERESP0;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSP12:32;
        } BIT;
    } CERESPCMD12;
    union {
        unsigned long LONG;
        struct {
            unsigned long DATA:32;
        } BIT;
    } CEDATA;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long SBTCLKDIV:4;
            unsigned long SBTACKTO:4;
            unsigned long S1STBTDATTO:4;
            unsigned long SBTDATTO:4;
        } BIT;
    } CEBOOT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :5;
            unsigned long CMD12DRE:1;
            unsigned long CMD12RBE:1;
            unsigned long CMD12CRE:1;
            unsigned long DTRANE:1;
            unsigned long BUFRE:1;
            unsigned long BUFWEN:1;
            unsigned long BUFREN:1;
            unsigned long :2;
            unsigned long RBSYE:1;
            unsigned long CRSPE:1;
            unsigned long CMDVIO:1;
            unsigned long BUFVIO:1;
            unsigned long :2;
            unsigned long WDATERR:1;
            unsigned long RDATERR:1;
            unsigned long RIDXERR:1;
            unsigned long RSPERR:1;
            unsigned long :3;
            unsigned long CRCSTO:1;
            unsigned long WDATTO:1;
            unsigned long RDATTO:1;
            unsigned long RBSYTO:1;
            unsigned long RSPTO:1;
        } BIT;
    } CEINT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :5;
            unsigned long MCMD12DRE:1;
            unsigned long MCMD12RBE:1;
            unsigned long MCMD12CRE:1;
            unsigned long MDTRANE:1;
            unsigned long MBUFRE:1;
            unsigned long MBUFWEN:1;
            unsigned long MBUFREN:1;
            unsigned long :2;
            unsigned long MRBSYE:1;
            unsigned long MCRSPE:1;
            unsigned long MCMDVIO:1;
            unsigned long MBUFVIO:1;
            unsigned long :2;
            unsigned long MWDATERR:1;
            unsigned long MRDATERR:1;
            unsigned long MRIDXERR:1;
            unsigned long MRSPERR:1;
            unsigned long :3;
            unsigned long MCRCSTO:1;
            unsigned long MWDATTO:1;
            unsigned long MRDATTO:1;
            unsigned long MRBSYTO:1;
            unsigned long MRSPTO:1;
        } BIT;
    } CEINTEN;
    union {
        unsigned long LONG;
        struct {
            unsigned long CMDSEQ:1;
            unsigned long CMDSIG:1;
            unsigned long RSPIDX:6;
            unsigned long DATSIG:8;
            unsigned long RCVBLK:16;
        } BIT;
    } CEHOSTSTS1;
    union {
        unsigned long LONG;
        struct {
            unsigned long CRCSTE:1;
            unsigned long CRC16E:1;
            unsigned long AC12CRCE:1;
            unsigned long RSPCRC7E:1;
            unsigned long CRCSTEBE:1;
            unsigned long RDATEBE:1;
            unsigned long AC12REBE:1;
            unsigned long RSPEBE:1;
            unsigned long AC12IDXE:1;
            unsigned long RSPIDXE:1;
            unsigned long BTACKPATE:1;
            unsigned long BTACKEBE:1;
            unsigned long :1;
            unsigned long CRCST:3;
            unsigned long :1;
            unsigned long STRDATTO:1;
            unsigned long DATBSYTO:1;
            unsigned long CRCSTTO:1;
            unsigned long AC12BSYTO:1;
            unsigned long RSPBSYTO:1;
            unsigned long AC12RSPTO:1;
            unsigned long STRSPTO:1;
            unsigned long BTACKTO:1;
            unsigned long STBTDATTO:1;
            unsigned long BTDATTO:1;
        } BIT;
    } CEHOSTSTS2;
    char           wk2[32];
    union {
        unsigned long LONG;
        struct {
            unsigned long :17;
            unsigned long CDSIG:1;
            unsigned long CDRISE:1;
            unsigned long CDFALL:1;
            unsigned long :6;
            unsigned long MCDRISE:1;
            unsigned long MCDFALL:1;
        } BIT;
    } CEDETECT;
    union {
        unsigned long LONG;
        struct {
            unsigned long :10;
            unsigned long RESNOUT:1;
            unsigned long :1;
            unsigned long CLKMAIN:1;
        } BIT;
    } CEADDMODE;
    char           wk3[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long SWRST:1;
            unsigned long :15;
            unsigned long VERSION:16;
        } BIT;
    } CEVERSION;
};

struct st_mpc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS7E:1;
            unsigned char CS6E:1;
            unsigned char CS5E:1;
            unsigned char CS4E:1;
            unsigned char CS3E:1;
            unsigned char CS2E:1;
            unsigned char CS1E:1;
            unsigned char CS0E:1;
        } BIT;
    } PFCSE;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS3S:2;
            unsigned char CS2S:2;
            unsigned char CS1S:2;
            unsigned char :1;
            unsigned char CS0S:1;
        } BIT;
    } PFCSS0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CS7S:2;
            unsigned char CS6S:2;
            unsigned char CS5S:2;
            unsigned char CS4S:2;
        } BIT;
    } PFCSS1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char A15E:1;
            unsigned char A14E:1;
            unsigned char A13E:1;
            unsigned char A12E:1;
            unsigned char A11E:1;
            unsigned char A10E:1;
            unsigned char A9E:1;
            unsigned char A8E:1;
        } BIT;
    } PFAOE0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char A23E:1;
            unsigned char A22E:1;
            unsigned char A21E:1;
            unsigned char A20E:1;
            unsigned char A19E:1;
            unsigned char A18E:1;
            unsigned char A17E:1;
            unsigned char A16E:1;
        } BIT;
    } PFAOE1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char WR32BC32E:1;
            unsigned char WR1BC1E:1;
            unsigned char DH32E:1;
            unsigned char DHE:1;
            unsigned char BCLKO:1;
            unsigned char :1;
            unsigned char ADRHMS:1;
            unsigned char ADRLE:1;
        } BIT;
    } PFBCR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SDCLKE:1;
            unsigned char DQM1E:1;
            unsigned char :1;
            unsigned char MDSDE:1;
            unsigned char ALES:1;
            unsigned char ALEOE:1;
            unsigned char WAITS:2;
        } BIT;
    } PFBCR1;
    char           wk1[6];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PHYMODE1:1;
            unsigned char PHYMODE0:1;
        } BIT;
    } PFENET;
    char           wk2[16];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B0WI:1;
            unsigned char PFSWE:1;
        } BIT;
    } PWPR;
    char           wk3[32];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P00PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P01PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P02PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P03PFS;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P05PFS;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P07PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P10PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P11PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P12PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P13PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P14PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P15PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P16PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P17PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P20PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P21PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P22PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P23PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P24PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P25PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P26PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P27PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P30PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P31PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P32PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P33PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P34PFS;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P40PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P41PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P42PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P43PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P44PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P45PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P46PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
        } BIT;
    } P47PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P50PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P51PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P52PFS;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P54PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P55PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P56PFS;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P60PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P61PFS;
    char           wk9[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P66PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } P67PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P70PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P71PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P72PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P73PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P74PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P75PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P76PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P77PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P80PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P81PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P82PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P83PFS;
    char           wk10[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P86PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } P87PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P90PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P91PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P92PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P93PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P94PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P95PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P96PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char :1;
            unsigned char PSEL:6;
        } BIT;
    } P97PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PA7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PB7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PC7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PD7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ASEL:1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PE7PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PF0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PF1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PF2PFS;
    char           wk11[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char ISEL:1;
            unsigned char PSEL:6;
        } BIT;
    } PF5PFS;
    char           wk12[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG0PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG1PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG2PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG3PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG4PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG5PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG6PFS;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PG7PFS;
    char           wk13[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PJ3PFS;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char PSEL:6;
        } BIT;
    } PJ5PFS;
};

struct st_mpu {
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE0;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE1;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE1;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE2;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE2;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE3;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE3;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE4;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE4;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE5;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE5;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE6;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE6;
    union {
        unsigned long LONG;
        struct {
            unsigned long RSPN:28;
        } BIT;
    } RSPAGE7;
    union {
        unsigned long LONG;
        struct {
            unsigned long REPN:28;
            unsigned long UAC:3;
            unsigned long V:1;
        } BIT;
    } REPAGE7;
    char           wk0[192];
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long MPEN:1;
        } BIT;
    } MPEN;
    union {
        unsigned long LONG;
        struct {
            unsigned long :28;
            unsigned long UBAC:3;
        } BIT;
    } MPBAC;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long CLR:1;
        } BIT;
    } MPECLR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :29;
            unsigned long DRW:1;
            unsigned long DA:1;
            unsigned long IA:1;
        } BIT;
    } MPESTS;
    char           wk1[4];
    union {
        unsigned long LONG;
        struct {
            unsigned long DEA:32;
        } BIT;
    } MPDEA;
    char           wk2[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long SA:32;
        } BIT;
    } MPSA;
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short S:1;
        } BIT;
    } MPOPS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short INV:1;
        } BIT;
    } MPOPI;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long HITI:8;
            unsigned long :12;
            unsigned long UHACI:3;
        } BIT;
    } MHITI;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long HITD:8;
            unsigned long :12;
            unsigned long UHACD:3;
        } BIT;
    } MHITD;
};

struct st_mtu {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char OE4D:1;
            unsigned char OE4C:1;
            unsigned char OE3D:1;
            unsigned char OE4B:1;
            unsigned char OE4A:1;
            unsigned char OE3B:1;
        } BIT;
    } TOERA;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char BDC:1;
            unsigned char N:1;
            unsigned char P:1;
            unsigned char FB:1;
            unsigned char WF:1;
            unsigned char VF:1;
            unsigned char UF:1;
        } BIT;
    } TGCRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSYE:1;
            unsigned char :2;
            unsigned char TOCL:1;
            unsigned char TOCS:1;
            unsigned char OLSN:1;
            unsigned char OLSP:1;
        } BIT;
    } TOCR1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BF:2;
            unsigned char OLS3N:1;
            unsigned char OLS3P:1;
            unsigned char OLS2N:1;
            unsigned char OLS2P:1;
            unsigned char OLS1N:1;
            unsigned char OLS1P:1;
        } BIT;
    } TOCR2A;
    char           wk1[4];
    unsigned short TCDRA;
    unsigned short TDDRA;
    char           wk2[8];
    unsigned short TCNTSA;
    unsigned short TCBRA;
    char           wk3[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char T3AEN:1;
            unsigned char T3ACOR:3;
            unsigned char T4VEN:1;
            unsigned char T4VCOR:3;
        } BIT;
    } TITCR1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char T3ACNT:3;
            unsigned char :1;
            unsigned char T4VCNT:3;
        } BIT;
    } TITCNT1A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char BTE:2;
        } BIT;
    } TBTERA;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TDER:1;
        } BIT;
    } TDERA;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char OLS3N:1;
            unsigned char OLS3P:1;
            unsigned char OLS2N:1;
            unsigned char OLS2P:1;
            unsigned char OLS1N:1;
            unsigned char OLS1P:1;
        } BIT;
    } TOLBRA;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TITM:1;
        } BIT;
    } TITMRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TRG4COR:3;
        } BIT;
    } TITCR2A;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TRG4CNT:3;
        } BIT;
    } TITCNT2A;
    char           wk7[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCE:1;
            unsigned char :5;
            unsigned char SCC:1;
            unsigned char WRE:1;
        } BIT;
    } TWCRA;
    char           wk8[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DRS:1;
        } BIT;
    } TMDR2A;
    char           wk9[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CST4:1;
            unsigned char CST3:1;
            unsigned char :2;
            unsigned char CST8:1;
            unsigned char CST2:1;
            unsigned char CST1:1;
            unsigned char CST0:1;
        } BIT;
    } TSTRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SYNC4:1;
            unsigned char SYNC3:1;
            unsigned char :3;
            unsigned char SYNC2:1;
            unsigned char SYNC1:1;
            unsigned char SYNC0:1;
        } BIT;
    } TSYRA;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SCH0:1;
            unsigned char SCH1:1;
            unsigned char SCH2:1;
            unsigned char SCH3:1;
            unsigned char SCH4:1;
            unsigned char :1;
            unsigned char SCH6:1;
            unsigned char SCH7:1;
        } BIT;
    } TCSYSTR;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RWE:1;
        } BIT;
    } TRWERA;
    char           wk11[1925];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char OE7D:1;
            unsigned char OE7C:1;
            unsigned char OE6D:1;
            unsigned char OE7B:1;
            unsigned char OE7A:1;
            unsigned char OE6B:1;
        } BIT;
    } TOERB;
    char           wk12[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PSYE:1;
            unsigned char :2;
            unsigned char TOCL:1;
            unsigned char TOCS:1;
            unsigned char OLSN:1;
            unsigned char OLSP:1;
        } BIT;
    } TOCR1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BF:2;
            unsigned char OLS3N:1;
            unsigned char OLS3P:1;
            unsigned char OLS2N:1;
            unsigned char OLS2P:1;
            unsigned char OLS1N:1;
            unsigned char OLS1P:1;
        } BIT;
    } TOCR2B;
    char           wk13[4];
    unsigned short TCDRB;
    unsigned short TDDRB;
    char           wk14[8];
    unsigned short TCNTSB;
    unsigned short TCBRB;
    char           wk15[12];
    union {
        unsigned char BYTE;
        struct {
            unsigned char T6AEN:1;
            unsigned char T6ACOR:3;
            unsigned char T7VEN:1;
            unsigned char T7VCOR:3;
        } BIT;
    } TITCR1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char T6ACNT:3;
            unsigned char :1;
            unsigned char T7VCNT:3;
        } BIT;
    } TITCNT1B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char BTE:2;
        } BIT;
    } TBTERB;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TDER:1;
        } BIT;
    } TDERB;
    char           wk17[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char OLS3N:1;
            unsigned char OLS3P:1;
            unsigned char OLS2N:1;
            unsigned char OLS2P:1;
            unsigned char OLS1N:1;
            unsigned char OLS1P:1;
        } BIT;
    } TOLBRB;
    char           wk18[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TITM:1;
        } BIT;
    } TITMRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TRG7COR:3;
        } BIT;
    } TITCR2B;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TRG7CNT:3;
        } BIT;
    } TITCNT2B;
    char           wk19[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCE:1;
            unsigned char :5;
            unsigned char SCC:1;
            unsigned char WRE:1;
        } BIT;
    } TWCRB;
    char           wk20[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DRS:1;
        } BIT;
    } TMDR2B;
    char           wk21[15];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CST7:1;
            unsigned char CST6:1;
        } BIT;
    } TSTRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SYNC7:1;
            unsigned char SYNC6:1;
        } BIT;
    } TSYRB;
    char           wk22[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RWE:1;
        } BIT;
    } TRWERB;
};

struct st_mtu0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR0;
    char           wk0[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCRC;
    char           wk1[102];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char BFE:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk2[16];
    unsigned short TGRE;
    unsigned short TGRF;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE2:1;
            unsigned char :5;
            unsigned char TGIEF:1;
            unsigned char TGIEE:1;
        } BIT;
    } TIER2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TGFF:1;
            unsigned char TGFE:1;
        } BIT;
    } TSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TTSE:1;
            unsigned char TTSB:1;
            unsigned char TTSA:1;
        } BIT;
    } TBTM;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
};

struct st_mtu1 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR1;
    char           wk1[238];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char CCLR:2;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk3[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char I2BE:1;
            unsigned char I2AE:1;
            unsigned char I1BE:1;
            unsigned char I1AE:1;
        } BIT;
    } TICCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char PHCKSEL:1;
            unsigned char LWA:1;
        } BIT;
    } TMDR3;
    char           wk4[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char PCB:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk5[11];
    unsigned long  TCNTLW;
    unsigned long  TGRALW;
    unsigned long  TGRBLW;
};

struct st_mtu2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR2;
    char           wk0[365];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char CCLR:2;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char :2;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char :2;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char PCB:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
};

struct st_mtu3 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    char           wk3[7];
    unsigned short TCNT;
    char           wk4[6];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk5[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk6[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    char           wk7[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TTSB:1;
            unsigned char TTSA:1;
        } BIT;
    } TBTM;
    char           wk8[19];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk9[37];
    unsigned short TGRE;
    char           wk10[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR3;
};

struct st_mtu4 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char TTGE2:1;
            unsigned char :1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    char           wk4[8];
    unsigned short TCNT;
    char           wk5[8];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk6[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    char           wk8[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TTSB:1;
            unsigned char TTSA:1;
        } BIT;
    } TBTM;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short BF:2;
            unsigned short :6;
            unsigned short UT4AE:1;
            unsigned short DT4AE:1;
            unsigned short UT4BE:1;
            unsigned short DT4BE:1;
            unsigned short ITA3AE:1;
            unsigned short ITA4VE:1;
            unsigned short ITB3AE:1;
            unsigned short ITB4VE:1;
        } BIT;
    } TADCR;
    char           wk10[2];
    unsigned short TADCORA;
    unsigned short TADCORB;
    unsigned short TADCOBRA;
    unsigned short TADCOBRB;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk12[38];
    unsigned short TGRE;
    unsigned short TGRF;
    char           wk13[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR4;
};

struct st_mtu5 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char :1;
            unsigned char NFWEN:1;
            unsigned char NFVEN:1;
            unsigned char NFUEN:1;
        } BIT;
    } NFCR5;
    char           wk1[2538];
    unsigned short TCNTU;
    unsigned short TGRU;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TPSC:2;
        } BIT;
    } TCRU;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CKEG:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2U;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char IOC:5;
        } BIT;
    } TIORU;
    char           wk2[9];
    unsigned short TCNTV;
    unsigned short TGRV;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TPSC:2;
        } BIT;
    } TCRV;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CKEG:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2V;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char IOC:5;
        } BIT;
    } TIORV;
    char           wk3[9];
    unsigned short TCNTW;
    unsigned short TGRW;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TPSC:2;
        } BIT;
    } TCRW;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char CKEG:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2W;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char IOC:5;
        } BIT;
    } TIORW;
    char           wk4[9];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char CMFU5:1;
            unsigned char CMFV5:1;
            unsigned char CMFW5:1;
        } BIT;
    } TSR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TGIE5U:1;
            unsigned char TGIE5V:1;
            unsigned char TGIE5W:1;
        } BIT;
    } TIER;
    char           wk6[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char CSTU5:1;
            unsigned char CSTV5:1;
            unsigned char CSTW5:1;
        } BIT;
    } TSTR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char CMPCLR5U:1;
            unsigned char CMPCLR5V:1;
            unsigned char CMPCLR5W:1;
        } BIT;
    } TCNTCMPCLR;
};

struct st_mtu6 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR6;
    char           wk1[1884];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    char           wk4[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    char           wk5[7];
    unsigned short TCNT;
    char           wk6[6];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk7[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk8[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    char           wk9[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TTSB:1;
            unsigned char TTSA:1;
        } BIT;
    } TBTM;
    char           wk10[19];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk11[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CE0A:1;
            unsigned char CE0B:1;
            unsigned char CE0C:1;
            unsigned char CE0D:1;
            unsigned char CE1A:1;
            unsigned char CE1B:1;
            unsigned char CE2A:1;
            unsigned char CE2B:1;
        } BIT;
    } TSYCR;
    char           wk12[33];
    unsigned short TGRE;
};

struct st_mtu7 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR7;
    char           wk0[1884];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char TTGE2:1;
            unsigned char :1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    char           wk4[8];
    unsigned short TCNT;
    char           wk5[8];
    unsigned short TGRA;
    unsigned short TGRB;
    char           wk6[8];
    unsigned short TGRC;
    unsigned short TGRD;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :2;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    char           wk8[11];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char TTSB:1;
            unsigned char TTSA:1;
        } BIT;
    } TBTM;
    char           wk9[6];
    union {
        unsigned short WORD;
        struct {
            unsigned short BF:2;
            unsigned short :6;
            unsigned short UT7AE:1;
            unsigned short DT7AE:1;
            unsigned short UT7BE:1;
            unsigned short DT7BE:1;
            unsigned short ITA6AE:1;
            unsigned short ITA7VE:1;
            unsigned short ITB6AE:1;
            unsigned short ITB7VE:1;
        } BIT;
    } TADCR;
    char           wk10[2];
    unsigned short TADCORA;
    unsigned short TADCORB;
    unsigned short TADCOBRA;
    unsigned short TADCOBRB;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk12[38];
    unsigned short TGRE;
    unsigned short TGRF;
};

struct st_mtu8 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR8;
    char           wk0[871];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char PCB:2;
            unsigned char TPSC2:3;
        } BIT;
    } TCR2;
    char           wk1[1];
    unsigned long  TCNT;
    unsigned long  TGRA;
    unsigned long  TGRB;
    unsigned long  TGRC;
    unsigned long  TGRD;
};

struct st_pdc {
    union {
        unsigned long LONG;
        struct {
            unsigned long :17;
            unsigned long EDS:1;
            unsigned long PCKDIV:3;
            unsigned long PCKOE:1;
            unsigned long HERIE:1;
            unsigned long VERIE:1;
            unsigned long UDRIE:1;
            unsigned long OVIE:1;
            unsigned long FEIE:1;
            unsigned long DFIE:1;
            unsigned long PRST:1;
            unsigned long HPS:1;
            unsigned long VPS:1;
            unsigned long PCKE:1;
        } BIT;
    } PCCR0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :31;
            unsigned long PCE:1;
        } BIT;
    } PCCR1;
    union {
        unsigned long LONG;
        struct {
            unsigned long :25;
            unsigned long HERF:1;
            unsigned long VERF:1;
            unsigned long UDRF:1;
            unsigned long OVRF:1;
            unsigned long FEF:1;
            unsigned long FEMPF:1;
            unsigned long FBSY:1;
        } BIT;
    } PCSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :30;
            unsigned long HSYNC:1;
            unsigned long VSYNC:1;
        } BIT;
    } PCMONR;
    union {
        unsigned long LONG;
        struct {
            unsigned long B31:1;
            unsigned long B30:1;
            unsigned long B29:1;
            unsigned long B28:1;
            unsigned long B27:1;
            unsigned long B26:1;
            unsigned long B25:1;
            unsigned long B24:1;
            unsigned long B23:1;
            unsigned long B22:1;
            unsigned long B21:1;
            unsigned long B20:1;
            unsigned long B19:1;
            unsigned long B18:1;
            unsigned long B17:1;
            unsigned long B16:1;
            unsigned long B15:1;
            unsigned long B14:1;
            unsigned long B13:1;
            unsigned long B12:1;
            unsigned long B11:1;
            unsigned long B10:1;
            unsigned long B9:1;
            unsigned long B8:1;
            unsigned long B7:1;
            unsigned long B6:1;
            unsigned long B5:1;
            unsigned long B4:1;
            unsigned long B3:1;
            unsigned long B2:1;
            unsigned long B1:1;
            unsigned long B0:1;
        } BIT;
    } PCDR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long VSZ:12;
            unsigned long :4;
            unsigned long VST:12;
        } BIT;
    } VCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long HSZ:12;
            unsigned long :4;
            unsigned long HST:12;
        } BIT;
    } HCR;
};

struct st_poe {
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char POE0F:1;
            unsigned char :3;
            unsigned char PIE1:1;
            unsigned char :6;
            unsigned char POE0M:2;
        } BIT;
    } ICSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char OSF1:1;
            unsigned char :5;
            unsigned char OCE1:1;
            unsigned char OIE1:1;
        } BIT;
    } OCSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char POE4F:1;
            unsigned char :3;
            unsigned char PIE2:1;
            unsigned char :6;
            unsigned char POE4M:2;
        } BIT;
    } ICSR2;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char OSF2:1;
            unsigned char :5;
            unsigned char OCE2:1;
            unsigned char OIE2:1;
        } BIT;
    } OCSR2;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char POE8F:1;
            unsigned char :2;
            unsigned char POE8E:1;
            unsigned char PIE3:1;
            unsigned char :6;
            unsigned char POE8M:2;
        } BIT;
    } ICSR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char GPT23HIZ:1;
            unsigned char GPT01HIZ:1;
            unsigned char MTUCH0HIZ:1;
            unsigned char MTUCH67HIZ:1;
            unsigned char MTUCH34HIZ:1;
        } BIT;
    } SPOER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char MTU0DZE:1;
            unsigned char MTU0CZE:1;
            unsigned char MTU0BZE:1;
            unsigned char MTU0AZE:1;
        } BIT;
    } POECR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short MTU3BDZE:1;
            unsigned short MTU4ACZE:1;
            unsigned short MTU4BDZE:1;
            unsigned short :5;
            unsigned short MTU6BDZE:1;
            unsigned short MTU7ACZE:1;
            unsigned short MTU7BDZE:1;
        } BIT;
    } POECR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short GPT3ABZE:1;
            unsigned short GPT2ABZE:1;
            unsigned short :6;
            unsigned short GPT1ABZE:1;
            unsigned short GPT0ABZE:1;
        } BIT;
    } POECR3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short IC5ADDMT67ZE:1;
            unsigned short IC4ADDMT67ZE:1;
            unsigned short IC3ADDMT67ZE:1;
            unsigned short :1;
            unsigned short IC1ADDMT67ZE:1;
            unsigned short :3;
            unsigned short IC5ADDMT34ZE:1;
            unsigned short IC4ADDMT34ZE:1;
            unsigned short IC3ADDMT34ZE:1;
            unsigned short IC2ADDMT34ZE:1;
        } BIT;
    } POECR4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :10;
            unsigned short IC5ADDMT0ZE:1;
            unsigned short IC4ADDMT0ZE:1;
            unsigned short :1;
            unsigned short IC2ADDMT0ZE:1;
            unsigned short IC1ADDMT0ZE:1;
        } BIT;
    } POECR5;
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short IC4ADDGPT23ZE:1;
            unsigned short IC3ADDGPT23ZE:1;
            unsigned short IC2ADDGPT23Z:1;
            unsigned short IC1ADDGPT23ZE:1;
            unsigned short :3;
            unsigned short IC5ADDGPT01ZE:1;
            unsigned short :1;
            unsigned short IC3ADDGPT01ZE:1;
            unsigned short IC2ADDGPT01Z:1;
            unsigned short IC1ADDGPT01ZE:1;
        } BIT;
    } POECR6;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char POE10F:1;
            unsigned char :2;
            unsigned char POE10E:1;
            unsigned char PIE4:1;
            unsigned char :6;
            unsigned char POE10M:2;
        } BIT;
    } ICSR4;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char POE11F:1;
            unsigned char :2;
            unsigned char POE11E:1;
            unsigned char PIE5:1;
            unsigned char :6;
            unsigned char POE11M:2;
        } BIT;
    } ICSR5;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :8;
            unsigned char OLSEN:1;
            unsigned char :1;
            unsigned char OLSG2B:1;
            unsigned char OLSG2A:1;
            unsigned char OLSG1B:1;
            unsigned char OLSG1A:1;
            unsigned char OLSG0B:1;
            unsigned char OLSG0A:1;
        } BIT;
    } ALR1;
    union {
        unsigned short WORD;
        struct {
            unsigned char H;
            unsigned char L;
        } BYTE;
        struct {
            unsigned char :3;
            unsigned char OSTSTF:1;
            unsigned char :2;
            unsigned char OSTSTE:1;
        } BIT;
    } ICSR6;
    char           wk0[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char G0BSEL:4;
            unsigned char G0ASEL:4;
        } BIT;
    } G0SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G1BSEL:4;
            unsigned char G1ASEL:4;
        } BIT;
    } G1SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G2BSEL:4;
            unsigned char G2ASEL:4;
        } BIT;
    } G2SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3BSEL:4;
            unsigned char G3ASEL:4;
        } BIT;
    } G3SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M0BSEL:4;
            unsigned char M0ASEL:4;
        } BIT;
    } M0SELR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M0DSEL:4;
            unsigned char M0CSEL:4;
        } BIT;
    } M0SELR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M3DSEL:4;
            unsigned char M3BSEL:4;
        } BIT;
    } M3SELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M4CSEL:4;
            unsigned char M4ASEL:4;
        } BIT;
    } M4SELR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char M4DSEL:4;
            unsigned char M4BSEL:4;
        } BIT;
    } M4SELR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char M4G2SEL:1;
            unsigned char M4G1SEL:1;
            unsigned char M4G0SEL:1;
        } BIT;
    } MGSELR;
};

struct st_port0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :3;
            unsigned char B2:1;
        } BIT;
    } ODR1;
    char           wk4[62];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char :1;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_port1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[32];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[61];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[33];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[60];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
        } BIT;
    } DSCR;
};

struct st_port3 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[34];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[59];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port4 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[35];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[58];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port5 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[36];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[57];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :3;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_port6 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[37];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[56];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port7 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[38];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[55];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port8 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :2;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :2;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :2;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :2;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[39];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[54];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char :2;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_port9 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[40];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[53];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_porta {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[41];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[52];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_portb {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[42];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[51];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_portc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[43];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[50];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_portd {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[44];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[49];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_porte {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[45];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[48];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_portf {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[46];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[47];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
};

struct st_portg {
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PMR;
    char           wk3[47];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
            unsigned char :1;
            unsigned char B4:1;
            unsigned char :1;
            unsigned char B2:1;
            unsigned char :1;
            unsigned char B0:1;
        } BIT;
    } ODR1;
    char           wk4[46];
    union {
        unsigned char BYTE;
        struct {
            unsigned char B7:1;
            unsigned char B6:1;
            unsigned char B5:1;
            unsigned char B4:1;
            unsigned char B3:1;
            unsigned char B2:1;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } PCR;
    char           wk5[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char B1:1;
            unsigned char B0:1;
        } BIT;
    } DSCR;
};

struct st_portj {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
        } BIT;
    } PDR;
    char           wk0[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
        } BIT;
    } PODR;
    char           wk1[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
        } BIT;
    } PIDR;
    char           wk2[31];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
        } BIT;
    } PMR;
    char           wk3[49];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char B6:1;
        } BIT;
    } ODR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char B2:1;
        } BIT;
    } ODR1;
    char           wk4[44];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char B5:1;
            unsigned char :1;
            unsigned char B3:1;
        } BIT;
    } PCR;
};

struct st_ppg0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3CMS:2;
            unsigned char G2CMS:2;
            unsigned char G1CMS:2;
            unsigned char G0CMS:2;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3INV:1;
            unsigned char G2INV:1;
            unsigned char G1INV:1;
            unsigned char G0INV:1;
            unsigned char G3NOV:1;
            unsigned char G2NOV:1;
            unsigned char G1NOV:1;
            unsigned char G0NOV:1;
        } BIT;
    } PMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER15:1;
            unsigned char NDER14:1;
            unsigned char NDER13:1;
            unsigned char NDER12:1;
            unsigned char NDER11:1;
            unsigned char NDER10:1;
            unsigned char NDER9:1;
            unsigned char NDER8:1;
        } BIT;
    } NDERH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER7:1;
            unsigned char NDER6:1;
            unsigned char NDER5:1;
            unsigned char NDER4:1;
            unsigned char NDER3:1;
            unsigned char NDER2:1;
            unsigned char NDER1:1;
            unsigned char NDER0:1;
        } BIT;
    } NDERL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD15:1;
            unsigned char POD14:1;
            unsigned char POD13:1;
            unsigned char POD12:1;
            unsigned char POD11:1;
            unsigned char POD10:1;
            unsigned char POD9:1;
            unsigned char POD8:1;
        } BIT;
    } PODRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD7:1;
            unsigned char POD6:1;
            unsigned char POD5:1;
            unsigned char POD4:1;
            unsigned char POD3:1;
            unsigned char POD2:1;
            unsigned char POD1:1;
            unsigned char POD0:1;
        } BIT;
    } PODRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR15:1;
            unsigned char NDR14:1;
            unsigned char NDR13:1;
            unsigned char NDR12:1;
            unsigned char NDR11:1;
            unsigned char NDR10:1;
            unsigned char NDR9:1;
            unsigned char NDR8:1;
        } BIT;
    } NDRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR7:1;
            unsigned char NDR6:1;
            unsigned char NDR5:1;
            unsigned char NDR4:1;
            unsigned char NDR3:1;
            unsigned char NDR2:1;
            unsigned char NDR1:1;
            unsigned char NDR0:1;
        } BIT;
    } NDRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char NDR11:1;
            unsigned char NDR10:1;
            unsigned char NDR9:1;
            unsigned char NDR8:1;
        } BIT;
    } NDRH2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char NDR3:1;
            unsigned char NDR2:1;
            unsigned char NDR1:1;
            unsigned char NDR0:1;
        } BIT;
    } NDRL2;
};

struct st_ppg1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char PTRSL:1;
        } BIT;
    } PTRSLR;
    char           wk0[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3CMS:2;
            unsigned char G2CMS:2;
            unsigned char G1CMS:2;
            unsigned char G0CMS:2;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char G3INV:1;
            unsigned char G2INV:1;
            unsigned char G1INV:1;
            unsigned char G0INV:1;
            unsigned char G3NOV:1;
            unsigned char G2NOV:1;
            unsigned char G1NOV:1;
            unsigned char G0NOV:1;
        } BIT;
    } PMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER31:1;
            unsigned char NDER30:1;
            unsigned char NDER29:1;
            unsigned char NDER28:1;
            unsigned char NDER27:1;
            unsigned char NDER26:1;
            unsigned char NDER25:1;
            unsigned char NDER24:1;
        } BIT;
    } NDERH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDER23:1;
            unsigned char NDER22:1;
            unsigned char NDER21:1;
            unsigned char NDER20:1;
            unsigned char NDER19:1;
            unsigned char NDER18:1;
            unsigned char NDER17:1;
            unsigned char NDER16:1;
        } BIT;
    } NDERL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD31:1;
            unsigned char POD30:1;
            unsigned char POD29:1;
            unsigned char POD28:1;
            unsigned char POD27:1;
            unsigned char POD26:1;
            unsigned char POD25:1;
            unsigned char POD24:1;
        } BIT;
    } PODRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char POD23:1;
            unsigned char POD22:1;
            unsigned char POD21:1;
            unsigned char POD20:1;
            unsigned char POD19:1;
            unsigned char POD18:1;
            unsigned char POD17:1;
            unsigned char POD16:1;
        } BIT;
    } PODRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR31:1;
            unsigned char NDR30:1;
            unsigned char NDR29:1;
            unsigned char NDR28:1;
            unsigned char NDR27:1;
            unsigned char NDR26:1;
            unsigned char NDR25:1;
            unsigned char NDR24:1;
        } BIT;
    } NDRH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char NDR23:1;
            unsigned char NDR22:1;
            unsigned char NDR21:1;
            unsigned char NDR20:1;
            unsigned char NDR19:1;
            unsigned char NDR18:1;
            unsigned char NDR17:1;
            unsigned char NDR16:1;
        } BIT;
    } NDRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char NDR27:1;
            unsigned char NDR26:1;
            unsigned char NDR25:1;
            unsigned char NDR24:1;
        } BIT;
    } NDRH2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char NDR19:1;
            unsigned char NDR18:1;
            unsigned char NDR17:1;
            unsigned char NDR16:1;
        } BIT;
    } NDRL2;
};

struct st_qspi {
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPRIE:1;
            unsigned char SPE:1;
            unsigned char SPTIE:1;
            unsigned char :3;
            unsigned char SPSSLIE:1;
        } BIT;
    } SPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SSLP:1;
        } BIT;
    } SSLP;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char MOIFE:1;
            unsigned char MOIFV:1;
            unsigned char :1;
            unsigned char IO3FV:1;
            unsigned char IO2FV:1;
            unsigned char SPLP:1;
        } BIT;
    } SPPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPRFF:1;
            unsigned char TREND:1;
            unsigned char SPTEF:1;
            unsigned char SPSSLF:1;
        } BIT;
    } SPSR;
    union {
        unsigned long LONG;
        struct {
            unsigned long SPD31:1;
            unsigned long SPD30:1;
            unsigned long SPD29:1;
            unsigned long SPD28:1;
            unsigned long SPD27:1;
            unsigned long SPD26:1;
            unsigned long SPD25:1;
            unsigned long SPD24:1;
            unsigned long SPD23:1;
            unsigned long SPD22:1;
            unsigned long SPD21:1;
            unsigned long SPD20:1;
            unsigned long SPD19:1;
            unsigned long SPD18:1;
            unsigned long SPD17:1;
            unsigned long SPD16:1;
            unsigned long SPD15:1;
            unsigned long SPD14:1;
            unsigned long SPD13:1;
            unsigned long SPD12:1;
            unsigned long SPD11:1;
            unsigned long SPD10:1;
            unsigned long SPD9:1;
            unsigned long SPD8:1;
            unsigned long SPD7:1;
            unsigned long SPD6:1;
            unsigned long SPD5:1;
            unsigned long SPD4:1;
            unsigned long SPD3:1;
            unsigned long SPD2:1;
            unsigned long SPD1:1;
            unsigned long SPD0:1;
        } BIT;
    } SPDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char SPSC:2;
        } BIT;
    } SPSCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char SPSS:2;
        } BIT;
    } SPSSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPBR7:1;
            unsigned char SPBR6:1;
            unsigned char SPBR5:1;
            unsigned char SPBR4:1;
            unsigned char SPBR3:1;
            unsigned char SPBR2:1;
            unsigned char SPBR1:1;
            unsigned char SPBR0:1;
        } BIT;
    } SPBR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TXDMY:1;
        } BIT;
    } SPDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SCKDL:3;
        } BIT;
    } SPCKD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SLNDL:3;
        } BIT;
    } SSLND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SPNDL:3;
        } BIT;
    } SPND;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SPIMOD:2;
            unsigned short SPRW:1;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SPIMOD:2;
            unsigned short SPRW:1;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SPIMOD:2;
            unsigned short SPRW:1;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SPIMOD:2;
            unsigned short SPRW:1;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TXRST:1;
            unsigned char RXRST:1;
            unsigned char TXTRG:2;
            unsigned char TXTRGEX:1;
            unsigned char RXTRG:3;
        } BIT;
    } SPBFCR;
    char           wk1[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short TXBC:6;
            unsigned short :2;
            unsigned short RXBC:6;
        } BIT;
    } SPBDCR;
    union {
        unsigned long LONG;
    } SPBMUL0;
    union {
        unsigned long LONG;
    } SPBMUL1;
    union {
        unsigned long LONG;
    } SPBMUL2;
    union {
        unsigned long LONG;
    } SPBMUL3;
};

struct st_riic0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICE:1;
            unsigned char IICRST:1;
            unsigned char CLO:1;
            unsigned char SOWP:1;
            unsigned char SCLO:1;
            unsigned char SDAO:1;
            unsigned char SCLI:1;
            unsigned char SDAI:1;
        } BIT;
    } ICCR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BBSY:1;
            unsigned char MST:1;
            unsigned char TRS:1;
            unsigned char :1;
            unsigned char SP:1;
            unsigned char RS:1;
            unsigned char ST:1;
        } BIT;
    } ICCR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTWP:1;
            unsigned char CKS:3;
            unsigned char BCWP:1;
            unsigned char BC:3;
        } BIT;
    } ICMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DLCS:1;
            unsigned char SDDL:3;
            unsigned char :1;
            unsigned char TMOH:1;
            unsigned char TMOL:1;
            unsigned char TMOS:1;
        } BIT;
    } ICMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMBS:1;
            unsigned char WAIT:1;
            unsigned char RDRFS:1;
            unsigned char ACKWP:1;
            unsigned char ACKBT:1;
            unsigned char ACKBR:1;
            unsigned char NF:2;
        } BIT;
    } ICMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char FMPE:1;
            unsigned char SCLE:1;
            unsigned char NFE:1;
            unsigned char NACKE:1;
            unsigned char SALE:1;
            unsigned char NALE:1;
            unsigned char MALE:1;
            unsigned char TMOE:1;
        } BIT;
    } ICFER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HOAE:1;
            unsigned char :1;
            unsigned char DIDE:1;
            unsigned char :1;
            unsigned char GCAE:1;
            unsigned char SAR2E:1;
            unsigned char SAR1E:1;
            unsigned char SAR0E:1;
        } BIT;
    } ICSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char TEIE:1;
            unsigned char RIE:1;
            unsigned char NAKIE:1;
            unsigned char SPIE:1;
            unsigned char STIE:1;
            unsigned char ALIE:1;
            unsigned char TMOIE:1;
        } BIT;
    } ICIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HOA:1;
            unsigned char :1;
            unsigned char DID:1;
            unsigned char :1;
            unsigned char GCA:1;
            unsigned char AAS2:1;
            unsigned char AAS1:1;
            unsigned char AAS0:1;
        } BIT;
    } ICSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TDRE:1;
            unsigned char TEND:1;
            unsigned char RDRF:1;
            unsigned char NACKF:1;
            unsigned char STOP:1;
            unsigned char START:1;
            unsigned char AL:1;
            unsigned char TMOF:1;
        } BIT;
    } ICSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char BRL:5;
        } BIT;
    } ICBRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char BRH:5;
        } BIT;
    } ICBRH;
    unsigned char  ICDRT;
    unsigned char  ICDRR;
};

struct st_riic2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICE:1;
            unsigned char IICRST:1;
            unsigned char CLO:1;
            unsigned char SOWP:1;
            unsigned char SCLO:1;
            unsigned char SDAO:1;
            unsigned char SCLI:1;
            unsigned char SDAI:1;
        } BIT;
    } ICCR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BBSY:1;
            unsigned char MST:1;
            unsigned char TRS:1;
            unsigned char :1;
            unsigned char SP:1;
            unsigned char RS:1;
            unsigned char ST:1;
        } BIT;
    } ICCR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MTWP:1;
            unsigned char CKS:3;
            unsigned char BCWP:1;
            unsigned char BC:3;
        } BIT;
    } ICMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DLCS:1;
            unsigned char SDDL:3;
            unsigned char :1;
            unsigned char TMOH:1;
            unsigned char TMOL:1;
            unsigned char TMOS:1;
        } BIT;
    } ICMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SMBS:1;
            unsigned char WAIT:1;
            unsigned char RDRFS:1;
            unsigned char ACKWP:1;
            unsigned char ACKBT:1;
            unsigned char ACKBR:1;
            unsigned char NF:2;
        } BIT;
    } ICMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SCLE:1;
            unsigned char NFE:1;
            unsigned char NACKE:1;
            unsigned char SALE:1;
            unsigned char NALE:1;
            unsigned char MALE:1;
            unsigned char TMOE:1;
        } BIT;
    } ICFER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HOAE:1;
            unsigned char :1;
            unsigned char DIDE:1;
            unsigned char :1;
            unsigned char GCAE:1;
            unsigned char SAR2E:1;
            unsigned char SAR1E:1;
            unsigned char SAR0E:1;
        } BIT;
    } ICSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char TEIE:1;
            unsigned char RIE:1;
            unsigned char NAKIE:1;
            unsigned char SPIE:1;
            unsigned char STIE:1;
            unsigned char ALIE:1;
            unsigned char TMOIE:1;
        } BIT;
    } ICIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char HOA:1;
            unsigned char :1;
            unsigned char DID:1;
            unsigned char :1;
            unsigned char GCA:1;
            unsigned char AAS2:1;
            unsigned char AAS1:1;
            unsigned char AAS0:1;
        } BIT;
    } ICSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TDRE:1;
            unsigned char TEND:1;
            unsigned char RDRF:1;
            unsigned char NACKF:1;
            unsigned char STOP:1;
            unsigned char START:1;
            unsigned char AL:1;
            unsigned char TMOF:1;
        } BIT;
    } ICSR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SVA:7;
            unsigned char SVA0:1;
        } BIT;
    } SARL2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SVA:2;
            unsigned char FS:1;
        } BIT;
    } SARU2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char BRL:5;
        } BIT;
    } ICBRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char BRH:5;
        } BIT;
    } ICBRH;
    unsigned char  ICDRT;
    unsigned char  ICDRR;
};

struct st_rspi0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPRIE:1;
            unsigned char SPE:1;
            unsigned char SPTIE:1;
            unsigned char SPEIE:1;
            unsigned char MSTR:1;
            unsigned char MODFEN:1;
            unsigned char TXMD:1;
            unsigned char SPMS:1;
        } BIT;
    } SPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char SSL3P:1;
            unsigned char SSL2P:1;
            unsigned char SSL1P:1;
            unsigned char SSL0P:1;
        } BIT;
    } SSLP;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char MOIFE:1;
            unsigned char MOIFV:1;
            unsigned char :2;
            unsigned char SPLP2:1;
            unsigned char SPLP:1;
        } BIT;
    } SPPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char PERF:1;
            unsigned char MODF:1;
            unsigned char IDLNF:1;
            unsigned char OVRF:1;
        } BIT;
    } SPSR;
    union {
        unsigned long LONG;
        struct {
            unsigned short H;
        } WORD;
    } SPDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SPSLN:3;
        } BIT;
    } SPSCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SPECM:3;
            unsigned char :1;
            unsigned char SPCP:3;
        } BIT;
    } SPSSR;
    unsigned char SPBR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char SPLW:1;
            unsigned char SPRDTD:1;
            unsigned char :2;
            unsigned char SPFC:2;
        } BIT;
    } SPDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SCKDL:3;
        } BIT;
    } SPCKD;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SLNDL:3;
        } BIT;
    } SSLND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SPNDL:3;
        } BIT;
    } SPND;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SPTDDL:3;
            unsigned char SCKASE:1;
            unsigned char PTE:1;
            unsigned char SPIIE:1;
            unsigned char SPOE:1;
            unsigned char SPPE:1;
        } BIT;
    } SPCR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD5;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD6;
    union {
        unsigned short WORD;
        struct {
            unsigned short SCKDEN:1;
            unsigned short SLNDEN:1;
            unsigned short SPNDEN:1;
            unsigned short LSBF:1;
            unsigned short SPB:4;
            unsigned short SSLKP:1;
            unsigned short SSLA:3;
            unsigned short BRDV:2;
            unsigned short CPOL:1;
            unsigned short CPHA:1;
        } BIT;
    } SPCMD7;
};

struct st_rtc {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char F1HZ:1;
            unsigned char F2HZ:1;
            unsigned char F4HZ:1;
            unsigned char F8HZ:1;
            unsigned char F16HZ:1;
            unsigned char F32HZ:1;
            unsigned char F64HZ:1;
        } BIT;
    } R64CNT;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SEC10:3;
            unsigned char SEC1:4;
        } BIT;
    } RSECCNT;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MIN10:3;
            unsigned char MIN1:4;
        } BIT;
    } RMINCNT;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PM:1;
            unsigned char HR10:2;
            unsigned char HR1:4;
        } BIT;
    } RHRCNT;
    char           wk3[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char DAYW:3;
        } BIT;
    } RWKCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char DATE10:2;
            unsigned char DATE1:4;
        } BIT;
    } RDAYCNT;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char MON10:1;
            unsigned char MON1:4;
        } BIT;
    } RMONCNT;
    char           wk6[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short YR10:4;
            unsigned short YR1:4;
        } BIT;
    } RYRCNT;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char SEC10:3;
            unsigned char SEC1:4;
        } BIT;
    } RSECAR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char MIN10:3;
            unsigned char MIN1:4;
        } BIT;
    } RMINAR;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char PM:1;
            unsigned char HR10:2;
            unsigned char HR1:4;
        } BIT;
    } RHRAR;
    char           wk9[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char :4;
            unsigned char DAYW:3;
        } BIT;
    } RWKAR;
    char           wk10[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char :1;
            unsigned char DATE10:2;
            unsigned char DATE1:4;
        } BIT;
    } RDAYAR;
    char           wk11[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
            unsigned char :2;
            unsigned char MON10:1;
            unsigned char MON1:4;
        } BIT;
    } RMONAR;
    char           wk12[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short YR10:4;
            unsigned short YR1:4;
        } BIT;
    } RYRAR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:1;
        } BIT;
    } RYRAREN;
    char           wk13[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char PES:4;
            unsigned char RTCOS:1;
            unsigned char PIE:1;
            unsigned char CIE:1;
            unsigned char AIE:1;
        } BIT;
    } RCR1;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CNTMD:1;
            unsigned char HR24:1;
            unsigned char AADJP:1;
            unsigned char AADJE:1;
            unsigned char RTCOE:1;
            unsigned char ADJ30:1;
            unsigned char RESET:1;
            unsigned char START:1;
        } BIT;
    } RCR2;
    char           wk15[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char RTCDV:3;
            unsigned char RTCEN:1;
        } BIT;
    } RCR3;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char RCKSEL:1;
        } BIT;
    } RCR4;
    char           wk17[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short RFC:1;
        } BIT;
    } RFRH;
    union {
        unsigned short WORD;
        struct {
            unsigned short RFC:16;
        } BIT;
    } RFRL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PMADJ:2;
            unsigned char ADJ:6;
        } BIT;
    } RADJ;
    char           wk18[17];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCEN:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCST:1;
            unsigned char TCCT:2;
        } BIT;
    } RTCCR0;
    char           wk19[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCEN:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCST:1;
            unsigned char TCCT:2;
        } BIT;
    } RTCCR1;
    char           wk20[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCEN:1;
            unsigned char :1;
            unsigned char TCNF:2;
            unsigned char :1;
            unsigned char TCST:1;
            unsigned char TCCT:2;
        } BIT;
    } RTCCR2;
    char           wk21[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SEC10:3;
            unsigned char SEC1:4;
        } BIT;
    } RSECCP0;
    char           wk22[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MIN10:3;
            unsigned char MIN1:4;
        } BIT;
    } RMINCP0;
    char           wk23[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PM:1;
            unsigned char HR10:2;
            unsigned char HR1:4;
        } BIT;
    } RHRCP0;
    char           wk24[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char DATE10:2;
            unsigned char DATE1:4;
        } BIT;
    } RDAYCP0;
    char           wk25[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char MON10:1;
            unsigned char MON1:4;
        } BIT;
    } RMONCP0;
    char           wk26[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SEC10:3;
            unsigned char SEC1:4;
        } BIT;
    } RSECCP1;
    char           wk27[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MIN10:3;
            unsigned char MIN1:4;
        } BIT;
    } RMINCP1;
    char           wk28[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PM:1;
            unsigned char HR10:2;
            unsigned char HR1:4;
        } BIT;
    } RHRCP1;
    char           wk29[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char DATE10:2;
            unsigned char DATE1:4;
        } BIT;
    } RDAYCP1;
    char           wk30[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char MON10:1;
            unsigned char MON1:4;
        } BIT;
    } RMONCP1;
    char           wk31[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char SEC10:3;
            unsigned char SEC1:4;
        } BIT;
    } RSECCP2;
    char           wk32[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MIN10:3;
            unsigned char MIN1:4;
        } BIT;
    } RMINCP2;
    char           wk33[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char PM:1;
            unsigned char HR10:2;
            unsigned char HR1:4;
        } BIT;
    } RHRCP2;
    char           wk34[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char DATE10:2;
            unsigned char DATE1:4;
        } BIT;
    } RDAYCP2;
    char           wk35[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char MON10:1;
            unsigned char MON1:4;
        } BIT;
    } RMONCP2;
};

struct st_rtcb {
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT0;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT1;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT2;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNT:8;
        } BIT;
    } BCNT3;
    char           wk3[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT0AR;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT1AR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT2AR;
    char           wk6[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNTAR:8;
        } BIT;
    } BCNT3AR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT0AER;
    char           wk8[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT1AER;
    char           wk9[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short ENB:8;
        } BIT;
    } BCNT2AER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ENB:8;
        } BIT;
    } BCNT3AER;
    char           wk10[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CNTMD:1;
            unsigned char :1;
            unsigned char AADJP:1;
            unsigned char AADJE:1;
            unsigned char RTCOE:1;
            unsigned char :1;
            unsigned char RESET:1;
            unsigned char START:1;
        } BIT;
    } BRCR2;
    char           wk11[45];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT0CP0;
    char           wk12[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT1CP0;
    char           wk13[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT2CP0;
    char           wk14[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP0:8;
        } BIT;
    } BCNT3CP0;
    char           wk15[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT0CP1;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT1CP1;
    char           wk17[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT2CP1;
    char           wk18[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP1:8;
        } BIT;
    } BCNT3CP1;
    char           wk19[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT0CP2;
    char           wk20[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT1CP2;
    char           wk21[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT2CP2;
    char           wk22[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCNCP2:8;
        } BIT;
    } BCNT3CP2;
};

struct st_s12ad {
    union {
        unsigned short WORD;
        struct {
            unsigned short ADST:1;
            unsigned short ADCS:2;
            unsigned short ADIE:1;
            unsigned short :2;
            unsigned short TRGE:1;
            unsigned short EXTRG:1;
            unsigned short DBLE:1;
            unsigned short GBADIE:1;
            unsigned short :1;
            unsigned short DBLANS:5;
        } BIT;
    } ADCSR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSA0:16;
        } BIT;
    } ADANSA0;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short ADS0:16;
        } BIT;
    } ADADS0;
    char           wk2[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char AVEE:1;
            unsigned char :5;
            unsigned char ADC:2;
        } BIT;
    } ADADC;
    char           wk3[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short ADRFMT:1;
            unsigned short :3;
            unsigned short DIAGM:1;
            unsigned short DIAGLD:1;
            unsigned short DIAGVAL:2;
            unsigned short :2;
            unsigned short ACE:1;
            unsigned short :2;
            unsigned short ADPRC:2;
        } BIT;
    } ADCER;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short TRSA:6;
            unsigned short :2;
            unsigned short TRSB:6;
        } BIT;
    } ADSTRGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short EXOEN:1;
            unsigned short EXSEL:2;
            unsigned short :3;
            unsigned short OCS:1;
            unsigned short TSS:1;
            unsigned short :6;
            unsigned short OCSAD:1;
            unsigned short TSSAD:1;
        } BIT;
    } ADEXICR;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSB0:16;
        } BIT;
    } ADANSB0;
    char           wk4[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short AD:12;
        } BIT;
    } ADDBLDR;
    char           wk5[4];
    union {
        unsigned short WORD;
        union {
            struct {
                unsigned short DIAGST:2;
                unsigned short :2;
                unsigned short AD:12;
            } RIGHT;
            struct {
                unsigned short AD:12;
                unsigned short :2;
                unsigned short DIAGST:2;
            } LEFT;
        } BIT;
    } ADRD;
    unsigned short ADDR0;
    unsigned short ADDR1;
    unsigned short ADDR2;
    unsigned short ADDR3;
    unsigned short ADDR4;
    unsigned short ADDR5;
    unsigned short ADDR6;
    unsigned short ADDR7;
    char           wk6[48];
    unsigned char  ADSSTR0;
    unsigned char  ADSSTRL;
    char           wk7[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short SHANS:3;
            unsigned short SSTSH:8;
        } BIT;
    } ADSHCR;
    char           wk8[11];
    unsigned char  ADSSTR1;
    unsigned char  ADSSTR2;
    unsigned char  ADSSTR3;
    unsigned char  ADSSTR4;
    unsigned char  ADSSTR5;
    unsigned char  ADSSTR6;
    unsigned char  ADSSTR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char ADNDIS:5;
        } BIT;
    } ADDISCR;
    char           wk9[5];
    union {
        unsigned short WORD;
        struct {
            unsigned short GBRP:1;
            unsigned short :13;
            unsigned short GBRSCN:1;
            unsigned short PGS:1;
        } BIT;
    } ADGSPCR;
    char           wk10[2];
    unsigned short ADDBLDRA;
    unsigned short ADDBLDRB;
    char           wk11[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPIE:1;
            unsigned char WCMPE:1;
        } BIT;
    } ADCMPCR;
    char           wk12[3];
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPS0:16;
        } BIT;
    } ADCMPANSR0;
    char           wk13[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPL0:16;
        } BIT;
    } ADCMPLR0;
    char           wk14[2];
    unsigned short ADCMPDR0;
    unsigned short ADCMPDR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPF0:16;
        } BIT;
    } ADCMPSR0;
};

struct st_s12ad1 {
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSA0:16;
        } BIT;
    } ADANSA0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short ANSA1:5;
        } BIT;
    } ADANSA1;
    union {
        unsigned short WORD;
        struct {
            unsigned short ADS0:16;
        } BIT;
    } ADADS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short ADS1:5;
        } BIT;
    } ADADS1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char AVEE:1;
            unsigned char :5;
            unsigned char ADC:2;
        } BIT;
    } ADADC;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short ADRFMT:1;
            unsigned short :3;
            unsigned short DIAGM:1;
            unsigned short DIAGLD:1;
            unsigned short DIAGVAL:2;
            unsigned short :2;
            unsigned short ACE:1;
            unsigned short :2;
            unsigned short ADPRC:2;
        } BIT;
    } ADCER;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short TRSA:6;
            unsigned short :2;
            unsigned short TRSB:6;
        } BIT;
    } ADSTRGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short EXOEN:1;
            unsigned short EXSEL:2;
            unsigned short :3;
            unsigned short OCS:1;
            unsigned short TSS:1;
            unsigned short :6;
            unsigned short OCSAD:1;
            unsigned short TSSAD:1;
        } BIT;
    } ADEXICR;
    union {
        unsigned short WORD;
        struct {
            unsigned short ANSB0:16;
        } BIT;
    } ADANSB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short ANSB1:5;
        } BIT;
    } ADANSB1;
    unsigned short ADDBLDR;
    unsigned short ADTSDR;
    unsigned short ADOCDR;
    union {
        unsigned short WORD;
        union {
            struct {
                unsigned short DIAGST:2;
                unsigned short :2;
                unsigned short AD:12;
            } RIGHT;
            struct {
                unsigned short AD:12;
                unsigned short :2;
                unsigned short DIAGST:2;
            } LEFT;
        } BIT;
    } ADRD;
    unsigned short ADDR0;
    unsigned short ADDR1;
    unsigned short ADDR2;
    unsigned short ADDR3;
    unsigned short ADDR4;
    unsigned short ADDR5;
    unsigned short ADDR6;
    unsigned short ADDR7;
    unsigned short ADDR8;
    unsigned short ADDR9;
    unsigned short ADDR10;
    unsigned short ADDR11;
    unsigned short ADDR12;
    unsigned short ADDR13;
    unsigned short ADDR14;
    unsigned short ADDR15;
    unsigned short ADDR16;
    unsigned short ADDR17;
    unsigned short ADDR18;
    unsigned short ADDR19;
    unsigned short ADDR20;
    char           wk1[22];
    unsigned char  ADSSTR0;
    unsigned char  ADSSTRL;
    char           wk2[14];
    unsigned char  ADSSTRT;
    unsigned char  ADSSTRO;
    char           wk3[1];
    unsigned char  ADSSTR1;
    unsigned char  ADSSTR2;
    unsigned char  ADSSTR3;
    unsigned char  ADSSTR4;
    unsigned char  ADSSTR5;
    unsigned char  ADSSTR6;
    unsigned char  ADSSTR7;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char ADNDIS:5;
        } BIT;
    } ADDISCR;
    char           wk4[5];
    union {
        unsigned short WORD;
        struct {
            unsigned short GBRP:1;
            unsigned short :13;
            unsigned short GBRSCN:1;
            unsigned short PGS:1;
        } BIT;
    } ADGSPCR;
    char           wk5[2];
    unsigned short ADDBLDRA;
    unsigned short ADDBLDRB;
    char           wk6[8];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMPIE:1;
            unsigned char WCMPE:1;
        } BIT;
    } ADCMPCR;
    char           wk7[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char CMPSOC:1;
            unsigned char CMPSTS:1;
        } BIT;
    } ADCMPANSER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char CMPLOC:1;
            unsigned char CMPLTS:1;
        } BIT;
    } ADCMPLER;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPS0:16;
        } BIT;
    } ADCMPANSR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short CMPS1:5;
        } BIT;
    } ADCMPANSR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPL0:16;
        } BIT;
    } ADCMPLR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short CMPL1:5;
        } BIT;
    } ADCMPLR1;
    unsigned short ADCMPDR0;
    unsigned short ADCMPDR1;
    union {
        unsigned short WORD;
        struct {
            unsigned short CMPF0:16;
        } BIT;
    } ADCMPSR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short CMPF1:5;
        } BIT;
    } ADCMPSR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char CMPFOC:1;
            unsigned char CMPFTS:1;
        } BIT;
    } ADCMPSER;
};

struct st_sci0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CM:1;
            unsigned char CHR:1;
            unsigned char PE:1;
            unsigned char PM:1;
            unsigned char STOP:1;
            unsigned char MP:1;
            unsigned char CKS:2;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char RIE:1;
            unsigned char TE:1;
            unsigned char RE:1;
            unsigned char MPIE:1;
            unsigned char TEIE:1;
            unsigned char CKE:2;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char ORER:1;
            unsigned char FER:1;
            unsigned char PER:1;
            unsigned char TEND:1;
            unsigned char MPB:1;
            unsigned char MPBT:1;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCP2:1;
            unsigned char :2;
            unsigned char CHR1:1;
            unsigned char SDIR:1;
            unsigned char SINV:1;
            unsigned char :1;
            unsigned char SMIF:1;
        } BIT;
    } SCMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RXDESEL:1;
            unsigned char BGDM:1;
            unsigned char NFEN:1;
            unsigned char ABCS:1;
            unsigned char :1;
            unsigned char BRME:1;
            unsigned char :1;
            unsigned char ACS0:1;
        } BIT;
    } SEMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char NFCS:3;
        } BIT;
    } SNFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICDL:5;
            unsigned char :2;
            unsigned char IICM:1;
        } BIT;
    } SIMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char IICACKT:1;
            unsigned char :3;
            unsigned char IICCSC:1;
            unsigned char IICINTM:1;
        } BIT;
    } SIMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICSCLS:2;
            unsigned char IICSDAS:2;
            unsigned char IICSTIF:1;
            unsigned char IICSTPREQ:1;
            unsigned char IICRSTAREQ:1;
            unsigned char IICSTAREQ:1;
        } BIT;
    } SIMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char IICACKR:1;
        } BIT;
    } SISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKPH:1;
            unsigned char CKPOL:1;
            unsigned char :1;
            unsigned char MFF:1;
            unsigned char :1;
            unsigned char MSS:1;
            unsigned char CTSE:1;
            unsigned char SSE:1;
        } BIT;
    } SPMR;
    unsigned char  TDRH;
    unsigned char  TDRL;
    unsigned char  RDRH;
    unsigned char  RDRL;
    unsigned char  MDDR;
};

struct st_sci12 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CM:1;
            unsigned char CHR:1;
            unsigned char PE:1;
            unsigned char PM:1;
            unsigned char STOP:1;
            unsigned char MP:1;
            unsigned char CKS:2;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char RIE:1;
            unsigned char TE:1;
            unsigned char RE:1;
            unsigned char MPIE:1;
            unsigned char TEIE:1;
            unsigned char CKE:2;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char ORER:1;
            unsigned char FER:1;
            unsigned char PER:1;
            unsigned char TEND:1;
            unsigned char MPB:1;
            unsigned char MPBT:1;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCP2:1;
            unsigned char :2;
            unsigned char CHR1:1;
            unsigned char SDIR:1;
            unsigned char SINV:1;
            unsigned char :1;
            unsigned char SMIF:1;
        } BIT;
    } SCMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RXDESEL:1;
            unsigned char BGDM:1;
            unsigned char NFEN:1;
            unsigned char ABCS:1;
            unsigned char :1;
            unsigned char BRME:1;
            unsigned char :1;
            unsigned char ACS0:1;
        } BIT;
    } SEMR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char NFCS:3;
        } BIT;
    } SNFR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICDL:5;
            unsigned char :2;
            unsigned char IICM:1;
        } BIT;
    } SIMR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char IICACKT:1;
            unsigned char :3;
            unsigned char IICCSC:1;
            unsigned char IICINTM:1;
        } BIT;
    } SIMR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IICSCLS:2;
            unsigned char IICSDAS:2;
            unsigned char IICSTIF:1;
            unsigned char IICSTPREQ:1;
            unsigned char IICRSTAREQ:1;
            unsigned char IICSTAREQ:1;
        } BIT;
    } SIMR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char IICACKR:1;
        } BIT;
    } SISR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CKPH:1;
            unsigned char CKPOL:1;
            unsigned char :1;
            unsigned char MFF:1;
            unsigned char :1;
            unsigned char MSS:1;
            unsigned char CTSE:1;
            unsigned char SSE:1;
        } BIT;
    } SPMR;
    unsigned char  TDRH;
    unsigned char  TDRL;
    unsigned char  RDRH;
    unsigned char  RDRL;
    unsigned char  MDDR;
    char           wk0[13];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char ESME:1;
        } BIT;
    } ESMER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char BRME:1;
            unsigned char RXDSF:1;
            unsigned char SFSF:1;
        } BIT;
    } CR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char PIBS:3;
            unsigned char PIBE:1;
            unsigned char CF1DS:2;
            unsigned char CF0RE:1;
            unsigned char BFE:1;
        } BIT;
    } CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RTS:2;
            unsigned char BCCS:2;
            unsigned char :1;
            unsigned char DFCS:3;
        } BIT;
    } CR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SDST:1;
        } BIT;
    } CR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char SHARPS:1;
            unsigned char :2;
            unsigned char RXDXPS:1;
            unsigned char TXDXPS:1;
        } BIT;
    } PCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char AEDIE:1;
            unsigned char BCDIE:1;
            unsigned char PIBDIE:1;
            unsigned char CF1MIE:1;
            unsigned char CF0MIE:1;
            unsigned char BFDIE:1;
        } BIT;
    } ICR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char AEDF:1;
            unsigned char BCDF:1;
            unsigned char PIBDF:1;
            unsigned char CF1MF:1;
            unsigned char CF0MF:1;
            unsigned char BFDF:1;
        } BIT;
    } STR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char AEDCL:1;
            unsigned char BCDCL:1;
            unsigned char PIBDCL:1;
            unsigned char CF1MCL:1;
            unsigned char CF0MCL:1;
            unsigned char BFDCL:1;
        } BIT;
    } STCR;
    unsigned char  CF0DR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CF0CE7:1;
            unsigned char CF0CE6:1;
            unsigned char CF0CE5:1;
            unsigned char CF0CE4:1;
            unsigned char CF0CE3:1;
            unsigned char CF0CE2:1;
            unsigned char CF0CE1:1;
            unsigned char CF0CE0:1;
        } BIT;
    } CF0CR;
    unsigned char  CF0RR;
    unsigned char  PCF1DR;
    unsigned char  SCF1DR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char CF1CE7:1;
            unsigned char CF1CE6:1;
            unsigned char CF1CE5:1;
            unsigned char CF1CE4:1;
            unsigned char CF1CE3:1;
            unsigned char CF1CE2:1;
            unsigned char CF1CE1:1;
            unsigned char CF1CE0:1;
        } BIT;
    } CF1CR;
    unsigned char  CF1RR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TCST:1;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char TCSS:3;
            unsigned char TWRC:1;
            unsigned char :1;
            unsigned char TOMS:2;
        } BIT;
    } TMR;
    unsigned char  TPRE;
    unsigned char  TCNT;
};

struct st_scif {
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short CM:1;
            unsigned short CHR:1;
            unsigned short PE:1;
            unsigned short PM:1;
            unsigned short STOP:1;
            unsigned short :1;
            unsigned short CKS:2;
        } BIT;
    } SMR;
//    unsigned char  BRR;
    union {
        unsigned char  BRR;
        unsigned char  MDDR;    
    };
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short TIE:1;
            unsigned short RIE:1;
            unsigned short TE:1;
            unsigned short RE:1;
            unsigned short REIE:1;
            unsigned short TEIE:1;
            unsigned short CKE:2;
        } BIT;
    } SCR;
    unsigned char  FTDR;
    char           wk1[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short ER:1;
            unsigned short TEND:1;
            unsigned short TDFE:1;
            unsigned short BRK:1;
            unsigned short FER:1;
            unsigned short PER:1;
            unsigned short RDF:1;
            unsigned short DR:1;
        } BIT;
    } FSR;
    unsigned char  FRDR;
    char           wk2[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short RSTRG:3;
            unsigned short RTRG:2;
            unsigned short TTRG:2;
            unsigned short MCE:1;
            unsigned short TFRST:1;
            unsigned short RFRST:1;
            unsigned short LOOP:1;
        } BIT;
    } FCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short T:5;
            unsigned short :3;
            unsigned short R:5;
        } BIT;
    } FDR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short RTS2IO:1;
            unsigned short RTS2DT:1;
            unsigned short CTS2IO:1;
            unsigned short CTS2DT:1;
            unsigned short SCKIO:1;
            unsigned short SCKDT:1;
            unsigned short SPB2IO:1;
            unsigned short SPB2DT:1;
        } BIT;
    } SPTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short PER:4;
            unsigned short :2;
            unsigned short FER:4;
            unsigned short :1;
            unsigned short ORER:1;
        } BIT;
    } LSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BGDM:1;
            unsigned char ACS0:1;
            unsigned char BRME:1;
            unsigned char MDDRS:1;
            unsigned char DIR:1;
            unsigned char NFEN:1;
            unsigned char :1;
            unsigned char ABCS0:1;
        } BIT;
    } SEMR;
    char           wk3[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short RTRGS:1;
            unsigned short :2;
            unsigned short RFTC:5;
            unsigned short TTRGS:1;
            unsigned short :2;
            unsigned short TFTC:5;
        } BIT;
    } FTCR;
};

struct st_smci {
    union {
        unsigned char BYTE;
        struct {
            unsigned char GM:1;
            unsigned char BLK:1;
            unsigned char PE:1;
            unsigned char PM:1;
            unsigned char BCP:2;
            unsigned char CKS:2;
        } BIT;
    } SMR;
    char           wk0[3];
//    unsigned char  BRR;
    union {
        unsigned char  BRR;
        unsigned char  MDDR;    
    };
    char           wk1[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char RIE:1;
            unsigned char TE:1;
            unsigned char RE:1;
            unsigned char MPIE:1;
            unsigned char TEIE:1;
            unsigned char CKE:2;
        } BIT;
    } SCR;
    char           wk2[3];
    unsigned char  TDR;
    char           wk3[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char ORER:1;
            unsigned char ERS:1;
            unsigned char PER:1;
            unsigned char TEND:1;
            unsigned char MPB:1;
            unsigned char MPBT:1;
        } BIT;
    } SSR;
    char           wk4[3];
    unsigned char  RDR;
    char           wk5[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCP2:1;
            unsigned char :2;
            unsigned char CHR1:1;
            unsigned char SDIR:1;
            unsigned char SINV:1;
            unsigned char :1;
            unsigned char SMIF:1;
        } BIT;
    } SCMR;
    char           wk6[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char BRME:1;
            unsigned char MDDRS:1;
            unsigned char :1;
            unsigned char ABCS:1;
            unsigned char :1;
            unsigned char RSDMOS:1;
            unsigned char :1;
            unsigned char ACS0:1;
        } BIT;
    } SEMR;
};

struct st_smci0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char GM:1;
            unsigned char BLK:1;
            unsigned char PE:1;
            unsigned char PM:1;
            unsigned char BCP:2;
            unsigned char CKS:2;
        } BIT;
    } SMR;
    unsigned char  BRR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TIE:1;
            unsigned char RIE:1;
            unsigned char TE:1;
            unsigned char RE:1;
            unsigned char MPIE:1;
            unsigned char TEIE:1;
            unsigned char CKE:2;
        } BIT;
    } SCR;
    unsigned char  TDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char ORER:1;
            unsigned char ERS:1;
            unsigned char PER:1;
            unsigned char TEND:1;
            unsigned char MPB:1;
            unsigned char MPBT:1;
        } BIT;
    } SSR;
    unsigned char  RDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char BCP2:1;
            unsigned char :2;
            unsigned char CHR1:1;
            unsigned char SDIR:1;
            unsigned char SINV:1;
            unsigned char :1;
            unsigned char SMIF:1;
        } BIT;
    } SCMR;
};

struct st_src {
    union {
        unsigned long LONG;
        struct {
            unsigned long :10;
            unsigned long SRCFCTR:22;
        } BIT;
    } SRCFCTR[5552];
    char           wk0[2352];
    union {
        unsigned long LONG;
        struct {
            unsigned long B31:1;
            unsigned long B30:1;
            unsigned long B29:1;
            unsigned long B28:1;
            unsigned long B27:1;
            unsigned long B26:1;
            unsigned long B25:1;
            unsigned long B24:1;
            unsigned long B23:1;
            unsigned long B22:1;
            unsigned long B21:1;
            unsigned long B20:1;
            unsigned long B19:1;
            unsigned long B18:1;
            unsigned long B17:1;
            unsigned long B16:1;
            unsigned long B15:1;
            unsigned long B14:1;
            unsigned long B13:1;
            unsigned long B12:1;
            unsigned long B11:1;
            unsigned long B10:1;
            unsigned long B9:1;
            unsigned long B8:1;
            unsigned long B7:1;
            unsigned long B6:1;
            unsigned long B5:1;
            unsigned long B4:1;
            unsigned long B3:1;
            unsigned long B2:1;
            unsigned long B1:1;
            unsigned long B0:1;
        } BIT;
    } SRCID;
    union {
        unsigned long LONG;
        struct {
            unsigned long B31:1;
            unsigned long B30:1;
            unsigned long B29:1;
            unsigned long B28:1;
            unsigned long B27:1;
            unsigned long B26:1;
            unsigned long B25:1;
            unsigned long B24:1;
            unsigned long B23:1;
            unsigned long B22:1;
            unsigned long B21:1;
            unsigned long B20:1;
            unsigned long B19:1;
            unsigned long B18:1;
            unsigned long B17:1;
            unsigned long B16:1;
            unsigned long B15:1;
            unsigned long B14:1;
            unsigned long B13:1;
            unsigned long B12:1;
            unsigned long B11:1;
            unsigned long B10:1;
            unsigned long B9:1;
            unsigned long B8:1;
            unsigned long B7:1;
            unsigned long B6:1;
            unsigned long B5:1;
            unsigned long B4:1;
            unsigned long B3:1;
            unsigned long B2:1;
            unsigned long B1:1;
            unsigned long B0:1;
        } BIT;
    } SRCOD;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short IED:1;
            unsigned short IEN:1;
            unsigned short :6;
            unsigned short IFTRG:2;
        } BIT;
    } SRCIDCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short OCH:1;
            unsigned short OED:1;
            unsigned short OEN:1;
            unsigned short :6;
            unsigned short OFTRG:2;
        } BIT;
    } SRCODCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short FICRAE:1;
            unsigned short :1;
            unsigned short CEEN:1;
            unsigned short SRCEN:1;
            unsigned short UDEN:1;
            unsigned short OVEN:1;
            unsigned short FL:1;
            unsigned short CL:1;
            unsigned short IFS:4;
            unsigned short :1;
            unsigned short OFS:3;
        } BIT;
    } SRCCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short OFDN:5;
            unsigned short IFDN:3;
            unsigned short :2;
            unsigned short CEF:1;
            unsigned short FLF:1;
            unsigned short UDF:1;
            unsigned short OVF:1;
            unsigned short IINIT:1;
            unsigned short OINT:1;
        } BIT;
    } SRCSTAT;
};

struct st_ssi {
    union {
        unsigned long LONG;
        struct {
            unsigned long :1;
            unsigned long CKS:1;
            unsigned long TUIEN:1;
            unsigned long TOIEN:1;
            unsigned long RUIEN:1;
            unsigned long ROIEN:1;
            unsigned long IIEN:1;
            unsigned long :1;
            unsigned long CHNL:2;
            unsigned long DWL:3;
            unsigned long SWL:3;
            unsigned long SCKD:1;
            unsigned long SWSD:1;
            unsigned long SCKP:1;
            unsigned long SWSP:1;
            unsigned long SPDP:1;
            unsigned long SDTA:1;
            unsigned long PDTA:1;
            unsigned long DEL:1;
            unsigned long CKDV:4;
            unsigned long MUEN:1;
            unsigned long :1;
            unsigned long TEN:1;
            unsigned long REN:1;
        } BIT;
    } SSICR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :2;
            unsigned long TUIRQ:1;
            unsigned long TOIRQ:1;
            unsigned long RUIRQ:1;
            unsigned long ROIRQ:1;
            unsigned long IIRQ:1;
            unsigned long :18;
            unsigned long TCHNO:2;
            unsigned long TSWNO:1;
            unsigned long RCHNO:2;
            unsigned long RSWNO:1;
            unsigned long IDST:1;
        } BIT;
    } SSISR;
    char           wk0[8];
    union {
        unsigned long LONG;
        struct {
            unsigned long AUCKE:1;
            unsigned long :23;
            unsigned long TTRG:2;
            unsigned long RTRG:2;
            unsigned long TUE:1;
            unsigned long RIE:1;
            unsigned long TFRST:1;
            unsigned long RFRST:1;
        } BIT;
    } SSIFCR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long TDC:4;
            unsigned long :7;
            unsigned long TDE:1;
            unsigned long :4;
            unsigned long RDC:4;
            unsigned long :7;
            unsigned long RDF:1;
        } BIT;
    } SSIFSR;
    unsigned long  SSIFTDR;
    unsigned long  SSIFRDR;
    union {
        unsigned long LONG;
        struct {
            unsigned long :23;
            unsigned long CONT:1;
        } BIT;
    } SSITDMR;
};

struct st_system {
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short MD:1;
        } BIT;
    } MDMONR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :10;
            unsigned short UBTS:1;
        } BIT;
    } MDSR;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short KEY:8;
            unsigned short :6;
            unsigned short EXBE:1;
            unsigned short ROME:1;
        } BIT;
    } SYSCR0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short SBYRAME:1;
            unsigned short ECCRAME:1;
            unsigned short :5;
            unsigned short RAME:1;
        } BIT;
    } SYSCR1;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short SSBY:1;
            unsigned short OPE:1;
        } BIT;
    } SBYCR;
    char           wk2[2];
    union {
        unsigned long LONG;
        struct {
            unsigned long ACSE:1;
            unsigned long :1;
            unsigned long MSTPA29:1;
            unsigned long MSTPA28:1;
            unsigned long MSTPA27:1;
            unsigned long :7;
            unsigned long MSTPA19:1;
            unsigned long :1;
            unsigned long MSTPA17:1;
            unsigned long MSTPA16:1;
            unsigned long MSTPA15:1;
            unsigned long MSTPA14:1;
            unsigned long MSTPA13:1;
            unsigned long :1;
            unsigned long MSTPA11:1;
            unsigned long MSTPA10:1;
            unsigned long MSTPA9:1;
            unsigned long :1;
            unsigned long MSTPA7:1;
            unsigned long :1;
            unsigned long MSTPA5:1;
            unsigned long MSTPA4:1;
            unsigned long :2;
            unsigned long MSTPA1:1;
            unsigned long MSTPA0:1;
        } BIT;
    } MSTPCRA;
    union {
        unsigned long LONG;
        struct {
            unsigned long MSTPB31:1;
            unsigned long MSTPB30:1;
            unsigned long MSTPB29:1;
            unsigned long MSTPB28:1;
            unsigned long MSTPB27:1;
            unsigned long MSTPB26:1;
            unsigned long MSTPB25:1;
            unsigned long MSTPB24:1;
            unsigned long MSTPB23:1;
            unsigned long MSTPB22:1;
            unsigned long MSTPB21:1;
            unsigned long :1;
            unsigned long MSTPB19:1;
            unsigned long :1;
            unsigned long MSTPB17:1;
            unsigned long :1;
            unsigned long MSTPB15:1;
            unsigned long MSTPB14:1;
            unsigned long :1;
            unsigned long MSTPB12:1;
            unsigned long :2;
            unsigned long MSTPB9:1;
            unsigned long MSTPB8:1;
            unsigned long :1;
            unsigned long MSTPB6:1;
            unsigned long :1;
            unsigned long MSTPB4:1;
            unsigned long :1;
            unsigned long MSTPB2:1;
            unsigned long MSTPB1:1;
            unsigned long MSTPB0:1;
        } BIT;
    } MSTPCRB;
    union {
        unsigned long LONG;
        struct {
            unsigned long :4;
            unsigned long MSTPC27:1;
            unsigned long MSTPC26:1;
            unsigned long MSTPC25:1;
            unsigned long MSTPC24:1;
            unsigned long MSTPC23:1;
            unsigned long :3;
            unsigned long MSTPC19:1;
            unsigned long :1;
            unsigned long MSTPC17:1;
            unsigned long :9;
            unsigned long MSTPC7:1;
            unsigned long :4;
            unsigned long MSTPC2:1;
            unsigned long :1;
            unsigned long MSTPC0:1;
        } BIT;
    } MSTPCRC;
    union {
        unsigned long LONG;
        struct {
            unsigned long MSTPD31:1;
            unsigned long MSTPD30:1;
            unsigned long MSTPD29:1;
            unsigned long MSTPD28:1;
            unsigned long :4;
            unsigned long MSTPD23:1;
            unsigned long :1;
            unsigned long MSTPD21:1;
            unsigned long :1;
            unsigned long MSTPD19:1;
            unsigned long :3;
            unsigned long MSTPD15:1;
            unsigned long MSTPD14:1;
        } BIT;
    } MSTPCRD;
    union {
        unsigned long LONG;
        struct {
            unsigned long FCK:4;
            unsigned long ICK:4;
            unsigned long PSTOP1:1;
            unsigned long PSTOP0:1;
            unsigned long :2;
            unsigned long BCK:4;
            unsigned long PCKA:4;
            unsigned long PCKB:4;
            unsigned long PCKC:4;
            unsigned long PCKD:4;
        } BIT;
    } SCKCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short UCK:4;
        } BIT;
    } SCKCR2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short CKSEL:3;
        } BIT;
    } SCKCR3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short STC:6;
            unsigned short :3;
            unsigned short PLLSRCSEL:1;
            unsigned short :2;
            unsigned short PLIDIV:2;
        } BIT;
    } PLLCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char PLLEN:1;
        } BIT;
    } PLLCR2;
    char           wk3[5];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char BCLKDIV:1;
        } BIT;
    } BCKCR;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char MOSTP:1;
        } BIT;
    } MOSCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char SOSTP:1;
        } BIT;
    } SOSCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char LCSTP:1;
        } BIT;
    } LOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char ILCSTP:1;
        } BIT;
    } ILOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char HCSTP:1;
        } BIT;
    } HOCOCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char HCFRQ:2;
        } BIT;
    } HOCOCR2;
    char           wk6[4];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char ILCOVF:1;
            unsigned char HCOVF:1;
            unsigned char PLOVF:1;
            unsigned char SOOVF:1;
            unsigned char MOOVF:1;
        } BIT;
    } OSCOVFSR;
    char           wk7[3];
    union {
        unsigned char BYTE;
        struct {
            unsigned char OSTDE:1;
            unsigned char :6;
            unsigned char OSTDIE:1;
        } BIT;
    } OSTDCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char OSTDF:1;
        } BIT;
    } OSTDSR;
    char           wk8[94];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char OPCMTSF:1;
            unsigned char :1;
            unsigned char OPCM:3;
        } BIT;
    } OPCCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RSTCKEN:1;
            unsigned char :4;
            unsigned char RSTCKSEL:3;
        } BIT;
    } RSTCKCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char MSTS:8;
        } BIT;
    } MOSCWTCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char SSTS:8;
        } BIT;
    } SOSCWTCR;
    char           wk9[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char SWRF:1;
            unsigned char WDTRF:1;
            unsigned char IWTDRF:1;
        } BIT;
    } RSTSR2;
    char           wk10[1];
    unsigned short SWRR;
    char           wk11[28];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char LVD1IRQSEL:1;
            unsigned char LVD1IDTSEL:2;
        } BIT;
    } LVD1CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char LVD1MON:1;
            unsigned char LVD1DET:1;
        } BIT;
    } LVD1SR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :5;
            unsigned char LVD2IRQSEL:1;
            unsigned char LVD2IDTSEL:2;
        } BIT;
    } LVD2CR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :6;
            unsigned char LVD2MON:1;
            unsigned char LVD2DET:1;
        } BIT;
    } LVD2SR;
    char           wk12[794];
    union {
        unsigned short WORD;
        struct {
            unsigned short PRKEY:8;
            unsigned short :4;
            unsigned short PRC3:1;
            unsigned short :1;
            unsigned short PRC1:1;
            unsigned short PRC0:1;
        } BIT;
    } PRCR;
    char           wk13[48768];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DPSBY:1;
            unsigned char IOKEEP:1;
            unsigned char :4;
            unsigned char DEEPCUT:2;
        } BIT;
    } DPSBYCR;
    char           wk14[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ7E:1;
            unsigned char DIRQ6E:1;
            unsigned char DIRQ5E:1;
            unsigned char DIRQ4E:1;
            unsigned char DIRQ3E:1;
            unsigned char DIRQ2E:1;
            unsigned char DIRQ1E:1;
            unsigned char DIRQ0E:1;
        } BIT;
    } DPSIER0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ15E:1;
            unsigned char DIRQ14E:1;
            unsigned char DIRQ13E:1;
            unsigned char DIRQ12E:1;
            unsigned char DIRQ11E:1;
            unsigned char DIRQ10E:1;
            unsigned char DIRQ9E:1;
            unsigned char DIRQ8E:1;
        } BIT;
    } DPSIER1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DUSBIE:1;
            unsigned char DRIICCIE:1;
            unsigned char DRIICDIE:1;
            unsigned char DNMIE:1;
            unsigned char DRTCAIE:1;
            unsigned char DRTCIIE:1;
            unsigned char DLVD2IE:1;
            unsigned char DLVD1IE:1;
        } BIT;
    } DPSIER2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DCANIE:1;
        } BIT;
    } DPSIER3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ7F:1;
            unsigned char DIRQ6F:1;
            unsigned char DIRQ5F:1;
            unsigned char DIRQ4F:1;
            unsigned char DIRQ3F:1;
            unsigned char DIRQ2F:1;
            unsigned char DIRQ1F:1;
            unsigned char DIRQ0F:1;
        } BIT;
    } DPSIFR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ15F:1;
            unsigned char DIRQ14F:1;
            unsigned char DIRQ13F:1;
            unsigned char DIRQ12F:1;
            unsigned char DIRQ11F:1;
            unsigned char DIRQ10F:1;
            unsigned char DIRQ9F:1;
            unsigned char DIRQ8F:1;
        } BIT;
    } DPSIFR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DUSBIF:1;
            unsigned char DRIICCIF:1;
            unsigned char DRIICDIF:1;
            unsigned char DNMIF:1;
            unsigned char DRTCAIF:1;
            unsigned char DRTCIIF:1;
            unsigned char DLVD2IF:1;
            unsigned char DLVD1IF:1;
        } BIT;
    } DPSIFR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DCANIF:1;
        } BIT;
    } DPSIFR3;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ7EG:1;
            unsigned char DIRQ6EG:1;
            unsigned char DIRQ5EG:1;
            unsigned char DIRQ4EG:1;
            unsigned char DIRQ3EG:1;
            unsigned char DIRQ2EG:1;
            unsigned char DIRQ1EG:1;
            unsigned char DIRQ0EG:1;
        } BIT;
    } DPSIEGR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char DIRQ15EG:1;
            unsigned char DIRQ14EG:1;
            unsigned char DIRQ13EG:1;
            unsigned char DIRQ12EG:1;
            unsigned char DIRQ11EG:1;
            unsigned char DIRQ10EG:1;
            unsigned char DIRQ9EG:1;
            unsigned char DIRQ8EG:1;
        } BIT;
    } DPSIEGR1;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char DRIICCEG:1;
            unsigned char DRIICDEG:1;
            unsigned char DNMIEG:1;
            unsigned char :2;
            unsigned char DLVD2EG:1;
            unsigned char DLVD1EG:1;
        } BIT;
    } DPSIEGR2;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char DCANIEG:1;
        } BIT;
    } DPSIEGR3;
    char           wk15[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char DPSRSTF:1;
            unsigned char :3;
            unsigned char LVD2RF:1;
            unsigned char LVD1RF:1;
            unsigned char LVD0RF:1;
            unsigned char PORF:1;
        } BIT;
    } RSTSR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char CWSF:1;
        } BIT;
    } RSTSR1;
    char           wk16[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char MOSEL:1;
            unsigned char MODRV2:2;
            unsigned char MODRV:3;
            unsigned char MOFXIN:1;
        } BIT;
    } MOFCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char HOCOPCNT:1;
        } BIT;
    } HOCOPCR;
    char           wk17[2];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :1;
            unsigned char LVD2E:1;
            unsigned char LVD1E:1;
        } BIT;
    } LVCMPCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD2LVL:4;
            unsigned char LVD1LVL:4;
        } BIT;
    } LVDLVLR;
    char           wk18[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD1RN:1;
            unsigned char LVD1RI:1;
            unsigned char LVD1FSAMP:2;
            unsigned char :1;
            unsigned char LVD1CMPE:1;
            unsigned char LVD1DFDIS:1;
            unsigned char LVD1RIE:1;
        } BIT;
    } LVD1CR0;
    union {
        unsigned char BYTE;
        struct {
            unsigned char LVD2RN:1;
            unsigned char LVD2RI:1;
            unsigned char LVD2FSAMP:2;
            unsigned char :1;
            unsigned char LVD2CMPE:1;
            unsigned char LVD2DFDIS:1;
            unsigned char LVD2RIE:1;
        } BIT;
    } LVD2CR0;
    char           wk19[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char VBATTMNSEL:1;
        } BIT;
    } VBATTMNSELR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char VBATTMON:1;
        } BIT;
    } VBATTMONR;
    char           wk20[1];
    unsigned char  DPSBKR[32];
    char           wk21[7794020];
    union {
        unsigned long LONG;
        struct {
            unsigned long :29;
            unsigned long MDE:3;
        } BIT;
    } MDE;
    union {
        unsigned long LONG;
        struct {
            unsigned long :3;
            unsigned long WDTRSTIRQS:1;
            unsigned long WDTRPSS:2;
            unsigned long WDTRPES:2;
            unsigned long WDTCKS:4;
            unsigned long WDTTOPS:2;
            unsigned long WDTSTRT:1;
            unsigned long :2;
            unsigned long IWDTSLCSTP:1;
            unsigned long :1;
            unsigned long IWDTRSTIRQS:1;
            unsigned long IWDTRPSS:2;
            unsigned long IWDTRPES:2;
            unsigned long IWDTCKS:4;
            unsigned long IWDTTOPS:2;
            unsigned long IWDTSTRT:1;
        } BIT;
    } OFS0;
    union {
        unsigned long LONG;
        struct {
            unsigned long :23;
            unsigned long HOCOEN:1;
            unsigned long :5;
            unsigned long LVDAS:1;
            unsigned long VDSEL:2;
        } BIT;
    } OFS1;
};

struct st_temps {
    union {
        unsigned char BYTE;
        struct {
            unsigned char TSEN:1;
            unsigned char :2;
            unsigned char TSOE:1;
        } BIT;
    } TSCR;
};

struct st_tmr0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMIEB:1;
            unsigned char CMIEA:1;
            unsigned char OVIE:1;
            unsigned char CCLR:2;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :3;
            unsigned char ADTE:1;
            unsigned char OSB:2;
            unsigned char OSA:2;
        } BIT;
    } TCSR;
    char           wk1[1];
    unsigned char  TCORA;
    char           wk2[1];
    unsigned char  TCORB;
    char           wk3[1];
    unsigned char  TCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMRIS:1;
            unsigned char :2;
            unsigned char CSS:2;
            unsigned char CKS:3;
        } BIT;
    } TCCR;
    char           wk5[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :7;
            unsigned char TCS:1;
        } BIT;
    } TCSTR;
};

struct st_tmr1 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char CMIEB:1;
            unsigned char CMIEA:1;
            unsigned char OVIE:1;
            unsigned char CCLR:2;
        } BIT;
    } TCR;
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :4;
            unsigned char OSB:2;
            unsigned char OSA:2;
        } BIT;
    } TCSR;
    char           wk1[1];
    unsigned char  TCORA;
    char           wk2[1];
    unsigned char  TCORB;
    char           wk3[1];
    unsigned char  TCNT;
    char           wk4[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TMRIS:1;
            unsigned char :2;
            unsigned char CSS:2;
            unsigned char CKS:3;
        } BIT;
    } TCCR;
};

struct st_tmr01 {
    unsigned short TCORA;
    unsigned short TCORB;
    unsigned short TCNT;
    unsigned short TCCR;
};

struct st_tpu0 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk0[7];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :2;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
};

struct st_tpu1 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk1[22];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu2 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk0[37];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu3 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk1[52];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIORH;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOD:4;
            unsigned char IOC:4;
        } BIT;
    } TIORL;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
    unsigned short TGRC;
    unsigned short TGRD;
};

struct st_tpu4 {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk0[67];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk1[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpu5 {
    char           wk0[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char NFCS:2;
            unsigned char NFDEN:1;
            unsigned char NFCEN:1;
            unsigned char NFBEN:1;
            unsigned char NFAEN:1;
        } BIT;
    } NFCR;
    char           wk1[82];
    union {
        unsigned char BYTE;
        struct {
            unsigned char CCLR:3;
            unsigned char CKEG:2;
            unsigned char TPSC:3;
        } BIT;
    } TCR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char ICSELD:1;
            unsigned char ICSELB:1;
            unsigned char BFB:1;
            unsigned char BFA:1;
            unsigned char MD:4;
        } BIT;
    } TMDR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char IOB:4;
            unsigned char IOA:4;
        } BIT;
    } TIOR;
    char           wk2[1];
    union {
        unsigned char BYTE;
        struct {
            unsigned char TTGE:1;
            unsigned char :1;
            unsigned char TCIEU:1;
            unsigned char TCIEV:1;
            unsigned char TGIED:1;
            unsigned char TGIEC:1;
            unsigned char TGIEB:1;
            unsigned char TGIEA:1;
        } BIT;
    } TIER;
    union {
        unsigned char BYTE;
        struct {
            unsigned char TCFD:1;
            unsigned char :1;
            unsigned char TCFU:1;
            unsigned char TCFV:1;
            unsigned char TGFD:1;
            unsigned char TGFC:1;
            unsigned char TGFB:1;
            unsigned char TGFA:1;
        } BIT;
    } TSR;
    unsigned short TCNT;
    unsigned short TGRA;
    unsigned short TGRB;
};

struct st_tpua {
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char CST5:1;
            unsigned char CST4:1;
            unsigned char CST3:1;
            unsigned char CST2:1;
            unsigned char CST1:1;
            unsigned char CST0:1;
        } BIT;
    } TSTR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char :2;
            unsigned char SYNC5:1;
            unsigned char SYNC4:1;
            unsigned char SYNC3:1;
            unsigned char SYNC2:1;
            unsigned char SYNC1:1;
            unsigned char SYNC0:1;
        } BIT;
    } TSYR;
};

struct st_usb {
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DVBSTS0:1;
            unsigned long :1;
            unsigned long DOVCB0:1;
            unsigned long DOVCA0:1;
            unsigned long :2;
            unsigned long DM0:1;
            unsigned long DP0:1;
            unsigned long :11;
            unsigned long FIXPHY0:1;
            unsigned long DRPD0:1;
            unsigned long :1;
            unsigned long RPUE0:1;
            unsigned long SRPC0:1;
        } BIT;
    } DPUSR0R;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DVBINT0:1;
            unsigned long :1;
            unsigned long DOVRCRB0:1;
            unsigned long DOVRCRA0:1;
            unsigned long :2;
            unsigned long DMINT0:1;
            unsigned long DPINT0:1;
            unsigned long :8;
            unsigned long DVBSE0:1;
            unsigned long :1;
            unsigned long DOVRCRBE0:1;
            unsigned long DOVRCRAE0:1;
            unsigned long :2;
            unsigned long DMINTE0:1;
            unsigned long DPINTE0:1;
        } BIT;
    } DPUSR1R;
};

struct st_usb0 {
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short SCKE:1;
            unsigned short :3;
            unsigned short DCFM:1;
            unsigned short DRPD:1;
            unsigned short DPRPU:1;
            unsigned short :3;
            unsigned short USBE:1;
        } BIT;
    } SYSCFG;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short OVCMON:2;
            unsigned short :7;
            unsigned short HTACT:1;
            unsigned short :3;
            unsigned short IDMON:1;
            unsigned short LNST:2;
        } BIT;
    } SYSSTS0;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short HNPBTOA:1;
            unsigned short EXICEN:1;
            unsigned short VBUSEN:1;
            unsigned short WKUP:1;
            unsigned short RWUPE:1;
            unsigned short USBRST:1;
            unsigned short RESUME:1;
            unsigned short UACT:1;
            unsigned short :1;
            unsigned short RHST:3;
        } BIT;
    } DVSTCTR0;
    char           wk2[10];
    unsigned short CFIFO;
    char           wk3[2];
    unsigned short D0FIFO;
    char           wk4[2];
    unsigned short D1FIFO;
    char           wk5[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short :3;
            unsigned short MBW:1;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :2;
            unsigned short ISEL:1;
            unsigned short :1;
            unsigned short CURPIPE:4;
        } BIT;
    } CFIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :4;
            unsigned short DTLN:9;
        } BIT;
    } CFIFOCTR;
    char           wk6[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short DCLRM:1;
            unsigned short DREQE:1;
            unsigned short :1;
            unsigned short MBW:1;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :4;
            unsigned short CURPIPE:4;
        } BIT;
    } D0FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :4;
            unsigned short DTLN:9;
        } BIT;
    } D0FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short DCLRM:1;
            unsigned short DREQE:1;
            unsigned short :1;
            unsigned short MBW:1;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :4;
            unsigned short CURPIPE:4;
        } BIT;
    } D1FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :4;
            unsigned short DTLN:9;
        } BIT;
    } D1FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short VBSE:1;
            unsigned short RSME:1;
            unsigned short SOFE:1;
            unsigned short DVSE:1;
            unsigned short CTRE:1;
            unsigned short BEMPE:1;
            unsigned short NRDYE:1;
            unsigned short BRDYE:1;
        } BIT;
    } INTENB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRCRE:1;
            unsigned short BCHGE:1;
            unsigned short :1;
            unsigned short DTCHE:1;
            unsigned short ATTCHE:1;
            unsigned short :4;
            unsigned short EOFERRE:1;
            unsigned short SIGNE:1;
            unsigned short SACKE:1;
        } BIT;
    } INTENB1;
    char           wk7[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BRDYE:1;
            unsigned short PIPE8BRDYE:1;
            unsigned short PIPE7BRDYE:1;
            unsigned short PIPE6BRDYE:1;
            unsigned short PIPE5BRDYE:1;
            unsigned short PIPE4BRDYE:1;
            unsigned short PIPE3BRDYE:1;
            unsigned short PIPE2BRDYE:1;
            unsigned short PIPE1BRDYE:1;
            unsigned short PIPE0BRDYE:1;
        } BIT;
    } BRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE0NRDYE:1;
        } BIT;
    } NRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BEMPE:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE7BEMPE:1;
            unsigned short PIPE6BEMPE:1;
            unsigned short PIPE5BEMPE:1;
            unsigned short PIPE4BEMPE:1;
            unsigned short PIPE3BEMPE:1;
            unsigned short PIPE2BEMPE:1;
            unsigned short PIPE1BEMPE:1;
            unsigned short PIPE0BEMPE:1;
        } BIT;
    } BEMPENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :7;
            unsigned short TRNENSEL:1;
            unsigned short :1;
            unsigned short BRDYM:1;
            unsigned short :1;
            unsigned short EDGESTS:1;
        } BIT;
    } SOFCFG;
    char           wk8[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short VBINT:1;
            unsigned short RESM:1;
            unsigned short SOFR:1;
            unsigned short DVST:1;
            unsigned short CTRT:1;
            unsigned short BEMP:1;
            unsigned short NRDY:1;
            unsigned short BRDY:1;
            unsigned short VBSTS:1;
            unsigned short DVSQ:3;
            unsigned short VALID:1;
            unsigned short CTSQ:3;
        } BIT;
    } INTSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRCR:1;
            unsigned short BCHG:1;
            unsigned short :1;
            unsigned short DTCH:1;
            unsigned short ATTCH:1;
            unsigned short :4;
            unsigned short EOFERR:1;
            unsigned short SIGN:1;
            unsigned short SACK:1;
        } BIT;
    } INTSTS1;
    char           wk9[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BRDY:1;
            unsigned short PIPE8BRDY:1;
            unsigned short PIPE7BRDY:1;
            unsigned short PIPE6BRDY:1;
            unsigned short PIPE5BRDY:1;
            unsigned short PIPE4BRDY:1;
            unsigned short PIPE3BRDY:1;
            unsigned short PIPE2BRDY:1;
            unsigned short PIPE1BRDY:1;
            unsigned short PIPE0BRDY:1;
        } BIT;
    } BRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9NRDY:1;
            unsigned short PIPE8NRDY:1;
            unsigned short PIPE7NRDY:1;
            unsigned short PIPE6NRDY:1;
            unsigned short PIPE5NRDY:1;
            unsigned short PIPE4NRDY:1;
            unsigned short PIPE3NRDY:1;
            unsigned short PIPE2NRDY:1;
            unsigned short PIPE1NRDY:1;
            unsigned short PIPE0NRDY:1;
        } BIT;
    } NRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BEMP:1;
            unsigned short PIPE8BEMP:1;
            unsigned short PIPE7BEMP:1;
            unsigned short PIPE6BEMP:1;
            unsigned short PIPE5BEMP:1;
            unsigned short PIPE4BEMP:1;
            unsigned short PIPE3BEMP:1;
            unsigned short PIPE2BEMP:1;
            unsigned short PIPE1BEMP:1;
            unsigned short PIPE0BEMP:1;
        } BIT;
    } BEMPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRN:1;
            unsigned short CRCE:1;
            unsigned short :3;
            unsigned short FRNM:11;
        } BIT;
    } FRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short DVCHG:1;
        } BIT;
    } DVCHGR;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short STSRECOV:4;
            unsigned short :1;
            unsigned short USBADDR:7;
        } BIT;
    } USBADDR;
    char           wk10[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short BREQUEST:8;
            unsigned short BMREQUESTTYPE:8;
        } BIT;
    } USBREQ;
    unsigned short USBVAL;
    unsigned short USBINDX;
    unsigned short USBLENG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short SHTNAK:1;
            unsigned short :2;
            unsigned short DIR:1;
        } BIT;
    } DCPCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short DEVSEL:4;
            unsigned short :5;
            unsigned short MXPS:7;
        } BIT;
    } DCPMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short SUREQ:1;
            unsigned short :2;
            unsigned short SUREQCLR:1;
            unsigned short :2;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :2;
            unsigned short CCPL:1;
            unsigned short PID:2;
        } BIT;
    } DCPCTR;
    char           wk11[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :12;
            unsigned short PIPESEL:4;
        } BIT;
    } PIPESEL;
    char           wk12[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short TYPE:2;
            unsigned short :3;
            unsigned short BFRE:1;
            unsigned short DBLB:1;
            unsigned short :1;
            unsigned short SHTNAK:1;
            unsigned short :2;
            unsigned short DIR:1;
            unsigned short EPNUM:4;
        } BIT;
    } PIPECFG;
    char           wk13[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short DEVSEL:4;
            unsigned short :3;
            unsigned short MXPS:9;
        } BIT;
    } PIPEMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short IFIS:1;
            unsigned short :9;
            unsigned short IITV:3;
        } BIT;
    } PIPEPERI;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short :3;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE1CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short :3;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE2CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short :3;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE3CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short :3;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE4CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short :3;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE5CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short :5;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE6CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short :5;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE7CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short :5;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE8CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short :5;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE9CTR;
    char           wk14[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE1TRE;
    unsigned short PIPE1TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE2TRE;
    unsigned short PIPE2TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE3TRE;
    unsigned short PIPE3TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE4TRE;
    unsigned short PIPE4TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE5TRE;
    unsigned short PIPE5TRN;
    char           wk15[44];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD5;
    char           wk16[20];
    union {
        unsigned long LONG;
        struct {
            unsigned long :24;
            unsigned long USBSPD:2;
            unsigned long :2;
            unsigned long SLEWF01:1;
            unsigned long SLEWF00:1;
            unsigned long SLEWR01:1;
            unsigned long SLEWR00:1;
        } BIT;
    } DPUSR2R;
};

struct st_usbhs {
    union {
        unsigned short WORD;
        struct {
            unsigned short :7;
            unsigned short CNEN:1;
            unsigned short HSE:1;
            unsigned short DCFM:1;
            unsigned short DRPD:1;
            unsigned short DPRPU:1;
            unsigned short :3;
            unsigned short USBE:1;
        } BIT;
    } SYSCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :12;
            unsigned short BWAIT:4;
        } BIT;
    } BUSWAIT;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVCMON:2;
            unsigned short :7;
            unsigned short HTACT:1;
            unsigned short :3;
            unsigned short IDMON:1;
            unsigned short LNST:2;
        } BIT;
    } SYSSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :15;
            unsigned short PLLLOCK:1;
        } BIT;
    } PLLSTA;
    union {
        unsigned short WORD;
        struct {
            unsigned short :4;
            unsigned short HNPBTOA:1;
            unsigned short EXICEN:1;
            unsigned short VBUSEN:1;
            unsigned short WKUP:1;
            unsigned short RWUPE:1;
            unsigned short USBRST:1;
            unsigned short RESUME:1;
            unsigned short UACT:1;
            unsigned short :1;
            unsigned short RHST:3;
        } BIT;
    } DVSTCTR0;
    char           wk0[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :12;
            unsigned short UTST:4;
        } BIT;
    } TESTMODE;
    char           wk1[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short DFACC:2;
            unsigned short :7;
            unsigned short TENDE:1;
        } BIT;
    } D0FBCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short DFACC:2;
            unsigned short :7;
            unsigned short TENDE:1;
        } BIT;
    } D1FBCFG;
    unsigned short CFIFO;
    unsigned short CFIFO1;
    unsigned short D0FIFO;
    unsigned short D0FIFO1;
    unsigned short D1FIFO;
    unsigned short D1FIFO1;
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short :2;
            unsigned short MBW:2;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :2;
            unsigned short ISEL:1;
            unsigned short :1;
            unsigned short CURPIPE:4;
        } BIT;
    } CFIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :1;
            unsigned short DTLN:12;
        } BIT;
    } CFIFOCTR;
    char           wk2[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short DCLRM:1;
            unsigned short DREQE:1;
            unsigned short MBW:2;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :4;
            unsigned short CURPIPE:4;
        } BIT;
    } D0FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :1;
            unsigned short DTLN:12;
        } BIT;
    } D0FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short RCNT:1;
            unsigned short REW:1;
            unsigned short DCLRM:1;
            unsigned short DREQE:1;
            unsigned short MBW:2;
            unsigned short :1;
            unsigned short BIGEND:1;
            unsigned short :4;
            unsigned short CURPIPE:4;
        } BIT;
    } D1FIFOSEL;
    union {
        unsigned short WORD;
        struct {
            unsigned short BVAL:1;
            unsigned short BCLR:1;
            unsigned short FRDY:1;
            unsigned short :1;
            unsigned short DTLN:12;
        } BIT;
    } D1FIFOCTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short VBSE:1;
            unsigned short RSME:1;
            unsigned short SOFE:1;
            unsigned short DVSE:1;
            unsigned short CTRE:1;
            unsigned short BEMPE:1;
            unsigned short NRDYE:1;
            unsigned short BRDYE:1;
        } BIT;
    } INTENB0;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRCRE:1;
            unsigned short BCHGE:1;
            unsigned short :1;
            unsigned short DTCHE:1;
            unsigned short ATTCHE:1;
            unsigned short :1;
            unsigned short L1RSMENDE:1;
            unsigned short LPMENDE:1;
            unsigned short :1;
            unsigned short EOFERRE:1;
            unsigned short SIGNE:1;
            unsigned short SACKE:1;
            unsigned short :3;
            unsigned short PDDETINTE:1;
        } BIT;
    } INTENB1;
    char           wk3[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BRDYE:1;
            unsigned short PIPE8BRDYE:1;
            unsigned short PIPE7BRDYE:1;
            unsigned short PIPE6BRDYE:1;
            unsigned short PIPE5BRDYE:1;
            unsigned short PIPE4BRDYE:1;
            unsigned short PIPE3BRDYE:1;
            unsigned short PIPE2BRDYE:1;
            unsigned short PIPE1BRDYE:1;
            unsigned short PIPE0BRDYE:1;
        } BIT;
    } BRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE0NRDYE:1;
        } BIT;
    } NRDYENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BEMPE:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE7BEMPE:1;
            unsigned short PIPE6BEMPE:1;
            unsigned short PIPE5BEMPE:1;
            unsigned short PIPE4BEMPE:1;
            unsigned short PIPE3BEMPE:1;
            unsigned short PIPE2BEMPE:1;
            unsigned short PIPE1BEMPE:1;
            unsigned short PIPE0BEMPE:1;
        } BIT;
    } BEMPENB;
    union {
        unsigned short WORD;
        struct {
            unsigned short :7;
            unsigned short TRNENSEL:1;
            unsigned short :1;
            unsigned short BRDYM:1;
            unsigned short INTL:1;
            unsigned short EDGESTS:1;
            unsigned short SOFM:2;
        } BIT;
    } SOFCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short HSEB:1;
            unsigned short :3;
            unsigned short repstart:1;
            unsigned short :1;
            unsigned short repsel1:1;
            unsigned short repsel0:1;
            unsigned short :2;
            unsigned short clksel1:1;
            unsigned short clksel0:1;
            unsigned short cdpen:1;
            unsigned short :1;
            unsigned short pllreset:1;
            unsigned short dirpd:1;
        } BIT;
    } PHYSET;
    union {
        unsigned short WORD;
        struct {
            unsigned short VBINT:1;
            unsigned short RESM:1;
            unsigned short SOFR:1;
            unsigned short DVST:1;
            unsigned short CTRT:1;
            unsigned short BEMP:1;
            unsigned short NRDY:1;
            unsigned short BRDY:1;
            unsigned short VBSTS:1;
            unsigned short DVSQ:3;
            unsigned short VALID:1;
            unsigned short CTSQ:3;
        } BIT;
    } INTSTS0;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRCR:1;
            unsigned short BCHG:1;
            unsigned short :1;
            unsigned short DTCH:1;
            unsigned short ATTCH:1;
            unsigned short :1;
            unsigned short L1RSMEND:1;
            unsigned short LPMEND:1;
            unsigned short :1;
            unsigned short EOFERR:1;
            unsigned short SIGN:1;
            unsigned short SACK:1;
            unsigned short :3;
            unsigned short PDDETINT:1;
        } BIT;
    } INTSTS1;
    char           wk4[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BRDY:1;
            unsigned short PIPE8BRDY:1;
            unsigned short PIPE7BRDY:1;
            unsigned short PIPE6BRDY:1;
            unsigned short PIPE5BRDY:1;
            unsigned short PIPE4BRDY:1;
            unsigned short PIPE3BRDY:1;
            unsigned short PIPE2BRDY:1;
            unsigned short PIPE1BRDY:1;
            unsigned short PIPE0BRDY:1;
        } BIT;
    } BRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9NRDYE:1;
            unsigned short PIPE8NRDYE:1;
            unsigned short PIPE7NRDYE:1;
            unsigned short PIPE6NRDYE:1;
            unsigned short PIPE5NRDYE:1;
            unsigned short PIPE4NRDYE:1;
            unsigned short PIPE3NRDYE:1;
            unsigned short PIPE2NRDYE:1;
            unsigned short PIPE1NRDYE:1;
            unsigned short PIPE0NRDYE:1;
        } BIT;
    } NRDYSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PIPE9BEMPE:1;
            unsigned short PIPE8BEMPE:1;
            unsigned short PIPE7BENP:1;
            unsigned short PIPE6BENP:1;
            unsigned short PIPE5BENP:1;
            unsigned short PIPE4BENP:1;
            unsigned short PIPE3BENP:1;
            unsigned short PIPE2BENP:1;
            unsigned short PIPE1BENP:1;
            unsigned short PIPE0BENP:1;
        } BIT;
    } BEMPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short OVRN:1;
            unsigned short CRCE:1;
            unsigned short :3;
            unsigned short FRNM:11;
        } BIT;
    } FRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short :13;
            unsigned short UFRNM:3;
        } BIT;
    } UFRMNUM;
    union {
        unsigned short WORD;
        struct {
            unsigned short :9;
            unsigned short USBADDR:7;
        } BIT;
    } USBADDR;
    char           wk5[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short BREQUEST:8;
            unsigned short BMREQUESTTYPE:8;
        } BIT;
    } USBREQ;
    unsigned short USBVAL;
    unsigned short USBINDX;
    unsigned short USBLENG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :11;
            unsigned short DIR:1;
        } BIT;
    } DCPCFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short DEVSEL:4;
            unsigned short :5;
            unsigned short MXPS:7;
        } BIT;
    } DCPMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short SUREQ:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short SUREQCLR:1;
            unsigned short :2;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short PINGE:1;
            unsigned short :1;
            unsigned short CCPL:1;
            unsigned short PID:2;
        } BIT;
    } DCPCTR;
    char           wk6[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short :12;
            unsigned short PIPESEL:4;
        } BIT;
    } PIPESEL;
    char           wk7[2];
    union {
        unsigned short WORD;
        struct {
            unsigned short TYPE:2;
            unsigned short :3;
            unsigned short BFRE:1;
            unsigned short DBLB:1;
            unsigned short CNTMD:1;
            unsigned short SHTNAK:1;
            unsigned short :2;
            unsigned short DIR:1;
            unsigned short EPNUM:4;
        } BIT;
    } PIPECFG;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short BUFSIZE:5;
            unsigned short :2;
            unsigned short BUFNMB:8;
        } BIT;
    } PIPEBUF;
    union {
        unsigned short WORD;
        struct {
            unsigned short DEVSEL:4;
            unsigned short :1;
            unsigned short MXPS:11;
        } BIT;
    } PIPEMAXP;
    union {
        unsigned short WORD;
        struct {
            unsigned short :3;
            unsigned short IFIS:1;
            unsigned short :9;
            unsigned short IITV:3;
        } BIT;
    } PIPEPERI;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE1CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE2CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE3CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE4CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE5CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE6CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE7CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE8CTR;
    union {
        unsigned short WORD;
        struct {
            unsigned short BSTS:1;
            unsigned short INBUFM:1;
            unsigned short CSCLR:1;
            unsigned short CSSTS:1;
            unsigned short :1;
            unsigned short ATREPM:1;
            unsigned short ACLRM:1;
            unsigned short SQCLR:1;
            unsigned short SQSET:1;
            unsigned short SQMON:1;
            unsigned short PBUSY:1;
            unsigned short :3;
            unsigned short PID:2;
        } BIT;
    } PIPE9CTR;
    char           wk8[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE1TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE1TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE2TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE2TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE3TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE3TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE4TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE4TRN;
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short TRENB:1;
            unsigned short TRCLR:1;
        } BIT;
    } PIPE5TRE;
    union {
        unsigned short WORD;
        struct {
            unsigned short TRNCNT:16;
        } BIT;
    } PIPE5TRN;
    char           wk9[44];
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD0;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD2;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD3;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD4;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short UPPHUB:4;
            unsigned short HUBPORT:3;
            unsigned short USBSPD:2;
        } BIT;
    } DEVADD5;
    char           wk10[36];
    union {
        unsigned short WORD;
        struct {
            unsigned short :8;
            unsigned short HWLPM:1;
        } BIT;
    } LPCTRL;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short SUSPENDM:1;
        } BIT;
    } LPSTS;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short SUSMON:1;
            unsigned short :1;
            unsigned short OPMODE:2;
            unsigned short TERMSEL:1;
            unsigned short XCVRSEL:2;
        } BIT;
    } PHYFUNCTR;
    char           wk11[4];
    union {
        unsigned short WORD;
        struct {
            unsigned short :5;
            unsigned short DMPUDWN:1;
            unsigned short DPPUDWN:1;
        } BIT;
    } PHYOTGCTR;
    char           wk12[52];
    union {
        unsigned short WORD;
        struct {
            unsigned short :6;
            unsigned short PDDETSTS:1;
            unsigned short CHGDETSTS:1;
            unsigned short :2;
            unsigned short DCPMODE:1;
            unsigned short VDMSRCE:1;
            unsigned short IDPSINKE:1;
            unsigned short VDPSRCE:1;
            unsigned short IDMSINKE:1;
            unsigned short IDPSRCE:1;
        } BIT;
    } BCCTRL;
    char           wk13[14];
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short impoffset2:1;
            unsigned short impoffset1:1;
            unsigned short impoffset0:1;
            unsigned short hsiup3:1;
            unsigned short hsiup2:1;
            unsigned short hsiup1:1;
            unsigned short hsiup0:1;
            unsigned short pcompenb:1;
            unsigned short :3;
            unsigned short dfall1:1;
            unsigned short dfall0:1;
            unsigned short drise1:1;
            unsigned short drise0:1;
        } BIT;
    } PHYTRIM1;
    union {
        unsigned short WORD;
        struct {
            unsigned short :1;
            unsigned short dis2:1;
            unsigned short dis1:1;
            unsigned short dis0:1;
            unsigned short :2;
            unsigned short prd1:1;
            unsigned short prd0:1;
            unsigned short hsrxenmode:1;
            unsigned short :3;
            unsigned short squ3:1;
            unsigned short squ2:1;
            unsigned short squ1:1;
            unsigned short squ0:1;
        } BIT;
    } PHYTRIM2;
    char           wk14[12];
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DVBSTS:1;
            unsigned long :1;
            unsigned long DOVCB:1;
            unsigned long DOVCA:1;
            unsigned long :2;
            unsigned long DM:1;
            unsigned long DP:1;
            unsigned long :11;
            unsigned long FIXPHY:1;
            unsigned long :3;
            unsigned long SRPC:1;
        } BIT;
    } DPUSR0R;
    union {
        unsigned long LONG;
        struct {
            unsigned long :8;
            unsigned long DVBINT:1;
            unsigned long :1;
            unsigned long DOVRCRB:1;
            unsigned long DOVRCRA:1;
            unsigned long :2;
            unsigned long DMINT:1;
            unsigned long DPINT:1;
            unsigned long :8;
            unsigned long DVBSE:1;
            unsigned long :1;
            unsigned long DOVRCRBE:1;
            unsigned long DOVRCRAE:1;
            unsigned long :2;
            unsigned long DMINTE:1;
            unsigned long DPINTE:1;
        } BIT;
    } DPUSR1R;
};

struct st_wdt {
    unsigned char  WDTRR;
    char           wk0[1];
    union {
        unsigned short WORD;
        struct {
            unsigned short :2;
            unsigned short RPSS:2;
            unsigned short :2;
            unsigned short RPES:2;
            unsigned short CKS:4;
            unsigned short :2;
            unsigned short TOPS:2;
        } BIT;
    } WDTCR;
    union {
        unsigned short WORD;
        struct {
            unsigned short REFEF:1;
            unsigned short UNDFF:1;
            unsigned short CNTVAL:14;
        } BIT;
    } WDTSR;
    union {
        unsigned char BYTE;
        struct {
            unsigned char RSTIRQS:1;
        } BIT;
    } WDTRCR;
};

#endif
enum enum_ir {
IR_BSC_BUSERR=16,IR_RAM_RAMERR=18,
IR_FCU_FIFERR=21,IR_FCU_FRDYI=23,
IR_ICU_SWINT2=26,IR_ICU_SWINT,
IR_CMT0_CMI0,
IR_CMT1_CMI1,
IR_CMTW0_CMWI0,
IR_CMTW_CMWI1,
IR_USBHS_D0FIFO2,IR_USBHS_D1FIFO2,
IR_USB0_D0FIFO0,IR_USB0_D1FIFO0,
IR_RSPI0_SPRI0=38,IR_RSPI0_SPTI0,
IR_QSPI_SPRI=42,IR_QSPI_SPTI,
IR_SDHI_SBFAI,
IR_MMC_MBFAI,
IR_SSI0_SSITXI0,IR_SSI0_SSIRXI0,
IR_SSI1_SSIRTI1,
IR_SRC0_IDEI0=50,IR_SRC0_ODFI0,
IR_RIIC0_RXI0,IR_RIIC0_TXI0,
IR_RIIC2_RXI2,IR_RIIC2_TXI2,
IR_SCI0_RXI0=58,IR_SCI0_TXI0,
IR_SCI1_RXI1,IR_SCI1_TXI1,
IR_SCI2_RXI2,IR_SCI2_TXI2,
IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,IR_ICU_IRQ8,IR_ICU_IRQ9,IR_ICU_IRQ10,IR_ICU_IRQ11,IR_ICU_IRQ12,IR_ICU_IRQ13,IR_ICU_IRQ14,IR_ICU_IRQ15,
IR_SCI3_RXI3,IR_SCI3_TXI3,
IR_SCI4_RXI4,IR_SCI4_TXI4,
IR_SCI5_RXI5,IR_SCI5_TXI5,
IR_SCI6_RXI6,IR_SCI6_TXI6,
IR_LVD1_COMPA1,
IR_LVD2_COMPA2,
IR_USB0_USBR0,
IR_RTC_ALARM,IR_RTC_PRD,
IR_USBHS_HSUSBR,
IR_IWDT_IWUNI,
IR_WDT_WUNI,
IR_SCI7_RXI7,IR_SCI7_TXI7,
IR_SCIF8_RXIF8,IR_SCIF8_TXIF8,
IR_SCIF9_RXIF9,IR_SCIF9_TXIF9,
IR_SCIF10_RXIF10,IR_SCIF10_TXIF10,
IR_ICU_GROUPBE0,IR_ICU_GROUPBE1,IR_ICU_GROUPAE0,IR_ICU_GROUPAE1,IR_ICU_GROUPBL0,IR_ICU_GROUPBL1,IR_ICU_GROUPAL0,IR_ICU_GROUPAL1,
IR_SCIF11_RXIF11,IR_SCIF11_TXIF11,
IR_SCI12_RXI12,IR_SCI12_TXI12,
IR_DMAC_DMAC0I=120,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,IR_DMAC_DMAC74I,
IR_ICU_OST,
IR_EXDMAC_EXDMAC0I,IR_EXDMAC_EXDMAC1I,
IR_PERIB128_INTB128,
IR_PERIB129_INTB129,
IR_PERIB130_INTB130,
IR_PERIB131_INTB131,
IR_PERIB132_INTB132,
IR_PERIB133_INTB133,
IR_PERIB134_INTB134,
IR_PERIB135_INTB135,
IR_PERIB136_INTB136,
IR_PERIB137_INTB137,
IR_PERIB138_INTB138,
IR_PERIB139_INTB139,
IR_PERIB140_INTB140,
IR_PERIB141_INTB141,
IR_PERIB142_INTB142,
IR_PERIB143_INTB143,
IR_PERIB144_INTB144,
IR_PERIB145_INTB145,
IR_PERIB146_INTB146,
IR_PERIB147_INTB147,
IR_PERIB148_INTB148,
IR_PERIB149_INTB149,
IR_PERIB150_INTB150,
IR_PERIB151_INTB151,
IR_PERIB152_INTB152,
IR_PERIB153_INTB153,
IR_PERIB154_INTB154,
IR_PERIB155_INTB155,
IR_PERIB156_INTB156,
IR_PERIB157_INTB157,
IR_PERIB158_INTB158,
IR_PERIB159_INTB159,
IR_PERIB160_INTB160,
IR_PERIB161_INTB161,
IR_PERIB162_INTB162,
IR_PERIB163_INTB163,
IR_PERIB164_INTB164,
IR_PERIB165_INTB165,
IR_PERIB166_INTB166,
IR_PERIB167_INTB167,
IR_PERIB168_INTB168,
IR_PERIB169_INTB169,
IR_PERIB170_INTB170,
IR_PERIB171_INTB171,
IR_PERIB172_INTB172,
IR_PERIB173_INTB173,
IR_PERIB174_INTB174,
IR_PERIB175_INTB175,
IR_PERIB176_INTB176,
IR_PERIB177_INTB177,
IR_PERIB178_INTB178,
IR_PERIB179_INTB179,
IR_PERIB180_INTB180,
IR_PERIB181_INTB181,
IR_PERIB182_INTB182,
IR_PERIB183_INTB183,
IR_PERIB184_INTB184,
IR_PERIB185_INTB185,
IR_PERIB186_INTB186,
IR_PERIB187_INTB187,
IR_PERIB188_INTB188,
IR_PERIB189_INTB189,
IR_PERIB190_INTB190,
IR_PERIB191_INTB191,
IR_PERIB192_INTB192,
IR_PERIB193_INTB193,
IR_PERIB194_INTB194,
IR_PERIB195_INTB195,
IR_PERIB196_INTB196,
IR_PERIB197_INTB197,
IR_PERIB198_INTB198,
IR_PERIB199_INTB199,
IR_PERIB200_INTB200,
IR_PERIB201_INTB201,
IR_PERIB202_INTB202,
IR_PERIB203_INTB203,
IR_PERIB204_INTB204,
IR_PERIB205_INTB205,
IR_PERIB206_INTB206,
IR_PERIB207_INTB207,
IR_PERIA208_INTA208,
IR_PERIA209_INTA209,
IR_PERIA210_INTA210,
IR_PERIA211_INTA211,
IR_PERIA212_INTA212,
IR_PERIA213_INTA213,
IR_PERIA214_INTA214,
IR_PERIA215_INTA215,
IR_PERIA216_INTA216,
IR_PERIA217_INTA217,
IR_PERIA218_INTA218,
IR_PERIA219_INTA219,
IR_PERIA220_INTA220,
IR_PERIA221_INTA221,
IR_PERIA222_INTA222,
IR_PERIA223_INTA223,
IR_PERIA224_INTA224,
IR_PERIA225_INTA225,
IR_PERIA226_INTA226,
IR_PERIA227_INTA227,
IR_PERIA228_INTA228,
IR_PERIA229_INTA229,
IR_PERIA230_INTA230,
IR_PERIA231_INTA231,
IR_PERIA232_INTA232,
IR_PERIA233_INTA233,
IR_PERIA234_INTA234,
IR_PERIA235_INTA235,
IR_PERIA236_INTA236,
IR_PERIA237_INTA237,
IR_PERIA238_INTA238,
IR_PERIA239_INTA239,
IR_PERIA240_INTA240,
IR_PERIA241_INTA241,
IR_PERIA242_INTA242,
IR_PERIA243_INTA243,
IR_PERIA244_INTA244,
IR_PERIA245_INTA245,
IR_PERIA246_INTA246,
IR_PERIA247_INTA247,
IR_PERIA248_INTA248,
IR_PERIA249_INTA249,
IR_PERIA250_INTA250,
IR_PERIA251_INTA251,
IR_PERIA252_INTA252,
IR_PERIA253_INTA253,
IR_PERIA254_INTA254,
IR_PERIA255_INTA255
};

enum enum_dtce {
DTCE_ICU_SWINT2=26,DTCE_ICU_SWINT,
DTCE_CMT0_CMI0,
DTCE_CMT1_CMI1,
DTCE_CMTW0_CMWI0,
DTCE_CMTW_CMWI1,
DTCE_USBHS_D0FIFO2,DTCE_USBHS_D1FIFO2,
DTCE_USB0_D0FIFO0,DTCE_USB0_D1FIFO0,
DTCE_RSPI0_SPRI0=38,DTCE_RSPI0_SPTI0,
DTCE_QSPI_SPRI=42,DTCE_QSPI_SPTI,
DTCE_SDHI_SBFAI,
DTCE_MMC_MBFAI,
DTCE_SSI0_SSITXI0,DTCE_SSI0_SSIRXI0,
DTCE_SSI1_SSIRTI1,
DTCE_SRC0_IDEI0=50,DTCE_SRC0_ODFI0,
DTCE_RIIC0_RXI0,DTCE_RIIC0_TXI0,
DTCE_RIIC2_RXI2,DTCE_RIIC2_TXI2,
DTCE_SCI0_RXI0=58,DTCE_SCI0_TXI0,
DTCE_SCI1_RXI1,DTCE_SCI1_TXI1,
DTCE_SCI2_RXI2,DTCE_SCI2_TXI2,
DTCE_ICU_IRQ0,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7,DTCE_ICU_IRQ8,DTCE_ICU_IRQ9,DTCE_ICU_IRQ10,DTCE_ICU_IRQ11,DTCE_ICU_IRQ12,DTCE_ICU_IRQ13,DTCE_ICU_IRQ14,DTCE_ICU_IRQ15,
DTCE_SCI3_RXI3,DTCE_SCI3_TXI3,
DTCE_SCI4_RXI4,DTCE_SCI4_TXI4,
DTCE_SCI5_RXI5,DTCE_SCI5_TXI5,
DTCE_SCI6_RXI6,DTCE_SCI6_TXI6,
DTCE_PDC_PCDFI=97,
DTCE_SCI7_RXI7,DTCE_SCI7_TXI7,
DTCE_SCIF8_RXIF8,DTCE_SCIF8_TXIF8,
DTCE_SCIF9_RXIF9,DTCE_SCIF9_TXIF9,
DTCE_SCIF10_RXIF10,DTCE_SCIF10_TXIF10,
DTCE_SCIF11_RXIF11=114,DTCE_SCIF11_TXIF11,
DTCE_SCI12_RXI12,DTCE_SCI12_TXI12,
DTCE_DMAC_DMAC0I=120,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
DTCE_EXDMAC_EXDMAC0I=126,DTCE_EXDMAC_EXDMAC1I,
DTCE_PERIB128_INTB128,
DTCE_PERIB129_INTB129,
DTCE_PERIB130_INTB130,
DTCE_PERIB131_INTB131,
DTCE_PERIB132_INTB132,
DTCE_PERIB133_INTB133,
DTCE_PERIB134_INTB134,
DTCE_PERIB135_INTB135,
DTCE_PERIB136_INTB136,
DTCE_PERIB137_INTB137,
DTCE_PERIB138_INTB138,
DTCE_PERIB139_INTB139,
DTCE_PERIB140_INTB140,
DTCE_PERIB141_INTB141,
DTCE_PERIB142_INTB142,
DTCE_PERIB143_INTB143,
DTCE_PERIB144_INTB144,
DTCE_PERIB145_INTB145,
DTCE_PERIB146_INTB146,
DTCE_PERIB147_INTB147,
DTCE_PERIB148_INTB148,
DTCE_PERIB149_INTB149,
DTCE_PERIB150_INTB150,
DTCE_PERIB151_INTB151,
DTCE_PERIB152_INTB152,
DTCE_PERIB153_INTB153,
DTCE_PERIB154_INTB154,
DTCE_PERIB155_INTB155,
DTCE_PERIB156_INTB156,
DTCE_PERIB157_INTB157,
DTCE_PERIB158_INTB158,
DTCE_PERIB159_INTB159,
DTCE_PERIB160_INTB160,
DTCE_PERIB161_INTB161,
DTCE_PERIB162_INTB162,
DTCE_PERIB163_INTB163,
DTCE_PERIB164_INTB164,
DTCE_PERIB165_INTB165,
DTCE_PERIB166_INTB166,
DTCE_PERIB167_INTB167,
DTCE_PERIB168_INTB168,
DTCE_PERIB169_INTB169,
DTCE_PERIB170_INTB170,
DTCE_PERIB171_INTB171,
DTCE_PERIB172_INTB172,
DTCE_PERIB173_INTB173,
DTCE_PERIB174_INTB174,
DTCE_PERIB175_INTB175,
DTCE_PERIB176_INTB176,
DTCE_PERIB177_INTB177,
DTCE_PERIB178_INTB178,
DTCE_PERIB179_INTB179,
DTCE_PERIB180_INTB180,
DTCE_PERIB181_INTB181,
DTCE_PERIB182_INTB182,
DTCE_PERIB183_INTB183,
DTCE_PERIB184_INTB184,
DTCE_PERIB185_INTB185,
DTCE_PERIB186_INTB186,
DTCE_PERIB187_INTB187,
DTCE_PERIB188_INTB188,
DTCE_PERIB189_INTB189,
DTCE_PERIB190_INTB190,
DTCE_PERIB191_INTB191,
DTCE_PERIB192_INTB192,
DTCE_PERIB193_INTB193,
DTCE_PERIB194_INTB194,
DTCE_PERIB195_INTB195,
DTCE_PERIB196_INTB196,
DTCE_PERIB197_INTB197,
DTCE_PERIB198_INTB198,
DTCE_PERIB199_INTB199,
DTCE_PERIB200_INTB200,
DTCE_PERIB201_INTB201,
DTCE_PERIB202_INTB202,
DTCE_PERIB203_INTB203,
DTCE_PERIB204_INTB204,
DTCE_PERIB205_INTB205,
DTCE_PERIB206_INTB206,
DTCE_PERIB207_INTB207,
DTCE_PERIA208_INTA208,
DTCE_PERIA209_INTA209,
DTCE_PERIA210_INTA210,
DTCE_PERIA211_INTA211,
DTCE_PERIA212_INTA212,
DTCE_PERIA213_INTA213,
DTCE_PERIA214_INTA214,
DTCE_PERIA215_INTA215,
DTCE_PERIA216_INTA216,
DTCE_PERIA217_INTA217,
DTCE_PERIA218_INTA218,
DTCE_PERIA219_INTA219,
DTCE_PERIA220_INTA220,
DTCE_PERIA221_INTA221,
DTCE_PERIA222_INTA222,
DTCE_PERIA223_INTA223,
DTCE_PERIA224_INTA224,
DTCE_PERIA225_INTA225,
DTCE_PERIA226_INTA226,
DTCE_PERIA227_INTA227,
DTCE_PERIA228_INTA228,
DTCE_PERIA229_INTA229,
DTCE_PERIA230_INTA230,
DTCE_PERIA231_INTA231,
DTCE_PERIA232_INTA232,
DTCE_PERIA233_INTA233,
DTCE_PERIA234_INTA234,
DTCE_PERIA235_INTA235,
DTCE_PERIA236_INTA236,
DTCE_PERIA237_INTA237,
DTCE_PERIA238_INTA238,
DTCE_PERIA239_INTA239,
DTCE_PERIA240_INTA240,
DTCE_PERIA241_INTA241,
DTCE_PERIA242_INTA242,
DTCE_PERIA243_INTA243,
DTCE_PERIA244_INTA244,
DTCE_PERIA245_INTA245,
DTCE_PERIA246_INTA246,
DTCE_PERIA247_INTA247,
DTCE_PERIA248_INTA248,
DTCE_PERIA249_INTA249,
DTCE_PERIA250_INTA250,
DTCE_PERIA251_INTA251,
DTCE_PERIA252_INTA252,
DTCE_PERIA253_INTA253,
DTCE_PERIA254_INTA254,
DTCE_PERIA255_INTA255
};

enum enum_ier {
IER_BSC_BUSERR=0x02,
IER_RAM_RAMERR=0x02,
IER_FCU_FIFERR=0x02,IER_FCU_FRDYI=0x02,
IER_ICU_SWINT2=0x03,IER_ICU_SWINT=0x03,
IER_CMT0_CMI0=0x03,
IER_CMT1_CMI1=0x03,
IER_CMTW0_CMWI0=0x03,
IER_CMTW_CMWI1=0x03,
IER_USBHS_D0FIFO2=0x04,IER_USBHS_D1FIFO2=0x04,
IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,
IER_RSPI0_SPRI0=0x04,IER_RSPI0_SPTI0=0x04,
IER_QSPI_SPRI=0x05,IER_QSPI_SPTI=0x05,
IER_SDHI_SBFAI=0x05,
IER_MMC_MBFAI=0x05,
IER_SSI0_SSITXI0=0x05,IER_SSI0_SSIRXI0=0x05,
IER_SSI1_SSIRTI1=0x06,
IER_SRC0_IDEI0=0x06,IER_SRC0_ODFI0=0x06,
IER_RIIC0_RXI0=0x06,IER_RIIC0_TXI0=0x06,
IER_RIIC2_RXI2=0x06,IER_RIIC2_TXI2=0x06,
IER_SCI0_RXI0=0x07,IER_SCI0_TXI0=0x07,
IER_SCI1_RXI1=0x07,IER_SCI1_TXI1=0x07,
IER_SCI2_RXI2=0x07,IER_SCI2_TXI2=0x07,
IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08,IER_ICU_IRQ8=0x09,IER_ICU_IRQ9=0x09,IER_ICU_IRQ10=0x09,IER_ICU_IRQ11=0x09,IER_ICU_IRQ12=0x09,IER_ICU_IRQ13=0x09,IER_ICU_IRQ14=0x09,IER_ICU_IRQ15=0x09,
IER_SCI3_RXI3=0x0A,IER_SCI3_TXI3=0x0A,
IER_SCI4_RXI4=0x0A,IER_SCI4_TXI4=0x0A,
IER_SCI5_RXI5=0x0A,IER_SCI5_TXI5=0x0A,
IER_SCI6_RXI6=0x0A,IER_SCI6_TXI6=0x0A,
IER_LVD1_COMPA1=0x0B,
IER_LVD2_COMPA2=0x0B,
IER_USB0_USBR0=0x0B,
IER_RTC_ALARM=0x0B,IER_RTC_PRD=0x0B,
IER_USBHS_HSUSBR=0x0B,
IER_IWDT_IWUNI=0x0B,
IER_WDT_WUNI=0x0C,
IER_PDC_PCDFI=0x0C,
IER_SCI7_RXI7=0x0C,IER_SCI7_TXI7=0x0C,
IER_SCIF8_RXIF8=0x0C,IER_SCIF8_TXIF8=0x0C,
IER_SCIF9_RXIF9=0x0C,IER_SCIF9_TXIF9=0x0C,
IER_SCIF10_RXIF10=0x0D,IER_SCIF10_TXIF10=0x0D,
IER_ICU_GROUPBE0=0x0D,IER_ICU_GROUPBE1=0x0D,IER_ICU_GROUPAE0=0x0D,IER_ICU_GROUPAE1=0x0D,IER_ICU_GROUPBL0=0x0D,IER_ICU_GROUPBL1=0x0D,IER_ICU_GROUPAL0=0x0E,IER_ICU_GROUPAL1=0x0E,
IER_SCIF11_RXIF11=0x0E,IER_SCIF11_TXIF11=0x0E,
IER_SCI12_RXI12=0x0E,IER_SCI12_TXI12=0x0E,
IER_DMAC_DMAC0I=0x0F,IER_DMAC_DMAC1I=0x0F,IER_DMAC_DMAC2I=0x0F,IER_DMAC_DMAC3I=0x0F,IER_DMAC_DMAC74I=0x0F,
IER_ICU_OST=0x0F,
IER_EXDMAC_EXDMAC0I=0x0F,IER_EXDMAC_EXDMAC1I=0x0F,
IER_PERIB128_INTB128=0x10,
IER_PERIB129_INTB129=0x10,
IER_PERIB130_INTB130=0x10,
IER_PERIB131_INTB131=0x10,
IER_PERIB132_INTB132=0x10,
IER_PERIB133_INTB133=0x10,
IER_PERIB134_INTB134=0x10,
IER_PERIB135_INTB135=0x10,
IER_PERIB136_INTB136=0x11,
IER_PERIB137_INTB137=0x11,
IER_PERIB138_INTB138=0x11,
IER_PERIB139_INTB139=0x11,
IER_PERIB140_INTB140=0x11,
IER_PERIB141_INTB141=0x11,
IER_PERIB142_INTB142=0x11,
IER_PERIB143_INTB143=0x11,
IER_PERIB144_INTB144=0x12,
IER_PERIB145_INTB145=0x12,
IER_PERIB146_INTB146=0x12,
IER_PERIB147_INTB147=0x12,
IER_PERIB148_INTB148=0x12,
IER_PERIB149_INTB149=0x12,
IER_PERIB150_INTB150=0x12,
IER_PERIB151_INTB151=0x12,
IER_PERIB152_INTB152=0x13,
IER_PERIB153_INTB153=0x13,
IER_PERIB154_INTB154=0x13,
IER_PERIB155_INTB155=0x13,
IER_PERIB156_INTB156=0x13,
IER_PERIB157_INTB157=0x13,
IER_PERIB158_INTB158=0x13,
IER_PERIB159_INTB159=0x13,
IER_PERIB160_INTB160=0x14,
IER_PERIB161_INTB161=0x14,
IER_PERIB162_INTB162=0x14,
IER_PERIB163_INTB163=0x14,
IER_PERIB164_INTB164=0x14,
IER_PERIB165_INTB165=0x14,
IER_PERIB166_INTB166=0x14,
IER_PERIB167_INTB167=0x14,
IER_PERIB168_INTB168=0x15,
IER_PERIB169_INTB169=0x15,
IER_PERIB170_INTB170=0x15,
IER_PERIB171_INTB171=0x15,
IER_PERIB172_INTB172=0x15,
IER_PERIB173_INTB173=0x15,
IER_PERIB174_INTB174=0x15,
IER_PERIB175_INTB175=0x15,
IER_PERIB176_INTB176=0x16,
IER_PERIB177_INTB177=0x16,
IER_PERIB178_INTB178=0x16,
IER_PERIB179_INTB179=0x16,
IER_PERIB180_INTB180=0x16,
IER_PERIB181_INTB181=0x16,
IER_PERIB182_INTB182=0x16,
IER_PERIB183_INTB183=0x16,
IER_PERIB184_INTB184=0x17,
IER_PERIB185_INTB185=0x17,
IER_PERIB186_INTB186=0x17,
IER_PERIB187_INTB187=0x17,
IER_PERIB188_INTB188=0x17,
IER_PERIB189_INTB189=0x17,
IER_PERIB190_INTB190=0x17,
IER_PERIB191_INTB191=0x17,
IER_PERIB192_INTB192=0x18,
IER_PERIB193_INTB193=0x18,
IER_PERIB194_INTB194=0x18,
IER_PERIB195_INTB195=0x18,
IER_PERIB196_INTB196=0x18,
IER_PERIB197_INTB197=0x18,
IER_PERIB198_INTB198=0x18,
IER_PERIB199_INTB199=0x18,
IER_PERIB200_INTB200=0x19,
IER_PERIB201_INTB201=0x19,
IER_PERIB202_INTB202=0x19,
IER_PERIB203_INTB203=0x19,
IER_PERIB204_INTB204=0x19,
IER_PERIB205_INTB205=0x19,
IER_PERIB206_INTB206=0x19,
IER_PERIB207_INTB207=0x19,
IER_PERIA208_INTA208=0x1A,
IER_PERIA209_INTA209=0x1A,
IER_PERIA210_INTA210=0x1A,
IER_PERIA211_INTA211=0x1A,
IER_PERIA212_INTA212=0x1A,
IER_PERIA213_INTA213=0x1A,
IER_PERIA214_INTA214=0x1A,
IER_PERIA215_INTA215=0x1A,
IER_PERIA216_INTA216=0x1B,
IER_PERIA217_INTA217=0x1B,
IER_PERIA218_INTA218=0x1B,
IER_PERIA219_INTA219=0x1B,
IER_PERIA220_INTA220=0x1B,
IER_PERIA221_INTA221=0x1B,
IER_PERIA222_INTA222=0x1B,
IER_PERIA223_INTA223=0x1B,
IER_PERIA224_INTA224=0x1C,
IER_PERIA225_INTA225=0x1C,
IER_PERIA226_INTA226=0x1C,
IER_PERIA227_INTA227=0x1C,
IER_PERIA228_INTA228=0x1C,
IER_PERIA229_INTA229=0x1C,
IER_PERIA230_INTA230=0x1C,
IER_PERIA231_INTA231=0x1C,
IER_PERIA232_INTA232=0x1D,
IER_PERIA233_INTA233=0x1D,
IER_PERIA234_INTA234=0x1D,
IER_PERIA235_INTA235=0x1D,
IER_PERIA236_INTA236=0x1D,
IER_PERIA237_INTA237=0x1D,
IER_PERIA238_INTA238=0x1D,
IER_PERIA239_INTA239=0x1D,
IER_PERIA240_INTA240=0x1E,
IER_PERIA241_INTA241=0x1E,
IER_PERIA242_INTA242=0x1E,
IER_PERIA243_INTA243=0x1E,
IER_PERIA244_INTA244=0x1E,
IER_PERIA245_INTA245=0x1E,
IER_PERIA246_INTA246=0x1E,
IER_PERIA247_INTA247=0x1E,
IER_PERIA248_INTA248=0x1F,
IER_PERIA249_INTA249=0x1F,
IER_PERIA250_INTA250=0x1F,
IER_PERIA251_INTA251=0x1F,
IER_PERIA252_INTA252=0x1F,
IER_PERIA253_INTA253=0x1F,
IER_PERIA254_INTA254=0x1F,
IER_PERIA255_INTA255=0x1F
};

enum enum_ipr {
IPR_BSC_BUSERR=0,
IPR_RAM_RAMERR=0,
IPR_FCU_FIFERR=1,IPR_FCU_FRDYI=2,
IPR_ICU_SWINT2=3,IPR_ICU_SWINT=3,
IPR_CMT0_CMI0=4,
IPR_CMT1_CMI1=5,
IPR_CMTW0_CMWI0=6,
IPR_CMTW_CMWI1=7,
IPR_USBHS_D0FIFO2=32,IPR_USBHS_D1FIFO2=33,
IPR_USB0_D0FIFO0=34,IPR_USB0_D1FIFO0=35,
IPR_RSPI0_SPRI0=38,IPR_RSPI0_SPTI0=39,
IPR_QSPI_SPRI=42,IPR_QSPI_SPTI=43,
IPR_SDHI_SBFAI=44,
IPR_MMC_MBFAI=45,
IPR_SSI0_SSITXI0=46,IPR_SSI0_SSIRXI0=47,
IPR_SSI1_SSIRTI1=48,
IPR_SRC0_IDEI0=50,IPR_SRC0_ODFI0=51,
IPR_RIIC0_RXI0=52,IPR_RIIC0_TXI0=53,
IPR_RIIC2_RXI2=54,IPR_RIIC2_TXI2=55,
IPR_SCI0_RXI0=58,IPR_SCI0_TXI0=59,
IPR_SCI1_RXI1=60,IPR_SCI1_TXI1=61,
IPR_SCI2_RXI2=62,IPR_SCI2_TXI2=63,
IPR_ICU_IRQ0=64,IPR_ICU_IRQ1=65,IPR_ICU_IRQ2=66,IPR_ICU_IRQ3=67,IPR_ICU_IRQ4=68,IPR_ICU_IRQ5=69,IPR_ICU_IRQ6=70,IPR_ICU_IRQ7=71,IPR_ICU_IRQ8=72,IPR_ICU_IRQ9=73,IPR_ICU_IRQ10=74,IPR_ICU_IRQ11=75,IPR_ICU_IRQ12=76,IPR_ICU_IRQ13=77,IPR_ICU_IRQ14=78,IPR_ICU_IRQ15=79,
IPR_SCI3_RXI3=80,IPR_SCI3_TXI3=81,
IPR_SCI4_RXI4=82,IPR_SCI4_TXI4=83,
IPR_SCI5_RXI5=84,IPR_SCI5_TXI5=85,
IPR_SCI6_RXI6=86,IPR_SCI6_TXI6=87,
IPR_LVD1_COMPA1=88,
IPR_LVD2_COMPA2=89,
IPR_USB0_USBR0=90,
IPR_RTC_ALARM=92,IPR_RTC_PRD=93,
IPR_USBHS_HSUSBR=94,
IPR_IWDT_IWUNI=95,
IPR_WDT_WUNI=96,
IPR_PDC_PCDFI=97,
IPR_SCI7_RXI7=98,IPR_SCI7_TXI7=99,
IPR_SCIF8_RXIF8=100,IPR_SCIF8_TXIF8=101,
IPR_SCIF9_RXIF9=102,IPR_SCIF9_TXIF9=103,
IPR_SCIF10_RXIF10=104,IPR_SCIF10_TXIF10=105,
IPR_ICU_GROUPBE0=106,IPR_ICU_GROUPBE1=107,IPR_ICU_GROUPAE0=108,IPR_ICU_GROUPAE1=109,IPR_ICU_GROUPBL0=110,IPR_ICU_GROUPBL1=111,IPR_ICU_GROUPAL0=112,IPR_ICU_GROUPAL1=113,
IPR_SCIF11_RXIF11=114,IPR_SCIF11_TXIF11=115,
IPR_SCI12_RXI12=116,IPR_SCI12_TXI12=117,
IPR_DMAC_DMAC0I=120,IPR_DMAC_DMAC1I=121,IPR_DMAC_DMAC2I=122,IPR_DMAC_DMAC3I=123,IPR_DMAC_DMAC74I=124,
IPR_ICU_OST=125,
IPR_EXDMAC_EXDMAC0I=126,IPR_EXDMAC_EXDMAC1I=127,
IPR_PERIB128_INTB128=128,
IPR_PERIB129_INTB129=129,
IPR_PERIB130_INTB130=130,
IPR_PERIB131_INTB131=131,
IPR_PERIB132_INTB132=132,
IPR_PERIB133_INTB133=133,
IPR_PERIB134_INTB134=134,
IPR_PERIB135_INTB135=135,
IPR_PERIB136_INTB136=136,
IPR_PERIB137_INTB137=137,
IPR_PERIB138_INTB138=138,
IPR_PERIB139_INTB139=139,
IPR_PERIB140_INTB140=140,
IPR_PERIB141_INTB141=141,
IPR_PERIB142_INTB142=142,
IPR_PERIB143_INTB143=143,
IPR_PERIB144_INTB144=144,
IPR_PERIB145_INTB145=145,
IPR_PERIB146_INTB146=146,
IPR_PERIB147_INTB147=147,
IPR_PERIB148_INTB148=148,
IPR_PERIB149_INTB149=149,
IPR_PERIB150_INTB150=150,
IPR_PERIB151_INTB151=151,
IPR_PERIB152_INTB152=152,
IPR_PERIB153_INTB153=153,
IPR_PERIB154_INTB154=154,
IPR_PERIB155_INTB155=155,
IPR_PERIB156_INTB156=156,
IPR_PERIB157_INTB157=157,
IPR_PERIB158_INTB158=158,
IPR_PERIB159_INTB159=159,
IPR_PERIB160_INTB160=160,
IPR_PERIB161_INTB161=161,
IPR_PERIB162_INTB162=162,
IPR_PERIB163_INTB163=163,
IPR_PERIB164_INTB164=164,
IPR_PERIB165_INTB165=165,
IPR_PERIB166_INTB166=166,
IPR_PERIB167_INTB167=167,
IPR_PERIB168_INTB168=168,
IPR_PERIB169_INTB169=169,
IPR_PERIB170_INTB170=170,
IPR_PERIB171_INTB171=171,
IPR_PERIB172_INTB172=172,
IPR_PERIB173_INTB173=173,
IPR_PERIB174_INTB174=174,
IPR_PERIB175_INTB175=175,
IPR_PERIB176_INTB176=176,
IPR_PERIB177_INTB177=177,
IPR_PERIB178_INTB178=178,
IPR_PERIB179_INTB179=179,
IPR_PERIB180_INTB180=180,
IPR_PERIB181_INTB181=181,
IPR_PERIB182_INTB182=182,
IPR_PERIB183_INTB183=183,
IPR_PERIB184_INTB184=184,
IPR_PERIB185_INTB185=185,
IPR_PERIB186_INTB186=186,
IPR_PERIB187_INTB187=187,
IPR_PERIB188_INTB188=188,
IPR_PERIB189_INTB189=189,
IPR_PERIB190_INTB190=190,
IPR_PERIB191_INTB191=191,
IPR_PERIB192_INTB192=192,
IPR_PERIB193_INTB193=193,
IPR_PERIB194_INTB194=194,
IPR_PERIB195_INTB195=195,
IPR_PERIB196_INTB196=196,
IPR_PERIB197_INTB197=197,
IPR_PERIB198_INTB198=198,
IPR_PERIB199_INTB199=199,
IPR_PERIB200_INTB200=200,
IPR_PERIB201_INTB201=201,
IPR_PERIB202_INTB202=202,
IPR_PERIB203_INTB203=203,
IPR_PERIB204_INTB204=204,
IPR_PERIB205_INTB205=205,
IPR_PERIB206_INTB206=206,
IPR_PERIB207_INTB207=207,
IPR_PERIA208_INTA208=208,
IPR_PERIA209_INTA209=209,
IPR_PERIA210_INTA210=210,
IPR_PERIA211_INTA211=211,
IPR_PERIA212_INTA212=212,
IPR_PERIA213_INTA213=213,
IPR_PERIA214_INTA214=214,
IPR_PERIA215_INTA215=215,
IPR_PERIA216_INTA216=216,
IPR_PERIA217_INTA217=217,
IPR_PERIA218_INTA218=218,
IPR_PERIA219_INTA219=219,
IPR_PERIA220_INTA220=220,
IPR_PERIA221_INTA221=221,
IPR_PERIA222_INTA222=222,
IPR_PERIA223_INTA223=223,
IPR_PERIA224_INTA224=224,
IPR_PERIA225_INTA225=225,
IPR_PERIA226_INTA226=226,
IPR_PERIA227_INTA227=227,
IPR_PERIA228_INTA228=228,
IPR_PERIA229_INTA229=229,
IPR_PERIA230_INTA230=230,
IPR_PERIA231_INTA231=231,
IPR_PERIA232_INTA232=232,
IPR_PERIA233_INTA233=233,
IPR_PERIA234_INTA234=234,
IPR_PERIA235_INTA235=235,
IPR_PERIA236_INTA236=236,
IPR_PERIA237_INTA237=237,
IPR_PERIA238_INTA238=238,
IPR_PERIA239_INTA239=239,
IPR_PERIA240_INTA240=240,
IPR_PERIA241_INTA241=241,
IPR_PERIA242_INTA242=242,
IPR_PERIA243_INTA243=243,
IPR_PERIA244_INTA244=244,
IPR_PERIA245_INTA245=245,
IPR_PERIA246_INTA246=246,
IPR_PERIA247_INTA247=247,
IPR_PERIA248_INTA248=248,
IPR_PERIA249_INTA249=249,
IPR_PERIA250_INTA250=250,
IPR_PERIA251_INTA251=251,
IPR_PERIA252_INTA252=252,
IPR_PERIA253_INTA253=253,
IPR_PERIA254_INTA254=254,
IPR_PERIA255_INTA255=255
};

#define    IEN_BSC_BUSERR        IEN0
#define    IEN_RAM_RAMERR        IEN2
#define    IEN_FCU_FIFERR        IEN5
#define    IEN_FCU_FRDYI        IEN7
#define    IEN_ICU_SWINT2        IEN2
#define    IEN_ICU_SWINT        IEN3
#define    IEN_CMT0_CMI0        IEN4
#define    IEN_CMT1_CMI1        IEN5
#define    IEN_CMTW0_CMWI0        IEN6
#define    IEN_CMTW_CMWI1        IEN7
#define    IEN_USBHS_D0FIFO2    IEN0
#define    IEN_USBHS_D1FIFO2    IEN1
#define    IEN_USB0_D0FIFO0    IEN2
#define    IEN_USB0_D1FIFO0    IEN3
#define    IEN_RSPI0_SPRI0        IEN6
#define    IEN_RSPI0_SPTI0        IEN7
#define    IEN_QSPI_SPRI        IEN2
#define    IEN_QSPI_SPTI        IEN3
#define    IEN_SDHI_SBFAI        IEN4
#define    IEN_MMC_MBFAI        IEN5
#define    IEN_SSI0_SSITXI0    IEN6
#define    IEN_SSI0_SSIRXI0    IEN7
#define    IEN_SSI1_SSIRTI1    IEN0
#define    IEN_SRC0_IDEI0        IEN2
#define    IEN_SRC0_ODFI0        IEN3
#define    IEN_RIIC0_RXI0        IEN4
#define    IEN_RIIC0_TXI0        IEN5
#define    IEN_RIIC2_RXI2        IEN6
#define    IEN_RIIC2_TXI2        IEN7
#define    IEN_SCI0_RXI0        IEN2
#define    IEN_SCI0_TXI0        IEN3
#define    IEN_SCI1_RXI1        IEN4
#define    IEN_SCI1_TXI1        IEN5
#define    IEN_SCI2_RXI2        IEN6
#define    IEN_SCI2_TXI2        IEN7
#define    IEN_ICU_IRQ0        IEN0
#define    IEN_ICU_IRQ1        IEN1
#define    IEN_ICU_IRQ2        IEN2
#define    IEN_ICU_IRQ3        IEN3
#define    IEN_ICU_IRQ4        IEN4
#define    IEN_ICU_IRQ5        IEN5
#define    IEN_ICU_IRQ6        IEN6
#define    IEN_ICU_IRQ7        IEN7
#define    IEN_ICU_IRQ8        IEN0
#define    IEN_ICU_IRQ9        IEN1
#define    IEN_ICU_IRQ10        IEN2
#define    IEN_ICU_IRQ11        IEN3
#define    IEN_ICU_IRQ12        IEN4
#define    IEN_ICU_IRQ13        IEN5
#define    IEN_ICU_IRQ14        IEN6
#define    IEN_ICU_IRQ15        IEN7
#define    IEN_SCI3_RXI3        IEN0
#define    IEN_SCI3_TXI3        IEN1
#define    IEN_SCI4_RXI4        IEN2
#define    IEN_SCI4_TXI4        IEN3
#define    IEN_SCI5_RXI5        IEN4
#define    IEN_SCI5_TXI5        IEN5
#define    IEN_SCI6_RXI6        IEN6
#define    IEN_SCI6_TXI6        IEN7
#define    IEN_LVD1_COMPA1        IEN0
#define    IEN_LVD2_COMPA2        IEN1
#define    IEN_USB0_USBR0        IEN2
#define    IEN_RTC_ALARM        IEN4
#define    IEN_RTC_PRD            IEN5
#define    IEN_USBHS_HSUSBR    IEN6
#define    IEN_IWDT_IWUNI        IEN7
#define    IEN_WDT_WUNI        IEN0
#define    IEN_PDC_PCDFI        IEN1
#define    IEN_SCI7_RXI7        IEN2
#define    IEN_SCI7_TXI7        IEN3
#define    IEN_SCIF8_RXIF8        IEN4
#define    IEN_SCIF8_TXIF8        IEN5
#define    IEN_SCIF9_RXIF9        IEN6
#define    IEN_SCIF9_TXIF9        IEN7
#define    IEN_SCIF10_RXIF10    IEN0
#define    IEN_SCIF10_TXIF10    IEN1
#define    IEN_ICU_GROUPBE0    IEN2
#define    IEN_ICU_GROUPBE1    IEN3
#define    IEN_ICU_GROUPAE0    IEN4
#define    IEN_ICU_GROUPAE1    IEN5
#define    IEN_ICU_GROUPBL0    IEN6
#define    IEN_ICU_GROUPBL1    IEN7
#define    IEN_ICU_GROUPAL0    IEN0
#define    IEN_ICU_GROUPAL1    IEN1
#define    IEN_SCIF11_RXIF11    IEN2
#define    IEN_SCIF11_TXIF11    IEN3
#define    IEN_SCI12_RXI12        IEN4
#define    IEN_SCI12_TXI12        IEN5
#define    IEN_DMAC_DMAC0I        IEN0
#define    IEN_DMAC_DMAC1I        IEN1
#define    IEN_DMAC_DMAC2I        IEN2
#define    IEN_DMAC_DMAC3I        IEN3
#define    IEN_DMAC_DMAC74I    IEN4
#define    IEN_ICU_OST            IEN5
#define    IEN_EXDMAC_EXDMAC0I    IEN6
#define    IEN_EXDMAC_EXDMAC1I    IEN7
#define    IEN_PERIB128_INTB128    IEN0
#define    IEN_PERIB129_INTB129    IEN1
#define    IEN_PERIB130_INTB130    IEN2
#define    IEN_PERIB131_INTB131    IEN3
#define    IEN_PERIB132_INTB132    IEN4
#define    IEN_PERIB133_INTB133    IEN5
#define    IEN_PERIB134_INTB134    IEN6
#define    IEN_PERIB135_INTB135    IEN7
#define    IEN_PERIB136_INTB136    IEN0
#define    IEN_PERIB137_INTB137    IEN1
#define    IEN_PERIB138_INTB138    IEN2
#define    IEN_PERIB139_INTB139    IEN3
#define    IEN_PERIB140_INTB140    IEN4
#define    IEN_PERIB141_INTB141    IEN5
#define    IEN_PERIB142_INTB142    IEN6
#define    IEN_PERIB143_INTB143    IEN7
#define    IEN_PERIB144_INTB144    IEN0
#define    IEN_PERIB145_INTB145    IEN1
#define    IEN_PERIB146_INTB146    IEN2
#define    IEN_PERIB147_INTB147    IEN3
#define    IEN_PERIB148_INTB148    IEN4
#define    IEN_PERIB149_INTB149    IEN5
#define    IEN_PERIB150_INTB150    IEN6
#define    IEN_PERIB151_INTB151    IEN7
#define    IEN_PERIB152_INTB152    IEN0
#define    IEN_PERIB153_INTB153    IEN1
#define    IEN_PERIB154_INTB154    IEN2
#define    IEN_PERIB155_INTB155    IEN3
#define    IEN_PERIB156_INTB156    IEN4
#define    IEN_PERIB157_INTB157    IEN5
#define    IEN_PERIB158_INTB158    IEN6
#define    IEN_PERIB159_INTB159    IEN7
#define    IEN_PERIB160_INTB160    IEN0
#define    IEN_PERIB161_INTB161    IEN1
#define    IEN_PERIB162_INTB162    IEN2
#define    IEN_PERIB163_INTB163    IEN3
#define    IEN_PERIB164_INTB164    IEN4
#define    IEN_PERIB165_INTB165    IEN5
#define    IEN_PERIB166_INTB166    IEN6
#define    IEN_PERIB167_INTB167    IEN7
#define    IEN_PERIB168_INTB168    IEN0
#define    IEN_PERIB169_INTB169    IEN1
#define    IEN_PERIB170_INTB170    IEN2
#define    IEN_PERIB171_INTB171    IEN3
#define    IEN_PERIB172_INTB172    IEN4
#define    IEN_PERIB173_INTB173    IEN5
#define    IEN_PERIB174_INTB174    IEN6
#define    IEN_PERIB175_INTB175    IEN7
#define    IEN_PERIB176_INTB176    IEN0
#define    IEN_PERIB177_INTB177    IEN1
#define    IEN_PERIB178_INTB178    IEN2
#define    IEN_PERIB179_INTB179    IEN3
#define    IEN_PERIB180_INTB180    IEN4
#define    IEN_PERIB181_INTB181    IEN5
#define    IEN_PERIB182_INTB182    IEN6
#define    IEN_PERIB183_INTB183    IEN7
#define    IEN_PERIB184_INTB184    IEN0
#define    IEN_PERIB185_INTB185    IEN1
#define    IEN_PERIB186_INTB186    IEN2
#define    IEN_PERIB187_INTB187    IEN3
#define    IEN_PERIB188_INTB188    IEN4
#define    IEN_PERIB189_INTB189    IEN5
#define    IEN_PERIB190_INTB190    IEN6
#define    IEN_PERIB191_INTB191    IEN7
#define    IEN_PERIB192_INTB192    IEN0
#define    IEN_PERIB193_INTB193    IEN1
#define    IEN_PERIB194_INTB194    IEN2
#define    IEN_PERIB195_INTB195    IEN3
#define    IEN_PERIB196_INTB196    IEN4
#define    IEN_PERIB197_INTB197    IEN5
#define    IEN_PERIB198_INTB198    IEN6
#define    IEN_PERIB199_INTB199    IEN7
#define    IEN_PERIB200_INTB200    IEN0
#define    IEN_PERIB201_INTB201    IEN1
#define    IEN_PERIB202_INTB202    IEN2
#define    IEN_PERIB203_INTB203    IEN3
#define    IEN_PERIB204_INTB204    IEN4
#define    IEN_PERIB205_INTB205    IEN5
#define    IEN_PERIB206_INTB206    IEN6
#define    IEN_PERIB207_INTB207    IEN7
#define    IEN_PERIA208_INTA208    IEN0
#define    IEN_PERIA209_INTA209    IEN1
#define    IEN_PERIA210_INTA210    IEN2
#define    IEN_PERIA211_INTA211    IEN3
#define    IEN_PERIA212_INTA212    IEN4
#define    IEN_PERIA213_INTA213    IEN5
#define    IEN_PERIA214_INTA214    IEN6
#define    IEN_PERIA215_INTA215    IEN7
#define    IEN_PERIA216_INTA216    IEN0
#define    IEN_PERIA217_INTA217    IEN1
#define    IEN_PERIA218_INTA218    IEN2
#define    IEN_PERIA219_INTA219    IEN3
#define    IEN_PERIA220_INTA220    IEN4
#define    IEN_PERIA221_INTA221    IEN5
#define    IEN_PERIA222_INTA222    IEN6
#define    IEN_PERIA223_INTA223    IEN7
#define    IEN_PERIA224_INTA224    IEN0
#define    IEN_PERIA225_INTA225    IEN1
#define    IEN_PERIA226_INTA226    IEN2
#define    IEN_PERIA227_INTA227    IEN3
#define    IEN_PERIA228_INTA228    IEN4
#define    IEN_PERIA229_INTA229    IEN5
#define    IEN_PERIA230_INTA230    IEN6
#define    IEN_PERIA231_INTA231    IEN7
#define    IEN_PERIA232_INTA232    IEN0
#define    IEN_PERIA233_INTA233    IEN1
#define    IEN_PERIA234_INTA234    IEN2
#define    IEN_PERIA235_INTA235    IEN3
#define    IEN_PERIA236_INTA236    IEN4
#define    IEN_PERIA237_INTA237    IEN5
#define    IEN_PERIA238_INTA238    IEN6
#define    IEN_PERIA239_INTA239    IEN7
#define    IEN_PERIA240_INTA240    IEN0
#define    IEN_PERIA241_INTA241    IEN1
#define    IEN_PERIA242_INTA242    IEN2
#define    IEN_PERIA243_INTA243    IEN3
#define    IEN_PERIA244_INTA244    IEN4
#define    IEN_PERIA245_INTA245    IEN5
#define    IEN_PERIA246_INTA246    IEN6
#define    IEN_PERIA247_INTA247    IEN7
#define    IEN_PERIA248_INTA248    IEN0
#define    IEN_PERIA249_INTA249    IEN1
#define    IEN_PERIA250_INTA250    IEN2
#define    IEN_PERIA251_INTA251    IEN3
#define    IEN_PERIA252_INTA252    IEN4
#define    IEN_PERIA253_INTA253    IEN5
#define    IEN_PERIA254_INTA254    IEN6
#define    IEN_PERIA255_INTA255    IEN7

#define    VECT_BSC_BUSERR        16
#define    VECT_RAM_RAMERR        18
#define    VECT_FCU_FIFERR        21
#define    VECT_FCU_FRDYI        23
#define    VECT_ICU_SWINT2        26
#define    VECT_ICU_SWINT        27
#define    VECT_CMT0_CMI0        28
#define    VECT_CMT1_CMI1        29
#define    VECT_CMTW0_CMWI0    30
#define    VECT_CMTW_CMWI1        31
#define    VECT_USBHS_D0FIFO2    32
#define    VECT_USBHS_D1FIFO2    33
#define    VECT_USB0_D0FIFO0    34
#define    VECT_USB0_D1FIFO0    35
#define    VECT_RSPI0_SPRI0    38
#define    VECT_RSPI0_SPTI0    39
#define    VECT_QSPI_SPRI        42
#define    VECT_QSPI_SPTI        43
#define    VECT_SDHI_SBFAI        44
#define    VECT_MMC_MBFAI        45
#define    VECT_SSI0_SSITXI0    46
#define    VECT_SSI0_SSIRXI0    47
#define    VECT_SSI1_SSIRTI1    48
#define    VECT_SRC0_IDEI0        50
#define    VECT_SRC0_ODFI0        51
#define    VECT_RIIC0_RXI0        52
#define    VECT_RIIC0_TXI0        53
#define    VECT_RIIC2_RXI2        54
#define    VECT_RIIC2_TXI2        55
#define    VECT_SCI0_RXI0        58
#define    VECT_SCI0_TXI0        59
#define    VECT_SCI1_RXI1        60
#define    VECT_SCI1_TXI1        61
#define    VECT_SCI2_RXI2        62
#define    VECT_SCI2_TXI2        63
#define    VECT_ICU_IRQ0        64
#define    VECT_ICU_IRQ1        65
#define    VECT_ICU_IRQ2        66
#define    VECT_ICU_IRQ3        67
#define    VECT_ICU_IRQ4        68
#define    VECT_ICU_IRQ5        69
#define    VECT_ICU_IRQ6        70
#define    VECT_ICU_IRQ7        71
#define    VECT_ICU_IRQ8        72
#define    VECT_ICU_IRQ9        73
#define    VECT_ICU_IRQ10        74
#define    VECT_ICU_IRQ11        75
#define    VECT_ICU_IRQ12        76
#define    VECT_ICU_IRQ13        77
#define    VECT_ICU_IRQ14        78
#define    VECT_ICU_IRQ15        79
#define    VECT_SCI3_RXI3        80
#define    VECT_SCI3_TXI3        81
#define    VECT_SCI4_RXI4        82
#define    VECT_SCI4_TXI4        83
#define    VECT_SCI5_RXI5        84
#define    VECT_SCI5_TXI5        85
#define    VECT_SCI6_RXI6        86
#define    VECT_SCI6_TXI6        87
#define    VECT_LVD1_COMPA1    88
#define    VECT_LVD2_COMPA2    89
#define    VECT_USB0_USBR0        90
#define    VECT_RTC_ALARM        92
#define    VECT_RTC_PRD        93
#define    VECT_USBHS_HSUSBR    94
#define    VECT_IWDT_IWUNI        95
#define    VECT_WDT_WUNI        96
#define    VECT_PDC_PCDFI        97
#define    VECT_SCI7_RXI7        98
#define    VECT_SCI7_TXI7        99
#define    VECT_SCIF8_RXIF8    100
#define    VECT_SCIF8_TXIF8    101
#define    VECT_SCIF9_RXIF9    102
#define    VECT_SCIF9_TXIF9    103
#define    VECT_SCIF10_RXIF10    104
#define    VECT_SCIF10_TXIF10    105
#define    VECT_ICU_GROUPBE0    106
#define    VECT_ICU_GROUPBE1    107
#define    VECT_ICU_GROUPAE0    108
#define    VECT_ICU_GROUPAE1    109
#define    VECT_ICU_GROUPBL0    110
#define    VECT_ICU_GROUPBL1    111
#define    VECT_ICU_GROUPAL0    112
#define    VECT_ICU_GROUPAL1    113
#define    VECT_SCIF11_RXIF11    114
#define    VECT_SCIF11_TXIF11    115
#define    VECT_SCI12_RXI12    116
#define    VECT_SCI12_TXI12    117
#define    VECT_DMAC_DMAC0I    120
#define    VECT_DMAC_DMAC1I    121
#define    VECT_DMAC_DMAC2I    122
#define    VECT_DMAC_DMAC3I    123
#define    VECT_DMAC_DMAC74I    124
#define    VECT_ICU_OST        125
#define    VECT_EXDMAC_EXDMAC0I    126
#define    VECT_EXDMAC_EXDMAC1I    127
#define    VECT_PERIB128_INTB128    128
#define    VECT_PERIB129_INTB129    129
#define    VECT_PERIB130_INTB130    130
#define    VECT_PERIB131_INTB131    131
#define    VECT_PERIB132_INTB132    132
#define    VECT_PERIB133_INTB133    133
#define    VECT_PERIB134_INTB134    134
#define    VECT_PERIB135_INTB135    135
#define    VECT_PERIB136_INTB136    136
#define    VECT_PERIB137_INTB137    137
#define    VECT_PERIB138_INTB138    138
#define    VECT_PERIB139_INTB139    139
#define    VECT_PERIB140_INTB140    140
#define    VECT_PERIB141_INTB141    141
#define    VECT_PERIB142_INTB142    142
#define    VECT_PERIB143_INTB143    143
#define    VECT_PERIB144_INTB144    144
#define    VECT_PERIB145_INTB145    145
#define    VECT_PERIB146_INTB146    146
#define    VECT_PERIB147_INTB147    147
#define    VECT_PERIB148_INTB148    148
#define    VECT_PERIB149_INTB149    149
#define    VECT_PERIB150_INTB150    150
#define    VECT_PERIB151_INTB151    151
#define    VECT_PERIB152_INTB152    152
#define    VECT_PERIB153_INTB153    153
#define    VECT_PERIB154_INTB154    154
#define    VECT_PERIB155_INTB155    155
#define    VECT_PERIB156_INTB156    156
#define    VECT_PERIB157_INTB157    157
#define    VECT_PERIB158_INTB158    158
#define    VECT_PERIB159_INTB159    159
#define    VECT_PERIB160_INTB160    160
#define    VECT_PERIB161_INTB161    161
#define    VECT_PERIB162_INTB162    162
#define    VECT_PERIB163_INTB163    163
#define    VECT_PERIB164_INTB164    164
#define    VECT_PERIB165_INTB165    165
#define    VECT_PERIB166_INTB166    166
#define    VECT_PERIB167_INTB167    167
#define    VECT_PERIB168_INTB168    168
#define    VECT_PERIB169_INTB169    169
#define    VECT_PERIB170_INTB170    170
#define    VECT_PERIB171_INTB171    171
#define    VECT_PERIB172_INTB172    172
#define    VECT_PERIB173_INTB173    173
#define    VECT_PERIB174_INTB174    174
#define    VECT_PERIB175_INTB175    175
#define    VECT_PERIB176_INTB176    176
#define    VECT_PERIB177_INTB177    177
#define    VECT_PERIB178_INTB178    178
#define    VECT_PERIB179_INTB179    179
#define    VECT_PERIB180_INTB180    180
#define    VECT_PERIB181_INTB181    181
#define    VECT_PERIB182_INTB182    182
#define    VECT_PERIB183_INTB183    183
#define    VECT_PERIB184_INTB184    184
#define    VECT_PERIB185_INTB185    185
#define    VECT_PERIB186_INTB186    186
#define    VECT_PERIB187_INTB187    187
#define    VECT_PERIB188_INTB188    188
#define    VECT_PERIB189_INTB189    189
#define    VECT_PERIB190_INTB190    190
#define    VECT_PERIB191_INTB191    191
#define    VECT_PERIB192_INTB192    192
#define    VECT_PERIB193_INTB193    193
#define    VECT_PERIB194_INTB194    194
#define    VECT_PERIB195_INTB195    195
#define    VECT_PERIB196_INTB196    196
#define    VECT_PERIB197_INTB197    197
#define    VECT_PERIB198_INTB198    198
#define    VECT_PERIB199_INTB199    199
#define    VECT_PERIB200_INTB200    200
#define    VECT_PERIB201_INTB201    201
#define    VECT_PERIB202_INTB202    202
#define    VECT_PERIB203_INTB203    203
#define    VECT_PERIB204_INTB204    204
#define    VECT_PERIB205_INTB205    205
#define    VECT_PERIB206_INTB206    206
#define    VECT_PERIB207_INTB207    207
#define    VECT_PERIA208_INTA208    208
#define    VECT_PERIA209_INTA209    209
#define    VECT_PERIA210_INTA210    210
#define    VECT_PERIA211_INTA211    211
#define    VECT_PERIA212_INTA212    212
#define    VECT_PERIA213_INTA213    213
#define    VECT_PERIA214_INTA214    214
#define    VECT_PERIA215_INTA215    215
#define    VECT_PERIA216_INTA216    216
#define    VECT_PERIA217_INTA217    217
#define    VECT_PERIA218_INTA218    218
#define    VECT_PERIA219_INTA219    219
#define    VECT_PERIA220_INTA220    220
#define    VECT_PERIA221_INTA221    221
#define    VECT_PERIA222_INTA222    222
#define    VECT_PERIA223_INTA223    223
#define    VECT_PERIA224_INTA224    224
#define    VECT_PERIA225_INTA225    225
#define    VECT_PERIA226_INTA226    226
#define    VECT_PERIA227_INTA227    227
#define    VECT_PERIA228_INTA228    228
#define    VECT_PERIA229_INTA229    229
#define    VECT_PERIA230_INTA230    230
#define    VECT_PERIA231_INTA231    231
#define    VECT_PERIA232_INTA232    232
#define    VECT_PERIA233_INTA233    233
#define    VECT_PERIA234_INTA234    234
#define    VECT_PERIA235_INTA235    235
#define    VECT_PERIA236_INTA236    236
#define    VECT_PERIA237_INTA237    237
#define    VECT_PERIA238_INTA238    238
#define    VECT_PERIA239_INTA239    239
#define    VECT_PERIA240_INTA240    240
#define    VECT_PERIA241_INTA241    241
#define    VECT_PERIA242_INTA242    242
#define    VECT_PERIA243_INTA243    243
#define    VECT_PERIA244_INTA244    244
#define    VECT_PERIA245_INTA245    245
#define    VECT_PERIA246_INTA246    246
#define    VECT_PERIA247_INTA247    247
#define    VECT_PERIA248_INTA248    248
#define    VECT_PERIA249_INTA249    249
#define    VECT_PERIA250_INTA250    250
#define    VECT_PERIA251_INTA251    251
#define    VECT_PERIA252_INTA252    252
#define    VECT_PERIA253_INTA253    253
#define    VECT_PERIA254_INTA254    254
#define    VECT_PERIA255_INTA255    255

#define    MSTP_EXDMAC    SYSTEM.MSTPCRA.BIT.MSTPA29
#define    MSTP_EXDMAC0    SYSTEM.MSTPCRA.BIT.MSTPA29
#define    MSTP_EXDMAC1    SYSTEM.MSTPCRA.BIT.MSTPA29
#define    MSTP_DTC    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC0    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC1    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC2    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC3    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC4    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC5    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC6    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DMAC7    SYSTEM.MSTPCRA.BIT.MSTPA28
#define    MSTP_DA        SYSTEM.MSTPCRA.BIT.MSTPA19
#define    MSTP_S12AD    SYSTEM.MSTPCRA.BIT.MSTPA17
#define    MSTP_S12AD1    SYSTEM.MSTPCRA.BIT.MSTPA16
#define    MSTP_CMT0    SYSTEM.MSTPCRA.BIT.MSTPA15
#define    MSTP_CMT1    SYSTEM.MSTPCRA.BIT.MSTPA15
#define    MSTP_CMT2    SYSTEM.MSTPCRA.BIT.MSTPA14
#define    MSTP_CMT3    SYSTEM.MSTPCRA.BIT.MSTPA14
#define    MSTP_TPU0    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_TPU1    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_TPU2    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_TPU3    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_TPU4    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_TPU5    SYSTEM.MSTPCRA.BIT.MSTPA13
#define    MSTP_PPG0    SYSTEM.MSTPCRA.BIT.MSTPA11
#define    MSTP_PPG1    SYSTEM.MSTPCRA.BIT.MSTPA10
#define    MSTP_MTU3    SYSTEM.MSTPCRA.BIT.MSTPA9
#define    MSTP_GPT    SYSTEM.MSTPCRA.BIT.MSTPA7
#define    MSTP_GPT0    SYSTEM.MSTPCRA.BIT.MSTPA7
#define    MSTP_GPT1    SYSTEM.MSTPCRA.BIT.MSTPA7
#define    MSTP_GPT2    SYSTEM.MSTPCRA.BIT.MSTPA7
#define    MSTP_GPT3    SYSTEM.MSTPCRA.BIT.MSTPA7
#define    MSTP_TMR0    SYSTEM.MSTPCRA.BIT.MSTPA5
#define    MSTP_TMR1    SYSTEM.MSTPCRA.BIT.MSTPA5
#define    MSTP_TMR2    SYSTEM.MSTPCRA.BIT.MSTPA4
#define    MSTP_TMR3    SYSTEM.MSTPCRA.BIT.MSTPA4
#define    MSTP_CMTW1    SYSTEM.MSTPCRA.BIT.MSTPA1
#define    MSTP_CMTW0    SYSTEM.MSTPCRA.BIT.MSTPA0
#define    MSTP_SCI0    SYSTEM.MSTPCRB.BIT.MSTPB31
#define    MSTP_SMCI0    SYSTEM.MSTPCRB.BIT.MSTPB31
#define    MSTP_SCI1    SYSTEM.MSTPCRB.BIT.MSTPB30
#define    MSTP_SMCI1    SYSTEM.MSTPCRB.BIT.MSTPB30
#define    MSTP_SCI2    SYSTEM.MSTPCRB.BIT.MSTPB29
#define    MSTP_SMCI2    SYSTEM.MSTPCRB.BIT.MSTPB29
#define    MSTP_SCI3    SYSTEM.MSTPCRB.BIT.MSTPB28
#define    MSTP_SMCI3    SYSTEM.MSTPCRB.BIT.MSTPB28
#define    MSTP_SCI4    SYSTEM.MSTPCRB.BIT.MSTPB27
#define    MSTP_SMCI4    SYSTEM.MSTPCRB.BIT.MSTPB27
#define    MSTP_SCI5    SYSTEM.MSTPCRB.BIT.MSTPB26
#define    MSTP_SMCI5    SYSTEM.MSTPCRB.BIT.MSTPB26
#define    MSTP_SCI6    SYSTEM.MSTPCRB.BIT.MSTPB25
#define    MSTP_SMCI6    SYSTEM.MSTPCRB.BIT.MSTPB25
#define    MSTP_SCI7    SYSTEM.MSTPCRB.BIT.MSTPB24
#define    MSTP_SMCI7    SYSTEM.MSTPCRB.BIT.MSTPB24
#define    MSTP_CRC    SYSTEM.MSTPCRB.BIT.MSTPB23
#define    MSTP_DCU    SYSTEM.MSTPCRB.BIT.MSTPB22
#define    MSTP_RIIC0    SYSTEM.MSTPCRB.BIT.MSTPB21
#define    MSTP_USB0    SYSTEM.MSTPCRB.BIT.MSTPB19
#define    MSTP_RSPI0    SYSTEM.MSTPCRB.BIT.MSTPB17
#define    MSTP_EDMAC0    SYSTEM.MSTPCRB.BIT.MSTPB15
#define    MSTP_EDMAC1    SYSTEM.MSTPCRB.BIT.MSTPB14
#define    MSTP_USBHS    SYSTEM.MSTPCRB.BIT.MSTPB12
#define    MSTP_ELC    SYSTEM.MSTPCRB.BIT.MSTPB9
#define    MSTP_TEMPS    SYSTEM.MSTPCRB.BIT.MSTPB8
#define    MSTP_DOC    SYSTEM.MSTPCRB.BIT.MSTPB6
#define    MSTP_SCI12    SYSTEM.MSTPCRB.BIT.MSTPB4
#define    MSTP_SMCI12    SYSTEM.MSTPCRB.BIT.MSTPB4
#define    MSTP_CAN2    SYSTEM.MSTPCRB.BIT.MSTPB2
#define    MSTP_CAN1    SYSTEM.MSTPCRB.BIT.MSTPB1
#define    MSTP_CAN0    SYSTEM.MSTPCRB.BIT.MSTPB0
#define    MSTP_SCIF8    SYSTEM.MSTPCRC.BIT.MSTPC27
#define    MSTP_SCIF9    SYSTEM.MSTPCRC.BIT.MSTPC26
#define    MSTP_SCIF10    SYSTEM.MSTPCRC.BIT.MSTPC25
#define    MSTP_SCIF11    SYSTEM.MSTPCRC.BIT.MSTPC24
#define    MSTP_QSPI    SYSTEM.MSTPCRC.BIT.MSTPC23
#define    MSTP_CAC    SYSTEM.MSTPCRC.BIT.MSTPC19
#define    MSTP_RIIC2    SYSTEM.MSTPCRC.BIT.MSTPC17
#define    MSTP_STBYRAM    SYSTEM.MSTPCRC.BIT.MSTPC7
#define    MSTP_ECCRAM    SYSTEM.MSTPCRC.BIT.MSTPC2
#define    MSTP_RAM0    SYSTEM.MSTPCRC.BIT.MSTPC0
#define    MSTP_AES    SYSTEM.MSTPCRD.BIT.MSTPD31
#define    MSTP_DES    SYSTEM.MSTPCRD.BIT.MSTPD30
#define    MSTP_SHA    SYSTEM.MSTPCRD.BIT.MSTPD29
#define    MSTP_RNG    SYSTEM.MSTPCRD.BIT.MSTPD28
#define    MSTP_SRC    SYSTEM.MSTPCRD.BIT.MSTPD23
#define    MSTP_MMC    SYSTEM.MSTPCRD.BIT.MSTPD21
#define    MSTP_SDHI    SYSTEM.MSTPCRD.BIT.MSTPD19
#define    MSTP_SSI0    SYSTEM.MSTPCRD.BIT.MSTPD15
#define    MSTP_SSI1    SYSTEM.MSTPCRD.BIT.MSTPD14

#define    __IR( x )        ICU.IR[ IR ## x ].BIT.IR
#define     _IR( x )        __IR( x )
#define      IR( x , y )    _IR( _ ## x ## _ ## y )
#define    __DTCE( x )        ICU.DTCER[ DTCE ## x ].BIT.DTCE
#define     _DTCE( x )        __DTCE( x )
#define      DTCE( x , y )    _DTCE( _ ## x ## _ ## y )
#define    __IEN( x )        ICU.IER[ IER ## x ].BIT.IEN ## x
#define     _IEN( x )        __IEN( x )
#define      IEN( x , y )    _IEN( _ ## x ## _ ## y )
#define    __IPR( x )        ICU.IPR[ IPR ## x ].BIT.IPR
#define     _IPR( x )        __IPR( x )
#define      IPR( x , y )    _IPR( _ ## x ## _ ## y )
#define    __VECT( x )        VECT ## x
#define     _VECT( x )        __VECT( x )
#define      VECT( x , y )    _VECT( _ ## x ## _ ## y )
#define    __MSTP( x )        MSTP ## x
#define     _MSTP( x )        __MSTP( x )
#define      MSTP( x )        _MSTP( _ ## x )

#define    BSC        (*(volatile struct st_bsc     *)0x81300)
#define    CAC        (*(volatile struct st_cac     *)0x8B000)
#define    CAN0    (*(volatile struct st_can     *)0x90200)
#define    CAN1    (*(volatile struct st_can     *)0x91200)
#define    CAN2    (*(volatile struct st_can     *)0x92200)
#define    CMT        (*(volatile struct st_cmt     *)0x88000)
#define    CMT0    (*(volatile struct st_cmt0    *)0x88002)
#define    CMT1    (*(volatile struct st_cmt0    *)0x88008)
#define    CMT2    (*(volatile struct st_cmt0    *)0x88012)
#define    CMT3    (*(volatile struct st_cmt0    *)0x88018)
#define    CMTW0    (*(volatile struct st_cmtw    *)0x94200)
#define    CMTW1    (*(volatile struct st_cmtw    *)0x94280)
#define    CRC        (*(volatile struct st_crc     *)0x88280)
#define    DA        (*(volatile struct st_da      *)0x88040)
#define    DMAC    (*(volatile struct st_dmac    *)0x82200)
#define    DMAC0    (*(volatile struct st_dmac0   *)0x82000)
#define    DMAC1    (*(volatile struct st_dmac1   *)0x82040)
#define    DMAC2    (*(volatile struct st_dmac1   *)0x82080)
#define    DMAC3    (*(volatile struct st_dmac1   *)0x820C0)
#define    DMAC4    (*(volatile struct st_dmac1   *)0x82100)
#define    DMAC5    (*(volatile struct st_dmac1   *)0x82140)
#define    DMAC6    (*(volatile struct st_dmac1   *)0x82180)
#define    DMAC7    (*(volatile struct st_dmac1   *)0x821C0)
#define    DOC        (*(volatile struct st_doc     *)0x8B080)
#define    DTC        (*(volatile struct st_dtc     *)0x82400)
#define    ECCRAM    (*(volatile struct st_eccram  *)0x812C0)
#define    EDMAC0    (*(volatile struct st_edmac   *)0xC0000)
#define    EDMAC1    (*(volatile struct st_edmac   *)0xC0200)
#define    EDMACP    (*(volatile struct st_edmacp  *)0xC0400)
#define    ELC        (*(volatile struct st_elc     *)0x8B100)
#define    EPTPC    (*(volatile struct st_eptpc   *)0xC0500)
#define    EPTPCS0    (*(volatile struct st_eptpcs  *)0xC4800)
#define    EPTPCS1    (*(volatile struct st_eptpcs  *)0xC4C00)
#define    ETHERC0    (*(volatile struct st_etherc  *)0xC0100)
#define    ETHERC1    (*(volatile struct st_etherc  *)0xC0300)
#define    EXDMAC    (*(volatile struct st_exdmac  *)0x82A00)
#define    EXDMAC0    (*(volatile struct st_exdmac0 *)0x82800)
#define    EXDMAC1    (*(volatile struct st_exdmac1 *)0x82840)
#define    GPT        (*(volatile struct st_gpt     *)0xC2000)
#define    GPT0    (*(volatile struct st_gpt0    *)0xC2100)
#define    GPT1    (*(volatile struct st_gpt0    *)0xC2180)
#define    GPT2    (*(volatile struct st_gpt0    *)0xC2200)
#define    GPT3    (*(volatile struct st_gpt0    *)0xC2280)
#define    ICU        (*(volatile struct st_icu     *)0x87000)
#define    IWDT    (*(volatile struct st_iwdt    *)0x88030)
#define    MMC        (*(volatile struct st_mmc     *)0x88500)
#define    MPC        (*(volatile struct st_mpc     *)0x8C100)
#define    MPU        (*(volatile struct st_mpu     *)0x86400)
#define    MTU        (*(volatile struct st_mtu     *)0xC120A)
#define    MTU0    (*(volatile struct st_mtu0    *)0xC1290)
#define    MTU1    (*(volatile struct st_mtu1    *)0xC1290)
#define    MTU2    (*(volatile struct st_mtu2    *)0xC1292)
#define    MTU3    (*(volatile struct st_mtu3    *)0xC1200)
#define    MTU4    (*(volatile struct st_mtu4    *)0xC1200)
#define    MTU5    (*(volatile struct st_mtu5    *)0xC1294)
#define    MTU6    (*(volatile struct st_mtu6    *)0xC12A2)
#define    MTU7    (*(volatile struct st_mtu7    *)0xC12A4)
#define    MTU8    (*(volatile struct st_mtu8    *)0xC1298)
#define    PDC        (*(volatile struct st_pdc     *)0xA0500)
#define    POE3    (*(volatile struct st_poe     *)0x8C4C0)
#define    PORT0    (*(volatile struct st_port0   *)0x8C000)
#define    PORT1    (*(volatile struct st_port1   *)0x8C001)
#define    PORT2    (*(volatile struct st_port2   *)0x8C002)
#define    PORT3    (*(volatile struct st_port3   *)0x8C003)
#define    PORT4    (*(volatile struct st_port4   *)0x8C004)
#define    PORT5    (*(volatile struct st_port5   *)0x8C005)
#define    PORT6    (*(volatile struct st_port6   *)0x8C006)
#define    PORT7    (*(volatile struct st_port7   *)0x8C007)
#define    PORT8    (*(volatile struct st_port8   *)0x8C008)
#define    PORT9    (*(volatile struct st_port9   *)0x8C009)
#define    PORTA    (*(volatile struct st_porta   *)0x8C00A)
#define    PORTB    (*(volatile struct st_portb   *)0x8C00B)
#define    PORTC    (*(volatile struct st_portc   *)0x8C00C)
#define    PORTD    (*(volatile struct st_portd   *)0x8C00D)
#define    PORTE    (*(volatile struct st_porte   *)0x8C00E)
#define    PORTF    (*(volatile struct st_portf   *)0x8C00F)
#define    PORTG    (*(volatile struct st_portg   *)0x8C010)
#define    PORTJ    (*(volatile struct st_portj   *)0x8C012)
#define    PPG0    (*(volatile struct st_ppg0    *)0x881E6)
#define    PPG1    (*(volatile struct st_ppg1    *)0x881F0)
#define    QSPI    (*(volatile struct st_qspi    *)0x89E00)
#define    RIIC0    (*(volatile struct st_riic0   *)0x88300)
#define    RIIC2    (*(volatile struct st_riic2   *)0x88340)
#define    RSPI0    (*(volatile struct st_rspi0   *)0xD0100)
#define    RTC        (*(volatile struct st_rtc     *)0x8C400)
#define    RTCB    (*(volatile struct st_rtcb    *)0x8C402)
#define    S12AD    (*(volatile struct st_s12ad   *)0x89000)
#define    S12AD1    (*(volatile struct st_s12ad1  *)0x89104)
#define    SCI0    (*(volatile struct st_sci0    *)0x8A000)
#define    SCI1    (*(volatile struct st_sci0    *)0x8A020)
#define    SCI2    (*(volatile struct st_sci0    *)0x8A040)
#define    SCI3    (*(volatile struct st_sci0    *)0x8A060)
#define    SCI4    (*(volatile struct st_sci0    *)0x8A080)
#define    SCI5    (*(volatile struct st_sci0    *)0x8A0A0)
#define    SCI6    (*(volatile struct st_sci0    *)0x8A0C0)
#define    SCI7    (*(volatile struct st_sci0    *)0x8A0E0)
#define    SCI12    (*(volatile struct st_sci12   *)0x8B300)
//#define    SCIA    (*(volatile struct st_scia    *)0x88484)
//#define    SCIF10A    (*(volatile struct st_scia    *)0xD0042)
//#define    SCIF11A    (*(volatile struct st_scia    *)0xD0062)
#define    SCIF8    (*(volatile struct st_scif    *)0xD0000)
#define    SCIF9    (*(volatile struct st_scif    *)0xD0020)
#define    SCIF10    (*(volatile struct st_scif    *)0xD0040)
#define    SCIF11    (*(volatile struct st_scif    *)0xD0060)
//#define    SCIF8A    (*(volatile struct st_scia    *)0xD0002)
//#define    SCIF9A    (*(volatile struct st_scia    *)0xD0022)
#define    SMCI    (*(volatile struct st_smci    *)0x88480)
#define    SMCI0    (*(volatile struct st_smci0   *)0x8A000)
#define    SMCI1    (*(volatile struct st_smci0   *)0x8A020)
#define    SMCI2    (*(volatile struct st_smci0   *)0x8A040)
#define    SMCI3    (*(volatile struct st_smci0   *)0x8A060)
#define    SMCI4    (*(volatile struct st_smci0   *)0x8A080)
#define    SMCI5    (*(volatile struct st_smci0   *)0x8A0A0)
#define    SMCI6    (*(volatile struct st_smci0   *)0x8A0C0)
#define    SMCI7    (*(volatile struct st_smci0   *)0x8A0E0)
#define    SMCI12    (*(volatile struct st_smci0   *)0x8B300)
//#define    SMCIA    (*(volatile struct st_scia    *)0x88484)
#define    SRC        (*(volatile struct st_src     *)0x98000)
#define    SSI0    (*(volatile struct st_ssi     *)0x8A500)
#define    SSI1    (*(volatile struct st_ssi     *)0x8A540)
#define    SYSTEM    (*(volatile struct st_system  *)0x80000)
#define    TEMPS    (*(volatile struct st_temps   *)0x8C500)
#define    TMR0    (*(volatile struct st_tmr0    *)0x88200)
#define    TMR1    (*(volatile struct st_tmr1    *)0x88201)
#define    TMR2    (*(volatile struct st_tmr0    *)0x88210)
#define    TMR3    (*(volatile struct st_tmr1    *)0x88211)
#define    TMR01    (*(volatile struct st_tmr01   *)0x88204)
#define    TMR23    (*(volatile struct st_tmr01   *)0x88214)
#define    TPU0    (*(volatile struct st_tpu0    *)0x88108)
#define    TPU1    (*(volatile struct st_tpu1    *)0x88108)
#define    TPU2    (*(volatile struct st_tpu2    *)0x8810A)
#define    TPU3    (*(volatile struct st_tpu3    *)0x8810A)
#define    TPU4    (*(volatile struct st_tpu4    *)0x8810C)
#define    TPU5    (*(volatile struct st_tpu5    *)0x8810C)
#define    TPUA    (*(volatile struct st_tpua    *)0x88100)
#define    USB        (*(volatile struct st_usb     *)0xA0400)
#define    USB0    (*(volatile struct st_usb0    *)0xA0000)
#define    USBHS    (*(volatile struct st_usbhs   *)0xD0400)
#define    WDT        (*(volatile struct st_wdt     *)0x88020)
#endif
