+ case 0x20:
+ case 0x21:
+ case 0x22:
+ case 0x23:
+ case 0x24:
+ case 0x25:
+ case 0x26:
+ case 0x27:
+ case 0x28:
+ case 0x29:
+ case 0x2a:
+ case 0x2b:
+ case 0x2c:
+ case 0x2d:
+ case 0x2e:
+ case 0x2f:
+ goto op_semantics_34;
+ break;
+ case 0x30:
+ case 0x31:
+ case 0x32:
+ case 0x33:
+ case 0x34:
+ case 0x35:
+ case 0x36:
+ case 0x37:
+ case 0x38:
+ case 0x39:
+ case 0x3a:
+ case 0x3b:
+ case 0x3c:
+ case 0x3d:
+ case 0x3e:
+ case 0x3f:
+ goto op_semantics_35;
+ break;
+ case 0x90:
+ GETBYTE ();
+ switch (op[2] & 0xff)
+ {
+ case 0x00:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_36:
+ {
+ /** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */
+#line 1238 "rx-decode.opc"
+ int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1238 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1238 "rx-decode.opc"
+ int srca AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" srcb = 0x%x,", srcb);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x\n", srca);
+ }
+ SYNTAX("dadd %1, %2, %0");
+#line 1238 "rx-decode.opc"
+ ID(dadd); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x01:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_37:
+ {
+ /** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */
+#line 1259 "rx-decode.opc"
+ int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1259 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1259 "rx-decode.opc"
+ int srca AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" srcb = 0x%x,", srcb);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x\n", srca);
+ }
+ SYNTAX("dsub %1, %2, %0");
+#line 1259 "rx-decode.opc"
+ ID(dsub); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x02:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_38:
+ {
+ /** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */
+#line 1247 "rx-decode.opc"
+ int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1247 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1247 "rx-decode.opc"
+ int srca AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" srcb = 0x%x,", srcb);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x\n", srca);
+ }
+ SYNTAX("dmul %1, %2, %0");
+#line 1247 "rx-decode.opc"
+ ID(dmul); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x05:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_39:
+ {
+ /** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */
+#line 1244 "rx-decode.opc"
+ int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1244 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+#line 1244 "rx-decode.opc"
+ int srca AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" srcb = 0x%x,", srcb);
+ printf (" rdst = 0x%x,", rdst);
+ printf (" srca = 0x%x\n", srca);
+ }
+ SYNTAX("ddiv %1, %2, %0");
+#line 1244 "rx-decode.opc"
+ ID(ddiv); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x08:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ op_semantics_40:
+ {
+ /** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */
+#line 1241 "rx-decode.opc"
+ int srcb AU = (op[2] >> 4) & 0x0f;
+#line 1241 "rx-decode.opc"
+ int cond AU = (op[3] >> 4) & 0x0f;
+#line 1241 "rx-decode.opc"
+ int srca AU = op[3] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" srcb = 0x%x,", srcb);
+ printf (" cond = 0x%x,", cond);
+ printf (" srca = 0x%x\n", srca);
+ }
+ SYNTAX("dcmp%0 %1, %2");
+#line 1241 "rx-decode.opc"
+ ID(dcmp); DCND(cond); SDR(srca); S2DR(srcb); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x0c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ op_semantics_41:
+ {
+ /** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */
+#line 1179 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1179 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dmov.d %1, %0");
+#line 1179 "rx-decode.opc"
+ ID(dmov); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x01:
+ op_semantics_42:
+ {
+ /** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */
+#line 1235 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1235 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dabs %1, %0");
+#line 1235 "rx-decode.opc"
+ ID(dabs); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x02:
+ op_semantics_43:
+ {
+ /** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */
+#line 1250 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1250 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dneg %1, %0");
+#line 1250 "rx-decode.opc"
+ ID(dneg); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x0d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ op_semantics_44:
+ {
+ /** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */
+#line 1256 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1256 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dsqrt %1, %0");
+#line 1256 "rx-decode.opc"
+ ID(dsqrt); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x08:
+ op_semantics_45:
+ {
+ /** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */
+#line 1265 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1265 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dtoi %1, %0");
+#line 1265 "rx-decode.opc"
+ ID(dtoi); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x09:
+ op_semantics_46:
+ {
+ /** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */
+#line 1268 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1268 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dtou %1, %0");
+#line 1268 "rx-decode.opc"
+ ID(dtou); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x0c:
+ op_semantics_47:
+ {
+ /** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */
+#line 1262 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1262 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dtof %1, %0");
+#line 1262 "rx-decode.opc"
+ ID(dtof); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ case 0x0d:
+ op_semantics_48:
+ {
+ /** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */
+#line 1253 "rx-decode.opc"
+ int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1253 "rx-decode.opc"
+ int rdst AU = (op[3] >> 4) & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
+ "/** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */",
+ op[0], op[1], op[2], op[3]);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("dround %1, %0");
+#line 1253 "rx-decode.opc"
+ ID(dround); DDR(rdst); SDR(rsrc); F_____;
+
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x10:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x11:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x12:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x15:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x18:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x1c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x1d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x20:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x21:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x22:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x25:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x28:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x2c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x2d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x30:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x31:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x32:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x35:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x38:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x3c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x3d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x40:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x41:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x42:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x45:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x48:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x4c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x4d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x50:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x51:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x52:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x55:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x58:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x5c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x5d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x60:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x61:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x62:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x65:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x68:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x6c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x6d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x70:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x71:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x72:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x75:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x78:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x7c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x7d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x80:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x81:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x82:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x85:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x88:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x8c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x8d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x90:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0x91:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0x92:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0x95:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0x98:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0x9c:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x9d:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xa0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xa1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xa2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xa5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xa8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xac:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xad:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xb0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xb1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xb2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xb5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xb8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xbc:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xbd:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xc0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xc1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xc2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xc5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xc8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xcc:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xcd:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xd0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xd1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xd2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xd5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xd8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xdc:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xdd:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xe0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xe1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xe2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xe5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xe8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xec:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xed:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xf0:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_36;
+ break;
+ }
+ break;
+ case 0xf1:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_37;
+ break;
+ }
+ break;
+ case 0xf2:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_38;
+ break;
+ }
+ break;
+ case 0xf5:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_39;
+ break;
+ }
+ break;
+ case 0xf8:
+ GETBYTE ();
+ switch (op[3] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_40;
+ break;
+ }
+ break;
+ case 0xfc:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_41;
+ break;
+ case 0x01:
+ goto op_semantics_42;
+ break;
+ case 0x02:
+ goto op_semantics_43;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0xfd:
+ GETBYTE ();
+ switch (op[3] & 0x0f)
+ {
+ case 0x00:
+ goto op_semantics_44;
+ break;
+ case 0x08:
+ goto op_semantics_45;
+ break;
+ case 0x09:
+ goto op_semantics_46;
+ break;
+ case 0x0c:
+ goto op_semantics_47;
+ break;
+ case 0x0d:
+ goto op_semantics_48;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x77:
+ GETBYTE ();
+ switch (op[1] & 0xf0)
+ {
+ case 0x00:
+ goto op_semantics_32;
+ break;
+ case 0x10:
+ goto op_semantics_33;
+ break;
+ case 0x20:
+ goto op_semantics_34;
+ break;
+ case 0x30:
+ goto op_semantics_35;
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x78:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_49:
+ {
+ /** 0111 100b ittt rdst bset #%1, %0 */
+#line 968 "rx-decode.opc"
+ int b AU = op[0] & 0x01;
+#line 968 "rx-decode.opc"
+ int ittt AU = (op[1] >> 4) & 0x0f;
+#line 968 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 100b ittt rdst bset #%1, %0 */",
+ op[0], op[1]);
+ printf (" b = 0x%x,", b);
+ printf (" ittt = 0x%x,", ittt);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("bset #%1, %0");
+#line 968 "rx-decode.opc"
+ ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
+
+
+ }
+ break;
+ }
+ break;
+ case 0x79:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_49;
+ break;
+ }
+ break;
+ case 0x7a:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_50:
+ {
+ /** 0111 101b ittt rdst bclr #%1, %0 */
+#line 980 "rx-decode.opc"
+ int b AU = op[0] & 0x01;
+#line 980 "rx-decode.opc"
+ int ittt AU = (op[1] >> 4) & 0x0f;
+#line 980 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 101b ittt rdst bclr #%1, %0 */",
+ op[0], op[1]);
+ printf (" b = 0x%x,", b);
+ printf (" ittt = 0x%x,", ittt);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("bclr #%1, %0");
+#line 980 "rx-decode.opc"
+ ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
+
+
+ }
+ break;
+ }
+ break;
+ case 0x7b:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_50;
+ break;
+ }
+ break;
+ case 0x7c:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_51:
+ {
+ /** 0111 110b ittt rdst btst #%2, %1 */
+#line 992 "rx-decode.opc"
+ int b AU = op[0] & 0x01;
+#line 992 "rx-decode.opc"
+ int ittt AU = (op[1] >> 4) & 0x0f;
+#line 992 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 110b ittt rdst btst #%2, %1 */",
+ op[0], op[1]);
+ printf (" b = 0x%x,", b);
+ printf (" ittt = 0x%x,", ittt);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("btst #%2, %1");
+#line 992 "rx-decode.opc"
+ ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
+
+
+ }
+ break;
+ }
+ break;
+ case 0x7d:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_51;
+ break;
+ }
+ break;
+ case 0x7e:
+ GETBYTE ();
+ switch (op[1] & 0xf0)
+ {
+ case 0x00:
+ {
+ /** 0111 1110 0000 rdst not %0 */
+#line 483 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0000 rdst not %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("not %0");
+#line 483 "rx-decode.opc"
+ ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
+
+ }
+ break;
+ case 0x10:
+ {
+ /** 0111 1110 0001 rdst neg %0 */
+#line 504 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0001 rdst neg %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("neg %0");
+#line 504 "rx-decode.opc"
+ ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
+
+ }
+ break;
+ case 0x20:
+ {
+ /** 0111 1110 0010 rdst abs %0 */
+#line 586 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0010 rdst abs %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("abs %0");
+#line 586 "rx-decode.opc"
+ ID(abs); DR(rdst); SR(rdst); F_OSZ_;
+
+ }
+ break;
+ case 0x30:
+ {
+ /** 0111 1110 0011 rdst sat %0 */
+#line 906 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0011 rdst sat %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("sat %0");
+#line 906 "rx-decode.opc"
+ ID(sat); DR (rdst);
+
+ }
+ break;
+ case 0x40:
+ {
+ /** 0111 1110 0100 rdst rorc %0 */
+#line 766 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0100 rdst rorc %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("rorc %0");
+#line 766 "rx-decode.opc"
+ ID(rorc); DR(rdst); F__SZC;
+
+ }
+ break;
+ case 0x50:
+ {
+ /** 0111 1110 0101 rdst rolc %0 */
+#line 763 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 0101 rdst rolc %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("rolc %0");
+#line 763 "rx-decode.opc"
+ ID(rolc); DR(rdst); F__SZC;
+
+ }
+ break;
+ case 0x80:
+ case 0x90:
+ case 0xa0:
+ {
+ /** 0111 1110 10sz rsrc push%s %1 */
+#line 399 "rx-decode.opc"
+ int sz AU = (op[1] >> 4) & 0x03;
+#line 399 "rx-decode.opc"
+ int rsrc AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 10sz rsrc push%s %1 */",
+ op[0], op[1]);
+ printf (" sz = 0x%x,", sz);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("push%s %1");
+#line 399 "rx-decode.opc"
+ ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
+
+ }
+ break;
+ case 0xb0:
+ {
+ /** 0111 1110 1011 rdst pop %0 */
+#line 396 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 1011 rdst pop %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("pop %0");
+#line 396 "rx-decode.opc"
+ ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
+
+ }
+ break;
+ case 0xc0:
+ case 0xd0:
+ {
+ /** 0111 1110 110 crsrc pushc %1 */
+#line 1029 "rx-decode.opc"
+ int crsrc AU = op[1] & 0x1f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 110 crsrc pushc %1 */",
+ op[0], op[1]);
+ printf (" crsrc = 0x%x\n", crsrc);
+ }
+ SYNTAX("pushc %1");
+#line 1029 "rx-decode.opc"
+ ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
+
+ }
+ break;
+ case 0xe0:
+ case 0xf0:
+ {
+ /** 0111 1110 111 crdst popc %0 */
+#line 1026 "rx-decode.opc"
+ int crdst AU = op[1] & 0x1f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1110 111 crdst popc %0 */",
+ op[0], op[1]);
+ printf (" crdst = 0x%x\n", crdst);
+ }
+ SYNTAX("popc %0");
+#line 1026 "rx-decode.opc"
+ ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
+
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x7f:
+ GETBYTE ();
+ switch (op[1] & 0xff)
+ {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case 0x09:
+ case 0x0a:
+ case 0x0b:
+ case 0x0c:
+ case 0x0d:
+ case 0x0e:
+ case 0x0f:
+ {
+ /** 0111 1111 0000 rsrc jmp %0 */
+#line 816 "rx-decode.opc"
+ int rsrc AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 0000 rsrc jmp %0 */",
+ op[0], op[1]);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("jmp %0");
+#line 816 "rx-decode.opc"
+ ID(branch); DR(rsrc);
+
+ }
+ break;
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1a:
+ case 0x1b:
+ case 0x1c:
+ case 0x1d:
+ case 0x1e:
+ case 0x1f:
+ {
+ /** 0111 1111 0001 rsrc jsr %0 */
+#line 819 "rx-decode.opc"
+ int rsrc AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 0001 rsrc jsr %0 */",
+ op[0], op[1]);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("jsr %0");
+#line 819 "rx-decode.opc"
+ ID(jsr); DR(rsrc);
+
+ }
+ break;
+ case 0x40:
+ case 0x41:
+ case 0x42:
+ case 0x43:
+ case 0x44:
+ case 0x45:
+ case 0x46:
+ case 0x47:
+ case 0x48:
+ case 0x49:
+ case 0x4a:
+ case 0x4b:
+ case 0x4c:
+ case 0x4d:
+ case 0x4e:
+ case 0x4f:
+ {
+ /** 0111 1111 0100 rsrc bra.l %0 */
+#line 812 "rx-decode.opc"
+ int rsrc AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 0100 rsrc bra.l %0 */",
+ op[0], op[1]);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("bra.l %0");
+#line 812 "rx-decode.opc"
+ ID(branchrel); DR(rsrc);
+
+
+ }
+ break;
+ case 0x50:
+ case 0x51:
+ case 0x52:
+ case 0x53:
+ case 0x54:
+ case 0x55:
+ case 0x56:
+ case 0x57:
+ case 0x58:
+ case 0x59:
+ case 0x5a:
+ case 0x5b:
+ case 0x5c:
+ case 0x5d:
+ case 0x5e:
+ case 0x5f:
+ {
+ /** 0111 1111 0101 rsrc bsr.l %0 */
+#line 828 "rx-decode.opc"
+ int rsrc AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 0101 rsrc bsr.l %0 */",
+ op[0], op[1]);
+ printf (" rsrc = 0x%x\n", rsrc);
+ }
+ SYNTAX("bsr.l %0");
+#line 828 "rx-decode.opc"
+ ID(jsrrel); DR(rsrc);
+
+ }
+ break;
+ case 0x80:
+ case 0x81:
+ case 0x82:
+ {
+ /** 0111 1111 1000 00sz suntil%s */
+#line 852 "rx-decode.opc"
+ int sz AU = op[1] & 0x03;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 00sz suntil%s */",
+ op[0], op[1]);
+ printf (" sz = 0x%x\n", sz);
+ }
+ SYNTAX("suntil%s");
+#line 852 "rx-decode.opc"
+ ID(suntil); BWL(sz); F___ZC;
+
+ }
+ break;
+ case 0x83:
+ {
+ /** 0111 1111 1000 0011 scmpu */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 0011 scmpu */",
+ op[0], op[1]);
+ }
+ SYNTAX("scmpu");
+#line 843 "rx-decode.opc"
+ ID(scmpu); F___ZC;
+
+ }
+ break;
+ case 0x84:
+ case 0x85:
+ case 0x86:
+ {
+ /** 0111 1111 1000 01sz swhile%s */
+#line 855 "rx-decode.opc"
+ int sz AU = op[1] & 0x03;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 01sz swhile%s */",
+ op[0], op[1]);
+ printf (" sz = 0x%x\n", sz);
+ }
+ SYNTAX("swhile%s");
+#line 855 "rx-decode.opc"
+ ID(swhile); BWL(sz); F___ZC;
+
+ }
+ break;
+ case 0x87:
+ {
+ /** 0111 1111 1000 0111 smovu */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 0111 smovu */",
+ op[0], op[1]);
+ }
+ SYNTAX("smovu");
+#line 846 "rx-decode.opc"
+ ID(smovu);
+
+ }
+ break;
+ case 0x88:
+ case 0x89:
+ case 0x8a:
+ {
+ /** 0111 1111 1000 10sz sstr%s */
+#line 861 "rx-decode.opc"
+ int sz AU = op[1] & 0x03;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 10sz sstr%s */",
+ op[0], op[1]);
+ printf (" sz = 0x%x\n", sz);
+ }
+ SYNTAX("sstr%s");
+#line 861 "rx-decode.opc"
+ ID(sstr); BWL(sz);
+
+ /*----------------------------------------------------------------------*/
+ /* RMPA */
+
+ }
+ break;
+ case 0x8b:
+ {
+ /** 0111 1111 1000 1011 smovb */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 1011 smovb */",
+ op[0], op[1]);
+ }
+ SYNTAX("smovb");
+#line 849 "rx-decode.opc"
+ ID(smovb);
+
+ }
+ break;
+ case 0x8c:
+ case 0x8d:
+ case 0x8e:
+ {
+ /** 0111 1111 1000 11sz rmpa%s */
+#line 867 "rx-decode.opc"
+ int sz AU = op[1] & 0x03;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 11sz rmpa%s */",
+ op[0], op[1]);
+ printf (" sz = 0x%x\n", sz);
+ }
+ SYNTAX("rmpa%s");
+#line 867 "rx-decode.opc"
+ ID(rmpa); BWL(sz); F_OS__;
+
+ /*----------------------------------------------------------------------*/
+ /* HI/LO stuff */
+
+ }
+ break;
+ case 0x8f:
+ {
+ /** 0111 1111 1000 1111 smovf */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1000 1111 smovf */",
+ op[0], op[1]);
+ }
+ SYNTAX("smovf");
+#line 858 "rx-decode.opc"
+ ID(smovf);
+
+ }
+ break;
+ case 0x93:
+ {
+ /** 0111 1111 1001 0011 satr */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1001 0011 satr */",
+ op[0], op[1]);
+ }
+ SYNTAX("satr");
+#line 909 "rx-decode.opc"
+ ID(satr);
+
+ /*----------------------------------------------------------------------*/
+ /* FLOAT */
+
+ }
+ break;
+ case 0x94:
+ {
+ /** 0111 1111 1001 0100 rtfi */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1001 0100 rtfi */",
+ op[0], op[1]);
+ }
+ SYNTAX("rtfi");
+#line 1044 "rx-decode.opc"
+ ID(rtfi);
+
+ }
+ break;
+ case 0x95:
+ {
+ /** 0111 1111 1001 0101 rte */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1001 0101 rte */",
+ op[0], op[1]);
+ }
+ SYNTAX("rte");
+#line 1047 "rx-decode.opc"
+ ID(rte);
+
+ }
+ break;
+ case 0x96:
+ {
+ /** 0111 1111 1001 0110 wait */
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1001 0110 wait */",
+ op[0], op[1]);
+ }
+ SYNTAX("wait");
+#line 1059 "rx-decode.opc"
+ ID(wait);
+
+ /*----------------------------------------------------------------------*/
+ /* SCcnd */
+
+ }
+ break;
+ case 0xa0:
+ case 0xa1:
+ case 0xa2:
+ case 0xa3:
+ case 0xa4:
+ case 0xa5:
+ case 0xa6:
+ case 0xa7:
+ case 0xa8:
+ case 0xa9:
+ case 0xaa:
+ case 0xab:
+ case 0xac:
+ case 0xad:
+ case 0xae:
+ case 0xaf:
+ {
+ /** 0111 1111 1010 rdst setpsw %0 */
+#line 1020 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1010 rdst setpsw %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("setpsw %0");
+#line 1020 "rx-decode.opc"
+ ID(setpsw); DF(rdst);
+
+ }
+ break;
+ case 0xb0:
+ case 0xb1:
+ case 0xb2:
+ case 0xb3:
+ case 0xb4:
+ case 0xb5:
+ case 0xb6:
+ case 0xb7:
+ case 0xb8:
+ case 0xb9:
+ case 0xba:
+ case 0xbb:
+ case 0xbc:
+ case 0xbd:
+ case 0xbe:
+ case 0xbf:
+ {
+ /** 0111 1111 1011 rdst clrpsw %0 */
+#line 1017 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 0111 1111 1011 rdst clrpsw %0 */",
+ op[0], op[1]);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("clrpsw %0");
+#line 1017 "rx-decode.opc"
+ ID(clrpsw); DF(rdst);
+
+ }
+ break;
+ default: UNSUPPORTED(); break;
+ }
+ break;
+ case 0x80:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_52:
+ {
+ /** 10sz 0dsp a dst b src mov%s %1, %0 */
+#line 357 "rx-decode.opc"
+ int sz AU = (op[0] >> 4) & 0x03;
+#line 357 "rx-decode.opc"
+ int dsp AU = op[0] & 0x07;
+#line 357 "rx-decode.opc"
+ int a AU = (op[1] >> 7) & 0x01;
+#line 357 "rx-decode.opc"
+ int dst AU = (op[1] >> 4) & 0x07;
+#line 357 "rx-decode.opc"
+ int b AU = (op[1] >> 3) & 0x01;
+#line 357 "rx-decode.opc"
+ int src AU = op[1] & 0x07;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
+ op[0], op[1]);
+ printf (" sz = 0x%x,", sz);
+ printf (" dsp = 0x%x,", dsp);
+ printf (" a = 0x%x,", a);
+ printf (" dst = 0x%x,", dst);
+ printf (" b = 0x%x,", b);
+ printf (" src = 0x%x\n", src);
+ }
+ SYNTAX("mov%s %1, %0");
+#line 357 "rx-decode.opc"
+ ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x81:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x82:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x83:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x84:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x85:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x86:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x87:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x88:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_53:
+ {
+ /** 10sz 1dsp a src b dst mov%s %1, %0 */
+#line 354 "rx-decode.opc"
+ int sz AU = (op[0] >> 4) & 0x03;
+#line 354 "rx-decode.opc"
+ int dsp AU = op[0] & 0x07;
+#line 354 "rx-decode.opc"
+ int a AU = (op[1] >> 7) & 0x01;
+#line 354 "rx-decode.opc"
+ int src AU = (op[1] >> 4) & 0x07;
+#line 354 "rx-decode.opc"
+ int b AU = (op[1] >> 3) & 0x01;
+#line 354 "rx-decode.opc"
+ int dst AU = op[1] & 0x07;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
+ op[0], op[1]);
+ printf (" sz = 0x%x,", sz);
+ printf (" dsp = 0x%x,", dsp);
+ printf (" a = 0x%x,", a);
+ printf (" src = 0x%x,", src);
+ printf (" b = 0x%x,", b);
+ printf (" dst = 0x%x\n", dst);
+ }
+ SYNTAX("mov%s %1, %0");
+#line 354 "rx-decode.opc"
+ ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0x89:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8a:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8b:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8c:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8d:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8e:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x8f:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x90:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x91:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;