* sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
[fw/sdcc] / sim / ucsim / s51.src / glob.cc
index 2f2e88baa8f5af6a39d61a46c827c99f4e92667d..381f3a07a6b7caa6d88793236cb3b3bc2d972479 100644 (file)
@@ -302,72 +302,154 @@ struct dis_entry disass_51[]= {
 
 struct name_entry sfr_tab51[]=
 {
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xe0, "ACC"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xf0, "B"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd0, "PSW"},
+  {CPU_251,                       0x84, "DPXL"},
+  {CPU_251|CPU_DS390|CPU_DS390F,  0x93, "DPX"},
+  {CPU_251,                       0xa8, "IE0"},
+  {CPU_251,                       0xb7, "IPH0"},
+  {CPU_251,                       0xb8, "IPL0"},
+  {CPU_251,                       0xbd, "SPH"},
+  {CPU_251,                       0xd1, "PSW1"},
+
+  {CPU_DS390|CPU_DS390F,          0x80, "P4"},
+  {CPU_DS390|CPU_DS390F,          0x84, "DPL1"},
+  {CPU_DS390|CPU_DS390F,          0x85, "DPH1"},
+  {CPU_DS390|CPU_DS390F,          0x86, "DPS"},
+  {CPU_DS390|CPU_DS390F,          0x8e, "CKCON"},
+  {CPU_DS390|CPU_DS390F,          0x91, "EXIF"},
+  {CPU_DS390|CPU_DS390F,          0x92, "P4CNT"},
+  {CPU_DS390|CPU_DS390F,          0x95, "DPX1"},
+  {CPU_DS390|CPU_DS390F,          0x96, "C0RMS0"},
+  {CPU_DS390|CPU_DS390F,          0x97, "C0RMS1"},
+  {CPU_DS390|CPU_DS390F,          0x98, "SCON0"},
+  {CPU_DS390|CPU_DS390F,          0x99, "SBUF0"},
+  {CPU_DS390|CPU_DS390F,          0x9b, "ESP"},
+  {CPU_DS390|CPU_DS390F,          0x9c, "AP"},
+  {CPU_DS390|CPU_DS390F,          0x9d, "ACON"},
+  {CPU_DS390|CPU_DS390F,          0x9e, "C0TMA0"},
+  {CPU_DS390|CPU_DS390F,          0x9f, "C0TMA1"},
+  {CPU_DS390|CPU_DS390F,          0xa1, "P5"},
+  {CPU_DS390|CPU_DS390F,          0xa2, "P5CNT"},
+  {CPU_DS390|CPU_DS390F,          0xa3, "C0C"},
+  {CPU_DS390|CPU_DS390F,          0xa4, "C0S"},
+  {CPU_DS390|CPU_DS390F,          0xa5, "C0IR"},
+  {CPU_DS390|CPU_DS390F,          0xa6, "C0TE"},
+  {CPU_DS390|CPU_DS390F,          0xa7, "C0RE"},
+  {CPU_DS390|CPU_DS390F,          0xa9, "SADDR0"},
+  {CPU_DS390|CPU_DS390F,          0xaa, "SADDR1"},
+  {CPU_DS390|CPU_DS390F,          0xab, "C0M1C"},
+  {CPU_DS390|CPU_DS390F,          0xac, "C0M2C"},
+  {CPU_DS390|CPU_DS390F,          0xad, "C0M3C"},
+  {CPU_DS390|CPU_DS390F,          0xae, "C0M4C"},
+  {CPU_DS390|CPU_DS390F,          0xaf, "C0M5C"},
+  {CPU_DS390|CPU_DS390F,          0xb3, "C0M6C"},
+  {CPU_DS390|CPU_DS390F,          0xb4, "C0M7C"},
+  {CPU_DS390|CPU_DS390F,          0xb5, "C0M8C"},
+  {CPU_DS390|CPU_DS390F,          0xb6, "C0M9C"},
+  {CPU_DS390|CPU_DS390F,          0xb7, "C0M10C"},
+  {CPU_DS390|CPU_DS390F,          0xb9, "SADEN0"},
+  {CPU_DS390|CPU_DS390F,          0xba, "SADEN1"},
+  {CPU_DS390|CPU_DS390F,          0xbb, "C0M11C"},
+  {CPU_DS390|CPU_DS390F,          0xbc, "C0M12C"},
+  {CPU_DS390|CPU_DS390F,          0xbd, "C0M13C"},
+  {CPU_DS390|CPU_DS390F,          0xbe, "C0M14C"},
+  {CPU_DS390|CPU_DS390F,          0xbf, "C0M15C"},
+  {CPU_DS390|CPU_DS390F,          0xc0, "SCON1"},
+  {CPU_DS390|CPU_DS390F,          0xc1, "SBUF1"},
+  {CPU_DS390|CPU_DS390F,          0xc4, "PMR"},
+  {CPU_DS390|CPU_DS390F,          0xc5, "STATUS"},
+  {CPU_DS390|CPU_DS390F,          0xc6, "MCON"},
+  {CPU_DS390|CPU_DS390F,          0xc7, "TA"},
+  {CPU_DS390|CPU_DS390F,          0xce, "COR"},
+  {CPU_DS390|CPU_DS390F,          0xd1, "MCNT0"},
+  {CPU_DS390|CPU_DS390F,          0xd2, "MCNT1"},
+  {CPU_DS390|CPU_DS390F,          0xd3, "MA"},
+  {CPU_DS390|CPU_DS390F,          0xd4, "MB"},
+  {CPU_DS390|CPU_DS390F,          0xd5, "MC"},
+  {CPU_DS390|CPU_DS390F,          0xd6, "C1RMS0"},
+  {CPU_DS390|CPU_DS390F,          0xd7, "C1RMS1"},
+  {CPU_DS390|CPU_DS390F,          0xd8, "WDCON"},
+  {CPU_DS390|CPU_DS390F,          0xde, "C1TMA0"},
+  {CPU_DS390|CPU_DS390F,          0xdf, "C1TMA1"},
+  {CPU_DS390|CPU_DS390F,          0xe3, "C1C"},
+  {CPU_DS390|CPU_DS390F,          0xe4, "C1S"},
+  {CPU_DS390|CPU_DS390F,          0xe5, "C11R"},
+  {CPU_DS390|CPU_DS390F,          0xe6, "C1TE"},
+  {CPU_DS390|CPU_DS390F,          0xe7, "C1RE"},
+  {CPU_DS390|CPU_DS390F,          0xe8, "EIE"},
+  {CPU_DS390|CPU_DS390F,          0xea, "MXAX"},
+  {CPU_DS390|CPU_DS390F,          0xeb, "C1M1C"},
+  {CPU_DS390|CPU_DS390F,          0xec, "C1M2C"},
+  {CPU_DS390|CPU_DS390F,          0xed, "C1M3C"},
+  {CPU_DS390|CPU_DS390F,          0xee, "C1M4C"},
+  {CPU_DS390|CPU_DS390F,          0xef, "C1M5C"},
+  {CPU_DS390|CPU_DS390F,          0xf3, "C1M6C"},
+  {CPU_DS390|CPU_DS390F,          0xf4, "C1M7C"},
+  {CPU_DS390|CPU_DS390F,          0xf5, "C1M8C"},
+  {CPU_DS390|CPU_DS390F,          0xf6, "C1M9C"},
+  {CPU_DS390|CPU_DS390F,          0xf7, "C1M10C"},
+  {CPU_DS390|CPU_DS390F,          0xfb, "C1M11C"},
+  {CPU_DS390|CPU_DS390F,          0xfc, "C1M12C"},
+  {CPU_DS390|CPU_DS390F,          0xfd, "C1M13C"},
+  {CPU_DS390|CPU_DS390F,          0xfe, "C1M14C"},
+  {CPU_DS390|CPU_DS390F,          0xff, "C1M15C"},
+
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x80, "P0"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x81, "SP"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x82, "DPL"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x83, "DPH"},
-  {CPU_251|CPU_DS390F,            0x93, "DPX"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x80, "P0"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x90, "P1"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xa0, "P2"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xb0, "P3"},
-  {CPU_ALL_51|CPU_ALL_52, 0xb8, "IP"},
-  {CPU_ALL_51|CPU_ALL_52, 0xa8, "IE"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x89, "TMOD"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x87, "PCON"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x88, "TCON"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8c, "TH0"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x89, "TMOD"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8a, "TL0"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8d, "TH1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8b, "TL1"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8c, "TH0"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8d, "TH1"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x90, "P1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x98, "SCON"},
-  {CPU_DS390|CPU_DS390F,          0x99, "SBUF0"},
-  {CPU_DS390|CPU_DS390F,          0xC1, "SBUF1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x99, "SBUF"},
-  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x87, "PCON"},
-  {CPU_ALL_52|CPU_251, 0xc8, "T2CON"},
-  {CPU_ALL_52|CPU_251, 0xcd, "TH2"},
-  {CPU_ALL_52|CPU_251, 0xcc, "TL2"},
-  {CPU_ALL_52|CPU_251, 0xcb, "RCAP2H"},
-  {CPU_ALL_52|CPU_251, 0xca, "RCAP2L"},
-  {CPU_251, 0x84, "DPXL"},
-  {CPU_DS390|CPU_DS390F, 0x84, "DPL1"},
-  {CPU_DS390|CPU_DS390F, 0x85, "DPH1"},
-  {CPU_DS390|CPU_DS390F, 0x86, "DPS"},
-  {CPU_89C51R|CPU_51R, 0x8e, "AUXR"},
-  {CPU_51R|CPU_89C51R|CPU_251, 0xa6, "WDTRST"},
-  {CPU_51R|CPU_89C51R|CPU_251, 0xa9, "SADDR"},
-  {CPU_89C51R|CPU_51R, 0xb7, "IPH"},
-  {CPU_251, 0xb7, "IPH0"},
-  {CPU_251, 0xa8, "IE0"},
-  {CPU_251, 0xb8, "IPL0"},
-  {CPU_51R|CPU_89C51R|CPU_251, 0xb9, "SADEN"},
-  {CPU_251, 0xbd, "SPH"},
-  {CPU_51R|CPU_89C51R|CPU_251, 0xc9, "T2MOD"},
-  {CPU_251, 0xd1, "PSW1"},
-  {CPU_89C51R|CPU_251, 0xd8, "CCON"},
-  {CPU_89C51R|CPU_251, 0xd9, "CMOD"},
-  {CPU_89C51R|CPU_251, 0xda, "CCAPM0"},
-  {CPU_89C51R|CPU_251, 0xdb, "CCAPM1"},
-  {CPU_89C51R|CPU_251, 0xdc, "CCAPM2"},
-  {CPU_89C51R|CPU_251, 0xdd, "CCAPM3"},
-  {CPU_89C51R|CPU_251, 0xde, "CCAPM4"},
-  {CPU_89C51R|CPU_251, 0xe9, "CL"},
-  {CPU_89C51R|CPU_251, 0xea, "CCAP0L"},
-  {CPU_89C51R|CPU_251, 0xeb, "CCAP1L"},
-  {CPU_89C51R|CPU_251, 0xec, "CCAP2L"},
-  {CPU_89C51R|CPU_251, 0xed, "CCAP3L"},
-  {CPU_89C51R|CPU_251, 0xee, "CCAP4L"},
-  {CPU_89C51R|CPU_251, 0xf9, "CH"},
-  {CPU_89C51R|CPU_251, 0xfa, "CCAP0H"},
-  {CPU_89C51R|CPU_251, 0xfb, "CCAP1H"},
-  {CPU_89C51R|CPU_251, 0xfc, "CCAP2H"},
-  {CPU_89C51R|CPU_251, 0xfd, "CCAP3H"},
-  {CPU_89C51R|CPU_251, 0xfe, "CCAP4H"},
-  {CPU_89C51R,         0xa2, "AUXR1"},
-  {CPU_DS390F,         0x9B, "ESP"},
-  {CPU_DS390F,         0x9D, "ACON"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xa0, "P2"},
+  {CPU_ALL_51|CPU_ALL_52,         0xa8, "IE"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xb0, "P3"},
+  {CPU_ALL_51|CPU_ALL_52,         0xb8, "IP"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd0, "PSW"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xe0, "ACC"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xf0, "B"},
+
+  {CPU_ALL_52|CPU_251,            0xc8, "T2CON"},
+  {CPU_ALL_52|CPU_251,            0xca, "RCAP2L"},
+  {CPU_ALL_52|CPU_251,            0xcb, "RCAP2H"},
+  {CPU_ALL_52|CPU_251,            0xcc, "TL2"},
+  {CPU_ALL_52|CPU_251,            0xcd, "TH2"},
+
+  {CPU_51R|CPU_89C51R,            0x8e, "AUXR"},
+  {CPU_51R|CPU_89C51R|CPU_251,    0xa6, "WDTRST"},
+  {CPU_51R|CPU_89C51R|CPU_251,    0xa9, "SADDR"},
+  {CPU_51R|CPU_89C51R,            0xb7, "IPH"},
+  {CPU_51R|CPU_89C51R|CPU_251,    0xb9, "SADEN"},
+  {CPU_51R|CPU_89C51R|CPU_251|\
+            CPU_DS390|CPU_DS390F, 0xc9, "T2MOD"}, /* fixme: isn't that CPU_ALL_52? */
+
+  {CPU_89C51R,                    0xa2, "AUXR1"},
+  {CPU_89C51R|CPU_251,            0xd8, "CCON"},
+  {CPU_89C51R|CPU_251,            0xd9, "CMOD"},
+  {CPU_89C51R|CPU_251,            0xda, "CCAPM0"},
+  {CPU_89C51R|CPU_251,            0xdb, "CCAPM1"},
+  {CPU_89C51R|CPU_251,            0xdc, "CCAPM2"},
+  {CPU_89C51R|CPU_251,            0xdd, "CCAPM3"},
+  {CPU_89C51R|CPU_251,            0xde, "CCAPM4"},
+  {CPU_89C51R|CPU_251,            0xe9, "CL"},
+  {CPU_89C51R|CPU_251,            0xea, "CCAP0L"},
+  {CPU_89C51R|CPU_251,            0xeb, "CCAP1L"},
+  {CPU_89C51R|CPU_251,            0xec, "CCAP2L"},
+  {CPU_89C51R|CPU_251,            0xed, "CCAP3L"},
+  {CPU_89C51R|CPU_251,            0xee, "CCAP4L"},
+  {CPU_89C51R|CPU_251,            0xf9, "CH"},
+  {CPU_89C51R|CPU_251,            0xfa, "CCAP0H"},
+  {CPU_89C51R|CPU_251,            0xfb, "CCAP1H"},
+  {CPU_89C51R|CPU_251,            0xfc, "CCAP2H"},
+  {CPU_89C51R|CPU_251,            0xfd, "CCAP3H"},
+  {CPU_89C51R|CPU_251,            0xfe, "CCAP4H"},
+
   {0, 0, NULL}
 };
 
@@ -385,6 +467,7 @@ struct name_entry bit_tab51[]=
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd4, "RS1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd3, "RS0"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd2, "OV"},
+  {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd1, "F1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xd0, "P"},
   /* TCON */
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x8f, "TF1"},
@@ -397,16 +480,20 @@ struct name_entry bit_tab51[]=
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x88, "IT0"},
   /* IE */
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xaf, "EA"},
-  {CPU_89C51R|CPU_251, 0xae, "EC"},
-  {CPU_ALL_52|CPU_251, 0xad, "ET2"},
+  {CPU_DS390|CPU_DS390F,          0xae, "ES1"},
+  {CPU_89C51R|CPU_251,            0xae, "EC"},
+  {CPU_ALL_52|CPU_251,            0xad, "ET2"},
+  {CPU_DS390|CPU_DS390F,          0xac, "ES0"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xac, "ES"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xab, "ET1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xaa, "EX1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xa9, "ET0"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0xa8, "EX0"},
   /* IP */
-  {CPU_89C51R|CPU_251, 0xbe, "PPC"},
-  {CPU_ALL_52, 0xbd, "PT2"},
+  {CPU_89C51R|CPU_251,    0xbe, "PPC"},
+  {CPU_DS390|CPU_DS390F,  0xbe, "PS1"},
+  {CPU_ALL_52,            0xbd, "PT2"},
+  {CPU_DS390|CPU_DS390F,  0xbc, "PS0"},
   {CPU_ALL_51|CPU_ALL_52, 0xbc, "PS"},
   {CPU_ALL_51|CPU_ALL_52, 0xbb, "PT1"},
   {CPU_ALL_51|CPU_ALL_52, 0xba, "PX1"},
@@ -421,8 +508,17 @@ struct name_entry bit_tab51[]=
   {CPU_251, 0xb9, "IPL0.1"},
   {CPU_251, 0xb8, "IPL0.0"},
   /* SCON */
-  {CPU_51R|CPU_89C51R|CPU_251, 0x9f, "FE/SM0"},
-  {CPU_ALL_51|CPU_ALL_52, 0x9f, "SM0"},
+  {CPU_DS390|CPU_DS390F,          0x9f, "SM0/FE_0"},
+  {CPU_DS390|CPU_DS390F,          0x9e, "SM1_0"},
+  {CPU_DS390|CPU_DS390F,          0x9d, "SM2_0"},
+  {CPU_DS390|CPU_DS390F,          0x9c, "REN_0"},
+  {CPU_DS390|CPU_DS390F,          0x9b, "TB8_0"},
+  {CPU_DS390|CPU_DS390F,          0x9a, "RB8_0"},
+  {CPU_DS390|CPU_DS390F,          0x99, "TI_0"},
+  {CPU_DS390|CPU_DS390F,          0x98, "RI_0"},
+
+  {CPU_51R|CPU_89C51R|CPU_251,    0x9f, "FE/SM0"},
+  {CPU_ALL_51|CPU_ALL_52,         0x9f, "SM0"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x9e, "SM1"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x9d, "SM2"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x9c, "REN"},
@@ -430,6 +526,15 @@ struct name_entry bit_tab51[]=
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x9a, "RB8"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x99, "TI"},
   {CPU_ALL_51|CPU_ALL_52|CPU_251, 0x98, "RI"},
+  /* SCON 1 */
+  {CPU_DS390|CPU_DS390F,          0xc7, "SM0/FE_1"},
+  {CPU_DS390|CPU_DS390F,          0xc6, "SM1_1"},
+  {CPU_DS390|CPU_DS390F,          0xc5, "SM2_1"},
+  {CPU_DS390|CPU_DS390F,          0xc4, "REN_1"},
+  {CPU_DS390|CPU_DS390F,          0xc3, "TB8_1"},
+  {CPU_DS390|CPU_DS390F,          0xc2, "RB8_1"},
+  {CPU_DS390|CPU_DS390F,          0xc1, "TI_1"},
+  {CPU_DS390|CPU_DS390F,          0xc0, "RI_1"},
   /* T2CON */
   {CPU_ALL_52|CPU_251, 0xcf, "TF2"},
   {CPU_ALL_52|CPU_251, 0xce, "EXF2"},
@@ -456,6 +561,33 @@ struct name_entry bit_tab51[]=
   {CPU_89C51R|CPU_251, 0x92, "EXI"},
   {CPU_89C51R|CPU_251, 0x91, "T2EX"},
   {CPU_89C51R|CPU_251, 0x90, "T2"},
+  /* WDCON */
+  {CPU_DS390|CPU_DS390F, 0xdf, "SMOD_1"},
+  {CPU_DS390|CPU_DS390F, 0xde, "POR,"},
+  {CPU_DS390|CPU_DS390F, 0xdd, "EPF1"},
+  {CPU_DS390|CPU_DS390F, 0xdc, "PF1"},
+  {CPU_DS390|CPU_DS390F, 0xdb, "WDIF"},
+  {CPU_DS390|CPU_DS390F, 0xda, "WTRF"},
+  {CPU_DS390|CPU_DS390F, 0xd9, "EWT"},
+  {CPU_DS390|CPU_DS390F, 0xd8, "RWT"},
+  /* EIE */
+  {CPU_DS390|CPU_DS390F, 0xef, "CANBIE"},
+  {CPU_DS390|CPU_DS390F, 0xee, "C0IE"},
+  {CPU_DS390|CPU_DS390F, 0xed, "C1IE"},
+  {CPU_DS390|CPU_DS390F, 0xec, "EWDI"},
+  {CPU_DS390|CPU_DS390F, 0xeb, "EX5"},
+  {CPU_DS390|CPU_DS390F, 0xea, "EX4"},
+  {CPU_DS390|CPU_DS390F, 0xe9, "EX3"},
+  {CPU_DS390|CPU_DS390F, 0xe8, "EX2"},
+  /* EIP */
+  {CPU_DS390|CPU_DS390F, 0xef, "CANBIP"},
+  {CPU_DS390|CPU_DS390F, 0xee, "C0IP"},
+  {CPU_DS390|CPU_DS390F, 0xed, "C1IP"},
+  {CPU_DS390|CPU_DS390F, 0xec, "PWDI"},
+  {CPU_DS390|CPU_DS390F, 0xeb, "PX5"},
+  {CPU_DS390|CPU_DS390F, 0xea, "PX4"},
+  {CPU_DS390|CPU_DS390F, 0xe9, "PX3"},
+  {CPU_DS390|CPU_DS390F, 0xe8, "PX2"},
 
   {0, 0, NULL}
 };