+
+
+ }
+ 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;
+ break;
+ }
+ break;
+ case 0x92:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x93:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x94:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x95:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x96:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x97:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0x98:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x99:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9a:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9b:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9c:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9d:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9e:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0x9f:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xa0:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa1:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa2:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa3:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa4:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa5:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa6:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa7:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_52;
+ break;
+ }
+ break;
+ case 0xa8:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xa9:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xaa:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xab:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xac:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xad:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xae:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xaf:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_53;
+ break;
+ }
+ break;
+ case 0xb0:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_54:
+ {
+ /** 1011 w dsp a src b dst movu%s %1, %0 */
+#line 377 "rx-decode.opc"
+ int w AU = (op[0] >> 3) & 0x01;
+#line 377 "rx-decode.opc"
+ int dsp AU = op[0] & 0x07;
+#line 377 "rx-decode.opc"
+ int a AU = (op[1] >> 7) & 0x01;
+#line 377 "rx-decode.opc"
+ int src AU = (op[1] >> 4) & 0x07;
+#line 377 "rx-decode.opc"
+ int b AU = (op[1] >> 3) & 0x01;
+#line 377 "rx-decode.opc"
+ int dst AU = op[1] & 0x07;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 1011 w dsp a src b dst movu%s %1, %0 */",
+ op[0], op[1]);
+ printf (" w = 0x%x,", w);
+ 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("movu%s %1, %0");
+#line 377 "rx-decode.opc"
+ ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
+
+ }
+ break;
+ }
+ break;
+ case 0xb1:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb2:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb3:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb4:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb5:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb6:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb7:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb8:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xb9:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xba:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xbb:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xbc:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xbd:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xbe:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xbf:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ goto op_semantics_54;
+ break;
+ }
+ break;
+ case 0xc0:
+ GETBYTE ();
+ switch (op[1] & 0x00)
+ {
+ case 0x00:
+ op_semantics_55:
+ {
+ /** 11sz sd ss rsrc rdst mov%s %1, %0 */
+#line 335 "rx-decode.opc"
+ int sz AU = (op[0] >> 4) & 0x03;
+#line 335 "rx-decode.opc"
+ int sd AU = (op[0] >> 2) & 0x03;
+#line 335 "rx-decode.opc"
+ int ss AU = op[0] & 0x03;
+#line 335 "rx-decode.opc"
+ int rsrc AU = (op[1] >> 4) & 0x0f;
+#line 335 "rx-decode.opc"
+ int rdst AU = op[1] & 0x0f;
+ if (trace)
+ {
+ printf ("\033[33m%s\033[0m %02x %02x\n",
+ "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
+ op[0], op[1]);
+ printf (" sz = 0x%x,", sz);
+ printf (" sd = 0x%x,", sd);
+ printf (" ss = 0x%x,", ss);
+ printf (" rsrc = 0x%x,", rsrc);
+ printf (" rdst = 0x%x\n", rdst);
+ }
+ SYNTAX("mov%s %1, %0");
+#line 335 "rx-decode.opc"
+ if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
+ {
+ ID(nop2);
+ SYNTAX ("nop\t; mov.l\tr0, r0");
+ }
+ else
+ {
+ ID(mov); sBWL(sz); F_____;
+ if ((ss == 3) && (sd != 3))
+ {
+ SD(ss, rdst, sz); DD(sd, rsrc, sz);
+ }
+ else
+ {
+ SD(ss, rsrc, sz); DD(sd, rdst, sz);
+ }
+ }
+