1 #line 1 "rx-decode.opc"
11 #define RX_OPCODE_BIG_ENDIAN 0
15 RX_Opcode_Decoded * rx;
16 int (* getbyte)(void *);
27 /* These are for when the upper bits are "don't care" or "undefined". */
57 #define ID(x) rx->id = RXO_##x
58 #define OP(n,t,r,a) (rx->op[n].type = t, \
60 rx->op[n].addend = a )
61 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
64 /* This is for the BWL and BW bitfields. */
65 static int SCALE[] = { 1, 2, 4 };
66 /* This is for the prefix size enum. */
67 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
69 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
70 16, 17, 0, 0, 0, 0, 0, 0 };
72 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
75 *C a constant (immediate) c
77 *I Register indirect, no offset
78 *Is Register indirect, with offset
79 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
80 *P standard displacement: type (r,[r]), reg, assumes UByte
81 *Pm memex displacement: type (r,[r]), reg, memex code
82 *cc condition code. */
84 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
85 #define DR(r) OP (0, RX_Operand_Register, r, 0)
86 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
87 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
88 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
89 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
91 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
92 #define SR(r) OP (1, RX_Operand_Register, r, 0)
93 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
94 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
95 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
96 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
97 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
98 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
100 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
101 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
102 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
103 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
104 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
105 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
106 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
107 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
109 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
110 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
111 #define uBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubwl[sz]
112 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
114 #define F(f) store_flags(rx, f)
116 #define AU ATTRIBUTE_UNUSED
117 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
119 #define SYNTAX(x) rx->syntax = x
121 #define UNSUPPORTED() \
122 rx->syntax = "*unknown*"
124 #define IMM(sf) immediate (sf, 0, ld)
125 #define IMMex(sf) immediate (sf, 1, ld)
128 immediate (int sfield, int ex, LocalData * ld)
130 unsigned long i = 0, j;
134 #define B ((unsigned long) GETBYTE())
136 #if RX_OPCODE_BIG_ENDIAN
138 if (ex && (i & 0x80))
149 if (ex && (j & 0x80))
155 #if RX_OPCODE_BIG_ENDIAN
164 if (ex && (i & 0x800000))
168 #if RX_OPCODE_BIG_ENDIAN
175 if (ex && (i & 0x8000))
180 if (ex && (i & 0x80))
190 rx_disp (int n, int type, int reg, int size, LocalData * ld)
194 ld->rx->op[n].reg = reg;
198 ld->rx->op[n].type = RX_Operand_Register;
201 ld->rx->op[n].type = RX_Operand_Indirect;
202 ld->rx->op[n].addend = 0;
205 ld->rx->op[n].type = RX_Operand_Indirect;
207 ld->rx->op[n].addend = disp * PSCALE[size];
210 ld->rx->op[n].type = RX_Operand_Indirect;
212 #if RX_OPCODE_BIG_ENDIAN
213 disp = disp * 256 + GETBYTE ();
215 disp = disp + GETBYTE () * 256;
217 ld->rx->op[n].addend = disp * PSCALE[size];
230 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
231 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
232 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
233 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
234 #define F_O___ rx->flags_0 = rx->flags_s = xO;
235 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
236 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
237 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
240 rx_decode_opcode (unsigned long pc AU,
241 RX_Opcode_Decoded * rx,
242 int (* getbyte)(void *),
245 LocalData lds, * ld = &lds;
246 unsigned char op[20] = {0};
249 lds.getbyte = getbyte;
253 memset (rx, 0, sizeof (*rx));
257 /*----------------------------------------------------------------------*/
261 switch (op[0] & 0xff)
268 printf ("\033[33m%s\033[0m %02x\n",
269 "/** 0000 0000 brk */",
273 #line 926 "rx-decode.opc"
283 printf ("\033[33m%s\033[0m %02x\n",
284 "/** 0000 0001 dbt */",
288 #line 929 "rx-decode.opc"
298 printf ("\033[33m%s\033[0m %02x\n",
299 "/** 0000 0010 rts */",
303 #line 715 "rx-decode.opc"
306 /*----------------------------------------------------------------------*/
316 printf ("\033[33m%s\033[0m %02x\n",
317 "/** 0000 0011 nop */",
321 #line 721 "rx-decode.opc"
324 /*----------------------------------------------------------------------*/
325 /* STRING FUNCTIONS */
331 /** 0000 0100 bra.a %a0 */
334 printf ("\033[33m%s\033[0m %02x\n",
335 "/** 0000 0100 bra.a %a0 */",
339 #line 693 "rx-decode.opc"
340 ID(branch); Scc(RXC_always); DC(pc + IMMex(3));
346 /** 0000 0101 bsr.a %a0 */
349 printf ("\033[33m%s\033[0m %02x\n",
350 "/** 0000 0101 bsr.a %a0 */",
354 #line 709 "rx-decode.opc"
355 ID(jsr); DC(pc + IMMex(3));
361 switch (op[1] & 0xff)
365 switch (op[2] & 0x00)
370 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
371 #line 497 "rx-decode.opc"
372 int mx AU = (op[1] >> 6) & 0x03;
373 #line 497 "rx-decode.opc"
374 int ss AU = op[1] & 0x03;
375 #line 497 "rx-decode.opc"
376 int rsrc AU = (op[2] >> 4) & 0x0f;
377 #line 497 "rx-decode.opc"
378 int rdst AU = op[2] & 0x0f;
381 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
382 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
383 op[0], op[1], op[2]);
384 printf (" mx = 0x%x,", mx);
385 printf (" ss = 0x%x,", ss);
386 printf (" rsrc = 0x%x,", rsrc);
387 printf (" rdst = 0x%x\n", rdst);
389 SYNTAX("sub %2%S2, %1");
390 #line 497 "rx-decode.opc"
391 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
399 switch (op[2] & 0x00)
408 switch (op[2] & 0x00)
417 switch (op[2] & 0x00)
426 switch (op[2] & 0x00)
431 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
432 #line 485 "rx-decode.opc"
433 int mx AU = (op[1] >> 6) & 0x03;
434 #line 485 "rx-decode.opc"
435 int ss AU = op[1] & 0x03;
436 #line 485 "rx-decode.opc"
437 int rsrc AU = (op[2] >> 4) & 0x0f;
438 #line 485 "rx-decode.opc"
439 int rdst AU = op[2] & 0x0f;
442 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
443 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
444 op[0], op[1], op[2]);
445 printf (" mx = 0x%x,", mx);
446 printf (" ss = 0x%x,", ss);
447 printf (" rsrc = 0x%x,", rsrc);
448 printf (" rdst = 0x%x\n", rdst);
450 SYNTAX("cmp %2%S2, %1");
451 #line 485 "rx-decode.opc"
452 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
454 /*----------------------------------------------------------------------*/
463 switch (op[2] & 0x00)
472 switch (op[2] & 0x00)
481 switch (op[2] & 0x00)
490 switch (op[2] & 0x00)
495 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
496 #line 461 "rx-decode.opc"
497 int mx AU = (op[1] >> 6) & 0x03;
498 #line 461 "rx-decode.opc"
499 int ss AU = op[1] & 0x03;
500 #line 461 "rx-decode.opc"
501 int rsrc AU = (op[2] >> 4) & 0x0f;
502 #line 461 "rx-decode.opc"
503 int rdst AU = op[2] & 0x0f;
506 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
507 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
508 op[0], op[1], op[2]);
509 printf (" mx = 0x%x,", mx);
510 printf (" ss = 0x%x,", ss);
511 printf (" rsrc = 0x%x,", rsrc);
512 printf (" rdst = 0x%x\n", rdst);
514 SYNTAX("add %1%S1, %0");
515 #line 461 "rx-decode.opc"
516 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
524 switch (op[2] & 0x00)
533 switch (op[2] & 0x00)
542 switch (op[2] & 0x00)
551 switch (op[2] & 0x00)
556 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
557 #line 558 "rx-decode.opc"
558 int mx AU = (op[1] >> 6) & 0x03;
559 #line 558 "rx-decode.opc"
560 int ss AU = op[1] & 0x03;
561 #line 558 "rx-decode.opc"
562 int rsrc AU = (op[2] >> 4) & 0x0f;
563 #line 558 "rx-decode.opc"
564 int rdst AU = op[2] & 0x0f;
567 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
568 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
569 op[0], op[1], op[2]);
570 printf (" mx = 0x%x,", mx);
571 printf (" ss = 0x%x,", ss);
572 printf (" rsrc = 0x%x,", rsrc);
573 printf (" rdst = 0x%x\n", rdst);
575 SYNTAX("mul %1%S1, %0");
576 #line 558 "rx-decode.opc"
577 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
585 switch (op[2] & 0x00)
594 switch (op[2] & 0x00)
603 switch (op[2] & 0x00)
612 switch (op[2] & 0x00)
617 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
618 #line 374 "rx-decode.opc"
619 int mx AU = (op[1] >> 6) & 0x03;
620 #line 374 "rx-decode.opc"
621 int ss AU = op[1] & 0x03;
622 #line 374 "rx-decode.opc"
623 int rsrc AU = (op[2] >> 4) & 0x0f;
624 #line 374 "rx-decode.opc"
625 int rdst AU = op[2] & 0x0f;
628 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
629 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
630 op[0], op[1], op[2]);
631 printf (" mx = 0x%x,", mx);
632 printf (" ss = 0x%x,", ss);
633 printf (" rsrc = 0x%x,", rsrc);
634 printf (" rdst = 0x%x\n", rdst);
636 SYNTAX("and %1%S1, %0");
637 #line 374 "rx-decode.opc"
638 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
646 switch (op[2] & 0x00)
655 switch (op[2] & 0x00)
664 switch (op[2] & 0x00)
673 switch (op[2] & 0x00)
678 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
679 #line 392 "rx-decode.opc"
680 int mx AU = (op[1] >> 6) & 0x03;
681 #line 392 "rx-decode.opc"
682 int ss AU = op[1] & 0x03;
683 #line 392 "rx-decode.opc"
684 int rsrc AU = (op[2] >> 4) & 0x0f;
685 #line 392 "rx-decode.opc"
686 int rdst AU = op[2] & 0x0f;
689 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
690 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
691 op[0], op[1], op[2]);
692 printf (" mx = 0x%x,", mx);
693 printf (" ss = 0x%x,", ss);
694 printf (" rsrc = 0x%x,", rsrc);
695 printf (" rdst = 0x%x\n", rdst);
697 SYNTAX("or %1%S1, %0");
698 #line 392 "rx-decode.opc"
699 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
707 switch (op[2] & 0x00)
716 switch (op[2] & 0x00)
725 switch (op[2] & 0x00)
734 switch (op[2] & 0xff)
738 switch (op[3] & 0x00)
743 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
744 #line 510 "rx-decode.opc"
745 int mx AU = (op[1] >> 6) & 0x03;
746 #line 510 "rx-decode.opc"
747 int sp AU = op[1] & 0x03;
748 #line 510 "rx-decode.opc"
749 int rsrc AU = (op[3] >> 4) & 0x0f;
750 #line 510 "rx-decode.opc"
751 int rdst AU = op[3] & 0x0f;
754 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
755 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
756 op[0], op[1], op[2], op[3]);
757 printf (" mx = 0x%x,", mx);
758 printf (" sp = 0x%x,", sp);
759 printf (" rsrc = 0x%x,", rsrc);
760 printf (" rdst = 0x%x\n", rdst);
762 SYNTAX("sbb %1%S1, %0");
763 #line 510 "rx-decode.opc"
764 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
766 /*----------------------------------------------------------------------*/
775 switch (op[3] & 0x00)
780 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
781 #line 531 "rx-decode.opc"
782 int mx AU = (op[1] >> 6) & 0x03;
783 #line 531 "rx-decode.opc"
784 int ss AU = op[1] & 0x03;
785 #line 531 "rx-decode.opc"
786 int rsrc AU = (op[3] >> 4) & 0x0f;
787 #line 531 "rx-decode.opc"
788 int rdst AU = op[3] & 0x0f;
791 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
792 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
793 op[0], op[1], op[2], op[3]);
794 printf (" mx = 0x%x,", mx);
795 printf (" ss = 0x%x,", ss);
796 printf (" rsrc = 0x%x,", rsrc);
797 printf (" rdst = 0x%x\n", rdst);
799 SYNTAX("max %1%S1, %0");
800 #line 531 "rx-decode.opc"
801 ID(max); SPm(ss, rsrc, mx); DR(rdst);
803 /*----------------------------------------------------------------------*/
812 switch (op[3] & 0x00)
817 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
818 #line 543 "rx-decode.opc"
819 int mx AU = (op[1] >> 6) & 0x03;
820 #line 543 "rx-decode.opc"
821 int ss AU = op[1] & 0x03;
822 #line 543 "rx-decode.opc"
823 int rsrc AU = (op[3] >> 4) & 0x0f;
824 #line 543 "rx-decode.opc"
825 int rdst AU = op[3] & 0x0f;
828 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
829 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
830 op[0], op[1], op[2], op[3]);
831 printf (" mx = 0x%x,", mx);
832 printf (" ss = 0x%x,", ss);
833 printf (" rsrc = 0x%x,", rsrc);
834 printf (" rdst = 0x%x\n", rdst);
836 SYNTAX("min %1%S1, %0");
837 #line 543 "rx-decode.opc"
838 ID(min); SPm(ss, rsrc, mx); DR(rdst);
840 /*----------------------------------------------------------------------*/
849 switch (op[3] & 0x00)
854 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
855 #line 573 "rx-decode.opc"
856 int mx AU = (op[1] >> 6) & 0x03;
857 #line 573 "rx-decode.opc"
858 int ss AU = op[1] & 0x03;
859 #line 573 "rx-decode.opc"
860 int rsrc AU = (op[3] >> 4) & 0x0f;
861 #line 573 "rx-decode.opc"
862 int rdst AU = op[3] & 0x0f;
865 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
866 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
867 op[0], op[1], op[2], op[3]);
868 printf (" mx = 0x%x,", mx);
869 printf (" ss = 0x%x,", ss);
870 printf (" rsrc = 0x%x,", rsrc);
871 printf (" rdst = 0x%x\n", rdst);
873 SYNTAX("emul %1%S1, %0");
874 #line 573 "rx-decode.opc"
875 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
877 /*----------------------------------------------------------------------*/
886 switch (op[3] & 0x00)
891 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
892 #line 585 "rx-decode.opc"
893 int mx AU = (op[1] >> 6) & 0x03;
894 #line 585 "rx-decode.opc"
895 int ss AU = op[1] & 0x03;
896 #line 585 "rx-decode.opc"
897 int rsrc AU = (op[3] >> 4) & 0x0f;
898 #line 585 "rx-decode.opc"
899 int rdst AU = op[3] & 0x0f;
902 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
903 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
904 op[0], op[1], op[2], op[3]);
905 printf (" mx = 0x%x,", mx);
906 printf (" ss = 0x%x,", ss);
907 printf (" rsrc = 0x%x,", rsrc);
908 printf (" rdst = 0x%x\n", rdst);
910 SYNTAX("emulu %1%S1, %0");
911 #line 585 "rx-decode.opc"
912 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
914 /*----------------------------------------------------------------------*/
923 switch (op[3] & 0x00)
928 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
929 #line 597 "rx-decode.opc"
930 int mx AU = (op[1] >> 6) & 0x03;
931 #line 597 "rx-decode.opc"
932 int ss AU = op[1] & 0x03;
933 #line 597 "rx-decode.opc"
934 int rsrc AU = (op[3] >> 4) & 0x0f;
935 #line 597 "rx-decode.opc"
936 int rdst AU = op[3] & 0x0f;
939 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
940 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
941 op[0], op[1], op[2], op[3]);
942 printf (" mx = 0x%x,", mx);
943 printf (" ss = 0x%x,", ss);
944 printf (" rsrc = 0x%x,", rsrc);
945 printf (" rdst = 0x%x\n", rdst);
947 SYNTAX("div %1%S1, %0");
948 #line 597 "rx-decode.opc"
949 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
951 /*----------------------------------------------------------------------*/
960 switch (op[3] & 0x00)
965 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
966 #line 609 "rx-decode.opc"
967 int mx AU = (op[1] >> 6) & 0x03;
968 #line 609 "rx-decode.opc"
969 int ss AU = op[1] & 0x03;
970 #line 609 "rx-decode.opc"
971 int rsrc AU = (op[3] >> 4) & 0x0f;
972 #line 609 "rx-decode.opc"
973 int rdst AU = op[3] & 0x0f;
976 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
977 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
978 op[0], op[1], op[2], op[3]);
979 printf (" mx = 0x%x,", mx);
980 printf (" ss = 0x%x,", ss);
981 printf (" rsrc = 0x%x,", rsrc);
982 printf (" rdst = 0x%x\n", rdst);
984 SYNTAX("divu %1%S1, %0");
985 #line 609 "rx-decode.opc"
986 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
988 /*----------------------------------------------------------------------*/
997 switch (op[3] & 0x00)
1002 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1003 #line 428 "rx-decode.opc"
1004 int mx AU = (op[1] >> 6) & 0x03;
1005 #line 428 "rx-decode.opc"
1006 int ss AU = op[1] & 0x03;
1007 #line 428 "rx-decode.opc"
1008 int rsrc AU = (op[3] >> 4) & 0x0f;
1009 #line 428 "rx-decode.opc"
1010 int rdst AU = op[3] & 0x0f;
1013 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1014 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1015 op[0], op[1], op[2], op[3]);
1016 printf (" mx = 0x%x,", mx);
1017 printf (" ss = 0x%x,", ss);
1018 printf (" rsrc = 0x%x,", rsrc);
1019 printf (" rdst = 0x%x\n", rdst);
1021 SYNTAX("tst %1%S1, %2");
1022 #line 428 "rx-decode.opc"
1023 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1025 /*----------------------------------------------------------------------*/
1034 switch (op[3] & 0x00)
1039 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1040 #line 407 "rx-decode.opc"
1041 int mx AU = (op[1] >> 6) & 0x03;
1042 #line 407 "rx-decode.opc"
1043 int ss AU = op[1] & 0x03;
1044 #line 407 "rx-decode.opc"
1045 int rsrc AU = (op[3] >> 4) & 0x0f;
1046 #line 407 "rx-decode.opc"
1047 int rdst AU = op[3] & 0x0f;
1050 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1051 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1052 op[0], op[1], op[2], op[3]);
1053 printf (" mx = 0x%x,", mx);
1054 printf (" ss = 0x%x,", ss);
1055 printf (" rsrc = 0x%x,", rsrc);
1056 printf (" rdst = 0x%x\n", rdst);
1058 SYNTAX("xor %1%S1, %0");
1059 #line 407 "rx-decode.opc"
1060 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1062 /*----------------------------------------------------------------------*/
1071 switch (op[3] & 0x00)
1076 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1077 #line 341 "rx-decode.opc"
1078 int mx AU = (op[1] >> 6) & 0x03;
1079 #line 341 "rx-decode.opc"
1080 int ss AU = op[1] & 0x03;
1081 #line 341 "rx-decode.opc"
1082 int rsrc AU = (op[3] >> 4) & 0x0f;
1083 #line 341 "rx-decode.opc"
1084 int rdst AU = op[3] & 0x0f;
1087 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1088 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1089 op[0], op[1], op[2], op[3]);
1090 printf (" mx = 0x%x,", mx);
1091 printf (" ss = 0x%x,", ss);
1092 printf (" rsrc = 0x%x,", rsrc);
1093 printf (" rdst = 0x%x\n", rdst);
1095 SYNTAX("xchg %1%S1, %0");
1096 #line 341 "rx-decode.opc"
1097 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1099 /*----------------------------------------------------------------------*/
1108 switch (op[3] & 0x00)
1113 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1114 #line 838 "rx-decode.opc"
1115 int mx AU = (op[1] >> 6) & 0x03;
1116 #line 838 "rx-decode.opc"
1117 int sd AU = op[1] & 0x03;
1118 #line 838 "rx-decode.opc"
1119 int rsrc AU = (op[3] >> 4) & 0x0f;
1120 #line 838 "rx-decode.opc"
1121 int rdst AU = op[3] & 0x0f;
1124 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1125 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1126 op[0], op[1], op[2], op[3]);
1127 printf (" mx = 0x%x,", mx);
1128 printf (" sd = 0x%x,", sd);
1129 printf (" rsrc = 0x%x,", rsrc);
1130 printf (" rdst = 0x%x\n", rdst);
1132 SYNTAX("itof %1%S1, %0");
1133 #line 838 "rx-decode.opc"
1134 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1136 /*----------------------------------------------------------------------*/
1143 default: UNSUPPORTED(); break;
1148 switch (op[2] & 0xff)
1152 switch (op[3] & 0x00)
1155 goto op_semantics_7;
1161 switch (op[3] & 0x00)
1164 goto op_semantics_8;
1170 switch (op[3] & 0x00)
1173 goto op_semantics_9;
1179 switch (op[3] & 0x00)
1182 goto op_semantics_10;
1188 switch (op[3] & 0x00)
1191 goto op_semantics_11;
1197 switch (op[3] & 0x00)
1200 goto op_semantics_12;
1206 switch (op[3] & 0x00)
1209 goto op_semantics_13;
1215 switch (op[3] & 0x00)
1218 goto op_semantics_14;
1224 switch (op[3] & 0x00)
1227 goto op_semantics_15;
1233 switch (op[3] & 0x00)
1236 goto op_semantics_16;
1242 switch (op[3] & 0x00)
1245 goto op_semantics_17;
1249 default: UNSUPPORTED(); break;
1254 switch (op[2] & 0xff)
1258 switch (op[3] & 0x00)
1261 goto op_semantics_7;
1267 switch (op[3] & 0x00)
1270 goto op_semantics_8;
1276 switch (op[3] & 0x00)
1279 goto op_semantics_9;
1285 switch (op[3] & 0x00)
1288 goto op_semantics_10;
1294 switch (op[3] & 0x00)
1297 goto op_semantics_11;
1303 switch (op[3] & 0x00)
1306 goto op_semantics_12;
1312 switch (op[3] & 0x00)
1315 goto op_semantics_13;
1321 switch (op[3] & 0x00)
1324 goto op_semantics_14;
1330 switch (op[3] & 0x00)
1333 goto op_semantics_15;
1339 switch (op[3] & 0x00)
1342 goto op_semantics_16;
1348 switch (op[3] & 0x00)
1351 goto op_semantics_17;
1355 default: UNSUPPORTED(); break;
1360 switch (op[2] & 0xff)
1364 switch (op[3] & 0x00)
1367 goto op_semantics_7;
1373 switch (op[3] & 0x00)
1376 goto op_semantics_8;
1382 switch (op[3] & 0x00)
1385 goto op_semantics_9;
1391 switch (op[3] & 0x00)
1394 goto op_semantics_10;
1400 switch (op[3] & 0x00)
1403 goto op_semantics_11;
1409 switch (op[3] & 0x00)
1412 goto op_semantics_12;
1418 switch (op[3] & 0x00)
1421 goto op_semantics_13;
1427 switch (op[3] & 0x00)
1430 goto op_semantics_14;
1436 switch (op[3] & 0x00)
1439 goto op_semantics_15;
1445 switch (op[3] & 0x00)
1448 goto op_semantics_16;
1454 switch (op[3] & 0x00)
1457 goto op_semantics_17;
1461 default: UNSUPPORTED(); break;
1466 switch (op[2] & 0x00)
1469 goto op_semantics_1;
1475 switch (op[2] & 0x00)
1478 goto op_semantics_1;
1484 switch (op[2] & 0x00)
1487 goto op_semantics_1;
1493 switch (op[2] & 0x00)
1496 goto op_semantics_1;
1502 switch (op[2] & 0x00)
1505 goto op_semantics_2;
1511 switch (op[2] & 0x00)
1514 goto op_semantics_2;
1520 switch (op[2] & 0x00)
1523 goto op_semantics_2;
1529 switch (op[2] & 0x00)
1532 goto op_semantics_2;
1538 switch (op[2] & 0x00)
1541 goto op_semantics_3;
1547 switch (op[2] & 0x00)
1550 goto op_semantics_3;
1556 switch (op[2] & 0x00)
1559 goto op_semantics_3;
1565 switch (op[2] & 0x00)
1568 goto op_semantics_3;
1574 switch (op[2] & 0x00)
1577 goto op_semantics_4;
1583 switch (op[2] & 0x00)
1586 goto op_semantics_4;
1592 switch (op[2] & 0x00)
1595 goto op_semantics_4;
1601 switch (op[2] & 0x00)
1604 goto op_semantics_4;
1610 switch (op[2] & 0x00)
1613 goto op_semantics_5;
1619 switch (op[2] & 0x00)
1622 goto op_semantics_5;
1628 switch (op[2] & 0x00)
1631 goto op_semantics_5;
1637 switch (op[2] & 0x00)
1640 goto op_semantics_5;
1646 switch (op[2] & 0x00)
1649 goto op_semantics_6;
1655 switch (op[2] & 0x00)
1658 goto op_semantics_6;
1664 switch (op[2] & 0x00)
1667 goto op_semantics_6;
1673 switch (op[2] & 0x00)
1676 goto op_semantics_6;
1682 switch (op[2] & 0xff)
1686 switch (op[3] & 0x00)
1689 goto op_semantics_7;
1695 switch (op[3] & 0x00)
1698 goto op_semantics_8;
1704 switch (op[3] & 0x00)
1707 goto op_semantics_9;
1713 switch (op[3] & 0x00)
1716 goto op_semantics_10;
1722 switch (op[3] & 0x00)
1725 goto op_semantics_11;
1731 switch (op[3] & 0x00)
1734 goto op_semantics_12;
1740 switch (op[3] & 0x00)
1743 goto op_semantics_13;
1749 switch (op[3] & 0x00)
1752 goto op_semantics_14;
1758 switch (op[3] & 0x00)
1761 goto op_semantics_15;
1767 switch (op[3] & 0x00)
1770 goto op_semantics_16;
1776 switch (op[3] & 0x00)
1779 goto op_semantics_17;
1783 default: UNSUPPORTED(); break;
1788 switch (op[2] & 0xff)
1792 switch (op[3] & 0x00)
1795 goto op_semantics_7;
1801 switch (op[3] & 0x00)
1804 goto op_semantics_8;
1810 switch (op[3] & 0x00)
1813 goto op_semantics_9;
1819 switch (op[3] & 0x00)
1822 goto op_semantics_10;
1828 switch (op[3] & 0x00)
1831 goto op_semantics_11;
1837 switch (op[3] & 0x00)
1840 goto op_semantics_12;
1846 switch (op[3] & 0x00)
1849 goto op_semantics_13;
1855 switch (op[3] & 0x00)
1858 goto op_semantics_14;
1864 switch (op[3] & 0x00)
1867 goto op_semantics_15;
1873 switch (op[3] & 0x00)
1876 goto op_semantics_16;
1882 switch (op[3] & 0x00)
1885 goto op_semantics_17;
1889 default: UNSUPPORTED(); break;
1894 switch (op[2] & 0xff)
1898 switch (op[3] & 0x00)
1901 goto op_semantics_7;
1907 switch (op[3] & 0x00)
1910 goto op_semantics_8;
1916 switch (op[3] & 0x00)
1919 goto op_semantics_9;
1925 switch (op[3] & 0x00)
1928 goto op_semantics_10;
1934 switch (op[3] & 0x00)
1937 goto op_semantics_11;
1943 switch (op[3] & 0x00)
1946 goto op_semantics_12;
1952 switch (op[3] & 0x00)
1955 goto op_semantics_13;
1961 switch (op[3] & 0x00)
1964 goto op_semantics_14;
1970 switch (op[3] & 0x00)
1973 goto op_semantics_15;
1979 switch (op[3] & 0x00)
1982 goto op_semantics_16;
1988 switch (op[3] & 0x00)
1991 goto op_semantics_17;
1995 default: UNSUPPORTED(); break;
2000 switch (op[2] & 0xff)
2004 switch (op[3] & 0x00)
2007 goto op_semantics_7;
2013 switch (op[3] & 0x00)
2016 goto op_semantics_8;
2022 switch (op[3] & 0x00)
2025 goto op_semantics_9;
2031 switch (op[3] & 0x00)
2034 goto op_semantics_10;
2040 switch (op[3] & 0x00)
2043 goto op_semantics_11;
2049 switch (op[3] & 0x00)
2052 goto op_semantics_12;
2058 switch (op[3] & 0x00)
2061 goto op_semantics_13;
2067 switch (op[3] & 0x00)
2070 goto op_semantics_14;
2076 switch (op[3] & 0x00)
2079 goto op_semantics_15;
2085 switch (op[3] & 0x00)
2088 goto op_semantics_16;
2094 switch (op[3] & 0x00)
2097 goto op_semantics_17;
2101 default: UNSUPPORTED(); break;
2106 switch (op[2] & 0x00)
2109 goto op_semantics_1;
2115 switch (op[2] & 0x00)
2118 goto op_semantics_1;
2124 switch (op[2] & 0x00)
2127 goto op_semantics_1;
2133 switch (op[2] & 0x00)
2136 goto op_semantics_1;
2142 switch (op[2] & 0x00)
2145 goto op_semantics_2;
2151 switch (op[2] & 0x00)
2154 goto op_semantics_2;
2160 switch (op[2] & 0x00)
2163 goto op_semantics_2;
2169 switch (op[2] & 0x00)
2172 goto op_semantics_2;
2178 switch (op[2] & 0x00)
2181 goto op_semantics_3;
2187 switch (op[2] & 0x00)
2190 goto op_semantics_3;
2196 switch (op[2] & 0x00)
2199 goto op_semantics_3;
2205 switch (op[2] & 0x00)
2208 goto op_semantics_3;
2214 switch (op[2] & 0x00)
2217 goto op_semantics_4;
2223 switch (op[2] & 0x00)
2226 goto op_semantics_4;
2232 switch (op[2] & 0x00)
2235 goto op_semantics_4;
2241 switch (op[2] & 0x00)
2244 goto op_semantics_4;
2250 switch (op[2] & 0x00)
2253 goto op_semantics_5;
2259 switch (op[2] & 0x00)
2262 goto op_semantics_5;
2268 switch (op[2] & 0x00)
2271 goto op_semantics_5;
2277 switch (op[2] & 0x00)
2280 goto op_semantics_5;
2286 switch (op[2] & 0x00)
2289 goto op_semantics_6;
2295 switch (op[2] & 0x00)
2298 goto op_semantics_6;
2304 switch (op[2] & 0x00)
2307 goto op_semantics_6;
2313 switch (op[2] & 0x00)
2316 goto op_semantics_6;
2322 switch (op[2] & 0xff)
2326 switch (op[3] & 0x00)
2329 goto op_semantics_7;
2335 switch (op[3] & 0x00)
2340 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2341 #line 449 "rx-decode.opc"
2342 int ss AU = op[1] & 0x03;
2343 #line 449 "rx-decode.opc"
2344 int rsrc AU = (op[3] >> 4) & 0x0f;
2345 #line 449 "rx-decode.opc"
2346 int rdst AU = op[3] & 0x0f;
2349 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2350 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2351 op[0], op[1], op[2], op[3]);
2352 printf (" ss = 0x%x,", ss);
2353 printf (" rsrc = 0x%x,", rsrc);
2354 printf (" rdst = 0x%x\n", rdst);
2356 SYNTAX("adc %1%S1, %0");
2357 #line 449 "rx-decode.opc"
2358 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2360 /*----------------------------------------------------------------------*/
2369 switch (op[3] & 0x00)
2372 goto op_semantics_8;
2378 switch (op[3] & 0x00)
2381 goto op_semantics_9;
2387 switch (op[3] & 0x00)
2390 goto op_semantics_10;
2396 switch (op[3] & 0x00)
2399 goto op_semantics_11;
2405 switch (op[3] & 0x00)
2408 goto op_semantics_12;
2414 switch (op[3] & 0x00)
2417 goto op_semantics_13;
2423 switch (op[3] & 0x00)
2426 goto op_semantics_14;
2432 switch (op[3] & 0x00)
2435 goto op_semantics_15;
2441 switch (op[3] & 0x00)
2444 goto op_semantics_16;
2450 switch (op[3] & 0x00)
2453 goto op_semantics_17;
2457 default: UNSUPPORTED(); break;
2462 switch (op[2] & 0xff)
2466 switch (op[3] & 0x00)
2469 goto op_semantics_7;
2475 switch (op[3] & 0x00)
2478 goto op_semantics_18;
2484 switch (op[3] & 0x00)
2487 goto op_semantics_8;
2493 switch (op[3] & 0x00)
2496 goto op_semantics_9;
2502 switch (op[3] & 0x00)
2505 goto op_semantics_10;
2511 switch (op[3] & 0x00)
2514 goto op_semantics_11;
2520 switch (op[3] & 0x00)
2523 goto op_semantics_12;
2529 switch (op[3] & 0x00)
2532 goto op_semantics_13;
2538 switch (op[3] & 0x00)
2541 goto op_semantics_14;
2547 switch (op[3] & 0x00)
2550 goto op_semantics_15;
2556 switch (op[3] & 0x00)
2559 goto op_semantics_16;
2565 switch (op[3] & 0x00)
2568 goto op_semantics_17;
2572 default: UNSUPPORTED(); break;
2577 switch (op[2] & 0xff)
2581 switch (op[3] & 0x00)
2584 goto op_semantics_7;
2590 switch (op[3] & 0x00)
2593 goto op_semantics_18;
2599 switch (op[3] & 0x00)
2602 goto op_semantics_8;
2608 switch (op[3] & 0x00)
2611 goto op_semantics_9;
2617 switch (op[3] & 0x00)
2620 goto op_semantics_10;
2626 switch (op[3] & 0x00)
2629 goto op_semantics_11;
2635 switch (op[3] & 0x00)
2638 goto op_semantics_12;
2644 switch (op[3] & 0x00)
2647 goto op_semantics_13;
2653 switch (op[3] & 0x00)
2656 goto op_semantics_14;
2662 switch (op[3] & 0x00)
2665 goto op_semantics_15;
2671 switch (op[3] & 0x00)
2674 goto op_semantics_16;
2680 switch (op[3] & 0x00)
2683 goto op_semantics_17;
2687 default: UNSUPPORTED(); break;
2692 switch (op[2] & 0xff)
2696 switch (op[3] & 0x00)
2699 goto op_semantics_7;
2705 switch (op[3] & 0x00)
2708 goto op_semantics_18;
2714 switch (op[3] & 0x00)
2717 goto op_semantics_8;
2723 switch (op[3] & 0x00)
2726 goto op_semantics_9;
2732 switch (op[3] & 0x00)
2735 goto op_semantics_10;
2741 switch (op[3] & 0x00)
2744 goto op_semantics_11;
2750 switch (op[3] & 0x00)
2753 goto op_semantics_12;
2759 switch (op[3] & 0x00)
2762 goto op_semantics_13;
2768 switch (op[3] & 0x00)
2771 goto op_semantics_14;
2777 switch (op[3] & 0x00)
2780 goto op_semantics_15;
2786 switch (op[3] & 0x00)
2789 goto op_semantics_16;
2795 switch (op[3] & 0x00)
2798 goto op_semantics_17;
2802 default: UNSUPPORTED(); break;
2807 switch (op[2] & 0x00)
2810 goto op_semantics_1;
2816 switch (op[2] & 0x00)
2819 goto op_semantics_1;
2825 switch (op[2] & 0x00)
2828 goto op_semantics_1;
2834 switch (op[2] & 0x00)
2837 goto op_semantics_1;
2843 switch (op[2] & 0x00)
2846 goto op_semantics_2;
2852 switch (op[2] & 0x00)
2855 goto op_semantics_2;
2861 switch (op[2] & 0x00)
2864 goto op_semantics_2;
2870 switch (op[2] & 0x00)
2873 goto op_semantics_2;
2879 switch (op[2] & 0x00)
2882 goto op_semantics_3;
2888 switch (op[2] & 0x00)
2891 goto op_semantics_3;
2897 switch (op[2] & 0x00)
2900 goto op_semantics_3;
2906 switch (op[2] & 0x00)
2909 goto op_semantics_3;
2915 switch (op[2] & 0x00)
2918 goto op_semantics_4;
2924 switch (op[2] & 0x00)
2927 goto op_semantics_4;
2933 switch (op[2] & 0x00)
2936 goto op_semantics_4;
2942 switch (op[2] & 0x00)
2945 goto op_semantics_4;
2951 switch (op[2] & 0x00)
2954 goto op_semantics_5;
2960 switch (op[2] & 0x00)
2963 goto op_semantics_5;
2969 switch (op[2] & 0x00)
2972 goto op_semantics_5;
2978 switch (op[2] & 0x00)
2981 goto op_semantics_5;
2987 switch (op[2] & 0x00)
2990 goto op_semantics_6;
2996 switch (op[2] & 0x00)
2999 goto op_semantics_6;
3005 switch (op[2] & 0x00)
3008 goto op_semantics_6;
3014 switch (op[2] & 0x00)
3017 goto op_semantics_6;
3023 switch (op[2] & 0xff)
3027 switch (op[3] & 0x00)
3030 goto op_semantics_7;
3036 switch (op[3] & 0x00)
3039 goto op_semantics_8;
3045 switch (op[3] & 0x00)
3048 goto op_semantics_9;
3054 switch (op[3] & 0x00)
3057 goto op_semantics_10;
3063 switch (op[3] & 0x00)
3066 goto op_semantics_11;
3072 switch (op[3] & 0x00)
3075 goto op_semantics_12;
3081 switch (op[3] & 0x00)
3084 goto op_semantics_13;
3090 switch (op[3] & 0x00)
3093 goto op_semantics_14;
3099 switch (op[3] & 0x00)
3102 goto op_semantics_15;
3108 switch (op[3] & 0x00)
3111 goto op_semantics_16;
3117 switch (op[3] & 0x00)
3120 goto op_semantics_17;
3124 default: UNSUPPORTED(); break;
3129 switch (op[2] & 0xff)
3133 switch (op[3] & 0x00)
3136 goto op_semantics_7;
3142 switch (op[3] & 0x00)
3145 goto op_semantics_8;
3151 switch (op[3] & 0x00)
3154 goto op_semantics_9;
3160 switch (op[3] & 0x00)
3163 goto op_semantics_10;
3169 switch (op[3] & 0x00)
3172 goto op_semantics_11;
3178 switch (op[3] & 0x00)
3181 goto op_semantics_12;
3187 switch (op[3] & 0x00)
3190 goto op_semantics_13;
3196 switch (op[3] & 0x00)
3199 goto op_semantics_14;
3205 switch (op[3] & 0x00)
3208 goto op_semantics_15;
3214 switch (op[3] & 0x00)
3217 goto op_semantics_16;
3223 switch (op[3] & 0x00)
3226 goto op_semantics_17;
3230 default: UNSUPPORTED(); break;
3235 switch (op[2] & 0xff)
3239 switch (op[3] & 0x00)
3242 goto op_semantics_7;
3248 switch (op[3] & 0x00)
3251 goto op_semantics_8;
3257 switch (op[3] & 0x00)
3260 goto op_semantics_9;
3266 switch (op[3] & 0x00)
3269 goto op_semantics_10;
3275 switch (op[3] & 0x00)
3278 goto op_semantics_11;
3284 switch (op[3] & 0x00)
3287 goto op_semantics_12;
3293 switch (op[3] & 0x00)
3296 goto op_semantics_13;
3302 switch (op[3] & 0x00)
3305 goto op_semantics_14;
3311 switch (op[3] & 0x00)
3314 goto op_semantics_15;
3320 switch (op[3] & 0x00)
3323 goto op_semantics_16;
3329 switch (op[3] & 0x00)
3332 goto op_semantics_17;
3336 default: UNSUPPORTED(); break;
3341 switch (op[2] & 0xff)
3345 switch (op[3] & 0x00)
3348 goto op_semantics_7;
3354 switch (op[3] & 0x00)
3357 goto op_semantics_8;
3363 switch (op[3] & 0x00)
3366 goto op_semantics_9;
3372 switch (op[3] & 0x00)
3375 goto op_semantics_10;
3381 switch (op[3] & 0x00)
3384 goto op_semantics_11;
3390 switch (op[3] & 0x00)
3393 goto op_semantics_12;
3399 switch (op[3] & 0x00)
3402 goto op_semantics_13;
3408 switch (op[3] & 0x00)
3411 goto op_semantics_14;
3417 switch (op[3] & 0x00)
3420 goto op_semantics_15;
3426 switch (op[3] & 0x00)
3429 goto op_semantics_16;
3435 switch (op[3] & 0x00)
3438 goto op_semantics_17;
3442 default: UNSUPPORTED(); break;
3445 default: UNSUPPORTED(); break;
3457 /** 0000 1dsp bra.s %a0 */
3458 #line 684 "rx-decode.opc"
3459 int dsp AU = op[0] & 0x07;
3462 printf ("\033[33m%s\033[0m %02x\n",
3463 "/** 0000 1dsp bra.s %a0 */",
3465 printf (" dsp = 0x%x\n", dsp);
3467 SYNTAX("bra.s %a0");
3468 #line 684 "rx-decode.opc"
3469 ID(branch); Scc(RXC_always); DC(pc + dsp3map[dsp]);
3490 /** 0001 n dsp b%1.s %a0 */
3491 #line 674 "rx-decode.opc"
3492 int n AU = (op[0] >> 3) & 0x01;
3493 #line 674 "rx-decode.opc"
3494 int dsp AU = op[0] & 0x07;
3497 printf ("\033[33m%s\033[0m %02x\n",
3498 "/** 0001 n dsp b%1.s %a0 */",
3500 printf (" n = 0x%x,", n);
3501 printf (" dsp = 0x%x\n", dsp);
3503 SYNTAX("b%1.s %a0");
3504 #line 674 "rx-decode.opc"
3505 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3525 /** 0010 cond b%1.b %a0 */
3526 #line 677 "rx-decode.opc"
3527 int cond AU = op[0] & 0x0f;
3530 printf ("\033[33m%s\033[0m %02x\n",
3531 "/** 0010 cond b%1.b %a0 */",
3533 printf (" cond = 0x%x\n", cond);
3535 SYNTAX("b%1.b %a0");
3536 #line 677 "rx-decode.opc"
3537 ID(branch); Scc(cond); DC(pc + IMMex (1));
3543 /** 0010 1110 bra.b %a0 */
3546 printf ("\033[33m%s\033[0m %02x\n",
3547 "/** 0010 1110 bra.b %a0 */",
3550 SYNTAX("bra.b %a0");
3551 #line 687 "rx-decode.opc"
3552 ID(branch); Scc(RXC_always); DC(pc + IMMex(1));
3558 /** 0011 1000 bra.w %a0 */
3561 printf ("\033[33m%s\033[0m %02x\n",
3562 "/** 0011 1000 bra.w %a0 */",
3565 SYNTAX("bra.w %a0");
3566 #line 690 "rx-decode.opc"
3567 ID(branch); Scc(RXC_always); DC(pc + IMMex(2));
3573 /** 0011 1001 bsr.w %a0 */
3576 printf ("\033[33m%s\033[0m %02x\n",
3577 "/** 0011 1001 bsr.w %a0 */",
3580 SYNTAX("bsr.w %a0");
3581 #line 706 "rx-decode.opc"
3582 ID(jsr); DC(pc + IMMex(2));
3589 /** 0011 101c b%1.w %a0 */
3590 #line 680 "rx-decode.opc"
3591 int c AU = op[0] & 0x01;
3594 printf ("\033[33m%s\033[0m %02x\n",
3595 "/** 0011 101c b%1.w %a0 */",
3597 printf (" c = 0x%x\n", c);
3599 SYNTAX("b%1.w %a0");
3600 #line 680 "rx-decode.opc"
3601 ID(branch); Scc(c); DC(pc + IMMex (2));
3608 switch (op[1] & 0x00)
3613 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3614 #line 270 "rx-decode.opc"
3615 int sz AU = op[0] & 0x03;
3616 #line 270 "rx-decode.opc"
3617 int d AU = (op[1] >> 7) & 0x01;
3618 #line 270 "rx-decode.opc"
3619 int dst AU = (op[1] >> 4) & 0x07;
3620 #line 270 "rx-decode.opc"
3621 int sppp AU = op[1] & 0x0f;
3624 printf ("\033[33m%s\033[0m %02x %02x\n",
3625 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3627 printf (" sz = 0x%x,", sz);
3628 printf (" d = 0x%x,", d);
3629 printf (" dst = 0x%x,", dst);
3630 printf (" sppp = 0x%x\n", sppp);
3632 SYNTAX("mov%s #%1, %0");
3633 #line 270 "rx-decode.opc"
3634 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3642 switch (op[1] & 0x00)
3645 goto op_semantics_19;
3651 switch (op[1] & 0x00)
3654 goto op_semantics_19;
3660 switch (op[1] & 0x00)
3664 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3665 #line 359 "rx-decode.opc"
3666 int rega AU = (op[1] >> 4) & 0x0f;
3667 #line 359 "rx-decode.opc"
3668 int regb AU = op[1] & 0x0f;
3671 printf ("\033[33m%s\033[0m %02x %02x\n",
3672 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3674 printf (" rega = 0x%x,", rega);
3675 printf (" regb = 0x%x\n", regb);
3677 SYNTAX("rtsd #%1, %2-%0");
3678 #line 359 "rx-decode.opc"
3679 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3681 /*----------------------------------------------------------------------*/
3690 switch (op[1] & 0x00)
3695 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3696 #line 494 "rx-decode.opc"
3697 int ss AU = op[0] & 0x03;
3698 #line 494 "rx-decode.opc"
3699 int rsrc AU = (op[1] >> 4) & 0x0f;
3700 #line 494 "rx-decode.opc"
3701 int rdst AU = op[1] & 0x0f;
3704 printf ("\033[33m%s\033[0m %02x %02x\n",
3705 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3707 printf (" ss = 0x%x,", ss);
3708 printf (" rsrc = 0x%x,", rsrc);
3709 printf (" rdst = 0x%x\n", rdst);
3711 SYNTAX("sub %2%S2, %1");
3712 #line 494 "rx-decode.opc"
3713 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3721 switch (op[1] & 0x00)
3724 goto op_semantics_20;
3730 switch (op[1] & 0x00)
3733 goto op_semantics_20;
3739 switch (op[1] & 0x00)
3742 goto op_semantics_20;
3748 switch (op[1] & 0x00)
3753 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3754 #line 482 "rx-decode.opc"
3755 int ss AU = op[0] & 0x03;
3756 #line 482 "rx-decode.opc"
3757 int rsrc AU = (op[1] >> 4) & 0x0f;
3758 #line 482 "rx-decode.opc"
3759 int rdst AU = op[1] & 0x0f;
3762 printf ("\033[33m%s\033[0m %02x %02x\n",
3763 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3765 printf (" ss = 0x%x,", ss);
3766 printf (" rsrc = 0x%x,", rsrc);
3767 printf (" rdst = 0x%x\n", rdst);
3769 SYNTAX("cmp %2%S2, %1");
3770 #line 482 "rx-decode.opc"
3771 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3779 switch (op[1] & 0x00)
3782 goto op_semantics_21;
3788 switch (op[1] & 0x00)
3791 goto op_semantics_21;
3797 switch (op[1] & 0x00)
3800 goto op_semantics_21;
3806 switch (op[1] & 0x00)
3811 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3812 #line 458 "rx-decode.opc"
3813 int ss AU = op[0] & 0x03;
3814 #line 458 "rx-decode.opc"
3815 int rsrc AU = (op[1] >> 4) & 0x0f;
3816 #line 458 "rx-decode.opc"
3817 int rdst AU = op[1] & 0x0f;
3820 printf ("\033[33m%s\033[0m %02x %02x\n",
3821 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3823 printf (" ss = 0x%x,", ss);
3824 printf (" rsrc = 0x%x,", rsrc);
3825 printf (" rdst = 0x%x\n", rdst);
3827 SYNTAX("add %1%S1, %0");
3828 #line 458 "rx-decode.opc"
3829 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
3837 switch (op[1] & 0x00)
3840 goto op_semantics_22;
3846 switch (op[1] & 0x00)
3849 goto op_semantics_22;
3855 switch (op[1] & 0x00)
3858 goto op_semantics_22;
3864 switch (op[1] & 0x00)
3869 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3870 #line 555 "rx-decode.opc"
3871 int ss AU = op[0] & 0x03;
3872 #line 555 "rx-decode.opc"
3873 int rsrc AU = (op[1] >> 4) & 0x0f;
3874 #line 555 "rx-decode.opc"
3875 int rdst AU = op[1] & 0x0f;
3878 printf ("\033[33m%s\033[0m %02x %02x\n",
3879 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3881 printf (" ss = 0x%x,", ss);
3882 printf (" rsrc = 0x%x,", rsrc);
3883 printf (" rdst = 0x%x\n", rdst);
3885 SYNTAX("mul %1%S1, %0");
3886 #line 555 "rx-decode.opc"
3887 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
3895 switch (op[1] & 0x00)
3898 goto op_semantics_23;
3904 switch (op[1] & 0x00)
3907 goto op_semantics_23;
3913 switch (op[1] & 0x00)
3916 goto op_semantics_23;
3922 switch (op[1] & 0x00)
3927 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3928 #line 371 "rx-decode.opc"
3929 int ss AU = op[0] & 0x03;
3930 #line 371 "rx-decode.opc"
3931 int rsrc AU = (op[1] >> 4) & 0x0f;
3932 #line 371 "rx-decode.opc"
3933 int rdst AU = op[1] & 0x0f;
3936 printf ("\033[33m%s\033[0m %02x %02x\n",
3937 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3939 printf (" ss = 0x%x,", ss);
3940 printf (" rsrc = 0x%x,", rsrc);
3941 printf (" rdst = 0x%x\n", rdst);
3943 SYNTAX("and %1%S1, %0");
3944 #line 371 "rx-decode.opc"
3945 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
3953 switch (op[1] & 0x00)
3956 goto op_semantics_24;
3962 switch (op[1] & 0x00)
3965 goto op_semantics_24;
3971 switch (op[1] & 0x00)
3974 goto op_semantics_24;
3980 switch (op[1] & 0x00)
3985 /** 0101 01ss rsrc rdst or %1%S1, %0 */
3986 #line 389 "rx-decode.opc"
3987 int ss AU = op[0] & 0x03;
3988 #line 389 "rx-decode.opc"
3989 int rsrc AU = (op[1] >> 4) & 0x0f;
3990 #line 389 "rx-decode.opc"
3991 int rdst AU = op[1] & 0x0f;
3994 printf ("\033[33m%s\033[0m %02x %02x\n",
3995 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
3997 printf (" ss = 0x%x,", ss);
3998 printf (" rsrc = 0x%x,", rsrc);
3999 printf (" rdst = 0x%x\n", rdst);
4001 SYNTAX("or %1%S1, %0");
4002 #line 389 "rx-decode.opc"
4003 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4011 switch (op[1] & 0x00)
4014 goto op_semantics_25;
4020 switch (op[1] & 0x00)
4023 goto op_semantics_25;
4029 switch (op[1] & 0x00)
4032 goto op_semantics_25;
4038 switch (op[1] & 0x00)
4043 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4044 #line 310 "rx-decode.opc"
4045 int s AU = (op[0] >> 2) & 0x01;
4046 #line 310 "rx-decode.opc"
4047 int ss AU = op[0] & 0x03;
4048 #line 310 "rx-decode.opc"
4049 int rsrc AU = (op[1] >> 4) & 0x0f;
4050 #line 310 "rx-decode.opc"
4051 int rdst AU = op[1] & 0x0f;
4054 printf ("\033[33m%s\033[0m %02x %02x\n",
4055 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4057 printf (" s = 0x%x,", s);
4058 printf (" ss = 0x%x,", ss);
4059 printf (" rsrc = 0x%x,", rsrc);
4060 printf (" rdst = 0x%x\n", rdst);
4062 SYNTAX("movu%s %1, %0");
4063 #line 310 "rx-decode.opc"
4064 ID(mov); uBWL(s); SD(ss, rsrc, s); DR(rdst); F_____;
4072 switch (op[1] & 0x00)
4075 goto op_semantics_26;
4081 switch (op[1] & 0x00)
4084 goto op_semantics_26;
4090 switch (op[1] & 0x00)
4093 goto op_semantics_26;
4099 switch (op[1] & 0x00)
4102 goto op_semantics_26;
4108 switch (op[1] & 0x00)
4111 goto op_semantics_26;
4117 switch (op[1] & 0x00)
4120 goto op_semantics_26;
4126 switch (op[1] & 0x00)
4129 goto op_semantics_26;
4135 switch (op[1] & 0x00)
4139 /** 0110 0000 immm rdst sub #%2, %0 */
4140 #line 491 "rx-decode.opc"
4141 int immm AU = (op[1] >> 4) & 0x0f;
4142 #line 491 "rx-decode.opc"
4143 int rdst AU = op[1] & 0x0f;
4146 printf ("\033[33m%s\033[0m %02x %02x\n",
4147 "/** 0110 0000 immm rdst sub #%2, %0 */",
4149 printf (" immm = 0x%x,", immm);
4150 printf (" rdst = 0x%x\n", rdst);
4152 SYNTAX("sub #%2, %0");
4153 #line 491 "rx-decode.opc"
4154 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4162 switch (op[1] & 0x00)
4166 /** 0110 0001 immm rdst cmp #%2, %1 */
4167 #line 473 "rx-decode.opc"
4168 int immm AU = (op[1] >> 4) & 0x0f;
4169 #line 473 "rx-decode.opc"
4170 int rdst AU = op[1] & 0x0f;
4173 printf ("\033[33m%s\033[0m %02x %02x\n",
4174 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4176 printf (" immm = 0x%x,", immm);
4177 printf (" rdst = 0x%x\n", rdst);
4179 SYNTAX("cmp #%2, %1");
4180 #line 473 "rx-decode.opc"
4181 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4189 switch (op[1] & 0x00)
4193 /** 0110 0010 immm rdst add #%1, %0 */
4194 #line 455 "rx-decode.opc"
4195 int immm AU = (op[1] >> 4) & 0x0f;
4196 #line 455 "rx-decode.opc"
4197 int rdst AU = op[1] & 0x0f;
4200 printf ("\033[33m%s\033[0m %02x %02x\n",
4201 "/** 0110 0010 immm rdst add #%1, %0 */",
4203 printf (" immm = 0x%x,", immm);
4204 printf (" rdst = 0x%x\n", rdst);
4206 SYNTAX("add #%1, %0");
4207 #line 455 "rx-decode.opc"
4208 ID(add); SC(immm); DR(rdst); F_OSZC;
4216 switch (op[1] & 0x00)
4220 /** 0110 0011 immm rdst mul #%1, %0 */
4221 #line 549 "rx-decode.opc"
4222 int immm AU = (op[1] >> 4) & 0x0f;
4223 #line 549 "rx-decode.opc"
4224 int rdst AU = op[1] & 0x0f;
4227 printf ("\033[33m%s\033[0m %02x %02x\n",
4228 "/** 0110 0011 immm rdst mul #%1, %0 */",
4230 printf (" immm = 0x%x,", immm);
4231 printf (" rdst = 0x%x\n", rdst);
4233 SYNTAX("mul #%1, %0");
4234 #line 549 "rx-decode.opc"
4235 ID(mul); DR(rdst); SC(immm); F_____;
4243 switch (op[1] & 0x00)
4247 /** 0110 0100 immm rdst and #%1, %0 */
4248 #line 365 "rx-decode.opc"
4249 int immm AU = (op[1] >> 4) & 0x0f;
4250 #line 365 "rx-decode.opc"
4251 int rdst AU = op[1] & 0x0f;
4254 printf ("\033[33m%s\033[0m %02x %02x\n",
4255 "/** 0110 0100 immm rdst and #%1, %0 */",
4257 printf (" immm = 0x%x,", immm);
4258 printf (" rdst = 0x%x\n", rdst);
4260 SYNTAX("and #%1, %0");
4261 #line 365 "rx-decode.opc"
4262 ID(and); SC(immm); DR(rdst); F__SZ_;
4270 switch (op[1] & 0x00)
4274 /** 0110 0101 immm rdst or #%1, %0 */
4275 #line 383 "rx-decode.opc"
4276 int immm AU = (op[1] >> 4) & 0x0f;
4277 #line 383 "rx-decode.opc"
4278 int rdst AU = op[1] & 0x0f;
4281 printf ("\033[33m%s\033[0m %02x %02x\n",
4282 "/** 0110 0101 immm rdst or #%1, %0 */",
4284 printf (" immm = 0x%x,", immm);
4285 printf (" rdst = 0x%x\n", rdst);
4287 SYNTAX("or #%1, %0");
4288 #line 383 "rx-decode.opc"
4289 ID(or); SC(immm); DR(rdst); F__SZ_;
4297 switch (op[1] & 0x00)
4301 /** 0110 0110 immm rdst mov%s #%1, %0 */
4302 #line 267 "rx-decode.opc"
4303 int immm AU = (op[1] >> 4) & 0x0f;
4304 #line 267 "rx-decode.opc"
4305 int rdst AU = op[1] & 0x0f;
4308 printf ("\033[33m%s\033[0m %02x %02x\n",
4309 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4311 printf (" immm = 0x%x,", immm);
4312 printf (" rdst = 0x%x\n", rdst);
4314 SYNTAX("mov%s #%1, %0");
4315 #line 267 "rx-decode.opc"
4316 ID(mov); DR(rdst); SC(immm); F_____;
4324 /** 0110 0111 rtsd #%1 */
4327 printf ("\033[33m%s\033[0m %02x\n",
4328 "/** 0110 0111 rtsd #%1 */",
4332 #line 356 "rx-decode.opc"
4333 ID(rtsd); SC(IMM(1) * 4);
4339 switch (op[1] & 0x00)
4344 /** 0110 100i mmmm rdst shlr #%2, %0 */
4345 #line 635 "rx-decode.opc"
4346 int i AU = op[0] & 0x01;
4347 #line 635 "rx-decode.opc"
4348 int mmmm AU = (op[1] >> 4) & 0x0f;
4349 #line 635 "rx-decode.opc"
4350 int rdst AU = op[1] & 0x0f;
4353 printf ("\033[33m%s\033[0m %02x %02x\n",
4354 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4356 printf (" i = 0x%x,", i);
4357 printf (" mmmm = 0x%x,", mmmm);
4358 printf (" rdst = 0x%x\n", rdst);
4360 SYNTAX("shlr #%2, %0");
4361 #line 635 "rx-decode.opc"
4362 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4370 switch (op[1] & 0x00)
4373 goto op_semantics_27;
4379 switch (op[1] & 0x00)
4384 /** 0110 101i mmmm rdst shar #%2, %0 */
4385 #line 625 "rx-decode.opc"
4386 int i AU = op[0] & 0x01;
4387 #line 625 "rx-decode.opc"
4388 int mmmm AU = (op[1] >> 4) & 0x0f;
4389 #line 625 "rx-decode.opc"
4390 int rdst AU = op[1] & 0x0f;
4393 printf ("\033[33m%s\033[0m %02x %02x\n",
4394 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4396 printf (" i = 0x%x,", i);
4397 printf (" mmmm = 0x%x,", mmmm);
4398 printf (" rdst = 0x%x\n", rdst);
4400 SYNTAX("shar #%2, %0");
4401 #line 625 "rx-decode.opc"
4402 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4410 switch (op[1] & 0x00)
4413 goto op_semantics_28;
4419 switch (op[1] & 0x00)
4424 /** 0110 110i mmmm rdst shll #%2, %0 */
4425 #line 615 "rx-decode.opc"
4426 int i AU = op[0] & 0x01;
4427 #line 615 "rx-decode.opc"
4428 int mmmm AU = (op[1] >> 4) & 0x0f;
4429 #line 615 "rx-decode.opc"
4430 int rdst AU = op[1] & 0x0f;
4433 printf ("\033[33m%s\033[0m %02x %02x\n",
4434 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4436 printf (" i = 0x%x,", i);
4437 printf (" mmmm = 0x%x,", mmmm);
4438 printf (" rdst = 0x%x\n", rdst);
4440 SYNTAX("shll #%2, %0");
4441 #line 615 "rx-decode.opc"
4442 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4450 switch (op[1] & 0x00)
4453 goto op_semantics_29;
4459 switch (op[1] & 0x00)
4463 /** 0110 1110 dsta dstb pushm %1-%2 */
4464 #line 323 "rx-decode.opc"
4465 int dsta AU = (op[1] >> 4) & 0x0f;
4466 #line 323 "rx-decode.opc"
4467 int dstb AU = op[1] & 0x0f;
4470 printf ("\033[33m%s\033[0m %02x %02x\n",
4471 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4473 printf (" dsta = 0x%x,", dsta);
4474 printf (" dstb = 0x%x\n", dstb);
4476 SYNTAX("pushm %1-%2");
4477 #line 323 "rx-decode.opc"
4478 ID(pushm); SR(dsta); S2R(dstb); F_____;
4486 switch (op[1] & 0x00)
4490 /** 0110 1111 dsta dstb popm %1-%2 */
4491 #line 320 "rx-decode.opc"
4492 int dsta AU = (op[1] >> 4) & 0x0f;
4493 #line 320 "rx-decode.opc"
4494 int dstb AU = op[1] & 0x0f;
4497 printf ("\033[33m%s\033[0m %02x %02x\n",
4498 "/** 0110 1111 dsta dstb popm %1-%2 */",
4500 printf (" dsta = 0x%x,", dsta);
4501 printf (" dstb = 0x%x\n", dstb);
4503 SYNTAX("popm %1-%2");
4504 #line 320 "rx-decode.opc"
4505 ID(popm); SR(dsta); S2R(dstb); F_____;
4513 switch (op[1] & 0x00)
4518 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4519 #line 464 "rx-decode.opc"
4520 int im AU = op[0] & 0x03;
4521 #line 464 "rx-decode.opc"
4522 int rsrc AU = (op[1] >> 4) & 0x0f;
4523 #line 464 "rx-decode.opc"
4524 int rdst AU = op[1] & 0x0f;
4527 printf ("\033[33m%s\033[0m %02x %02x\n",
4528 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4530 printf (" im = 0x%x,", im);
4531 printf (" rsrc = 0x%x,", rsrc);
4532 printf (" rdst = 0x%x\n", rdst);
4534 SYNTAX("add #%1, %2, %0");
4535 #line 464 "rx-decode.opc"
4536 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4544 switch (op[1] & 0x00)
4547 goto op_semantics_30;
4553 switch (op[1] & 0x00)
4556 goto op_semantics_30;
4562 switch (op[1] & 0x00)
4565 goto op_semantics_30;
4571 switch (op[1] & 0xf0)
4576 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4577 #line 476 "rx-decode.opc"
4578 int im AU = op[0] & 0x03;
4579 #line 476 "rx-decode.opc"
4580 int rsrc AU = op[1] & 0x0f;
4583 printf ("\033[33m%s\033[0m %02x %02x\n",
4584 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4586 printf (" im = 0x%x,", im);
4587 printf (" rsrc = 0x%x\n", rsrc);
4589 SYNTAX("cmp #%2, %1%S1");
4590 #line 476 "rx-decode.opc"
4591 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4598 /** 0111 01im 0001rdst mul #%1, %0 */
4599 #line 552 "rx-decode.opc"
4600 int im AU = op[0] & 0x03;
4601 #line 552 "rx-decode.opc"
4602 int rdst AU = op[1] & 0x0f;
4605 printf ("\033[33m%s\033[0m %02x %02x\n",
4606 "/** 0111 01im 0001rdst mul #%1, %0 */",
4608 printf (" im = 0x%x,", im);
4609 printf (" rdst = 0x%x\n", rdst);
4611 SYNTAX("mul #%1, %0");
4612 #line 552 "rx-decode.opc"
4613 ID(mul); DR(rdst); SC(IMMex(im)); F_____;
4620 /** 0111 01im 0010 rdst and #%1, %0 */
4621 #line 368 "rx-decode.opc"
4622 int im AU = op[0] & 0x03;
4623 #line 368 "rx-decode.opc"
4624 int rdst AU = op[1] & 0x0f;
4627 printf ("\033[33m%s\033[0m %02x %02x\n",
4628 "/** 0111 01im 0010 rdst and #%1, %0 */",
4630 printf (" im = 0x%x,", im);
4631 printf (" rdst = 0x%x\n", rdst);
4633 SYNTAX("and #%1, %0");
4634 #line 368 "rx-decode.opc"
4635 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4642 /** 0111 01im 0011 rdst or #%1, %0 */
4643 #line 386 "rx-decode.opc"
4644 int im AU = op[0] & 0x03;
4645 #line 386 "rx-decode.opc"
4646 int rdst AU = op[1] & 0x0f;
4649 printf ("\033[33m%s\033[0m %02x %02x\n",
4650 "/** 0111 01im 0011 rdst or #%1, %0 */",
4652 printf (" im = 0x%x,", im);
4653 printf (" rdst = 0x%x\n", rdst);
4655 SYNTAX("or #%1, %0");
4656 #line 386 "rx-decode.opc"
4657 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4661 default: UNSUPPORTED(); break;
4666 switch (op[1] & 0xff)
4684 goto op_semantics_31;
4702 goto op_semantics_32;
4720 goto op_semantics_33;
4738 goto op_semantics_34;
4757 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4758 #line 261 "rx-decode.opc"
4759 int rdst AU = op[1] & 0x0f;
4762 printf ("\033[33m%s\033[0m %02x %02x\n",
4763 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4765 printf (" rdst = 0x%x\n", rdst);
4767 SYNTAX("mov%s #%1, %0");
4768 #line 261 "rx-decode.opc"
4769 ID(mov); DR(rdst); SC(IMM (1)); F_____;
4790 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4791 #line 479 "rx-decode.opc"
4792 int rsrc AU = op[1] & 0x0f;
4795 printf ("\033[33m%s\033[0m %02x %02x\n",
4796 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4798 printf (" rsrc = 0x%x\n", rsrc);
4800 SYNTAX("cmp #%2, %1");
4801 #line 479 "rx-decode.opc"
4802 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
4808 /** 0111 0101 0110 0000 int #%1 */
4811 printf ("\033[33m%s\033[0m %02x %02x\n",
4812 "/** 0111 0101 0110 0000 int #%1 */",
4816 #line 932 "rx-decode.opc"
4817 ID(int); SC(IMM(1));
4823 switch (op[2] & 0xf0)
4827 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4828 #line 899 "rx-decode.opc"
4829 int immm AU = op[2] & 0x0f;
4832 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4833 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4834 op[0], op[1], op[2]);
4835 printf (" immm = 0x%x\n", immm);
4837 SYNTAX("mvtipl #%1");
4838 #line 899 "rx-decode.opc"
4839 ID(mvtipl); SC(immm);
4843 default: UNSUPPORTED(); break;
4846 default: UNSUPPORTED(); break;
4851 switch (op[1] & 0xf0)
4854 goto op_semantics_31;
4857 goto op_semantics_32;
4860 goto op_semantics_33;
4863 goto op_semantics_34;
4865 default: UNSUPPORTED(); break;
4870 switch (op[1] & 0xf0)
4873 goto op_semantics_31;
4876 goto op_semantics_32;
4879 goto op_semantics_33;
4882 goto op_semantics_34;
4884 default: UNSUPPORTED(); break;
4889 switch (op[1] & 0x00)
4894 /** 0111 100b ittt rdst bset #%1, %0 */
4895 #line 850 "rx-decode.opc"
4896 int b AU = op[0] & 0x01;
4897 #line 850 "rx-decode.opc"
4898 int ittt AU = (op[1] >> 4) & 0x0f;
4899 #line 850 "rx-decode.opc"
4900 int rdst AU = op[1] & 0x0f;
4903 printf ("\033[33m%s\033[0m %02x %02x\n",
4904 "/** 0111 100b ittt rdst bset #%1, %0 */",
4906 printf (" b = 0x%x,", b);
4907 printf (" ittt = 0x%x,", ittt);
4908 printf (" rdst = 0x%x\n", rdst);
4910 SYNTAX("bset #%1, %0");
4911 #line 850 "rx-decode.opc"
4912 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4921 switch (op[1] & 0x00)
4924 goto op_semantics_35;
4930 switch (op[1] & 0x00)
4935 /** 0111 101b ittt rdst bclr #%1, %0 */
4936 #line 860 "rx-decode.opc"
4937 int b AU = op[0] & 0x01;
4938 #line 860 "rx-decode.opc"
4939 int ittt AU = (op[1] >> 4) & 0x0f;
4940 #line 860 "rx-decode.opc"
4941 int rdst AU = op[1] & 0x0f;
4944 printf ("\033[33m%s\033[0m %02x %02x\n",
4945 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4947 printf (" b = 0x%x,", b);
4948 printf (" ittt = 0x%x,", ittt);
4949 printf (" rdst = 0x%x\n", rdst);
4951 SYNTAX("bclr #%1, %0");
4952 #line 860 "rx-decode.opc"
4953 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4962 switch (op[1] & 0x00)
4965 goto op_semantics_36;
4971 switch (op[1] & 0x00)
4976 /** 0111 110b ittt rdst btst #%2, %1 */
4977 #line 870 "rx-decode.opc"
4978 int b AU = op[0] & 0x01;
4979 #line 870 "rx-decode.opc"
4980 int ittt AU = (op[1] >> 4) & 0x0f;
4981 #line 870 "rx-decode.opc"
4982 int rdst AU = op[1] & 0x0f;
4985 printf ("\033[33m%s\033[0m %02x %02x\n",
4986 "/** 0111 110b ittt rdst btst #%2, %1 */",
4988 printf (" b = 0x%x,", b);
4989 printf (" ittt = 0x%x,", ittt);
4990 printf (" rdst = 0x%x\n", rdst);
4992 SYNTAX("btst #%2, %1");
4993 #line 870 "rx-decode.opc"
4994 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5003 switch (op[1] & 0x00)
5006 goto op_semantics_37;
5012 switch (op[1] & 0xf0)
5016 /** 0111 1110 0000 rdst not %0 */
5017 #line 413 "rx-decode.opc"
5018 int rdst AU = op[1] & 0x0f;
5021 printf ("\033[33m%s\033[0m %02x %02x\n",
5022 "/** 0111 1110 0000 rdst not %0 */",
5024 printf (" rdst = 0x%x\n", rdst);
5027 #line 413 "rx-decode.opc"
5028 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5034 /** 0111 1110 0001 rdst neg %0 */
5035 #line 434 "rx-decode.opc"
5036 int rdst AU = op[1] & 0x0f;
5039 printf ("\033[33m%s\033[0m %02x %02x\n",
5040 "/** 0111 1110 0001 rdst neg %0 */",
5042 printf (" rdst = 0x%x\n", rdst);
5045 #line 434 "rx-decode.opc"
5046 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5052 /** 0111 1110 0010 rdst abs %0 */
5053 #line 516 "rx-decode.opc"
5054 int rdst AU = op[1] & 0x0f;
5057 printf ("\033[33m%s\033[0m %02x %02x\n",
5058 "/** 0111 1110 0010 rdst abs %0 */",
5060 printf (" rdst = 0x%x\n", rdst);
5063 #line 516 "rx-decode.opc"
5064 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5070 /** 0111 1110 0011 rdst sat %0 */
5071 #line 790 "rx-decode.opc"
5072 int rdst AU = op[1] & 0x0f;
5075 printf ("\033[33m%s\033[0m %02x %02x\n",
5076 "/** 0111 1110 0011 rdst sat %0 */",
5078 printf (" rdst = 0x%x\n", rdst);
5081 #line 790 "rx-decode.opc"
5088 /** 0111 1110 0100 rdst rorc %0 */
5089 #line 650 "rx-decode.opc"
5090 int rdst AU = op[1] & 0x0f;
5093 printf ("\033[33m%s\033[0m %02x %02x\n",
5094 "/** 0111 1110 0100 rdst rorc %0 */",
5096 printf (" rdst = 0x%x\n", rdst);
5099 #line 650 "rx-decode.opc"
5100 ID(rorc); DR(rdst); F__SZC;
5106 /** 0111 1110 0101 rdst rolc %0 */
5107 #line 647 "rx-decode.opc"
5108 int rdst AU = op[1] & 0x0f;
5111 printf ("\033[33m%s\033[0m %02x %02x\n",
5112 "/** 0111 1110 0101 rdst rolc %0 */",
5114 printf (" rdst = 0x%x\n", rdst);
5117 #line 647 "rx-decode.opc"
5118 ID(rolc); DR(rdst); F__SZC;
5126 /** 0111 1110 10sz rsrc push%s %1 */
5127 #line 329 "rx-decode.opc"
5128 int sz AU = (op[1] >> 4) & 0x03;
5129 #line 329 "rx-decode.opc"
5130 int rsrc AU = op[1] & 0x0f;
5133 printf ("\033[33m%s\033[0m %02x %02x\n",
5134 "/** 0111 1110 10sz rsrc push%s %1 */",
5136 printf (" sz = 0x%x,", sz);
5137 printf (" rsrc = 0x%x\n", rsrc);
5139 SYNTAX("push%s %1");
5140 #line 329 "rx-decode.opc"
5141 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5147 /** 0111 1110 1011 rdst pop %0 */
5148 #line 326 "rx-decode.opc"
5149 int rdst AU = op[1] & 0x0f;
5152 printf ("\033[33m%s\033[0m %02x %02x\n",
5153 "/** 0111 1110 1011 rdst pop %0 */",
5155 printf (" rdst = 0x%x\n", rdst);
5158 #line 326 "rx-decode.opc"
5159 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5166 /** 0111 1110 110 crsrc pushc %1 */
5167 #line 905 "rx-decode.opc"
5168 int crsrc AU = op[1] & 0x1f;
5171 printf ("\033[33m%s\033[0m %02x %02x\n",
5172 "/** 0111 1110 110 crsrc pushc %1 */",
5174 printf (" crsrc = 0x%x\n", crsrc);
5177 #line 905 "rx-decode.opc"
5178 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5185 /** 0111 1110 111 crdst popc %0 */
5186 #line 902 "rx-decode.opc"
5187 int crdst AU = op[1] & 0x1f;
5190 printf ("\033[33m%s\033[0m %02x %02x\n",
5191 "/** 0111 1110 111 crdst popc %0 */",
5193 printf (" crdst = 0x%x\n", crdst);
5196 #line 902 "rx-decode.opc"
5197 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5201 default: UNSUPPORTED(); break;
5206 switch (op[1] & 0xff)
5225 /** 0111 1111 0000 rsrc jmp %0 */
5226 #line 700 "rx-decode.opc"
5227 int rsrc AU = op[1] & 0x0f;
5230 printf ("\033[33m%s\033[0m %02x %02x\n",
5231 "/** 0111 1111 0000 rsrc jmp %0 */",
5233 printf (" rsrc = 0x%x\n", rsrc);
5236 #line 700 "rx-decode.opc"
5237 ID(branch); Scc(RXC_always); DR(rsrc);
5258 /** 0111 1111 0001 rsrc jsr %0 */
5259 #line 703 "rx-decode.opc"
5260 int rsrc AU = op[1] & 0x0f;
5263 printf ("\033[33m%s\033[0m %02x %02x\n",
5264 "/** 0111 1111 0001 rsrc jsr %0 */",
5266 printf (" rsrc = 0x%x\n", rsrc);
5269 #line 703 "rx-decode.opc"
5291 /** 0111 1111 0100 rsrc bra.l %0 */
5292 #line 696 "rx-decode.opc"
5293 int rsrc AU = op[1] & 0x0f;
5296 printf ("\033[33m%s\033[0m %02x %02x\n",
5297 "/** 0111 1111 0100 rsrc bra.l %0 */",
5299 printf (" rsrc = 0x%x\n", rsrc);
5302 #line 696 "rx-decode.opc"
5303 ID(branchrel); Scc(RXC_always); DR(rsrc);
5325 /** 0111 1111 0101 rsrc bsr.l %0 */
5326 #line 712 "rx-decode.opc"
5327 int rsrc AU = op[1] & 0x0f;
5330 printf ("\033[33m%s\033[0m %02x %02x\n",
5331 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5333 printf (" rsrc = 0x%x\n", rsrc);
5336 #line 712 "rx-decode.opc"
5337 ID(jsrrel); DR(rsrc);
5345 /** 0111 1111 1000 00sz suntil%s */
5346 #line 736 "rx-decode.opc"
5347 int sz AU = op[1] & 0x03;
5350 printf ("\033[33m%s\033[0m %02x %02x\n",
5351 "/** 0111 1111 1000 00sz suntil%s */",
5353 printf (" sz = 0x%x\n", sz);
5356 #line 736 "rx-decode.opc"
5357 ID(suntil); BWL(sz); F___ZC;
5363 /** 0111 1111 1000 0011 scmpu */
5366 printf ("\033[33m%s\033[0m %02x %02x\n",
5367 "/** 0111 1111 1000 0011 scmpu */",
5371 #line 727 "rx-decode.opc"
5380 /** 0111 1111 1000 01sz swhile%s */
5381 #line 739 "rx-decode.opc"
5382 int sz AU = op[1] & 0x03;
5385 printf ("\033[33m%s\033[0m %02x %02x\n",
5386 "/** 0111 1111 1000 01sz swhile%s */",
5388 printf (" sz = 0x%x\n", sz);
5391 #line 739 "rx-decode.opc"
5392 ID(swhile); BWL(sz); F___ZC;
5398 /** 0111 1111 1000 0111 smovu */
5401 printf ("\033[33m%s\033[0m %02x %02x\n",
5402 "/** 0111 1111 1000 0111 smovu */",
5406 #line 730 "rx-decode.opc"
5415 /** 0111 1111 1000 10sz sstr%s */
5416 #line 745 "rx-decode.opc"
5417 int sz AU = op[1] & 0x03;
5420 printf ("\033[33m%s\033[0m %02x %02x\n",
5421 "/** 0111 1111 1000 10sz sstr%s */",
5423 printf (" sz = 0x%x\n", sz);
5426 #line 745 "rx-decode.opc"
5429 /*----------------------------------------------------------------------*/
5436 /** 0111 1111 1000 1011 smovb */
5439 printf ("\033[33m%s\033[0m %02x %02x\n",
5440 "/** 0111 1111 1000 1011 smovb */",
5444 #line 733 "rx-decode.opc"
5453 /** 0111 1111 1000 11sz rmpa%s */
5454 #line 751 "rx-decode.opc"
5455 int sz AU = op[1] & 0x03;
5458 printf ("\033[33m%s\033[0m %02x %02x\n",
5459 "/** 0111 1111 1000 11sz rmpa%s */",
5461 printf (" sz = 0x%x\n", sz);
5464 #line 751 "rx-decode.opc"
5465 ID(rmpa); BWL(sz); F_OS__;
5467 /*----------------------------------------------------------------------*/
5474 /** 0111 1111 1000 1111 smovf */
5477 printf ("\033[33m%s\033[0m %02x %02x\n",
5478 "/** 0111 1111 1000 1111 smovf */",
5482 #line 742 "rx-decode.opc"
5489 /** 0111 1111 1001 0011 satr */
5492 printf ("\033[33m%s\033[0m %02x %02x\n",
5493 "/** 0111 1111 1001 0011 satr */",
5497 #line 793 "rx-decode.opc"
5500 /*----------------------------------------------------------------------*/
5507 /** 0111 1111 1001 0100 rtfi */
5510 printf ("\033[33m%s\033[0m %02x %02x\n",
5511 "/** 0111 1111 1001 0100 rtfi */",
5515 #line 920 "rx-decode.opc"
5522 /** 0111 1111 1001 0101 rte */
5525 printf ("\033[33m%s\033[0m %02x %02x\n",
5526 "/** 0111 1111 1001 0101 rte */",
5530 #line 923 "rx-decode.opc"
5537 /** 0111 1111 1001 0110 wait */
5540 printf ("\033[33m%s\033[0m %02x %02x\n",
5541 "/** 0111 1111 1001 0110 wait */",
5545 #line 935 "rx-decode.opc"
5548 /*----------------------------------------------------------------------*/
5570 /** 0111 1111 1010 rdst setpsw %0 */
5571 #line 896 "rx-decode.opc"
5572 int rdst AU = op[1] & 0x0f;
5575 printf ("\033[33m%s\033[0m %02x %02x\n",
5576 "/** 0111 1111 1010 rdst setpsw %0 */",
5578 printf (" rdst = 0x%x\n", rdst);
5580 SYNTAX("setpsw %0");
5581 #line 896 "rx-decode.opc"
5582 ID(setpsw); DF(rdst);
5603 /** 0111 1111 1011 rdst clrpsw %0 */
5604 #line 893 "rx-decode.opc"
5605 int rdst AU = op[1] & 0x0f;
5608 printf ("\033[33m%s\033[0m %02x %02x\n",
5609 "/** 0111 1111 1011 rdst clrpsw %0 */",
5611 printf (" rdst = 0x%x\n", rdst);
5613 SYNTAX("clrpsw %0");
5614 #line 893 "rx-decode.opc"
5615 ID(clrpsw); DF(rdst);
5619 default: UNSUPPORTED(); break;
5624 switch (op[1] & 0x00)
5629 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5630 #line 287 "rx-decode.opc"
5631 int sz AU = (op[0] >> 4) & 0x03;
5632 #line 287 "rx-decode.opc"
5633 int dsp AU = op[0] & 0x07;
5634 #line 287 "rx-decode.opc"
5635 int a AU = (op[1] >> 7) & 0x01;
5636 #line 287 "rx-decode.opc"
5637 int dst AU = (op[1] >> 4) & 0x07;
5638 #line 287 "rx-decode.opc"
5639 int b AU = (op[1] >> 3) & 0x01;
5640 #line 287 "rx-decode.opc"
5641 int src AU = op[1] & 0x07;
5644 printf ("\033[33m%s\033[0m %02x %02x\n",
5645 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5647 printf (" sz = 0x%x,", sz);
5648 printf (" dsp = 0x%x,", dsp);
5649 printf (" a = 0x%x,", a);
5650 printf (" dst = 0x%x,", dst);
5651 printf (" b = 0x%x,", b);
5652 printf (" src = 0x%x\n", src);
5654 SYNTAX("mov%s %1, %0");
5655 #line 287 "rx-decode.opc"
5656 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5664 switch (op[1] & 0x00)
5667 goto op_semantics_38;
5673 switch (op[1] & 0x00)
5676 goto op_semantics_38;
5682 switch (op[1] & 0x00)
5685 goto op_semantics_38;
5691 switch (op[1] & 0x00)
5694 goto op_semantics_38;
5700 switch (op[1] & 0x00)
5703 goto op_semantics_38;
5709 switch (op[1] & 0x00)
5712 goto op_semantics_38;
5718 switch (op[1] & 0x00)
5721 goto op_semantics_38;
5727 switch (op[1] & 0x00)
5732 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5733 #line 284 "rx-decode.opc"
5734 int sz AU = (op[0] >> 4) & 0x03;
5735 #line 284 "rx-decode.opc"
5736 int dsp AU = op[0] & 0x07;
5737 #line 284 "rx-decode.opc"
5738 int a AU = (op[1] >> 7) & 0x01;
5739 #line 284 "rx-decode.opc"
5740 int src AU = (op[1] >> 4) & 0x07;
5741 #line 284 "rx-decode.opc"
5742 int b AU = (op[1] >> 3) & 0x01;
5743 #line 284 "rx-decode.opc"
5744 int dst AU = op[1] & 0x07;
5747 printf ("\033[33m%s\033[0m %02x %02x\n",
5748 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5750 printf (" sz = 0x%x,", sz);
5751 printf (" dsp = 0x%x,", dsp);
5752 printf (" a = 0x%x,", a);
5753 printf (" src = 0x%x,", src);
5754 printf (" b = 0x%x,", b);
5755 printf (" dst = 0x%x\n", dst);
5757 SYNTAX("mov%s %1, %0");
5758 #line 284 "rx-decode.opc"
5759 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5767 switch (op[1] & 0x00)
5770 goto op_semantics_39;
5776 switch (op[1] & 0x00)
5779 goto op_semantics_39;
5785 switch (op[1] & 0x00)
5788 goto op_semantics_39;
5794 switch (op[1] & 0x00)
5797 goto op_semantics_39;
5803 switch (op[1] & 0x00)
5806 goto op_semantics_39;
5812 switch (op[1] & 0x00)
5815 goto op_semantics_39;
5821 switch (op[1] & 0x00)
5824 goto op_semantics_39;
5830 switch (op[1] & 0x00)
5833 goto op_semantics_38;
5839 switch (op[1] & 0x00)
5842 goto op_semantics_38;
5848 switch (op[1] & 0x00)
5851 goto op_semantics_38;
5857 switch (op[1] & 0x00)
5860 goto op_semantics_38;
5866 switch (op[1] & 0x00)
5869 goto op_semantics_38;
5875 switch (op[1] & 0x00)
5878 goto op_semantics_38;
5884 switch (op[1] & 0x00)
5887 goto op_semantics_38;
5893 switch (op[1] & 0x00)
5896 goto op_semantics_38;
5902 switch (op[1] & 0x00)
5905 goto op_semantics_39;
5911 switch (op[1] & 0x00)
5914 goto op_semantics_39;
5920 switch (op[1] & 0x00)
5923 goto op_semantics_39;
5929 switch (op[1] & 0x00)
5932 goto op_semantics_39;
5938 switch (op[1] & 0x00)
5941 goto op_semantics_39;
5947 switch (op[1] & 0x00)
5950 goto op_semantics_39;
5956 switch (op[1] & 0x00)
5959 goto op_semantics_39;
5965 switch (op[1] & 0x00)
5968 goto op_semantics_39;
5974 switch (op[1] & 0x00)
5977 goto op_semantics_38;
5983 switch (op[1] & 0x00)
5986 goto op_semantics_38;
5992 switch (op[1] & 0x00)
5995 goto op_semantics_38;
6001 switch (op[1] & 0x00)
6004 goto op_semantics_38;
6010 switch (op[1] & 0x00)
6013 goto op_semantics_38;
6019 switch (op[1] & 0x00)
6022 goto op_semantics_38;
6028 switch (op[1] & 0x00)
6031 goto op_semantics_38;
6037 switch (op[1] & 0x00)
6040 goto op_semantics_38;
6046 switch (op[1] & 0x00)
6049 goto op_semantics_39;
6055 switch (op[1] & 0x00)
6058 goto op_semantics_39;
6064 switch (op[1] & 0x00)
6067 goto op_semantics_39;
6073 switch (op[1] & 0x00)
6076 goto op_semantics_39;
6082 switch (op[1] & 0x00)
6085 goto op_semantics_39;
6091 switch (op[1] & 0x00)
6094 goto op_semantics_39;
6100 switch (op[1] & 0x00)
6103 goto op_semantics_39;
6109 switch (op[1] & 0x00)
6112 goto op_semantics_39;
6118 switch (op[1] & 0x00)
6123 /** 1011 w dsp a src b dst movu%s %1, %0 */
6124 #line 307 "rx-decode.opc"
6125 int w AU = (op[0] >> 3) & 0x01;
6126 #line 307 "rx-decode.opc"
6127 int dsp AU = op[0] & 0x07;
6128 #line 307 "rx-decode.opc"
6129 int a AU = (op[1] >> 7) & 0x01;
6130 #line 307 "rx-decode.opc"
6131 int src AU = (op[1] >> 4) & 0x07;
6132 #line 307 "rx-decode.opc"
6133 int b AU = (op[1] >> 3) & 0x01;
6134 #line 307 "rx-decode.opc"
6135 int dst AU = op[1] & 0x07;
6138 printf ("\033[33m%s\033[0m %02x %02x\n",
6139 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6141 printf (" w = 0x%x,", w);
6142 printf (" dsp = 0x%x,", dsp);
6143 printf (" a = 0x%x,", a);
6144 printf (" src = 0x%x,", src);
6145 printf (" b = 0x%x,", b);
6146 printf (" dst = 0x%x\n", dst);
6148 SYNTAX("movu%s %1, %0");
6149 #line 307 "rx-decode.opc"
6150 ID(mov); uBWL(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6158 switch (op[1] & 0x00)
6161 goto op_semantics_40;
6167 switch (op[1] & 0x00)
6170 goto op_semantics_40;
6176 switch (op[1] & 0x00)
6179 goto op_semantics_40;
6185 switch (op[1] & 0x00)
6188 goto op_semantics_40;
6194 switch (op[1] & 0x00)
6197 goto op_semantics_40;
6203 switch (op[1] & 0x00)
6206 goto op_semantics_40;
6212 switch (op[1] & 0x00)
6215 goto op_semantics_40;
6221 switch (op[1] & 0x00)
6224 goto op_semantics_40;
6230 switch (op[1] & 0x00)
6233 goto op_semantics_40;
6239 switch (op[1] & 0x00)
6242 goto op_semantics_40;
6248 switch (op[1] & 0x00)
6251 goto op_semantics_40;
6257 switch (op[1] & 0x00)
6260 goto op_semantics_40;
6266 switch (op[1] & 0x00)
6269 goto op_semantics_40;
6275 switch (op[1] & 0x00)
6278 goto op_semantics_40;
6284 switch (op[1] & 0x00)
6287 goto op_semantics_40;
6293 switch (op[1] & 0x00)
6298 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6299 #line 273 "rx-decode.opc"
6300 int sz AU = (op[0] >> 4) & 0x03;
6301 #line 273 "rx-decode.opc"
6302 int sd AU = (op[0] >> 2) & 0x03;
6303 #line 273 "rx-decode.opc"
6304 int ss AU = op[0] & 0x03;
6305 #line 273 "rx-decode.opc"
6306 int rsrc AU = (op[1] >> 4) & 0x0f;
6307 #line 273 "rx-decode.opc"
6308 int rdst AU = op[1] & 0x0f;
6311 printf ("\033[33m%s\033[0m %02x %02x\n",
6312 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6314 printf (" sz = 0x%x,", sz);
6315 printf (" sd = 0x%x,", sd);
6316 printf (" ss = 0x%x,", ss);
6317 printf (" rsrc = 0x%x,", rsrc);
6318 printf (" rdst = 0x%x\n", rdst);
6320 SYNTAX("mov%s %1, %0");
6321 #line 273 "rx-decode.opc"
6322 ID(mov); sBWL(sz); F_____;
6323 if ((ss == 3) && (sd != 3))
6325 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6329 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6338 switch (op[1] & 0x00)
6341 goto op_semantics_41;
6347 switch (op[1] & 0x00)
6350 goto op_semantics_41;
6356 switch (op[1] & 0x00)
6359 goto op_semantics_41;
6365 switch (op[1] & 0x00)
6368 goto op_semantics_41;
6374 switch (op[1] & 0x00)
6377 goto op_semantics_41;
6383 switch (op[1] & 0x00)
6386 goto op_semantics_41;
6392 switch (op[1] & 0x00)
6395 goto op_semantics_41;
6401 switch (op[1] & 0x00)
6404 goto op_semantics_41;
6410 switch (op[1] & 0x00)
6413 goto op_semantics_41;
6419 switch (op[1] & 0x00)
6422 goto op_semantics_41;
6428 switch (op[1] & 0x00)
6431 goto op_semantics_41;
6437 switch (op[1] & 0x00)
6440 goto op_semantics_41;
6446 switch (op[1] & 0x00)
6449 goto op_semantics_41;
6455 switch (op[1] & 0x00)
6458 goto op_semantics_41;
6464 switch (op[1] & 0x00)
6467 goto op_semantics_41;
6473 switch (op[1] & 0x00)
6476 goto op_semantics_41;
6482 switch (op[1] & 0x00)
6485 goto op_semantics_41;
6491 switch (op[1] & 0x00)
6494 goto op_semantics_41;
6500 switch (op[1] & 0x00)
6503 goto op_semantics_41;
6509 switch (op[1] & 0x00)
6512 goto op_semantics_41;
6518 switch (op[1] & 0x00)
6521 goto op_semantics_41;
6527 switch (op[1] & 0x00)
6530 goto op_semantics_41;
6536 switch (op[1] & 0x00)
6539 goto op_semantics_41;
6545 switch (op[1] & 0x00)
6548 goto op_semantics_41;
6554 switch (op[1] & 0x00)
6557 goto op_semantics_41;
6563 switch (op[1] & 0x00)
6566 goto op_semantics_41;
6572 switch (op[1] & 0x00)
6575 goto op_semantics_41;
6581 switch (op[1] & 0x00)
6584 goto op_semantics_41;
6590 switch (op[1] & 0x00)
6593 goto op_semantics_41;
6599 switch (op[1] & 0x00)
6602 goto op_semantics_41;
6608 switch (op[1] & 0x00)
6611 goto op_semantics_41;
6617 switch (op[1] & 0x00)
6620 goto op_semantics_41;
6626 switch (op[1] & 0x00)
6629 goto op_semantics_41;
6635 switch (op[1] & 0x00)
6638 goto op_semantics_41;
6644 switch (op[1] & 0x00)
6647 goto op_semantics_41;
6653 switch (op[1] & 0x00)
6656 goto op_semantics_41;
6662 switch (op[1] & 0x00)
6665 goto op_semantics_41;
6671 switch (op[1] & 0x00)
6674 goto op_semantics_41;
6680 switch (op[1] & 0x00)
6683 goto op_semantics_41;
6689 switch (op[1] & 0x00)
6692 goto op_semantics_41;
6698 switch (op[1] & 0x00)
6701 goto op_semantics_41;
6707 switch (op[1] & 0x00)
6710 goto op_semantics_41;
6716 switch (op[1] & 0x00)
6719 goto op_semantics_41;
6725 switch (op[1] & 0x00)
6728 goto op_semantics_41;
6734 switch (op[1] & 0x00)
6737 goto op_semantics_41;
6743 switch (op[1] & 0x00)
6746 goto op_semantics_41;
6752 switch (op[1] & 0x00)
6755 goto op_semantics_41;
6761 switch (op[1] & 0x08)
6766 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6767 #line 844 "rx-decode.opc"
6768 int sd AU = op[0] & 0x03;
6769 #line 844 "rx-decode.opc"
6770 int rdst AU = (op[1] >> 4) & 0x0f;
6771 #line 844 "rx-decode.opc"
6772 int bit AU = op[1] & 0x07;
6775 printf ("\033[33m%s\033[0m %02x %02x\n",
6776 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6778 printf (" sd = 0x%x,", sd);
6779 printf (" rdst = 0x%x,", rdst);
6780 printf (" bit = 0x%x\n", bit);
6782 SYNTAX("bset #%1, %0%S0");
6783 #line 844 "rx-decode.opc"
6784 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6791 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6792 #line 854 "rx-decode.opc"
6793 int sd AU = op[0] & 0x03;
6794 #line 854 "rx-decode.opc"
6795 int rdst AU = (op[1] >> 4) & 0x0f;
6796 #line 854 "rx-decode.opc"
6797 int bit AU = op[1] & 0x07;
6800 printf ("\033[33m%s\033[0m %02x %02x\n",
6801 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6803 printf (" sd = 0x%x,", sd);
6804 printf (" rdst = 0x%x,", rdst);
6805 printf (" bit = 0x%x\n", bit);
6807 SYNTAX("bclr #%1, %0%S0");
6808 #line 854 "rx-decode.opc"
6809 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6817 switch (op[1] & 0x08)
6820 goto op_semantics_42;
6823 goto op_semantics_43;
6829 switch (op[1] & 0x08)
6832 goto op_semantics_42;
6835 goto op_semantics_43;
6841 switch (op[1] & 0x08)
6844 goto op_semantics_42;
6847 goto op_semantics_43;
6853 switch (op[1] & 0x0c)
6859 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6860 #line 864 "rx-decode.opc"
6861 int sd AU = op[0] & 0x03;
6862 #line 864 "rx-decode.opc"
6863 int rdst AU = (op[1] >> 4) & 0x0f;
6864 #line 864 "rx-decode.opc"
6865 int bit AU = op[1] & 0x07;
6868 printf ("\033[33m%s\033[0m %02x %02x\n",
6869 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6871 printf (" sd = 0x%x,", sd);
6872 printf (" rdst = 0x%x,", rdst);
6873 printf (" bit = 0x%x\n", bit);
6875 SYNTAX("btst #%2, %1%S1");
6876 #line 864 "rx-decode.opc"
6877 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
6884 /** 1111 01ss rsrc 10sz push%s %1 */
6885 #line 332 "rx-decode.opc"
6886 int ss AU = op[0] & 0x03;
6887 #line 332 "rx-decode.opc"
6888 int rsrc AU = (op[1] >> 4) & 0x0f;
6889 #line 332 "rx-decode.opc"
6890 int sz AU = op[1] & 0x03;
6893 printf ("\033[33m%s\033[0m %02x %02x\n",
6894 "/** 1111 01ss rsrc 10sz push%s %1 */",
6896 printf (" ss = 0x%x,", ss);
6897 printf (" rsrc = 0x%x,", rsrc);
6898 printf (" sz = 0x%x\n", sz);
6900 SYNTAX("push%s %1");
6901 #line 332 "rx-decode.opc"
6902 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
6904 /*----------------------------------------------------------------------*/
6909 default: UNSUPPORTED(); break;
6914 switch (op[1] & 0x0c)
6918 goto op_semantics_44;
6921 goto op_semantics_45;
6923 default: UNSUPPORTED(); break;
6928 switch (op[1] & 0x0c)
6932 goto op_semantics_44;
6935 goto op_semantics_45;
6937 default: UNSUPPORTED(); break;
6942 switch (op[1] & 0x0c)
6946 goto op_semantics_44;
6949 goto op_semantics_45;
6951 default: UNSUPPORTED(); break;
6956 switch (op[1] & 0x00)
6961 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6962 #line 264 "rx-decode.opc"
6963 int sd AU = op[0] & 0x03;
6964 #line 264 "rx-decode.opc"
6965 int rdst AU = (op[1] >> 4) & 0x0f;
6966 #line 264 "rx-decode.opc"
6967 int im AU = (op[1] >> 2) & 0x03;
6968 #line 264 "rx-decode.opc"
6969 int sz AU = op[1] & 0x03;
6972 printf ("\033[33m%s\033[0m %02x %02x\n",
6973 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
6975 printf (" sd = 0x%x,", sd);
6976 printf (" rdst = 0x%x,", rdst);
6977 printf (" im = 0x%x,", im);
6978 printf (" sz = 0x%x\n", sz);
6980 SYNTAX("mov%s #%1, %0");
6981 #line 264 "rx-decode.opc"
6982 ID(mov); sBWL (sz); DD(sd, rdst, sz); SC(IMMex(im)); F_____;
6990 switch (op[1] & 0x00)
6993 goto op_semantics_46;
6999 switch (op[1] & 0x00)
7002 goto op_semantics_46;
7008 switch (op[1] & 0x00)
7011 goto op_semantics_46;
7017 switch (op[1] & 0xff)
7021 switch (op[2] & 0x00)
7025 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7026 #line 506 "rx-decode.opc"
7027 int rsrc AU = (op[2] >> 4) & 0x0f;
7028 #line 506 "rx-decode.opc"
7029 int rdst AU = op[2] & 0x0f;
7032 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7033 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7034 op[0], op[1], op[2]);
7035 printf (" rsrc = 0x%x,", rsrc);
7036 printf (" rdst = 0x%x\n", rdst);
7038 SYNTAX("sbb %1, %0");
7039 #line 506 "rx-decode.opc"
7040 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7042 /* FIXME: only supports .L */
7049 switch (op[2] & 0x00)
7053 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7054 #line 437 "rx-decode.opc"
7055 int rsrc AU = (op[2] >> 4) & 0x0f;
7056 #line 437 "rx-decode.opc"
7057 int rdst AU = op[2] & 0x0f;
7060 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7061 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7062 op[0], op[1], op[2]);
7063 printf (" rsrc = 0x%x,", rsrc);
7064 printf (" rdst = 0x%x\n", rdst);
7066 SYNTAX("neg %2, %0");
7067 #line 437 "rx-decode.opc"
7068 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7070 /*----------------------------------------------------------------------*/
7079 switch (op[2] & 0x00)
7083 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7084 #line 446 "rx-decode.opc"
7085 int rsrc AU = (op[2] >> 4) & 0x0f;
7086 #line 446 "rx-decode.opc"
7087 int rdst AU = op[2] & 0x0f;
7090 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7091 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7092 op[0], op[1], op[2]);
7093 printf (" rsrc = 0x%x,", rsrc);
7094 printf (" rdst = 0x%x\n", rdst);
7096 SYNTAX("adc %1, %0");
7097 #line 446 "rx-decode.opc"
7098 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7106 switch (op[2] & 0x00)
7110 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7111 #line 519 "rx-decode.opc"
7112 int rsrc AU = (op[2] >> 4) & 0x0f;
7113 #line 519 "rx-decode.opc"
7114 int rdst AU = op[2] & 0x0f;
7117 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7118 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7119 op[0], op[1], op[2]);
7120 printf (" rsrc = 0x%x,", rsrc);
7121 printf (" rdst = 0x%x\n", rdst);
7123 SYNTAX("abs %1, %0");
7124 #line 519 "rx-decode.opc"
7125 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7127 /*----------------------------------------------------------------------*/
7136 switch (op[2] & 0x00)
7141 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7142 #line 528 "rx-decode.opc"
7143 int ss AU = op[1] & 0x03;
7144 #line 528 "rx-decode.opc"
7145 int rsrc AU = (op[2] >> 4) & 0x0f;
7146 #line 528 "rx-decode.opc"
7147 int rdst AU = op[2] & 0x0f;
7150 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7151 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7152 op[0], op[1], op[2]);
7153 printf (" ss = 0x%x,", ss);
7154 printf (" rsrc = 0x%x,", rsrc);
7155 printf (" rdst = 0x%x\n", rdst);
7157 SYNTAX("max %1%S1, %0");
7158 #line 528 "rx-decode.opc"
7159 ID(max); SP(ss, rsrc); DR(rdst);
7167 switch (op[2] & 0x00)
7170 goto op_semantics_47;
7176 switch (op[2] & 0x00)
7179 goto op_semantics_47;
7185 switch (op[2] & 0x00)
7188 goto op_semantics_47;
7194 switch (op[2] & 0x00)
7199 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7200 #line 540 "rx-decode.opc"
7201 int ss AU = op[1] & 0x03;
7202 #line 540 "rx-decode.opc"
7203 int rsrc AU = (op[2] >> 4) & 0x0f;
7204 #line 540 "rx-decode.opc"
7205 int rdst AU = op[2] & 0x0f;
7208 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7209 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7210 op[0], op[1], op[2]);
7211 printf (" ss = 0x%x,", ss);
7212 printf (" rsrc = 0x%x,", rsrc);
7213 printf (" rdst = 0x%x\n", rdst);
7215 SYNTAX("min %1%S1, %0");
7216 #line 540 "rx-decode.opc"
7217 ID(min); SP(ss, rsrc); DR(rdst);
7225 switch (op[2] & 0x00)
7228 goto op_semantics_48;
7234 switch (op[2] & 0x00)
7237 goto op_semantics_48;
7243 switch (op[2] & 0x00)
7246 goto op_semantics_48;
7252 switch (op[2] & 0x00)
7257 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7258 #line 570 "rx-decode.opc"
7259 int ss AU = op[1] & 0x03;
7260 #line 570 "rx-decode.opc"
7261 int rsrc AU = (op[2] >> 4) & 0x0f;
7262 #line 570 "rx-decode.opc"
7263 int rdst AU = op[2] & 0x0f;
7266 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7267 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7268 op[0], op[1], op[2]);
7269 printf (" ss = 0x%x,", ss);
7270 printf (" rsrc = 0x%x,", rsrc);
7271 printf (" rdst = 0x%x\n", rdst);
7273 SYNTAX("emul %1%S1, %0");
7274 #line 570 "rx-decode.opc"
7275 ID(emul); SP(ss, rsrc); DR(rdst);
7283 switch (op[2] & 0x00)
7286 goto op_semantics_49;
7292 switch (op[2] & 0x00)
7295 goto op_semantics_49;
7301 switch (op[2] & 0x00)
7304 goto op_semantics_49;
7310 switch (op[2] & 0x00)
7315 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7316 #line 582 "rx-decode.opc"
7317 int ss AU = op[1] & 0x03;
7318 #line 582 "rx-decode.opc"
7319 int rsrc AU = (op[2] >> 4) & 0x0f;
7320 #line 582 "rx-decode.opc"
7321 int rdst AU = op[2] & 0x0f;
7324 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7325 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7326 op[0], op[1], op[2]);
7327 printf (" ss = 0x%x,", ss);
7328 printf (" rsrc = 0x%x,", rsrc);
7329 printf (" rdst = 0x%x\n", rdst);
7331 SYNTAX("emulu %1%S1, %0");
7332 #line 582 "rx-decode.opc"
7333 ID(emulu); SP(ss, rsrc); DR(rdst);
7341 switch (op[2] & 0x00)
7344 goto op_semantics_50;
7350 switch (op[2] & 0x00)
7353 goto op_semantics_50;
7359 switch (op[2] & 0x00)
7362 goto op_semantics_50;
7368 switch (op[2] & 0x00)
7373 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7374 #line 594 "rx-decode.opc"
7375 int ss AU = op[1] & 0x03;
7376 #line 594 "rx-decode.opc"
7377 int rsrc AU = (op[2] >> 4) & 0x0f;
7378 #line 594 "rx-decode.opc"
7379 int rdst AU = op[2] & 0x0f;
7382 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7383 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7384 op[0], op[1], op[2]);
7385 printf (" ss = 0x%x,", ss);
7386 printf (" rsrc = 0x%x,", rsrc);
7387 printf (" rdst = 0x%x\n", rdst);
7389 SYNTAX("div %1%S1, %0");
7390 #line 594 "rx-decode.opc"
7391 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7399 switch (op[2] & 0x00)
7402 goto op_semantics_51;
7408 switch (op[2] & 0x00)
7411 goto op_semantics_51;
7417 switch (op[2] & 0x00)
7420 goto op_semantics_51;
7426 switch (op[2] & 0x00)
7431 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7432 #line 606 "rx-decode.opc"
7433 int ss AU = op[1] & 0x03;
7434 #line 606 "rx-decode.opc"
7435 int rsrc AU = (op[2] >> 4) & 0x0f;
7436 #line 606 "rx-decode.opc"
7437 int rdst AU = op[2] & 0x0f;
7440 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7441 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7442 op[0], op[1], op[2]);
7443 printf (" ss = 0x%x,", ss);
7444 printf (" rsrc = 0x%x,", rsrc);
7445 printf (" rdst = 0x%x\n", rdst);
7447 SYNTAX("divu %1%S1, %0");
7448 #line 606 "rx-decode.opc"
7449 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7457 switch (op[2] & 0x00)
7460 goto op_semantics_52;
7466 switch (op[2] & 0x00)
7469 goto op_semantics_52;
7475 switch (op[2] & 0x00)
7478 goto op_semantics_52;
7484 switch (op[2] & 0x00)
7489 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7490 #line 425 "rx-decode.opc"
7491 int ss AU = op[1] & 0x03;
7492 #line 425 "rx-decode.opc"
7493 int rsrc AU = (op[2] >> 4) & 0x0f;
7494 #line 425 "rx-decode.opc"
7495 int rdst AU = op[2] & 0x0f;
7498 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7499 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7500 op[0], op[1], op[2]);
7501 printf (" ss = 0x%x,", ss);
7502 printf (" rsrc = 0x%x,", rsrc);
7503 printf (" rdst = 0x%x\n", rdst);
7505 SYNTAX("tst %1%S1, %2");
7506 #line 425 "rx-decode.opc"
7507 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7515 switch (op[2] & 0x00)
7518 goto op_semantics_53;
7524 switch (op[2] & 0x00)
7527 goto op_semantics_53;
7533 switch (op[2] & 0x00)
7536 goto op_semantics_53;
7542 switch (op[2] & 0x00)
7547 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7548 #line 404 "rx-decode.opc"
7549 int ss AU = op[1] & 0x03;
7550 #line 404 "rx-decode.opc"
7551 int rsrc AU = (op[2] >> 4) & 0x0f;
7552 #line 404 "rx-decode.opc"
7553 int rdst AU = op[2] & 0x0f;
7556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7557 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7558 op[0], op[1], op[2]);
7559 printf (" ss = 0x%x,", ss);
7560 printf (" rsrc = 0x%x,", rsrc);
7561 printf (" rdst = 0x%x\n", rdst);
7563 SYNTAX("xor %1%S1, %0");
7564 #line 404 "rx-decode.opc"
7565 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7573 switch (op[2] & 0x00)
7576 goto op_semantics_54;
7582 switch (op[2] & 0x00)
7585 goto op_semantics_54;
7591 switch (op[2] & 0x00)
7594 goto op_semantics_54;
7600 switch (op[2] & 0x00)
7604 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7605 #line 416 "rx-decode.opc"
7606 int rsrc AU = (op[2] >> 4) & 0x0f;
7607 #line 416 "rx-decode.opc"
7608 int rdst AU = op[2] & 0x0f;
7611 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7612 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7613 op[0], op[1], op[2]);
7614 printf (" rsrc = 0x%x,", rsrc);
7615 printf (" rdst = 0x%x\n", rdst);
7617 SYNTAX("not %1, %0");
7618 #line 416 "rx-decode.opc"
7619 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7621 /*----------------------------------------------------------------------*/
7630 switch (op[2] & 0x00)
7635 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7636 #line 338 "rx-decode.opc"
7637 int ss AU = op[1] & 0x03;
7638 #line 338 "rx-decode.opc"
7639 int rsrc AU = (op[2] >> 4) & 0x0f;
7640 #line 338 "rx-decode.opc"
7641 int rdst AU = op[2] & 0x0f;
7644 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7645 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7646 op[0], op[1], op[2]);
7647 printf (" ss = 0x%x,", ss);
7648 printf (" rsrc = 0x%x,", rsrc);
7649 printf (" rdst = 0x%x\n", rdst);
7651 SYNTAX("xchg %1%S1, %0");
7652 #line 338 "rx-decode.opc"
7653 ID(xchg); DR(rdst); SP(ss, rsrc);
7661 switch (op[2] & 0x00)
7664 goto op_semantics_55;
7670 switch (op[2] & 0x00)
7673 goto op_semantics_55;
7679 switch (op[2] & 0x00)
7682 goto op_semantics_55;
7688 switch (op[2] & 0x00)
7693 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7694 #line 835 "rx-decode.opc"
7695 int sd AU = op[1] & 0x03;
7696 #line 835 "rx-decode.opc"
7697 int rsrc AU = (op[2] >> 4) & 0x0f;
7698 #line 835 "rx-decode.opc"
7699 int rdst AU = op[2] & 0x0f;
7702 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7703 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7704 op[0], op[1], op[2]);
7705 printf (" sd = 0x%x,", sd);
7706 printf (" rsrc = 0x%x,", rsrc);
7707 printf (" rdst = 0x%x\n", rdst);
7709 SYNTAX("itof %1%S1, %0");
7710 #line 835 "rx-decode.opc"
7711 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7719 switch (op[2] & 0x00)
7722 goto op_semantics_56;
7728 switch (op[2] & 0x00)
7731 goto op_semantics_56;
7737 switch (op[2] & 0x00)
7740 goto op_semantics_56;
7746 switch (op[2] & 0x00)
7751 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7752 #line 847 "rx-decode.opc"
7753 int sd AU = op[1] & 0x03;
7754 #line 847 "rx-decode.opc"
7755 int rdst AU = (op[2] >> 4) & 0x0f;
7756 #line 847 "rx-decode.opc"
7757 int rsrc AU = op[2] & 0x0f;
7760 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7761 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7762 op[0], op[1], op[2]);
7763 printf (" sd = 0x%x,", sd);
7764 printf (" rdst = 0x%x,", rdst);
7765 printf (" rsrc = 0x%x\n", rsrc);
7767 SYNTAX("bset %1, %0%S0");
7768 #line 847 "rx-decode.opc"
7769 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7777 switch (op[2] & 0x00)
7780 goto op_semantics_57;
7786 switch (op[2] & 0x00)
7789 goto op_semantics_57;
7795 switch (op[2] & 0x00)
7798 goto op_semantics_57;
7804 switch (op[2] & 0x00)
7809 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7810 #line 857 "rx-decode.opc"
7811 int sd AU = op[1] & 0x03;
7812 #line 857 "rx-decode.opc"
7813 int rdst AU = (op[2] >> 4) & 0x0f;
7814 #line 857 "rx-decode.opc"
7815 int rsrc AU = op[2] & 0x0f;
7818 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7819 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7820 op[0], op[1], op[2]);
7821 printf (" sd = 0x%x,", sd);
7822 printf (" rdst = 0x%x,", rdst);
7823 printf (" rsrc = 0x%x\n", rsrc);
7825 SYNTAX("bclr %1, %0%S0");
7826 #line 857 "rx-decode.opc"
7827 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7835 switch (op[2] & 0x00)
7838 goto op_semantics_58;
7844 switch (op[2] & 0x00)
7847 goto op_semantics_58;
7853 switch (op[2] & 0x00)
7856 goto op_semantics_58;
7862 switch (op[2] & 0x00)
7867 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7868 #line 867 "rx-decode.opc"
7869 int sd AU = op[1] & 0x03;
7870 #line 867 "rx-decode.opc"
7871 int rdst AU = (op[2] >> 4) & 0x0f;
7872 #line 867 "rx-decode.opc"
7873 int rsrc AU = op[2] & 0x0f;
7876 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7877 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7878 op[0], op[1], op[2]);
7879 printf (" sd = 0x%x,", sd);
7880 printf (" rdst = 0x%x,", rdst);
7881 printf (" rsrc = 0x%x\n", rsrc);
7883 SYNTAX("btst %2, %1%S1");
7884 #line 867 "rx-decode.opc"
7885 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
7893 switch (op[2] & 0x00)
7896 goto op_semantics_59;
7902 switch (op[2] & 0x00)
7905 goto op_semantics_59;
7911 switch (op[2] & 0x00)
7914 goto op_semantics_59;
7920 switch (op[2] & 0x00)
7925 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7926 #line 877 "rx-decode.opc"
7927 int sd AU = op[1] & 0x03;
7928 #line 877 "rx-decode.opc"
7929 int rdst AU = (op[2] >> 4) & 0x0f;
7930 #line 877 "rx-decode.opc"
7931 int rsrc AU = op[2] & 0x0f;
7934 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7935 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7936 op[0], op[1], op[2]);
7937 printf (" sd = 0x%x,", sd);
7938 printf (" rdst = 0x%x,", rdst);
7939 printf (" rsrc = 0x%x\n", rsrc);
7941 SYNTAX("bnot %1, %0%S0");
7942 #line 877 "rx-decode.opc"
7943 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
7951 switch (op[2] & 0x00)
7954 goto op_semantics_60;
7960 switch (op[2] & 0x00)
7963 goto op_semantics_60;
7969 switch (op[2] & 0x00)
7972 goto op_semantics_60;
7978 switch (op[2] & 0x00)
7983 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
7984 #line 814 "rx-decode.opc"
7985 int sd AU = op[1] & 0x03;
7986 #line 814 "rx-decode.opc"
7987 int rsrc AU = (op[2] >> 4) & 0x0f;
7988 #line 814 "rx-decode.opc"
7989 int rdst AU = op[2] & 0x0f;
7992 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7993 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
7994 op[0], op[1], op[2]);
7995 printf (" sd = 0x%x,", sd);
7996 printf (" rsrc = 0x%x,", rsrc);
7997 printf (" rdst = 0x%x\n", rdst);
7999 SYNTAX("fsub %1%S1, %0");
8000 #line 814 "rx-decode.opc"
8001 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8009 switch (op[2] & 0x00)
8012 goto op_semantics_61;
8018 switch (op[2] & 0x00)
8021 goto op_semantics_61;
8027 switch (op[2] & 0x00)
8030 goto op_semantics_61;
8036 switch (op[2] & 0x00)
8041 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8042 #line 808 "rx-decode.opc"
8043 int sd AU = op[1] & 0x03;
8044 #line 808 "rx-decode.opc"
8045 int rsrc AU = (op[2] >> 4) & 0x0f;
8046 #line 808 "rx-decode.opc"
8047 int rdst AU = op[2] & 0x0f;
8050 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8051 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8052 op[0], op[1], op[2]);
8053 printf (" sd = 0x%x,", sd);
8054 printf (" rsrc = 0x%x,", rsrc);
8055 printf (" rdst = 0x%x\n", rdst);
8057 SYNTAX("fcmp %1%S1, %0");
8058 #line 808 "rx-decode.opc"
8059 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8067 switch (op[2] & 0x00)
8070 goto op_semantics_62;
8076 switch (op[2] & 0x00)
8079 goto op_semantics_62;
8085 switch (op[2] & 0x00)
8088 goto op_semantics_62;
8094 switch (op[2] & 0x00)
8099 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8100 #line 802 "rx-decode.opc"
8101 int sd AU = op[1] & 0x03;
8102 #line 802 "rx-decode.opc"
8103 int rsrc AU = (op[2] >> 4) & 0x0f;
8104 #line 802 "rx-decode.opc"
8105 int rdst AU = op[2] & 0x0f;
8108 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8109 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8110 op[0], op[1], op[2]);
8111 printf (" sd = 0x%x,", sd);
8112 printf (" rsrc = 0x%x,", rsrc);
8113 printf (" rdst = 0x%x\n", rdst);
8115 SYNTAX("fadd %1%S1, %0");
8116 #line 802 "rx-decode.opc"
8117 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8125 switch (op[2] & 0x00)
8128 goto op_semantics_63;
8134 switch (op[2] & 0x00)
8137 goto op_semantics_63;
8143 switch (op[2] & 0x00)
8146 goto op_semantics_63;
8152 switch (op[2] & 0x00)
8157 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8158 #line 823 "rx-decode.opc"
8159 int sd AU = op[1] & 0x03;
8160 #line 823 "rx-decode.opc"
8161 int rsrc AU = (op[2] >> 4) & 0x0f;
8162 #line 823 "rx-decode.opc"
8163 int rdst AU = op[2] & 0x0f;
8166 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8167 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8168 op[0], op[1], op[2]);
8169 printf (" sd = 0x%x,", sd);
8170 printf (" rsrc = 0x%x,", rsrc);
8171 printf (" rdst = 0x%x\n", rdst);
8173 SYNTAX("fmul %1%S1, %0");
8174 #line 823 "rx-decode.opc"
8175 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8183 switch (op[2] & 0x00)
8186 goto op_semantics_64;
8192 switch (op[2] & 0x00)
8195 goto op_semantics_64;
8201 switch (op[2] & 0x00)
8204 goto op_semantics_64;
8210 switch (op[2] & 0x00)
8215 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8216 #line 829 "rx-decode.opc"
8217 int sd AU = op[1] & 0x03;
8218 #line 829 "rx-decode.opc"
8219 int rsrc AU = (op[2] >> 4) & 0x0f;
8220 #line 829 "rx-decode.opc"
8221 int rdst AU = op[2] & 0x0f;
8224 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8225 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8226 op[0], op[1], op[2]);
8227 printf (" sd = 0x%x,", sd);
8228 printf (" rsrc = 0x%x,", rsrc);
8229 printf (" rdst = 0x%x\n", rdst);
8231 SYNTAX("fdiv %1%S1, %0");
8232 #line 829 "rx-decode.opc"
8233 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8241 switch (op[2] & 0x00)
8244 goto op_semantics_65;
8250 switch (op[2] & 0x00)
8253 goto op_semantics_65;
8259 switch (op[2] & 0x00)
8262 goto op_semantics_65;
8268 switch (op[2] & 0x00)
8273 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8274 #line 817 "rx-decode.opc"
8275 int sd AU = op[1] & 0x03;
8276 #line 817 "rx-decode.opc"
8277 int rsrc AU = (op[2] >> 4) & 0x0f;
8278 #line 817 "rx-decode.opc"
8279 int rdst AU = op[2] & 0x0f;
8282 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8283 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8284 op[0], op[1], op[2]);
8285 printf (" sd = 0x%x,", sd);
8286 printf (" rsrc = 0x%x,", rsrc);
8287 printf (" rdst = 0x%x\n", rdst);
8289 SYNTAX("ftoi %1%S1, %0");
8290 #line 817 "rx-decode.opc"
8291 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8299 switch (op[2] & 0x00)
8302 goto op_semantics_66;
8308 switch (op[2] & 0x00)
8311 goto op_semantics_66;
8317 switch (op[2] & 0x00)
8320 goto op_semantics_66;
8326 switch (op[2] & 0x00)
8331 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8332 #line 832 "rx-decode.opc"
8333 int sd AU = op[1] & 0x03;
8334 #line 832 "rx-decode.opc"
8335 int rsrc AU = (op[2] >> 4) & 0x0f;
8336 #line 832 "rx-decode.opc"
8337 int rdst AU = op[2] & 0x0f;
8340 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8341 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8342 op[0], op[1], op[2]);
8343 printf (" sd = 0x%x,", sd);
8344 printf (" rsrc = 0x%x,", rsrc);
8345 printf (" rdst = 0x%x\n", rdst);
8347 SYNTAX("round %1%S1, %0");
8348 #line 832 "rx-decode.opc"
8349 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8357 switch (op[2] & 0x00)
8360 goto op_semantics_67;
8366 switch (op[2] & 0x00)
8369 goto op_semantics_67;
8375 switch (op[2] & 0x00)
8378 goto op_semantics_67;
8384 switch (op[2] & 0x00)
8389 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8390 #line 941 "rx-decode.opc"
8391 int sz AU = (op[1] >> 2) & 0x03;
8392 #line 941 "rx-decode.opc"
8393 int sd AU = op[1] & 0x03;
8394 #line 941 "rx-decode.opc"
8395 int rdst AU = (op[2] >> 4) & 0x0f;
8396 #line 941 "rx-decode.opc"
8397 int cond AU = op[2] & 0x0f;
8400 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8401 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8402 op[0], op[1], op[2]);
8403 printf (" sz = 0x%x,", sz);
8404 printf (" sd = 0x%x,", sd);
8405 printf (" rdst = 0x%x,", rdst);
8406 printf (" cond = 0x%x\n", cond);
8408 SYNTAX("sc%1%s %0");
8409 #line 941 "rx-decode.opc"
8410 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8418 switch (op[2] & 0x00)
8421 goto op_semantics_68;
8427 switch (op[2] & 0x00)
8430 goto op_semantics_68;
8436 switch (op[2] & 0x00)
8439 goto op_semantics_68;
8445 switch (op[2] & 0x00)
8448 goto op_semantics_68;
8454 switch (op[2] & 0x00)
8457 goto op_semantics_68;
8463 switch (op[2] & 0x00)
8466 goto op_semantics_68;
8472 switch (op[2] & 0x00)
8475 goto op_semantics_68;
8481 switch (op[2] & 0x00)
8484 goto op_semantics_68;
8490 switch (op[2] & 0x00)
8493 goto op_semantics_68;
8499 switch (op[2] & 0x00)
8502 goto op_semantics_68;
8508 switch (op[2] & 0x00)
8511 goto op_semantics_68;
8517 switch (op[2] & 0x0f)
8536 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8537 #line 884 "rx-decode.opc"
8538 int bit AU = (op[1] >> 2) & 0x07;
8539 #line 884 "rx-decode.opc"
8540 int sd AU = op[1] & 0x03;
8541 #line 884 "rx-decode.opc"
8542 int rdst AU = (op[2] >> 4) & 0x0f;
8543 #line 884 "rx-decode.opc"
8544 int cond AU = op[2] & 0x0f;
8547 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8548 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8549 op[0], op[1], op[2]);
8550 printf (" bit = 0x%x,", bit);
8551 printf (" sd = 0x%x,", sd);
8552 printf (" rdst = 0x%x,", rdst);
8553 printf (" cond = 0x%x\n", cond);
8555 SYNTAX("bm%2 #%1, %0%S0");
8556 #line 884 "rx-decode.opc"
8557 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
8564 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8565 #line 874 "rx-decode.opc"
8566 int bit AU = (op[1] >> 2) & 0x07;
8567 #line 874 "rx-decode.opc"
8568 int sd AU = op[1] & 0x03;
8569 #line 874 "rx-decode.opc"
8570 int rdst AU = (op[2] >> 4) & 0x0f;
8573 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8574 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8575 op[0], op[1], op[2]);
8576 printf (" bit = 0x%x,", bit);
8577 printf (" sd = 0x%x,", sd);
8578 printf (" rdst = 0x%x\n", rdst);
8580 SYNTAX("bnot #%1, %0%S0");
8581 #line 874 "rx-decode.opc"
8582 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
8590 switch (op[2] & 0x0f)
8607 goto op_semantics_69;
8610 goto op_semantics_70;
8616 switch (op[2] & 0x0f)
8633 goto op_semantics_69;
8636 goto op_semantics_70;
8642 switch (op[2] & 0x0f)
8659 goto op_semantics_69;
8662 goto op_semantics_70;
8668 switch (op[2] & 0x0f)
8685 goto op_semantics_69;
8688 goto op_semantics_70;
8694 switch (op[2] & 0x0f)
8711 goto op_semantics_69;
8714 goto op_semantics_70;
8720 switch (op[2] & 0x0f)
8737 goto op_semantics_69;
8740 goto op_semantics_70;
8746 switch (op[2] & 0x0f)
8763 goto op_semantics_69;
8766 goto op_semantics_70;
8772 switch (op[2] & 0x0f)
8789 goto op_semantics_69;
8792 goto op_semantics_70;
8798 switch (op[2] & 0x0f)
8815 goto op_semantics_69;
8818 goto op_semantics_70;
8824 switch (op[2] & 0x0f)
8841 goto op_semantics_69;
8844 goto op_semantics_70;
8850 switch (op[2] & 0x0f)
8867 goto op_semantics_69;
8870 goto op_semantics_70;
8876 switch (op[2] & 0x0f)
8893 goto op_semantics_69;
8896 goto op_semantics_70;
8902 switch (op[2] & 0x0f)
8919 goto op_semantics_69;
8922 goto op_semantics_70;
8928 switch (op[2] & 0x0f)
8945 goto op_semantics_69;
8948 goto op_semantics_70;
8954 switch (op[2] & 0x0f)
8971 goto op_semantics_69;
8974 goto op_semantics_70;
8980 switch (op[2] & 0x0f)
8997 goto op_semantics_69;
9000 goto op_semantics_70;
9006 switch (op[2] & 0x0f)
9023 goto op_semantics_69;
9026 goto op_semantics_70;
9032 switch (op[2] & 0x0f)
9049 goto op_semantics_69;
9052 goto op_semantics_70;
9058 switch (op[2] & 0x0f)
9075 goto op_semantics_69;
9078 goto op_semantics_70;
9084 switch (op[2] & 0x0f)
9101 goto op_semantics_69;
9104 goto op_semantics_70;
9110 switch (op[2] & 0x0f)
9127 goto op_semantics_69;
9130 goto op_semantics_70;
9136 switch (op[2] & 0x0f)
9153 goto op_semantics_69;
9156 goto op_semantics_70;
9162 switch (op[2] & 0x0f)
9179 goto op_semantics_69;
9182 goto op_semantics_70;
9188 switch (op[2] & 0x0f)
9205 goto op_semantics_69;
9208 goto op_semantics_70;
9214 switch (op[2] & 0x0f)
9231 goto op_semantics_69;
9234 goto op_semantics_70;
9240 switch (op[2] & 0x0f)
9257 goto op_semantics_69;
9260 goto op_semantics_70;
9266 switch (op[2] & 0x0f)
9283 goto op_semantics_69;
9286 goto op_semantics_70;
9292 switch (op[2] & 0x0f)
9309 goto op_semantics_69;
9312 goto op_semantics_70;
9318 switch (op[2] & 0x0f)
9335 goto op_semantics_69;
9338 goto op_semantics_70;
9344 switch (op[2] & 0x0f)
9361 goto op_semantics_69;
9364 goto op_semantics_70;
9370 switch (op[2] & 0x0f)
9387 goto op_semantics_69;
9390 goto op_semantics_70;
9394 default: UNSUPPORTED(); break;
9399 switch (op[1] & 0xff)
9403 switch (op[2] & 0x00)
9407 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9408 #line 757 "rx-decode.opc"
9409 int srca AU = (op[2] >> 4) & 0x0f;
9410 #line 757 "rx-decode.opc"
9411 int srcb AU = op[2] & 0x0f;
9414 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9415 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9416 op[0], op[1], op[2]);
9417 printf (" srca = 0x%x,", srca);
9418 printf (" srcb = 0x%x\n", srcb);
9420 SYNTAX("mulhi %1, %2");
9421 #line 757 "rx-decode.opc"
9422 ID(mulhi); SR(srca); S2R(srcb); F_____;
9430 switch (op[2] & 0x00)
9434 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9435 #line 760 "rx-decode.opc"
9436 int srca AU = (op[2] >> 4) & 0x0f;
9437 #line 760 "rx-decode.opc"
9438 int srcb AU = op[2] & 0x0f;
9441 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9442 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9443 op[0], op[1], op[2]);
9444 printf (" srca = 0x%x,", srca);
9445 printf (" srcb = 0x%x\n", srcb);
9447 SYNTAX("mullo %1, %2");
9448 #line 760 "rx-decode.opc"
9449 ID(mullo); SR(srca); S2R(srcb); F_____;
9457 switch (op[2] & 0x00)
9461 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9462 #line 763 "rx-decode.opc"
9463 int srca AU = (op[2] >> 4) & 0x0f;
9464 #line 763 "rx-decode.opc"
9465 int srcb AU = op[2] & 0x0f;
9468 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9469 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9470 op[0], op[1], op[2]);
9471 printf (" srca = 0x%x,", srca);
9472 printf (" srcb = 0x%x\n", srcb);
9474 SYNTAX("machi %1, %2");
9475 #line 763 "rx-decode.opc"
9476 ID(machi); SR(srca); S2R(srcb); F_____;
9484 switch (op[2] & 0x00)
9488 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9489 #line 766 "rx-decode.opc"
9490 int srca AU = (op[2] >> 4) & 0x0f;
9491 #line 766 "rx-decode.opc"
9492 int srcb AU = op[2] & 0x0f;
9495 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9496 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9497 op[0], op[1], op[2]);
9498 printf (" srca = 0x%x,", srca);
9499 printf (" srcb = 0x%x\n", srcb);
9501 SYNTAX("maclo %1, %2");
9502 #line 766 "rx-decode.opc"
9503 ID(maclo); SR(srca); S2R(srcb); F_____;
9511 switch (op[2] & 0xf0)
9515 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9516 #line 769 "rx-decode.opc"
9517 int rsrc AU = op[2] & 0x0f;
9520 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9521 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9522 op[0], op[1], op[2]);
9523 printf (" rsrc = 0x%x\n", rsrc);
9525 SYNTAX("mvtachi %1");
9526 #line 769 "rx-decode.opc"
9527 ID(mvtachi); SR(rsrc); F_____;
9533 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9534 #line 772 "rx-decode.opc"
9535 int rsrc AU = op[2] & 0x0f;
9538 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9539 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9540 op[0], op[1], op[2]);
9541 printf (" rsrc = 0x%x\n", rsrc);
9543 SYNTAX("mvtaclo %1");
9544 #line 772 "rx-decode.opc"
9545 ID(mvtaclo); SR(rsrc); F_____;
9549 default: UNSUPPORTED(); break;
9554 switch (op[2] & 0xef)
9558 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9559 #line 784 "rx-decode.opc"
9560 int i AU = (op[2] >> 4) & 0x01;
9563 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9564 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9565 op[0], op[1], op[2]);
9566 printf (" i = 0x%x\n", i);
9569 #line 784 "rx-decode.opc"
9570 ID(racw); SC(i+1); F_____;
9572 /*----------------------------------------------------------------------*/
9577 default: UNSUPPORTED(); break;
9582 switch (op[2] & 0xf0)
9586 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9587 #line 775 "rx-decode.opc"
9588 int rdst AU = op[2] & 0x0f;
9591 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9592 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9593 op[0], op[1], op[2]);
9594 printf (" rdst = 0x%x\n", rdst);
9596 SYNTAX("mvfachi %0");
9597 #line 775 "rx-decode.opc"
9598 ID(mvfachi); DR(rdst); F_____;
9604 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9605 #line 781 "rx-decode.opc"
9606 int rdst AU = op[2] & 0x0f;
9609 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9610 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9611 op[0], op[1], op[2]);
9612 printf (" rdst = 0x%x\n", rdst);
9614 SYNTAX("mvfaclo %0");
9615 #line 781 "rx-decode.opc"
9616 ID(mvfaclo); DR(rdst); F_____;
9622 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9623 #line 778 "rx-decode.opc"
9624 int rdst AU = op[2] & 0x0f;
9627 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9628 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9629 op[0], op[1], op[2]);
9630 printf (" rdst = 0x%x\n", rdst);
9632 SYNTAX("mvfacmi %0");
9633 #line 778 "rx-decode.opc"
9634 ID(mvfacmi); DR(rdst); F_____;
9638 default: UNSUPPORTED(); break;
9643 switch (op[2] & 0x00)
9648 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9649 #line 299 "rx-decode.opc"
9650 int p AU = (op[1] >> 2) & 0x01;
9651 #line 299 "rx-decode.opc"
9652 int sz AU = op[1] & 0x03;
9653 #line 299 "rx-decode.opc"
9654 int rdst AU = (op[2] >> 4) & 0x0f;
9655 #line 299 "rx-decode.opc"
9656 int rsrc AU = op[2] & 0x0f;
9659 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9660 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9661 op[0], op[1], op[2]);
9662 printf (" p = 0x%x,", p);
9663 printf (" sz = 0x%x,", sz);
9664 printf (" rdst = 0x%x,", rdst);
9665 printf (" rsrc = 0x%x\n", rsrc);
9667 SYNTAX("mov%s %1, %0");
9668 #line 299 "rx-decode.opc"
9669 ID(mov); sBWL (sz); SR(rsrc); F_____;
9670 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
9678 switch (op[2] & 0x00)
9681 goto op_semantics_71;
9687 switch (op[2] & 0x00)
9690 goto op_semantics_71;
9696 switch (op[2] & 0x00)
9699 goto op_semantics_71;
9705 switch (op[2] & 0x00)
9708 goto op_semantics_71;
9714 switch (op[2] & 0x00)
9717 goto op_semantics_71;
9723 switch (op[2] & 0x00)
9728 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9729 #line 303 "rx-decode.opc"
9730 int p AU = (op[1] >> 2) & 0x01;
9731 #line 303 "rx-decode.opc"
9732 int sz AU = op[1] & 0x03;
9733 #line 303 "rx-decode.opc"
9734 int rsrc AU = (op[2] >> 4) & 0x0f;
9735 #line 303 "rx-decode.opc"
9736 int rdst AU = op[2] & 0x0f;
9739 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9740 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9741 op[0], op[1], op[2]);
9742 printf (" p = 0x%x,", p);
9743 printf (" sz = 0x%x,", sz);
9744 printf (" rsrc = 0x%x,", rsrc);
9745 printf (" rdst = 0x%x\n", rdst);
9747 SYNTAX("mov%s %1, %0");
9748 #line 303 "rx-decode.opc"
9749 ID(mov); sBWL (sz); DR(rdst); F_____;
9750 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9758 switch (op[2] & 0x00)
9761 goto op_semantics_72;
9767 switch (op[2] & 0x00)
9770 goto op_semantics_72;
9776 switch (op[2] & 0x00)
9779 goto op_semantics_72;
9785 switch (op[2] & 0x00)
9788 goto op_semantics_72;
9794 switch (op[2] & 0x00)
9797 goto op_semantics_72;
9803 switch (op[2] & 0x00)
9808 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9809 #line 313 "rx-decode.opc"
9810 int p AU = (op[1] >> 2) & 0x01;
9811 #line 313 "rx-decode.opc"
9812 int sz AU = op[1] & 0x03;
9813 #line 313 "rx-decode.opc"
9814 int rsrc AU = (op[2] >> 4) & 0x0f;
9815 #line 313 "rx-decode.opc"
9816 int rdst AU = op[2] & 0x0f;
9819 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9820 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9821 op[0], op[1], op[2]);
9822 printf (" p = 0x%x,", p);
9823 printf (" sz = 0x%x,", sz);
9824 printf (" rsrc = 0x%x,", rsrc);
9825 printf (" rdst = 0x%x\n", rdst);
9827 SYNTAX("movu%s %1, %0");
9828 #line 313 "rx-decode.opc"
9829 ID(mov); uBWL (sz); DR(rdst); F_____;
9830 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9832 /*----------------------------------------------------------------------*/
9841 switch (op[2] & 0x00)
9844 goto op_semantics_73;
9850 switch (op[2] & 0x00)
9853 goto op_semantics_73;
9859 switch (op[2] & 0x00)
9862 goto op_semantics_73;
9868 switch (op[2] & 0x00)
9871 goto op_semantics_73;
9877 switch (op[2] & 0x00)
9880 goto op_semantics_73;
9886 switch (op[2] & 0x00)
9890 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9891 #line 638 "rx-decode.opc"
9892 int rsrc AU = (op[2] >> 4) & 0x0f;
9893 #line 638 "rx-decode.opc"
9894 int rdst AU = op[2] & 0x0f;
9897 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9898 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9899 op[0], op[1], op[2]);
9900 printf (" rsrc = 0x%x,", rsrc);
9901 printf (" rdst = 0x%x\n", rdst);
9903 SYNTAX("shlr %2, %0");
9904 #line 638 "rx-decode.opc"
9905 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
9913 switch (op[2] & 0x00)
9917 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9918 #line 628 "rx-decode.opc"
9919 int rsrc AU = (op[2] >> 4) & 0x0f;
9920 #line 628 "rx-decode.opc"
9921 int rdst AU = op[2] & 0x0f;
9924 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9925 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9926 op[0], op[1], op[2]);
9927 printf (" rsrc = 0x%x,", rsrc);
9928 printf (" rdst = 0x%x\n", rdst);
9930 SYNTAX("shar %2, %0");
9931 #line 628 "rx-decode.opc"
9932 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
9940 switch (op[2] & 0x00)
9944 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
9945 #line 618 "rx-decode.opc"
9946 int rsrc AU = (op[2] >> 4) & 0x0f;
9947 #line 618 "rx-decode.opc"
9948 int rdst AU = op[2] & 0x0f;
9951 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9952 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
9953 op[0], op[1], op[2]);
9954 printf (" rsrc = 0x%x,", rsrc);
9955 printf (" rdst = 0x%x\n", rdst);
9957 SYNTAX("shll %2, %0");
9958 #line 618 "rx-decode.opc"
9959 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
9967 switch (op[2] & 0x00)
9971 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
9972 #line 662 "rx-decode.opc"
9973 int rsrc AU = (op[2] >> 4) & 0x0f;
9974 #line 662 "rx-decode.opc"
9975 int rdst AU = op[2] & 0x0f;
9978 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9979 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
9980 op[0], op[1], op[2]);
9981 printf (" rsrc = 0x%x,", rsrc);
9982 printf (" rdst = 0x%x\n", rdst);
9984 SYNTAX("rotr %1, %0");
9985 #line 662 "rx-decode.opc"
9986 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
9994 switch (op[2] & 0x00)
9998 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
9999 #line 665 "rx-decode.opc"
10000 int rsrc AU = (op[2] >> 4) & 0x0f;
10001 #line 665 "rx-decode.opc"
10002 int rdst AU = op[2] & 0x0f;
10005 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10006 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10007 op[0], op[1], op[2]);
10008 printf (" rsrc = 0x%x,", rsrc);
10009 printf (" rdst = 0x%x\n", rdst);
10011 SYNTAX("revw %1, %0");
10012 #line 665 "rx-decode.opc"
10013 ID(revw); SR(rsrc); DR(rdst);
10021 switch (op[2] & 0x00)
10025 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10026 #line 656 "rx-decode.opc"
10027 int rsrc AU = (op[2] >> 4) & 0x0f;
10028 #line 656 "rx-decode.opc"
10029 int rdst AU = op[2] & 0x0f;
10032 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10033 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10034 op[0], op[1], op[2]);
10035 printf (" rsrc = 0x%x,", rsrc);
10036 printf (" rdst = 0x%x\n", rdst);
10038 SYNTAX("rotl %1, %0");
10039 #line 656 "rx-decode.opc"
10040 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
10048 switch (op[2] & 0x00)
10052 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10053 #line 668 "rx-decode.opc"
10054 int rsrc AU = (op[2] >> 4) & 0x0f;
10055 #line 668 "rx-decode.opc"
10056 int rdst AU = op[2] & 0x0f;
10059 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10060 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10061 op[0], op[1], op[2]);
10062 printf (" rsrc = 0x%x,", rsrc);
10063 printf (" rdst = 0x%x\n", rdst);
10065 SYNTAX("revl %1, %0");
10066 #line 668 "rx-decode.opc"
10067 ID(revl); SR(rsrc); DR(rdst);
10069 /*----------------------------------------------------------------------*/
10078 switch (op[2] & 0x00)
10083 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10084 #line 911 "rx-decode.opc"
10085 int c AU = op[1] & 0x01;
10086 #line 911 "rx-decode.opc"
10087 int rsrc AU = (op[2] >> 4) & 0x0f;
10088 #line 911 "rx-decode.opc"
10089 int rdst AU = op[2] & 0x0f;
10092 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10093 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10094 op[0], op[1], op[2]);
10095 printf (" c = 0x%x,", c);
10096 printf (" rsrc = 0x%x,", rsrc);
10097 printf (" rdst = 0x%x\n", rdst);
10099 SYNTAX("mvtc %1, %0");
10100 #line 911 "rx-decode.opc"
10101 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
10109 switch (op[2] & 0x00)
10112 goto op_semantics_74;
10118 switch (op[2] & 0x00)
10123 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10124 #line 914 "rx-decode.opc"
10125 int s AU = op[1] & 0x01;
10126 #line 914 "rx-decode.opc"
10127 int rsrc AU = (op[2] >> 4) & 0x0f;
10128 #line 914 "rx-decode.opc"
10129 int rdst AU = op[2] & 0x0f;
10132 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10133 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10134 op[0], op[1], op[2]);
10135 printf (" s = 0x%x,", s);
10136 printf (" rsrc = 0x%x,", rsrc);
10137 printf (" rdst = 0x%x\n", rdst);
10139 SYNTAX("mvfc %1, %0");
10140 #line 914 "rx-decode.opc"
10141 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
10143 /*----------------------------------------------------------------------*/
10152 switch (op[2] & 0x00)
10155 goto op_semantics_75;
10161 switch (op[2] & 0x00)
10166 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10167 #line 659 "rx-decode.opc"
10168 int i AU = op[1] & 0x01;
10169 #line 659 "rx-decode.opc"
10170 int mmmm AU = (op[2] >> 4) & 0x0f;
10171 #line 659 "rx-decode.opc"
10172 int rdst AU = op[2] & 0x0f;
10175 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10176 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10177 op[0], op[1], op[2]);
10178 printf (" i = 0x%x,", i);
10179 printf (" mmmm = 0x%x,", mmmm);
10180 printf (" rdst = 0x%x\n", rdst);
10182 SYNTAX("rotr #%1, %0");
10183 #line 659 "rx-decode.opc"
10184 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
10192 switch (op[2] & 0x00)
10195 goto op_semantics_76;
10201 switch (op[2] & 0x00)
10206 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10207 #line 653 "rx-decode.opc"
10208 int i AU = op[1] & 0x01;
10209 #line 653 "rx-decode.opc"
10210 int mmmm AU = (op[2] >> 4) & 0x0f;
10211 #line 653 "rx-decode.opc"
10212 int rdst AU = op[2] & 0x0f;
10215 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10216 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10217 op[0], op[1], op[2]);
10218 printf (" i = 0x%x,", i);
10219 printf (" mmmm = 0x%x,", mmmm);
10220 printf (" rdst = 0x%x\n", rdst);
10222 SYNTAX("rotl #%1, %0");
10223 #line 653 "rx-decode.opc"
10224 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
10232 switch (op[2] & 0x00)
10235 goto op_semantics_77;
10241 switch (op[2] & 0xf0)
10246 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10247 #line 443 "rx-decode.opc"
10248 int im AU = (op[1] >> 2) & 0x03;
10249 #line 443 "rx-decode.opc"
10250 int rdst AU = op[2] & 0x0f;
10253 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10254 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10255 op[0], op[1], op[2]);
10256 printf (" im = 0x%x,", im);
10257 printf (" rdst = 0x%x\n", rdst);
10259 SYNTAX("adc #%1, %0");
10260 #line 443 "rx-decode.opc"
10261 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
10268 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10269 #line 525 "rx-decode.opc"
10270 int im AU = (op[1] >> 2) & 0x03;
10271 #line 525 "rx-decode.opc"
10272 int rdst AU = op[2] & 0x0f;
10275 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10276 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10277 op[0], op[1], op[2]);
10278 printf (" im = 0x%x,", im);
10279 printf (" rdst = 0x%x\n", rdst);
10281 SYNTAX("max #%1, %0");
10282 #line 525 "rx-decode.opc"
10283 ID(max); DR(rdst); SC(IMMex(im));
10290 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10291 #line 537 "rx-decode.opc"
10292 int im AU = (op[1] >> 2) & 0x03;
10293 #line 537 "rx-decode.opc"
10294 int rdst AU = op[2] & 0x0f;
10297 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10298 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10299 op[0], op[1], op[2]);
10300 printf (" im = 0x%x,", im);
10301 printf (" rdst = 0x%x\n", rdst);
10303 SYNTAX("min #%1, %0");
10304 #line 537 "rx-decode.opc"
10305 ID(min); DR(rdst); SC(IMMex(im));
10312 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10313 #line 567 "rx-decode.opc"
10314 int im AU = (op[1] >> 2) & 0x03;
10315 #line 567 "rx-decode.opc"
10316 int rdst AU = op[2] & 0x0f;
10319 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10320 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10321 op[0], op[1], op[2]);
10322 printf (" im = 0x%x,", im);
10323 printf (" rdst = 0x%x\n", rdst);
10325 SYNTAX("emul #%1, %0");
10326 #line 567 "rx-decode.opc"
10327 ID(emul); DR(rdst); SC(IMMex(im));
10334 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10335 #line 579 "rx-decode.opc"
10336 int im AU = (op[1] >> 2) & 0x03;
10337 #line 579 "rx-decode.opc"
10338 int rdst AU = op[2] & 0x0f;
10341 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10342 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10343 op[0], op[1], op[2]);
10344 printf (" im = 0x%x,", im);
10345 printf (" rdst = 0x%x\n", rdst);
10347 SYNTAX("emulu #%1, %0");
10348 #line 579 "rx-decode.opc"
10349 ID(emulu); DR(rdst); SC(IMMex(im));
10356 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10357 #line 591 "rx-decode.opc"
10358 int im AU = (op[1] >> 2) & 0x03;
10359 #line 591 "rx-decode.opc"
10360 int rdst AU = op[2] & 0x0f;
10363 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10364 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10365 op[0], op[1], op[2]);
10366 printf (" im = 0x%x,", im);
10367 printf (" rdst = 0x%x\n", rdst);
10369 SYNTAX("div #%1, %0");
10370 #line 591 "rx-decode.opc"
10371 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
10378 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10379 #line 603 "rx-decode.opc"
10380 int im AU = (op[1] >> 2) & 0x03;
10381 #line 603 "rx-decode.opc"
10382 int rdst AU = op[2] & 0x0f;
10385 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10386 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10387 op[0], op[1], op[2]);
10388 printf (" im = 0x%x,", im);
10389 printf (" rdst = 0x%x\n", rdst);
10391 SYNTAX("divu #%1, %0");
10392 #line 603 "rx-decode.opc"
10393 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
10400 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10401 #line 422 "rx-decode.opc"
10402 int im AU = (op[1] >> 2) & 0x03;
10403 #line 422 "rx-decode.opc"
10404 int rdst AU = op[2] & 0x0f;
10407 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10408 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10409 op[0], op[1], op[2]);
10410 printf (" im = 0x%x,", im);
10411 printf (" rdst = 0x%x\n", rdst);
10413 SYNTAX("tst #%1, %2");
10414 #line 422 "rx-decode.opc"
10415 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
10422 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10423 #line 401 "rx-decode.opc"
10424 int im AU = (op[1] >> 2) & 0x03;
10425 #line 401 "rx-decode.opc"
10426 int rdst AU = op[2] & 0x0f;
10429 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10430 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10431 op[0], op[1], op[2]);
10432 printf (" im = 0x%x,", im);
10433 printf (" rdst = 0x%x\n", rdst);
10435 SYNTAX("xor #%1, %0");
10436 #line 401 "rx-decode.opc"
10437 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
10444 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10445 #line 347 "rx-decode.opc"
10446 int im AU = (op[1] >> 2) & 0x03;
10447 #line 347 "rx-decode.opc"
10448 int rdst AU = op[2] & 0x0f;
10451 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10452 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10453 op[0], op[1], op[2]);
10454 printf (" im = 0x%x,", im);
10455 printf (" rdst = 0x%x\n", rdst);
10457 SYNTAX("stz #%1, %0");
10458 #line 347 "rx-decode.opc"
10459 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
10466 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10467 #line 350 "rx-decode.opc"
10468 int im AU = (op[1] >> 2) & 0x03;
10469 #line 350 "rx-decode.opc"
10470 int rdst AU = op[2] & 0x0f;
10473 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10474 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10475 op[0], op[1], op[2]);
10476 printf (" im = 0x%x,", im);
10477 printf (" rdst = 0x%x\n", rdst);
10479 SYNTAX("stnz #%1, %0");
10480 #line 350 "rx-decode.opc"
10481 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
10483 /*----------------------------------------------------------------------*/
10488 default: UNSUPPORTED(); break;
10493 switch (op[2] & 0xf0)
10497 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10498 #line 811 "rx-decode.opc"
10499 int rdst AU = op[2] & 0x0f;
10502 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10503 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10504 op[0], op[1], op[2]);
10505 printf (" rdst = 0x%x\n", rdst);
10507 SYNTAX("fsub #%1, %0");
10508 #line 811 "rx-decode.opc"
10509 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
10515 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10516 #line 805 "rx-decode.opc"
10517 int rdst AU = op[2] & 0x0f;
10520 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10521 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10522 op[0], op[1], op[2]);
10523 printf (" rdst = 0x%x\n", rdst);
10525 SYNTAX("fcmp #%1, %0");
10526 #line 805 "rx-decode.opc"
10527 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
10533 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10534 #line 799 "rx-decode.opc"
10535 int rdst AU = op[2] & 0x0f;
10538 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10539 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10540 op[0], op[1], op[2]);
10541 printf (" rdst = 0x%x\n", rdst);
10543 SYNTAX("fadd #%1, %0");
10544 #line 799 "rx-decode.opc"
10545 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
10551 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10552 #line 820 "rx-decode.opc"
10553 int rdst AU = op[2] & 0x0f;
10556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10557 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10558 op[0], op[1], op[2]);
10559 printf (" rdst = 0x%x\n", rdst);
10561 SYNTAX("fmul #%1, %0");
10562 #line 820 "rx-decode.opc"
10563 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
10569 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10570 #line 826 "rx-decode.opc"
10571 int rdst AU = op[2] & 0x0f;
10574 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10575 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10576 op[0], op[1], op[2]);
10577 printf (" rdst = 0x%x\n", rdst);
10579 SYNTAX("fdiv #%1, %0");
10580 #line 826 "rx-decode.opc"
10581 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
10585 default: UNSUPPORTED(); break;
10590 switch (op[2] & 0xe0)
10595 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10596 #line 908 "rx-decode.opc"
10597 int im AU = (op[1] >> 2) & 0x03;
10598 #line 908 "rx-decode.opc"
10599 int crdst AU = op[2] & 0x1f;
10602 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10603 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10604 op[0], op[1], op[2]);
10605 printf (" im = 0x%x,", im);
10606 printf (" crdst = 0x%x\n", crdst);
10608 SYNTAX("mvtc #%1, %0");
10609 #line 908 "rx-decode.opc"
10610 ID(mov); SC(IMMex(im)); DR(crdst + 16);
10614 default: UNSUPPORTED(); break;
10619 switch (op[2] & 0xf0)
10622 goto op_semantics_78;
10625 goto op_semantics_79;
10628 goto op_semantics_80;
10631 goto op_semantics_81;
10634 goto op_semantics_82;
10637 goto op_semantics_83;
10640 goto op_semantics_84;
10643 goto op_semantics_85;
10646 goto op_semantics_86;
10649 goto op_semantics_87;
10652 goto op_semantics_88;
10654 default: UNSUPPORTED(); break;
10659 switch (op[2] & 0xe0)
10662 goto op_semantics_89;
10664 default: UNSUPPORTED(); break;
10669 switch (op[2] & 0xf0)
10672 goto op_semantics_78;
10675 goto op_semantics_79;
10678 goto op_semantics_80;
10681 goto op_semantics_81;
10684 goto op_semantics_82;
10687 goto op_semantics_83;
10690 goto op_semantics_84;
10693 goto op_semantics_85;
10696 goto op_semantics_86;
10699 goto op_semantics_87;
10702 goto op_semantics_88;
10704 default: UNSUPPORTED(); break;
10709 switch (op[2] & 0xe0)
10712 goto op_semantics_89;
10714 default: UNSUPPORTED(); break;
10719 switch (op[2] & 0xf0)
10722 goto op_semantics_78;
10725 goto op_semantics_79;
10728 goto op_semantics_80;
10731 goto op_semantics_81;
10734 goto op_semantics_82;
10737 goto op_semantics_83;
10740 goto op_semantics_84;
10743 goto op_semantics_85;
10746 goto op_semantics_86;
10749 goto op_semantics_87;
10752 goto op_semantics_88;
10754 default: UNSUPPORTED(); break;
10759 switch (op[2] & 0xe0)
10762 goto op_semantics_89;
10764 default: UNSUPPORTED(); break;
10769 switch (op[2] & 0x00)
10774 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10775 #line 641 "rx-decode.opc"
10776 int immmm AU = op[1] & 0x1f;
10777 #line 641 "rx-decode.opc"
10778 int rsrc AU = (op[2] >> 4) & 0x0f;
10779 #line 641 "rx-decode.opc"
10780 int rdst AU = op[2] & 0x0f;
10783 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10784 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10785 op[0], op[1], op[2]);
10786 printf (" immmm = 0x%x,", immmm);
10787 printf (" rsrc = 0x%x,", rsrc);
10788 printf (" rdst = 0x%x\n", rdst);
10790 SYNTAX("shlr #%2, %1, %0");
10791 #line 641 "rx-decode.opc"
10792 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
10794 /*----------------------------------------------------------------------*/
10803 switch (op[2] & 0x00)
10806 goto op_semantics_90;
10812 switch (op[2] & 0x00)
10815 goto op_semantics_90;
10821 switch (op[2] & 0x00)
10824 goto op_semantics_90;
10830 switch (op[2] & 0x00)
10833 goto op_semantics_90;
10839 switch (op[2] & 0x00)
10842 goto op_semantics_90;
10848 switch (op[2] & 0x00)
10851 goto op_semantics_90;
10857 switch (op[2] & 0x00)
10860 goto op_semantics_90;
10866 switch (op[2] & 0x00)
10869 goto op_semantics_90;
10875 switch (op[2] & 0x00)
10878 goto op_semantics_90;
10884 switch (op[2] & 0x00)
10887 goto op_semantics_90;
10893 switch (op[2] & 0x00)
10896 goto op_semantics_90;
10902 switch (op[2] & 0x00)
10905 goto op_semantics_90;
10911 switch (op[2] & 0x00)
10914 goto op_semantics_90;
10920 switch (op[2] & 0x00)
10923 goto op_semantics_90;
10929 switch (op[2] & 0x00)
10932 goto op_semantics_90;
10938 switch (op[2] & 0x00)
10941 goto op_semantics_90;
10947 switch (op[2] & 0x00)
10950 goto op_semantics_90;
10956 switch (op[2] & 0x00)
10959 goto op_semantics_90;
10965 switch (op[2] & 0x00)
10968 goto op_semantics_90;
10974 switch (op[2] & 0x00)
10977 goto op_semantics_90;
10983 switch (op[2] & 0x00)
10986 goto op_semantics_90;
10992 switch (op[2] & 0x00)
10995 goto op_semantics_90;
11001 switch (op[2] & 0x00)
11004 goto op_semantics_90;
11010 switch (op[2] & 0x00)
11013 goto op_semantics_90;
11019 switch (op[2] & 0x00)
11022 goto op_semantics_90;
11028 switch (op[2] & 0x00)
11031 goto op_semantics_90;
11037 switch (op[2] & 0x00)
11040 goto op_semantics_90;
11046 switch (op[2] & 0x00)
11049 goto op_semantics_90;
11055 switch (op[2] & 0x00)
11058 goto op_semantics_90;
11064 switch (op[2] & 0x00)
11067 goto op_semantics_90;
11073 switch (op[2] & 0x00)
11076 goto op_semantics_90;
11082 switch (op[2] & 0x00)
11087 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11088 #line 631 "rx-decode.opc"
11089 int immmm AU = op[1] & 0x1f;
11090 #line 631 "rx-decode.opc"
11091 int rsrc AU = (op[2] >> 4) & 0x0f;
11092 #line 631 "rx-decode.opc"
11093 int rdst AU = op[2] & 0x0f;
11096 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11097 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11098 op[0], op[1], op[2]);
11099 printf (" immmm = 0x%x,", immmm);
11100 printf (" rsrc = 0x%x,", rsrc);
11101 printf (" rdst = 0x%x\n", rdst);
11103 SYNTAX("shar #%2, %1, %0");
11104 #line 631 "rx-decode.opc"
11105 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
11114 switch (op[2] & 0x00)
11117 goto op_semantics_91;
11123 switch (op[2] & 0x00)
11126 goto op_semantics_91;
11132 switch (op[2] & 0x00)
11135 goto op_semantics_91;
11141 switch (op[2] & 0x00)
11144 goto op_semantics_91;
11150 switch (op[2] & 0x00)
11153 goto op_semantics_91;
11159 switch (op[2] & 0x00)
11162 goto op_semantics_91;
11168 switch (op[2] & 0x00)
11171 goto op_semantics_91;
11177 switch (op[2] & 0x00)
11180 goto op_semantics_91;
11186 switch (op[2] & 0x00)
11189 goto op_semantics_91;
11195 switch (op[2] & 0x00)
11198 goto op_semantics_91;
11204 switch (op[2] & 0x00)
11207 goto op_semantics_91;
11213 switch (op[2] & 0x00)
11216 goto op_semantics_91;
11222 switch (op[2] & 0x00)
11225 goto op_semantics_91;
11231 switch (op[2] & 0x00)
11234 goto op_semantics_91;
11240 switch (op[2] & 0x00)
11243 goto op_semantics_91;
11249 switch (op[2] & 0x00)
11252 goto op_semantics_91;
11258 switch (op[2] & 0x00)
11261 goto op_semantics_91;
11267 switch (op[2] & 0x00)
11270 goto op_semantics_91;
11276 switch (op[2] & 0x00)
11279 goto op_semantics_91;
11285 switch (op[2] & 0x00)
11288 goto op_semantics_91;
11294 switch (op[2] & 0x00)
11297 goto op_semantics_91;
11303 switch (op[2] & 0x00)
11306 goto op_semantics_91;
11312 switch (op[2] & 0x00)
11315 goto op_semantics_91;
11321 switch (op[2] & 0x00)
11324 goto op_semantics_91;
11330 switch (op[2] & 0x00)
11333 goto op_semantics_91;
11339 switch (op[2] & 0x00)
11342 goto op_semantics_91;
11348 switch (op[2] & 0x00)
11351 goto op_semantics_91;
11357 switch (op[2] & 0x00)
11360 goto op_semantics_91;
11366 switch (op[2] & 0x00)
11369 goto op_semantics_91;
11375 switch (op[2] & 0x00)
11378 goto op_semantics_91;
11384 switch (op[2] & 0x00)
11387 goto op_semantics_91;
11393 switch (op[2] & 0x00)
11398 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11399 #line 621 "rx-decode.opc"
11400 int immmm AU = op[1] & 0x1f;
11401 #line 621 "rx-decode.opc"
11402 int rsrc AU = (op[2] >> 4) & 0x0f;
11403 #line 621 "rx-decode.opc"
11404 int rdst AU = op[2] & 0x0f;
11407 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11408 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11409 op[0], op[1], op[2]);
11410 printf (" immmm = 0x%x,", immmm);
11411 printf (" rsrc = 0x%x,", rsrc);
11412 printf (" rdst = 0x%x\n", rdst);
11414 SYNTAX("shll #%2, %1, %0");
11415 #line 621 "rx-decode.opc"
11416 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
11425 switch (op[2] & 0x00)
11428 goto op_semantics_92;
11434 switch (op[2] & 0x00)
11437 goto op_semantics_92;
11443 switch (op[2] & 0x00)
11446 goto op_semantics_92;
11452 switch (op[2] & 0x00)
11455 goto op_semantics_92;
11461 switch (op[2] & 0x00)
11464 goto op_semantics_92;
11470 switch (op[2] & 0x00)
11473 goto op_semantics_92;
11479 switch (op[2] & 0x00)
11482 goto op_semantics_92;
11488 switch (op[2] & 0x00)
11491 goto op_semantics_92;
11497 switch (op[2] & 0x00)
11500 goto op_semantics_92;
11506 switch (op[2] & 0x00)
11509 goto op_semantics_92;
11515 switch (op[2] & 0x00)
11518 goto op_semantics_92;
11524 switch (op[2] & 0x00)
11527 goto op_semantics_92;
11533 switch (op[2] & 0x00)
11536 goto op_semantics_92;
11542 switch (op[2] & 0x00)
11545 goto op_semantics_92;
11551 switch (op[2] & 0x00)
11554 goto op_semantics_92;
11560 switch (op[2] & 0x00)
11563 goto op_semantics_92;
11569 switch (op[2] & 0x00)
11572 goto op_semantics_92;
11578 switch (op[2] & 0x00)
11581 goto op_semantics_92;
11587 switch (op[2] & 0x00)
11590 goto op_semantics_92;
11596 switch (op[2] & 0x00)
11599 goto op_semantics_92;
11605 switch (op[2] & 0x00)
11608 goto op_semantics_92;
11614 switch (op[2] & 0x00)
11617 goto op_semantics_92;
11623 switch (op[2] & 0x00)
11626 goto op_semantics_92;
11632 switch (op[2] & 0x00)
11635 goto op_semantics_92;
11641 switch (op[2] & 0x00)
11644 goto op_semantics_92;
11650 switch (op[2] & 0x00)
11653 goto op_semantics_92;
11659 switch (op[2] & 0x00)
11662 goto op_semantics_92;
11668 switch (op[2] & 0x00)
11671 goto op_semantics_92;
11677 switch (op[2] & 0x00)
11680 goto op_semantics_92;
11686 switch (op[2] & 0x00)
11689 goto op_semantics_92;
11695 switch (op[2] & 0x00)
11698 goto op_semantics_92;
11704 switch (op[2] & 0xf0)
11723 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11724 #line 887 "rx-decode.opc"
11725 int bittt AU = op[1] & 0x1f;
11726 #line 887 "rx-decode.opc"
11727 int cond AU = (op[2] >> 4) & 0x0f;
11728 #line 887 "rx-decode.opc"
11729 int rdst AU = op[2] & 0x0f;
11732 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11733 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11734 op[0], op[1], op[2]);
11735 printf (" bittt = 0x%x,", bittt);
11736 printf (" cond = 0x%x,", cond);
11737 printf (" rdst = 0x%x\n", rdst);
11739 SYNTAX("bm%2 #%1, %0%S0");
11740 #line 887 "rx-decode.opc"
11741 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
11743 /*----------------------------------------------------------------------*/
11744 /* CONTROL REGISTERS */
11751 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11752 #line 880 "rx-decode.opc"
11753 int bittt AU = op[1] & 0x1f;
11754 #line 880 "rx-decode.opc"
11755 int rdst AU = op[2] & 0x0f;
11758 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11759 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11760 op[0], op[1], op[2]);
11761 printf (" bittt = 0x%x,", bittt);
11762 printf (" rdst = 0x%x\n", rdst);
11764 SYNTAX("bnot #%1, %0");
11765 #line 880 "rx-decode.opc"
11766 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
11775 switch (op[2] & 0xf0)
11792 goto op_semantics_93;
11795 goto op_semantics_94;
11801 switch (op[2] & 0xf0)
11818 goto op_semantics_93;
11821 goto op_semantics_94;
11827 switch (op[2] & 0xf0)
11844 goto op_semantics_93;
11847 goto op_semantics_94;
11853 switch (op[2] & 0xf0)
11870 goto op_semantics_93;
11873 goto op_semantics_94;
11879 switch (op[2] & 0xf0)
11896 goto op_semantics_93;
11899 goto op_semantics_94;
11905 switch (op[2] & 0xf0)
11922 goto op_semantics_93;
11925 goto op_semantics_94;
11931 switch (op[2] & 0xf0)
11948 goto op_semantics_93;
11951 goto op_semantics_94;
11957 switch (op[2] & 0xf0)
11974 goto op_semantics_93;
11977 goto op_semantics_94;
11983 switch (op[2] & 0xf0)
12000 goto op_semantics_93;
12003 goto op_semantics_94;
12009 switch (op[2] & 0xf0)
12026 goto op_semantics_93;
12029 goto op_semantics_94;
12035 switch (op[2] & 0xf0)
12052 goto op_semantics_93;
12055 goto op_semantics_94;
12061 switch (op[2] & 0xf0)
12078 goto op_semantics_93;
12081 goto op_semantics_94;
12087 switch (op[2] & 0xf0)
12104 goto op_semantics_93;
12107 goto op_semantics_94;
12113 switch (op[2] & 0xf0)
12130 goto op_semantics_93;
12133 goto op_semantics_94;
12139 switch (op[2] & 0xf0)
12156 goto op_semantics_93;
12159 goto op_semantics_94;
12165 switch (op[2] & 0xf0)
12182 goto op_semantics_93;
12185 goto op_semantics_94;
12191 switch (op[2] & 0xf0)
12208 goto op_semantics_93;
12211 goto op_semantics_94;
12217 switch (op[2] & 0xf0)
12234 goto op_semantics_93;
12237 goto op_semantics_94;
12243 switch (op[2] & 0xf0)
12260 goto op_semantics_93;
12263 goto op_semantics_94;
12269 switch (op[2] & 0xf0)
12286 goto op_semantics_93;
12289 goto op_semantics_94;
12295 switch (op[2] & 0xf0)
12312 goto op_semantics_93;
12315 goto op_semantics_94;
12321 switch (op[2] & 0xf0)
12338 goto op_semantics_93;
12341 goto op_semantics_94;
12347 switch (op[2] & 0xf0)
12364 goto op_semantics_93;
12367 goto op_semantics_94;
12373 switch (op[2] & 0xf0)
12390 goto op_semantics_93;
12393 goto op_semantics_94;
12399 switch (op[2] & 0xf0)
12416 goto op_semantics_93;
12419 goto op_semantics_94;
12425 switch (op[2] & 0xf0)
12442 goto op_semantics_93;
12445 goto op_semantics_94;
12451 switch (op[2] & 0xf0)
12468 goto op_semantics_93;
12471 goto op_semantics_94;
12477 switch (op[2] & 0xf0)
12494 goto op_semantics_93;
12497 goto op_semantics_94;
12503 switch (op[2] & 0xf0)
12520 goto op_semantics_93;
12523 goto op_semantics_94;
12529 switch (op[2] & 0xf0)
12546 goto op_semantics_93;
12549 goto op_semantics_94;
12555 switch (op[2] & 0xf0)
12572 goto op_semantics_93;
12575 goto op_semantics_94;
12579 default: UNSUPPORTED(); break;
12584 switch (op[1] & 0xff)
12588 switch (op[2] & 0x00)
12593 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12594 #line 293 "rx-decode.opc"
12595 int sz AU = (op[1] >> 4) & 0x03;
12596 #line 293 "rx-decode.opc"
12597 int isrc AU = op[1] & 0x0f;
12598 #line 293 "rx-decode.opc"
12599 int bsrc AU = (op[2] >> 4) & 0x0f;
12600 #line 293 "rx-decode.opc"
12601 int rdst AU = op[2] & 0x0f;
12604 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12605 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12606 op[0], op[1], op[2]);
12607 printf (" sz = 0x%x,", sz);
12608 printf (" isrc = 0x%x,", isrc);
12609 printf (" bsrc = 0x%x,", bsrc);
12610 printf (" rdst = 0x%x\n", rdst);
12612 SYNTAX("mov%s %0, [%1, %2]");
12613 #line 293 "rx-decode.opc"
12614 ID(movbir); sBWL(sz); DR(rdst); SR(isrc); S2R(bsrc); F_____;
12622 switch (op[2] & 0x00)
12625 goto op_semantics_95;
12631 switch (op[2] & 0x00)
12634 goto op_semantics_95;
12640 switch (op[2] & 0x00)
12643 goto op_semantics_95;
12649 switch (op[2] & 0x00)
12652 goto op_semantics_95;
12658 switch (op[2] & 0x00)
12661 goto op_semantics_95;
12667 switch (op[2] & 0x00)
12670 goto op_semantics_95;
12676 switch (op[2] & 0x00)
12679 goto op_semantics_95;
12685 switch (op[2] & 0x00)
12688 goto op_semantics_95;
12694 switch (op[2] & 0x00)
12697 goto op_semantics_95;
12703 switch (op[2] & 0x00)
12706 goto op_semantics_95;
12712 switch (op[2] & 0x00)
12715 goto op_semantics_95;
12721 switch (op[2] & 0x00)
12724 goto op_semantics_95;
12730 switch (op[2] & 0x00)
12733 goto op_semantics_95;
12739 switch (op[2] & 0x00)
12742 goto op_semantics_95;
12748 switch (op[2] & 0x00)
12751 goto op_semantics_95;
12757 switch (op[2] & 0x00)
12760 goto op_semantics_95;
12766 switch (op[2] & 0x00)
12769 goto op_semantics_95;
12775 switch (op[2] & 0x00)
12778 goto op_semantics_95;
12784 switch (op[2] & 0x00)
12787 goto op_semantics_95;
12793 switch (op[2] & 0x00)
12796 goto op_semantics_95;
12802 switch (op[2] & 0x00)
12805 goto op_semantics_95;
12811 switch (op[2] & 0x00)
12814 goto op_semantics_95;
12820 switch (op[2] & 0x00)
12823 goto op_semantics_95;
12829 switch (op[2] & 0x00)
12832 goto op_semantics_95;
12838 switch (op[2] & 0x00)
12841 goto op_semantics_95;
12847 switch (op[2] & 0x00)
12850 goto op_semantics_95;
12856 switch (op[2] & 0x00)
12859 goto op_semantics_95;
12865 switch (op[2] & 0x00)
12868 goto op_semantics_95;
12874 switch (op[2] & 0x00)
12877 goto op_semantics_95;
12883 switch (op[2] & 0x00)
12886 goto op_semantics_95;
12892 switch (op[2] & 0x00)
12895 goto op_semantics_95;
12901 switch (op[2] & 0x00)
12904 goto op_semantics_95;
12910 switch (op[2] & 0x00)
12913 goto op_semantics_95;
12919 switch (op[2] & 0x00)
12922 goto op_semantics_95;
12928 switch (op[2] & 0x00)
12931 goto op_semantics_95;
12937 switch (op[2] & 0x00)
12940 goto op_semantics_95;
12946 switch (op[2] & 0x00)
12949 goto op_semantics_95;
12955 switch (op[2] & 0x00)
12958 goto op_semantics_95;
12964 switch (op[2] & 0x00)
12967 goto op_semantics_95;
12973 switch (op[2] & 0x00)
12976 goto op_semantics_95;
12982 switch (op[2] & 0x00)
12985 goto op_semantics_95;
12991 switch (op[2] & 0x00)
12994 goto op_semantics_95;
13000 switch (op[2] & 0x00)
13003 goto op_semantics_95;
13009 switch (op[2] & 0x00)
13012 goto op_semantics_95;
13018 switch (op[2] & 0x00)
13021 goto op_semantics_95;
13027 switch (op[2] & 0x00)
13030 goto op_semantics_95;
13036 switch (op[2] & 0x00)
13039 goto op_semantics_95;
13045 switch (op[2] & 0x00)
13050 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13051 #line 290 "rx-decode.opc"
13052 int sz AU = (op[1] >> 4) & 0x03;
13053 #line 290 "rx-decode.opc"
13054 int isrc AU = op[1] & 0x0f;
13055 #line 290 "rx-decode.opc"
13056 int bsrc AU = (op[2] >> 4) & 0x0f;
13057 #line 290 "rx-decode.opc"
13058 int rdst AU = op[2] & 0x0f;
13061 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13062 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13063 op[0], op[1], op[2]);
13064 printf (" sz = 0x%x,", sz);
13065 printf (" isrc = 0x%x,", isrc);
13066 printf (" bsrc = 0x%x,", bsrc);
13067 printf (" rdst = 0x%x\n", rdst);
13069 SYNTAX("mov%s [%1, %2], %0");
13070 #line 290 "rx-decode.opc"
13071 ID(movbi); sBWL(sz); DR(rdst); SR(isrc); S2R(bsrc); F_____;
13079 switch (op[2] & 0x00)
13082 goto op_semantics_96;
13088 switch (op[2] & 0x00)
13091 goto op_semantics_96;
13097 switch (op[2] & 0x00)
13100 goto op_semantics_96;
13106 switch (op[2] & 0x00)
13109 goto op_semantics_96;
13115 switch (op[2] & 0x00)
13118 goto op_semantics_96;
13124 switch (op[2] & 0x00)
13127 goto op_semantics_96;
13133 switch (op[2] & 0x00)
13136 goto op_semantics_96;
13142 switch (op[2] & 0x00)
13145 goto op_semantics_96;
13151 switch (op[2] & 0x00)
13154 goto op_semantics_96;
13160 switch (op[2] & 0x00)
13163 goto op_semantics_96;
13169 switch (op[2] & 0x00)
13172 goto op_semantics_96;
13178 switch (op[2] & 0x00)
13181 goto op_semantics_96;
13187 switch (op[2] & 0x00)
13190 goto op_semantics_96;
13196 switch (op[2] & 0x00)
13199 goto op_semantics_96;
13205 switch (op[2] & 0x00)
13208 goto op_semantics_96;
13214 switch (op[2] & 0x00)
13217 goto op_semantics_96;
13223 switch (op[2] & 0x00)
13226 goto op_semantics_96;
13232 switch (op[2] & 0x00)
13235 goto op_semantics_96;
13241 switch (op[2] & 0x00)
13244 goto op_semantics_96;
13250 switch (op[2] & 0x00)
13253 goto op_semantics_96;
13259 switch (op[2] & 0x00)
13262 goto op_semantics_96;
13268 switch (op[2] & 0x00)
13271 goto op_semantics_96;
13277 switch (op[2] & 0x00)
13280 goto op_semantics_96;
13286 switch (op[2] & 0x00)
13289 goto op_semantics_96;
13295 switch (op[2] & 0x00)
13298 goto op_semantics_96;
13304 switch (op[2] & 0x00)
13307 goto op_semantics_96;
13313 switch (op[2] & 0x00)
13316 goto op_semantics_96;
13322 switch (op[2] & 0x00)
13325 goto op_semantics_96;
13331 switch (op[2] & 0x00)
13334 goto op_semantics_96;
13340 switch (op[2] & 0x00)
13343 goto op_semantics_96;
13349 switch (op[2] & 0x00)
13352 goto op_semantics_96;
13358 switch (op[2] & 0x00)
13361 goto op_semantics_96;
13367 switch (op[2] & 0x00)
13370 goto op_semantics_96;
13376 switch (op[2] & 0x00)
13379 goto op_semantics_96;
13385 switch (op[2] & 0x00)
13388 goto op_semantics_96;
13394 switch (op[2] & 0x00)
13397 goto op_semantics_96;
13403 switch (op[2] & 0x00)
13406 goto op_semantics_96;
13412 switch (op[2] & 0x00)
13415 goto op_semantics_96;
13421 switch (op[2] & 0x00)
13424 goto op_semantics_96;
13430 switch (op[2] & 0x00)
13433 goto op_semantics_96;
13439 switch (op[2] & 0x00)
13442 goto op_semantics_96;
13448 switch (op[2] & 0x00)
13451 goto op_semantics_96;
13457 switch (op[2] & 0x00)
13460 goto op_semantics_96;
13466 switch (op[2] & 0x00)
13469 goto op_semantics_96;
13475 switch (op[2] & 0x00)
13478 goto op_semantics_96;
13484 switch (op[2] & 0x00)
13487 goto op_semantics_96;
13493 switch (op[2] & 0x00)
13496 goto op_semantics_96;
13502 switch (op[2] & 0x00)
13507 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13508 #line 296 "rx-decode.opc"
13509 int sz AU = (op[1] >> 4) & 0x03;
13510 #line 296 "rx-decode.opc"
13511 int isrc AU = op[1] & 0x0f;
13512 #line 296 "rx-decode.opc"
13513 int bsrc AU = (op[2] >> 4) & 0x0f;
13514 #line 296 "rx-decode.opc"
13515 int rdst AU = op[2] & 0x0f;
13518 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13519 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13520 op[0], op[1], op[2]);
13521 printf (" sz = 0x%x,", sz);
13522 printf (" isrc = 0x%x,", isrc);
13523 printf (" bsrc = 0x%x,", bsrc);
13524 printf (" rdst = 0x%x\n", rdst);
13526 SYNTAX("movu%s [%1, %2], %0");
13527 #line 296 "rx-decode.opc"
13528 ID(movbi); uBWL(sz); DR(rdst); SR(isrc); S2R(bsrc); F_____;
13536 switch (op[2] & 0x00)
13539 goto op_semantics_97;
13545 switch (op[2] & 0x00)
13548 goto op_semantics_97;
13554 switch (op[2] & 0x00)
13557 goto op_semantics_97;
13563 switch (op[2] & 0x00)
13566 goto op_semantics_97;
13572 switch (op[2] & 0x00)
13575 goto op_semantics_97;
13581 switch (op[2] & 0x00)
13584 goto op_semantics_97;
13590 switch (op[2] & 0x00)
13593 goto op_semantics_97;
13599 switch (op[2] & 0x00)
13602 goto op_semantics_97;
13608 switch (op[2] & 0x00)
13611 goto op_semantics_97;
13617 switch (op[2] & 0x00)
13620 goto op_semantics_97;
13626 switch (op[2] & 0x00)
13629 goto op_semantics_97;
13635 switch (op[2] & 0x00)
13638 goto op_semantics_97;
13644 switch (op[2] & 0x00)
13647 goto op_semantics_97;
13653 switch (op[2] & 0x00)
13656 goto op_semantics_97;
13662 switch (op[2] & 0x00)
13665 goto op_semantics_97;
13671 switch (op[2] & 0x00)
13674 goto op_semantics_97;
13680 switch (op[2] & 0x00)
13683 goto op_semantics_97;
13689 switch (op[2] & 0x00)
13692 goto op_semantics_97;
13698 switch (op[2] & 0x00)
13701 goto op_semantics_97;
13707 switch (op[2] & 0x00)
13710 goto op_semantics_97;
13716 switch (op[2] & 0x00)
13719 goto op_semantics_97;
13725 switch (op[2] & 0x00)
13728 goto op_semantics_97;
13734 switch (op[2] & 0x00)
13737 goto op_semantics_97;
13743 switch (op[2] & 0x00)
13746 goto op_semantics_97;
13752 switch (op[2] & 0x00)
13755 goto op_semantics_97;
13761 switch (op[2] & 0x00)
13764 goto op_semantics_97;
13770 switch (op[2] & 0x00)
13773 goto op_semantics_97;
13779 switch (op[2] & 0x00)
13782 goto op_semantics_97;
13788 switch (op[2] & 0x00)
13791 goto op_semantics_97;
13797 switch (op[2] & 0x00)
13800 goto op_semantics_97;
13806 switch (op[2] & 0x00)
13809 goto op_semantics_97;
13815 switch (op[2] & 0x00)
13818 goto op_semantics_97;
13824 switch (op[2] & 0x00)
13827 goto op_semantics_97;
13833 switch (op[2] & 0x00)
13836 goto op_semantics_97;
13842 switch (op[2] & 0x00)
13845 goto op_semantics_97;
13851 switch (op[2] & 0x00)
13854 goto op_semantics_97;
13860 switch (op[2] & 0x00)
13863 goto op_semantics_97;
13869 switch (op[2] & 0x00)
13872 goto op_semantics_97;
13878 switch (op[2] & 0x00)
13881 goto op_semantics_97;
13887 switch (op[2] & 0x00)
13890 goto op_semantics_97;
13896 switch (op[2] & 0x00)
13899 goto op_semantics_97;
13905 switch (op[2] & 0x00)
13908 goto op_semantics_97;
13914 switch (op[2] & 0x00)
13917 goto op_semantics_97;
13923 switch (op[2] & 0x00)
13926 goto op_semantics_97;
13932 switch (op[2] & 0x00)
13935 goto op_semantics_97;
13941 switch (op[2] & 0x00)
13944 goto op_semantics_97;
13950 switch (op[2] & 0x00)
13953 goto op_semantics_97;
13957 default: UNSUPPORTED(); break;
13962 switch (op[1] & 0xff)
13966 switch (op[2] & 0x00)
13971 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
13972 #line 500 "rx-decode.opc"
13973 int rdst AU = op[1] & 0x0f;
13974 #line 500 "rx-decode.opc"
13975 int srca AU = (op[2] >> 4) & 0x0f;
13976 #line 500 "rx-decode.opc"
13977 int srcb AU = op[2] & 0x0f;
13980 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13981 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
13982 op[0], op[1], op[2]);
13983 printf (" rdst = 0x%x,", rdst);
13984 printf (" srca = 0x%x,", srca);
13985 printf (" srcb = 0x%x\n", srcb);
13987 SYNTAX("sub %2, %1, %0");
13988 #line 500 "rx-decode.opc"
13989 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
13991 /*----------------------------------------------------------------------*/
14000 switch (op[2] & 0x00)
14003 goto op_semantics_98;
14009 switch (op[2] & 0x00)
14012 goto op_semantics_98;
14018 switch (op[2] & 0x00)
14021 goto op_semantics_98;
14027 switch (op[2] & 0x00)
14030 goto op_semantics_98;
14036 switch (op[2] & 0x00)
14039 goto op_semantics_98;
14045 switch (op[2] & 0x00)
14048 goto op_semantics_98;
14054 switch (op[2] & 0x00)
14057 goto op_semantics_98;
14063 switch (op[2] & 0x00)
14066 goto op_semantics_98;
14072 switch (op[2] & 0x00)
14075 goto op_semantics_98;
14081 switch (op[2] & 0x00)
14084 goto op_semantics_98;
14090 switch (op[2] & 0x00)
14093 goto op_semantics_98;
14099 switch (op[2] & 0x00)
14102 goto op_semantics_98;
14108 switch (op[2] & 0x00)
14111 goto op_semantics_98;
14117 switch (op[2] & 0x00)
14120 goto op_semantics_98;
14126 switch (op[2] & 0x00)
14129 goto op_semantics_98;
14135 switch (op[2] & 0x00)
14140 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14141 #line 467 "rx-decode.opc"
14142 int rdst AU = op[1] & 0x0f;
14143 #line 467 "rx-decode.opc"
14144 int srca AU = (op[2] >> 4) & 0x0f;
14145 #line 467 "rx-decode.opc"
14146 int srcb AU = op[2] & 0x0f;
14149 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14150 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14151 op[0], op[1], op[2]);
14152 printf (" rdst = 0x%x,", rdst);
14153 printf (" srca = 0x%x,", srca);
14154 printf (" srcb = 0x%x\n", srcb);
14156 SYNTAX("add %2, %1, %0");
14157 #line 467 "rx-decode.opc"
14158 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14160 /*----------------------------------------------------------------------*/
14169 switch (op[2] & 0x00)
14172 goto op_semantics_99;
14178 switch (op[2] & 0x00)
14181 goto op_semantics_99;
14187 switch (op[2] & 0x00)
14190 goto op_semantics_99;
14196 switch (op[2] & 0x00)
14199 goto op_semantics_99;
14205 switch (op[2] & 0x00)
14208 goto op_semantics_99;
14214 switch (op[2] & 0x00)
14217 goto op_semantics_99;
14223 switch (op[2] & 0x00)
14226 goto op_semantics_99;
14232 switch (op[2] & 0x00)
14235 goto op_semantics_99;
14241 switch (op[2] & 0x00)
14244 goto op_semantics_99;
14250 switch (op[2] & 0x00)
14253 goto op_semantics_99;
14259 switch (op[2] & 0x00)
14262 goto op_semantics_99;
14268 switch (op[2] & 0x00)
14271 goto op_semantics_99;
14277 switch (op[2] & 0x00)
14280 goto op_semantics_99;
14286 switch (op[2] & 0x00)
14289 goto op_semantics_99;
14295 switch (op[2] & 0x00)
14298 goto op_semantics_99;
14304 switch (op[2] & 0x00)
14309 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14310 #line 561 "rx-decode.opc"
14311 int rdst AU = op[1] & 0x0f;
14312 #line 561 "rx-decode.opc"
14313 int srca AU = (op[2] >> 4) & 0x0f;
14314 #line 561 "rx-decode.opc"
14315 int srcb AU = op[2] & 0x0f;
14318 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14319 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14320 op[0], op[1], op[2]);
14321 printf (" rdst = 0x%x,", rdst);
14322 printf (" srca = 0x%x,", srca);
14323 printf (" srcb = 0x%x\n", srcb);
14325 SYNTAX("mul %2, %1, %0");
14326 #line 561 "rx-decode.opc"
14327 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
14329 /*----------------------------------------------------------------------*/
14338 switch (op[2] & 0x00)
14341 goto op_semantics_100;
14347 switch (op[2] & 0x00)
14350 goto op_semantics_100;
14356 switch (op[2] & 0x00)
14359 goto op_semantics_100;
14365 switch (op[2] & 0x00)
14368 goto op_semantics_100;
14374 switch (op[2] & 0x00)
14377 goto op_semantics_100;
14383 switch (op[2] & 0x00)
14386 goto op_semantics_100;
14392 switch (op[2] & 0x00)
14395 goto op_semantics_100;
14401 switch (op[2] & 0x00)
14404 goto op_semantics_100;
14410 switch (op[2] & 0x00)
14413 goto op_semantics_100;
14419 switch (op[2] & 0x00)
14422 goto op_semantics_100;
14428 switch (op[2] & 0x00)
14431 goto op_semantics_100;
14437 switch (op[2] & 0x00)
14440 goto op_semantics_100;
14446 switch (op[2] & 0x00)
14449 goto op_semantics_100;
14455 switch (op[2] & 0x00)
14458 goto op_semantics_100;
14464 switch (op[2] & 0x00)
14467 goto op_semantics_100;
14473 switch (op[2] & 0x00)
14478 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14479 #line 377 "rx-decode.opc"
14480 int rdst AU = op[1] & 0x0f;
14481 #line 377 "rx-decode.opc"
14482 int srca AU = (op[2] >> 4) & 0x0f;
14483 #line 377 "rx-decode.opc"
14484 int srcb AU = op[2] & 0x0f;
14487 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14488 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14489 op[0], op[1], op[2]);
14490 printf (" rdst = 0x%x,", rdst);
14491 printf (" srca = 0x%x,", srca);
14492 printf (" srcb = 0x%x\n", srcb);
14494 SYNTAX("and %2, %1, %0");
14495 #line 377 "rx-decode.opc"
14496 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14498 /*----------------------------------------------------------------------*/
14507 switch (op[2] & 0x00)
14510 goto op_semantics_101;
14516 switch (op[2] & 0x00)
14519 goto op_semantics_101;
14525 switch (op[2] & 0x00)
14528 goto op_semantics_101;
14534 switch (op[2] & 0x00)
14537 goto op_semantics_101;
14543 switch (op[2] & 0x00)
14546 goto op_semantics_101;
14552 switch (op[2] & 0x00)
14555 goto op_semantics_101;
14561 switch (op[2] & 0x00)
14564 goto op_semantics_101;
14570 switch (op[2] & 0x00)
14573 goto op_semantics_101;
14579 switch (op[2] & 0x00)
14582 goto op_semantics_101;
14588 switch (op[2] & 0x00)
14591 goto op_semantics_101;
14597 switch (op[2] & 0x00)
14600 goto op_semantics_101;
14606 switch (op[2] & 0x00)
14609 goto op_semantics_101;
14615 switch (op[2] & 0x00)
14618 goto op_semantics_101;
14624 switch (op[2] & 0x00)
14627 goto op_semantics_101;
14633 switch (op[2] & 0x00)
14636 goto op_semantics_101;
14642 switch (op[2] & 0x00)
14647 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14648 #line 395 "rx-decode.opc"
14649 int rdst AU = op[1] & 0x0f;
14650 #line 395 "rx-decode.opc"
14651 int srca AU = (op[2] >> 4) & 0x0f;
14652 #line 395 "rx-decode.opc"
14653 int srcb AU = op[2] & 0x0f;
14656 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14657 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14658 op[0], op[1], op[2]);
14659 printf (" rdst = 0x%x,", rdst);
14660 printf (" srca = 0x%x,", srca);
14661 printf (" srcb = 0x%x\n", srcb);
14663 SYNTAX("or %2, %1, %0");
14664 #line 395 "rx-decode.opc"
14665 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14667 /*----------------------------------------------------------------------*/
14676 switch (op[2] & 0x00)
14679 goto op_semantics_102;
14685 switch (op[2] & 0x00)
14688 goto op_semantics_102;
14694 switch (op[2] & 0x00)
14697 goto op_semantics_102;
14703 switch (op[2] & 0x00)
14706 goto op_semantics_102;
14712 switch (op[2] & 0x00)
14715 goto op_semantics_102;
14721 switch (op[2] & 0x00)
14724 goto op_semantics_102;
14730 switch (op[2] & 0x00)
14733 goto op_semantics_102;
14739 switch (op[2] & 0x00)
14742 goto op_semantics_102;
14748 switch (op[2] & 0x00)
14751 goto op_semantics_102;
14757 switch (op[2] & 0x00)
14760 goto op_semantics_102;
14766 switch (op[2] & 0x00)
14769 goto op_semantics_102;
14775 switch (op[2] & 0x00)
14778 goto op_semantics_102;
14784 switch (op[2] & 0x00)
14787 goto op_semantics_102;
14793 switch (op[2] & 0x00)
14796 goto op_semantics_102;
14802 switch (op[2] & 0x00)
14805 goto op_semantics_102;
14809 default: UNSUPPORTED(); break;
14812 default: UNSUPPORTED(); break;
14814 #line 944 "rx-decode.opc"
14816 return rx->n_bytes;