Don't like ads? PRO users don't see any ads ;-)
Guest

Renesas Micrium IODefine.h

By: a guest on Mar 26th, 2012  |  syntax: C  |  size: 391.22 KB  |  hits: 142  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /********************************************************************************/
  2. /*                                                                              */
  3. /* Summary    : Definition of I/O Register.                                     */
  4. /* Version    : V1.1  (2010-04-21)  [Hardware Manual Revision : 0.50]           */
  5. /* File Name  : iodefine.h for KPIT GNURX                                       */
  6. /* Device     : RX/RX600/RX62N                                                  */
  7. /*                                                                              */
  8. /*  Copyright(c) 2010 Renesas Electronics Corp.                                 */
  9. /*                  And Renesas Solutions Corp. ,All Rights Reserved.           */
  10. /*                                                                              */
  11. /********************************************************************************/
  12. /*                                                                              */
  13. /*  CPU TYPE    : RX62N                                                         */
  14. /*  DESCRIPTION : Definition of ICU Register                                    */
  15. /*                                                                              */
  16. /*  Usage : IR,DTCER,IER,IPR of ICU Register                                    */
  17. /*     The following IR, DTCE, IEN, IPR macro functions simplify usage.         */
  18. /*     The bit access operation is "Bit_Name(interrupt source,name)".           */
  19. /*     A part of the name can be omitted.                                       */
  20. /*       IR(MTU0,TGIA0) = 0;     expands to :                                   */
  21. /*     for example :                                                            */
  22. /*         ICU.IR[114].BIT.IR = 0;                                              */
  23. /*                                                                              */
  24. /*       DTCE(ICU,IRQ0) = 1;     expands to :                                   */
  25. /*         ICU.DTCER[64].BIT.DTCE = 1;                                          */
  26. /*                                                                              */
  27. /*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
  28. /*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
  29. /*                                                                              */
  30. /*       IPR(MTU1,TGIA1) = 2;    expands to :                                   */
  31. /*       IPR(MTU1,TGI  ) = 2;    // TGIA1,TGIB1 share IPR level.                */
  32. /*         ICU.IPR[0x53].BIT.IPR = 2;                                           */
  33. /*                                                                              */
  34. /*       IPR(SCI0,ERI0) = 3;     expands to :                                   */
  35. /*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
  36. /*         ICU.IPR[0x80].BIT.IPR = 3;                                           */
  37. /*                                                                              */
  38. /*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
  39. /*     The number of vector is "(interrupt source, name)".                      */
  40. /*       #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0))          expands to :  */
  41. /*     for example :                                                            */
  42. /*       #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0))    expands to :  */
  43. /*       #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0))  expands to :  */
  44. /*                                                                              */
  45. /*  Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register                          */
  46. /*     The bit access operation is "MSTP(name)".                                */
  47. /*     The name that can be used is a macro name defined with "iodefine.h".     */
  48. /*       MSTP(TMR2) = 0;    // TMR2,TMR3,TMR23                    expands to :  */
  49. /*     for example :                                                            */
  50. /*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
  51. /*       MSTP(SCI0) = 0;    // SCI0,SMCI0                         expands to :  */
  52. /*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
  53. /*       MSTP(MTU4) = 0;    // MTUA,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5 expands to :  */
  54. /*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
  55. /*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
  56. /*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
  57. /*                                                                              */
  58. /********************************************************************************/
  59.  
  60. #ifndef IODEFINE_H
  61. #define IODEFINE_H
  62.  
  63. #ifdef __RX_LITTLE_ENDIAN__             /*Little endian*/
  64.  
  65. struct st_system {
  66.     union {
  67.         unsigned short WORD;
  68.         struct {
  69.             unsigned short MD0:1;
  70.             unsigned short MD1:1;
  71.             unsigned short :5;
  72.             unsigned short MDE:1;
  73.             unsigned short :8;
  74.         } BIT;
  75.     } MDMONR;
  76.     union {
  77.         unsigned short WORD;
  78.         struct {
  79.             unsigned short IROM:1;
  80.             unsigned short EXB:1;
  81.             unsigned short BSW:2;
  82.             unsigned short BOTS:1;
  83.             unsigned short :1;
  84.             unsigned short UBTS:1;
  85.             unsigned short :9;
  86.         } BIT;
  87.     } MDSR;
  88.     unsigned char wk0[2];
  89.     union {
  90.         unsigned short WORD;
  91.         struct {
  92.             unsigned short ROME:1;
  93.             unsigned short EXBE:1;
  94.             unsigned short :6;
  95.             unsigned short KEY:8;
  96.         } BIT;
  97.     } SYSCR0;
  98.     union {
  99.         unsigned short WORD;
  100.         struct {
  101.             unsigned short RAME:1;
  102.             unsigned short :15;
  103.         } BIT;
  104.     } SYSCR1;
  105.     unsigned char wk1[2];
  106.     union {
  107.         unsigned short WORD;
  108.         struct {
  109.             unsigned short :8;
  110.             unsigned short STS:5;
  111.             unsigned short :1;
  112.             unsigned short OPE:1;
  113.             unsigned short SSBY:1;
  114.         } BIT;
  115.     } SBYCR;
  116.     unsigned char wk2[2];
  117.     union {
  118.         unsigned long LONG;
  119.         struct {
  120.             unsigned long :4;
  121.             unsigned long MSTPA4:1;
  122.             unsigned long MSTPA5:1;
  123.             unsigned long :2;
  124.             unsigned long MSTPA8:1;
  125.             unsigned long MSTPA9:1;
  126.             unsigned long MSTPA10:1;
  127.             unsigned long MSTPA11:1;
  128.             unsigned long :2;
  129.             unsigned long MSTPA14:1;
  130.             unsigned long MSTPA15:1;
  131.             unsigned long :1;
  132.             unsigned long MSTPA17:1;
  133.             unsigned long :1;
  134.             unsigned long MSTPA19:1;
  135.             unsigned long :2;
  136.             unsigned long MSTPA22:1;
  137.             unsigned long MSTPA23:1;
  138.             unsigned long :4;
  139.             unsigned long MSTPA28:1;
  140.             unsigned long MSTPA29:1;
  141.             unsigned long :1;
  142.             unsigned long ACSE:1;
  143.         } BIT;
  144.     } MSTPCRA;
  145.     union {
  146.         unsigned long LONG;
  147.         struct {
  148.             unsigned long MSTPB0:1;
  149.             unsigned long :14;
  150.             unsigned long MSTPB15:1;
  151.             unsigned long MSTPB16:1;
  152.             unsigned long MSTPB17:1;
  153.             unsigned long MSTPB18:1;
  154.             unsigned long MSTPB19:1;
  155.             unsigned long MSTPB20:1;
  156.             unsigned long MSTPB21:1;
  157.             unsigned long :1;
  158.             unsigned long MSTPB23:1;
  159.             unsigned long :1;
  160.             unsigned long MSTPB25:1;
  161.             unsigned long MSTPB26:1;
  162.             unsigned long :1;
  163.             unsigned long MSTPB28:1;
  164.             unsigned long MSTPB29:1;
  165.             unsigned long MSTPB30:1;
  166.             unsigned long MSTPB31:1;
  167.         } BIT;
  168.     } MSTPCRB;
  169.     union {
  170.         unsigned long LONG;
  171.         struct {
  172.             unsigned long MSTPC0:1;
  173.             unsigned long MSTPC1:1;
  174.             unsigned long :30;
  175.         } BIT;
  176.     } MSTPCRC;
  177.     unsigned char wk3[4];
  178.     union {
  179.         unsigned long LONG;
  180.         struct {
  181.             unsigned long :8;
  182.             unsigned long PCK:4;
  183.             unsigned long :4;
  184.             unsigned long BCK:4;
  185.             unsigned long :2;
  186.             unsigned long PSTOP0:1;
  187.             unsigned long PSTOP1:1;
  188.             unsigned long ICK:4;
  189.             unsigned long :4;
  190.         } BIT;
  191.     } SCKCR;
  192.     unsigned char wk4[12];
  193.     union {
  194.         unsigned char BYTE;
  195.         struct {
  196.             unsigned char BCLKDIV:1;
  197.             unsigned char :7;
  198.         } BIT;
  199.     } BCKCR;
  200.     unsigned char wk5[15];
  201.     union {
  202.         unsigned short WORD;
  203.         struct {
  204.             unsigned short :6;
  205.             unsigned short OSTDF:1;
  206.             unsigned short OSTDE:1;
  207.             unsigned short KEY:8;
  208.         } BIT;
  209.     } OSTDCR;
  210.     unsigned char wk6[49726];
  211.     union {
  212.         unsigned char BYTE;
  213.         struct {
  214.             unsigned char RAMCUT0:1;
  215.             unsigned char :3;
  216.             unsigned char RAMCUT1:1;
  217.             unsigned char RAMCUT2:1;
  218.             unsigned char IOKEEP:1;
  219.             unsigned char DPSBY:1;
  220.         } BIT;
  221.     } DPSBYCR;
  222.     union {
  223.         unsigned char BYTE;
  224.         struct {
  225.             unsigned char WTSTS:6;
  226.             unsigned char :2;
  227.         } BIT;
  228.     } DPSWCR;
  229.     union {
  230.         unsigned char BYTE;
  231.         struct {
  232.             unsigned char DIRQ0E:1;
  233.             unsigned char DIRQ1E:1;
  234.             unsigned char DIRQ2E:1;
  235.             unsigned char DIRQ3E:1;
  236.             unsigned char DLVDE:1;
  237.             unsigned char DRTCE:1;
  238.             unsigned char DUSBE:1;
  239.             unsigned char DNMIE:1;
  240.         } BIT;
  241.     } DPSIER;
  242.     union {
  243.         unsigned char BYTE;
  244.         struct {
  245.             unsigned char DIRQ0F:1;
  246.             unsigned char DIRQ1F:1;
  247.             unsigned char DIRQ2F:1;
  248.             unsigned char DIRQ3F:1;
  249.             unsigned char DLVDF:1;
  250.             unsigned char DRTCFF:1;
  251.             unsigned char DUSBF:1;
  252.             unsigned char DNMIF:1;
  253.         } BIT;
  254.     } DPSIFR;
  255.     union {
  256.         unsigned char BYTE;
  257.         struct {
  258.             unsigned char DIRQ0EG:1;
  259.             unsigned char DIRQ1EG:1;
  260.             unsigned char DIRQ2EG:1;
  261.             unsigned char DIRQ3EG:1;
  262.             unsigned char :3;
  263.             unsigned char DNMIEG:1;
  264.         } BIT;
  265.     } DPSIEGR;
  266.     union {
  267.         unsigned char BYTE;
  268.         struct {
  269.             unsigned char PORF:1;
  270.             unsigned char LVD1F:1;
  271.             unsigned char LVD2F:1;
  272.             unsigned char :4;
  273.             unsigned char DPSRSTF:1;
  274.         } BIT;
  275.     } RSTSR;
  276.     unsigned char wk7[4];
  277.     union {
  278.         unsigned char BYTE;
  279.         struct {
  280.             unsigned char SUBSTOP:1;
  281.             unsigned char :7;
  282.         } BIT;
  283.     } SUBOSCCR;
  284.     unsigned char wk8[1];
  285.     unsigned char LVDKEYR;
  286.     union {
  287.         unsigned char BYTE;
  288.         struct {
  289.             unsigned char :2;
  290.             unsigned char LVD1RI:1;
  291.             unsigned char LVD1E:1;
  292.             unsigned char :2;
  293.             unsigned char LVD2RI:1;
  294.             unsigned char LVD2E:1;
  295.         } BIT;
  296.     } LVDCR;
  297.     unsigned char wk9[2];
  298.     unsigned char DPSBKR[32];
  299. };
  300.  
  301. struct st_bsc {
  302.     union {
  303.         unsigned char BYTE;
  304.         struct {
  305.             unsigned char STSCLR:1;
  306.             unsigned char :7;
  307.         } BIT;
  308.     } BERCLR;
  309.     unsigned char wk0[3];
  310.     union {
  311.         unsigned char BYTE;
  312.         struct {
  313.             unsigned char IGAEN:1;
  314.             unsigned char TOEN:1;
  315.             unsigned char :6;
  316.         } BIT;
  317.     } BEREN;
  318.     unsigned char wk1[3];
  319.     union {
  320.         unsigned char BYTE;
  321.         struct {
  322.             unsigned char IA:1;
  323.             unsigned char TO:1;
  324.             unsigned char :2;
  325.             unsigned char MST:3;
  326.             unsigned char :1;
  327.         } BIT;
  328.     } BERSR1;
  329.     unsigned char wk2[1];
  330.     union {
  331.         unsigned short WORD;
  332.         struct {
  333.             unsigned short :3;
  334.             unsigned short ADDR:13;
  335.         } BIT;
  336.     } BERSR2;
  337.     unsigned char wk3[7414];
  338.     union {
  339.         unsigned short WORD;
  340.         struct {
  341.             unsigned short WRMOD:1;
  342.             unsigned short :2;
  343.             unsigned short EWENB:1;
  344.             unsigned short :4;
  345.             unsigned short PRENB:1;
  346.             unsigned short PWENB:1;
  347.             unsigned short :5;
  348.             unsigned short PRMOD:1;
  349.         } BIT;
  350.     } CS0MOD;
  351.     union {
  352.         unsigned long LONG;
  353.         struct {
  354.             unsigned long CSPWWAIT:3;
  355.             unsigned long :5;
  356.             unsigned long CSPRWAIT:3;
  357.             unsigned long :5;
  358.             unsigned long CSWWAIT:5;
  359.             unsigned long :3;
  360.             unsigned long CSRWAIT:5;
  361.             unsigned long :3;
  362.         } BIT;
  363.     } CS0WCR1;
  364.     union {
  365.         unsigned long LONG;
  366.         struct {
  367.             unsigned long CSROFF:3;
  368.             unsigned long :1;
  369.             unsigned long CSWOFF:3;
  370.             unsigned long :1;
  371.             unsigned long WDOFF:3;
  372.             unsigned long :5;
  373.             unsigned long RDON:3;
  374.             unsigned long :1;
  375.             unsigned long WRON:3;
  376.             unsigned long :1;
  377.             unsigned long WDON:3;
  378.             unsigned long :1;
  379.             unsigned long CSON:3;
  380.             unsigned long :1;
  381.         } BIT;
  382.     } CS0WCR2;
  383.     unsigned char wk4[6];
  384.     union {
  385.         unsigned short WORD;
  386.         struct {
  387.             unsigned short WRMOD:1;
  388.             unsigned short :2;
  389.             unsigned short EWENB:1;
  390.             unsigned short :4;
  391.             unsigned short PRENB:1;
  392.             unsigned short PWENB:1;
  393.             unsigned short :5;
  394.             unsigned short PRMOD:1;
  395.         } BIT;
  396.     } CS1MOD;
  397.     union {
  398.         unsigned long LONG;
  399.         struct {
  400.             unsigned long CSPWWAIT:3;
  401.             unsigned long :5;
  402.             unsigned long CSPRWAIT:3;
  403.             unsigned long :5;
  404.             unsigned long CSWWAIT:5;
  405.             unsigned long :3;
  406.             unsigned long CSRWAIT:5;
  407.             unsigned long :3;
  408.         } BIT;
  409.     } CS1WCR1;
  410.     union {
  411.         unsigned long LONG;
  412.         struct {
  413.             unsigned long CSROFF:3;
  414.             unsigned long :1;
  415.             unsigned long CSWOFF:3;
  416.             unsigned long :1;
  417.             unsigned long WDOFF:3;
  418.             unsigned long :5;
  419.             unsigned long RDON:3;
  420.             unsigned long :1;
  421.             unsigned long WRON:3;
  422.             unsigned long :1;
  423.             unsigned long WDON:3;
  424.             unsigned long :1;
  425.             unsigned long CSON:3;
  426.             unsigned long :1;
  427.         } BIT;
  428.     } CS1WCR2;
  429.     unsigned char wk5[6];
  430.     union {
  431.         unsigned short WORD;
  432.         struct {
  433.             unsigned short WRMOD:1;
  434.             unsigned short :2;
  435.             unsigned short EWENB:1;
  436.             unsigned short :4;
  437.             unsigned short PRENB:1;
  438.             unsigned short PWENB:1;
  439.             unsigned short :5;
  440.             unsigned short PRMOD:1;
  441.         } BIT;
  442.     } CS2MOD;
  443.     union {
  444.         unsigned long LONG;
  445.         struct {
  446.             unsigned long CSPWWAIT:3;
  447.             unsigned long :5;
  448.             unsigned long CSPRWAIT:3;
  449.             unsigned long :5;
  450.             unsigned long CSWWAIT:5;
  451.             unsigned long :3;
  452.             unsigned long CSRWAIT:5;
  453.             unsigned long :3;
  454.         } BIT;
  455.     } CS2WCR1;
  456.     union {
  457.         unsigned long LONG;
  458.         struct {
  459.             unsigned long CSROFF:3;
  460.             unsigned long :1;
  461.             unsigned long CSWOFF:3;
  462.             unsigned long :1;
  463.             unsigned long WDOFF:3;
  464.             unsigned long :5;
  465.             unsigned long RDON:3;
  466.             unsigned long :1;
  467.             unsigned long WRON:3;
  468.             unsigned long :1;
  469.             unsigned long WDON:3;
  470.             unsigned long :1;
  471.             unsigned long CSON:3;
  472.             unsigned long :1;
  473.         } BIT;
  474.     } CS2WCR2;
  475.     unsigned char wk6[6];
  476.     union {
  477.         unsigned short WORD;
  478.         struct {
  479.             unsigned short WRMOD:1;
  480.             unsigned short :2;
  481.             unsigned short EWENB:1;
  482.             unsigned short :4;
  483.             unsigned short PRENB:1;
  484.             unsigned short PWENB:1;
  485.             unsigned short :5;
  486.             unsigned short PRMOD:1;
  487.         } BIT;
  488.     } CS3MOD;
  489.     union {
  490.         unsigned long LONG;
  491.         struct {
  492.             unsigned long CSPWWAIT:3;
  493.             unsigned long :5;
  494.             unsigned long CSPRWAIT:3;
  495.             unsigned long :5;
  496.             unsigned long CSWWAIT:5;
  497.             unsigned long :3;
  498.             unsigned long CSRWAIT:5;
  499.             unsigned long :3;
  500.         } BIT;
  501.     } CS3WCR1;
  502.     union {
  503.         unsigned long LONG;
  504.         struct {
  505.             unsigned long CSROFF:3;
  506.             unsigned long :1;
  507.             unsigned long CSWOFF:3;
  508.             unsigned long :1;
  509.             unsigned long WDOFF:3;
  510.             unsigned long :5;
  511.             unsigned long RDON:3;
  512.             unsigned long :1;
  513.             unsigned long WRON:3;
  514.             unsigned long :1;
  515.             unsigned long WDON:3;
  516.             unsigned long :1;
  517.             unsigned long CSON:3;
  518.             unsigned long :1;
  519.         } BIT;
  520.     } CS3WCR2;
  521.     unsigned char wk7[6];
  522.     union {
  523.         unsigned short WORD;
  524.         struct {
  525.             unsigned short WRMOD:1;
  526.             unsigned short :2;
  527.             unsigned short EWENB:1;
  528.             unsigned short :4;
  529.             unsigned short PRENB:1;
  530.             unsigned short PWENB:1;
  531.             unsigned short :5;
  532.             unsigned short PRMOD:1;
  533.         } BIT;
  534.     } CS4MOD;
  535.     union {
  536.         unsigned long LONG;
  537.         struct {
  538.             unsigned long CSPWWAIT:3;
  539.             unsigned long :5;
  540.             unsigned long CSPRWAIT:3;
  541.             unsigned long :5;
  542.             unsigned long CSWWAIT:5;
  543.             unsigned long :3;
  544.             unsigned long CSRWAIT:5;
  545.             unsigned long :3;
  546.         } BIT;
  547.     } CS4WCR1;
  548.     union {
  549.         unsigned long LONG;
  550.         struct {
  551.             unsigned long CSROFF:3;
  552.             unsigned long :1;
  553.             unsigned long CSWOFF:3;
  554.             unsigned long :1;
  555.             unsigned long WDOFF:3;
  556.             unsigned long :5;
  557.             unsigned long RDON:3;
  558.             unsigned long :1;
  559.             unsigned long WRON:3;
  560.             unsigned long :1;
  561.             unsigned long WDON:3;
  562.             unsigned long :1;
  563.             unsigned long CSON:3;
  564.             unsigned long :1;
  565.         } BIT;
  566.     } CS4WCR2;
  567.     unsigned char wk8[6];
  568.     union {
  569.         unsigned short WORD;
  570.         struct {
  571.             unsigned short WRMOD:1;
  572.             unsigned short :2;
  573.             unsigned short EWENB:1;
  574.             unsigned short :4;
  575.             unsigned short PRENB:1;
  576.             unsigned short PWENB:1;
  577.             unsigned short :5;
  578.             unsigned short PRMOD:1;
  579.         } BIT;
  580.     } CS5MOD;
  581.     union {
  582.         unsigned long LONG;
  583.         struct {
  584.             unsigned long CSPWWAIT:3;
  585.             unsigned long :5;
  586.             unsigned long CSPRWAIT:3;
  587.             unsigned long :5;
  588.             unsigned long CSWWAIT:5;
  589.             unsigned long :3;
  590.             unsigned long CSRWAIT:5;
  591.             unsigned long :3;
  592.         } BIT;
  593.     } CS5WCR1;
  594.     union {
  595.         unsigned long LONG;
  596.         struct {
  597.             unsigned long CSROFF:3;
  598.             unsigned long :1;
  599.             unsigned long CSWOFF:3;
  600.             unsigned long :1;
  601.             unsigned long WDOFF:3;
  602.             unsigned long :5;
  603.             unsigned long RDON:3;
  604.             unsigned long :1;
  605.             unsigned long WRON:3;
  606.             unsigned long :1;
  607.             unsigned long WDON:3;
  608.             unsigned long :1;
  609.             unsigned long CSON:3;
  610.             unsigned long :1;
  611.         } BIT;
  612.     } CS5WCR2;
  613.     unsigned char wk9[6];
  614.     union {
  615.         unsigned short WORD;
  616.         struct {
  617.             unsigned short WRMOD:1;
  618.             unsigned short :2;
  619.             unsigned short EWENB:1;
  620.             unsigned short :4;
  621.             unsigned short PRENB:1;
  622.             unsigned short PWENB:1;
  623.             unsigned short :5;
  624.             unsigned short PRMOD:1;
  625.         } BIT;
  626.     } CS6MOD;
  627.     union {
  628.         unsigned long LONG;
  629.         struct {
  630.             unsigned long CSPWWAIT:3;
  631.             unsigned long :5;
  632.             unsigned long CSPRWAIT:3;
  633.             unsigned long :5;
  634.             unsigned long CSWWAIT:5;
  635.             unsigned long :3;
  636.             unsigned long CSRWAIT:5;
  637.             unsigned long :3;
  638.         } BIT;
  639.     } CS6WCR1;
  640.     union {
  641.         unsigned long LONG;
  642.         struct {
  643.             unsigned long CSROFF:3;
  644.             unsigned long :1;
  645.             unsigned long CSWOFF:3;
  646.             unsigned long :1;
  647.             unsigned long WDOFF:3;
  648.             unsigned long :5;
  649.             unsigned long RDON:3;
  650.             unsigned long :1;
  651.             unsigned long WRON:3;
  652.             unsigned long :1;
  653.             unsigned long WDON:3;
  654.             unsigned long :1;
  655.             unsigned long CSON:3;
  656.             unsigned long :1;
  657.         } BIT;
  658.     } CS6WCR2;
  659.     unsigned char wk10[6];
  660.     union {
  661.         unsigned short WORD;
  662.         struct {
  663.             unsigned short WRMOD:1;
  664.             unsigned short :2;
  665.             unsigned short EWENB:1;
  666.             unsigned short :4;
  667.             unsigned short PRENB:1;
  668.             unsigned short PWENB:1;
  669.             unsigned short :5;
  670.             unsigned short PRMOD:1;
  671.         } BIT;
  672.     } CS7MOD;
  673.     union {
  674.         unsigned long LONG;
  675.         struct {
  676.             unsigned long CSPWWAIT:3;
  677.             unsigned long :5;
  678.             unsigned long CSPRWAIT:3;
  679.             unsigned long :5;
  680.             unsigned long CSWWAIT:5;
  681.             unsigned long :3;
  682.             unsigned long CSRWAIT:5;
  683.             unsigned long :3;
  684.         } BIT;
  685.     } CS7WCR1;
  686.     union {
  687.         unsigned long LONG;
  688.         struct {
  689.             unsigned long CSROFF:3;
  690.             unsigned long :1;
  691.             unsigned long CSWOFF:3;
  692.             unsigned long :1;
  693.             unsigned long WDOFF:3;
  694.             unsigned long :5;
  695.             unsigned long RDON:3;
  696.             unsigned long :1;
  697.             unsigned long WRON:3;
  698.             unsigned long :1;
  699.             unsigned long WDON:3;
  700.             unsigned long :1;
  701.             unsigned long CSON:3;
  702.             unsigned long :1;
  703.         } BIT;
  704.     } CS7WCR2;
  705.     unsigned char wk11[1926];
  706.     union {
  707.         unsigned short WORD;
  708.         struct {
  709.             unsigned short EXENB:1;
  710.             unsigned short :3;
  711.             unsigned short BSIZE:2;
  712.             unsigned short :2;
  713.             unsigned short EMODE:1;
  714.             unsigned short :7;
  715.         } BIT;
  716.     } CS0CR;
  717.     unsigned char wk12[6];
  718.     union {
  719.         unsigned short WORD;
  720.         struct {
  721.             unsigned short RRCV:4;
  722.             unsigned short :4;
  723.             unsigned short WRCV:4;
  724.             unsigned short :4;
  725.         } BIT;
  726.     } CS0REC;
  727.     unsigned char wk13[6];
  728.     union {
  729.         unsigned short WORD;
  730.         struct {
  731.             unsigned short EXENB:1;
  732.             unsigned short :3;
  733.             unsigned short BSIZE:2;
  734.             unsigned short :2;
  735.             unsigned short EMODE:1;
  736.             unsigned short :7;
  737.         } BIT;
  738.     } CS1CR;
  739.     unsigned char wk14[6];
  740.     union {
  741.         unsigned short WORD;
  742.         struct {
  743.             unsigned short RRCV:4;
  744.             unsigned short :4;
  745.             unsigned short WRCV:4;
  746.             unsigned short :4;
  747.         } BIT;
  748.     } CS1REC;
  749.     unsigned char wk15[6];
  750.     union {
  751.         unsigned short WORD;
  752.         struct {
  753.             unsigned short EXENB:1;
  754.             unsigned short :3;
  755.             unsigned short BSIZE:2;
  756.             unsigned short :2;
  757.             unsigned short EMODE:1;
  758.             unsigned short :7;
  759.         } BIT;
  760.     } CS2CR;
  761.     unsigned char wk16[6];
  762.     union {
  763.         unsigned short WORD;
  764.         struct {
  765.             unsigned short RRCV:4;
  766.             unsigned short :4;
  767.             unsigned short WRCV:4;
  768.             unsigned short :4;
  769.         } BIT;
  770.     } CS2REC;
  771.     unsigned char wk17[6];
  772.     union {
  773.         unsigned short WORD;
  774.         struct {
  775.             unsigned short EXENB:1;
  776.             unsigned short :3;
  777.             unsigned short BSIZE:2;
  778.             unsigned short :2;
  779.             unsigned short EMODE:1;
  780.             unsigned short :7;
  781.         } BIT;
  782.     } CS3CR;
  783.     unsigned char wk18[6];
  784.     union {
  785.         unsigned short WORD;
  786.         struct {
  787.             unsigned short RRCV:4;
  788.             unsigned short :4;
  789.             unsigned short WRCV:4;
  790.             unsigned short :4;
  791.         } BIT;
  792.     } CS3REC;
  793.     unsigned char wk19[6];
  794.     union {
  795.         unsigned short WORD;
  796.         struct {
  797.             unsigned short EXENB:1;
  798.             unsigned short :3;
  799.             unsigned short BSIZE:2;
  800.             unsigned short :2;
  801.             unsigned short EMODE:1;
  802.             unsigned short :7;
  803.         } BIT;
  804.     } CS4CR;
  805.     unsigned char wk20[6];
  806.     union {
  807.         unsigned short WORD;
  808.         struct {
  809.             unsigned short RRCV:4;
  810.             unsigned short :4;
  811.             unsigned short WRCV:4;
  812.             unsigned short :4;
  813.         } BIT;
  814.     } CS4REC;
  815.     unsigned char wk21[6];
  816.     union {
  817.         unsigned short WORD;
  818.         struct {
  819.             unsigned short EXENB:1;
  820.             unsigned short :3;
  821.             unsigned short BSIZE:2;
  822.             unsigned short :2;
  823.             unsigned short EMODE:1;
  824.             unsigned short :7;
  825.         } BIT;
  826.     } CS5CR;
  827.     unsigned char wk22[6];
  828.     union {
  829.         unsigned short WORD;
  830.         struct {
  831.             unsigned short RRCV:4;
  832.             unsigned short :4;
  833.             unsigned short WRCV:4;
  834.             unsigned short :4;
  835.         } BIT;
  836.     } CS5REC;
  837.     unsigned char wk23[6];
  838.     union {
  839.         unsigned short WORD;
  840.         struct {
  841.             unsigned short EXENB:1;
  842.             unsigned short :3;
  843.             unsigned short BSIZE:2;
  844.             unsigned short :2;
  845.             unsigned short EMODE:1;
  846.             unsigned short :7;
  847.         } BIT;
  848.     } CS6CR;
  849.     unsigned char wk24[6];
  850.     union {
  851.         unsigned short WORD;
  852.         struct {
  853.             unsigned short RRCV:4;
  854.             unsigned short :4;
  855.             unsigned short WRCV:4;
  856.             unsigned short :4;
  857.         } BIT;
  858.     } CS6REC;
  859.     unsigned char wk25[6];
  860.     union {
  861.         unsigned short WORD;
  862.         struct {
  863.             unsigned short EXENB:1;
  864.             unsigned short :3;
  865.             unsigned short BSIZE:2;
  866.             unsigned short :2;
  867.             unsigned short EMODE:1;
  868.             unsigned short :7;
  869.         } BIT;
  870.     } CS7CR;
  871.     unsigned char wk26[6];
  872.     union {
  873.         unsigned short WORD;
  874.         struct {
  875.             unsigned short RRCV:4;
  876.             unsigned short :4;
  877.             unsigned short WRCV:4;
  878.             unsigned short :4;
  879.         } BIT;
  880.     } CS7REC;
  881.     unsigned char wk27[900];
  882.     union {
  883.         unsigned char BYTE;
  884.         struct {
  885.             unsigned char EXENB:1;
  886.             unsigned char :3;
  887.             unsigned char BSIZE:2;
  888.             unsigned char :2;
  889.         } BIT;
  890.     } SDCCR;
  891.     union {
  892.         unsigned char BYTE;
  893.         struct {
  894.             unsigned char EMODE:1;
  895.             unsigned char :7;
  896.         } BIT;
  897.     } SDCMOD;
  898.     union {
  899.         unsigned char BYTE;
  900.         struct {
  901.             unsigned char BE:1;
  902.             unsigned char :7;
  903.         } BIT;
  904.     } SDAMOD;
  905.     unsigned char wk28[13];
  906.     union {
  907.         unsigned char BYTE;
  908.         struct {
  909.             unsigned char SFEN:1;
  910.             unsigned char :7;
  911.         } BIT;
  912.     } SDSELF;
  913.     unsigned char wk29[3];
  914.     union {
  915.         unsigned short WORD;
  916.         struct {
  917.             unsigned short RFC:12;
  918.             unsigned short REFW:4;
  919.         } BIT;
  920.     } SDRFCR;
  921.     union {
  922.         unsigned char BYTE;
  923.         struct {
  924.             unsigned char RFEN:1;
  925.             unsigned char :7;
  926.         } BIT;
  927.     } SDRFEN;
  928.     unsigned char wk30[9];
  929.     union {
  930.         unsigned char BYTE;
  931.         struct {
  932.             unsigned char INIRQ:1;
  933.             unsigned char :7;
  934.         } BIT;
  935.     } SDICR;
  936.     unsigned char wk31[3];
  937.     union {
  938.         unsigned short WORD;
  939.         struct {
  940.             unsigned short ARFI:4;
  941.             unsigned short ARFC:4;
  942.             unsigned short PRC:3;
  943.             unsigned short :5;
  944.         } BIT;
  945.     } SDIR;
  946.     unsigned char wk32[26];
  947.     union {
  948.         unsigned char BYTE;
  949.         struct {
  950.             unsigned char MXC:2;
  951.             unsigned char :6;
  952.         } BIT;
  953.     } SDADR;
  954.     unsigned char wk33[3];
  955.     union {
  956.         unsigned long LONG;
  957.         struct {
  958.             unsigned long CL:3;
  959.             unsigned long :5;
  960.             unsigned long WR:1;
  961.             unsigned long RP:3;
  962.             unsigned long RCD:2;
  963.             unsigned long :2;
  964.             unsigned long RAS:3;
  965.             unsigned long :13;
  966.         } BIT;
  967.     } SDTR;
  968.     union {
  969.         unsigned short WORD;
  970.         struct {
  971.             unsigned short MR:15;
  972.             unsigned short :1;
  973.         } BIT;
  974.     } SDMOD;
  975.     unsigned char wk34[6];
  976.     union {
  977.         unsigned char BYTE;
  978.         struct {
  979.             unsigned char MRSST:1;
  980.             unsigned char :2;
  981.             unsigned char INIST:1;
  982.             unsigned char SRFST:1;
  983.             unsigned char :3;
  984.         } BIT;
  985.     } SDSR;
  986. };
  987.  
  988. struct st_dmac0 {
  989.     void *DMSAR;
  990.     void *DMDAR;
  991.     unsigned long DMCRA;
  992.     unsigned short DMCRB;
  993.     unsigned char wk0[2];
  994.     union {
  995.         unsigned short WORD;
  996.         struct {
  997.             unsigned short DCTG:2;
  998.             unsigned short :6;
  999.             unsigned short SZ:2;
  1000.             unsigned short :2;
  1001.             unsigned short DTS:2;
  1002.             unsigned short MD:2;
  1003.         } BIT;
  1004.     } DMTMD;
  1005.     unsigned char wk1[1];
  1006.     union {
  1007.         unsigned char BYTE;
  1008.         struct {
  1009.             unsigned char DARIE:1;
  1010.             unsigned char SARIE:1;
  1011.             unsigned char RPTIE:1;
  1012.             unsigned char ESIE:1;
  1013.             unsigned char DTIE:1;
  1014.             unsigned char :3;
  1015.         } BIT;
  1016.     } DMINT;
  1017.     union {
  1018.         unsigned short WORD;
  1019.         struct {
  1020.             unsigned short DARA:5;
  1021.             unsigned short :1;
  1022.             unsigned short DM:2;
  1023.             unsigned short SARA:5;
  1024.             unsigned short :1;
  1025.             unsigned short SM:2;
  1026.         } BIT;
  1027.     } DMAMD;
  1028.     unsigned char wk2[2];
  1029.     unsigned long DMOFR;
  1030.     union {
  1031.         unsigned char BYTE;
  1032.         struct {
  1033.             unsigned char DTE:1;
  1034.             unsigned char :7;
  1035.         } BIT;
  1036.     } DMCNT;
  1037.     union {
  1038.         unsigned char BYTE;
  1039.         struct {
  1040.             unsigned char SWREQ:1;
  1041.             unsigned char :3;
  1042.             unsigned char CLRS:1;
  1043.             unsigned char :3;
  1044.         } BIT;
  1045.     } DMREQ;
  1046.     union {
  1047.         unsigned char BYTE;
  1048.         struct {
  1049.             unsigned char ESIF:1;
  1050.             unsigned char :3;
  1051.             unsigned char DTIF:1;
  1052.             unsigned char :2;
  1053.             unsigned char ACT:1;
  1054.         } BIT;
  1055.     } DMSTS;
  1056.     union {
  1057.         unsigned char BYTE;
  1058.         struct {
  1059.             unsigned char DISEL:1;
  1060.             unsigned char :7;
  1061.         } BIT;
  1062.     } DMCSL;
  1063. };
  1064.  
  1065. struct st_dmac1 {
  1066.     void *DMSAR;
  1067.     void *DMDAR;
  1068.     unsigned long DMCRA;
  1069.     unsigned short DMCRB;
  1070.     unsigned char wk0[2];
  1071.     union {
  1072.         unsigned short WORD;
  1073.         struct {
  1074.             unsigned short DCTG:2;
  1075.             unsigned short :6;
  1076.             unsigned short SZ:2;
  1077.             unsigned short :2;
  1078.             unsigned short DTS:2;
  1079.             unsigned short MD:2;
  1080.         } BIT;
  1081.     } DMTMD;
  1082.     unsigned char wk1[1];
  1083.     union {
  1084.         unsigned char BYTE;
  1085.         struct {
  1086.             unsigned char DARIE:1;
  1087.             unsigned char SARIE:1;
  1088.             unsigned char RPTIE:1;
  1089.             unsigned char ESIE:1;
  1090.             unsigned char DTIE:1;
  1091.             unsigned char :3;
  1092.         } BIT;
  1093.     } DMINT;
  1094.     union {
  1095.         unsigned short WORD;
  1096.         struct {
  1097.             unsigned short DARA:5;
  1098.             unsigned short :1;
  1099.             unsigned short DM:2;
  1100.             unsigned short SARA:5;
  1101.             unsigned short :1;
  1102.             unsigned short SM:2;
  1103.         } BIT;
  1104.     } DMAMD;
  1105.     unsigned char wk2[6];
  1106.     union {
  1107.         unsigned char BYTE;
  1108.         struct {
  1109.             unsigned char DTE:1;
  1110.             unsigned char :7;
  1111.         } BIT;
  1112.     } DMCNT;
  1113.     union {
  1114.         unsigned char BYTE;
  1115.         struct {
  1116.             unsigned char SWREQ:1;
  1117.             unsigned char :3;
  1118.             unsigned char CLRS:1;
  1119.             unsigned char :3;
  1120.         } BIT;
  1121.     } DMREQ;
  1122.     union {
  1123.         unsigned char BYTE;
  1124.         struct {
  1125.             unsigned char ESIF:1;
  1126.             unsigned char :3;
  1127.             unsigned char DTIF:1;
  1128.             unsigned char :2;
  1129.             unsigned char ACT:1;
  1130.         } BIT;
  1131.     } DMSTS;
  1132.     union {
  1133.         unsigned char BYTE;
  1134.         struct {
  1135.             unsigned char DISEL:1;
  1136.             unsigned char :7;
  1137.         } BIT;
  1138.     } DMCSL;
  1139. };
  1140.  
  1141. struct st_dmac {
  1142.     union {
  1143.         unsigned char BYTE;
  1144.         struct {
  1145.             unsigned char DMST:1;
  1146.             unsigned char :7;
  1147.         } BIT;
  1148.     } DMAST;
  1149. };
  1150.  
  1151. struct st_dtc {
  1152.     union {
  1153.         unsigned char BYTE;
  1154.         struct {
  1155.             unsigned char :4;
  1156.             unsigned char RRS:1;
  1157.             unsigned char :3;
  1158.         } BIT;
  1159.     } DTCCR;
  1160.     unsigned char wk0[3];
  1161.     void *DTCVBR;
  1162.     union {
  1163.         unsigned char BYTE;
  1164.         struct {
  1165.             unsigned char SHORT:1;
  1166.             unsigned char :7;
  1167.         } BIT;
  1168.     } DTCADMOD;
  1169.     unsigned char wk1[3];
  1170.     union {
  1171.         unsigned char BYTE;
  1172.         struct {
  1173.             unsigned char DTCST:1;
  1174.             unsigned char :7;
  1175.         } BIT;
  1176.     } DTCST;
  1177.     unsigned char wk2[1];
  1178.     union {
  1179.         unsigned short WORD;
  1180.         struct {
  1181.             unsigned short VECN:8;
  1182.             unsigned short :7;
  1183.             unsigned short ACT:1;
  1184.         } BIT;
  1185.     } DTCSTS;
  1186. };
  1187.  
  1188. struct st_exdmac0 {
  1189.     void *EDMSAR;
  1190.     void *EDMDAR;
  1191.     unsigned long EDMCRA;
  1192.     unsigned short EDMCRB;
  1193.     unsigned char wk0[2];
  1194.     union {
  1195.         unsigned short WORD;
  1196.         struct {
  1197.             unsigned short DCTG:2;
  1198.             unsigned short :6;
  1199.             unsigned short SZ:2;
  1200.             unsigned short :2;
  1201.             unsigned short DTS:2;
  1202.             unsigned short MD:2;
  1203.         } BIT;
  1204.     } EDMTMD;
  1205.     union {
  1206.         unsigned char BYTE;
  1207.         struct {
  1208.             unsigned char :1;
  1209.             unsigned char DACKW:1;
  1210.             unsigned char DACKE:1;
  1211.             unsigned char DACKS:1;
  1212.             unsigned char :4;
  1213.         } BIT;
  1214.     } EDMOMD;
  1215.     union {
  1216.         unsigned char BYTE;
  1217.         struct {
  1218.             unsigned char DARIE:1;
  1219.             unsigned char SARIE:1;
  1220.             unsigned char RPTIE:1;
  1221.             unsigned char ESIE:1;
  1222.             unsigned char DTIE:1;
  1223.             unsigned char :3;
  1224.         } BIT;
  1225.     } EDMINT;
  1226.     union {
  1227.         unsigned long LONG;
  1228.         struct {
  1229.             unsigned long DARA:5;
  1230.             unsigned long :1;
  1231.             unsigned long DM:2;
  1232.             unsigned long SARA:5;
  1233.             unsigned long :1;
  1234.             unsigned long SM:2;
  1235.             unsigned long DIR:1;
  1236.             unsigned long AMS:1;
  1237.             unsigned long :14;
  1238.         } BIT;
  1239.     } EDMAMD;
  1240.     unsigned long EDMOFR;
  1241.     union {
  1242.         unsigned char BYTE;
  1243.         struct {
  1244.             unsigned char DTE:1;
  1245.             unsigned char :7;
  1246.         } BIT;
  1247.     } EDMCNT;
  1248.     union {
  1249.         unsigned char BYTE;
  1250.         struct {
  1251.             unsigned char SWREQ:1;
  1252.             unsigned char :3;
  1253.             unsigned char CLRS:1;
  1254.             unsigned char :3;
  1255.         } BIT;
  1256.     } EDMREQ;
  1257.     union {
  1258.         unsigned char BYTE;
  1259.         struct {
  1260.             unsigned char ESIF:1;
  1261.             unsigned char :3;
  1262.             unsigned char DTIF:1;
  1263.             unsigned char :2;
  1264.             unsigned char ACT:1;
  1265.         } BIT;
  1266.     } EDMSTS;
  1267.     unsigned char wk1[1];
  1268.     union {
  1269.         unsigned char BYTE;
  1270.         struct {
  1271.             unsigned char DREQS:2;
  1272.             unsigned char :6;
  1273.         } BIT;
  1274.     } EDMRMD;
  1275.     union {
  1276.         unsigned char BYTE;
  1277.         struct {
  1278.             unsigned char EREQ:1;
  1279.             unsigned char :7;
  1280.         } BIT;
  1281.     } EDMERF;
  1282.     union {
  1283.         unsigned char BYTE;
  1284.         struct {
  1285.             unsigned char PREQ:1;
  1286.             unsigned char :7;
  1287.         } BIT;
  1288.     } EDMPRF;
  1289. };
  1290.  
  1291. struct st_exdmac {
  1292.     union {
  1293.         unsigned char BYTE;
  1294.         struct {
  1295.             unsigned char DMST:1;
  1296.             unsigned char :7;
  1297.         } BIT;
  1298.     } EDMAST;
  1299.     unsigned char wk0[479];
  1300.     unsigned long CLSBR0;
  1301.     unsigned long CLSBR1;
  1302.     unsigned long CLSBR2;
  1303.     unsigned long CLSBR3;
  1304.     unsigned long CLSBR4;
  1305.     unsigned long CLSBR5;
  1306.     unsigned long CLSBR6;
  1307.     unsigned long CLSBR7;
  1308. };
  1309.  
  1310. struct st_icu {
  1311.     union {
  1312.         unsigned char BYTE;
  1313.         struct {
  1314.             unsigned char IR:1;
  1315.             unsigned char :7;
  1316.         } BIT;
  1317.     } IR[254];
  1318.     unsigned char wk17[2];
  1319.     union {
  1320.         unsigned char BYTE;
  1321.         struct {
  1322.             unsigned char DTCE:1;
  1323.             unsigned char :7;
  1324.         } BIT;
  1325.     } DTCER[254];
  1326.     unsigned char wk47[2];
  1327.     union {
  1328.         unsigned char BYTE;
  1329.         struct {
  1330.             unsigned char IEN0:1;
  1331.             unsigned char IEN1:1;
  1332.             unsigned char IEN2:1;
  1333.             unsigned char IEN3:1;
  1334.             unsigned char IEN4:1;
  1335.             unsigned char IEN5:1;
  1336.             unsigned char IEN6:1;
  1337.             unsigned char IEN7:1;
  1338.         } BIT;
  1339.     } IER[32];
  1340.     unsigned char wk50[192];
  1341.     union {
  1342.         unsigned char BYTE;
  1343.         struct {
  1344.             unsigned char SWINT:1;
  1345.             unsigned char :7;
  1346.         } BIT;
  1347.     } SWINTR;
  1348.     unsigned char wk51[15];
  1349.     union {
  1350.         unsigned short WORD;
  1351.         struct {
  1352.             unsigned short FVCT:8;
  1353.             unsigned short :7;
  1354.             unsigned short FIEN:1;
  1355.         } BIT;
  1356.     } FIR;
  1357.     unsigned char wk52[14];
  1358.     union {
  1359.         unsigned char BYTE;
  1360.         struct {
  1361.             unsigned char IPR:4;
  1362.             unsigned char :4;
  1363.         } BIT;
  1364.     } IPR[144];
  1365.     unsigned char wk67[112];
  1366.     unsigned char DMRSR0;
  1367.     unsigned char wk68[3];
  1368.     unsigned char DMRSR1;
  1369.     unsigned char wk69[3];
  1370.     unsigned char DMRSR2;
  1371.     unsigned char wk70[3];
  1372.     unsigned char DMRSR3;
  1373.     unsigned char wk71[243];
  1374.     union {
  1375.         unsigned char BYTE;
  1376.         struct {
  1377.             unsigned char :2;
  1378.             unsigned char IRQMD:2;
  1379.             unsigned char :4;
  1380.         } BIT;
  1381.     } IRQCR[16];
  1382.     unsigned char wk72[112];
  1383.     union {
  1384.         unsigned char BYTE;
  1385.         struct {
  1386.             unsigned char NMIST:1;
  1387.             unsigned char LVDST:1;
  1388.             unsigned char OSTST:1;
  1389.             unsigned char :5;
  1390.         } BIT;
  1391.     } NMISR;
  1392.     union {
  1393.         unsigned char BYTE;
  1394.         struct {
  1395.             unsigned char NMIEN:1;
  1396.             unsigned char LVDEN:1;
  1397.             unsigned char OSTEN:1;
  1398.             unsigned char :5;
  1399.         } BIT;
  1400.     } NMIER;
  1401.     union {
  1402.         unsigned char BYTE;
  1403.         struct {
  1404.             unsigned char NMICLR:1;
  1405.             unsigned char :1;
  1406.             unsigned char OSTCLR:1;
  1407.             unsigned char :5;
  1408.         } BIT;
  1409.     } NMICLR;
  1410.     union {
  1411.         unsigned char BYTE;
  1412.         struct {
  1413.             unsigned char :3;
  1414.             unsigned char NMIMD:1;
  1415.             unsigned char :4;
  1416.         } BIT;
  1417.     } NMICR;
  1418. };
  1419.  
  1420. struct st_cmt {
  1421.     union {
  1422.         unsigned short WORD;
  1423.         struct {
  1424.             unsigned short STR0:1;
  1425.             unsigned short STR1:1;
  1426.             unsigned short :14;
  1427.         } BIT;
  1428.     } CMSTR0;
  1429.     unsigned char wk0[14];
  1430.     union {
  1431.         unsigned short WORD;
  1432.         struct {
  1433.             unsigned short STR2:1;
  1434.             unsigned short STR3:1;
  1435.             unsigned short :14;
  1436.         } BIT;
  1437.     } CMSTR1;
  1438. };
  1439.  
  1440. struct st_cmt0 {
  1441.     union {
  1442.         unsigned short WORD;
  1443.         struct {
  1444.             unsigned short CKS:2;
  1445.             unsigned short :4;
  1446.             unsigned short CMIE:1;
  1447.             unsigned short :9;
  1448.         } BIT;
  1449.     } CMCR;
  1450.     unsigned short CMCNT;
  1451.     unsigned short CMCOR;
  1452. };
  1453.  
  1454. union un_wdt {
  1455.     struct {
  1456.         union {
  1457.             unsigned char BYTE;
  1458.             struct {
  1459.                 unsigned char CKS:3;
  1460.                 unsigned char :2;
  1461.                 unsigned char TME:1;
  1462.                 unsigned char TMS:1;
  1463.                 unsigned char :1;
  1464.             } BIT;
  1465.         } TCSR;
  1466.         unsigned char TCNT;
  1467.         unsigned char wk0[1];
  1468.         union {
  1469.             unsigned char BYTE;
  1470.             struct {
  1471.                 unsigned char :6;
  1472.                 unsigned char RSTE:1;
  1473.                 unsigned char WOVF:1;
  1474.             } BIT;
  1475.         } RSTCSR;
  1476.     } READ;
  1477.     struct {
  1478.         unsigned short WINA;
  1479.         unsigned short WINB;
  1480.     } WRITE;
  1481. };
  1482.  
  1483. struct st_iwdt {
  1484.     unsigned char IWDTRR;
  1485.     unsigned char wk0[1];
  1486.     union {
  1487.         unsigned short WORD;
  1488.         struct {
  1489.             unsigned short TOPS:2;
  1490.             unsigned short :2;
  1491.             unsigned short CKS:4;
  1492.             unsigned short :8;
  1493.         } BIT;
  1494.     } IWDTCR;
  1495.     union {
  1496.         unsigned short WORD;
  1497.         struct {
  1498.             unsigned short CNTVAL:14;
  1499.             unsigned short UNDFF:1;
  1500.             unsigned short :1;
  1501.         } BIT;
  1502.     } IWDTSR;
  1503. };
  1504.  
  1505. struct st_ad {
  1506.     unsigned short ADDRA;
  1507.     unsigned short ADDRB;
  1508.     unsigned short ADDRC;
  1509.     unsigned short ADDRD;
  1510.     unsigned char wk0[8];
  1511.     union {
  1512.         unsigned char BYTE;
  1513.         struct {
  1514.             unsigned char CH:4;
  1515.             unsigned char :1;
  1516.             unsigned char ADST:1;
  1517.             unsigned char ADIE:1;
  1518.             unsigned char :1;
  1519.         } BIT;
  1520.     } ADCSR;
  1521.     union {
  1522.         unsigned char BYTE;
  1523.         struct {
  1524.             unsigned char MODE:2;
  1525.             unsigned char CKS:2;
  1526.             unsigned char :1;
  1527.             unsigned char TRGS:3;
  1528.         } BIT;
  1529.     } ADCR;
  1530.     union {
  1531.         unsigned char BYTE;
  1532.         struct {
  1533.             unsigned char :7;
  1534.             unsigned char DPSEL:1;
  1535.         } BIT;
  1536.     } ADDPR;
  1537.     unsigned char ADSSTR;
  1538.     unsigned char wk1[11];
  1539.     union {
  1540.         unsigned char BYTE;
  1541.         struct {
  1542.             unsigned char DIAG:2;
  1543.             unsigned char :6;
  1544.         } BIT;
  1545.     } ADDIAGR;
  1546. };
  1547.  
  1548. struct st_da {
  1549.     unsigned short DADR0;
  1550.     unsigned short DADR1;
  1551.     union {
  1552.         unsigned char BYTE;
  1553.         struct {
  1554.             unsigned char :5;
  1555.             unsigned char DAE:1;
  1556.             unsigned char DAOE0:1;
  1557.             unsigned char DAOE1:1;
  1558.         } BIT;
  1559.     } DACR;
  1560.     union {
  1561.         unsigned char BYTE;
  1562.         struct {
  1563.             unsigned char :7;
  1564.             unsigned char DPSEL:1;
  1565.         } BIT;
  1566.     } DADPR;
  1567. };
  1568.  
  1569. struct st_ppg0 {
  1570.     union {
  1571.         unsigned char BYTE;
  1572.         struct {
  1573.             unsigned char G0CMS:2;
  1574.             unsigned char G1CMS:2;
  1575.             unsigned char G2CMS:2;
  1576.             unsigned char G3CMS:2;
  1577.         } BIT;
  1578.     } PCR;
  1579.     union {
  1580.         unsigned char BYTE;
  1581.         struct {
  1582.             unsigned char G0NOV:1;
  1583.             unsigned char G1NOV:1;
  1584.             unsigned char G2NOV:1;
  1585.             unsigned char G3NOV:1;
  1586.             unsigned char G0INV:1;
  1587.             unsigned char G1INV:1;
  1588.             unsigned char G2INV:1;
  1589.             unsigned char G3INV:1;
  1590.         } BIT;
  1591.     } PMR;
  1592.     union {
  1593.         unsigned char BYTE;
  1594.         struct {
  1595.             unsigned char NDER8:1;
  1596.             unsigned char NDER9:1;
  1597.             unsigned char NDER10:1;
  1598.             unsigned char NDER11:1;
  1599.             unsigned char NDER12:1;
  1600.             unsigned char NDER13:1;
  1601.             unsigned char NDER14:1;
  1602.             unsigned char NDER15:1;
  1603.         } BIT;
  1604.     } NDERH;
  1605.     union {
  1606.         unsigned char BYTE;
  1607.         struct {
  1608.             unsigned char NDER0:1;
  1609.             unsigned char NDER1:1;
  1610.             unsigned char NDER2:1;
  1611.             unsigned char NDER3:1;
  1612.             unsigned char NDER4:1;
  1613.             unsigned char NDER5:1;
  1614.             unsigned char NDER6:1;
  1615.             unsigned char NDER7:1;
  1616.         } BIT;
  1617.     } NDERL;
  1618.     union {
  1619.         unsigned char BYTE;
  1620.         struct {
  1621.             unsigned char POD8:1;
  1622.             unsigned char POD9:1;
  1623.             unsigned char POD10:1;
  1624.             unsigned char POD11:1;
  1625.             unsigned char POD12:1;
  1626.             unsigned char POD13:1;
  1627.             unsigned char POD14:1;
  1628.             unsigned char POD15:1;
  1629.         } BIT;
  1630.     } PODRH;
  1631.     union {
  1632.         unsigned char BYTE;
  1633.         struct {
  1634.             unsigned char POD0:1;
  1635.             unsigned char POD1:1;
  1636.             unsigned char POD2:1;
  1637.             unsigned char POD3:1;
  1638.             unsigned char POD4:1;
  1639.             unsigned char POD5:1;
  1640.             unsigned char POD6:1;
  1641.             unsigned char POD7:1;
  1642.         } BIT;
  1643.     } PODRL;
  1644.     union {
  1645.         unsigned char BYTE;
  1646.         struct {
  1647.             unsigned char NDR8:1;
  1648.             unsigned char NDR9:1;
  1649.             unsigned char NDR10:1;
  1650.             unsigned char NDR11:1;
  1651.             unsigned char NDR12:1;
  1652.             unsigned char NDR13:1;
  1653.             unsigned char NDR14:1;
  1654.             unsigned char NDR15:1;
  1655.         } BIT;
  1656.     } NDRH;
  1657.     union {
  1658.         unsigned char BYTE;
  1659.         struct {
  1660.             unsigned char NDR0:1;
  1661.             unsigned char NDR1:1;
  1662.             unsigned char NDR2:1;
  1663.             unsigned char NDR3:1;
  1664.             unsigned char NDR4:1;
  1665.             unsigned char NDR5:1;
  1666.             unsigned char NDR6:1;
  1667.             unsigned char NDR7:1;
  1668.         } BIT;
  1669.     } NDRL;
  1670.     union {
  1671.         unsigned char BYTE;
  1672.         struct {
  1673.             unsigned char NDR8:1;
  1674.             unsigned char NDR9:1;
  1675.             unsigned char NDR10:1;
  1676.             unsigned char NDR11:1;
  1677.             unsigned char :4;
  1678.         } BIT;
  1679.     } NDRH2;
  1680.     union {
  1681.         unsigned char BYTE;
  1682.         struct {
  1683.             unsigned char NDR0:1;
  1684.             unsigned char NDR1:1;
  1685.             unsigned char NDR2:1;
  1686.             unsigned char NDR3:1;
  1687.             unsigned char :4;
  1688.         } BIT;
  1689.     } NDRL2;
  1690. };
  1691.  
  1692. struct st_ppg1 {
  1693.     union {
  1694.         unsigned char BYTE;
  1695.         struct {
  1696.             unsigned char PTRSL:1;
  1697.             unsigned char :7;
  1698.         } BIT;
  1699.     } PTRSLR;
  1700.     unsigned char wk0[5];
  1701.     union {
  1702.         unsigned char BYTE;
  1703.         struct {
  1704.             unsigned char G0CMS:2;
  1705.             unsigned char G1CMS:2;
  1706.             unsigned char G2CMS:2;
  1707.             unsigned char G3CMS:2;
  1708.         } BIT;
  1709.     } PCR;
  1710.     union {
  1711.         unsigned char BYTE;
  1712.         struct {
  1713.             unsigned char G0NOV:1;
  1714.             unsigned char G1NOV:1;
  1715.             unsigned char G2NOV:1;
  1716.             unsigned char G3NOV:1;
  1717.             unsigned char G0INV:1;
  1718.             unsigned char G1INV:1;
  1719.             unsigned char G2INV:1;
  1720.             unsigned char G3INV:1;
  1721.         } BIT;
  1722.     } PMR;
  1723.     union {
  1724.         unsigned char BYTE;
  1725.         struct {
  1726.             unsigned char NDER24:1;
  1727.             unsigned char NDER25:1;
  1728.             unsigned char NDER26:1;
  1729.             unsigned char NDER27:1;
  1730.             unsigned char NDER28:1;
  1731.             unsigned char NDER29:1;
  1732.             unsigned char NDER30:1;
  1733.             unsigned char NDER31:1;
  1734.         } BIT;
  1735.     } NDERH;
  1736.     union {
  1737.         unsigned char BYTE;
  1738.         struct {
  1739.             unsigned char NDER16:1;
  1740.             unsigned char NDER17:1;
  1741.             unsigned char NDER18:1;
  1742.             unsigned char NDER19:1;
  1743.             unsigned char NDER20:1;
  1744.             unsigned char NDER21:1;
  1745.             unsigned char NDER22:1;
  1746.             unsigned char NDER23:1;
  1747.         } BIT;
  1748.     } NDERL;
  1749.     union {
  1750.         unsigned char BYTE;
  1751.         struct {
  1752.             unsigned char POD24:1;
  1753.             unsigned char POD25:1;
  1754.             unsigned char POD26:1;
  1755.             unsigned char POD27:1;
  1756.             unsigned char POD28:1;
  1757.             unsigned char POD29:1;
  1758.             unsigned char POD30:1;
  1759.             unsigned char POD31:1;
  1760.         } BIT;
  1761.     } PODRH;
  1762.     union {
  1763.         unsigned char BYTE;
  1764.         struct {
  1765.             unsigned char POD16:1;
  1766.             unsigned char POD17:1;
  1767.             unsigned char POD18:1;
  1768.             unsigned char POD19:1;
  1769.             unsigned char POD20:1;
  1770.             unsigned char POD21:1;
  1771.             unsigned char POD22:1;
  1772.             unsigned char POD23:1;
  1773.         } BIT;
  1774.     } PODRL;
  1775.     union {
  1776.         unsigned char BYTE;
  1777.         struct {
  1778.             unsigned char NDR24:1;
  1779.             unsigned char NDR25:1;
  1780.             unsigned char NDR26:1;
  1781.             unsigned char NDR27:1;
  1782.             unsigned char NDR28:1;
  1783.             unsigned char NDR29:1;
  1784.             unsigned char NDR30:1;
  1785.             unsigned char NDR31:1;
  1786.         } BIT;
  1787.     } NDRH;
  1788.     union {
  1789.         unsigned char BYTE;
  1790.         struct {
  1791.             unsigned char NDR16:1;
  1792.             unsigned char NDR17:1;
  1793.             unsigned char NDR18:1;
  1794.             unsigned char NDR19:1;
  1795.             unsigned char NDR20:1;
  1796.             unsigned char NDR21:1;
  1797.             unsigned char NDR22:1;
  1798.             unsigned char NDR23:1;
  1799.         } BIT;
  1800.     } NDRL;
  1801.     union {
  1802.         unsigned char BYTE;
  1803.         struct {
  1804.             unsigned char NDR24:1;
  1805.             unsigned char NDR25:1;
  1806.             unsigned char NDR26:1;
  1807.             unsigned char NDR27:1;
  1808.             unsigned char :4;
  1809.         } BIT;
  1810.     } NDRH2;
  1811.     union {
  1812.         unsigned char BYTE;
  1813.         struct {
  1814.             unsigned char NDR16:1;
  1815.             unsigned char NDR17:1;
  1816.             unsigned char NDR18:1;
  1817.             unsigned char NDR19:1;
  1818.             unsigned char :4;
  1819.         } BIT;
  1820.     } NDRL2;
  1821. };
  1822.  
  1823. struct st_tmr0 {
  1824.     union {
  1825.         unsigned char BYTE;
  1826.         struct {
  1827.             unsigned char :3;
  1828.             unsigned char CCLR:2;
  1829.             unsigned char OVIE:1;
  1830.             unsigned char CMIEA:1;
  1831.             unsigned char CMIEB:1;
  1832.         } BIT;
  1833.     } TCR;
  1834.     unsigned char wk0[1];
  1835.     union {
  1836.         unsigned char BYTE;
  1837.         struct {
  1838.             unsigned char OSA:2;
  1839.             unsigned char OSB:2;
  1840.             unsigned char ADTE:1;
  1841.             unsigned char :3;
  1842.         } BIT;
  1843.     } TCSR;
  1844.     unsigned char wk1[1];
  1845.     unsigned char TCORA;
  1846.     unsigned char wk2[1];
  1847.     unsigned char TCORB;
  1848.     unsigned char wk3[1];
  1849.     unsigned char TCNT;
  1850.     unsigned char wk4[1];
  1851.     union {
  1852.         unsigned char BYTE;
  1853.         struct {
  1854.             unsigned char CKS:3;
  1855.             unsigned char CSS:2;
  1856.             unsigned char :2;
  1857.             unsigned char TMRIS:1;
  1858.         } BIT;
  1859.     } TCCR;
  1860. };
  1861.  
  1862. struct st_tmr1 {
  1863.     union {
  1864.         unsigned char BYTE;
  1865.         struct {
  1866.             unsigned char :3;
  1867.             unsigned char CCLR:2;
  1868.             unsigned char OVIE:1;
  1869.             unsigned char CMIEA:1;
  1870.             unsigned char CMIEB:1;
  1871.         } BIT;
  1872.     } TCR;
  1873.     unsigned char wk0[1];
  1874.     union {
  1875.         unsigned char BYTE;
  1876.         struct {
  1877.             unsigned char OSA:2;
  1878.             unsigned char OSB:2;
  1879.             unsigned char :4;
  1880.         } BIT;
  1881.     } TCSR;
  1882.     unsigned char wk1[1];
  1883.     unsigned char TCORA;
  1884.     unsigned char wk2[1];
  1885.     unsigned char TCORB;
  1886.     unsigned char wk3[1];
  1887.     unsigned char TCNT;
  1888.     unsigned char wk4[1];
  1889.     union {
  1890.         unsigned char BYTE;
  1891.         struct {
  1892.             unsigned char CKS:3;
  1893.             unsigned char CSS:2;
  1894.             unsigned char :2;
  1895.             unsigned char TMRIS:1;
  1896.         } BIT;
  1897.     } TCCR;
  1898. };
  1899.  
  1900. struct st_tmr01 {
  1901.     unsigned short TCORA;
  1902.     unsigned short TCORB;
  1903.     unsigned short TCNT;
  1904.     unsigned short TCCR;
  1905. };
  1906.  
  1907. struct st_sci {
  1908.     union {
  1909.         unsigned char BYTE;
  1910.         struct {
  1911.             unsigned char CKS:2;
  1912.             unsigned char MP:1;
  1913.             unsigned char STOP:1;
  1914.             unsigned char PM:1;
  1915.             unsigned char PE:1;
  1916.             unsigned char CHR:1;
  1917.             unsigned char CM:1;
  1918.         } BIT;
  1919.     } SMR;
  1920.     unsigned char BRR;
  1921.     union {
  1922.         unsigned char BYTE;
  1923.         struct {
  1924.             unsigned char CKE:2;
  1925.             unsigned char TEIE:1;
  1926.             unsigned char MPIE:1;
  1927.             unsigned char RE:1;
  1928.             unsigned char TE:1;
  1929.             unsigned char RIE:1;
  1930.             unsigned char TIE:1;
  1931.         } BIT;
  1932.     } SCR;
  1933.     unsigned char TDR;
  1934.     union {
  1935.         unsigned char BYTE;
  1936.         struct {
  1937.             unsigned char MPBT:1;
  1938.             unsigned char MPB:1;
  1939.             unsigned char TEND:1;
  1940.             unsigned char PER:1;
  1941.             unsigned char FER:1;
  1942.             unsigned char ORER:1;
  1943.             unsigned char :2;
  1944.         } BIT;
  1945.     } SSR;
  1946.     unsigned char RDR;
  1947.     union {
  1948.         unsigned char BYTE;
  1949.         struct {
  1950.             unsigned char SMIF:1;
  1951.             unsigned char :1;
  1952.             unsigned char SINV:1;
  1953.             unsigned char SDIR:1;
  1954.             unsigned char :4;
  1955.         } BIT;
  1956.     } SCMR;
  1957.     union {
  1958.         unsigned char BYTE;
  1959.         struct {
  1960.             unsigned char ACS0:1;
  1961.             unsigned char :3;
  1962.             unsigned char ABCS:1;
  1963.             unsigned char :3;
  1964.         } BIT;
  1965.     } SEMR;
  1966. };
  1967.  
  1968. struct st_smci {
  1969.     union {
  1970.         unsigned char BYTE;
  1971.         struct {
  1972.             unsigned char CKS:2;
  1973.             unsigned char BCP:2;
  1974.             unsigned char PM:1;
  1975.             unsigned char PE:1;
  1976.             unsigned char BLK:1;
  1977.             unsigned char GM:1;
  1978.         } BIT;
  1979.     } SMR;
  1980.     unsigned char BRR;
  1981.     union {
  1982.         unsigned char BYTE;
  1983.         struct {
  1984.             unsigned char CKE:2;
  1985.             unsigned char TEIE:1;
  1986.             unsigned char :1;
  1987.             unsigned char RE:1;
  1988.             unsigned char TE:1;
  1989.             unsigned char RIE:1;
  1990.             unsigned char TIE:1;
  1991.         } BIT;
  1992.     } SCR;
  1993.     unsigned char TDR;
  1994.     union {
  1995.         unsigned char BYTE;
  1996.         struct {
  1997.             unsigned char :2;
  1998.             unsigned char TEND:1;
  1999.             unsigned char PER:1;
  2000.             unsigned char ERS:1;
  2001.             unsigned char ORER:1;
  2002.             unsigned char :2;
  2003.         } BIT;
  2004.     } SSR;
  2005.     unsigned char RDR;
  2006.     union {
  2007.         unsigned char BYTE;
  2008.         struct {
  2009.             unsigned char SMIF:1;
  2010.             unsigned char :1;
  2011.             unsigned char SINV:1;
  2012.             unsigned char SDIR:1;
  2013.             unsigned char :3;
  2014.             unsigned char BCP2:1;
  2015.         } BIT;
  2016.     } SCMR;
  2017. };
  2018.  
  2019. struct st_crc {
  2020.     union {
  2021.         unsigned char BYTE;
  2022.         struct {
  2023.             unsigned char GPS:2;
  2024.             unsigned char LMS:1;
  2025.             unsigned char :4;
  2026.             unsigned char DORCLR:1;
  2027.         } BIT;
  2028.     } CRCCR;
  2029.     unsigned char CRCDIR;
  2030.     unsigned short CRCDOR;
  2031. };
  2032.  
  2033. struct st_riic {
  2034.     union {
  2035.         unsigned char BYTE;
  2036.         struct {
  2037.             unsigned char SDAI:1;
  2038.             unsigned char SCLI:1;
  2039.             unsigned char SDAO:1;
  2040.             unsigned char SCLO:1;
  2041.             unsigned char SOWP:1;
  2042.             unsigned char CLO:1;
  2043.             unsigned char IICRST:1;
  2044.             unsigned char ICE:1;
  2045.         } BIT;
  2046.     } ICCR1;
  2047.     union {
  2048.         unsigned char BYTE;
  2049.         struct {
  2050.             unsigned char :1;
  2051.             unsigned char ST:1;
  2052.             unsigned char RS:1;
  2053.             unsigned char SP:1;
  2054.             unsigned char :1;
  2055.             unsigned char TRS:1;
  2056.             unsigned char MST:1;
  2057.             unsigned char BBSY:1;
  2058.         } BIT;
  2059.     } ICCR2;
  2060.     union {
  2061.         unsigned char BYTE;
  2062.         struct {
  2063.             unsigned char BC:3;
  2064.             unsigned char BCWP:1;
  2065.             unsigned char CKS:3;
  2066.             unsigned char MTWP:1;
  2067.         } BIT;
  2068.     } ICMR1;
  2069.     union {
  2070.         unsigned char BYTE;
  2071.         struct {
  2072.             unsigned char TMOS:1;
  2073.             unsigned char TMOL:1;
  2074.             unsigned char TMOH:1;
  2075.             unsigned char :1;
  2076.             unsigned char SDDL:3;
  2077.             unsigned char DLCS:1;
  2078.         } BIT;
  2079.     } ICMR2;
  2080.     union {
  2081.         unsigned char BYTE;
  2082.         struct {
  2083.             unsigned char NF:2;
  2084.             unsigned char ACKBR:1;
  2085.             unsigned char ACKBT:1;
  2086.             unsigned char ACKWP:1;
  2087.             unsigned char RDRFS:1;
  2088.             unsigned char WAIT:1;
  2089.             unsigned char SMBS:1;
  2090.         } BIT;
  2091.     } ICMR3;
  2092.     union {
  2093.         unsigned char BYTE;
  2094.         struct {
  2095.             unsigned char TMOE:1;
  2096.             unsigned char MALE:1;
  2097.             unsigned char NALE:1;
  2098.             unsigned char SALE:1;
  2099.             unsigned char NACKE:1;
  2100.             unsigned char NFE:1;
  2101.             unsigned char SCLE:1;
  2102.             unsigned char FMPE:1;
  2103.         } BIT;
  2104.     } ICFER;
  2105.     union {
  2106.         unsigned char BYTE;
  2107.         struct {
  2108.             unsigned char SAR0E:1;
  2109.             unsigned char SAR1E:1;
  2110.             unsigned char SAR2E:1;
  2111.             unsigned char GCAE:1;
  2112.             unsigned char :1;
  2113.             unsigned char DIDE:1;
  2114.             unsigned char :1;
  2115.             unsigned char HOAE:1;
  2116.         } BIT;
  2117.     } ICSER;
  2118.     union {
  2119.         unsigned char BYTE;
  2120.         struct {
  2121.             unsigned char TMOIE:1;
  2122.             unsigned char ALIE:1;
  2123.             unsigned char STIE:1;
  2124.             unsigned char SPIE:1;
  2125.             unsigned char NAKIE:1;
  2126.             unsigned char RIE:1;
  2127.             unsigned char TEIE:1;
  2128.             unsigned char TIE:1;
  2129.         } BIT;
  2130.     } ICIER;
  2131.     union {
  2132.         unsigned char BYTE;
  2133.         struct {
  2134.             unsigned char AAS0:1;
  2135.             unsigned char AAS1:1;
  2136.             unsigned char AAS2:1;
  2137.             unsigned char GCA:1;
  2138.             unsigned char :1;
  2139.             unsigned char DID:1;
  2140.             unsigned char :1;
  2141.             unsigned char HOA:1;
  2142.         } BIT;
  2143.     } ICSR1;
  2144.     union {
  2145.         unsigned char BYTE;
  2146.         struct {
  2147.             unsigned char TMOF:1;
  2148.             unsigned char AL:1;
  2149.             unsigned char START:1;
  2150.             unsigned char STOP:1;
  2151.             unsigned char NACKF:1;
  2152.             unsigned char RDRF:1;
  2153.             unsigned char TEND:1;
  2154.             unsigned char TDRE:1;
  2155.         } BIT;
  2156.     } ICSR2;
  2157.     union {
  2158.         unsigned char BYTE;
  2159.         struct {
  2160.             unsigned char SVA0:1;
  2161.             unsigned char SVA:7;
  2162.         } BIT;
  2163.     } SARL0;
  2164.     union {
  2165.         unsigned char BYTE;
  2166.         struct {
  2167.             unsigned char FS:1;
  2168.             unsigned char SVA:2;
  2169.             unsigned char :5;
  2170.         } BIT;
  2171.     } SARU0;
  2172.     union {
  2173.         unsigned char BYTE;
  2174.         struct {
  2175.             unsigned char SVA0:1;
  2176.             unsigned char SVA:7;
  2177.         } BIT;
  2178.     } SARL1;
  2179.     union {
  2180.         unsigned char BYTE;
  2181.         struct {
  2182.             unsigned char FS:1;
  2183.             unsigned char SVA:2;
  2184.             unsigned char :5;
  2185.         } BIT;
  2186.     } SARU1;
  2187.     union {
  2188.         unsigned char BYTE;
  2189.         struct {
  2190.             unsigned char SVA0:1;
  2191.             unsigned char SVA:7;
  2192.         } BIT;
  2193.     } SARL2;
  2194.     union {
  2195.         unsigned char BYTE;
  2196.         struct {
  2197.             unsigned char FS:1;
  2198.             unsigned char SVA:2;
  2199.             unsigned char :5;
  2200.         } BIT;
  2201.     } SARU2;
  2202.     union {
  2203.         unsigned char BYTE;
  2204.         struct {
  2205.             unsigned char BRL:5;
  2206.             unsigned char :3;
  2207.         } BIT;
  2208.     } ICBRL;
  2209.     union {
  2210.         unsigned char BYTE;
  2211.         struct {
  2212.             unsigned char BRH:5;
  2213.             unsigned char :3;
  2214.         } BIT;
  2215.     } ICBRH;
  2216.     unsigned char ICDRT;
  2217.     unsigned char ICDRR;
  2218. };
  2219.  
  2220. struct st_rspi {
  2221.     union {
  2222.         unsigned char BYTE;
  2223.         struct {
  2224.             unsigned char SPMS:1;
  2225.             unsigned char TXMD:1;
  2226.             unsigned char MODFEN:1;
  2227.             unsigned char MSTR:1;
  2228.             unsigned char SPEIE:1;
  2229.             unsigned char SPTIE:1;
  2230.             unsigned char SPE:1;
  2231.             unsigned char SPRIE:1;
  2232.         } BIT;
  2233.     } SPCR;
  2234.     union {
  2235.         unsigned char BYTE;
  2236.         struct {
  2237.             unsigned char SSLP0:1;
  2238.             unsigned char SSLP1:1;
  2239.             unsigned char SSLP2:1;
  2240.             unsigned char SSLP3:1;
  2241.             unsigned char :4;
  2242.         } BIT;
  2243.     } SSLP;
  2244.     union {
  2245.         unsigned char BYTE;
  2246.         struct {
  2247.             unsigned char SPLP:1;
  2248.             unsigned char SPLP2:1;
  2249.             unsigned char SPOM:1;
  2250.             unsigned char :1;
  2251.             unsigned char MOIFV:1;
  2252.             unsigned char MOIFE:1;
  2253.             unsigned char :2;
  2254.         } BIT;
  2255.     } SPPCR;
  2256.     union {
  2257.         unsigned char BYTE;
  2258.         struct {
  2259.             unsigned char OVRF:1;
  2260.             unsigned char IDLNF:1;
  2261.             unsigned char MODF:1;
  2262.             unsigned char PERF:1;
  2263.             unsigned char :4;
  2264.         } BIT;
  2265.     } SPSR;
  2266.     union {
  2267.         unsigned long LONG;
  2268.         struct {
  2269.             unsigned short H;
  2270.             unsigned short L;
  2271.         } WORD;
  2272.     } SPDR;
  2273.     union {
  2274.         unsigned char BYTE;
  2275.         struct {
  2276.             unsigned char SPSLN:3;
  2277.             unsigned char :5;
  2278.         } BIT;
  2279.     } SPSCR;
  2280.     union {
  2281.         unsigned char BYTE;
  2282.         struct {
  2283.             unsigned char SPCP:3;
  2284.             unsigned char :1;
  2285.             unsigned char SPECM:3;
  2286.             unsigned char :1;
  2287.         } BIT;
  2288.     } SPSSR;
  2289.     union {
  2290.         unsigned char BYTE;
  2291.         struct {
  2292.             unsigned char SPR0:1;
  2293.             unsigned char SPR1:1;
  2294.             unsigned char SPR2:1;
  2295.             unsigned char SPR3:1;
  2296.             unsigned char SPR4:1;
  2297.             unsigned char SPR5:1;
  2298.             unsigned char SPR6:1;
  2299.             unsigned char SPR7:1;
  2300.         } BIT;
  2301.     } SPBR;
  2302.     union {
  2303.         unsigned char BYTE;
  2304.         struct {
  2305.             unsigned char SPFC:2;
  2306.             unsigned char SLSEL:2;
  2307.             unsigned char SPRDTD:1;
  2308.             unsigned char SPLW:1;
  2309.             unsigned char :2;
  2310.         } BIT;
  2311.     } SPDCR;
  2312.     union {
  2313.         unsigned char BYTE;
  2314.         struct {
  2315.             unsigned char SCKDL:3;
  2316.             unsigned char :5;
  2317.         } BIT;
  2318.     } SPCKD;
  2319.     union {
  2320.         unsigned char BYTE;
  2321.         struct {
  2322.             unsigned char SLNDL:3;
  2323.             unsigned char :5;
  2324.         } BIT;
  2325.     } SSLND;
  2326.     union {
  2327.         unsigned char BYTE;
  2328.         struct {
  2329.             unsigned char SPNDL:3;
  2330.             unsigned char :5;
  2331.         } BIT;
  2332.     } SPND;
  2333.     union {
  2334.         unsigned char BYTE;
  2335.         struct {
  2336.             unsigned char SPPE:1;
  2337.             unsigned char SPOE:1;
  2338.             unsigned char SPIIE:1;
  2339.             unsigned char PTE:1;
  2340.             unsigned char :4;
  2341.         } BIT;
  2342.     } SPCR2;
  2343.     union {
  2344.         unsigned short WORD;
  2345.         struct {
  2346.             unsigned short CPHA:1;
  2347.             unsigned short CPOL:1;
  2348.             unsigned short BRDV:2;
  2349.             unsigned short SSLA:3;
  2350.             unsigned short SSLKP:1;
  2351.             unsigned short SPB:4;
  2352.             unsigned short LSBF:1;
  2353.             unsigned short SPNDEN:1;
  2354.             unsigned short SLNDEN:1;
  2355.             unsigned short SCKDEN:1;
  2356.         } BIT;
  2357.     } SPCMD0;
  2358.     union {
  2359.         unsigned short WORD;
  2360.         struct {
  2361.             unsigned short CPHA:1;
  2362.             unsigned short CPOL:1;
  2363.             unsigned short BRDV:2;
  2364.             unsigned short SSLA:3;
  2365.             unsigned short SSLKP:1;
  2366.             unsigned short SPB:4;
  2367.             unsigned short LSBF:1;
  2368.             unsigned short SPNDEN:1;
  2369.             unsigned short SLNDEN:1;
  2370.             unsigned short SCKDEN:1;
  2371.         } BIT;
  2372.     } SPCMD1;
  2373.     union {
  2374.         unsigned short WORD;
  2375.         struct {
  2376.             unsigned short CPHA:1;
  2377.             unsigned short CPOL:1;
  2378.             unsigned short BRDV:2;
  2379.             unsigned short SSLA:3;
  2380.             unsigned short SSLKP:1;
  2381.             unsigned short SPB:4;
  2382.             unsigned short LSBF:1;
  2383.             unsigned short SPNDEN:1;
  2384.             unsigned short SLNDEN:1;
  2385.             unsigned short SCKDEN:1;
  2386.         } BIT;
  2387.     } SPCMD2;
  2388.     union {
  2389.         unsigned short WORD;
  2390.         struct {
  2391.             unsigned short CPHA:1;
  2392.             unsigned short CPOL:1;
  2393.             unsigned short BRDV:2;
  2394.             unsigned short SSLA:3;
  2395.             unsigned short SSLKP:1;
  2396.             unsigned short SPB:4;
  2397.             unsigned short LSBF:1;
  2398.             unsigned short SPNDEN:1;
  2399.             unsigned short SLNDEN:1;
  2400.             unsigned short SCKDEN:1;
  2401.         } BIT;
  2402.     } SPCMD3;
  2403.     union {
  2404.         unsigned short WORD;
  2405.         struct {
  2406.             unsigned short CPHA:1;
  2407.             unsigned short CPOL:1;
  2408.             unsigned short BRDV:2;
  2409.             unsigned short SSLA:3;
  2410.             unsigned short SSLKP:1;
  2411.             unsigned short SPB:4;
  2412.             unsigned short LSBF:1;
  2413.             unsigned short SPNDEN:1;
  2414.             unsigned short SLNDEN:1;
  2415.             unsigned short SCKDEN:1;
  2416.         } BIT;
  2417.     } SPCMD4;
  2418.     union {
  2419.         unsigned short WORD;
  2420.         struct {
  2421.             unsigned short CPHA:1;
  2422.             unsigned short CPOL:1;
  2423.             unsigned short BRDV:2;
  2424.             unsigned short SSLA:3;
  2425.             unsigned short SSLKP:1;
  2426.             unsigned short SPB:4;
  2427.             unsigned short LSBF:1;
  2428.             unsigned short SPNDEN:1;
  2429.             unsigned short SLNDEN:1;
  2430.             unsigned short SCKDEN:1;
  2431.         } BIT;
  2432.     } SPCMD5;
  2433.     union {
  2434.         unsigned short WORD;
  2435.         struct {
  2436.             unsigned short CPHA:1;
  2437.             unsigned short CPOL:1;
  2438.             unsigned short BRDV:2;
  2439.             unsigned short SSLA:3;
  2440.             unsigned short SSLKP:1;
  2441.             unsigned short SPB:4;
  2442.             unsigned short LSBF:1;
  2443.             unsigned short SPNDEN:1;
  2444.             unsigned short SLNDEN:1;
  2445.             unsigned short SCKDEN:1;
  2446.         } BIT;
  2447.     } SPCMD6;
  2448.     union {
  2449.         unsigned short WORD;
  2450.         struct {
  2451.             unsigned short CPHA:1;
  2452.             unsigned short CPOL:1;
  2453.             unsigned short BRDV:2;
  2454.             unsigned short SSLA:3;
  2455.             unsigned short SSLKP:1;
  2456.             unsigned short SPB:4;
  2457.             unsigned short LSBF:1;
  2458.             unsigned short SPNDEN:1;
  2459.             unsigned short SLNDEN:1;
  2460.             unsigned short SCKDEN:1;
  2461.         } BIT;
  2462.     } SPCMD7;
  2463. };
  2464.  
  2465. struct st_mtu {
  2466.     union {
  2467.         unsigned char BYTE;
  2468.         struct {
  2469.             unsigned char OE3B:1;
  2470.             unsigned char OE4A:1;
  2471.             unsigned char OE4B:1;
  2472.             unsigned char OE3D:1;
  2473.             unsigned char OE4C:1;
  2474.             unsigned char OE4D:1;
  2475.             unsigned char :2;
  2476.         } BIT;
  2477.     } TOER;
  2478.     unsigned char wk0[2];
  2479.     union {
  2480.         unsigned char BYTE;
  2481.         struct {
  2482.             unsigned char UF:1;
  2483.             unsigned char VF:1;
  2484.             unsigned char WF:1;
  2485.             unsigned char FB:1;
  2486.             unsigned char P:1;
  2487.             unsigned char N:1;
  2488.             unsigned char BCD:1;
  2489.             unsigned char :1;
  2490.         } BIT;
  2491.     } TGCR;
  2492.     union {
  2493.         unsigned char BYTE;
  2494.         struct {
  2495.             unsigned char OLSP:1;
  2496.             unsigned char OLSN:1;
  2497.             unsigned char TOCS:1;
  2498.             unsigned char TOCL:1;
  2499.             unsigned char :2;
  2500.             unsigned char PSYE:1;
  2501.             unsigned char :1;
  2502.         } BIT;
  2503.     } TOCR1;
  2504.     union {
  2505.         unsigned char BYTE;
  2506.         struct {
  2507.             unsigned char OLS1P:1;
  2508.             unsigned char OLS1N:1;
  2509.             unsigned char OLS2P:1;
  2510.             unsigned char OLS2N:1;
  2511.             unsigned char OLS3P:1;
  2512.             unsigned char OLS3N:1;
  2513.             unsigned char BF:2;
  2514.         } BIT;
  2515.     } TOCR2;
  2516.     unsigned char wk1[4];
  2517.     unsigned short TCDR;
  2518.     unsigned short TDDR;
  2519.     unsigned char wk2[8];
  2520.     unsigned short TCNTS;
  2521.     unsigned short TCBR;
  2522.     unsigned char wk3[12];
  2523.     union {
  2524.         unsigned char BYTE;
  2525.         struct {
  2526.             unsigned char T4VCOR:3;
  2527.             unsigned char T4VEN:1;
  2528.             unsigned char T3ACOR:3;
  2529.             unsigned char T3AEN:1;
  2530.         } BIT;
  2531.     } TITCR;
  2532.     union {
  2533.         unsigned char BYTE;
  2534.         struct {
  2535.             unsigned char T4VCNT:3;
  2536.             unsigned char :1;
  2537.             unsigned char T3ACNT:3;
  2538.             unsigned char :1;
  2539.         } BIT;
  2540.     } TITCNT;
  2541.     union {
  2542.         unsigned char BYTE;
  2543.         struct {
  2544.             unsigned char BTE:2;
  2545.             unsigned char :6;
  2546.         } BIT;
  2547.     } TBTER;
  2548.     unsigned char wk4[1];
  2549.     union {
  2550.         unsigned char BYTE;
  2551.         struct {
  2552.             unsigned char TDRE:1;
  2553.             unsigned char :7;
  2554.         } BIT;
  2555.     } TDER;
  2556.     unsigned char wk5[1];
  2557.     union {
  2558.         unsigned char BYTE;
  2559.         struct {
  2560.             unsigned char OLS1P:1;
  2561.             unsigned char OLS1N:1;
  2562.             unsigned char OLS2P:1;
  2563.             unsigned char OLS2N:1;
  2564.             unsigned char OLS3P:1;
  2565.             unsigned char OLS3N:1;
  2566.             unsigned char :2;
  2567.         } BIT;
  2568.     } TOLBR;
  2569.     unsigned char wk6[41];
  2570.     union {
  2571.         unsigned char BYTE;
  2572.         struct {
  2573.             unsigned char WRE:1;
  2574.             unsigned char :6;
  2575.             unsigned char CCE:1;
  2576.         } BIT;
  2577.     } TWCR;
  2578.     unsigned char wk7[31];
  2579.     union {
  2580.         unsigned char BYTE;
  2581.         struct {
  2582.             unsigned char CST0:1;
  2583.             unsigned char CST1:1;
  2584.             unsigned char CST2:1;
  2585.             unsigned char :3;
  2586.             unsigned char CST3:1;
  2587.             unsigned char CST4:1;
  2588.         } BIT;
  2589.     } TSTR;
  2590.     union {
  2591.         unsigned char BYTE;
  2592.         struct {
  2593.             unsigned char SYNC0:1;
  2594.             unsigned char SYNC1:1;
  2595.             unsigned char SYNC2:1;
  2596.             unsigned char :3;
  2597.             unsigned char SYNC3:1;
  2598.             unsigned char SYNC4:1;
  2599.         } BIT;
  2600.     } TSYR;
  2601.     unsigned char wk8[2];
  2602.     union {
  2603.         unsigned char BYTE;
  2604.         struct {
  2605.             unsigned char RWE:1;
  2606.             unsigned char :7;
  2607.         } BIT;
  2608.     } TRWER;
  2609. };
  2610.  
  2611. struct st_mtu0 {
  2612.     union {
  2613.         unsigned char BYTE;
  2614.         struct {
  2615.             unsigned char TPSC:3;
  2616.             unsigned char CKEG:2;
  2617.             unsigned char CCLR:3;
  2618.         } BIT;
  2619.     } TCR;
  2620.     union {
  2621.         unsigned char BYTE;
  2622.         struct {
  2623.             unsigned char MD:4;
  2624.             unsigned char BFA:1;
  2625.             unsigned char BFB:1;
  2626.             unsigned char BFE:1;
  2627.             unsigned char :1;
  2628.         } BIT;
  2629.     } TMDR;
  2630.     union {
  2631.         unsigned char BYTE;
  2632.         struct {
  2633.             unsigned char IOA:4;
  2634.             unsigned char IOB:4;
  2635.         } BIT;
  2636.     } TIORH;
  2637.     union {
  2638.         unsigned char BYTE;
  2639.         struct {
  2640.             unsigned char IOC:4;
  2641.             unsigned char IOD:4;
  2642.         } BIT;
  2643.     } TIORL;
  2644.     union {
  2645.         unsigned char BYTE;
  2646.         struct {
  2647.             unsigned char TGIEA:1;
  2648.             unsigned char TGIEB:1;
  2649.             unsigned char TGIEC:1;
  2650.             unsigned char TGIED:1;
  2651.             unsigned char TCIEV:1;
  2652.             unsigned char :2;
  2653.             unsigned char TTGE:1;
  2654.         } BIT;
  2655.     } TIER;
  2656.     unsigned char TSR;
  2657.     unsigned short TCNT;
  2658.     unsigned short TGRA;
  2659.     unsigned short TGRB;
  2660.     unsigned short TGRC;
  2661.     unsigned short TGRD;
  2662.     unsigned char wk0[16];
  2663.     unsigned short TGRE;
  2664.     unsigned short TGRF;
  2665.     union {
  2666.         unsigned char BYTE;
  2667.         struct {
  2668.             unsigned char TGIEE:1;
  2669.             unsigned char TGIEF:1;
  2670.             unsigned char :6;
  2671.         } BIT;
  2672.     } TIER2;
  2673.     unsigned char wk1[1];
  2674.     union {
  2675.         unsigned char BYTE;
  2676.         struct {
  2677.             unsigned char TTSA:1;
  2678.             unsigned char TTSB:1;
  2679.             unsigned char TTSE:1;
  2680.             unsigned char :5;
  2681.         } BIT;
  2682.     } TBTM;
  2683. };
  2684.  
  2685. struct st_mtu1 {
  2686.     union {
  2687.         unsigned char BYTE;
  2688.         struct {
  2689.             unsigned char TPSC:3;
  2690.             unsigned char CKEG:2;
  2691.             unsigned char CCLR:3;
  2692.         } BIT;
  2693.     } TCR;
  2694.     union {
  2695.         unsigned char BYTE;
  2696.         struct {
  2697.             unsigned char MD:4;
  2698.             unsigned char :4;
  2699.         } BIT;
  2700.     } TMDR;
  2701.     union {
  2702.         unsigned char BYTE;
  2703.         struct {
  2704.             unsigned char IOA:4;
  2705.             unsigned char IOB:4;
  2706.         } BIT;
  2707.     } TIOR;
  2708.     unsigned char wk0[1];
  2709.     union {
  2710.         unsigned char BYTE;
  2711.         struct {
  2712.             unsigned char TGIEA:1;
  2713.             unsigned char TGIEB:1;
  2714.             unsigned char :2;
  2715.             unsigned char TCIEV:1;
  2716.             unsigned char TCIEU:1;
  2717.             unsigned char :1;
  2718.             unsigned char TTGE:1;
  2719.         } BIT;
  2720.     } TIER;
  2721.     union {
  2722.         unsigned char BYTE;
  2723.         struct {
  2724.             unsigned char :7;
  2725.             unsigned char TCFD:1;
  2726.         } BIT;
  2727.     } TSR;
  2728.     unsigned short TCNT;
  2729.     unsigned short TGRA;
  2730.     unsigned short TGRB;
  2731.     unsigned char wk1[4];
  2732.     union {
  2733.         unsigned char BYTE;
  2734.         struct {
  2735.             unsigned char I1AE:1;
  2736.             unsigned char I1BE:1;
  2737.             unsigned char I2AE:1;
  2738.             unsigned char I2BE:1;
  2739.             unsigned char :4;
  2740.         } BIT;
  2741.     } TICCR;
  2742. };
  2743.  
  2744. struct st_mtu2 {
  2745.     union {
  2746.         unsigned char BYTE;
  2747.         struct {
  2748.             unsigned char TPSC:3;
  2749.             unsigned char CKEG:2;
  2750.             unsigned char CCLR:3;
  2751.         } BIT;
  2752.     } TCR;
  2753.     union {
  2754.         unsigned char BYTE;
  2755.         struct {
  2756.             unsigned char MD:4;
  2757.             unsigned char :4;
  2758.         } BIT;
  2759.     } TMDR;
  2760.     union {
  2761.         unsigned char BYTE;
  2762.         struct {
  2763.             unsigned char IOA:4;
  2764.             unsigned char IOB:4;
  2765.         } BIT;
  2766.     } TIOR;
  2767.     unsigned char wk0[1];
  2768.     union {
  2769.         unsigned char BYTE;
  2770.         struct {
  2771.             unsigned char TGIEA:1;
  2772.             unsigned char TGIEB:1;
  2773.             unsigned char :2;
  2774.             unsigned char TCIEV:1;
  2775.             unsigned char TCIEU:1;
  2776.             unsigned char :1;
  2777.             unsigned char TTGE:1;
  2778.         } BIT;
  2779.     } TIER;
  2780.     union {
  2781.         unsigned char BYTE;
  2782.         struct {
  2783.             unsigned char :7;
  2784.             unsigned char TCFD:1;
  2785.         } BIT;
  2786.     } TSR;
  2787.     unsigned short TCNT;
  2788.     unsigned short TGRA;
  2789.     unsigned short TGRB;
  2790. };
  2791.  
  2792. struct st_mtu3 {
  2793.     union {
  2794.         unsigned char BYTE;
  2795.         struct {
  2796.             unsigned char TPSC:3;
  2797.             unsigned char CKEG:2;
  2798.             unsigned char CCLR:3;
  2799.         } BIT;
  2800.     } TCR;
  2801.     unsigned char wk0[1];
  2802.     union {
  2803.         unsigned char BYTE;
  2804.         struct {
  2805.             unsigned char MD:4;
  2806.             unsigned char BFA:1;
  2807.             unsigned char BFB:1;
  2808.             unsigned char BFE:1;
  2809.             unsigned char :1;
  2810.         } BIT;
  2811.     } TMDR;
  2812.     unsigned char wk1[1];
  2813.     union {
  2814.         unsigned char BYTE;
  2815.         struct {
  2816.             unsigned char IOA:4;
  2817.             unsigned char IOB:4;
  2818.         } BIT;
  2819.     } TIORH;
  2820.     union {
  2821.         unsigned char BYTE;
  2822.         struct {
  2823.             unsigned char IOC:4;
  2824.             unsigned char IOD:4;
  2825.         } BIT;
  2826.     } TIORL;
  2827.     unsigned char wk2[2];
  2828.     union {
  2829.         unsigned char BYTE;
  2830.         struct {
  2831.             unsigned char TGIEA:1;
  2832.             unsigned char TGIEB:1;
  2833.             unsigned char TGIEC:1;
  2834.             unsigned char TGIED:1;
  2835.             unsigned char TCIEV:1;
  2836.             unsigned char TCIEU:1;
  2837.             unsigned char TTGE2:1;
  2838.             unsigned char TTGE:1;
  2839.         } BIT;
  2840.     } TIER;
  2841.     unsigned char wk3[7];
  2842.     unsigned short TCNT;
  2843.     unsigned char wk4[6];
  2844.     unsigned short TGRA;
  2845.     unsigned short TGRB;
  2846.     unsigned char wk5[8];
  2847.     unsigned short TGRC;
  2848.     unsigned short TGRD;
  2849.     unsigned char wk6[4];
  2850.     union {
  2851.         unsigned char BYTE;
  2852.         struct {
  2853.             unsigned char :7;
  2854.             unsigned char TCFD:1;
  2855.         } BIT;
  2856.     } TSR;
  2857.     unsigned char wk7[11];
  2858.     union {
  2859.         unsigned char BYTE;
  2860.         struct {
  2861.             unsigned char TTSA:1;
  2862.             unsigned char TTSB:1;
  2863.             unsigned char TTSE:1;
  2864.             unsigned char :5;
  2865.         } BIT;
  2866.     } TBTM;
  2867. };
  2868.  
  2869. struct st_mtu4 {
  2870.     unsigned char DMMY;
  2871.     union {
  2872.         unsigned char BYTE;
  2873.         struct {
  2874.             unsigned char TPSC:3;
  2875.             unsigned char CKEG:2;
  2876.             unsigned char CCLR:3;
  2877.         } BIT;
  2878.     } TCR;
  2879.     unsigned char wk0[1];
  2880.     union {
  2881.         unsigned char BYTE;
  2882.         struct {
  2883.             unsigned char MD:4;
  2884.             unsigned char BFA:1;
  2885.             unsigned char BFB:1;
  2886.             unsigned char BFE:1;
  2887.             unsigned char :1;
  2888.         } BIT;
  2889.     } TMDR;
  2890.     unsigned char wk1[2];
  2891.     union {
  2892.         unsigned char BYTE;
  2893.         struct {
  2894.             unsigned char IOA:4;
  2895.             unsigned char IOB:4;
  2896.         } BIT;
  2897.     } TIORH;
  2898.     union {
  2899.         unsigned char BYTE;
  2900.         struct {
  2901.             unsigned char IOC:4;
  2902.             unsigned char IOD:4;
  2903.         } BIT;
  2904.     } TIORL;
  2905.     unsigned char wk2[1];
  2906.     union {
  2907.         unsigned char BYTE;
  2908.         struct {
  2909.             unsigned char TGIEA:1;
  2910.             unsigned char TGIEB:1;
  2911.             unsigned char TGIEC:1;
  2912.             unsigned char TGIED:1;
  2913.             unsigned char TCIEV:1;
  2914.             unsigned char TCIEU:1;
  2915.             unsigned char TTGE2:1;
  2916.             unsigned char TTGE:1;
  2917.         } BIT;
  2918.     } TIER;
  2919.     unsigned char wk3[8];
  2920.     unsigned short TCNT;
  2921.     unsigned char wk4[8];
  2922.     unsigned short TGRA;
  2923.     unsigned short TGRB;
  2924.     unsigned char wk5[8];
  2925.     unsigned short TGRC;
  2926.     unsigned short TGRD;
  2927.     unsigned char wk6[1];
  2928.     union {
  2929.         unsigned char BYTE;
  2930.         struct {
  2931.             unsigned char :7;
  2932.             unsigned char TCFD:1;
  2933.         } BIT;
  2934.     } TSR;
  2935.     unsigned char wk7[11];
  2936.     union {
  2937.         unsigned char BYTE;
  2938.         struct {
  2939.             unsigned char TTSA:1;
  2940.             unsigned char TTSB:1;
  2941.             unsigned char TTSE:1;
  2942.             unsigned char :5;
  2943.         } BIT;
  2944.     } TBTM;
  2945.     unsigned char wk8[6];
  2946.     union {
  2947.         unsigned short WORD;
  2948.         struct {
  2949.             unsigned short ITB4VE:1;
  2950.             unsigned short ITB3AE:1;
  2951.             unsigned short ITA4VE:1;
  2952.             unsigned short ITA3AE:1;
  2953.             unsigned short DT4BE:1;
  2954.             unsigned short UT4BE:1;
  2955.             unsigned short DT4AE:1;
  2956.             unsigned short UT4AE:1;
  2957.             unsigned short :6;
  2958.             unsigned short BF:2;
  2959.         } BIT;
  2960.     } TADCR;
  2961.     unsigned char wk9[2];
  2962.     unsigned short TADCORA;
  2963.     unsigned short TADCORB;
  2964.     unsigned short TADCOBRA;
  2965.     unsigned short TADCOBRB;
  2966. };
  2967.  
  2968. struct st_mtu5 {
  2969.     unsigned short TCNTU;
  2970.     unsigned short TGRU;
  2971.     union {
  2972.         unsigned char BYTE;
  2973.         struct {
  2974.             unsigned char TPSC:3;
  2975.             unsigned char CKEG:2;
  2976.             unsigned char CCLR:3;
  2977.         } BIT;
  2978.     } TCRU;
  2979.     unsigned char wk0[1];
  2980.     union {
  2981.         unsigned char BYTE;
  2982.         struct {
  2983.             unsigned char IOC:5;
  2984.             unsigned char :3;
  2985.         } BIT;
  2986.     } TIORU;
  2987.     unsigned char wk1[9];
  2988.     unsigned short TCNTV;
  2989.     unsigned short TGRV;
  2990.     union {
  2991.         unsigned char BYTE;
  2992.         struct {
  2993.             unsigned char TPSC:3;
  2994.             unsigned char CKEG:2;
  2995.             unsigned char CCLR:3;
  2996.         } BIT;
  2997.     } TCRV;
  2998.     union {
  2999.         unsigned char BYTE;
  3000.         struct {
  3001.             unsigned char IOC:5;
  3002.             unsigned char :3;
  3003.         } BIT;
  3004.     } TIORV;
  3005.     unsigned char wk2[9];
  3006.     unsigned short TCNTW;
  3007.     unsigned short TGRW;
  3008.     union {
  3009.         unsigned char BYTE;
  3010.         struct {
  3011.             unsigned char TPSC:3;
  3012.             unsigned char CKEG:2;
  3013.             unsigned char CCLR:3;
  3014.         } BIT;
  3015.     } TCRW;
  3016.     unsigned char wk3[1];
  3017.     union {
  3018.         unsigned char BYTE;
  3019.         struct {
  3020.             unsigned char IOC:5;
  3021.             unsigned char :3;
  3022.         } BIT;
  3023.     } TIORW;
  3024.     unsigned char wk4[11];
  3025.     union {
  3026.         unsigned char BYTE;
  3027.         struct {
  3028.             unsigned char TGIE5W:1;
  3029.             unsigned char TGIE5V:1;
  3030.             unsigned char TGIE5U:1;
  3031.             unsigned char :5;
  3032.         } BIT;
  3033.     } TIER;
  3034.     unsigned char wk5[1];
  3035.     union {
  3036.         unsigned char BYTE;
  3037.         struct {
  3038.             unsigned char CSTW5:1;
  3039.             unsigned char CSTV5:1;
  3040.             unsigned char CSTU5:1;
  3041.             unsigned char :5;
  3042.         } BIT;
  3043.     } TSTR;
  3044.     unsigned char wk6[1];
  3045.     union {
  3046.         unsigned char BYTE;
  3047.         struct {
  3048.             unsigned char CMPCLR5W:1;
  3049.             unsigned char CMPCLR5V:1;
  3050.             unsigned char CMPCLR5U:1;
  3051.             unsigned char :5;
  3052.         } BIT;
  3053.     } TCNTCMPCLR;
  3054. };
  3055.  
  3056. struct st_poe {
  3057.     union {
  3058.         unsigned short WORD;
  3059.         struct {
  3060.             unsigned short POE0M:2;
  3061.             unsigned short POE1M:2;
  3062.             unsigned short POE2M:2;
  3063.             unsigned short POE3M:2;
  3064.             unsigned short PIE1:1;
  3065.             unsigned short :3;
  3066.             unsigned short POE0F:1;
  3067.             unsigned short POE1F:1;
  3068.             unsigned short POE2F:1;
  3069.             unsigned short POE3F:1;
  3070.         } BIT;
  3071.     } ICSR1;
  3072.     union {
  3073.         unsigned short WORD;
  3074.         struct {
  3075.             unsigned short :8;
  3076.             unsigned short OIE1:1;
  3077.             unsigned short OCE1:1;
  3078.             unsigned short :5;
  3079.             unsigned short OSF1:1;
  3080.         } BIT;
  3081.     } OCSR1;
  3082.     union {
  3083.         unsigned short WORD;
  3084.         struct {
  3085.             unsigned short POE4M:2;
  3086.             unsigned short POE5M:2;
  3087.             unsigned short POE6M:2;
  3088.             unsigned short POE7M:2;
  3089.             unsigned short PIE2:1;
  3090.             unsigned short :3;
  3091.             unsigned short POE4F:1;
  3092.             unsigned short POE5F:1;
  3093.             unsigned short POE6F:1;
  3094.             unsigned short POE7F:1;
  3095.         } BIT;
  3096.     } ICSR2;
  3097.     union {
  3098.         unsigned short WORD;
  3099.         struct {
  3100.             unsigned short :8;
  3101.             unsigned short OIE2:1;
  3102.             unsigned short OCE2:1;
  3103.             unsigned short :5;
  3104.             unsigned short OSF2:1;
  3105.         } BIT;
  3106.     } OCSR2;
  3107.     union {
  3108.         unsigned short WORD;
  3109.         struct {
  3110.             unsigned short POE8M:2;
  3111.             unsigned short :6;
  3112.             unsigned short PIE3:1;
  3113.             unsigned short POE8E:1;
  3114.             unsigned short :2;
  3115.             unsigned short POE8F:1;
  3116.             unsigned short :3;
  3117.         } BIT;
  3118.     } ICSR3;
  3119.     union {
  3120.         unsigned char BYTE;
  3121.         struct {
  3122.             unsigned char CH34HIZ:1;
  3123.             unsigned char CH0HIZ:1;
  3124.             unsigned char CH910HIZ:1;
  3125.             unsigned char CH6HIZ:1;
  3126.             unsigned char :4;
  3127.         } BIT;
  3128.     } SPOER;
  3129.     union {
  3130.         unsigned char BYTE;
  3131.         struct {
  3132.             unsigned char PE0ZE:1;
  3133.             unsigned char PE1ZE:1;
  3134.             unsigned char PE2ZE:1;
  3135.             unsigned char PE3ZE:1;
  3136.             unsigned char PE4ZE:1;
  3137.             unsigned char PE5ZE:1;
  3138.             unsigned char PE6ZE:1;
  3139.             unsigned char PE7ZE:1;
  3140.         } BIT;
  3141.     } POECR1;
  3142.     union {
  3143.         unsigned short WORD;
  3144.         struct {
  3145.             unsigned short :4;
  3146.             unsigned short P6CZE:1;
  3147.             unsigned short P5CZE:1;
  3148.             unsigned short P4CZE:1;
  3149.             unsigned short :1;
  3150.             unsigned short P3CZEB:1;
  3151.             unsigned short P2CZEB:1;
  3152.             unsigned short P1CZEB:1;
  3153.             unsigned short :1;
  3154.             unsigned short P3CZEA:1;
  3155.             unsigned short P2CZEA:1;
  3156.             unsigned short P1CZEA:1;
  3157.             unsigned short :1;
  3158.         } BIT;
  3159.     } POECR2;
  3160.     union {
  3161.         unsigned short WORD;
  3162.         struct {
  3163.             unsigned short POE9M:2;
  3164.             unsigned short :6;
  3165.             unsigned short PIE4:1;
  3166.             unsigned short POE9E:1;
  3167.             unsigned short :2;
  3168.             unsigned short POE9F:1;
  3169.             unsigned short :3;
  3170.         } BIT;
  3171.     } ICSR4;
  3172. };
  3173.  
  3174. struct st_s12ad {
  3175.     union {
  3176.         unsigned char BYTE;
  3177.         struct {
  3178.             unsigned char EXTRG:1;
  3179.             unsigned char TRGE:1;
  3180.             unsigned char CKS:2;
  3181.             unsigned char ADIE:1;
  3182.             unsigned char :1;
  3183.             unsigned char ADCS:1;
  3184.             unsigned char ADST:1;
  3185.         } BIT;
  3186.     } ADCSR;
  3187.     unsigned char wk0[3];
  3188.     union {
  3189.         unsigned short WORD;
  3190.         struct {
  3191.             unsigned short ANS:8;
  3192.             unsigned short :8;
  3193.         } BIT;
  3194.     } ADANS;
  3195.     unsigned char wk1[2];
  3196.     union {
  3197.         unsigned short WORD;
  3198.         struct {
  3199.             unsigned short ADS:8;
  3200.             unsigned short :8;
  3201.         } BIT;
  3202.     } ADADS;
  3203.     unsigned char wk2[2];
  3204.     union {
  3205.         unsigned char BYTE;
  3206.         struct {
  3207.             unsigned char ADC:2;
  3208.             unsigned char :6;
  3209.         } BIT;
  3210.     } ADADC;
  3211.     unsigned char wk3[1];
  3212.     union {
  3213.         unsigned short WORD;
  3214.         struct {
  3215.             unsigned short :5;
  3216.             unsigned short ACE:1;
  3217.             unsigned short :9;
  3218.             unsigned short ADRFMT:1;
  3219.         } BIT;
  3220.     } ADCER;
  3221.     union {
  3222.         unsigned char BYTE;
  3223.         struct {
  3224.             unsigned char ADSTRS:4;
  3225.             unsigned char :4;
  3226.         } BIT;
  3227.     } ADSTRGR;
  3228.     unsigned char wk4[15];
  3229.     unsigned short ADDRA;
  3230.     unsigned short ADDRB;
  3231.     unsigned short ADDRC;
  3232.     unsigned short ADDRD;
  3233.     unsigned short ADDRE;
  3234.     unsigned short ADDRF;
  3235.     unsigned short ADDRG;
  3236.     unsigned short ADDRH;
  3237. };
  3238.  
  3239. struct st_port0 {
  3240.     union {
  3241.         unsigned char BYTE;
  3242.         struct {
  3243.             unsigned char B0:1;
  3244.             unsigned char B1:1;
  3245.             unsigned char B2:1;
  3246.             unsigned char B3:1;
  3247.             unsigned char :1;
  3248.             unsigned char B5:1;
  3249.             unsigned char :1;
  3250.             unsigned char B7:1;
  3251.         } BIT;
  3252.     } DDR;
  3253.     unsigned char wk0[31];
  3254.     union {
  3255.         unsigned char BYTE;
  3256.         struct {
  3257.             unsigned char B0:1;
  3258.             unsigned char B1:1;
  3259.             unsigned char B2:1;
  3260.             unsigned char B3:1;
  3261.             unsigned char :1;
  3262.             unsigned char B5:1;
  3263.             unsigned char :1;
  3264.             unsigned char B7:1;
  3265.         } BIT;
  3266.     } DR;
  3267.     unsigned char wk1[31];
  3268.     union {
  3269.         unsigned char BYTE;
  3270.         struct {
  3271.             unsigned char B0:1;
  3272.             unsigned char B1:1;
  3273.             unsigned char B2:1;
  3274.             unsigned char B3:1;
  3275.             unsigned char :1;
  3276.             unsigned char B5:1;
  3277.             unsigned char :1;
  3278.             unsigned char B7:1;
  3279.         } BIT;
  3280.     } PORT;
  3281.     unsigned char wk2[31];
  3282.     union {
  3283.         unsigned char BYTE;
  3284.         struct {
  3285.             unsigned char B0:1;
  3286.             unsigned char B1:1;
  3287.             unsigned char B2:1;
  3288.             unsigned char B3:1;
  3289.             unsigned char :1;
  3290.             unsigned char B5:1;
  3291.             unsigned char :1;
  3292.             unsigned char B7:1;
  3293.         } BIT;
  3294.     } ICR;
  3295.     unsigned char wk3[31];
  3296.     union {
  3297.         unsigned char BYTE;
  3298.         struct {
  3299.             unsigned char B0:1;
  3300.             unsigned char B1:1;
  3301.             unsigned char B2:1;
  3302.             unsigned char B3:1;
  3303.             unsigned char :1;
  3304.             unsigned char B5:1;
  3305.             unsigned char :1;
  3306.             unsigned char B7:1;
  3307.         } BIT;
  3308.     } ODR;
  3309. };
  3310.  
  3311. struct st_port1 {
  3312.     union {
  3313.         unsigned char BYTE;
  3314.         struct {
  3315.             unsigned char B0:1;
  3316.             unsigned char B1:1;
  3317.             unsigned char B2:1;
  3318.             unsigned char B3:1;
  3319.             unsigned char B4:1;
  3320.             unsigned char B5:1;
  3321.             unsigned char B6:1;
  3322.             unsigned char B7:1;
  3323.         } BIT;
  3324.     } DDR;
  3325.     unsigned char wk0[31];
  3326.     union {
  3327.         unsigned char BYTE;
  3328.         struct {
  3329.             unsigned char B0:1;
  3330.             unsigned char B1:1;
  3331.             unsigned char B2:1;
  3332.             unsigned char B3:1;
  3333.             unsigned char B4:1;
  3334.             unsigned char B5:1;
  3335.             unsigned char B6:1;
  3336.             unsigned char B7:1;
  3337.         } BIT;
  3338.     } DR;
  3339.     unsigned char wk1[31];
  3340.     union {
  3341.         unsigned char BYTE;
  3342.         struct {
  3343.             unsigned char B0:1;
  3344.             unsigned char B1:1;
  3345.             unsigned char B2:1;
  3346.             unsigned char B3:1;
  3347.             unsigned char B4:1;
  3348.             unsigned char B5:1;
  3349.             unsigned char B6:1;
  3350.             unsigned char B7:1;
  3351.         } BIT;
  3352.     } PORT;
  3353.     unsigned char wk2[31];
  3354.     union {
  3355.         unsigned char BYTE;
  3356.         struct {
  3357.             unsigned char B0:1;
  3358.             unsigned char B1:1;
  3359.             unsigned char B2:1;
  3360.             unsigned char B3:1;
  3361.             unsigned char B4:1;
  3362.             unsigned char B5:1;
  3363.             unsigned char B6:1;
  3364.             unsigned char B7:1;
  3365.         } BIT;
  3366.     } ICR;
  3367.     unsigned char wk3[31];
  3368.     union {
  3369.         unsigned char BYTE;
  3370.         struct {
  3371.             unsigned char B0:1;
  3372.             unsigned char B1:1;
  3373.             unsigned char B2:1;
  3374.             unsigned char B3:1;
  3375.             unsigned char B4:1;
  3376.             unsigned char B5:1;
  3377.             unsigned char B6:1;
  3378.             unsigned char B7:1;
  3379.         } BIT;
  3380.     } ODR;
  3381. };
  3382.  
  3383. struct st_port2 {
  3384.     union {
  3385.         unsigned char BYTE;
  3386.         struct {
  3387.             unsigned char B0:1;
  3388.             unsigned char B1:1;
  3389.             unsigned char B2:1;
  3390.             unsigned char B3:1;
  3391.             unsigned char B4:1;
  3392.             unsigned char B5:1;
  3393.             unsigned char B6:1;
  3394.             unsigned char B7:1;
  3395.         } BIT;
  3396.     } DDR;
  3397.     unsigned char wk0[31];
  3398.     union {
  3399.         unsigned char BYTE;
  3400.         struct {
  3401.             unsigned char B0:1;
  3402.             unsigned char B1:1;
  3403.             unsigned char B2:1;
  3404.             unsigned char B3:1;
  3405.             unsigned char B4:1;
  3406.             unsigned char B5:1;
  3407.             unsigned char B6:1;
  3408.             unsigned char B7:1;
  3409.         } BIT;
  3410.     } DR;
  3411.     unsigned char wk1[31];
  3412.     union {
  3413.         unsigned char BYTE;
  3414.         struct {
  3415.             unsigned char B0:1;
  3416.             unsigned char B1:1;
  3417.             unsigned char B2:1;
  3418.             unsigned char B3:1;
  3419.             unsigned char B4:1;
  3420.             unsigned char B5:1;
  3421.             unsigned char B6:1;
  3422.             unsigned char B7:1;
  3423.         } BIT;
  3424.     } PORT;
  3425.     unsigned char wk2[31];
  3426.     union {
  3427.         unsigned char BYTE;
  3428.         struct {
  3429.             unsigned char B0:1;
  3430.             unsigned char B1:1;
  3431.             unsigned char B2:1;
  3432.             unsigned char B3:1;
  3433.             unsigned char B4:1;
  3434.             unsigned char B5:1;
  3435.             unsigned char B6:1;
  3436.             unsigned char B7:1;
  3437.         } BIT;
  3438.     } ICR;
  3439.     unsigned char wk3[31];
  3440.     union {
  3441.         unsigned char BYTE;
  3442.         struct {
  3443.             unsigned char B0:1;
  3444.             unsigned char B1:1;
  3445.             unsigned char B2:1;
  3446.             unsigned char B3:1;
  3447.             unsigned char B4:1;
  3448.             unsigned char B5:1;
  3449.             unsigned char B6:1;
  3450.             unsigned char B7:1;
  3451.         } BIT;
  3452.     } ODR;
  3453. };
  3454.  
  3455. struct st_port3 {
  3456.     union {
  3457.         unsigned char BYTE;
  3458.         struct {
  3459.             unsigned char B0:1;
  3460.             unsigned char B1:1;
  3461.             unsigned char B2:1;
  3462.             unsigned char B3:1;
  3463.             unsigned char B4:1;
  3464.             unsigned char :3;
  3465.         } BIT;
  3466.     } DDR;
  3467.     unsigned char wk0[31];
  3468.     union {
  3469.         unsigned char BYTE;
  3470.         struct {
  3471.             unsigned char B0:1;
  3472.             unsigned char B1:1;
  3473.             unsigned char B2:1;
  3474.             unsigned char B3:1;
  3475.             unsigned char B4:1;
  3476.             unsigned char :3;
  3477.         } BIT;
  3478.     } DR;
  3479.     unsigned char wk1[31];
  3480.     union {
  3481.         unsigned char BYTE;
  3482.         struct {
  3483.             unsigned char B0:1;
  3484.             unsigned char B1:1;
  3485.             unsigned char B2:1;
  3486.             unsigned char B3:1;
  3487.             unsigned char B4:1;
  3488.             unsigned char B5:1;
  3489.             unsigned char :2;
  3490.         } BIT;
  3491.     } PORT;
  3492.     unsigned char wk2[31];
  3493.     union {
  3494.         unsigned char BYTE;
  3495.         struct {
  3496.             unsigned char B0:1;
  3497.             unsigned char B1:1;
  3498.             unsigned char B2:1;
  3499.             unsigned char B3:1;
  3500.             unsigned char B4:1;
  3501.             unsigned char :3;
  3502.         } BIT;
  3503.     } ICR;
  3504.     unsigned char wk3[31];
  3505.     union {
  3506.         unsigned char BYTE;
  3507.         struct {
  3508.             unsigned char B0:1;
  3509.             unsigned char B1:1;
  3510.             unsigned char B2:1;
  3511.             unsigned char B3:1;
  3512.             unsigned char B4:1;
  3513.             unsigned char :3;
  3514.         } BIT;
  3515.     } ODR;
  3516. };
  3517.  
  3518. struct st_port4 {
  3519.     union {
  3520.         unsigned char BYTE;
  3521.         struct {
  3522.             unsigned char B0:1;
  3523.             unsigned char B1:1;
  3524.             unsigned char B2:1;
  3525.             unsigned char B3:1;
  3526.             unsigned char B4:1;
  3527.             unsigned char B5:1;
  3528.             unsigned char B6:1;
  3529.             unsigned char B7:1;
  3530.         } BIT;
  3531.     } DDR;
  3532.     unsigned char wk0[31];
  3533.     union {
  3534.         unsigned char BYTE;
  3535.         struct {
  3536.             unsigned char B0:1;
  3537.             unsigned char B1:1;
  3538.             unsigned char B2:1;
  3539.             unsigned char B3:1;
  3540.             unsigned char B4:1;
  3541.             unsigned char B5:1;
  3542.             unsigned char B6:1;
  3543.             unsigned char B7:1;
  3544.         } BIT;
  3545.     } DR;
  3546.     unsigned char wk1[31];
  3547.     union {
  3548.         unsigned char BYTE;
  3549.         struct {
  3550.             unsigned char B0:1;
  3551.             unsigned char B1:1;
  3552.             unsigned char B2:1;
  3553.             unsigned char B3:1;
  3554.             unsigned char B4:1;
  3555.             unsigned char B5:1;
  3556.             unsigned char B6:1;
  3557.             unsigned char B7:1;
  3558.         } BIT;
  3559.     } PORT;
  3560.     unsigned char wk2[31];
  3561.     union {
  3562.         unsigned char BYTE;
  3563.         struct {
  3564.             unsigned char B0:1;
  3565.             unsigned char B1:1;
  3566.             unsigned char B2:1;
  3567.             unsigned char B3:1;
  3568.             unsigned char B4:1;
  3569.             unsigned char B5:1;
  3570.             unsigned char B6:1;
  3571.             unsigned char B7:1;
  3572.         } BIT;
  3573.     } ICR;
  3574. };
  3575.  
  3576. struct st_port5 {
  3577.     union {
  3578.         unsigned char BYTE;
  3579.         struct {
  3580.             unsigned char B0:1;
  3581.             unsigned char B1:1;
  3582.             unsigned char B2:1;
  3583.             unsigned char B3:1;
  3584.             unsigned char B4:1;
  3585.             unsigned char B5:1;
  3586.             unsigned char B6:1;
  3587.             unsigned char B7:1;
  3588.         } BIT;
  3589.     } DDR;
  3590.     unsigned char wk0[31];
  3591.     union {
  3592.         unsigned char BYTE;
  3593.         struct {
  3594.             unsigned char B0:1;
  3595.             unsigned char B1:1;
  3596.             unsigned char B2:1;
  3597.             unsigned char B3:1;
  3598.             unsigned char B4:1;
  3599.             unsigned char B5:1;
  3600.             unsigned char B6:1;
  3601.             unsigned char B7:1;
  3602.         } BIT;
  3603.     } DR;
  3604.     unsigned char wk1[31];
  3605.     union {
  3606.         unsigned char BYTE;
  3607.         struct {
  3608.             unsigned char B0:1;
  3609.             unsigned char B1:1;
  3610.             unsigned char B2:1;
  3611.             unsigned char B3:1;
  3612.             unsigned char B4:1;
  3613.             unsigned char B5:1;
  3614.             unsigned char B6:1;
  3615.             unsigned char B7:1;
  3616.         } BIT;
  3617.     } PORT;
  3618.     unsigned char wk2[31];
  3619.     union {
  3620.         unsigned char BYTE;
  3621.         struct {
  3622.             unsigned char B0:1;
  3623.             unsigned char B1:1;
  3624.             unsigned char B2:1;
  3625.             unsigned char B3:1;
  3626.             unsigned char B4:1;
  3627.             unsigned char B5:1;
  3628.             unsigned char B6:1;
  3629.             unsigned char B7:1;
  3630.         } BIT;
  3631.     } ICR;
  3632. };
  3633.  
  3634. struct st_port6 {
  3635.     union {
  3636.         unsigned char BYTE;
  3637.         struct {
  3638.             unsigned char B0:1;
  3639.             unsigned char B1:1;
  3640.             unsigned char B2:1;
  3641.             unsigned char B3:1;
  3642.             unsigned char B4:1;
  3643.             unsigned char B5:1;
  3644.             unsigned char B6:1;
  3645.             unsigned char B7:1;
  3646.         } BIT;
  3647.     } DDR;
  3648.     unsigned char wk0[31];
  3649.     union {
  3650.         unsigned char BYTE;
  3651.         struct {
  3652.             unsigned char B0:1;
  3653.             unsigned char B1:1;
  3654.             unsigned char B2:1;
  3655.             unsigned char B3:1;
  3656.             unsigned char B4:1;
  3657.             unsigned char B5:1;
  3658.             unsigned char B6:1;
  3659.             unsigned char B7:1;
  3660.         } BIT;
  3661.     } DR;
  3662.     unsigned char wk1[31];
  3663.     union {
  3664.         unsigned char BYTE;
  3665.         struct {
  3666.             unsigned char B0:1;
  3667.             unsigned char B1:1;
  3668.             unsigned char B2:1;
  3669.             unsigned char B3:1;
  3670.             unsigned char B4:1;
  3671.             unsigned char B5:1;
  3672.             unsigned char B6:1;
  3673.             unsigned char B7:1;
  3674.         } BIT;
  3675.     } PORT;
  3676.     unsigned char wk2[31];
  3677.     union {
  3678.         unsigned char BYTE;
  3679.         struct {
  3680.             unsigned char B0:1;
  3681.             unsigned char B1:1;
  3682.             unsigned char B2:1;
  3683.             unsigned char B3:1;
  3684.             unsigned char B4:1;
  3685.             unsigned char B5:1;
  3686.             unsigned char B6:1;
  3687.             unsigned char B7:1;
  3688.         } BIT;
  3689.     } ICR;
  3690. };
  3691.  
  3692. struct st_port7 {
  3693.     union {
  3694.         unsigned char BYTE;
  3695.         struct {
  3696.             unsigned char B0:1;
  3697.             unsigned char B1:1;
  3698.             unsigned char B2:1;
  3699.             unsigned char B3:1;
  3700.             unsigned char B4:1;
  3701.             unsigned char B5:1;
  3702.             unsigned char B6:1;
  3703.             unsigned char B7:1;
  3704.         } BIT;
  3705.     } DDR;
  3706.     unsigned char wk0[31];
  3707.     union {
  3708.         unsigned char BYTE;
  3709.         struct {
  3710.             unsigned char B0:1;
  3711.             unsigned char B1:1;
  3712.             unsigned char B2:1;
  3713.             unsigned char B3:1;
  3714.             unsigned char B4:1;
  3715.             unsigned char B5:1;
  3716.             unsigned char B6:1;
  3717.             unsigned char B7:1;
  3718.         } BIT;
  3719.     } DR;
  3720.     unsigned char wk1[31];
  3721.     union {
  3722.         unsigned char BYTE;
  3723.         struct {
  3724.             unsigned char B0:1;
  3725.             unsigned char B1:1;
  3726.             unsigned char B2:1;
  3727.             unsigned char B3:1;
  3728.             unsigned char B4:1;
  3729.             unsigned char B5:1;
  3730.             unsigned char B6:1;
  3731.             unsigned char B7:1;
  3732.         } BIT;
  3733.     } PORT;
  3734.     unsigned char wk2[31];
  3735.     union {
  3736.         unsigned char BYTE;
  3737.         struct {
  3738.             unsigned char B0:1;
  3739.             unsigned char B1:1;
  3740.             unsigned char B2:1;
  3741.             unsigned char B3:1;
  3742.             unsigned char B4:1;
  3743.             unsigned char B5:1;
  3744.             unsigned char B6:1;
  3745.             unsigned char B7:1;
  3746.         } BIT;
  3747.     } ICR;
  3748. };
  3749.  
  3750. struct st_port8 {
  3751.     union {
  3752.         unsigned char BYTE;
  3753.         struct {
  3754.             unsigned char B0:1;
  3755.             unsigned char B1:1;
  3756.             unsigned char B2:1;
  3757.             unsigned char B3:1;
  3758.             unsigned char B4:1;
  3759.             unsigned char B5:1;
  3760.             unsigned char :2;
  3761.         } BIT;
  3762.     } DDR;
  3763.     unsigned char wk0[31];
  3764.     union {
  3765.         unsigned char BYTE;
  3766.         struct {
  3767.             unsigned char B0:1;
  3768.             unsigned char B1:1;
  3769.             unsigned char B2:1;
  3770.             unsigned char B3:1;
  3771.             unsigned char B4:1;
  3772.             unsigned char B5:1;
  3773.             unsigned char :2;
  3774.         } BIT;
  3775.     } DR;
  3776.     unsigned char wk1[31];
  3777.     union {
  3778.         unsigned char BYTE;
  3779.         struct {
  3780.             unsigned char B0:1;
  3781.             unsigned char B1:1;
  3782.             unsigned char B2:1;
  3783.             unsigned char B3:1;
  3784.             unsigned char B4:1;
  3785.             unsigned char B5:1;
  3786.             unsigned char :2;
  3787.         } BIT;
  3788.     } PORT;
  3789.     unsigned char wk2[31];
  3790.     union {
  3791.         unsigned char BYTE;
  3792.         struct {
  3793.             unsigned char B0:1;
  3794.             unsigned char B1:1;
  3795.             unsigned char B2:1;
  3796.             unsigned char B3:1;
  3797.             unsigned char B4:1;
  3798.             unsigned char B5:1;
  3799.             unsigned char :2;
  3800.         } BIT;
  3801.     } ICR;
  3802. };
  3803.  
  3804. struct st_port9 {
  3805.     union {
  3806.         unsigned char BYTE;
  3807.         struct {
  3808.             unsigned char B0:1;
  3809.             unsigned char B1:1;
  3810.             unsigned char B2:1;
  3811.             unsigned char B3:1;
  3812.             unsigned char B4:1;
  3813.             unsigned char B5:1;
  3814.             unsigned char B6:1;
  3815.             unsigned char B7:1;
  3816.         } BIT;
  3817.     } DDR;
  3818.     unsigned char wk0[31];
  3819.     union {
  3820.         unsigned char BYTE;
  3821.         struct {
  3822.             unsigned char B0:1;
  3823.             unsigned char B1:1;
  3824.             unsigned char B2:1;
  3825.             unsigned char B3:1;
  3826.             unsigned char B4:1;
  3827.             unsigned char B5:1;
  3828.             unsigned char B6:1;
  3829.             unsigned char B7:1;
  3830.         } BIT;
  3831.     } DR;
  3832.     unsigned char wk1[31];
  3833.     union {
  3834.         unsigned char BYTE;
  3835.         struct {
  3836.             unsigned char B0:1;
  3837.             unsigned char B1:1;
  3838.             unsigned char B2:1;
  3839.             unsigned char B3:1;
  3840.             unsigned char B4:1;
  3841.             unsigned char B5:1;
  3842.             unsigned char B6:1;
  3843.             unsigned char B7:1;
  3844.         } BIT;
  3845.     } PORT;
  3846.     unsigned char wk2[31];
  3847.     union {
  3848.         unsigned char BYTE;
  3849.         struct {
  3850.             unsigned char B0:1;
  3851.             unsigned char B1:1;
  3852.             unsigned char B2:1;
  3853.             unsigned char B3:1;
  3854.             unsigned char B4:1;
  3855.             unsigned char B5:1;
  3856.             unsigned char B6:1;
  3857.             unsigned char B7:1;
  3858.         } BIT;
  3859.     } ICR;
  3860.     unsigned char wk3[95];
  3861.     union {
  3862.         unsigned char BYTE;
  3863.         struct {
  3864.             unsigned char B0:1;
  3865.             unsigned char B1:1;
  3866.             unsigned char B2:1;
  3867.             unsigned char B3:1;
  3868.             unsigned char B4:1;
  3869.             unsigned char B5:1;
  3870.             unsigned char B6:1;
  3871.             unsigned char B7:1;
  3872.         } BIT;
  3873.     } PCR;
  3874. };
  3875.  
  3876. struct st_porta {
  3877.     union {
  3878.         unsigned char BYTE;
  3879.         struct {
  3880.             unsigned char B0:1;
  3881.             unsigned char B1:1;
  3882.             unsigned char B2:1;
  3883.             unsigned char B3:1;
  3884.             unsigned char B4:1;
  3885.             unsigned char B5:1;
  3886.             unsigned char B6:1;
  3887.             unsigned char B7:1;
  3888.         } BIT;
  3889.     } DDR;
  3890.     unsigned char wk0[31];
  3891.     union {
  3892.         unsigned char BYTE;
  3893.         struct {
  3894.             unsigned char B0:1;
  3895.             unsigned char B1:1;
  3896.             unsigned char B2:1;
  3897.             unsigned char B3:1;
  3898.             unsigned char B4:1;
  3899.             unsigned char B5:1;
  3900.             unsigned char B6:1;
  3901.             unsigned char B7:1;
  3902.         } BIT;
  3903.     } DR;
  3904.     unsigned char wk1[31];
  3905.     union {
  3906.         unsigned char BYTE;
  3907.         struct {
  3908.             unsigned char B0:1;
  3909.             unsigned char B1:1;
  3910.             unsigned char B2:1;
  3911.             unsigned char B3:1;
  3912.             unsigned char B4:1;
  3913.             unsigned char B5:1;
  3914.             unsigned char B6:1;
  3915.             unsigned char B7:1;
  3916.         } BIT;
  3917.     } PORT;
  3918.     unsigned char wk2[31];
  3919.     union {
  3920.         unsigned char BYTE;
  3921.         struct {
  3922.             unsigned char B0:1;
  3923.             unsigned char B1:1;
  3924.             unsigned char B2:1;
  3925.             unsigned char B3:1;
  3926.             unsigned char B4:1;
  3927.             unsigned char B5:1;
  3928.             unsigned char B6:1;
  3929.             unsigned char B7:1;
  3930.         } BIT;
  3931.     } ICR;
  3932.     unsigned char wk3[95];
  3933.     union {
  3934.         unsigned char BYTE;
  3935.         struct {
  3936.             unsigned char B0:1;
  3937.             unsigned char B1:1;
  3938.             unsigned char B2:1;
  3939.             unsigned char B3:1;
  3940.             unsigned char B4:1;
  3941.             unsigned char B5:1;
  3942.             unsigned char B6:1;
  3943.             unsigned char B7:1;
  3944.         } BIT;
  3945.     } PCR;
  3946. };
  3947.  
  3948. struct st_portb {
  3949.     union {
  3950.         unsigned char BYTE;
  3951.         struct {
  3952.             unsigned char B0:1;
  3953.             unsigned char B1:1;
  3954.             unsigned char B2:1;
  3955.             unsigned char B3:1;
  3956.             unsigned char B4:1;
  3957.             unsigned char B5:1;
  3958.             unsigned char B6:1;
  3959.             unsigned char B7:1;
  3960.         } BIT;
  3961.     } DDR;
  3962.     unsigned char wk0[31];
  3963.     union {
  3964.         unsigned char BYTE;
  3965.         struct {
  3966.             unsigned char B0:1;
  3967.             unsigned char B1:1;
  3968.             unsigned char B2:1;
  3969.             unsigned char B3:1;
  3970.             unsigned char B4:1;
  3971.             unsigned char B5:1;
  3972.             unsigned char B6:1;
  3973.             unsigned char B7:1;
  3974.         } BIT;
  3975.     } DR;
  3976.     unsigned char wk1[31];
  3977.     union {
  3978.         unsigned char BYTE;
  3979.         struct {
  3980.             unsigned char B0:1;
  3981.             unsigned char B1:1;
  3982.             unsigned char B2:1;
  3983.             unsigned char B3:1;
  3984.             unsigned char B4:1;
  3985.             unsigned char B5:1;
  3986.             unsigned char B6:1;
  3987.             unsigned char B7:1;
  3988.         } BIT;
  3989.     } PORT;
  3990.     unsigned char wk2[31];
  3991.     union {
  3992.         unsigned char BYTE;
  3993.         struct {
  3994.             unsigned char B0:1;
  3995.             unsigned char B1:1;
  3996.             unsigned char B2:1;
  3997.             unsigned char B3:1;
  3998.             unsigned char B4:1;
  3999.             unsigned char B5:1;
  4000.             unsigned char B6:1;
  4001.             unsigned char B7:1;
  4002.         } BIT;
  4003.     } ICR;
  4004.     unsigned char wk3[95];
  4005.     union {
  4006.         unsigned char BYTE;
  4007.         struct {
  4008.             unsigned char B0:1;
  4009.             unsigned char B1:1;
  4010.             unsigned char B2:1;
  4011.             unsigned char B3:1;
  4012.             unsigned char B4:1;
  4013.             unsigned char B5:1;
  4014.             unsigned char B6:1;
  4015.             unsigned char B7:1;
  4016.         } BIT;
  4017.     } PCR;
  4018. };
  4019.  
  4020. struct st_portc {
  4021.     union {
  4022.         unsigned char BYTE;
  4023.         struct {
  4024.             unsigned char B0:1;
  4025.             unsigned char B1:1;
  4026.             unsigned char B2:1;
  4027.             unsigned char B3:1;
  4028.             unsigned char B4:1;
  4029.             unsigned char B5:1;
  4030.             unsigned char B6:1;
  4031.             unsigned char B7:1;
  4032.         } BIT;
  4033.     } DDR;
  4034.     unsigned char wk0[31];
  4035.     union {
  4036.         unsigned char BYTE;
  4037.         struct {
  4038.             unsigned char B0:1;
  4039.             unsigned char B1:1;
  4040.             unsigned char B2:1;
  4041.             unsigned char B3:1;
  4042.             unsigned char B4:1;
  4043.             unsigned char B5:1;
  4044.             unsigned char B6:1;
  4045.             unsigned char B7:1;
  4046.         } BIT;
  4047.     } DR;
  4048.     unsigned char wk1[31];
  4049.     union {
  4050.         unsigned char BYTE;
  4051.         struct {
  4052.             unsigned char B0:1;
  4053.             unsigned char B1:1;
  4054.             unsigned char B2:1;
  4055.             unsigned char B3:1;
  4056.             unsigned char B4:1;
  4057.             unsigned char B5:1;
  4058.             unsigned char B6:1;
  4059.             unsigned char B7:1;
  4060.         } BIT;
  4061.     } PORT;
  4062.     unsigned char wk2[31];
  4063.     union {
  4064.         unsigned char BYTE;
  4065.         struct {
  4066.             unsigned char B0:1;
  4067.             unsigned char B1:1;
  4068.             unsigned char B2:1;
  4069.             unsigned char B3:1;
  4070.             unsigned char B4:1;
  4071.             unsigned char B5:1;
  4072.             unsigned char B6:1;
  4073.             unsigned char B7:1;
  4074.         } BIT;
  4075.     } ICR;
  4076.     unsigned char wk3[31];
  4077.     union {
  4078.         unsigned char BYTE;
  4079.         struct {
  4080.             unsigned char B0:1;
  4081.             unsigned char B1:1;
  4082.             unsigned char B2:1;
  4083.             unsigned char B3:1;
  4084.             unsigned char B4:1;
  4085.             unsigned char B5:1;
  4086.             unsigned char B6:1;
  4087.             unsigned char B7:1;
  4088.         } BIT;
  4089.     } ODR;
  4090.     unsigned char wk4[63];
  4091.     union {
  4092.         unsigned char BYTE;
  4093.         struct {
  4094.             unsigned char B0:1;
  4095.             unsigned char B1:1;
  4096.             unsigned char B2:1;
  4097.             unsigned char B3:1;
  4098.             unsigned char B4:1;
  4099.             unsigned char B5:1;
  4100.             unsigned char B6:1;
  4101.             unsigned char B7:1;
  4102.         } BIT;
  4103.     } PCR;
  4104. };
  4105.  
  4106. struct st_portd {
  4107.     union {
  4108.         unsigned char BYTE;
  4109.         struct {
  4110.             unsigned char B0:1;
  4111.             unsigned char B1:1;
  4112.             unsigned char B2:1;
  4113.             unsigned char B3:1;
  4114.             unsigned char B4:1;
  4115.             unsigned char B5:1;
  4116.             unsigned char B6:1;
  4117.             unsigned char B7:1;
  4118.         } BIT;
  4119.     } DDR;
  4120.     unsigned char wk0[31];
  4121.     union {
  4122.         unsigned char BYTE;
  4123.         struct {
  4124.             unsigned char B0:1;
  4125.             unsigned char B1:1;
  4126.             unsigned char B2:1;
  4127.             unsigned char B3:1;
  4128.             unsigned char B4:1;
  4129.             unsigned char B5:1;
  4130.             unsigned char B6:1;
  4131.             unsigned char B7:1;
  4132.         } BIT;
  4133.     } DR;
  4134.     unsigned char wk1[31];
  4135.     union {
  4136.         unsigned char BYTE;
  4137.         struct {
  4138.             unsigned char B0:1;
  4139.             unsigned char B1:1;
  4140.             unsigned char B2:1;
  4141.             unsigned char B3:1;
  4142.             unsigned char B4:1;
  4143.             unsigned char B5:1;
  4144.             unsigned char B6:1;
  4145.             unsigned char B7:1;
  4146.         } BIT;
  4147.     } PORT;
  4148.     unsigned char wk2[31];
  4149.     union {
  4150.         unsigned char BYTE;
  4151.         struct {
  4152.             unsigned char B0:1;
  4153.             unsigned char B1:1;
  4154.             unsigned char B2:1;
  4155.             unsigned char B3:1;
  4156.             unsigned char B4:1;
  4157.             unsigned char B5:1;
  4158.             unsigned char B6:1;
  4159.             unsigned char B7:1;
  4160.         } BIT;
  4161.     } ICR;
  4162.     unsigned char wk3[95];
  4163.     union {
  4164.         unsigned char BYTE;
  4165.         struct {
  4166.             unsigned char B0:1;
  4167.             unsigned char B1:1;
  4168.             unsigned char B2:1;
  4169.             unsigned char B3:1;
  4170.             unsigned char B4:1;
  4171.             unsigned char B5:1;
  4172.             unsigned char B6:1;
  4173.             unsigned char B7:1;
  4174.         } BIT;
  4175.     } PCR;
  4176. };
  4177.  
  4178. struct st_porte {
  4179.     union {
  4180.         unsigned char BYTE;
  4181.         struct {
  4182.             unsigned char B0:1;
  4183.             unsigned char B1:1;
  4184.             unsigned char B2:1;
  4185.             unsigned char B3:1;
  4186.             unsigned char B4:1;
  4187.             unsigned char B5:1;
  4188.             unsigned char B6:1;
  4189.             unsigned char B7:1;
  4190.         } BIT;
  4191.     } DDR;
  4192.     unsigned char wk0[31];
  4193.     union {
  4194.         unsigned char BYTE;
  4195.         struct {
  4196.             unsigned char B0:1;
  4197.             unsigned char B1:1;
  4198.             unsigned char B2:1;
  4199.             unsigned char B3:1;
  4200.             unsigned char B4:1;
  4201.             unsigned char B5:1;
  4202.             unsigned char B6:1;
  4203.             unsigned char B7:1;
  4204.         } BIT;
  4205.     } DR;
  4206.     unsigned char wk1[31];
  4207.     union {
  4208.         unsigned char BYTE;
  4209.         struct {
  4210.             unsigned char B0:1;
  4211.             unsigned char B1:1;
  4212.             unsigned char B2:1;
  4213.             unsigned char B3:1;
  4214.             unsigned char B4:1;
  4215.             unsigned char B5:1;
  4216.             unsigned char B6:1;
  4217.             unsigned char B7:1;
  4218.         } BIT;
  4219.     } PORT;
  4220.     unsigned char wk2[31];
  4221.     union {
  4222.         unsigned char BYTE;
  4223.         struct {
  4224.             unsigned char B0:1;
  4225.             unsigned char B1:1;
  4226.             unsigned char B2:1;
  4227.             unsigned char B3:1;
  4228.             unsigned char B4:1;
  4229.             unsigned char B5:1;
  4230.             unsigned char B6:1;
  4231.             unsigned char B7:1;
  4232.         } BIT;
  4233.     } ICR;
  4234.     unsigned char wk3[95];
  4235.     union {
  4236.         unsigned char BYTE;
  4237.         struct {
  4238.             unsigned char B0:1;
  4239.             unsigned char B1:1;
  4240.             unsigned char B2:1;
  4241.             unsigned char B3:1;
  4242.             unsigned char B4:1;
  4243.             unsigned char B5:1;
  4244.             unsigned char B6:1;
  4245.             unsigned char B7:1;
  4246.         } BIT;
  4247.     } PCR;
  4248. };
  4249.  
  4250. struct st_portf {
  4251.     union {
  4252.         unsigned char BYTE;
  4253.         struct {
  4254.             unsigned char B0:1;
  4255.             unsigned char B1:1;
  4256.             unsigned char B2:1;
  4257.             unsigned char B3:1;
  4258.             unsigned char B4:1;
  4259.             unsigned char :3;
  4260.         } BIT;
  4261.     } DDR;
  4262.     unsigned char wk0[31];
  4263.     union {
  4264.         unsigned char BYTE;
  4265.         struct {
  4266.             unsigned char B0:1;
  4267.             unsigned char B1:1;
  4268.             unsigned char B2:1;
  4269.             unsigned char B3:1;
  4270.             unsigned char B4:1;
  4271.             unsigned char :3;
  4272.         } BIT;
  4273.     } DR;
  4274.     unsigned char wk1[31];
  4275.     union {
  4276.         unsigned char BYTE;
  4277.         struct {
  4278.             unsigned char B0:1;
  4279.             unsigned char B1:1;
  4280.             unsigned char B2:1;
  4281.             unsigned char B3:1;
  4282.             unsigned char B4:1;
  4283.             unsigned char :3;
  4284.         } BIT;
  4285.     } PORT;
  4286.     unsigned char wk2[31];
  4287.     union {
  4288.         unsigned char BYTE;
  4289.         struct {
  4290.             unsigned char B0:1;
  4291.             unsigned char B1:1;
  4292.             unsigned char B2:1;
  4293.             unsigned char B3:1;
  4294.             unsigned char B4:1;
  4295.             unsigned char :3;
  4296.         } BIT;
  4297.     } ICR;
  4298. };
  4299.  
  4300. struct st_portg {
  4301.     union {
  4302.         unsigned char BYTE;
  4303.         struct {
  4304.             unsigned char B0:1;
  4305.             unsigned char B1:1;
  4306.             unsigned char B2:1;
  4307.             unsigned char B3:1;
  4308.             unsigned char B4:1;
  4309.             unsigned char B5:1;
  4310.             unsigned char B6:1;
  4311.             unsigned char B7:1;
  4312.         } BIT;
  4313.     } DDR;
  4314.     unsigned char wk0[31];
  4315.     union {
  4316.         unsigned char BYTE;
  4317.         struct {
  4318.             unsigned char B0:1;
  4319.             unsigned char B1:1;
  4320.             unsigned char B2:1;
  4321.             unsigned char B3:1;
  4322.             unsigned char B4:1;
  4323.             unsigned char B5:1;
  4324.             unsigned char B6:1;
  4325.             unsigned char B7:1;
  4326.         } BIT;
  4327.     } DR;
  4328.     unsigned char wk1[31];
  4329.     union {
  4330.         unsigned char BYTE;
  4331.         struct {
  4332.             unsigned char B0:1;
  4333.             unsigned char B1:1;
  4334.             unsigned char B2:1;
  4335.             unsigned char B3:1;
  4336.             unsigned char B4:1;
  4337.             unsigned char B5:1;
  4338.             unsigned char B6:1;
  4339.             unsigned char B7:1;
  4340.         } BIT;
  4341.     } PORT;
  4342.     unsigned char wk2[31];
  4343.     union {
  4344.         unsigned char BYTE;
  4345.         struct {
  4346.             unsigned char B0:1;
  4347.             unsigned char B1:1;
  4348.             unsigned char B2:1;
  4349.             unsigned char B3:1;
  4350.             unsigned char B4:1;
  4351.             unsigned char B5:1;
  4352.             unsigned char B6:1;
  4353.             unsigned char B7:1;
  4354.         } BIT;
  4355.     } ICR;
  4356.     unsigned char wk3[95];
  4357.     union {
  4358.         unsigned char BYTE;
  4359.         struct {
  4360.             unsigned char B0:1;
  4361.             unsigned char B1:1;
  4362.             unsigned char B2:1;
  4363.             unsigned char B3:1;
  4364.             unsigned char B4:1;
  4365.             unsigned char B5:1;
  4366.             unsigned char B6:1;
  4367.             unsigned char B7:1;
  4368.         } BIT;
  4369.     } PCR;
  4370. };
  4371.  
  4372. struct st_ioport {
  4373.     union {
  4374.         unsigned char BYTE;
  4375.         struct {
  4376.             unsigned char CS0E:1;
  4377.             unsigned char CS1E:1;
  4378.             unsigned char CS2E:1;
  4379.             unsigned char CS3E:1;
  4380.             unsigned char CS4E:1;
  4381.             unsigned char CS5E:1;
  4382.             unsigned char CS6E:1;
  4383.             unsigned char CS7E:1;
  4384.         } BIT;
  4385.     } PF0CSE;
  4386.     union {
  4387.         unsigned char BYTE;
  4388.         struct {
  4389.             unsigned char CS4S:2;
  4390.             unsigned char CS5S:2;
  4391.             unsigned char CS6S:2;
  4392.             unsigned char CS7S:2;
  4393.         } BIT;
  4394.     } PF1CSS;
  4395.     union {
  4396.         unsigned char BYTE;
  4397.         struct {
  4398.             unsigned char CS0S:1;
  4399.             unsigned char :1;
  4400.             unsigned char CS1S:2;
  4401.             unsigned char CS2S:2;
  4402.             unsigned char CS3S:2;
  4403.         } BIT;
  4404.     } PF2CSS;
  4405.     union {
  4406.         unsigned char BYTE;
  4407.         struct {
  4408.             unsigned char A16E:1;
  4409.             unsigned char A17E:1;
  4410.             unsigned char A18E:1;
  4411.             unsigned char A19E:1;
  4412.             unsigned char A20E:1;
  4413.             unsigned char A21E:1;
  4414.             unsigned char A22E:1;
  4415.             unsigned char A23E:1;
  4416.         } BIT;
  4417.     } PF3BUS;
  4418.     union {
  4419.         unsigned char BYTE;
  4420.         struct {
  4421.             unsigned char ADRLE:2;
  4422.             unsigned char A10E:1;
  4423.             unsigned char A11E:1;
  4424.             unsigned char A12E:1;
  4425.             unsigned char A13E:1;
  4426.             unsigned char A14E:1;
  4427.             unsigned char A15E:1;
  4428.         } BIT;
  4429.     } PF4BUS;
  4430.     union {
  4431.         unsigned char BYTE;
  4432.         struct {
  4433.             unsigned char :1;
  4434.             unsigned char ADRHMS:1;
  4435.             unsigned char :2;
  4436.             unsigned char DHE:1;
  4437.             unsigned char DH32E:1;
  4438.             unsigned char WR1BC1E:1;
  4439.             unsigned char WR32BC32E:1;
  4440.         } BIT;
  4441.     } PF5BUS;
  4442.     union {
  4443.         unsigned char BYTE;
  4444.         struct {
  4445.             unsigned char WAITS:2;
  4446.             unsigned char :2;
  4447.             unsigned char MDSDE:1;
  4448.             unsigned char :1;
  4449.             unsigned char DQM1E:1;
  4450.             unsigned char SDCLKE:1;
  4451.         } BIT;
  4452.     } PF6BUS;
  4453.     union {
  4454.         unsigned char BYTE;
  4455.         struct {
  4456.             unsigned char :4;
  4457.             unsigned char EDMA0S:2;
  4458.             unsigned char EDMA1S:2;
  4459.         } BIT;
  4460.     } PF7DMA;
  4461.     union {
  4462.         unsigned char BYTE;
  4463.         struct {
  4464.             unsigned char ITS8:1;
  4465.             unsigned char ITS9:1;
  4466.             unsigned char ITS10:1;
  4467.             unsigned char ITS11:1;
  4468.             unsigned char :1;
  4469.             unsigned char ITS13:1;
  4470.             unsigned char :1;
  4471.             unsigned char ITS15:1;
  4472.         } BIT;
  4473.     } PF8IRQ;
  4474.     union {
  4475.         unsigned char BYTE;
  4476.         struct {
  4477.             unsigned char ITS0:1;
  4478.             unsigned char ITS1:1;
  4479.             unsigned char ITS2:1;
  4480.             unsigned char ITS3:1;
  4481.             unsigned char ITS4:1;
  4482.             unsigned char ITS5:1;
  4483.             unsigned char ITS6:1;
  4484.             unsigned char ITS7:1;
  4485.         } BIT;
  4486.     } PF9IRQ;
  4487.     union {
  4488.         unsigned char BYTE;
  4489.         struct {
  4490.             unsigned char ADTRG0S:1;
  4491.             unsigned char :7;
  4492.         } BIT;
  4493.     } PFAADC;
  4494.     union {
  4495.         unsigned char BYTE;
  4496.         struct {
  4497.             unsigned char :2;
  4498.             unsigned char TMR2S:1;
  4499.             unsigned char TMR3S:1;
  4500.             unsigned char :4;
  4501.         } BIT;
  4502.     } PFBTMR;
  4503.     union {
  4504.         unsigned char BYTE;
  4505.         struct {
  4506.             unsigned char MTUS0:1;
  4507.             unsigned char MTUS1:1;
  4508.             unsigned char MTUS2:1;
  4509.             unsigned char MTUS3:1;
  4510.             unsigned char MTUS4:1;
  4511.             unsigned char MTUS5:1;
  4512.             unsigned char MTUS6:1;
  4513.             unsigned char TCLKS:1;
  4514.         } BIT;
  4515.     } PFCMTU;
  4516.     union {
  4517.         unsigned char BYTE;
  4518.         struct {
  4519.             unsigned char :6;
  4520.             unsigned char MTUS6:1;
  4521.             unsigned char TCLKS:1;
  4522.         } BIT;
  4523.     } PFDMTU;
  4524.     union {
  4525.         unsigned char BYTE;
  4526.         struct {
  4527.             unsigned char ENETE0:1;
  4528.             unsigned char ENETE1:1;
  4529.             unsigned char ENETE2:1;
  4530.             unsigned char ENETE3:1;
  4531.             unsigned char PHYMODE:1;
  4532.             unsigned char :2;
  4533.             unsigned char EE:1;
  4534.         } BIT;
  4535.     } PFENET;
  4536.     union {
  4537.         unsigned char BYTE;
  4538.         struct {
  4539.             unsigned char :1;
  4540.             unsigned char SCI1S:1;
  4541.             unsigned char SCI2S:1;
  4542.             unsigned char SCI3S:1;
  4543.             unsigned char :2;
  4544.             unsigned char SCI6S:1;
  4545.             unsigned char :1;
  4546.         } BIT;
  4547.     } PFFSCI;
  4548.     union {
  4549.         unsigned char BYTE;
  4550.         struct {
  4551.             unsigned char RSPIS:1;
  4552.             unsigned char RSPCKE:1;
  4553.             unsigned char MOSIE:1;
  4554.             unsigned char MISOE:1;
  4555.             unsigned char SSL0E:1;
  4556.             unsigned char SSL1E:1;
  4557.             unsigned char SSL2E:1;
  4558.             unsigned char SSL3E:1;
  4559.         } BIT;
  4560.     } PFGSPI;
  4561.     union {
  4562.         unsigned char BYTE;
  4563.         struct {
  4564.             unsigned char RSPIS:1;
  4565.             unsigned char RSPCKE:1;
  4566.             unsigned char MOSIE:1;
  4567.             unsigned char MISOE:1;
  4568.             unsigned char SSL0E:1;
  4569.             unsigned char SSL1E:1;
  4570.             unsigned char SSL2E:1;
  4571.             unsigned char SSL3E:1;
  4572.         } BIT;
  4573.     } PFHSPI;
  4574.     unsigned char wk0[1];
  4575.     union {
  4576.         unsigned char BYTE;
  4577.         struct {
  4578.             unsigned char CAN0E:1;
  4579.             unsigned char :7;
  4580.         } BIT;
  4581.     } PFJCAN;
  4582.     union {
  4583.         unsigned char BYTE;
  4584.         struct {
  4585.             unsigned char USBMD:2;
  4586.             unsigned char PUPHZS:1;
  4587.             unsigned char PDHZS:1;
  4588.             unsigned char USBE:1;
  4589.             unsigned char :3;
  4590.         } BIT;
  4591.     } PFKUSB;
  4592.     union {
  4593.         unsigned char BYTE;
  4594.         struct {
  4595.             unsigned char USBMD:2;
  4596.             unsigned char PUPHZS:1;
  4597.             unsigned char PDHZS:1;
  4598.             unsigned char USBE:1;
  4599.             unsigned char :3;
  4600.         } BIT;
  4601.     } PFLUSB;
  4602.     union {
  4603.         unsigned char BYTE;
  4604.         struct {
  4605.             unsigned char POE0E:1;
  4606.             unsigned char POE1E:1;
  4607.             unsigned char POE2E:1;
  4608.             unsigned char POE3E:1;
  4609.             unsigned char POE4E:1;
  4610.             unsigned char POE5E:1;
  4611.             unsigned char POE6E:1;
  4612.             unsigned char POE7E:1;
  4613.         } BIT;
  4614.     } PFMPOE;
  4615.     union {
  4616.         unsigned char BYTE;
  4617.         struct {
  4618.             unsigned char POE8E:1;
  4619.             unsigned char POE9E:1;
  4620.             unsigned char :6;
  4621.         } BIT;
  4622.     } PFNPOE;
  4623. };
  4624.  
  4625. struct st_flash {
  4626.     unsigned char DMMY;
  4627.     union {
  4628.         unsigned char BYTE;
  4629.         struct {
  4630.             unsigned char FLWE:2;
  4631.             unsigned char :6;
  4632.         } BIT;
  4633.     } FWEPROR;
  4634.     unsigned char wk0[7799160];
  4635.     union {
  4636.         unsigned char BYTE;
  4637.         struct {
  4638.             unsigned char :4;
  4639.             unsigned char FRDMD:1;
  4640.             unsigned char :3;
  4641.         } BIT;
  4642.     } FMODR;
  4643.     unsigned char wk1[13];
  4644.     union {
  4645.         unsigned char BYTE;
  4646.         struct {
  4647.             unsigned char DFLWPE:1;
  4648.             unsigned char DFLRPE:1;
  4649.             unsigned char :1;
  4650.             unsigned char DFLAE:1;
  4651.             unsigned char CMDLK:1;
  4652.             unsigned char :2;
  4653.             unsigned char ROMAE:1;
  4654.         } BIT;
  4655.     } FASTAT;
  4656.     union {
  4657.         unsigned char BYTE;
  4658.         struct {
  4659.             unsigned char DFLWPEIE:1;
  4660.             unsigned char DFLRPEIE:1;
  4661.             unsigned char :1;
  4662.             unsigned char DFLAEIE:1;
  4663.             unsigned char CMDLKIE:1;
  4664.             unsigned char :2;
  4665.             unsigned char ROMAEIE:1;
  4666.         } BIT;
  4667.     } FAEINT;
  4668.     union {
  4669.         unsigned char BYTE;
  4670.         struct {
  4671.             unsigned char FRDYIE:1;
  4672.             unsigned char :7;
  4673.         } BIT;
  4674.     } FRDYIE;
  4675.     unsigned char wk2[45];
  4676.     union {
  4677.         unsigned short WORD;
  4678.         struct {
  4679.             unsigned short DBRE00:1;
  4680.             unsigned short DBRE01:1;
  4681.             unsigned short DBRE02:1;
  4682.             unsigned short DBRE03:1;
  4683.             unsigned short DBRE04:1;
  4684.             unsigned short DBRE05:1;
  4685.             unsigned short DBRE06:1;
  4686.             unsigned short DBRE07:1;
  4687.             unsigned short KEY:8;
  4688.         } BIT;
  4689.     } DFLRE0;
  4690.     union {
  4691.         unsigned short WORD;
  4692.         struct {
  4693.             unsigned short DBRE08:1;
  4694.             unsigned short DBRE09:1;
  4695.             unsigned short DBRE10:1;
  4696.             unsigned short DBRE11:1;
  4697.             unsigned short DBRE12:1;
  4698.             unsigned short DBRE13:1;
  4699.             unsigned short DBRE14:1;
  4700.             unsigned short DBRE15:1;
  4701.             unsigned short KEY:8;
  4702.         } BIT;
  4703.     } DFLRE1;
  4704.     unsigned char wk3[12];
  4705.     union {
  4706.         unsigned short WORD;
  4707.         struct {
  4708.             unsigned short DBWE00:1;
  4709.             unsigned short DBWE01:1;
  4710.             unsigned short DBWE02:1;
  4711.             unsigned short DBWE03:1;
  4712.             unsigned short DBWE04:1;
  4713.             unsigned short DBWE05:1;
  4714.             unsigned short DBWE06:1;
  4715.             unsigned short DBWE07:1;
  4716.             unsigned short KEY:8;
  4717.         } BIT;
  4718.     } DFLWE0;
  4719.     union {
  4720.         unsigned short WORD;
  4721.         struct {
  4722.             unsigned short DBWE08:1;
  4723.             unsigned short DBWE09:1;
  4724.             unsigned short DBWE10:1;
  4725.             unsigned short DBWE11:1;
  4726.             unsigned short DBWE12:1;
  4727.             unsigned short DBWE13:1;
  4728.             unsigned short DBWE14:1;
  4729.             unsigned short DBWE15:1;
  4730.             unsigned short KEY:8;
  4731.         } BIT;
  4732.     } DFLWE1;
  4733.     union {
  4734.         unsigned short WORD;
  4735.         struct {
  4736.             unsigned short FCRME:1;
  4737.             unsigned short :7;
  4738.             unsigned short KEY:8;
  4739.         } BIT;
  4740.     } FCURAME;
  4741.     unsigned char wk4[15194];
  4742.     union {
  4743.         unsigned char BYTE;
  4744.         struct {
  4745.             unsigned char PRGSPD:1;
  4746.             unsigned char ERSSPD:1;
  4747.             unsigned char :1;
  4748.             unsigned char SUSRDY:1;
  4749.             unsigned char PRGERR:1;
  4750.             unsigned char ERSERR:1;
  4751.             unsigned char ILGLERR:1;
  4752.             unsigned char FRDY:1;
  4753.         } BIT;
  4754.     } FSTATR0;
  4755.     union {
  4756.         unsigned char BYTE;
  4757.         struct {
  4758.             unsigned char :4;
  4759.             unsigned char FLOCKST:1;
  4760.             unsigned char :2;
  4761.             unsigned char FCUERR:1;
  4762.         } BIT;
  4763.     } FSTATR1;
  4764.     union {
  4765.         unsigned short WORD;
  4766.         struct {
  4767.             unsigned short FENTRY0:1;
  4768.             unsigned short :6;
  4769.             unsigned short FENTRYD:1;
  4770.             unsigned short FEKEY:8;
  4771.         } BIT;
  4772.     } FENTRYR;
  4773.     union {
  4774.         unsigned short WORD;
  4775.         struct {
  4776.             unsigned short FPROTCN:1;
  4777.             unsigned short :7;
  4778.             unsigned short FPKEY:8;
  4779.         } BIT;
  4780.     } FPROTR;
  4781.     union {
  4782.         unsigned short WORD;
  4783.         struct {
  4784.             unsigned short FRESET:1;
  4785.             unsigned short :7;
  4786.             unsigned short FPKEY:8;
  4787.         } BIT;
  4788.     } FRESETR;
  4789.     unsigned char wk5[2];
  4790.     union {
  4791.         unsigned short WORD;
  4792.         struct {
  4793.             unsigned short PCMDR:8;
  4794.             unsigned short CMDR:8;
  4795.         } BIT;
  4796.     } FCMDR;
  4797.     unsigned char wk6[12];
  4798.     union {
  4799.         unsigned short WORD;
  4800.         struct {
  4801.             unsigned short ESUSPMD:1;
  4802.             unsigned short :15;
  4803.         } BIT;
  4804.     } FCPSR;
  4805.     union {
  4806.         unsigned short WORD;
  4807.         struct {
  4808.             unsigned short BCSIZE:1;
  4809.             unsigned short :2;
  4810.             unsigned short BCADR:8;
  4811.             unsigned short :5;
  4812.         } BIT;
  4813.     } DFLBCCNT;
  4814.     union {
  4815.         unsigned short WORD;
  4816.         struct {
  4817.             unsigned short PEERRST:8;
  4818.             unsigned short :8;
  4819.         } BIT;
  4820.     } FPESTAT;
  4821.     union {
  4822.         unsigned short WORD;
  4823.         struct {
  4824.             unsigned short BCST:1;
  4825.             unsigned short :15;
  4826.         } BIT;
  4827.     } DFLBCSTAT;
  4828.     unsigned char wk7[24];
  4829.     union {
  4830.         unsigned short WORD;
  4831.         struct {
  4832.             unsigned short PCKA:8;
  4833.             unsigned short :8;
  4834.         } BIT;
  4835.     } PCKAR;
  4836. };
  4837.  
  4838. struct st_rtc {
  4839.     union {
  4840.         unsigned char BYTE;
  4841.         struct {
  4842.             unsigned char :1;
  4843.             unsigned char F1HZ:1;
  4844.             unsigned char F2HZ:1;
  4845.             unsigned char F4HZ:1;
  4846.             unsigned char F8HZ:1;
  4847.             unsigned char F16HZ:1;
  4848.             unsigned char F32HZ:1;
  4849.             unsigned char F64HZ:1;
  4850.         } BIT;
  4851.     } R64CNT;
  4852.     unsigned char wk0[1];
  4853.     union {
  4854.         unsigned char BYTE;
  4855.         struct {
  4856.             unsigned char SEC1:4;
  4857.             unsigned char SEC10:3;
  4858.             unsigned char :1;
  4859.         } BIT;
  4860.     } RSECCNT;
  4861.     unsigned char wk1[1];
  4862.     union {
  4863.         unsigned char BYTE;
  4864.         struct {
  4865.             unsigned char MIN1:4;
  4866.             unsigned char MIN10:3;
  4867.             unsigned char :1;
  4868.         } BIT;
  4869.     } RMINCNT;
  4870.     unsigned char wk2[1];
  4871.     union {
  4872.         unsigned char BYTE;
  4873.         struct {
  4874.             unsigned char HOUR1:4;
  4875.             unsigned char HOUR10:2;
  4876.             unsigned char :2;
  4877.         } BIT;
  4878.     } RHRCNT;
  4879.     unsigned char wk3[1];
  4880.     union {
  4881.         unsigned char BYTE;
  4882.         struct {
  4883.             unsigned char DAY:3;
  4884.             unsigned char :5;
  4885.         } BIT;
  4886.     } RWKCNT;
  4887.     unsigned char wk4[1];
  4888.     union {
  4889.         unsigned char BYTE;
  4890.         struct {
  4891.             unsigned char DAY1:4;
  4892.             unsigned char DAY10:2;
  4893.             unsigned char :2;
  4894.         } BIT;
  4895.     } RDAYCNT;
  4896.     unsigned char wk5[1];
  4897.     union {
  4898.         unsigned char BYTE;
  4899.         struct {
  4900.             unsigned char MON1:4;
  4901.             unsigned char MON10:1;
  4902.             unsigned char :3;
  4903.         } BIT;
  4904.     } RMONCNT;
  4905.     unsigned char wk6[1];
  4906.     union {
  4907.         unsigned short WORD;
  4908.         struct {
  4909.             unsigned short YEAR1:4;
  4910.             unsigned short YEAR10:4;
  4911.             unsigned short YEAR100:4;
  4912.             unsigned short YEAR1000:4;
  4913.         } BIT;
  4914.     } RYRCNT;
  4915.     union {
  4916.         unsigned char BYTE;
  4917.         struct {
  4918.             unsigned char SEC1:4;
  4919.             unsigned char SEC10:3;
  4920.             unsigned char ENB:1;
  4921.         } BIT;
  4922.     } RSECAR;
  4923.     unsigned char wk7[1];
  4924.     union {
  4925.         unsigned char BYTE;
  4926.         struct {
  4927.             unsigned char MIN1:4;
  4928.             unsigned char MIN10:3;
  4929.             unsigned char ENB:1;
  4930.         } BIT;
  4931.     } RMINAR;
  4932.     unsigned char wk8[1];
  4933.     union {
  4934.         unsigned char BYTE;
  4935.         struct {
  4936.             unsigned char HOUR1:4;
  4937.             unsigned char HOUR10:2;
  4938.             unsigned char :1;
  4939.             unsigned char ENB:1;
  4940.         } BIT;
  4941.     } RHRAR;
  4942.     unsigned char wk9[1];
  4943.     union {
  4944.         unsigned char BYTE;
  4945.         struct {
  4946.             unsigned char DAY:3;
  4947.             unsigned char :4;
  4948.             unsigned char ENB:1;
  4949.         } BIT;
  4950.     } RWKAR;
  4951.     unsigned char wk10[1];
  4952.     union {
  4953.         unsigned char BYTE;
  4954.         struct {
  4955.             unsigned char DAY1:4;
  4956.             unsigned char DAY10:2;
  4957.             unsigned char :1;
  4958.             unsigned char ENB:1;
  4959.         } BIT;
  4960.     } RDAYAR;
  4961.     unsigned char wk11[1];
  4962.     union {
  4963.         unsigned char BYTE;
  4964.         struct {
  4965.             unsigned char MON1:4;
  4966.             unsigned char MON10:1;
  4967.             unsigned char :2;
  4968.             unsigned char ENB:1;
  4969.         } BIT;
  4970.     } RMONAR;
  4971.     unsigned char wk12[1];
  4972.     union {
  4973.         unsigned short WORD;
  4974.         struct {
  4975.             unsigned short YEAR1:4;
  4976.             unsigned short YEAR10:4;
  4977.             unsigned short YEAR100:4;
  4978.             unsigned short YEAR1000:4;
  4979.         } BIT;
  4980.     } RYRAR;
  4981.     union {
  4982.         unsigned char BYTE;
  4983.         struct {
  4984.             unsigned char :7;
  4985.             unsigned char ENB:1;
  4986.         } BIT;
  4987.     } RYRAREN;
  4988.     unsigned char wk13[3];
  4989.     union {
  4990.         unsigned char BYTE;
  4991.         struct {
  4992.             unsigned char AIE:1;
  4993.             unsigned char CIE:1;
  4994.             unsigned char PIE:1;
  4995.             unsigned char :1;
  4996.             unsigned char PES:3;
  4997.             unsigned char :1;
  4998.         } BIT;
  4999.     } RCR1;
  5000.     unsigned char wk14[1];
  5001.     union {
  5002.         unsigned char BYTE;
  5003.         struct {
  5004.             unsigned char START:1;
  5005.             unsigned char RESET:1;
  5006.             unsigned char ADJ:1;
  5007.             unsigned char RTCOE:1;
  5008.             unsigned char :4;
  5009.         } BIT;
  5010.     } RCR2;
  5011. };
  5012.  
  5013. struct st_can {
  5014.     struct {
  5015.         union {
  5016.             unsigned long LONG;
  5017.             union {
  5018.                 unsigned short H;
  5019.                 unsigned short L;
  5020.             } WORD;
  5021.             struct {
  5022.                 unsigned char HH;
  5023.                 unsigned char HL;
  5024.                 unsigned char LH;
  5025.                 unsigned char LL;
  5026.             } BYTE;
  5027.             struct {
  5028.                 unsigned long EID:18;
  5029.                 unsigned long SID:11;
  5030.                 unsigned long :1;
  5031.                 unsigned long RTR:1;
  5032.                 unsigned long IDE:1;
  5033.             } BIT;
  5034.         } ID;
  5035.         union {
  5036.             unsigned short WORD;
  5037.             struct {
  5038.                 unsigned short DLC:4;
  5039.                 unsigned short :4;
  5040.                 unsigned short :8;
  5041.             } BIT;
  5042.         } DLC;
  5043.         unsigned char DATA[8];
  5044.         union{
  5045.             unsigned short WORD;
  5046.             struct {
  5047.                 unsigned char TSH;
  5048.                 unsigned char TSL;
  5049.             } BYTE;
  5050.         } TS;
  5051.     } MB[32];
  5052.     union {
  5053.         unsigned long LONG;
  5054.         struct {
  5055.             unsigned short H;
  5056.             unsigned short L;
  5057.         } WORD;
  5058.         struct {
  5059.             unsigned char HH;
  5060.             unsigned char HL;
  5061.             unsigned char LH;
  5062.             unsigned char LL;
  5063.         } BYTE;
  5064.         struct {
  5065.             unsigned long EID:18;
  5066.             unsigned long SID:11;
  5067.             unsigned long :3;
  5068.         } BIT;
  5069.     } MKR[8];
  5070.     union {
  5071.         unsigned long LONG;
  5072.         struct {
  5073.             unsigned short H;
  5074.             unsigned short L;
  5075.         } WORD;
  5076.         struct {
  5077.             unsigned char HH;
  5078.             unsigned char HL;
  5079.             unsigned char LH;
  5080.             unsigned char LL;
  5081.         } BYTE;
  5082.         struct {
  5083.             unsigned long EID:18;
  5084.             unsigned long SID:11;
  5085.             unsigned long :1;
  5086.             unsigned long RTR:1;
  5087.             unsigned long IDE:1;
  5088.         } BIT;
  5089.     } FIDCR0;
  5090.     union {
  5091.         unsigned long LONG;
  5092.         struct {
  5093.             unsigned short H;
  5094.             unsigned short L;
  5095.         } WORD;
  5096.         struct {
  5097.             unsigned char HH;
  5098.             unsigned char HL;
  5099.             unsigned char LH;
  5100.             unsigned char LL;
  5101.         } BYTE;
  5102.         struct {
  5103.             unsigned long EID:18;
  5104.             unsigned long SID:11;
  5105.             unsigned long :1;
  5106.             unsigned long RTR:1;
  5107.             unsigned long IDE:1;
  5108.         } BIT;
  5109.     } FIDCR1;
  5110.     unsigned long MKIVLR;
  5111.     unsigned long MIER;
  5112.     unsigned char wk32[1008];
  5113.     union {
  5114.         unsigned char BYTE;
  5115.         union {
  5116.             struct {
  5117.                 unsigned char SENTDATA:1;
  5118.                 unsigned char TRMACTIVE:1;
  5119.                 unsigned char TRMABT:1;
  5120.                 unsigned char :1;
  5121.                 unsigned char ONESHOT:1;
  5122.                 unsigned char :1;
  5123.                 unsigned char RECREQ:1;
  5124.                 unsigned char TRMREQ:1;
  5125.             } TX;
  5126.             struct {
  5127.                 unsigned char NEWDATA:1;
  5128.                 unsigned char INVALDATA:1;
  5129.                 unsigned char MSGLOST:1;
  5130.                 unsigned char :1;
  5131.                 unsigned char ONESHOT:1;
  5132.                 unsigned char :1;
  5133.                 unsigned char RECREQ:1;
  5134.                 unsigned char TRMREQ:1;
  5135.             } RX;
  5136.         } BIT;
  5137.     } MCTL[32];
  5138.     union {
  5139.         unsigned short WORD;
  5140.         struct {
  5141.             unsigned char H;
  5142.             unsigned char L;
  5143.         } BYTE;
  5144.         struct {
  5145.             unsigned short MBM:1;
  5146.             unsigned short IDFM:2;
  5147.             unsigned short MLM:1;
  5148.             unsigned short TPM:1;
  5149.             unsigned short TSRC:1;
  5150.             unsigned short TSPS:2;
  5151.             unsigned short CANM:2;
  5152.             unsigned short SLPM:1;
  5153.             unsigned short BOM:2;
  5154.             unsigned short RBOC:1;
  5155.             unsigned short :2;
  5156.         } BIT;
  5157.     } CTLR;
  5158.     union {
  5159.         unsigned short WORD;
  5160.         struct {
  5161.             unsigned char H;
  5162.             unsigned char L;
  5163.         } BYTE;
  5164.         struct {
  5165.             unsigned short NDST:1;
  5166.             unsigned short SDST:1;
  5167.             unsigned short RFST:1;
  5168.             unsigned short TFST:1;
  5169.             unsigned short NMLST:1;
  5170.             unsigned short FMLST:1;
  5171.             unsigned short TABST:1;
  5172.             unsigned short EST:1;
  5173.             unsigned short RSTST:1;
  5174.             unsigned short HLTST:1;
  5175.             unsigned short SLPST:1;
  5176.             unsigned short EPST:1;
  5177.             unsigned short BOST:1;
  5178.             unsigned short TRMST:1;
  5179.             unsigned short RECST:1;
  5180.             unsigned short :1;
  5181.         } BIT;
  5182.     } STR;
  5183.     union {
  5184.         unsigned long LONG;
  5185.         struct {
  5186.             unsigned short H;
  5187.             unsigned short L;
  5188.         } WORD;
  5189.         struct {
  5190.             unsigned char HH;
  5191.             unsigned char HL;
  5192.             unsigned char LH;
  5193.             unsigned char LL;
  5194.         } BYTE;
  5195.         struct {
  5196.             unsigned long :8;
  5197.             unsigned long TSEG2:3;
  5198.             unsigned long :1;
  5199.             unsigned long SJW:2;
  5200.             unsigned long :2;
  5201.             unsigned long BRP:10;
  5202.             unsigned long :2;
  5203.             unsigned long TSEG1:4;
  5204.         } BIT;
  5205.     } BCR;
  5206.     union {
  5207.         unsigned char BYTE;
  5208.         struct {
  5209.             unsigned char RFE:1;
  5210.             unsigned char RFUST:3;
  5211.             unsigned char RFMLF:1;
  5212.             unsigned char RFFST:1;
  5213.             unsigned char RFWST:1;
  5214.             unsigned char RFEST:1;
  5215.         } BIT;
  5216.     } RFCR;
  5217.     unsigned char RFPCR;
  5218.     union {
  5219.         unsigned char BYTE;
  5220.         struct {
  5221.             unsigned char TFE:1;
  5222.             unsigned char TFUST:3;
  5223.             unsigned char :2;
  5224.             unsigned char TFFST:1;
  5225.             unsigned char TFEST:1;
  5226.         } BIT;
  5227.     } TFCR;
  5228.     unsigned char TFPCR;
  5229.     union {
  5230.         unsigned char BYTE;
  5231.         struct {
  5232.             unsigned char BEIE:1;
  5233.             unsigned char EWIE:1;
  5234.             unsigned char EPIE:1;
  5235.             unsigned char BOEIE:1;
  5236.             unsigned char BORIE:1;
  5237.             unsigned char ORIE:1;
  5238.             unsigned char OLIE:1;
  5239.             unsigned char BLIE:1;
  5240.         } BIT;
  5241.     } EIER;
  5242.     union {
  5243.         unsigned char BYTE;
  5244.         struct {
  5245.             unsigned char BEIF:1;
  5246.             unsigned char EWIF:1;
  5247.             unsigned char EPIF:1;
  5248.             unsigned char BOEIF:1;
  5249.             unsigned char BORIF:1;
  5250.             unsigned char ORIF:1;
  5251.             unsigned char OLIF:1;
  5252.             unsigned char BLIF:1;
  5253.         } BIT;
  5254.     } EIFR;
  5255.     unsigned char RECR;
  5256.     unsigned char TECR;
  5257.     union {
  5258.         unsigned char BYTE;
  5259.         struct {
  5260.             unsigned char SEF:1;
  5261.             unsigned char FEF:1;
  5262.             unsigned char AEF:1;
  5263.             unsigned char CEF:1;
  5264.             unsigned char BE1F:1;
  5265.             unsigned char BE0F:1;
  5266.             unsigned char ADEF:1;
  5267.             unsigned char EDPM:1;
  5268.         } BIT;
  5269.     } ECSR;
  5270.     unsigned char CSSR;
  5271.     union {
  5272.         unsigned char BYTE;
  5273.         struct {
  5274.             unsigned char MBNST:5;
  5275.             unsigned char :2;
  5276.             unsigned char SEST:1;
  5277.         } BIT;
  5278.     } MSSR;
  5279.     union {
  5280.         unsigned char BYTE;
  5281.         struct {
  5282.             unsigned char MBSM:2;
  5283.             unsigned char :6;
  5284.         } BIT;
  5285.     } MSMR;
  5286.     unsigned short TSR;
  5287.     unsigned short AFSR;
  5288.     union {
  5289.         unsigned char BYTE;
  5290.         struct {
  5291.             unsigned char TSTE:1;
  5292.             unsigned char TSTM:2;
  5293.             unsigned char :5;
  5294.         } BIT;
  5295.     } TCR;
  5296. };
  5297.  
  5298. struct st_usb0 {
  5299.     union {
  5300.         unsigned short WORD;
  5301.         struct {
  5302.             unsigned short USBE:1;
  5303.             unsigned short :3;
  5304.             unsigned short DPRPU:1;
  5305.             unsigned short DRPD:1;
  5306.             unsigned short DCFM:1;
  5307.             unsigned short :3;
  5308.             unsigned short SCKE:1;
  5309.             unsigned short :5;
  5310.         } BIT;
  5311.     } SYSCFG;
  5312.     unsigned char wk0[2];
  5313.     union {
  5314.         unsigned short WORD;
  5315.         struct {
  5316.             unsigned short LNST:2;
  5317.             unsigned short IDMON:1;
  5318.             unsigned short :3;
  5319.             unsigned short HTACT:1;
  5320.             unsigned short :7;
  5321.             unsigned short OVCMON:2;
  5322.         } BIT;
  5323.     } SYSSTS0;
  5324.     unsigned char wk1[2];
  5325.     union {
  5326.         unsigned short WORD;
  5327.         struct {
  5328.             unsigned short RHST:3;
  5329.             unsigned short :1;
  5330.             unsigned short UACT:1;
  5331.             unsigned short RESUME:1;
  5332.             unsigned short USBRST:1;
  5333.             unsigned short RWUPE:1;
  5334.             unsigned short WKUP:1;
  5335.             unsigned short VBUSEN:1;
  5336.             unsigned short EXICEN:1;
  5337.             unsigned short HNPBTOA:1;
  5338.             unsigned short :4;
  5339.         } BIT;
  5340.     } DVSTCTR0;
  5341.     unsigned char wk2[10];
  5342.     union {
  5343.         unsigned short WORD;
  5344.         struct {
  5345.             unsigned char L;
  5346.             unsigned char H;
  5347.         } BYTE;
  5348.     } CFIFO;
  5349.     unsigned char wk3[2];
  5350.     union {
  5351.         unsigned short WORD;
  5352.         struct {
  5353.             unsigned char L;
  5354.             unsigned char H;
  5355.         } BYTE;
  5356.     } D0FIFO;
  5357.     unsigned char wk4[2];
  5358.     union {
  5359.         unsigned short WORD;
  5360.         struct {
  5361.             unsigned char L;
  5362.             unsigned char H;
  5363.         } BYTE;
  5364.     } D1FIFO;
  5365.     unsigned char wk5[2];
  5366.     union {
  5367.         unsigned short WORD;
  5368.         struct {
  5369.             unsigned short CURPIPE:4;
  5370.             unsigned short :1;
  5371.             unsigned short ISEL:1;
  5372.             unsigned short :2;
  5373.             unsigned short BIGEND:1;
  5374.             unsigned short :1;
  5375.             unsigned short MBW:1;
  5376.             unsigned short :3;
  5377.             unsigned short REW:1;
  5378.             unsigned short RCNT:1;
  5379.         } BIT;
  5380.     } CFIFOSEL;
  5381.     union {
  5382.         unsigned short WORD;
  5383.         struct {
  5384.             unsigned short DTLN:8;
  5385.             unsigned short TLN:1;
  5386.             unsigned short :4;
  5387.             unsigned short FRDY:1;
  5388.             unsigned short BCLR:1;
  5389.             unsigned short BVAL:1;
  5390.         } BIT;
  5391.     } CFIFOCTR;
  5392.     unsigned char wk6[4];
  5393.     union {
  5394.         unsigned short WORD;
  5395.         struct {
  5396.             unsigned short CURPIPE:4;
  5397.             unsigned short :4;
  5398.             unsigned short BIGEND:1;
  5399.             unsigned short :1;
  5400.             unsigned short MBW:1;
  5401.             unsigned short :1;
  5402.             unsigned short DREQE:1;
  5403.             unsigned short DCLRM:1;
  5404.             unsigned short REW:1;
  5405.             unsigned short RCNT:1;
  5406.         } BIT;
  5407.     } D0FIFOSEL;
  5408.     union {
  5409.         unsigned short WORD;
  5410.         struct {
  5411.             unsigned short DTLN:8;
  5412.             unsigned short TLN:1;
  5413.             unsigned short :4;
  5414.             unsigned short FRDY:1;
  5415.             unsigned short BCLR:1;
  5416.             unsigned short BVAL:1;
  5417.         } BIT;
  5418.     } D0FIFOCTR;
  5419.     union {
  5420.         unsigned short WORD;
  5421.         struct {
  5422.             unsigned short CURPIPE:4;
  5423.             unsigned short :4;
  5424.             unsigned short BIGEND:1;
  5425.             unsigned short :1;
  5426.             unsigned short MBW:1;
  5427.             unsigned short :1;
  5428.             unsigned short DREQE:1;
  5429.             unsigned short DCLRM:1;
  5430.             unsigned short REW:1;
  5431.             unsigned short RCNT:1;
  5432.         } BIT;
  5433.     } D1FIFOSEL;
  5434.     union {
  5435.         unsigned short WORD;
  5436.         struct {
  5437.             unsigned short DTLN:8;
  5438.             unsigned short TLN:1;
  5439.             unsigned short :4;
  5440.             unsigned short FRDY:1;
  5441.             unsigned short BCLR:1;
  5442.             unsigned short BVAL:1;
  5443.         } BIT;
  5444.     } D1FIFOCTR;
  5445.     union {
  5446.         unsigned short WORD;
  5447.         struct {
  5448.             unsigned short :8;
  5449.             unsigned short BRDYE:1;
  5450.             unsigned short NRDYE:1;
  5451.             unsigned short BEMPE:1;
  5452.             unsigned short CTRE:1;
  5453.             unsigned short DVSE:1;
  5454.             unsigned short SOFE:1;
  5455.             unsigned short RSME:1;
  5456.             unsigned short VBSE:1;
  5457.         } BIT;
  5458.     } INTENB0;
  5459.     union {
  5460.         unsigned short WORD;
  5461.         struct {
  5462.             unsigned short :4;
  5463.             unsigned short SACKE:1;
  5464.             unsigned short SIGNE:1;
  5465.             unsigned short EOFERRE:1;
  5466.             unsigned short :4;
  5467.             unsigned short ATTCHE:1;
  5468.             unsigned short DTCHE:1;
  5469.             unsigned short :1;
  5470.             unsigned short BCHGE:1;
  5471.             unsigned short OVRCRE:1;
  5472.         } BIT;
  5473.     } INTENB1;
  5474.     unsigned char wk7[2];
  5475.     union {
  5476.         unsigned short WORD;
  5477.         struct {
  5478.             unsigned short PIPE0BRDYE:1;
  5479.             unsigned short PIPE1BRDYE:1;
  5480.             unsigned short PIPE2BRDYE:1;
  5481.             unsigned short PIPE3BRDYE:1;
  5482.             unsigned short PIPE4BRDYE:1;
  5483.             unsigned short PIPE5BRDYE:1;
  5484.             unsigned short PIPE6BRDYE:1;
  5485.             unsigned short PIPE7BRDYE:1;
  5486.             unsigned short PIPE8BRDYE:1;
  5487.             unsigned short PIPE9BRDYE:1;
  5488.             unsigned short :6;
  5489.         } BIT;
  5490.     } BRDYENB;
  5491.     union {
  5492.         unsigned short WORD;
  5493.         struct {
  5494.             unsigned short PIPE0BRDYE:1;
  5495.             unsigned short PIPE1BRDYE:1;
  5496.             unsigned short PIPE2BRDYE:1;
  5497.             unsigned short PIPE3BRDYE:1;
  5498.             unsigned short PIPE4BRDYE:1;
  5499.             unsigned short PIPE5BRDYE:1;
  5500.             unsigned short PIPE6BRDYE:1;
  5501.             unsigned short PIPE7BRDYE:1;
  5502.             unsigned short PIPE8BRDYE:1;
  5503.             unsigned short PIPE9BRDYE:1;
  5504.             unsigned short :6;
  5505.         } BIT;
  5506.     } NRDYENB;
  5507.     union {
  5508.         unsigned short WORD;
  5509.         struct {
  5510.             unsigned short PIPE0BEMPE:1;
  5511.             unsigned short PIPE1BEMPE:1;
  5512.             unsigned short PIPE2BEMPE:1;
  5513.             unsigned short PIPE3BEMPE:1;
  5514.             unsigned short PIPE4BEMPE:1;
  5515.             unsigned short PIPE5BEMPE:1;
  5516.             unsigned short PIPE6BEMPE:1;
  5517.             unsigned short PIPE7BEMPE:1;
  5518.             unsigned short PIPE8BEMPE:1;
  5519.             unsigned short PIPE9BEMPE:1;
  5520.             unsigned short :6;
  5521.         } BIT;
  5522.     } BEMPENB;
  5523.     union {
  5524.         unsigned short WORD;
  5525.         struct {
  5526.             unsigned short :4;
  5527.             unsigned short EDGESTS:1;
  5528.             unsigned short :1;
  5529.             unsigned short BRDYM:1;
  5530.             unsigned short :1;
  5531.             unsigned short TRNENSEL:1;
  5532.             unsigned short :7;
  5533.         } BIT;
  5534.     } SOFCFG;
  5535.     unsigned char wk8[2];
  5536.     union {
  5537.         unsigned short WORD;
  5538.         struct {
  5539.             unsigned short CTSQ:3;
  5540.             unsigned short VALID:1;
  5541.             unsigned short DVSQ:3;
  5542.             unsigned short VBSTS:1;
  5543.             unsigned short BRDY:1;
  5544.             unsigned short NRDY:1;
  5545.             unsigned short BEMP:1;
  5546.             unsigned short CTRT:1;
  5547.             unsigned short DVST:1;
  5548.             unsigned short SOFR:1;
  5549.             unsigned short RESM:1;
  5550.             unsigned short VBINT:1;
  5551.         } BIT;
  5552.     } INTSTS0;
  5553.     union {
  5554.         unsigned short WORD;
  5555.         struct {
  5556.             unsigned short :4;
  5557.             unsigned short SACK:1;
  5558.             unsigned short SIGN:1;
  5559.             unsigned short EOFERR:1;
  5560.             unsigned short :4;
  5561.             unsigned short ATTCH:1;
  5562.             unsigned short DTCH:1;
  5563.             unsigned short :1;
  5564.             unsigned short BCHG:1;
  5565.             unsigned short OVRCR:1;
  5566.         } BIT;
  5567.     } INTSTS1;
  5568.     unsigned char wk9[2];
  5569.     union {