Add support for RX V2 Instruction Set
[deliverable/binutils-gdb.git] / opcodes / rx-decode.c
index 3a9099b1ff37ff375ee5128f4ba5dfae40c8790a..e298bed97c9900c50e368b38e0d491d10475eb71 100644 (file)
@@ -294,7 +294,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("brk");
-#line 987 "rx-decode.opc"
+#line 1025 "rx-decode.opc"
           ID(brk);
 
         }
@@ -309,7 +309,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("dbt");
-#line 990 "rx-decode.opc"
+#line 1028 "rx-decode.opc"
           ID(dbt);
 
         }
@@ -324,7 +324,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("rts");
-#line 768 "rx-decode.opc"
+#line 806 "rx-decode.opc"
           ID(rts);
 
         /*----------------------------------------------------------------------*/
@@ -342,7 +342,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("nop");
-#line 774 "rx-decode.opc"
+#line 812 "rx-decode.opc"
           ID(nop);
 
         /*----------------------------------------------------------------------*/
@@ -360,7 +360,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.a        %a0");
-#line 746 "rx-decode.opc"
+#line 784 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(3));
 
         }
@@ -375,7 +375,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bsr.a        %a0");
-#line 762 "rx-decode.opc"
+#line 800 "rx-decode.opc"
           ID(jsr); DC(pc + IMMex(3));
 
         }
@@ -578,13 +578,13 @@ rx_decode_opcode (unsigned long pc AU,
                   op_semantics_4:
                     {
                       /** 0000 0110 mx00 11ss rsrc rdst        mul     %1%S1, %0 */
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                       int mx AU = (op[1] >> 6) & 0x03;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -597,7 +597,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("mul      %1%S1, %0");
-#line 611 "rx-decode.opc"
+#line 649 "rx-decode.opc"
                       ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
 
                     }
@@ -802,13 +802,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_8:
                           {
                             /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst        max     %1%S1, %0 */
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -821,7 +821,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("max        %1%S1, %0");
-#line 584 "rx-decode.opc"
+#line 594 "rx-decode.opc"
                             ID(max); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -839,13 +839,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_9:
                           {
                             /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst        min     %1%S1, %0 */
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -858,7 +858,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("min        %1%S1, %0");
-#line 596 "rx-decode.opc"
+#line 606 "rx-decode.opc"
                             ID(min); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -876,13 +876,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_10:
                           {
                             /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst        emul    %1%S1, %0 */
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -895,7 +895,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("emul       %1%S1, %0");
-#line 626 "rx-decode.opc"
+#line 664 "rx-decode.opc"
                             ID(emul); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -913,13 +913,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_11:
                           {
                             /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst        emulu   %1%S1, %0 */
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -932,7 +932,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("emulu      %1%S1, %0");
-#line 638 "rx-decode.opc"
+#line 676 "rx-decode.opc"
                             ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
 
                           /*----------------------------------------------------------------------*/
@@ -950,13 +950,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_12:
                           {
                             /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst        div     %1%S1, %0 */
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -969,7 +969,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("div        %1%S1, %0");
-#line 650 "rx-decode.opc"
+#line 688 "rx-decode.opc"
                             ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
 
                           /*----------------------------------------------------------------------*/
@@ -987,13 +987,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_13:
                           {
                             /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst        divu    %1%S1, %0 */
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
                             int ss AU = op[1] & 0x03;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1006,7 +1006,7 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("divu       %1%S1, %0");
-#line 662 "rx-decode.opc"
+#line 700 "rx-decode.opc"
                             ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
 
                           /*----------------------------------------------------------------------*/
@@ -1135,13 +1135,13 @@ rx_decode_opcode (unsigned long pc AU,
                         op_semantics_17:
                           {
                             /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst        itof    %1%S1, %0 */
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
                             int mx AU = (op[1] >> 6) & 0x03;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
                             int sd AU = op[1] & 0x03;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
                             int rsrc AU = (op[3] >> 4) & 0x0f;
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
                             int rdst AU = op[3] & 0x0f;
                             if (trace)
                               {
@@ -1154,12 +1154,46 @@ rx_decode_opcode (unsigned long pc AU,
                                 printf ("  rdst = 0x%x\n", rdst);
                               }
                             SYNTAX("itof       %1%S1, %0");
-#line 891 "rx-decode.opc"
+#line 929 "rx-decode.opc"
                             ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
 
                           /*----------------------------------------------------------------------*/
                           /* BIT OPS                                                           */
 
+                          }
+                        break;
+                    }
+                  break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        op_semantics_18:
+                          {
+                            /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst        utof    %1%S1, %0 */
+#line 1115 "rx-decode.opc"
+                            int mx AU = (op[1] >> 6) & 0x03;
+#line 1115 "rx-decode.opc"
+                            int sd AU = op[1] & 0x03;
+#line 1115 "rx-decode.opc"
+                            int rsrc AU = (op[3] >> 4) & 0x0f;
+#line 1115 "rx-decode.opc"
+                            int rdst AU = op[3] & 0x0f;
+                            if (trace)
+                              {
+                                printf ("\033[33m%s\033[0m  %02x %02x %02x %02x\n",
+                                       "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst    utof    %1%S1, %0 */",
+                                       op[0], op[1], op[2], op[3]);
+                                printf ("  mx = 0x%x,", mx);
+                                printf ("  sd = 0x%x,", sd);
+                                printf ("  rsrc = 0x%x,", rsrc);
+                                printf ("  rdst = 0x%x\n", rdst);
+                              }
+                            SYNTAX("utof       %1%S1, %0");
+#line 1115 "rx-decode.opc"
+                            ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
+
                           }
                         break;
                     }
@@ -1270,6 +1304,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -1376,6 +1419,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -1482,6 +1534,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -1804,6 +1865,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -1910,6 +1980,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2016,6 +2095,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2122,6 +2210,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2359,7 +2456,7 @@ rx_decode_opcode (unsigned long pc AU,
                     switch (op[3] & 0x00)
                     {
                       case 0x00:
-                        op_semantics_18:
+                        op_semantics_19:
                           {
                             /** 0000 0110 1010 00ss 0000 0010 rsrc rdst        adc     %1%S1, %0 */
 #line 494 "rx-decode.opc"
@@ -2478,6 +2575,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2499,7 +2605,7 @@ rx_decode_opcode (unsigned long pc AU,
                     switch (op[3] & 0x00)
                     {
                       case 0x00:
-                        goto op_semantics_18;
+                        goto op_semantics_19;
                         break;
                     }
                   break;
@@ -2593,6 +2699,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2614,7 +2729,7 @@ rx_decode_opcode (unsigned long pc AU,
                     switch (op[3] & 0x00)
                     {
                       case 0x00:
-                        goto op_semantics_18;
+                        goto op_semantics_19;
                         break;
                     }
                   break;
@@ -2708,6 +2823,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -2729,7 +2853,7 @@ rx_decode_opcode (unsigned long pc AU,
                     switch (op[3] & 0x00)
                     {
                       case 0x00:
-                        goto op_semantics_18;
+                        goto op_semantics_19;
                         break;
                     }
                   break;
@@ -2823,6 +2947,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -3145,6 +3278,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -3251,6 +3393,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -3357,6 +3508,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -3463,6 +3623,15 @@ rx_decode_opcode (unsigned long pc AU,
                         break;
                     }
                   break;
+                case 0x15:
+                    GETBYTE ();
+                    switch (op[3] & 0x00)
+                    {
+                      case 0x00:
+                        goto op_semantics_18;
+                        break;
+                    }
+                  break;
                 default: UNSUPPORTED(); break;
               }
             break;
@@ -3479,7 +3648,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x0f:
         {
           /** 0000 1dsp                        bra.s   %a0 */
-#line 737 "rx-decode.opc"
+#line 775 "rx-decode.opc"
           int dsp AU = op[0] & 0x07;
           if (trace)
             {
@@ -3489,7 +3658,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  dsp = 0x%x\n", dsp);
             }
           SYNTAX("bra.s        %a0");
-#line 737 "rx-decode.opc"
+#line 775 "rx-decode.opc"
           ID(branch); DC(pc + dsp3map[dsp]);
 
         }
@@ -3512,9 +3681,9 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x1f:
         {
           /** 0001 n dsp                       b%1.s   %a0 */
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
           int n AU = (op[0] >> 3) & 0x01;
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
           int dsp AU = op[0] & 0x07;
           if (trace)
             {
@@ -3525,7 +3694,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  dsp = 0x%x\n", dsp);
             }
           SYNTAX("b%1.s        %a0");
-#line 727 "rx-decode.opc"
+#line 765 "rx-decode.opc"
           ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
 
         }
@@ -3547,7 +3716,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x2f:
         {
           /** 0010 cond                        b%1.b   %a0 */
-#line 730 "rx-decode.opc"
+#line 768 "rx-decode.opc"
           int cond AU = op[0] & 0x0f;
           if (trace)
             {
@@ -3557,7 +3726,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  cond = 0x%x\n", cond);
             }
           SYNTAX("b%1.b        %a0");
-#line 730 "rx-decode.opc"
+#line 768 "rx-decode.opc"
           ID(branch); Scc(cond); DC(pc + IMMex (1));
 
         }
@@ -3572,7 +3741,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.b        %a0");
-#line 740 "rx-decode.opc"
+#line 778 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(1));
 
         }
@@ -3587,7 +3756,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bra.w        %a0");
-#line 743 "rx-decode.opc"
+#line 781 "rx-decode.opc"
           ID(branch); DC(pc + IMMex(2));
 
         }
@@ -3602,7 +3771,7 @@ rx_decode_opcode (unsigned long pc AU,
                      op[0]);
             }
           SYNTAX("bsr.w        %a0");
-#line 759 "rx-decode.opc"
+#line 797 "rx-decode.opc"
           ID(jsr); DC(pc + IMMex(2));
 
         }
@@ -3611,7 +3780,7 @@ rx_decode_opcode (unsigned long pc AU,
     case 0x3b:
         {
           /** 0011 101c                        b%1.w   %a0 */
-#line 733 "rx-decode.opc"
+#line 771 "rx-decode.opc"
           int c AU = op[0] & 0x01;
           if (trace)
             {
@@ -3621,7 +3790,7 @@ rx_decode_opcode (unsigned long pc AU,
               printf ("  c = 0x%x\n", c);
             }
           SYNTAX("b%1.w        %a0");
-#line 733 "rx-decode.opc"
+#line 771 "rx-decode.opc"
           ID(branch); Scc(c); DC(pc + IMMex (2));
 
 
@@ -3632,7 +3801,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_19:
+            op_semantics_20:
               {
                 /** 0011 11sz d dst sppp               mov%s   #%1, %0 */
 #line 307 "rx-decode.opc"
@@ -3666,7 +3835,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_19;
+            goto op_semantics_20;
             break;
         }
       break;
@@ -3675,7 +3844,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_19;
+            goto op_semantics_20;
             break;
         }
       break;
@@ -3714,7 +3883,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_20:
+            op_semantics_21:
               {
                 /** 0100 00ss rsrc rdst                        sub     %2%S2, %1 */
 #line 539 "rx-decode.opc"
@@ -3745,7 +3914,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_20;
+            goto op_semantics_21;
             break;
         }
       break;
@@ -3754,7 +3923,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_20;
+            goto op_semantics_21;
             break;
         }
       break;
@@ -3763,7 +3932,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_20;
+            goto op_semantics_21;
             break;
         }
       break;
@@ -3772,7 +3941,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_21:
+            op_semantics_22:
               {
                 /** 0100 01ss rsrc rdst                cmp     %2%S2, %1 */
 #line 527 "rx-decode.opc"
@@ -3803,7 +3972,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_21;
+            goto op_semantics_22;
             break;
         }
       break;
@@ -3812,7 +3981,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_21;
+            goto op_semantics_22;
             break;
         }
       break;
@@ -3821,7 +3990,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_21;
+            goto op_semantics_22;
             break;
         }
       break;
@@ -3830,7 +3999,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_22:
+            op_semantics_23:
               {
                 /** 0100 10ss rsrc rdst                        add     %1%S1, %0 */
 #line 503 "rx-decode.opc"
@@ -3861,7 +4030,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_22;
+            goto op_semantics_23;
             break;
         }
       break;
@@ -3870,7 +4039,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_22;
+            goto op_semantics_23;
             break;
         }
       break;
@@ -3879,7 +4048,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_22;
+            goto op_semantics_23;
             break;
         }
       break;
@@ -3888,14 +4057,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_23:
+            op_semantics_24:
               {
                 /** 0100 11ss rsrc rdst                        mul     %1%S1, %0 */
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
                 int ss AU = op[0] & 0x03;
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
                 int rsrc AU = (op[1] >> 4) & 0x0f;
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -3907,7 +4076,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    %1%S1, %0");
-#line 608 "rx-decode.opc"
+#line 646 "rx-decode.opc"
                 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
 
               }
@@ -3919,7 +4088,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_23;
+            goto op_semantics_24;
             break;
         }
       break;
@@ -3928,7 +4097,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_23;
+            goto op_semantics_24;
             break;
         }
       break;
@@ -3937,7 +4106,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_23;
+            goto op_semantics_24;
             break;
         }
       break;
@@ -3946,7 +4115,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_24:
+            op_semantics_25:
               {
                 /** 0101 00ss rsrc rdst                        and     %1%S1, %0 */
 #line 416 "rx-decode.opc"
@@ -3977,7 +4146,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_24;
+            goto op_semantics_25;
             break;
         }
       break;
@@ -3986,7 +4155,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_24;
+            goto op_semantics_25;
             break;
         }
       break;
@@ -3995,7 +4164,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_24;
+            goto op_semantics_25;
             break;
         }
       break;
@@ -4004,7 +4173,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_25:
+            op_semantics_26:
               {
                 /** 0101 01ss rsrc rdst                        or      %1%S1, %0 */
 #line 434 "rx-decode.opc"
@@ -4035,7 +4204,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_25;
+            goto op_semantics_26;
             break;
         }
       break;
@@ -4044,7 +4213,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_25;
+            goto op_semantics_26;
             break;
         }
       break;
@@ -4053,7 +4222,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_25;
+            goto op_semantics_26;
             break;
         }
       break;
@@ -4062,7 +4231,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_26:
+            op_semantics_27:
               {
                 /** 0101 1 s ss rsrc rdst      movu%s  %1, %0 */
 #line 355 "rx-decode.opc"
@@ -4096,7 +4265,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4105,7 +4274,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4114,7 +4283,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4123,7 +4292,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4132,7 +4301,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4141,7 +4310,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4150,7 +4319,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_26;
+            goto op_semantics_27;
             break;
         }
       break;
@@ -4242,9 +4411,9 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x00:
               {
                 /** 0110 0011 immm rdst                        mul     #%1, %0 */
-#line 602 "rx-decode.opc"
+#line 612 "rx-decode.opc"
                 int immm AU = (op[1] >> 4) & 0x0f;
-#line 602 "rx-decode.opc"
+#line 612 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4255,17 +4424,18 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    #%1, %0");
-#line 602 "rx-decode.opc"
-               if (immm == 1 && rdst == 0)
-                 {
-                   ID(nop2);
-                   SYNTAX ("nop\t; mul\t#1, r0");
-                 }
-               else
-                 {
-                   ID(mul);
-                 }
-               DR(rdst); SC(immm); F_____;
+#line 612 "rx-decode.opc"
+                if (immm == 1 && rdst == 0)
+                  {
+                    ID(nop2);
+                    SYNTAX ("nop\t; mul\t#1, r0");
+                  }
+                else
+                  {
+                    ID(mul);
+                  }
+                DR(rdst); SC(immm); F_____;
+
               }
             break;
         }
@@ -4371,14 +4541,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_27:
+            op_semantics_28:
               {
                 /** 0110 100i mmmm rdst                        shlr    #%2, %0 */
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4390,7 +4560,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shlr   #%2, %0");
-#line 688 "rx-decode.opc"
+#line 726 "rx-decode.opc"
                 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
 
               }
@@ -4402,7 +4572,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_27;
+            goto op_semantics_28;
             break;
         }
       break;
@@ -4411,14 +4581,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_28:
+            op_semantics_29:
               {
                 /** 0110 101i mmmm rdst                        shar    #%2, %0 */
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4430,7 +4600,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shar   #%2, %0");
-#line 678 "rx-decode.opc"
+#line 716 "rx-decode.opc"
                 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
 
               }
@@ -4442,7 +4612,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_28;
+            goto op_semantics_29;
             break;
         }
       break;
@@ -4451,14 +4621,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_29:
+            op_semantics_30:
               {
                 /** 0110 110i mmmm rdst                        shll    #%2, %0 */
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
                 int i AU = op[0] & 0x01;
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
                 int mmmm AU = (op[1] >> 4) & 0x0f;
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4470,7 +4640,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("shll   #%2, %0");
-#line 668 "rx-decode.opc"
+#line 706 "rx-decode.opc"
                 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
 
               }
@@ -4482,7 +4652,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_29;
+            goto op_semantics_30;
             break;
         }
       break;
@@ -4545,7 +4715,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_30:
+            op_semantics_31:
               {
                 /** 0111 00im rsrc rdst                        add     #%1, %2, %0 */
 #line 509 "rx-decode.opc"
@@ -4576,7 +4746,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_30;
+            goto op_semantics_31;
             break;
         }
       break;
@@ -4585,7 +4755,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_30;
+            goto op_semantics_31;
             break;
         }
       break;
@@ -4594,7 +4764,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_30;
+            goto op_semantics_31;
             break;
         }
       break;
@@ -4603,7 +4773,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0xf0)
         {
           case 0x00:
-            op_semantics_31:
+            op_semantics_32:
               {
                 /** 0111 01im 0000 rsrc                cmp     #%2, %1%S1 */
 #line 521 "rx-decode.opc"
@@ -4625,14 +4795,13 @@ rx_decode_opcode (unsigned long pc AU,
               }
             break;
           case 0x10:
-            op_semantics_32:
+            op_semantics_33:
               {
                 /** 0111 01im 0001rdst                 mul     #%1, %0 */
-#line 605 "rx-decode.opc"
+#line 624 "rx-decode.opc"
                 int im AU = op[0] & 0x03;
-#line 605 "rx-decode.opc"
+#line 624 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
-               int val = IMMex(im);
                 if (trace)
                   {
                     printf ("\033[33m%s\033[0m  %02x %02x\n",
@@ -4642,31 +4811,32 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("mul    #%1, %0");
-#line 605 "rx-decode.opc"
-               if (val == 1 && rdst == 0)
-                 {
-                   SYNTAX("nop\t; mul\t#1, r0");
-                   switch (im)
-                     {
-                     case 2: ID(nop4); break;
-                     case 3: ID(nop5); break;
-                     case 0: ID(nop6); break;
-                     default:
-                       ID(mul);
-                       SYNTAX("mul     #%1, %0");
-                       break;
-                     }
-                 }
-               else
-                 {
-                   ID(mul);
-                 }
-               DR(rdst); SC(val); F_____;
+#line 624 "rx-decode.opc"
+                int val = IMMex(im);
+                if (val == 1 && rdst == 0)
+                  {
+                    SYNTAX("nop\t; mul\t#1, r0");
+                    switch (im)
+               {
+               case 2: ID(nop4); break;
+               case 3: ID(nop5); break;
+               case 0: ID(nop6); break;
+               default:
+                 ID(mul);
+                 SYNTAX("mul   #%1, %0");
+                 break;
+               }
+                  }
+                else
+                  {
+                    ID(mul);
+                  }
+                DR(rdst); SC(val); F_____;
 
               }
             break;
           case 0x20:
-            op_semantics_33:
+            op_semantics_34:
               {
                 /** 0111 01im 0010 rdst                        and     #%1, %0 */
 #line 413 "rx-decode.opc"
@@ -4688,7 +4858,7 @@ rx_decode_opcode (unsigned long pc AU,
               }
             break;
           case 0x30:
-            op_semantics_34:
+            op_semantics_35:
               {
                 /** 0111 01im 0011 rdst                        or      #%1, %0 */
 #line 431 "rx-decode.opc"
@@ -4732,7 +4902,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x0d:
           case 0x0e:
           case 0x0f:
-            goto op_semantics_31;
+            goto op_semantics_32;
             break;
           case 0x10:
           case 0x11:
@@ -4750,7 +4920,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x1d:
           case 0x1e:
           case 0x1f:
-            goto op_semantics_32;
+            goto op_semantics_33;
             break;
           case 0x20:
           case 0x21:
@@ -4768,7 +4938,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x2d:
           case 0x2e:
           case 0x2f:
-            goto op_semantics_33;
+            goto op_semantics_34;
             break;
           case 0x30:
           case 0x31:
@@ -4786,7 +4956,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x3d:
           case 0x3e:
           case 0x3f:
-            goto op_semantics_34;
+            goto op_semantics_35;
             break;
           case 0x40:
           case 0x41:
@@ -4864,7 +5034,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("int #%1");
-#line 993 "rx-decode.opc"
+#line 1031 "rx-decode.opc"
                 ID(int); SC(IMM(1));
 
               }
@@ -4876,7 +5046,7 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x00:
                     {
                       /** 0111 0101 0111 0000 0000 immm        mvtipl  #%1 */
-#line 960 "rx-decode.opc"
+#line 998 "rx-decode.opc"
                       int immm AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -4886,7 +5056,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  immm = 0x%x\n", immm);
                         }
                       SYNTAX("mvtipl   #%1");
-#line 960 "rx-decode.opc"
+#line 998 "rx-decode.opc"
                       ID(mvtipl); SC(immm);
 
                     }
@@ -4902,16 +5072,16 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0xf0)
         {
           case 0x00:
-            goto op_semantics_31;
+            goto op_semantics_32;
             break;
           case 0x10:
-            goto op_semantics_32;
+            goto op_semantics_33;
             break;
           case 0x20:
-            goto op_semantics_33;
+            goto op_semantics_34;
             break;
           case 0x30:
-            goto op_semantics_34;
+            goto op_semantics_35;
             break;
           default: UNSUPPORTED(); break;
         }
@@ -4921,16 +5091,16 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0xf0)
         {
           case 0x00:
-            goto op_semantics_31;
+            goto op_semantics_32;
             break;
           case 0x10:
-            goto op_semantics_32;
+            goto op_semantics_33;
             break;
           case 0x20:
-            goto op_semantics_33;
+            goto op_semantics_34;
             break;
           case 0x30:
-            goto op_semantics_34;
+            goto op_semantics_35;
             break;
           default: UNSUPPORTED(); break;
         }
@@ -4940,14 +5110,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_35:
+            op_semantics_36:
               {
                 /** 0111 100b ittt rdst                        bset    #%1, %0 */
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
                 int b AU = op[0] & 0x01;
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
                 int ittt AU = (op[1] >> 4) & 0x0f;
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -4959,7 +5129,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("bset   #%1, %0");
-#line 905 "rx-decode.opc"
+#line 943 "rx-decode.opc"
                 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
 
 
@@ -4972,7 +5142,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_35;
+            goto op_semantics_36;
             break;
         }
       break;
@@ -4981,14 +5151,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_36:
+            op_semantics_37:
               {
                 /** 0111 101b ittt rdst                        bclr    #%1, %0 */
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
                 int b AU = op[0] & 0x01;
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
                 int ittt AU = (op[1] >> 4) & 0x0f;
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5000,7 +5170,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("bclr   #%1, %0");
-#line 917 "rx-decode.opc"
+#line 955 "rx-decode.opc"
                 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
 
 
@@ -5013,7 +5183,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_36;
+            goto op_semantics_37;
             break;
         }
       break;
@@ -5022,14 +5192,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_37:
+            op_semantics_38:
               {
                 /** 0111 110b ittt rdst                        btst    #%2, %1 */
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
                 int b AU = op[0] & 0x01;
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
                 int ittt AU = (op[1] >> 4) & 0x0f;
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5041,7 +5211,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("btst   #%2, %1");
-#line 929 "rx-decode.opc"
+#line 967 "rx-decode.opc"
                 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
 
 
@@ -5054,7 +5224,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_37;
+            goto op_semantics_38;
             break;
         }
       break;
@@ -5119,7 +5289,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x30:
               {
                 /** 0111 1110 0011 rdst                sat     %0 */
-#line 843 "rx-decode.opc"
+#line 881 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5129,7 +5299,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("sat    %0");
-#line 843 "rx-decode.opc"
+#line 881 "rx-decode.opc"
                 ID(sat); DR (rdst);
 
               }
@@ -5137,7 +5307,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x40:
               {
                 /** 0111 1110 0100 rdst                        rorc    %0 */
-#line 703 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5147,7 +5317,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("rorc   %0");
-#line 703 "rx-decode.opc"
+#line 741 "rx-decode.opc"
                 ID(rorc); DR(rdst); F__SZC;
 
               }
@@ -5155,7 +5325,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x50:
               {
                 /** 0111 1110 0101 rdst                        rolc    %0 */
-#line 700 "rx-decode.opc"
+#line 738 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5165,7 +5335,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("rolc   %0");
-#line 700 "rx-decode.opc"
+#line 738 "rx-decode.opc"
                 ID(rolc); DR(rdst); F__SZC;
 
               }
@@ -5215,7 +5385,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0xd0:
               {
                 /** 0111 1110 110 crsrc                        pushc   %1 */
-#line 966 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
                 int crsrc AU = op[1] & 0x1f;
                 if (trace)
                   {
@@ -5225,7 +5395,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  crsrc = 0x%x\n", crsrc);
                   }
                 SYNTAX("pushc  %1");
-#line 966 "rx-decode.opc"
+#line 1004 "rx-decode.opc"
                 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
 
               }
@@ -5234,7 +5404,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0xf0:
               {
                 /** 0111 1110 111 crdst                        popc    %0 */
-#line 963 "rx-decode.opc"
+#line 1001 "rx-decode.opc"
                 int crdst AU = op[1] & 0x1f;
                 if (trace)
                   {
@@ -5244,7 +5414,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  crdst = 0x%x\n", crdst);
                   }
                 SYNTAX("popc   %0");
-#line 963 "rx-decode.opc"
+#line 1001 "rx-decode.opc"
                 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
 
               }
@@ -5274,7 +5444,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x0f:
               {
                 /** 0111 1111 0000 rsrc                jmp     %0 */
-#line 753 "rx-decode.opc"
+#line 791 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5284,7 +5454,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("jmp    %0");
-#line 753 "rx-decode.opc"
+#line 791 "rx-decode.opc"
                 ID(branch); DR(rsrc);
 
               }
@@ -5307,7 +5477,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x1f:
               {
                 /** 0111 1111 0001 rsrc                jsr     %0 */
-#line 756 "rx-decode.opc"
+#line 794 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5317,7 +5487,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("jsr    %0");
-#line 756 "rx-decode.opc"
+#line 794 "rx-decode.opc"
                 ID(jsr); DR(rsrc);
 
               }
@@ -5340,7 +5510,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x4f:
               {
                 /** 0111 1111 0100 rsrc                bra.l   %0 */
-#line 749 "rx-decode.opc"
+#line 787 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5350,7 +5520,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("bra.l  %0");
-#line 749 "rx-decode.opc"
+#line 787 "rx-decode.opc"
                 ID(branchrel); DR(rsrc);
 
 
@@ -5374,7 +5544,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x5f:
               {
                 /** 0111 1111 0101 rsrc                bsr.l   %0 */
-#line 765 "rx-decode.opc"
+#line 803 "rx-decode.opc"
                 int rsrc AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5384,7 +5554,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rsrc = 0x%x\n", rsrc);
                   }
                 SYNTAX("bsr.l  %0");
-#line 765 "rx-decode.opc"
+#line 803 "rx-decode.opc"
                 ID(jsrrel); DR(rsrc);
 
               }
@@ -5394,7 +5564,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x82:
               {
                 /** 0111 1111 1000 00sz                suntil%s */
-#line 789 "rx-decode.opc"
+#line 827 "rx-decode.opc"
                 int sz AU = op[1] & 0x03;
                 if (trace)
                   {
@@ -5404,7 +5574,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  sz = 0x%x\n", sz);
                   }
                 SYNTAX("suntil%s");
-#line 789 "rx-decode.opc"
+#line 827 "rx-decode.opc"
                 ID(suntil); BWL(sz); F___ZC;
 
               }
@@ -5419,7 +5589,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("scmpu");
-#line 780 "rx-decode.opc"
+#line 818 "rx-decode.opc"
                 ID(scmpu); F___ZC;
 
               }
@@ -5429,7 +5599,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x86:
               {
                 /** 0111 1111 1000 01sz                swhile%s */
-#line 792 "rx-decode.opc"
+#line 830 "rx-decode.opc"
                 int sz AU = op[1] & 0x03;
                 if (trace)
                   {
@@ -5439,7 +5609,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  sz = 0x%x\n", sz);
                   }
                 SYNTAX("swhile%s");
-#line 792 "rx-decode.opc"
+#line 830 "rx-decode.opc"
                 ID(swhile); BWL(sz); F___ZC;
 
               }
@@ -5454,7 +5624,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("smovu");
-#line 783 "rx-decode.opc"
+#line 821 "rx-decode.opc"
                 ID(smovu);
 
               }
@@ -5464,7 +5634,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x8a:
               {
                 /** 0111 1111 1000 10sz                sstr%s */
-#line 798 "rx-decode.opc"
+#line 836 "rx-decode.opc"
                 int sz AU = op[1] & 0x03;
                 if (trace)
                   {
@@ -5474,7 +5644,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  sz = 0x%x\n", sz);
                   }
                 SYNTAX("sstr%s");
-#line 798 "rx-decode.opc"
+#line 836 "rx-decode.opc"
                 ID(sstr); BWL(sz);
 
               /*----------------------------------------------------------------------*/
@@ -5492,7 +5662,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("smovb");
-#line 786 "rx-decode.opc"
+#line 824 "rx-decode.opc"
                 ID(smovb);
 
               }
@@ -5502,7 +5672,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0x8e:
               {
                 /** 0111 1111 1000 11sz                rmpa%s */
-#line 804 "rx-decode.opc"
+#line 842 "rx-decode.opc"
                 int sz AU = op[1] & 0x03;
                 if (trace)
                   {
@@ -5512,7 +5682,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  sz = 0x%x\n", sz);
                   }
                 SYNTAX("rmpa%s");
-#line 804 "rx-decode.opc"
+#line 842 "rx-decode.opc"
                 ID(rmpa); BWL(sz); F_OS__;
 
               /*----------------------------------------------------------------------*/
@@ -5530,7 +5700,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("smovf");
-#line 795 "rx-decode.opc"
+#line 833 "rx-decode.opc"
                 ID(smovf);
 
               }
@@ -5545,7 +5715,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("satr");
-#line 846 "rx-decode.opc"
+#line 884 "rx-decode.opc"
                 ID(satr);
 
               /*----------------------------------------------------------------------*/
@@ -5563,7 +5733,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("rtfi");
-#line 981 "rx-decode.opc"
+#line 1019 "rx-decode.opc"
                 ID(rtfi);
 
               }
@@ -5578,7 +5748,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("rte");
-#line 984 "rx-decode.opc"
+#line 1022 "rx-decode.opc"
                 ID(rte);
 
               }
@@ -5593,7 +5763,7 @@ rx_decode_opcode (unsigned long pc AU,
                            op[0], op[1]);
                   }
                 SYNTAX("wait");
-#line 996 "rx-decode.opc"
+#line 1034 "rx-decode.opc"
                 ID(wait);
 
               /*----------------------------------------------------------------------*/
@@ -5619,7 +5789,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0xaf:
               {
                 /** 0111 1111 1010 rdst                        setpsw  %0 */
-#line 957 "rx-decode.opc"
+#line 995 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5629,7 +5799,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("setpsw %0");
-#line 957 "rx-decode.opc"
+#line 995 "rx-decode.opc"
                 ID(setpsw); DF(rdst);
 
               }
@@ -5652,7 +5822,7 @@ rx_decode_opcode (unsigned long pc AU,
           case 0xbf:
               {
                 /** 0111 1111 1011 rdst                        clrpsw  %0 */
-#line 954 "rx-decode.opc"
+#line 992 "rx-decode.opc"
                 int rdst AU = op[1] & 0x0f;
                 if (trace)
                   {
@@ -5662,7 +5832,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  rdst = 0x%x\n", rdst);
                   }
                 SYNTAX("clrpsw %0");
-#line 954 "rx-decode.opc"
+#line 992 "rx-decode.opc"
                 ID(clrpsw); DF(rdst);
 
               }
@@ -5675,7 +5845,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_38:
+            op_semantics_39:
               {
                 /** 10sz 0dsp a dst b src      mov%s   %1, %0 */
 #line 332 "rx-decode.opc"
@@ -5715,7 +5885,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5724,7 +5894,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5733,7 +5903,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5742,7 +5912,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5751,7 +5921,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5760,7 +5930,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5769,7 +5939,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5778,7 +5948,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_39:
+            op_semantics_40:
               {
                 /** 10sz 1dsp a src b dst      mov%s   %1, %0 */
 #line 329 "rx-decode.opc"
@@ -5818,7 +5988,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5827,7 +5997,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5836,7 +6006,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5845,7 +6015,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5854,7 +6024,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5863,7 +6033,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5872,7 +6042,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5881,7 +6051,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5890,7 +6060,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5899,7 +6069,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5908,7 +6078,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5917,7 +6087,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5926,7 +6096,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5935,7 +6105,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5944,7 +6114,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -5953,7 +6123,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5962,7 +6132,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5971,7 +6141,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5980,7 +6150,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5989,7 +6159,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -5998,7 +6168,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6007,7 +6177,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6016,7 +6186,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6025,7 +6195,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6034,7 +6204,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6043,7 +6213,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6052,7 +6222,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6061,7 +6231,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6070,7 +6240,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6079,7 +6249,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6088,7 +6258,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_38;
+            goto op_semantics_39;
             break;
         }
       break;
@@ -6097,7 +6267,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6106,7 +6276,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6115,7 +6285,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6124,7 +6294,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6133,7 +6303,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6142,7 +6312,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6151,7 +6321,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6160,7 +6330,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_39;
+            goto op_semantics_40;
             break;
         }
       break;
@@ -6169,7 +6339,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_40:
+            op_semantics_41:
               {
                 /** 1011 w dsp a src b dst     movu%s  %1, %0 */
 #line 352 "rx-decode.opc"
@@ -6209,7 +6379,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6218,7 +6388,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6227,7 +6397,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6236,7 +6406,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6245,7 +6415,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6254,7 +6424,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6263,7 +6433,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6272,7 +6442,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6281,7 +6451,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6290,7 +6460,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6299,7 +6469,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6308,7 +6478,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6317,7 +6487,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6326,7 +6496,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6335,7 +6505,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_40;
+            goto op_semantics_41;
             break;
         }
       break;
@@ -6344,7 +6514,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_41:
+            op_semantics_42:
               {
                 /** 11sz sd ss rsrc rdst       mov%s   %1, %0 */
 #line 310 "rx-decode.opc"
@@ -6379,13 +6549,13 @@ rx_decode_opcode (unsigned long pc AU,
                   {
                     ID(mov); sBWL(sz); F_____;
                     if ((ss == 3) && (sd != 3))
-                     {
-                       SD(ss, rdst, sz); DD(sd, rsrc, sz);
-                     }
+               {
+                 SD(ss, rdst, sz); DD(sd, rsrc, sz);
+               }
                     else
-                     {
-                       SD(ss, rsrc, sz); DD(sd, rdst, sz);
-                     }
+               {
+                 SD(ss, rsrc, sz); DD(sd, rdst, sz);
+               }
                   }
 
               }
@@ -6397,7 +6567,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6406,7 +6576,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6415,7 +6585,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6424,7 +6594,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6433,7 +6603,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6442,7 +6612,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6451,7 +6621,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6460,7 +6630,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6469,7 +6639,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6478,7 +6648,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6487,7 +6657,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6496,7 +6666,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6505,7 +6675,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6514,7 +6684,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6523,7 +6693,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6532,7 +6702,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6541,7 +6711,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6550,7 +6720,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6559,7 +6729,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6568,7 +6738,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6577,7 +6747,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6586,7 +6756,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6595,7 +6765,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6604,7 +6774,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6613,7 +6783,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6622,7 +6792,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6631,7 +6801,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6640,7 +6810,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6649,7 +6819,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6658,7 +6828,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6667,7 +6837,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6676,7 +6846,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6685,7 +6855,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6694,7 +6864,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6703,7 +6873,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6712,7 +6882,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6721,7 +6891,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6730,7 +6900,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6739,7 +6909,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6748,7 +6918,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6757,7 +6927,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6766,7 +6936,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6775,7 +6945,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6784,7 +6954,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6793,7 +6963,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6802,7 +6972,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6811,7 +6981,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_41;
+            goto op_semantics_42;
             break;
         }
       break;
@@ -6820,14 +6990,14 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x08)
         {
           case 0x00:
-            op_semantics_42:
+            op_semantics_43:
               {
                 /** 1111 00sd rdst 0bit                        bset    #%1, %0%S0 */
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
                 int sd AU = op[0] & 0x03;
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
                 int rdst AU = (op[1] >> 4) & 0x0f;
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
                 int bit AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -6839,20 +7009,20 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bset   #%1, %0%S0");
-#line 897 "rx-decode.opc"
+#line 935 "rx-decode.opc"
                 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
 
               }
             break;
           case 0x08:
-            op_semantics_43:
+            op_semantics_44:
               {
                 /** 1111 00sd rdst 1bit                        bclr    #%1, %0%S0 */
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
                 int sd AU = op[0] & 0x03;
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
                 int rdst AU = (op[1] >> 4) & 0x0f;
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
                 int bit AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -6864,7 +7034,7 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("bclr   #%1, %0%S0");
-#line 909 "rx-decode.opc"
+#line 947 "rx-decode.opc"
                 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
 
               }
@@ -6876,10 +7046,10 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_42;
+            goto op_semantics_43;
             break;
           case 0x08:
-            goto op_semantics_43;
+            goto op_semantics_44;
             break;
         }
       break;
@@ -6888,10 +7058,10 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_42;
+            goto op_semantics_43;
             break;
           case 0x08:
-            goto op_semantics_43;
+            goto op_semantics_44;
             break;
         }
       break;
@@ -6900,10 +7070,10 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x08)
         {
           case 0x00:
-            goto op_semantics_42;
+            goto op_semantics_43;
             break;
           case 0x08:
-            goto op_semantics_43;
+            goto op_semantics_44;
             break;
         }
       break;
@@ -6913,14 +7083,14 @@ rx_decode_opcode (unsigned long pc AU,
         {
           case 0x00:
           case 0x04:
-            op_semantics_44:
+            op_semantics_45:
               {
                 /** 1111 01sd rdst 0bit                        btst    #%2, %1%S1 */
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
                 int sd AU = op[0] & 0x03;
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
                 int rdst AU = (op[1] >> 4) & 0x0f;
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
                 int bit AU = op[1] & 0x07;
                 if (trace)
                   {
@@ -6932,13 +7102,13 @@ rx_decode_opcode (unsigned long pc AU,
                     printf ("  bit = 0x%x\n", bit);
                   }
                 SYNTAX("btst   #%2, %1%S1");
-#line 921 "rx-decode.opc"
+#line 959 "rx-decode.opc"
                 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
 
               }
             break;
           case 0x08:
-            op_semantics_45:
+            op_semantics_46:
               {
                 /** 1111 01ss rsrc 10sz                push%s  %1 */
 #line 377 "rx-decode.opc"
@@ -6974,10 +7144,10 @@ rx_decode_opcode (unsigned long pc AU,
         {
           case 0x00:
           case 0x04:
-            goto op_semantics_44;
+            goto op_semantics_45;
             break;
           case 0x08:
-            goto op_semantics_45;
+            goto op_semantics_46;
             break;
           default: UNSUPPORTED(); break;
         }
@@ -6988,10 +7158,10 @@ rx_decode_opcode (unsigned long pc AU,
         {
           case 0x00:
           case 0x04:
-            goto op_semantics_44;
+            goto op_semantics_45;
             break;
           case 0x08:
-            goto op_semantics_45;
+            goto op_semantics_46;
             break;
           default: UNSUPPORTED(); break;
         }
@@ -7002,10 +7172,10 @@ rx_decode_opcode (unsigned long pc AU,
         {
           case 0x00:
           case 0x04:
-            goto op_semantics_44;
+            goto op_semantics_45;
             break;
           case 0x08:
-            goto op_semantics_45;
+            goto op_semantics_46;
             break;
           default: UNSUPPORTED(); break;
         }
@@ -7015,7 +7185,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            op_semantics_46:
+            op_semantics_47:
               {
                 /** 1111 10sd rdst im sz       mov%s   #%1, %0 */
 #line 288 "rx-decode.opc"
@@ -7062,7 +7232,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_46;
+            goto op_semantics_47;
             break;
         }
       break;
@@ -7071,7 +7241,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_46;
+            goto op_semantics_47;
             break;
         }
       break;
@@ -7080,7 +7250,7 @@ rx_decode_opcode (unsigned long pc AU,
         switch (op[1] & 0x00)
         {
           case 0x00:
-            goto op_semantics_46;
+            goto op_semantics_47;
             break;
         }
       break;
@@ -7208,14 +7378,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_47:
+                  op_semantics_48:
                     {
                       /** 1111 1100 0001 00ss rsrc rdst        max     %1%S1, %0 */
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7227,11 +7397,11 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("max      %1%S1, %0");
-#line 573 "rx-decode.opc"
+#line 583 "rx-decode.opc"
                       if (ss == 3 && rsrc == 0 && rdst == 0)
                         {
                           ID(nop3);
-                          SYNTAX ("nop\t; max\tr0, r0");
+                          SYNTAX("nop\t; max\tr0, r0");
                         }
                       else
                         {
@@ -7247,7 +7417,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_47;
+                  goto op_semantics_48;
                   break;
               }
             break;
@@ -7256,7 +7426,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_47;
+                  goto op_semantics_48;
                   break;
               }
             break;
@@ -7265,7 +7435,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_47;
+                  goto op_semantics_48;
                   break;
               }
             break;
@@ -7274,14 +7444,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_48:
+                  op_semantics_49:
                     {
                       /** 1111 1100 0001 01ss rsrc rdst        min     %1%S1, %0 */
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7293,7 +7463,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("min      %1%S1, %0");
-#line 593 "rx-decode.opc"
+#line 603 "rx-decode.opc"
                       ID(min); SP(ss, rsrc); DR(rdst);
 
                     }
@@ -7305,7 +7475,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_49;
                   break;
               }
             break;
@@ -7314,7 +7484,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_49;
                   break;
               }
             break;
@@ -7323,7 +7493,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_48;
+                  goto op_semantics_49;
                   break;
               }
             break;
@@ -7332,14 +7502,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_49:
+                  op_semantics_50:
                     {
                       /** 1111 1100 0001 10ss rsrc rdst        emul    %1%S1, %0 */
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7351,7 +7521,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("emul     %1%S1, %0");
-#line 623 "rx-decode.opc"
+#line 661 "rx-decode.opc"
                       ID(emul); SP(ss, rsrc); DR(rdst);
 
                     }
@@ -7363,7 +7533,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_50;
                   break;
               }
             break;
@@ -7372,7 +7542,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_50;
                   break;
               }
             break;
@@ -7381,7 +7551,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_49;
+                  goto op_semantics_50;
                   break;
               }
             break;
@@ -7390,14 +7560,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_50:
+                  op_semantics_51:
                     {
                       /** 1111 1100 0001 11ss rsrc rdst        emulu   %1%S1, %0 */
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7409,7 +7579,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("emulu    %1%S1, %0");
-#line 635 "rx-decode.opc"
+#line 673 "rx-decode.opc"
                       ID(emulu); SP(ss, rsrc); DR(rdst);
 
                     }
@@ -7421,7 +7591,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_51;
                   break;
               }
             break;
@@ -7430,7 +7600,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_51;
                   break;
               }
             break;
@@ -7439,7 +7609,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_50;
+                  goto op_semantics_51;
                   break;
               }
             break;
@@ -7448,14 +7618,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_51:
+                  op_semantics_52:
                     {
                       /** 1111 1100 0010 00ss rsrc rdst        div     %1%S1, %0 */
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7467,7 +7637,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("div      %1%S1, %0");
-#line 647 "rx-decode.opc"
+#line 685 "rx-decode.opc"
                       ID(div); SP(ss, rsrc); DR(rdst); F_O___;
 
                     }
@@ -7479,7 +7649,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_52;
                   break;
               }
             break;
@@ -7488,7 +7658,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_52;
                   break;
               }
             break;
@@ -7497,7 +7667,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_51;
+                  goto op_semantics_52;
                   break;
               }
             break;
@@ -7506,14 +7676,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_52:
+                  op_semantics_53:
                     {
                       /** 1111 1100 0010 01ss rsrc rdst        divu    %1%S1, %0 */
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
                       int ss AU = op[1] & 0x03;
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7525,7 +7695,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("divu     %1%S1, %0");
-#line 659 "rx-decode.opc"
+#line 697 "rx-decode.opc"
                       ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
 
                     }
@@ -7537,7 +7707,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_52;
+                  goto op_semantics_53;
                   break;
               }
             break;
@@ -7546,7 +7716,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_52;
+                  goto op_semantics_53;
                   break;
               }
             break;
@@ -7555,7 +7725,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_52;
+                  goto op_semantics_53;
                   break;
               }
             break;
@@ -7564,7 +7734,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_53:
+                  op_semantics_54:
                     {
                       /** 1111 1100 0011 00ss rsrc rdst        tst     %1%S1, %2 */
 #line 470 "rx-decode.opc"
@@ -7595,7 +7765,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_54;
                   break;
               }
             break;
@@ -7604,7 +7774,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_54;
                   break;
               }
             break;
@@ -7613,7 +7783,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_53;
+                  goto op_semantics_54;
                   break;
               }
             break;
@@ -7622,7 +7792,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_54:
+                  op_semantics_55:
                     {
                       /** 1111 1100 0011 01ss rsrc rdst        xor     %1%S1, %0 */
 #line 449 "rx-decode.opc"
@@ -7653,7 +7823,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_55;
                   break;
               }
             break;
@@ -7662,7 +7832,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_55;
                   break;
               }
             break;
@@ -7671,7 +7841,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_54;
+                  goto op_semantics_55;
                   break;
               }
             break;
@@ -7710,7 +7880,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_55:
+                  op_semantics_56:
                     {
                       /** 1111 1100 0100 00ss rsrc rdst        xchg    %1%S1, %0 */
 #line 383 "rx-decode.opc"
@@ -7741,7 +7911,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_55;
+                  goto op_semantics_56;
                   break;
               }
             break;
@@ -7750,7 +7920,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_55;
+                  goto op_semantics_56;
                   break;
               }
             break;
@@ -7759,7 +7929,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_55;
+                  goto op_semantics_56;
                   break;
               }
             break;
@@ -7768,14 +7938,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_56:
+                  op_semantics_57:
                     {
                       /** 1111 1100 0100 01sd rsrc rdst        itof    %1%S1, %0 */
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -7787,7 +7957,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("itof     %1%S1, %0");
-#line 888 "rx-decode.opc"
+#line 926 "rx-decode.opc"
                       ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
 
                     }
@@ -7799,7 +7969,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_57;
                   break;
               }
             break;
@@ -7808,7 +7978,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_57;
                   break;
               }
             break;
@@ -7817,104 +7987,96 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_56;
+                  goto op_semantics_57;
                   break;
               }
             break;
-          case 0x60:
+          case 0x4b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_57:
                     {
-                      /** 1111 1100 0110 00sd rdst rsrc        bset    %1, %0%S0 */
-#line 900 "rx-decode.opc"
-                      int sd AU = op[1] & 0x03;
-#line 900 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 900 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1100 0100 1011 rsrc rdst        stz     %1, %0 */
+#line 1052 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1052 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 00sd rdst rsrc    bset    %1, %0%S0 */",
+                                 "/** 1111 1100 0100 1011 rsrc rdst    stz     %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("bset     %1, %0%S0");
-#line 900 "rx-decode.opc"
-                      ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("stz      %1, %0");
+#line 1052 "rx-decode.opc"
+                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
 
                     }
                   break;
               }
             break;
-          case 0x61:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_57;
-                  break;
-              }
-            break;
-          case 0x62:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_57;
-                  break;
-              }
-            break;
-          case 0x63:
+          case 0x4f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_57;
+                    {
+                      /** 1111 1100 0100 1111 rsrc rdst        stnz    %1, %0 */
+#line 1055 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1055 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0100 1111 rsrc rdst    stnz    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("stnz     %1, %0");
+#line 1055 "rx-decode.opc"
+                      ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
+
+                    }
                   break;
               }
             break;
-          case 0x64:
+          case 0x54:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                   op_semantics_58:
                     {
-                      /** 1111 1100 0110 01sd rdst rsrc        bclr    %1, %0%S0 */
-#line 912 "rx-decode.opc"
+                      /** 1111 1100 0101 01sd rsrc rdst        utof    %1%S1, %0 */
+#line 1112 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 912 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 912 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+#line 1112 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1112 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 01sd rdst rsrc    bclr    %1, %0%S0 */",
+                                 "/** 1111 1100 0101 01sd rsrc rdst    utof    %1%S1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("bclr     %1, %0%S0");
-#line 912 "rx-decode.opc"
-                      ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
-                      if (sd == 3) /* bset reg,reg */
-                        BWL(LSIZE);
+                      SYNTAX("utof     %1%S1, %0");
+#line 1112 "rx-decode.opc"
+                      ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x65:
+          case 0x55:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -7923,7 +8085,7 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x66:
+          case 0x56:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -7932,7 +8094,7 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x67:
+          case 0x57:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -7941,32 +8103,32 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x68:
+          case 0x60:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                   op_semantics_59:
                     {
-                      /** 1111 1100 0110 10sd rdst rsrc        btst    %2, %1%S1 */
-#line 924 "rx-decode.opc"
+                      /** 1111 1100 0110 00sd rdst rsrc        bset    %1, %0%S0 */
+#line 938 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 924 "rx-decode.opc"
+#line 938 "rx-decode.opc"
                       int rdst AU = (op[2] >> 4) & 0x0f;
-#line 924 "rx-decode.opc"
+#line 938 "rx-decode.opc"
                       int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 0110 10sd rdst rsrc    btst    %2, %1%S1 */",
+                                 "/** 1111 1100 0110 00sd rdst rsrc    bset    %1, %0%S0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sd = 0x%x,", sd);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("btst     %2, %1%S1");
-#line 924 "rx-decode.opc"
-                      ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
+                      SYNTAX("bset     %1, %0%S0");
+#line 938 "rx-decode.opc"
+                      ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
                       if (sd == 3) /* bset reg,reg */
                         BWL(LSIZE);
 
@@ -7974,7 +8136,7 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x69:
+          case 0x61:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -7983,7 +8145,7 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x6a:
+          case 0x62:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -7992,7 +8154,7 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x6b:
+          case 0x63:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
@@ -8001,19 +8163,139 @@ rx_decode_opcode (unsigned long pc AU,
                   break;
               }
             break;
-          case 0x6c:
+          case 0x64:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
                   op_semantics_60:
+                    {
+                      /** 1111 1100 0110 01sd rdst rsrc        bclr    %1, %0%S0 */
+#line 950 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 950 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 950 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0110 01sd rdst rsrc    bclr    %1, %0%S0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("bclr     %1, %0%S0");
+#line 950 "rx-decode.opc"
+                      ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
+
+                    }
+                  break;
+              }
+            break;
+          case 0x65:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_60;
+                  break;
+              }
+            break;
+          case 0x66:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_60;
+                  break;
+              }
+            break;
+          case 0x67:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_60;
+                  break;
+              }
+            break;
+          case 0x68:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_61:
+                    {
+                      /** 1111 1100 0110 10sd rdst rsrc        btst    %2, %1%S1 */
+#line 962 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 962 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 962 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 0110 10sd rdst rsrc    btst    %2, %1%S1 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("btst     %2, %1%S1");
+#line 962 "rx-decode.opc"
+                      ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
+                      if (sd == 3) /* bset reg,reg */
+                        BWL(LSIZE);
+
+                    }
+                  break;
+              }
+            break;
+          case 0x69:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
+            break;
+          case 0x6a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
+            break;
+          case 0x6b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_61;
+                  break;
+              }
+            break;
+          case 0x6c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_62:
                     {
                       /** 1111 1100 0110 11sd rdst rsrc        bnot    %1, %0%S0 */
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
                       int rdst AU = (op[2] >> 4) & 0x0f;
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
                       int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8025,7 +8307,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rsrc = 0x%x\n", rsrc);
                         }
                       SYNTAX("bnot     %1, %0%S0");
-#line 936 "rx-decode.opc"
+#line 974 "rx-decode.opc"
                       ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
                       if (sd == 3) /* bset reg,reg */
                         BWL(LSIZE);
@@ -8039,7 +8321,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_62;
                   break;
               }
             break;
@@ -8048,7 +8330,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_62;
                   break;
               }
             break;
@@ -8057,7 +8339,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_60;
+                  goto op_semantics_62;
                   break;
               }
             break;
@@ -8066,14 +8348,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_61:
+                  op_semantics_63:
                     {
                       /** 1111 1100 1000 00sd rsrc rdst        fsub    %1%S1, %0 */
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8085,7 +8367,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fsub     %1%S1, %0");
-#line 867 "rx-decode.opc"
+#line 905 "rx-decode.opc"
                       ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8097,7 +8379,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_61;
+                  goto op_semantics_63;
                   break;
               }
             break;
@@ -8106,7 +8388,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_61;
+                  goto op_semantics_63;
                   break;
               }
             break;
@@ -8115,7 +8397,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_61;
+                  goto op_semantics_63;
                   break;
               }
             break;
@@ -8124,14 +8406,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_62:
+                  op_semantics_64:
                     {
                       /** 1111 1100 1000 01sd rsrc rdst        fcmp    %1%S1, %0 */
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8143,7 +8425,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fcmp     %1%S1, %0");
-#line 861 "rx-decode.opc"
+#line 899 "rx-decode.opc"
                       ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
 
                     }
@@ -8155,7 +8437,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_64;
                   break;
               }
             break;
@@ -8164,7 +8446,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_64;
                   break;
               }
             break;
@@ -8173,7 +8455,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_62;
+                  goto op_semantics_64;
                   break;
               }
             break;
@@ -8182,14 +8464,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_63:
+                  op_semantics_65:
                     {
                       /** 1111 1100 1000 10sd rsrc rdst        fadd    %1%S1, %0 */
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8201,7 +8483,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fadd     %1%S1, %0");
-#line 855 "rx-decode.opc"
+#line 893 "rx-decode.opc"
                       ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8213,7 +8495,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_65;
                   break;
               }
             break;
@@ -8222,7 +8504,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_65;
                   break;
               }
             break;
@@ -8231,7 +8513,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_63;
+                  goto op_semantics_65;
                   break;
               }
             break;
@@ -8240,14 +8522,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_64:
+                  op_semantics_66:
                     {
                       /** 1111 1100 1000 11sd rsrc rdst        fmul    %1%S1, %0 */
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8259,7 +8541,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fmul     %1%S1, %0");
-#line 876 "rx-decode.opc"
+#line 914 "rx-decode.opc"
                       ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8271,7 +8553,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_66;
                   break;
               }
             break;
@@ -8280,7 +8562,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_66;
                   break;
               }
             break;
@@ -8289,7 +8571,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_64;
+                  goto op_semantics_66;
                   break;
               }
             break;
@@ -8298,14 +8580,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_65:
+                  op_semantics_67:
                     {
                       /** 1111 1100 1001 00sd rsrc rdst        fdiv    %1%S1, %0 */
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8317,7 +8599,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fdiv     %1%S1, %0");
-#line 882 "rx-decode.opc"
+#line 920 "rx-decode.opc"
                       ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8329,7 +8611,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_65;
+                  goto op_semantics_67;
                   break;
               }
             break;
@@ -8338,7 +8620,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_65;
+                  goto op_semantics_67;
                   break;
               }
             break;
@@ -8347,7 +8629,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_65;
+                  goto op_semantics_67;
                   break;
               }
             break;
@@ -8356,14 +8638,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_66:
+                  op_semantics_68:
                     {
                       /** 1111 1100 1001 01sd rsrc rdst        ftoi    %1%S1, %0 */
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8375,7 +8657,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("ftoi     %1%S1, %0");
-#line 870 "rx-decode.opc"
+#line 908 "rx-decode.opc"
                       ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8387,7 +8669,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_66;
+                  goto op_semantics_68;
                   break;
               }
             break;
@@ -8396,7 +8678,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_66;
+                  goto op_semantics_68;
                   break;
               }
             break;
@@ -8405,7 +8687,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_66;
+                  goto op_semantics_68;
                   break;
               }
             break;
@@ -8414,14 +8696,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_67:
+                  op_semantics_69:
                     {
                       /** 1111 1100 1001 10sd rsrc rdst        round   %1%S1, %0 */
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8433,7 +8715,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("round    %1%S1, %0");
-#line 885 "rx-decode.opc"
+#line 923 "rx-decode.opc"
                       ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
@@ -8445,7 +8727,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                  goto op_semantics_69;
                   break;
               }
             break;
@@ -8454,7 +8736,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                  goto op_semantics_69;
                   break;
               }
             break;
@@ -8463,131 +8745,250 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_67;
+                  goto op_semantics_69;
                   break;
               }
             break;
-          case 0xd0:
+          case 0xa0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_68:
+                  op_semantics_70:
                     {
-                      /** 1111 1100 1101 sz sd rdst cond       sc%1%s  %0 */
-#line 1002 "rx-decode.opc"
-                      int sz AU = (op[1] >> 2) & 0x03;
-#line 1002 "rx-decode.opc"
+                      /** 1111 1100 1010 00sd rsrc rdst        fsqrt   %1%S1, %0 */
+#line 1106 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 1002 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 1002 "rx-decode.opc"
-                      int cond AU = op[2] & 0x0f;
+#line 1106 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1106 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1100 1101 sz sd rdst cond   sc%1%s  %0 */",
+                                 "/** 1111 1100 1010 00sd rsrc rdst    fsqrt   %1%S1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  sz = 0x%x,", sz);
                           printf ("  sd = 0x%x,", sd);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  cond = 0x%x\n", cond);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("sc%1%s   %0");
-#line 1002 "rx-decode.opc"
-                      ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
+                      SYNTAX("fsqrt    %1%S1, %0");
+#line 1106 "rx-decode.opc"
+                      ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0xd1:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_68;
-                  break;
-              }
-            break;
-          case 0xd2:
+          case 0xa1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_70;
                   break;
               }
             break;
-          case 0xd3:
+          case 0xa2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_70;
                   break;
               }
             break;
-          case 0xd4:
+          case 0xa3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_70;
                   break;
               }
             break;
-          case 0xd5:
+          case 0xa4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  op_semantics_71:
+                    {
+                      /** 1111 1100 1010 01sd rsrc rdst        ftou    %1%S1, %0 */
+#line 1109 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 1109 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1109 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 1010 01sd rsrc rdst    ftou    %1%S1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("ftou     %1%S1, %0");
+#line 1109 "rx-decode.opc"
+                      ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
+
+                    }
                   break;
               }
             break;
-          case 0xd6:
+          case 0xa5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_71;
                   break;
               }
             break;
-          case 0xd7:
+          case 0xa6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_71;
                   break;
               }
             break;
-          case 0xd8:
+          case 0xa7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_71;
                   break;
               }
             break;
-          case 0xd9:
+          case 0xd0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
-                  break;
-              }
-            break;
-          case 0xda:
-              GETBYTE ();
+                  op_semantics_72:
+                    {
+                      /** 1111 1100 1101 sz sd rdst cond       sc%1%s  %0 */
+#line 1040 "rx-decode.opc"
+                      int sz AU = (op[1] >> 2) & 0x03;
+#line 1040 "rx-decode.opc"
+                      int sd AU = op[1] & 0x03;
+#line 1040 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1040 "rx-decode.opc"
+                      int cond AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1100 1101 sz sd rdst cond   sc%1%s  %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  sd = 0x%x,", sd);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  cond = 0x%x\n", cond);
+                        }
+                      SYNTAX("sc%1%s   %0");
+#line 1040 "rx-decode.opc"
+                      ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
+
+                    /*----------------------------------------------------------------------*/
+                    /* RXv2 enhanced                                                           */
+
+                    }
+                  break;
+              }
+            break;
+          case 0xd1:
+              GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd2:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd3:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd4:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd5:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd6:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd7:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd8:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xd9:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
+                  break;
+              }
+            break;
+          case 0xda:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_72;
                   break;
               }
             break;
@@ -8596,7 +8997,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_68;
+                  goto op_semantics_72;
                   break;
               }
             break;
@@ -8619,16 +9020,16 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  op_semantics_69:
+                  op_semantics_73:
                     {
                       /** 1111 1100 111bit sd rdst cond        bm%2    #%1, %0%S0 */
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
                       int bit AU = (op[1] >> 2) & 0x07;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
                       int rdst AU = (op[2] >> 4) & 0x0f;
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
                       int cond AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -8641,20 +9042,20 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  cond = 0x%x\n", cond);
                         }
                       SYNTAX("bm%2     #%1, %0%S0");
-#line 945 "rx-decode.opc"
+#line 983 "rx-decode.opc"
                       ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
 
                     }
                   break;
                 case 0x0f:
-                  op_semantics_70:
+                  op_semantics_74:
                     {
                       /** 1111 1100 111bit sd rdst 1111        bnot    #%1, %0%S0 */
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
                       int bit AU = (op[1] >> 2) & 0x07;
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
                       int sd AU = op[1] & 0x03;
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
                       int rdst AU = (op[2] >> 4) & 0x0f;
                       if (trace)
                         {
@@ -8666,7 +9067,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("bnot     #%1, %0%S0");
-#line 933 "rx-decode.opc"
+#line 971 "rx-decode.opc"
                       ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
 
                     }
@@ -8692,10 +9093,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8718,10 +9119,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8744,10 +9145,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8770,10 +9171,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8796,10 +9197,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8822,10 +9223,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8848,10 +9249,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8874,10 +9275,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8900,10 +9301,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8926,10 +9327,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8952,10 +9353,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -8978,10 +9379,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9004,10 +9405,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9030,10 +9431,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9056,10 +9457,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9082,10 +9483,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9108,10 +9509,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9134,10 +9535,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9160,10 +9561,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9186,10 +9587,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9212,10 +9613,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9238,10 +9639,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9264,10 +9665,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9290,10 +9691,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9316,10 +9717,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9342,10 +9743,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9368,10 +9769,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9394,10 +9795,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9420,10 +9821,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9446,10 +9847,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9472,10 +9873,10 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x0c:
                 case 0x0d:
                 case 0x0e:
-                  goto op_semantics_69;
+                  goto op_semantics_73;
                   break;
                 case 0x0f:
-                  goto op_semantics_70;
+                  goto op_semantics_74;
                   break;
               }
             break;
@@ -9491,23 +9892,27 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_75:
                     {
-                      /** 1111 1101 0000 0000 srca srcb        mulhi   %1, %2 */
-#line 810 "rx-decode.opc"
+                      /** 1111 1101 0000 a000 srca srcb        mulhi   %1, %2, %0 */
+#line 848 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 848 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 810 "rx-decode.opc"
+#line 848 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 0000 srca srcb    mulhi   %1, %2 */",
+                                 "/** 1111 1101 0000 a000 srca srcb    mulhi   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mulhi    %1, %2");
-#line 810 "rx-decode.opc"
-                      ID(mulhi); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("mulhi    %1, %2, %0");
+#line 848 "rx-decode.opc"
+                      ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
@@ -9518,1145 +9923,1743 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_76:
                     {
-                      /** 1111 1101 0000 0001 srca srcb        mullo   %1, %2 */
-#line 813 "rx-decode.opc"
+                      /** 1111 1101 0000 a001 srca srcb        mullo   %1, %2, %0 */
+#line 851 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 851 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 813 "rx-decode.opc"
+#line 851 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 0001 srca srcb    mullo   %1, %2 */",
+                                 "/** 1111 1101 0000 a001 srca srcb    mullo   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mullo    %1, %2");
-#line 813 "rx-decode.opc"
-                      ID(mullo); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("mullo    %1, %2, %0");
+#line 851 "rx-decode.opc"
+                      ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x04:
+          case 0x02:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_77:
                     {
-                      /** 1111 1101 0000 0100 srca srcb        machi   %1, %2 */
-#line 816 "rx-decode.opc"
+                      /** 1111 1101 0000 a010 srca srcb        mullh   %1, %2, %0 */
+#line 1079 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1079 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 816 "rx-decode.opc"
+#line 1079 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 0100 srca srcb    machi   %1, %2 */",
+                                 "/** 1111 1101 0000 a010 srca srcb    mullh   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("machi    %1, %2");
-#line 816 "rx-decode.opc"
-                      ID(machi); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("mullh    %1, %2, %0");
+#line 1079 "rx-decode.opc"
+                      ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x05:
+          case 0x03:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_78:
                     {
-                      /** 1111 1101 0000 0101 srca srcb        maclo   %1, %2 */
-#line 819 "rx-decode.opc"
+                      /** 1111 1101 0000 a011 srca srcb        emula   %1, %2, %0 */
+#line 1064 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1064 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 819 "rx-decode.opc"
+#line 1064 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0000 0101 srca srcb    maclo   %1, %2 */",
+                                 "/** 1111 1101 0000 a011 srca srcb    emula   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("maclo    %1, %2");
-#line 819 "rx-decode.opc"
-                      ID(maclo); SR(srca); S2R(srcb); F_____;
+                      SYNTAX("emula    %1, %2, %0");
+#line 1064 "rx-decode.opc"
+                      ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x17:
+          case 0x04:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_79:
                     {
-                      /** 1111 1101 0001 0111 0000 rsrc        mvtachi %1 */
-#line 822 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 0111 0000 rsrc    mvtachi %1 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x\n", rsrc);
-                        }
-                      SYNTAX("mvtachi  %1");
-#line 822 "rx-decode.opc"
-                      ID(mvtachi); SR(rsrc); F_____;
-
-                    }
-                  break;
-                case 0x10:
-                    {
-                      /** 1111 1101 0001 0111 0001 rsrc        mvtaclo %1 */
-#line 825 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1101 0000 a100 srca srcb        machi   %1, %2, %0 */
+#line 854 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 854 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 854 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 0111 0001 rsrc    mvtaclo %1 */",
+                                 "/** 1111 1101 0000 a100 srca srcb    machi   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mvtaclo  %1");
-#line 825 "rx-decode.opc"
-                      ID(mvtaclo); SR(rsrc); F_____;
+                      SYNTAX("machi    %1, %2, %0");
+#line 854 "rx-decode.opc"
+                      ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x18:
+          case 0x05:
               GETBYTE ();
-              switch (op[2] & 0xef)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_80:
                     {
-                      /** 1111 1101 0001 1000 000i 0000        racw    #%1 */
-#line 837 "rx-decode.opc"
-                      int i AU = (op[2] >> 4) & 0x01;
+                      /** 1111 1101 0000 a101 srca srcb        maclo   %1, %2, %0 */
+#line 857 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 857 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 857 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1000 000i 0000    racw    #%1 */",
+                                 "/** 1111 1101 0000 a101 srca srcb    maclo   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x\n", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("racw     #%1");
-#line 837 "rx-decode.opc"
-                      ID(racw); SC(i+1); F_____;
-
-                    /*----------------------------------------------------------------------*/
-                    /* SAT                                                                     */
+                      SYNTAX("maclo    %1, %2, %0");
+#line 857 "rx-decode.opc"
+                      ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x1f:
+          case 0x06:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
+                  op_semantics_81:
                     {
-                      /** 1111 1101 0001 1111 0000 rdst        mvfachi %0 */
-#line 828 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1111 0000 rdst    mvfachi %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mvfachi  %0");
-#line 828 "rx-decode.opc"
-                      ID(mvfachi); DR(rdst); F_____;
-
-                    }
-                  break;
-                case 0x10:
-                    {
-                      /** 1111 1101 0001 1111 0001 rdst        mvfaclo %0 */
-#line 834 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1111 0001 rdst    mvfaclo %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mvfaclo  %0");
-#line 834 "rx-decode.opc"
-                      ID(mvfaclo); DR(rdst); F_____;
-
-                    }
-                  break;
-                case 0x20:
-                    {
-                      /** 1111 1101 0001 1111 0010 rdst        mvfacmi %0 */
-#line 831 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0000 a110 srca srcb        maclh   %1, %2, %0 */
+#line 1067 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1067 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1067 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0001 1111 0010 rdst    mvfacmi %0 */",
+                                 "/** 1111 1101 0000 a110 srca srcb    maclh   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mvfacmi  %0");
-#line 831 "rx-decode.opc"
-                      ID(mvfacmi); DR(rdst); F_____;
+                      SYNTAX("maclh    %1, %2, %0");
+#line 1067 "rx-decode.opc"
+                      ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x20:
+          case 0x07:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_71:
+                  op_semantics_82:
                     {
-                      /** 1111 1101 0010 0p sz rdst rsrc       mov%s   %1, %0 */
-#line 344 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 344 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 344 "rx-decode.opc"
-                      int rdst AU = (op[2] >> 4) & 0x0f;
-#line 344 "rx-decode.opc"
-                      int rsrc AU = op[2] & 0x0f;
+                      /** 1111 1101 0000 a111 srca srcb        emaca   %1, %2, %0 */
+#line 1058 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1058 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1058 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 0p sz rdst rsrc   mov%s   %1, %0 */",
+                                 "/** 1111 1101 0000 a111 srca srcb    emaca   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rdst = 0x%x,", rdst);
-                          printf ("  rsrc = 0x%x\n", rsrc);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mov%s    %1, %0");
-#line 344 "rx-decode.opc"
-                      ID(mov); sBWL (sz); SR(rsrc); F_____;
-                      OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
+                      SYNTAX("emaca    %1, %2, %0");
+#line 1058 "rx-decode.opc"
+                      ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x21:
+          case 0x08:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                  goto op_semantics_75;
                   break;
               }
             break;
-          case 0x22:
+          case 0x09:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                  goto op_semantics_76;
                   break;
               }
             break;
-          case 0x24:
+          case 0x0a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                  goto op_semantics_77;
                   break;
               }
             break;
-          case 0x25:
+          case 0x0b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                  goto op_semantics_78;
                   break;
               }
             break;
-          case 0x26:
+          case 0x0c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_71;
+                  goto op_semantics_79;
                   break;
               }
             break;
-          case 0x28:
+          case 0x0d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_72:
-                    {
-                      /** 1111 1101 0010 1p sz rsrc rdst       mov%s   %1, %0 */
-#line 348 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 348 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 348 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 348 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0010 1p sz rsrc rdst   mov%s   %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mov%s    %1, %0");
-#line 348 "rx-decode.opc"
-                      ID(mov); sBWL (sz); DR(rdst); F_____;
-                      OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
-
-                    }
+                  goto op_semantics_80;
                   break;
               }
             break;
-          case 0x29:
+          case 0x0e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  goto op_semantics_81;
                   break;
               }
             break;
-          case 0x2a:
+          case 0x0f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                  goto op_semantics_82;
                   break;
               }
             break;
-          case 0x2c:
+          case 0x17:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x70)
               {
                 case 0x00:
-                  goto op_semantics_72;
+                    {
+                      /** 1111 1101 0001 0111 a000 rsrc        mvtachi %1, %0 */
+#line 860 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 860 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a000 rsrc    mvtachi %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("mvtachi  %1, %0");
+#line 860 "rx-decode.opc"
+                      ID(mvtachi); DR(a+32); SR(rsrc); F_____;
+
+                    }
                   break;
-              }
-            break;
-          case 0x2d:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_72;
+                case 0x10:
+                    {
+                      /** 1111 1101 0001 0111 a001 rsrc        mvtaclo %1, %0 */
+#line 863 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 863 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a001 rsrc    mvtaclo %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("mvtaclo  %1, %0");
+#line 863 "rx-decode.opc"
+                      ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
+
+                    }
                   break;
-              }
-            break;
-          case 0x2e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_72;
+                case 0x30:
+                    {
+                      /** 1111 1101 0001 0111 a011 rdst        mvtacgu %0, %1 */
+#line 1085 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1085 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 0111 a011 rdst    mvtacgu %0, %1 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvtacgu  %0, %1");
+#line 1085 "rx-decode.opc"
+                      ID(mvtacgu); SR(a+32); DR(rdst); F_____;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x38:
+          case 0x18:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x6f)
               {
                 case 0x00:
-                  op_semantics_73:
                     {
-                      /** 1111 1101 0011 1p sz rsrc rdst       movu%s  %1, %0 */
-#line 358 "rx-decode.opc"
-                      int p AU = (op[1] >> 2) & 0x01;
-#line 358 "rx-decode.opc"
-                      int sz AU = op[1] & 0x03;
-#line 358 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 358 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0001 1000 a00i 0000        racw    #%1, %0 */
+#line 875 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 875 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0011 1p sz rsrc rdst   movu%s  %1, %0 */",
+                                 "/** 1111 1101 0001 1000 a00i 0000    racw    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  p = 0x%x,", p);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
                         }
-                      SYNTAX("movu%s   %1, %0");
-#line 358 "rx-decode.opc"
-                      ID(mov); uBW (sz); DR(rdst); F_____;
-                       OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+                      SYNTAX("racw     #%1, %0");
+#line 875 "rx-decode.opc"
+                      ID(racw); SC(i+1); DR(a+32); F_____;
 
                     /*----------------------------------------------------------------------*/
-                    /* PUSH/POP                                                                */
+                    /* SAT                                                                     */
 
                     }
                   break;
-              }
-            break;
-          case 0x39:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_73;
+                case 0x40:
+                    {
+                      /** 1111 1101 0001 1000 a10i 0000        rdacw   #%1, %0 */
+#line 1094 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1094 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0001 1000 a10i 0000    rdacw   #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
+                        }
+                      SYNTAX("rdacw    #%1, %0");
+#line 1094 "rx-decode.opc"
+                      ID(rdacw); SC(i+1); DR(a+32); F_____;
+
+                    }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x3a:
+          case 0x19:
               GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_73;
-                  break;
-              }
-            break;
-          case 0x3c:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_73;
-                  break;
-              }
-            break;
-          case 0x3d:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_73;
-                  break;
-              }
-            break;
-          case 0x3e:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
-                  goto op_semantics_73;
-                  break;
-              }
-            break;
-          case 0x60:
-              GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x6f)
               {
                 case 0x00:
                     {
-                      /** 1111 1101 0110 0000 rsrc rdst        shlr    %2, %0 */
-#line 691 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 691 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0001 1001 a00i 0000        racl    #%1, %0 */
+#line 1088 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1088 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0000 rsrc rdst    shlr    %2, %0 */",
+                                 "/** 1111 1101 0001 1001 a00i 0000    racl    #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
                         }
-                      SYNTAX("shlr     %2, %0");
-#line 691 "rx-decode.opc"
-                      ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
+                      SYNTAX("racl     #%1, %0");
+#line 1088 "rx-decode.opc"
+                      ID(racl); SC(i+1); DR(a+32); F_____;
 
                     }
                   break;
-              }
-            break;
-          case 0x61:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0x40:
                     {
-                      /** 1111 1101 0110 0001 rsrc rdst        shar    %2, %0 */
-#line 681 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 681 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0001 1001 a10i 0000        rdacl   #%1, %0 */
+#line 1091 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1091 "rx-decode.opc"
+                      int i AU = (op[2] >> 4) & 0x01;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0001 rsrc rdst    shar    %2, %0 */",
+                                 "/** 1111 1101 0001 1001 a10i 0000    rdacl   #%1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  i = 0x%x\n", i);
                         }
-                      SYNTAX("shar     %2, %0");
-#line 681 "rx-decode.opc"
-                      ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
+                      SYNTAX("rdacl    #%1, %0");
+#line 1091 "rx-decode.opc"
+                      ID(rdacl); SC(i+1); DR(a+32); F_____;
 
                     }
                   break;
+                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x62:
+          case 0x1e:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x30)
               {
                 case 0x00:
+                  op_semantics_83:
                     {
-                      /** 1111 1101 0110 0010 rsrc rdst        shll    %2, %0 */
-#line 671 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 671 "rx-decode.opc"
+                      /** 1111 1101 0001 111i a m00 rdst       mvfachi #%2, %1, %0 */
+#line 866 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 866 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 866 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 866 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0010 rsrc rdst    shll    %2, %0 */",
+                                 "/** 1111 1101 0001 111i a m00 rdst   mvfachi #%2, %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("shll     %2, %0");
-#line 671 "rx-decode.opc"
-                      ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
+                      SYNTAX("mvfachi  #%2, %1, %0");
+#line 866 "rx-decode.opc"
+                      ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
 
                     }
                   break;
-              }
-            break;
-          case 0x64:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0x10:
+                  op_semantics_84:
                     {
-                      /** 1111 1101 0110 0100 rsrc rdst        rotr    %1, %0 */
-#line 715 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 715 "rx-decode.opc"
+                      /** 1111 1101 0001 111i a m01 rdst       mvfaclo #%2, %1, %0 */
+#line 872 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 872 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 872 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 872 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0100 rsrc rdst    rotr    %1, %0 */",
+                                 "/** 1111 1101 0001 111i a m01 rdst   mvfaclo #%2, %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("rotr     %1, %0");
-#line 715 "rx-decode.opc"
-                      ID(rotr); SR(rsrc); DR(rdst); F__SZC;
+                      SYNTAX("mvfaclo  #%2, %1, %0");
+#line 872 "rx-decode.opc"
+                      ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
 
                     }
                   break;
-              }
-            break;
-          case 0x65:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0x20:
+                  op_semantics_85:
                     {
-                      /** 1111 1101 0110 0101 rsrc rdst        revw    %1, %0 */
-#line 718 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 718 "rx-decode.opc"
+                      /** 1111 1101 0001 111i a m10 rdst       mvfacmi #%2, %1, %0 */
+#line 869 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 869 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 869 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 869 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0101 rsrc rdst    revw    %1, %0 */",
+                                 "/** 1111 1101 0001 111i a m10 rdst   mvfacmi #%2, %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("revw     %1, %0");
-#line 718 "rx-decode.opc"
-                      ID(revw); SR(rsrc); DR(rdst);
+                      SYNTAX("mvfacmi  #%2, %1, %0");
+#line 869 "rx-decode.opc"
+                      ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
 
                     }
                   break;
-              }
-            break;
-          case 0x66:
-              GETBYTE ();
-              switch (op[2] & 0x00)
-              {
-                case 0x00:
+                case 0x30:
+                  op_semantics_86:
                     {
-                      /** 1111 1101 0110 0110 rsrc rdst        rotl    %1, %0 */
-#line 709 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 709 "rx-decode.opc"
+                      /** 1111 1101 0001 111i a m11 rdst       mvfacgu #%2, %1, %0 */
+#line 1082 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 1082 "rx-decode.opc"
+                      int a AU = (op[2] >> 7) & 0x01;
+#line 1082 "rx-decode.opc"
+                      int m AU = (op[2] >> 6) & 0x01;
+#line 1082 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0110 rsrc rdst    rotl    %1, %0 */",
+                                 "/** 1111 1101 0001 111i a m11 rdst   mvfacgu #%2, %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  m = 0x%x,", m);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("rotl     %1, %0");
-#line 709 "rx-decode.opc"
-                      ID(rotl); SR(rsrc); DR(rdst); F__SZC;
+                      SYNTAX("mvfacgu  #%2, %1, %0");
+#line 1082 "rx-decode.opc"
+                      ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x67:
+          case 0x1f:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0x30)
               {
                 case 0x00:
-                    {
-                      /** 1111 1101 0110 0111 rsrc rdst        revl    %1, %0 */
-#line 721 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 721 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 0111 rsrc rdst    revl    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("revl     %1, %0");
-#line 721 "rx-decode.opc"
-                      ID(revl); SR(rsrc); DR(rdst);
-
-                    /*----------------------------------------------------------------------*/
-                    /* BRANCH                                                          */
-
-                    }
+                  goto op_semantics_83;
+                  break;
+                case 0x10:
+                  goto op_semantics_84;
+                  break;
+                case 0x20:
+                  goto op_semantics_85;
+                  break;
+                case 0x30:
+                  goto op_semantics_86;
                   break;
               }
             break;
-          case 0x68:
+          case 0x20:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_74:
+                  op_semantics_87:
                     {
-                      /** 1111 1101 0110 100c rsrc rdst        mvtc    %1, %0 */
-#line 972 "rx-decode.opc"
-                      int c AU = op[1] & 0x01;
-#line 972 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 972 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0010 0p sz rdst rsrc       mov%s   %1, %0 */
+#line 344 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 344 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 344 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 344 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 100c rsrc rdst    mvtc    %1, %0 */",
+                                 "/** 1111 1101 0010 0p sz rdst rsrc   mov%s   %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  c = 0x%x,", c);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
                         }
-                      SYNTAX("mvtc     %1, %0");
-#line 972 "rx-decode.opc"
-                      ID(mov); SR(rsrc); DR(c*16+rdst + 16);
+                      SYNTAX("mov%s    %1, %0");
+#line 344 "rx-decode.opc"
+                      ID(mov); sBWL (sz); SR(rsrc); F_____;
+                      OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
 
                     }
                   break;
               }
             break;
-          case 0x69:
+          case 0x21:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_74;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6a:
+          case 0x22:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_75:
-                    {
-                      /** 1111 1101 0110 101s rsrc rdst        mvfc    %1, %0 */
-#line 975 "rx-decode.opc"
-                      int s AU = op[1] & 0x01;
-#line 975 "rx-decode.opc"
-                      int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 975 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 101s rsrc rdst    mvfc    %1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  s = 0x%x,", s);
-                          printf ("  rsrc = 0x%x,", rsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("mvfc     %1, %0");
-#line 975 "rx-decode.opc"
-                      ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
-
-                    /*----------------------------------------------------------------------*/
-                    /* INTERRUPTS                                                              */
-
-                    }
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6b:
+          case 0x24:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_75;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6c:
+          case 0x25:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_76:
-                    {
-                      /** 1111 1101 0110 110i mmmm rdst        rotr    #%1, %0 */
-#line 712 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 712 "rx-decode.opc"
-                      int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 712 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 110i mmmm rdst    rotr    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  mmmm = 0x%x,", mmmm);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("rotr     #%1, %0");
-#line 712 "rx-decode.opc"
-                      ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
-
-                    }
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6d:
+          case 0x26:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_76;
+                  goto op_semantics_87;
                   break;
               }
             break;
-          case 0x6e:
+          case 0x27:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_77:
                     {
-                      /** 1111 1101 0110 111i mmmm rdst        rotl    #%1, %0 */
-#line 706 "rx-decode.opc"
-                      int i AU = op[1] & 0x01;
-#line 706 "rx-decode.opc"
-                      int mmmm AU = (op[2] >> 4) & 0x0f;
-#line 706 "rx-decode.opc"
+                      /** 1111 1101 0010 0111 rdst rsrc        movco   %1, [%0] */
+#line 1046 "rx-decode.opc"
+                      int rdst AU = (op[2] >> 4) & 0x0f;
+#line 1046 "rx-decode.opc"
+                      int rsrc AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0010 0111 rdst rsrc    movco   %1, [%0] */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  rsrc = 0x%x\n", rsrc);
+                        }
+                      SYNTAX("movco    %1, [%0]");
+#line 1046 "rx-decode.opc"
+                       ID(mov); SR(rsrc); DR(rdst); F_____;
+
+                    }
+                  break;
+              }
+            break;
+          case 0x28:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_88:
+                    {
+                      /** 1111 1101 0010 1p sz rsrc rdst       mov%s   %1, %0 */
+#line 348 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 348 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 348 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 348 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0110 111i mmmm rdst    rotl    #%1, %0 */",
+                                 "/** 1111 1101 0010 1p sz rsrc rdst   mov%s   %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  i = 0x%x,", i);
-                          printf ("  mmmm = 0x%x,", mmmm);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("rotl     #%1, %0");
-#line 706 "rx-decode.opc"
-                      ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
+                      SYNTAX("mov%s    %1, %0");
+#line 348 "rx-decode.opc"
+                      ID(mov); sBWL (sz); DR(rdst); F_____;
+                      OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
 
                     }
                   break;
               }
             break;
-          case 0x6f:
+          case 0x29:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_77;
+                  goto op_semantics_88;
                   break;
               }
             break;
-          case 0x70:
+          case 0x2a:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
-                case 0x20:
-                  op_semantics_78:
+                case 0x00:
+                  goto op_semantics_88;
+                  break;
+              }
+            break;
+          case 0x2c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_88;
+                  break;
+              }
+            break;
+          case 0x2d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_88;
+                  break;
+              }
+            break;
+          case 0x2e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_88;
+                  break;
+              }
+            break;
+          case 0x2f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 0010rdst adc     #%1, %0 */
-#line 488 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 488 "rx-decode.opc"
+                      /** 1111 1101 0010 1111 rsrc rdst        movli   [%1], %0 */
+#line 1049 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1049 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0010rdst     adc     #%1, %0 */",
+                                 "/** 1111 1101 0010 1111 rsrc rdst    movli   [%1], %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("adc      #%1, %0");
-#line 488 "rx-decode.opc"
-                      ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
+                      SYNTAX("movli    [%1], %0");
+#line 1049 "rx-decode.opc"
+                       ID(mov); SR(rsrc); DR(rdst); F_____;
 
                     }
                   break;
-                case 0x40:
-                  op_semantics_79:
+              }
+            break;
+          case 0x38:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_89:
                     {
-                      /** 1111 1101 0111 im00 0100rdst max     #%1, %0 */
-#line 570 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 570 "rx-decode.opc"
+                      /** 1111 1101 0011 1p sz rsrc rdst       movu%s  %1, %0 */
+#line 358 "rx-decode.opc"
+                      int p AU = (op[1] >> 2) & 0x01;
+#line 358 "rx-decode.opc"
+                      int sz AU = op[1] & 0x03;
+#line 358 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 358 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
-                     int val = IMMex (im);
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0100rdst     max     #%1, %0 */",
+                                 "/** 1111 1101 0011 1p sz rsrc rdst   movu%s  %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  p = 0x%x,", p);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("max      #%1, %0");
-#line 570 "rx-decode.opc"
-                     if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
-                       {
-                         ID(nop7);
-                         SYNTAX ("nop\t; max\t#0x80000000, r0");
-                       }
-                     else
-                       {
-                         ID(max); 
-                       }
-                     DR(rdst); SC(val);
+                      SYNTAX("movu%s   %1, %0");
+#line 358 "rx-decode.opc"
+                      ID(mov); uBW (sz); DR(rdst); F_____;
+                       OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
+
+                    /*----------------------------------------------------------------------*/
+                    /* PUSH/POP                                                                */
+
                     }
                   break;
-                case 0x50:
-                  op_semantics_80:
+              }
+            break;
+          case 0x39:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_89;
+                  break;
+              }
+            break;
+          case 0x3a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_89;
+                  break;
+              }
+            break;
+          case 0x3c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_89;
+                  break;
+              }
+            break;
+          case 0x3d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_89;
+                  break;
+              }
+            break;
+          case 0x3e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_89;
+                  break;
+              }
+            break;
+          case 0x44:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_90:
                     {
-                      /** 1111 1101 0111 im00 0101rdst min     #%1, %0 */
-#line 590 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 590 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0100 a100 srca srcb        msbhi   %1, %2, %0 */
+#line 1070 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1070 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1070 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0101rdst     min     #%1, %0 */",
+                                 "/** 1111 1101 0100 a100 srca srcb    msbhi   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("min      #%1, %0");
-#line 590 "rx-decode.opc"
-                      ID(min); DR(rdst); SC(IMMex(im));
+                      SYNTAX("msbhi    %1, %2, %0");
+#line 1070 "rx-decode.opc"
+                      ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                case 0x60:
-                  op_semantics_81:
+              }
+            break;
+          case 0x45:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_91:
                     {
-                      /** 1111 1101 0111 im00 0110rdst emul    #%1, %0 */
-#line 620 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 620 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0100 a101 srca srcb        msblo   %1, %2, %0 */
+#line 1076 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1076 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1076 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0110rdst     emul    #%1, %0 */",
+                                 "/** 1111 1101 0100 a101 srca srcb    msblo   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("emul     #%1, %0");
-#line 620 "rx-decode.opc"
-                      ID(emul); DR(rdst); SC(IMMex(im));
+                      SYNTAX("msblo    %1, %2, %0");
+#line 1076 "rx-decode.opc"
+                      ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                case 0x70:
-                  op_semantics_82:
+              }
+            break;
+          case 0x46:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_92:
                     {
-                      /** 1111 1101 0111 im00 0111rdst emulu   #%1, %0 */
-#line 632 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 632 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0100 a110 srca srcb        msblh   %1, %2, %0 */
+#line 1073 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1073 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1073 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 0111rdst     emulu   #%1, %0 */",
+                                 "/** 1111 1101 0100 a110 srca srcb    msblh   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("emulu    #%1, %0");
-#line 632 "rx-decode.opc"
-                      ID(emulu); DR(rdst); SC(IMMex(im));
+                      SYNTAX("msblh    %1, %2, %0");
+#line 1073 "rx-decode.opc"
+                      ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                case 0x80:
-                  op_semantics_83:
+              }
+            break;
+          case 0x47:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_93:
                     {
-                      /** 1111 1101 0111 im00 1000rdst div     #%1, %0 */
-#line 644 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 644 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1101 0100 a111 srca srcb        emsba   %1, %2, %0 */
+#line 1061 "rx-decode.opc"
+                      int a AU = (op[1] >> 3) & 0x01;
+#line 1061 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 1061 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1000rdst     div     #%1, %0 */",
+                                 "/** 1111 1101 0100 a111 srca srcb    emsba   %1, %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
-                          printf ("  rdst = 0x%x\n", rdst);
+                          printf ("  a = 0x%x,", a);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("div      #%1, %0");
-#line 644 "rx-decode.opc"
-                      ID(div); DR(rdst); SC(IMMex(im)); F_O___;
+                      SYNTAX("emsba    %1, %2, %0");
+#line 1061 "rx-decode.opc"
+                      ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
 
                     }
                   break;
-                case 0x90:
-                  op_semantics_84:
+              }
+            break;
+          case 0x4c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_90;
+                  break;
+              }
+            break;
+          case 0x4d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_91;
+                  break;
+              }
+            break;
+          case 0x4e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_92;
+                  break;
+              }
+            break;
+          case 0x4f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_93;
+                  break;
+              }
+            break;
+          case 0x60:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 1001rdst divu    #%1, %0 */
-#line 656 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 656 "rx-decode.opc"
+                      /** 1111 1101 0110 0000 rsrc rdst        shlr    %2, %0 */
+#line 729 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 729 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1001rdst     divu    #%1, %0 */",
+                                 "/** 1111 1101 0110 0000 rsrc rdst    shlr    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("divu     #%1, %0");
-#line 656 "rx-decode.opc"
-                      ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
+                      SYNTAX("shlr     %2, %0");
+#line 729 "rx-decode.opc"
+                      ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
 
                     }
                   break;
-                case 0xc0:
-                  op_semantics_85:
+              }
+            break;
+          case 0x61:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 1100rdst tst     #%1, %2 */
-#line 467 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 467 "rx-decode.opc"
+                      /** 1111 1101 0110 0001 rsrc rdst        shar    %2, %0 */
+#line 719 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 719 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1100rdst     tst     #%1, %2 */",
+                                 "/** 1111 1101 0110 0001 rsrc rdst    shar    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("tst      #%1, %2");
-#line 467 "rx-decode.opc"
-                      ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
+                      SYNTAX("shar     %2, %0");
+#line 719 "rx-decode.opc"
+                      ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
 
                     }
                   break;
-                case 0xd0:
-                  op_semantics_86:
+              }
+            break;
+          case 0x62:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 1101rdst xor     #%1, %0 */
-#line 446 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 446 "rx-decode.opc"
+                      /** 1111 1101 0110 0010 rsrc rdst        shll    %2, %0 */
+#line 709 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 709 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1101rdst     xor     #%1, %0 */",
+                                 "/** 1111 1101 0110 0010 rsrc rdst    shll    %2, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("xor      #%1, %0");
-#line 446 "rx-decode.opc"
-                      ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
+                      SYNTAX("shll     %2, %0");
+#line 709 "rx-decode.opc"
+                      ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
 
                     }
                   break;
-                case 0xe0:
-                  op_semantics_87:
+              }
+            break;
+          case 0x64:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 1110rdst stz     #%1, %0 */
-#line 392 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 392 "rx-decode.opc"
+                      /** 1111 1101 0110 0100 rsrc rdst        rotr    %1, %0 */
+#line 753 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 753 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1110rdst     stz     #%1, %0 */",
+                                 "/** 1111 1101 0110 0100 rsrc rdst    rotr    %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("stz      #%1, %0");
-#line 392 "rx-decode.opc"
-                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
+                      SYNTAX("rotr     %1, %0");
+#line 753 "rx-decode.opc"
+                      ID(rotr); SR(rsrc); DR(rdst); F__SZC;
 
                     }
                   break;
-                case 0xf0:
-                  op_semantics_88:
+              }
+            break;
+          case 0x65:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 im00 1111rdst stnz    #%1, %0 */
-#line 395 "rx-decode.opc"
-                      int im AU = (op[1] >> 2) & 0x03;
-#line 395 "rx-decode.opc"
+                      /** 1111 1101 0110 0101 rsrc rdst        revw    %1, %0 */
+#line 756 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 756 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 im00 1111rdst     stnz    #%1, %0 */",
+                                 "/** 1111 1101 0110 0101 rsrc rdst    revw    %1, %0 */",
                                  op[0], op[1], op[2]);
-                          printf ("  im = 0x%x,", im);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("stnz     #%1, %0");
-#line 395 "rx-decode.opc"
-                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
-
-                    /*----------------------------------------------------------------------*/
-                    /* RTSD                                                                    */
+                      SYNTAX("revw     %1, %0");
+#line 756 "rx-decode.opc"
+                      ID(revw); SR(rsrc); DR(rdst);
 
                     }
                   break;
-                default: UNSUPPORTED(); break;
               }
             break;
-          case 0x72:
+          case 0x66:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
                     {
-                      /** 1111 1101 0111 0010 0000 rdst        fsub    #%1, %0 */
-#line 864 "rx-decode.opc"
+                      /** 1111 1101 0110 0110 rsrc rdst        rotl    %1, %0 */
+#line 747 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 747 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0000 rdst    fsub    #%1, %0 */",
+                                 "/** 1111 1101 0110 0110 rsrc rdst    rotl    %1, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("fsub     #%1, %0");
-#line 864 "rx-decode.opc"
-                      ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
+                      SYNTAX("rotl     %1, %0");
+#line 747 "rx-decode.opc"
+                      ID(rotl); SR(rsrc); DR(rdst); F__SZC;
 
                     }
                   break;
-                case 0x10:
+              }
+            break;
+          case 0x67:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
                     {
-                      /** 1111 1101 0111 0010 0001 rdst        fcmp    #%1, %0 */
-#line 858 "rx-decode.opc"
+                      /** 1111 1101 0110 0111 rsrc rdst        revl    %1, %0 */
+#line 759 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 759 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0001 rdst    fcmp    #%1, %0 */",
+                                 "/** 1111 1101 0110 0111 rsrc rdst    revl    %1, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("fcmp     #%1, %0");
-#line 858 "rx-decode.opc"
-                      ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
+                      SYNTAX("revl     %1, %0");
+#line 759 "rx-decode.opc"
+                      ID(revl); SR(rsrc); DR(rdst);
+
+                    /*----------------------------------------------------------------------*/
+                    /* BRANCH                                                          */
 
                     }
                   break;
-                case 0x20:
+              }
+            break;
+          case 0x68:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_94:
                     {
-                      /** 1111 1101 0111 0010 0010 rdst        fadd    #%1, %0 */
-#line 852 "rx-decode.opc"
+                      /** 1111 1101 0110 100c rsrc rdst        mvtc    %1, %0 */
+#line 1010 "rx-decode.opc"
+                      int c AU = op[1] & 0x01;
+#line 1010 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1010 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 0111 0010 0010 rdst    fadd    #%1, %0 */",
+                                 "/** 1111 1101 0110 100c rsrc rdst    mvtc    %1, %0 */",
                                  op[0], op[1], op[2]);
+                          printf ("  c = 0x%x,", c);
+                          printf ("  rsrc = 0x%x,", rsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("fadd     #%1, %0");
-#line 852 "rx-decode.opc"
-                      ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
+                      SYNTAX("mvtc     %1, %0");
+#line 1010 "rx-decode.opc"
+                      ID(mov); SR(rsrc); DR(c*16+rdst + 16);
 
                     }
                   break;
-                case 0x30:
-                    {
-                      /** 1111 1101 0111 0010 0011 rdst        fmul    #%1, %0 */
-#line 873 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+              }
+            break;
+          case 0x69:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_94;
+                  break;
+              }
+            break;
+          case 0x6a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_95:
+                    {
+                      /** 1111 1101 0110 101s rsrc rdst        mvfc    %1, %0 */
+#line 1013 "rx-decode.opc"
+                      int s AU = op[1] & 0x01;
+#line 1013 "rx-decode.opc"
+                      int rsrc AU = (op[2] >> 4) & 0x0f;
+#line 1013 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 101s rsrc rdst    mvfc    %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  s = 0x%x,", s);
+                          printf ("  rsrc = 0x%x,", rsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mvfc     %1, %0");
+#line 1013 "rx-decode.opc"
+                      ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
+
+                    /*----------------------------------------------------------------------*/
+                    /* INTERRUPTS                                                              */
+
+                    }
+                  break;
+              }
+            break;
+          case 0x6b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_95;
+                  break;
+              }
+            break;
+          case 0x6c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_96:
+                    {
+                      /** 1111 1101 0110 110i mmmm rdst        rotr    #%1, %0 */
+#line 750 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 750 "rx-decode.opc"
+                      int mmmm AU = (op[2] >> 4) & 0x0f;
+#line 750 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 110i mmmm rdst    rotr    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  mmmm = 0x%x,", mmmm);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("rotr     #%1, %0");
+#line 750 "rx-decode.opc"
+                      ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
+
+                    }
+                  break;
+              }
+            break;
+          case 0x6d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_96;
+                  break;
+              }
+            break;
+          case 0x6e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_97:
+                    {
+                      /** 1111 1101 0110 111i mmmm rdst        rotl    #%1, %0 */
+#line 744 "rx-decode.opc"
+                      int i AU = op[1] & 0x01;
+#line 744 "rx-decode.opc"
+                      int mmmm AU = (op[2] >> 4) & 0x0f;
+#line 744 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0110 111i mmmm rdst    rotl    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  i = 0x%x,", i);
+                          printf ("  mmmm = 0x%x,", mmmm);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("rotl     #%1, %0");
+#line 744 "rx-decode.opc"
+                      ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
+
+                    }
+                  break;
+              }
+            break;
+          case 0x6f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_97;
+                  break;
+              }
+            break;
+          case 0x70:
+              GETBYTE ();
+              switch (op[2] & 0xf0)
+              {
+                case 0x20:
+                  op_semantics_98:
+                    {
+                      /** 1111 1101 0111 im00 0010rdst adc     #%1, %0 */
+#line 488 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 488 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 0010rdst     adc     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("adc      #%1, %0");
+#line 488 "rx-decode.opc"
+                      ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
+
+                    }
+                  break;
+                case 0x40:
+                  op_semantics_99:
+                    {
+                      /** 1111 1101 0111 im00 0100rdst max     #%1, %0 */
+#line 570 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 570 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 0100rdst     max     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("max      #%1, %0");
+#line 570 "rx-decode.opc"
+                      int val = IMMex (im);
+                      if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
+                        {
+                          ID (nop7);
+                          SYNTAX("nop\t; max\t#0x80000000, r0");
+                        }
+                      else
+                        {
+                          ID(max);
+                        }
+                      DR(rdst); SC(val);
+
+                    }
+                  break;
+                case 0x50:
+                  op_semantics_100:
+                    {
+                      /** 1111 1101 0111 im00 0101rdst min     #%1, %0 */
+#line 600 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 600 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 0101rdst     min     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("min      #%1, %0");
+#line 600 "rx-decode.opc"
+                      ID(min); DR(rdst); SC(IMMex(im));
+
+                    }
+                  break;
+                case 0x60:
+                  op_semantics_101:
+                    {
+                      /** 1111 1101 0111 im00 0110rdst emul    #%1, %0 */
+#line 658 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 658 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 0110rdst     emul    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("emul     #%1, %0");
+#line 658 "rx-decode.opc"
+                      ID(emul); DR(rdst); SC(IMMex(im));
+
+                    }
+                  break;
+                case 0x70:
+                  op_semantics_102:
+                    {
+                      /** 1111 1101 0111 im00 0111rdst emulu   #%1, %0 */
+#line 670 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 670 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 0111rdst     emulu   #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("emulu    #%1, %0");
+#line 670 "rx-decode.opc"
+                      ID(emulu); DR(rdst); SC(IMMex(im));
+
+                    }
+                  break;
+                case 0x80:
+                  op_semantics_103:
+                    {
+                      /** 1111 1101 0111 im00 1000rdst div     #%1, %0 */
+#line 682 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 682 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1000rdst     div     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("div      #%1, %0");
+#line 682 "rx-decode.opc"
+                      ID(div); DR(rdst); SC(IMMex(im)); F_O___;
+
+                    }
+                  break;
+                case 0x90:
+                  op_semantics_104:
+                    {
+                      /** 1111 1101 0111 im00 1001rdst divu    #%1, %0 */
+#line 694 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 694 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1001rdst     divu    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("divu     #%1, %0");
+#line 694 "rx-decode.opc"
+                      ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
+
+                    }
+                  break;
+                case 0xc0:
+                  op_semantics_105:
+                    {
+                      /** 1111 1101 0111 im00 1100rdst tst     #%1, %2 */
+#line 467 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 467 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1100rdst     tst     #%1, %2 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("tst      #%1, %2");
+#line 467 "rx-decode.opc"
+                      ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
+
+                    }
+                  break;
+                case 0xd0:
+                  op_semantics_106:
+                    {
+                      /** 1111 1101 0111 im00 1101rdst xor     #%1, %0 */
+#line 446 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 446 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1101rdst     xor     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("xor      #%1, %0");
+#line 446 "rx-decode.opc"
+                      ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
+
+                    }
+                  break;
+                case 0xe0:
+                  op_semantics_107:
+                    {
+                      /** 1111 1101 0111 im00 1110rdst stz     #%1, %0 */
+#line 392 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 392 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1110rdst     stz     #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("stz      #%1, %0");
+#line 392 "rx-decode.opc"
+                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
+
+                    }
+                  break;
+                case 0xf0:
+                  op_semantics_108:
+                    {
+                      /** 1111 1101 0111 im00 1111rdst stnz    #%1, %0 */
+#line 395 "rx-decode.opc"
+                      int im AU = (op[1] >> 2) & 0x03;
+#line 395 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 im00 1111rdst     stnz    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  im = 0x%x,", im);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("stnz     #%1, %0");
+#line 395 "rx-decode.opc"
+                      ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
+
+                    /*----------------------------------------------------------------------*/
+                    /* RTSD                                                                    */
+
+                    }
+                  break;
+                default: UNSUPPORTED(); break;
+              }
+            break;
+          case 0x72:
+              GETBYTE ();
+              switch (op[2] & 0xf0)
+              {
+                case 0x00:
+                    {
+                      /** 1111 1101 0111 0010 0000 rdst        fsub    #%1, %0 */
+#line 902 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0000 rdst    fsub    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fsub     #%1, %0");
+#line 902 "rx-decode.opc"
+                      ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
+
+                    }
+                  break;
+                case 0x10:
+                    {
+                      /** 1111 1101 0111 0010 0001 rdst        fcmp    #%1, %0 */
+#line 896 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0001 rdst    fcmp    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fcmp     #%1, %0");
+#line 896 "rx-decode.opc"
+                      ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
+
+                    }
+                  break;
+                case 0x20:
+                    {
+                      /** 1111 1101 0111 0010 0010 rdst        fadd    #%1, %0 */
+#line 890 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 0111 0010 0010 rdst    fadd    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("fadd     #%1, %0");
+#line 890 "rx-decode.opc"
+                      ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
+
+                    }
+                  break;
+                case 0x30:
+                    {
+                      /** 1111 1101 0111 0010 0011 rdst        fmul    #%1, %0 */
+#line 911 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
                                  "/** 1111 1101 0111 0010 0011 rdst    fmul    #%1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fmul     #%1, %0");
-#line 873 "rx-decode.opc"
+#line 911 "rx-decode.opc"
                       ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
 
                     }
@@ -10664,7 +11667,7 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0x40:
                     {
                       /** 1111 1101 0111 0010 0100 rdst        fdiv    #%1, %0 */
-#line 879 "rx-decode.opc"
+#line 917 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -10674,7 +11677,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("fdiv     #%1, %0");
-#line 879 "rx-decode.opc"
+#line 917 "rx-decode.opc"
                       ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
 
                     }
@@ -10687,12 +11690,12 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  op_semantics_89:
+                  op_semantics_109:
                     {
                       /** 1111 1101 0111 im11 000crdst mvtc    #%1, %0 */
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
                       int im AU = (op[1] >> 2) & 0x03;
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
                       int crdst AU = op[2] & 0x1f;
                       if (trace)
                         {
@@ -10703,7 +11706,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  crdst = 0x%x\n", crdst);
                         }
                       SYNTAX("mvtc     #%1, %0");
-#line 969 "rx-decode.opc"
+#line 1007 "rx-decode.opc"
                       ID(mov); SC(IMMex(im)); DR(crdst + 16);
 
                     }
@@ -10716,37 +11719,37 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xf0)
               {
                 case 0x20:
-                  goto op_semantics_78;
+                  goto op_semantics_98;
                   break;
                 case 0x40:
-                  goto op_semantics_79;
+                  goto op_semantics_99;
                   break;
                 case 0x50:
-                  goto op_semantics_80;
+                  goto op_semantics_100;
                   break;
                 case 0x60:
-                  goto op_semantics_81;
+                  goto op_semantics_101;
                   break;
                 case 0x70:
-                  goto op_semantics_82;
+                  goto op_semantics_102;
                   break;
                 case 0x80:
-                  goto op_semantics_83;
+                  goto op_semantics_103;
                   break;
                 case 0x90:
-                  goto op_semantics_84;
+                  goto op_semantics_104;
                   break;
                 case 0xc0:
-                  goto op_semantics_85;
+                  goto op_semantics_105;
                   break;
                 case 0xd0:
-                  goto op_semantics_86;
+                  goto op_semantics_106;
                   break;
                 case 0xe0:
-                  goto op_semantics_87;
+                  goto op_semantics_107;
                   break;
                 case 0xf0:
-                  goto op_semantics_88;
+                  goto op_semantics_108;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10756,7 +11759,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_89;
+                  goto op_semantics_109;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10766,37 +11769,37 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xf0)
               {
                 case 0x20:
-                  goto op_semantics_78;
+                  goto op_semantics_98;
                   break;
                 case 0x40:
-                  goto op_semantics_79;
+                  goto op_semantics_99;
                   break;
                 case 0x50:
-                  goto op_semantics_80;
+                  goto op_semantics_100;
                   break;
                 case 0x60:
-                  goto op_semantics_81;
+                  goto op_semantics_101;
                   break;
                 case 0x70:
-                  goto op_semantics_82;
+                  goto op_semantics_102;
                   break;
                 case 0x80:
-                  goto op_semantics_83;
+                  goto op_semantics_103;
                   break;
                 case 0x90:
-                  goto op_semantics_84;
+                  goto op_semantics_104;
                   break;
                 case 0xc0:
-                  goto op_semantics_85;
+                  goto op_semantics_105;
                   break;
                 case 0xd0:
-                  goto op_semantics_86;
+                  goto op_semantics_106;
                   break;
                 case 0xe0:
-                  goto op_semantics_87;
+                  goto op_semantics_107;
                   break;
                 case 0xf0:
-                  goto op_semantics_88;
+                  goto op_semantics_108;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10806,7 +11809,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_89;
+                  goto op_semantics_109;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10816,37 +11819,37 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xf0)
               {
                 case 0x20:
-                  goto op_semantics_78;
+                  goto op_semantics_98;
                   break;
                 case 0x40:
-                  goto op_semantics_79;
+                  goto op_semantics_99;
                   break;
                 case 0x50:
-                  goto op_semantics_80;
+                  goto op_semantics_100;
                   break;
                 case 0x60:
-                  goto op_semantics_81;
+                  goto op_semantics_101;
                   break;
                 case 0x70:
-                  goto op_semantics_82;
+                  goto op_semantics_102;
                   break;
                 case 0x80:
-                  goto op_semantics_83;
+                  goto op_semantics_103;
                   break;
                 case 0x90:
-                  goto op_semantics_84;
+                  goto op_semantics_104;
                   break;
                 case 0xc0:
-                  goto op_semantics_85;
+                  goto op_semantics_105;
                   break;
                 case 0xd0:
-                  goto op_semantics_86;
+                  goto op_semantics_106;
                   break;
                 case 0xe0:
-                  goto op_semantics_87;
+                  goto op_semantics_107;
                   break;
                 case 0xf0:
-                  goto op_semantics_88;
+                  goto op_semantics_108;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10856,7 +11859,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0xe0)
               {
                 case 0x00:
-                  goto op_semantics_89;
+                  goto op_semantics_109;
                   break;
                 default: UNSUPPORTED(); break;
               }
@@ -10866,14 +11869,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_90:
+                  op_semantics_110:
                     {
                       /** 1111 1101 100immmm rsrc rdst shlr    #%2, %1, %0 */
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -10885,7 +11888,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shlr     #%2, %1, %0");
-#line 694 "rx-decode.opc"
+#line 732 "rx-decode.opc"
                       ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
 
                     /*----------------------------------------------------------------------*/
@@ -10900,7 +11903,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10909,7 +11912,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10918,7 +11921,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10927,7 +11930,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10936,7 +11939,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10945,7 +11948,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10954,7 +11957,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10963,7 +11966,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10972,7 +11975,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10981,7 +11984,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10990,7 +11993,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -10999,7 +12002,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11008,7 +12011,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11017,7 +12020,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11026,7 +12029,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11035,7 +12038,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11044,7 +12047,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11053,7 +12056,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11062,7 +12065,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11071,7 +12074,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11080,7 +12083,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11089,7 +12092,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11098,7 +12101,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11107,7 +12110,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11116,7 +12119,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11125,7 +12128,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11134,7 +12137,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11143,7 +12146,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11152,7 +12155,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11161,7 +12164,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11170,7 +12173,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_90;
+                  goto op_semantics_110;
                   break;
               }
             break;
@@ -11179,14 +12182,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_91:
+                  op_semantics_111:
                     {
                       /** 1111 1101 101immmm rsrc rdst shar    #%2, %1, %0 */
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -11198,7 +12201,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shar     #%2, %1, %0");
-#line 684 "rx-decode.opc"
+#line 722 "rx-decode.opc"
                       ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
 
 
@@ -11211,7 +12214,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11220,7 +12223,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11229,7 +12232,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11238,7 +12241,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11247,7 +12250,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11256,7 +12259,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11265,7 +12268,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11274,7 +12277,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11283,7 +12286,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11292,7 +12295,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11301,7 +12304,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11310,7 +12313,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11319,7 +12322,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11328,7 +12331,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11337,7 +12340,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11346,7 +12349,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11355,7 +12358,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11364,7 +12367,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11373,7 +12376,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11382,7 +12385,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11391,7 +12394,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11400,7 +12403,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11409,7 +12412,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11418,7 +12421,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11427,7 +12430,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11436,7 +12439,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11445,7 +12448,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11454,7 +12457,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11463,7 +12466,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11472,7 +12475,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11481,7 +12484,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_91;
+                  goto op_semantics_111;
                   break;
               }
             break;
@@ -11490,14 +12493,14 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_92:
+                  op_semantics_112:
                     {
                       /** 1111 1101 110immmm rsrc rdst shll    #%2, %1, %0 */
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
                       int immmm AU = op[1] & 0x1f;
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
                       int rsrc AU = (op[2] >> 4) & 0x0f;
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
@@ -11509,7 +12512,7 @@ rx_decode_opcode (unsigned long pc AU,
                           printf ("  rdst = 0x%x\n", rdst);
                         }
                       SYNTAX("shll     #%2, %1, %0");
-#line 674 "rx-decode.opc"
+#line 712 "rx-decode.opc"
                       ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
 
 
@@ -11522,7 +12525,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
@@ -11531,7 +12534,7 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
@@ -11540,263 +12543,750 @@ rx_decode_opcode (unsigned long pc AU,
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc4:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc5:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc6:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc7:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc8:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xc9:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xca:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xcb:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xcc:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xcd:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xce:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xcf:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xd0:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xd1:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xd2:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xd3:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
+                  break;
+              }
+            break;
+          case 0xd4:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc4:
+          case 0xd5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc5:
+          case 0xd6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc6:
+          case 0xd7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc7:
+          case 0xd8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc8:
+          case 0xd9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xc9:
+          case 0xda:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xca:
+          case 0xdb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xcb:
+          case 0xdc:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xcc:
+          case 0xdd:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xcd:
+          case 0xde:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xce:
+          case 0xdf:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                  goto op_semantics_112;
                   break;
               }
             break;
-          case 0xcf:
+          case 0xe0:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  op_semantics_113:
+                    {
+                      /** 1111 1101 111 bittt cond rdst        bm%2    #%1, %0%S0 */
+#line 986 "rx-decode.opc"
+                      int bittt AU = op[1] & 0x1f;
+#line 986 "rx-decode.opc"
+                      int cond AU = (op[2] >> 4) & 0x0f;
+#line 986 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 111 bittt cond rdst    bm%2    #%1, %0%S0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  bittt = 0x%x,", bittt);
+                          printf ("  cond = 0x%x,", cond);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("bm%2     #%1, %0%S0");
+#line 986 "rx-decode.opc"
+                      ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
+
+                    /*----------------------------------------------------------------------*/
+                    /* CONTROL REGISTERS                                                       */
+
+                    }
+                  break;
+                case 0xf0:
+                  op_semantics_114:
+                    {
+                      /** 1111 1101 111bittt 1111 rdst bnot    #%1, %0 */
+#line 979 "rx-decode.opc"
+                      int bittt AU = op[1] & 0x1f;
+#line 979 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1101 111bittt 1111 rdst     bnot    #%1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  bittt = 0x%x,", bittt);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("bnot     #%1, %0");
+#line 979 "rx-decode.opc"
+                      ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
+
+
+                    }
                   break;
               }
             break;
-          case 0xd0:
+          case 0xe1:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd1:
+          case 0xe2:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd2:
+          case 0xe3:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd3:
+          case 0xe4:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd4:
+          case 0xe5:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd5:
+          case 0xe6:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd6:
+          case 0xe7:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd7:
+          case 0xe8:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd8:
+          case 0xe9:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xd9:
+          case 0xea:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xda:
+          case 0xeb:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xdb:
+          case 0xec:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xdc:
+          case 0xed:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xdd:
+          case 0xee:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xde:
+          case 0xef:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xdf:
+          case 0xf0:
               GETBYTE ();
-              switch (op[2] & 0x00)
+              switch (op[2] & 0xf0)
               {
                 case 0x00:
-                  goto op_semantics_92;
+                case 0x10:
+                case 0x20:
+                case 0x30:
+                case 0x40:
+                case 0x50:
+                case 0x60:
+                case 0x70:
+                case 0x80:
+                case 0x90:
+                case 0xa0:
+                case 0xb0:
+                case 0xc0:
+                case 0xd0:
+                case 0xe0:
+                  goto op_semantics_113;
+                  break;
+                case 0xf0:
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe0:
+          case 0xf1:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11815,59 +13305,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  op_semantics_93:
-                    {
-                      /** 1111 1101 111 bittt cond rdst        bm%2    #%1, %0%S0 */
-#line 948 "rx-decode.opc"
-                      int bittt AU = op[1] & 0x1f;
-#line 948 "rx-decode.opc"
-                      int cond AU = (op[2] >> 4) & 0x0f;
-#line 948 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 111 bittt cond rdst    bm%2    #%1, %0%S0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  bittt = 0x%x,", bittt);
-                          printf ("  cond = 0x%x,", cond);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("bm%2     #%1, %0%S0");
-#line 948 "rx-decode.opc"
-                      ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
-
-                    /*----------------------------------------------------------------------*/
-                    /* CONTROL REGISTERS                                                       */
-
-                    }
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  op_semantics_94:
-                    {
-                      /** 1111 1101 111bittt 1111 rdst bnot    #%1, %0 */
-#line 941 "rx-decode.opc"
-                      int bittt AU = op[1] & 0x1f;
-#line 941 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
-                      if (trace)
-                        {
-                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1101 111bittt 1111 rdst     bnot    #%1, %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  bittt = 0x%x,", bittt);
-                          printf ("  rdst = 0x%x\n", rdst);
-                        }
-                      SYNTAX("bnot     #%1, %0");
-#line 941 "rx-decode.opc"
-                      ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
-
-
-                    }
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe1:
+          case 0xf2:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11886,14 +13331,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe2:
+          case 0xf3:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11912,14 +13357,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe3:
+          case 0xf4:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11938,14 +13383,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe4:
+          case 0xf5:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11964,14 +13409,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe5:
+          case 0xf6:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -11990,14 +13435,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe6:
+          case 0xf7:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12016,14 +13461,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe7:
+          case 0xf8:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12042,14 +13487,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe8:
+          case 0xf9:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12068,14 +13513,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xe9:
+          case 0xfa:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12094,14 +13539,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xea:
+          case 0xfb:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12120,14 +13565,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xeb:
+          case 0xfc:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12146,14 +13591,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xec:
+          case 0xfd:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12172,14 +13617,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xed:
+          case 0xfe:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12198,14 +13643,14 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
                   break;
               }
             break;
-          case 0xee:
+          case 0xff:
               GETBYTE ();
               switch (op[2] & 0xf0)
               {
@@ -12224,2682 +13669,2738 @@ rx_decode_opcode (unsigned long pc AU,
                 case 0xc0:
                 case 0xd0:
                 case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_113;
                   break;
                 case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_114;
+                  break;
+              }
+            break;
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0xfe:
+        GETBYTE ();
+        switch (op[1] & 0xff)
+        {
+          case 0x00:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  op_semantics_115:
+                    {
+                      /** 1111 1110 00sz isrc bsrc rdst        mov%s   %0, [%1, %2] */
+#line 338 "rx-decode.opc"
+                      int sz AU = (op[1] >> 4) & 0x03;
+#line 338 "rx-decode.opc"
+                      int isrc AU = op[1] & 0x0f;
+#line 338 "rx-decode.opc"
+                      int bsrc AU = (op[2] >> 4) & 0x0f;
+#line 338 "rx-decode.opc"
+                      int rdst AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1110 00sz isrc bsrc rdst    mov%s   %0, [%1, %2] */",
+                                 op[0], op[1], op[2]);
+                          printf ("  sz = 0x%x,", sz);
+                          printf ("  isrc = 0x%x,", isrc);
+                          printf ("  bsrc = 0x%x,", bsrc);
+                          printf ("  rdst = 0x%x\n", rdst);
+                        }
+                      SYNTAX("mov%s    %0, [%1, %2]");
+#line 338 "rx-decode.opc"
+                      ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
+
+                    }
+                  break;
+              }
+            break;
+          case 0x01:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x02:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x03:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x04:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x05:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x06:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x07:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x08:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x09:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0a:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0b:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0c:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0e:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x0f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x10:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x11:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x12:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x13:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x14:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x15:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x16:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x17:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x18:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
+                  break;
+              }
+            break;
+          case 0x19:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xef:
+          case 0x1a:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf0:
+          case 0x1b:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf1:
+          case 0x1c:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf2:
+          case 0x1d:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf3:
+          case 0x1e:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf4:
+          case 0x1f:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf5:
+          case 0x20:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf6:
+          case 0x21:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf7:
+          case 0x22:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_115;
                   break;
-                case 0xf0:
-                  goto op_semantics_94;
+              }
+            break;
+          case 0x23:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf8:
+          case 0x24:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_115;
                   break;
-                case 0xf0:
-                  goto op_semantics_94;
+              }
+            break;
+          case 0x25:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xf9:
+          case 0x26:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_115;
                   break;
-                case 0xf0:
-                  goto op_semantics_94;
+              }
+            break;
+          case 0x27:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xfa:
+          case 0x28:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xfb:
+          case 0x29:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xfc:
+          case 0x2a:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xfd:
+          case 0x2b:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
-                  break;
-                case 0xf0:
-                  goto op_semantics_94;
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xfe:
+          case 0x2c:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_115;
                   break;
-                case 0xf0:
-                  goto op_semantics_94;
+              }
+            break;
+          case 0x2d:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          case 0xff:
+          case 0x2e:
               GETBYTE ();
-              switch (op[2] & 0xf0)
+              switch (op[2] & 0x00)
               {
                 case 0x00:
-                case 0x10:
-                case 0x20:
-                case 0x30:
-                case 0x40:
-                case 0x50:
-                case 0x60:
-                case 0x70:
-                case 0x80:
-                case 0x90:
-                case 0xa0:
-                case 0xb0:
-                case 0xc0:
-                case 0xd0:
-                case 0xe0:
-                  goto op_semantics_93;
+                  goto op_semantics_115;
                   break;
-                case 0xf0:
-                  goto op_semantics_94;
+              }
+            break;
+          case 0x2f:
+              GETBYTE ();
+              switch (op[2] & 0x00)
+              {
+                case 0x00:
+                  goto op_semantics_115;
                   break;
               }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xfe:
-        GETBYTE ();
-        switch (op[1] & 0xff)
-        {
-          case 0x00:
+          case 0x40:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_95:
+                  op_semantics_116:
                     {
-                      /** 1111 1110 00sz isrc bsrc rdst        mov%s   %0, [%1, %2] */
-#line 338 "rx-decode.opc"
+                      /** 1111 1110 01sz isrc bsrc rdst        mov%s   [%1, %2], %0 */
+#line 335 "rx-decode.opc"
                       int sz AU = (op[1] >> 4) & 0x03;
-#line 338 "rx-decode.opc"
+#line 335 "rx-decode.opc"
                       int isrc AU = op[1] & 0x0f;
-#line 338 "rx-decode.opc"
+#line 335 "rx-decode.opc"
                       int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 338 "rx-decode.opc"
+#line 335 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1110 00sz isrc bsrc rdst    mov%s   %0, [%1, %2] */",
+                                 "/** 1111 1110 01sz isrc bsrc rdst    mov%s   [%1, %2], %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sz = 0x%x,", sz);
                           printf ("  isrc = 0x%x,", isrc);
                           printf ("  bsrc = 0x%x,", bsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mov%s    %0, [%1, %2]");
-#line 338 "rx-decode.opc"
-                      ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
+                      SYNTAX("mov%s    [%1, %2], %0");
+#line 335 "rx-decode.opc"
+                      ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x01:
+          case 0x41:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x02:
+          case 0x42:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x03:
+          case 0x43:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x04:
+          case 0x44:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x05:
+          case 0x45:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x06:
+          case 0x46:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x07:
+          case 0x47:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x08:
+          case 0x48:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x09:
+          case 0x49:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0a:
+          case 0x4a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0b:
+          case 0x4b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0c:
+          case 0x4c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0d:
+          case 0x4d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0e:
+          case 0x4e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x0f:
+          case 0x4f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x10:
+          case 0x50:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x11:
+          case 0x51:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x12:
+          case 0x52:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x13:
+          case 0x53:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x14:
+          case 0x54:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x15:
+          case 0x55:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x16:
+          case 0x56:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x17:
+          case 0x57:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x18:
+          case 0x58:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x19:
+          case 0x59:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1a:
+          case 0x5a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1b:
+          case 0x5b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1c:
+          case 0x5c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1d:
+          case 0x5d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1e:
+          case 0x5e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x1f:
+          case 0x5f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x20:
+          case 0x60:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x21:
+          case 0x61:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x22:
+          case 0x62:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x23:
+          case 0x63:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x24:
+          case 0x64:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x25:
+          case 0x65:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x26:
+          case 0x66:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x27:
+          case 0x67:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x28:
+          case 0x68:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x29:
+          case 0x69:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2a:
+          case 0x6a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2b:
+          case 0x6b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2c:
+          case 0x6c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2d:
+          case 0x6d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2e:
+          case 0x6e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x2f:
+          case 0x6f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_95;
+                  goto op_semantics_116;
                   break;
               }
             break;
-          case 0x40:
+          case 0xc0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_96:
+                  op_semantics_117:
                     {
-                      /** 1111 1110 01sz isrc bsrc rdst        mov%s   [%1, %2], %0 */
-#line 335 "rx-decode.opc"
+                      /** 1111 1110 11sz isrc bsrc rdst        movu%s  [%1, %2], %0 */
+#line 341 "rx-decode.opc"
                       int sz AU = (op[1] >> 4) & 0x03;
-#line 335 "rx-decode.opc"
+#line 341 "rx-decode.opc"
                       int isrc AU = op[1] & 0x0f;
-#line 335 "rx-decode.opc"
+#line 341 "rx-decode.opc"
                       int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 335 "rx-decode.opc"
+#line 341 "rx-decode.opc"
                       int rdst AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1110 01sz isrc bsrc rdst    mov%s   [%1, %2], %0 */",
+                                 "/** 1111 1110 11sz isrc bsrc rdst    movu%s  [%1, %2], %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  sz = 0x%x,", sz);
                           printf ("  isrc = 0x%x,", isrc);
                           printf ("  bsrc = 0x%x,", bsrc);
                           printf ("  rdst = 0x%x\n", rdst);
                         }
-                      SYNTAX("mov%s    [%1, %2], %0");
-#line 335 "rx-decode.opc"
-                      ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
+                      SYNTAX("movu%s   [%1, %2], %0");
+#line 341 "rx-decode.opc"
+                      ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
 
                     }
                   break;
               }
             break;
-          case 0x41:
+          case 0xc1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x42:
+          case 0xc2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x43:
+          case 0xc3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x44:
+          case 0xc4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x45:
+          case 0xc5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x46:
+          case 0xc6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x47:
+          case 0xc7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x48:
+          case 0xc8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x49:
+          case 0xc9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4a:
+          case 0xca:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4b:
+          case 0xcb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4c:
+          case 0xcc:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4d:
+          case 0xcd:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4e:
+          case 0xce:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x4f:
+          case 0xcf:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x50:
+          case 0xd0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x51:
+          case 0xd1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x52:
+          case 0xd2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x53:
+          case 0xd3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x54:
+          case 0xd4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x55:
+          case 0xd5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x56:
+          case 0xd6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x57:
+          case 0xd7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x58:
+          case 0xd8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x59:
+          case 0xd9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5a:
+          case 0xda:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5b:
+          case 0xdb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5c:
+          case 0xdc:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5d:
+          case 0xdd:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5e:
+          case 0xde:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x5f:
+          case 0xdf:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x60:
+          case 0xe0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x61:
+          case 0xe1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x62:
+          case 0xe2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x63:
+          case 0xe3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x64:
+          case 0xe4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x65:
+          case 0xe5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x66:
+          case 0xe6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x67:
+          case 0xe7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x68:
+          case 0xe8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x69:
+          case 0xe9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6a:
+          case 0xea:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6b:
+          case 0xeb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6c:
+          case 0xec:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6d:
+          case 0xed:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6e:
+          case 0xee:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0x6f:
+          case 0xef:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_96;
+                  goto op_semantics_117;
                   break;
               }
             break;
-          case 0xc0:
+          default: UNSUPPORTED(); break;
+        }
+      break;
+    case 0xff:
+        GETBYTE ();
+        switch (op[1] & 0xff)
+        {
+          case 0x00:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_97:
+                  op_semantics_118:
                     {
-                      /** 1111 1110 11sz isrc bsrc rdst        movu%s  [%1, %2], %0 */
-#line 341 "rx-decode.opc"
-                      int sz AU = (op[1] >> 4) & 0x03;
-#line 341 "rx-decode.opc"
-                      int isrc AU = op[1] & 0x0f;
-#line 341 "rx-decode.opc"
-                      int bsrc AU = (op[2] >> 4) & 0x0f;
-#line 341 "rx-decode.opc"
-                      int rdst AU = op[2] & 0x0f;
+                      /** 1111 1111 0000 rdst srca srcb        sub     %2, %1, %0 */
+#line 545 "rx-decode.opc"
+                      int rdst AU = op[1] & 0x0f;
+#line 545 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 545 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1110 11sz isrc bsrc rdst    movu%s  [%1, %2], %0 */",
-                                 op[0], op[1], op[2]);
-                          printf ("  sz = 0x%x,", sz);
-                          printf ("  isrc = 0x%x,", isrc);
-                          printf ("  bsrc = 0x%x,", bsrc);
-                          printf ("  rdst = 0x%x\n", rdst);
+                                 "/** 1111 1111 0000 rdst srca srcb    sub     %2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("movu%s   [%1, %2], %0");
-#line 341 "rx-decode.opc"
-                      ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
+                      SYNTAX("sub      %2, %1, %0");
+#line 545 "rx-decode.opc"
+                      ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
+
+                    /*----------------------------------------------------------------------*/
+                    /* SBB                                                                     */
 
                     }
                   break;
               }
             break;
-          case 0xc1:
+          case 0x01:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc2:
+          case 0x02:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc3:
+          case 0x03:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc4:
+          case 0x04:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc5:
+          case 0x05:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc6:
+          case 0x06:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc7:
+          case 0x07:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc8:
+          case 0x08:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xc9:
+          case 0x09:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xca:
+          case 0x0a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xcb:
+          case 0x0b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xcc:
+          case 0x0c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xcd:
+          case 0x0d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xce:
+          case 0x0e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xcf:
+          case 0x0f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_118;
                   break;
               }
             break;
-          case 0xd0:
+          case 0x20:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  op_semantics_119:
+                    {
+                      /** 1111 1111 0010 rdst srca srcb        add     %2, %1, %0 */
+#line 512 "rx-decode.opc"
+                      int rdst AU = op[1] & 0x0f;
+#line 512 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 512 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1111 0010 rdst srca srcb    add     %2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("add      %2, %1, %0");
+#line 512 "rx-decode.opc"
+                      ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
+
+                    /*----------------------------------------------------------------------*/
+                    /* CMP                                                                     */
+
+                    }
                   break;
               }
             break;
-          case 0xd1:
+          case 0x21:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd2:
+          case 0x22:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd3:
+          case 0x23:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd4:
+          case 0x24:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd5:
+          case 0x25:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd6:
+          case 0x26:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd7:
+          case 0x27:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd8:
+          case 0x28:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xd9:
+          case 0x29:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xda:
+          case 0x2a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xdb:
+          case 0x2b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xdc:
+          case 0x2c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xdd:
+          case 0x2d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xde:
+          case 0x2e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xdf:
+          case 0x2f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_119;
                   break;
               }
             break;
-          case 0xe0:
+          case 0x30:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  op_semantics_120:
+                    {
+                      /** 1111 1111 0011 rdst srca srcb        mul     %2, %1, %0 */
+#line 652 "rx-decode.opc"
+                      int rdst AU = op[1] & 0x0f;
+#line 652 "rx-decode.opc"
+                      int srca AU = (op[2] >> 4) & 0x0f;
+#line 652 "rx-decode.opc"
+                      int srcb AU = op[2] & 0x0f;
+                      if (trace)
+                        {
+                          printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
+                                 "/** 1111 1111 0011 rdst srca srcb    mul     %2, %1, %0 */",
+                                 op[0], op[1], op[2]);
+                          printf ("  rdst = 0x%x,", rdst);
+                          printf ("  srca = 0x%x,", srca);
+                          printf ("  srcb = 0x%x\n", srcb);
+                        }
+                      SYNTAX("mul      %2, %1, %0");
+#line 652 "rx-decode.opc"
+                      ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
+
+                    /*----------------------------------------------------------------------*/
+                    /* EMUL                                                                    */
+
+                    }
                   break;
               }
             break;
-          case 0xe1:
+          case 0x31:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe2:
+          case 0x32:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe3:
+          case 0x33:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe4:
+          case 0x34:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe5:
+          case 0x35:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe6:
+          case 0x36:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe7:
+          case 0x37:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe8:
+          case 0x38:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xe9:
+          case 0x39:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xea:
+          case 0x3a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xeb:
+          case 0x3b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xec:
+          case 0x3c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xed:
+          case 0x3d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xee:
+          case 0x3e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          case 0xef:
+          case 0x3f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_97;
+                  goto op_semantics_120;
                   break;
               }
             break;
-          default: UNSUPPORTED(); break;
-        }
-      break;
-    case 0xff:
-        GETBYTE ();
-        switch (op[1] & 0xff)
-        {
-          case 0x00:
+          case 0x40:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_98:
+                  op_semantics_121:
                     {
-                      /** 1111 1111 0000 rdst srca srcb        sub     %2, %1, %0 */
-#line 545 "rx-decode.opc"
+                      /** 1111 1111 0100 rdst srca srcb        and     %2, %1, %0 */
+#line 422 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 545 "rx-decode.opc"
+#line 422 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 545 "rx-decode.opc"
+#line 422 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1111 0000 rdst srca srcb    sub     %2, %1, %0 */",
+                                 "/** 1111 1111 0100 rdst srca srcb    and     %2, %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("sub      %2, %1, %0");
-#line 545 "rx-decode.opc"
-                      ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
+                      SYNTAX("and      %2, %1, %0");
+#line 422 "rx-decode.opc"
+                      ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     /*----------------------------------------------------------------------*/
-                    /* SBB                                                                     */
+                    /* OR                                                                      */
 
                     }
                   break;
               }
             break;
-          case 0x01:
+          case 0x41:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x02:
+          case 0x42:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x03:
+          case 0x43:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x04:
+          case 0x44:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x05:
+          case 0x45:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x06:
+          case 0x46:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x07:
+          case 0x47:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x08:
+          case 0x48:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x09:
+          case 0x49:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0a:
+          case 0x4a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0b:
+          case 0x4b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0c:
+          case 0x4c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0d:
+          case 0x4d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0e:
+          case 0x4e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x0f:
+          case 0x4f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_98;
+                  goto op_semantics_121;
                   break;
               }
             break;
-          case 0x20:
+          case 0x50:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_99:
+                  op_semantics_122:
                     {
-                      /** 1111 1111 0010 rdst srca srcb        add     %2, %1, %0 */
-#line 512 "rx-decode.opc"
+                      /** 1111 1111 0101 rdst srca srcb        or      %2, %1, %0 */
+#line 440 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 512 "rx-decode.opc"
+#line 440 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 512 "rx-decode.opc"
+#line 440 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1111 0010 rdst srca srcb    add     %2, %1, %0 */",
+                                 "/** 1111 1111 0101 rdst srca srcb    or      %2, %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("add      %2, %1, %0");
-#line 512 "rx-decode.opc"
-                      ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
+                      SYNTAX("or       %2, %1, %0");
+#line 440 "rx-decode.opc"
+                      ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     /*----------------------------------------------------------------------*/
-                    /* CMP                                                                     */
+                    /* XOR                                                                     */
 
                     }
                   break;
               }
             break;
-          case 0x21:
+          case 0x51:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x22:
+          case 0x52:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x23:
+          case 0x53:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x24:
+          case 0x54:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x25:
+          case 0x55:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x26:
+          case 0x56:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x27:
+          case 0x57:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x28:
+          case 0x58:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x29:
+          case 0x59:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2a:
+          case 0x5a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2b:
+          case 0x5b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2c:
+          case 0x5c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2d:
+          case 0x5d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2e:
+          case 0x5e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x2f:
+          case 0x5f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_99;
+                  goto op_semantics_122;
                   break;
               }
             break;
-          case 0x30:
+          case 0x80:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_100:
+                  op_semantics_123:
                     {
-                      /** 1111 1111 0011 rdst srca srcb        mul     %2, %1, %0 */
-#line 614 "rx-decode.opc"
+                      /** 1111 1111 1000 rdst srca srcb        fsub    %2, %1, %0 */
+#line 1100 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 614 "rx-decode.opc"
+#line 1100 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 614 "rx-decode.opc"
+#line 1100 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1111 0011 rdst srca srcb    mul     %2, %1, %0 */",
+                                 "/** 1111 1111 1000 rdst srca srcb    fsub    %2, %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("mul      %2, %1, %0");
-#line 614 "rx-decode.opc"
-                      ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
-
-                    /*----------------------------------------------------------------------*/
-                    /* EMUL                                                                    */
+                      SYNTAX("fsub     %2, %1, %0");
+#line 1100 "rx-decode.opc"
+                      ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x31:
+          case 0x81:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x32:
+          case 0x82:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x33:
+          case 0x83:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x34:
+          case 0x84:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x35:
+          case 0x85:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x36:
+          case 0x86:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x37:
+          case 0x87:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x38:
+          case 0x88:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x39:
+          case 0x89:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3a:
+          case 0x8a:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3b:
+          case 0x8b:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3c:
+          case 0x8c:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3d:
+          case 0x8d:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3e:
+          case 0x8e:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x3f:
+          case 0x8f:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_100;
+                  goto op_semantics_123;
                   break;
               }
             break;
-          case 0x40:
+          case 0xa0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_101:
+                  op_semantics_124:
                     {
-                      /** 1111 1111 0100 rdst srca srcb        and     %2, %1, %0 */
-#line 422 "rx-decode.opc"
+                      /** 1111 1111 1010 rdst srca srcb        fadd    %2, %1, %0 */
+#line 1097 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 422 "rx-decode.opc"
+#line 1097 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 422 "rx-decode.opc"
+#line 1097 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1111 0100 rdst srca srcb    and     %2, %1, %0 */",
+                                 "/** 1111 1111 1010 rdst srca srcb    fadd    %2, %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("and      %2, %1, %0");
-#line 422 "rx-decode.opc"
-                      ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
-
-                    /*----------------------------------------------------------------------*/
-                    /* OR                                                                      */
+                      SYNTAX("fadd     %2, %1, %0");
+#line 1097 "rx-decode.opc"
+                      ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x41:
+          case 0xa1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x42:
+          case 0xa2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x43:
+          case 0xa3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x44:
+          case 0xa4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x45:
+          case 0xa5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x46:
+          case 0xa6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x47:
+          case 0xa7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x48:
+          case 0xa8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x49:
+          case 0xa9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4a:
+          case 0xaa:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4b:
+          case 0xab:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4c:
+          case 0xac:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4d:
+          case 0xad:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4e:
+          case 0xae:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x4f:
+          case 0xaf:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_101;
+                  goto op_semantics_124;
                   break;
               }
             break;
-          case 0x50:
+          case 0xb0:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  op_semantics_102:
+                  op_semantics_125:
                     {
-                      /** 1111 1111 0101 rdst srca srcb        or      %2, %1, %0 */
-#line 440 "rx-decode.opc"
+                      /** 1111 1111 1011 rdst srca srcb        fmul    %2, %1, %0 */
+#line 1103 "rx-decode.opc"
                       int rdst AU = op[1] & 0x0f;
-#line 440 "rx-decode.opc"
+#line 1103 "rx-decode.opc"
                       int srca AU = (op[2] >> 4) & 0x0f;
-#line 440 "rx-decode.opc"
+#line 1103 "rx-decode.opc"
                       int srcb AU = op[2] & 0x0f;
                       if (trace)
                         {
                           printf ("\033[33m%s\033[0m  %02x %02x %02x\n",
-                                 "/** 1111 1111 0101 rdst srca srcb    or      %2, %1, %0 */",
+                                 "/** 1111 1111 1011 rdst srca srcb    fmul    %2, %1, %0 */",
                                  op[0], op[1], op[2]);
                           printf ("  rdst = 0x%x,", rdst);
                           printf ("  srca = 0x%x,", srca);
                           printf ("  srcb = 0x%x\n", srcb);
                         }
-                      SYNTAX("or       %2, %1, %0");
-#line 440 "rx-decode.opc"
-                      ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
-
-                    /*----------------------------------------------------------------------*/
-                    /* XOR                                                                     */
+                      SYNTAX("fmul     %2, %1, %0");
+#line 1103 "rx-decode.opc"
+                      ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
 
                     }
                   break;
               }
             break;
-          case 0x51:
+          case 0xb1:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x52:
+          case 0xb2:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x53:
+          case 0xb3:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x54:
+          case 0xb4:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x55:
+          case 0xb5:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x56:
+          case 0xb6:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x57:
+          case 0xb7:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x58:
+          case 0xb8:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x59:
+          case 0xb9:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5a:
+          case 0xba:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5b:
+          case 0xbb:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5c:
+          case 0xbc:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5d:
+          case 0xbd:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5e:
+          case 0xbe:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
-          case 0x5f:
+          case 0xbf:
               GETBYTE ();
               switch (op[2] & 0x00)
               {
                 case 0x00:
-                  goto op_semantics_102;
+                  goto op_semantics_125;
                   break;
               }
             break;
@@ -14908,7 +16409,7 @@ rx_decode_opcode (unsigned long pc AU,
       break;
     default: UNSUPPORTED(); break;
   }
-#line 1005 "rx-decode.opc"
+#line 1118 "rx-decode.opc"
 
   return rx->n_bytes;
 }
This page took 0.256948 seconds and 4 git commands to generate.