1 #line 1 "rx-decode.opc"
3 /* Copyright (C) 2012-2016 Free Software Foundation, Inc.
4 Contributed by Red Hat.
7 This file is part of the GNU opcodes library.
9 This library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 MA 02110-1301, USA. */
29 #include "opcode/rx.h"
31 #define RX_OPCODE_BIG_ENDIAN 0
35 RX_Opcode_Decoded * rx;
36 int (* getbyte)(void *);
47 /* These are for when the upper bits are "don't care" or "undefined". */
53 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
61 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
68 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
69 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
80 #define ID(x) rx->id = RXO_##x
81 #define OP(n,t,r,a) (rx->op[n].type = t, \
83 rx->op[n].addend = a )
84 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
87 /* This is for the BWL and BW bitfields. */
88 static int SCALE[] = { 1, 2, 4, 0 };
89 /* This is for the prefix size enum. */
90 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
92 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
93 16, 17, 0, 0, 0, 0, 0, 0 };
95 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
98 *C a constant (immediate) c
100 *I Register indirect, no offset
101 *Is Register indirect, with offset
102 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
103 *P standard displacement: type (r,[r]), reg, assumes UByte
104 *Pm memex displacement: type (r,[r]), reg, memex code
105 *cc condition code. */
107 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
108 #define DR(r) OP (0, RX_Operand_Register, r, 0)
109 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
110 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
111 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
112 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
114 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
115 #define SR(r) OP (1, RX_Operand_Register, r, 0)
116 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
117 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
118 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
119 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
120 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
121 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
122 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
124 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
125 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
126 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
127 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
128 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
129 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
130 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
131 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
133 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
134 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
135 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
136 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
138 #define F(f) store_flags(rx, f)
140 #define AU ATTRIBUTE_UNUSED
141 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
143 #define SYNTAX(x) rx->syntax = x
145 #define UNSUPPORTED() \
146 rx->syntax = "*unknown*"
148 #define IMM(sf) immediate (sf, 0, ld)
149 #define IMMex(sf) immediate (sf, 1, ld)
152 immediate (int sfield, int ex, LocalData * ld)
154 unsigned long i = 0, j;
158 #define B ((unsigned long) GETBYTE())
160 #if RX_OPCODE_BIG_ENDIAN
162 if (ex && (i & 0x80))
173 if (ex && (j & 0x80))
179 #if RX_OPCODE_BIG_ENDIAN
188 if (ex && (i & 0x800000))
192 #if RX_OPCODE_BIG_ENDIAN
199 if (ex && (i & 0x8000))
204 if (ex && (i & 0x80))
214 rx_disp (int n, int type, int reg, int size, LocalData * ld)
218 ld->rx->op[n].reg = reg;
222 ld->rx->op[n].type = RX_Operand_Register;
225 ld->rx->op[n].type = RX_Operand_Zero_Indirect;
226 ld->rx->op[n].addend = 0;
229 ld->rx->op[n].type = RX_Operand_Indirect;
231 ld->rx->op[n].addend = disp * PSCALE[size];
234 ld->rx->op[n].type = RX_Operand_Indirect;
236 #if RX_OPCODE_BIG_ENDIAN
237 disp = disp * 256 + GETBYTE ();
239 disp = disp + GETBYTE () * 256;
241 ld->rx->op[n].addend = disp * PSCALE[size];
254 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
255 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
256 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
257 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
258 #define F_O___ rx->flags_0 = rx->flags_s = xO;
259 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
260 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
261 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
264 rx_decode_opcode (unsigned long pc AU,
265 RX_Opcode_Decoded * rx,
266 int (* getbyte)(void *),
269 LocalData lds, * ld = &lds;
270 unsigned char op[20] = {0};
273 lds.getbyte = getbyte;
277 memset (rx, 0, sizeof (*rx));
281 /*----------------------------------------------------------------------*/
285 switch (op[0] & 0xff)
292 printf ("\033[33m%s\033[0m %02x\n",
293 "/** 0000 0000 brk */",
297 #line 1025 "rx-decode.opc"
307 printf ("\033[33m%s\033[0m %02x\n",
308 "/** 0000 0001 dbt */",
312 #line 1028 "rx-decode.opc"
322 printf ("\033[33m%s\033[0m %02x\n",
323 "/** 0000 0010 rts */",
327 #line 806 "rx-decode.opc"
330 /*----------------------------------------------------------------------*/
340 printf ("\033[33m%s\033[0m %02x\n",
341 "/** 0000 0011 nop */",
345 #line 812 "rx-decode.opc"
348 /*----------------------------------------------------------------------*/
349 /* STRING FUNCTIONS */
355 /** 0000 0100 bra.a %a0 */
358 printf ("\033[33m%s\033[0m %02x\n",
359 "/** 0000 0100 bra.a %a0 */",
363 #line 784 "rx-decode.opc"
364 ID(branch); DC(pc + IMMex(3));
370 /** 0000 0101 bsr.a %a0 */
373 printf ("\033[33m%s\033[0m %02x\n",
374 "/** 0000 0101 bsr.a %a0 */",
378 #line 800 "rx-decode.opc"
379 ID(jsr); DC(pc + IMMex(3));
385 switch (op[1] & 0xff)
389 switch (op[2] & 0x00)
394 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
395 #line 542 "rx-decode.opc"
396 int mx AU = (op[1] >> 6) & 0x03;
397 #line 542 "rx-decode.opc"
398 int ss AU = op[1] & 0x03;
399 #line 542 "rx-decode.opc"
400 int rsrc AU = (op[2] >> 4) & 0x0f;
401 #line 542 "rx-decode.opc"
402 int rdst AU = op[2] & 0x0f;
405 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
406 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
407 op[0], op[1], op[2]);
408 printf (" mx = 0x%x,", mx);
409 printf (" ss = 0x%x,", ss);
410 printf (" rsrc = 0x%x,", rsrc);
411 printf (" rdst = 0x%x\n", rdst);
413 SYNTAX("sub %2%S2, %1");
414 #line 542 "rx-decode.opc"
415 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
423 switch (op[2] & 0x00)
432 switch (op[2] & 0x00)
441 switch (op[2] & 0x00)
450 switch (op[2] & 0x00)
455 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
456 #line 530 "rx-decode.opc"
457 int mx AU = (op[1] >> 6) & 0x03;
458 #line 530 "rx-decode.opc"
459 int ss AU = op[1] & 0x03;
460 #line 530 "rx-decode.opc"
461 int rsrc AU = (op[2] >> 4) & 0x0f;
462 #line 530 "rx-decode.opc"
463 int rdst AU = op[2] & 0x0f;
466 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
467 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
468 op[0], op[1], op[2]);
469 printf (" mx = 0x%x,", mx);
470 printf (" ss = 0x%x,", ss);
471 printf (" rsrc = 0x%x,", rsrc);
472 printf (" rdst = 0x%x\n", rdst);
474 SYNTAX("cmp %2%S2, %1");
475 #line 530 "rx-decode.opc"
476 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
478 /*----------------------------------------------------------------------*/
487 switch (op[2] & 0x00)
496 switch (op[2] & 0x00)
505 switch (op[2] & 0x00)
514 switch (op[2] & 0x00)
519 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
520 #line 506 "rx-decode.opc"
521 int mx AU = (op[1] >> 6) & 0x03;
522 #line 506 "rx-decode.opc"
523 int ss AU = op[1] & 0x03;
524 #line 506 "rx-decode.opc"
525 int rsrc AU = (op[2] >> 4) & 0x0f;
526 #line 506 "rx-decode.opc"
527 int rdst AU = op[2] & 0x0f;
530 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
531 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
532 op[0], op[1], op[2]);
533 printf (" mx = 0x%x,", mx);
534 printf (" ss = 0x%x,", ss);
535 printf (" rsrc = 0x%x,", rsrc);
536 printf (" rdst = 0x%x\n", rdst);
538 SYNTAX("add %1%S1, %0");
539 #line 506 "rx-decode.opc"
540 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
548 switch (op[2] & 0x00)
557 switch (op[2] & 0x00)
566 switch (op[2] & 0x00)
575 switch (op[2] & 0x00)
580 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
581 #line 649 "rx-decode.opc"
582 int mx AU = (op[1] >> 6) & 0x03;
583 #line 649 "rx-decode.opc"
584 int ss AU = op[1] & 0x03;
585 #line 649 "rx-decode.opc"
586 int rsrc AU = (op[2] >> 4) & 0x0f;
587 #line 649 "rx-decode.opc"
588 int rdst AU = op[2] & 0x0f;
591 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
592 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
593 op[0], op[1], op[2]);
594 printf (" mx = 0x%x,", mx);
595 printf (" ss = 0x%x,", ss);
596 printf (" rsrc = 0x%x,", rsrc);
597 printf (" rdst = 0x%x\n", rdst);
599 SYNTAX("mul %1%S1, %0");
600 #line 649 "rx-decode.opc"
601 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
609 switch (op[2] & 0x00)
618 switch (op[2] & 0x00)
627 switch (op[2] & 0x00)
636 switch (op[2] & 0x00)
641 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
642 #line 419 "rx-decode.opc"
643 int mx AU = (op[1] >> 6) & 0x03;
644 #line 419 "rx-decode.opc"
645 int ss AU = op[1] & 0x03;
646 #line 419 "rx-decode.opc"
647 int rsrc AU = (op[2] >> 4) & 0x0f;
648 #line 419 "rx-decode.opc"
649 int rdst AU = op[2] & 0x0f;
652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
653 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
654 op[0], op[1], op[2]);
655 printf (" mx = 0x%x,", mx);
656 printf (" ss = 0x%x,", ss);
657 printf (" rsrc = 0x%x,", rsrc);
658 printf (" rdst = 0x%x\n", rdst);
660 SYNTAX("and %1%S1, %0");
661 #line 419 "rx-decode.opc"
662 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
670 switch (op[2] & 0x00)
679 switch (op[2] & 0x00)
688 switch (op[2] & 0x00)
697 switch (op[2] & 0x00)
702 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
703 #line 437 "rx-decode.opc"
704 int mx AU = (op[1] >> 6) & 0x03;
705 #line 437 "rx-decode.opc"
706 int ss AU = op[1] & 0x03;
707 #line 437 "rx-decode.opc"
708 int rsrc AU = (op[2] >> 4) & 0x0f;
709 #line 437 "rx-decode.opc"
710 int rdst AU = op[2] & 0x0f;
713 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
714 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
715 op[0], op[1], op[2]);
716 printf (" mx = 0x%x,", mx);
717 printf (" ss = 0x%x,", ss);
718 printf (" rsrc = 0x%x,", rsrc);
719 printf (" rdst = 0x%x\n", rdst);
721 SYNTAX("or %1%S1, %0");
722 #line 437 "rx-decode.opc"
723 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
731 switch (op[2] & 0x00)
740 switch (op[2] & 0x00)
749 switch (op[2] & 0x00)
758 switch (op[2] & 0xff)
762 switch (op[3] & 0x00)
767 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
768 #line 555 "rx-decode.opc"
769 int mx AU = (op[1] >> 6) & 0x03;
770 #line 555 "rx-decode.opc"
771 int sp AU = op[1] & 0x03;
772 #line 555 "rx-decode.opc"
773 int rsrc AU = (op[3] >> 4) & 0x0f;
774 #line 555 "rx-decode.opc"
775 int rdst AU = op[3] & 0x0f;
778 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
779 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
780 op[0], op[1], op[2], op[3]);
781 printf (" mx = 0x%x,", mx);
782 printf (" sp = 0x%x,", sp);
783 printf (" rsrc = 0x%x,", rsrc);
784 printf (" rdst = 0x%x\n", rdst);
786 SYNTAX("sbb %1%S1, %0");
787 #line 555 "rx-decode.opc"
788 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
790 /*----------------------------------------------------------------------*/
799 switch (op[3] & 0x00)
804 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
805 #line 594 "rx-decode.opc"
806 int mx AU = (op[1] >> 6) & 0x03;
807 #line 594 "rx-decode.opc"
808 int ss AU = op[1] & 0x03;
809 #line 594 "rx-decode.opc"
810 int rsrc AU = (op[3] >> 4) & 0x0f;
811 #line 594 "rx-decode.opc"
812 int rdst AU = op[3] & 0x0f;
815 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
816 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
817 op[0], op[1], op[2], op[3]);
818 printf (" mx = 0x%x,", mx);
819 printf (" ss = 0x%x,", ss);
820 printf (" rsrc = 0x%x,", rsrc);
821 printf (" rdst = 0x%x\n", rdst);
823 SYNTAX("max %1%S1, %0");
824 #line 594 "rx-decode.opc"
825 ID(max); SPm(ss, rsrc, mx); DR(rdst);
827 /*----------------------------------------------------------------------*/
836 switch (op[3] & 0x00)
841 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
842 #line 606 "rx-decode.opc"
843 int mx AU = (op[1] >> 6) & 0x03;
844 #line 606 "rx-decode.opc"
845 int ss AU = op[1] & 0x03;
846 #line 606 "rx-decode.opc"
847 int rsrc AU = (op[3] >> 4) & 0x0f;
848 #line 606 "rx-decode.opc"
849 int rdst AU = op[3] & 0x0f;
852 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
853 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
854 op[0], op[1], op[2], op[3]);
855 printf (" mx = 0x%x,", mx);
856 printf (" ss = 0x%x,", ss);
857 printf (" rsrc = 0x%x,", rsrc);
858 printf (" rdst = 0x%x\n", rdst);
860 SYNTAX("min %1%S1, %0");
861 #line 606 "rx-decode.opc"
862 ID(min); SPm(ss, rsrc, mx); DR(rdst);
864 /*----------------------------------------------------------------------*/
873 switch (op[3] & 0x00)
878 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
879 #line 664 "rx-decode.opc"
880 int mx AU = (op[1] >> 6) & 0x03;
881 #line 664 "rx-decode.opc"
882 int ss AU = op[1] & 0x03;
883 #line 664 "rx-decode.opc"
884 int rsrc AU = (op[3] >> 4) & 0x0f;
885 #line 664 "rx-decode.opc"
886 int rdst AU = op[3] & 0x0f;
889 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
890 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
891 op[0], op[1], op[2], op[3]);
892 printf (" mx = 0x%x,", mx);
893 printf (" ss = 0x%x,", ss);
894 printf (" rsrc = 0x%x,", rsrc);
895 printf (" rdst = 0x%x\n", rdst);
897 SYNTAX("emul %1%S1, %0");
898 #line 664 "rx-decode.opc"
899 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
901 /*----------------------------------------------------------------------*/
910 switch (op[3] & 0x00)
915 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
916 #line 676 "rx-decode.opc"
917 int mx AU = (op[1] >> 6) & 0x03;
918 #line 676 "rx-decode.opc"
919 int ss AU = op[1] & 0x03;
920 #line 676 "rx-decode.opc"
921 int rsrc AU = (op[3] >> 4) & 0x0f;
922 #line 676 "rx-decode.opc"
923 int rdst AU = op[3] & 0x0f;
926 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
927 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
928 op[0], op[1], op[2], op[3]);
929 printf (" mx = 0x%x,", mx);
930 printf (" ss = 0x%x,", ss);
931 printf (" rsrc = 0x%x,", rsrc);
932 printf (" rdst = 0x%x\n", rdst);
934 SYNTAX("emulu %1%S1, %0");
935 #line 676 "rx-decode.opc"
936 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
938 /*----------------------------------------------------------------------*/
947 switch (op[3] & 0x00)
952 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
953 #line 688 "rx-decode.opc"
954 int mx AU = (op[1] >> 6) & 0x03;
955 #line 688 "rx-decode.opc"
956 int ss AU = op[1] & 0x03;
957 #line 688 "rx-decode.opc"
958 int rsrc AU = (op[3] >> 4) & 0x0f;
959 #line 688 "rx-decode.opc"
960 int rdst AU = op[3] & 0x0f;
963 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
964 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
965 op[0], op[1], op[2], op[3]);
966 printf (" mx = 0x%x,", mx);
967 printf (" ss = 0x%x,", ss);
968 printf (" rsrc = 0x%x,", rsrc);
969 printf (" rdst = 0x%x\n", rdst);
971 SYNTAX("div %1%S1, %0");
972 #line 688 "rx-decode.opc"
973 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
975 /*----------------------------------------------------------------------*/
984 switch (op[3] & 0x00)
989 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
990 #line 700 "rx-decode.opc"
991 int mx AU = (op[1] >> 6) & 0x03;
992 #line 700 "rx-decode.opc"
993 int ss AU = op[1] & 0x03;
994 #line 700 "rx-decode.opc"
995 int rsrc AU = (op[3] >> 4) & 0x0f;
996 #line 700 "rx-decode.opc"
997 int rdst AU = op[3] & 0x0f;
1000 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1001 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1002 op[0], op[1], op[2], op[3]);
1003 printf (" mx = 0x%x,", mx);
1004 printf (" ss = 0x%x,", ss);
1005 printf (" rsrc = 0x%x,", rsrc);
1006 printf (" rdst = 0x%x\n", rdst);
1008 SYNTAX("divu %1%S1, %0");
1009 #line 700 "rx-decode.opc"
1010 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1012 /*----------------------------------------------------------------------*/
1021 switch (op[3] & 0x00)
1026 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1027 #line 473 "rx-decode.opc"
1028 int mx AU = (op[1] >> 6) & 0x03;
1029 #line 473 "rx-decode.opc"
1030 int ss AU = op[1] & 0x03;
1031 #line 473 "rx-decode.opc"
1032 int rsrc AU = (op[3] >> 4) & 0x0f;
1033 #line 473 "rx-decode.opc"
1034 int rdst AU = op[3] & 0x0f;
1037 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1038 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1039 op[0], op[1], op[2], op[3]);
1040 printf (" mx = 0x%x,", mx);
1041 printf (" ss = 0x%x,", ss);
1042 printf (" rsrc = 0x%x,", rsrc);
1043 printf (" rdst = 0x%x\n", rdst);
1045 SYNTAX("tst %1%S1, %2");
1046 #line 473 "rx-decode.opc"
1047 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1049 /*----------------------------------------------------------------------*/
1058 switch (op[3] & 0x00)
1063 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1064 #line 452 "rx-decode.opc"
1065 int mx AU = (op[1] >> 6) & 0x03;
1066 #line 452 "rx-decode.opc"
1067 int ss AU = op[1] & 0x03;
1068 #line 452 "rx-decode.opc"
1069 int rsrc AU = (op[3] >> 4) & 0x0f;
1070 #line 452 "rx-decode.opc"
1071 int rdst AU = op[3] & 0x0f;
1074 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1075 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1076 op[0], op[1], op[2], op[3]);
1077 printf (" mx = 0x%x,", mx);
1078 printf (" ss = 0x%x,", ss);
1079 printf (" rsrc = 0x%x,", rsrc);
1080 printf (" rdst = 0x%x\n", rdst);
1082 SYNTAX("xor %1%S1, %0");
1083 #line 452 "rx-decode.opc"
1084 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1086 /*----------------------------------------------------------------------*/
1095 switch (op[3] & 0x00)
1100 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1101 #line 386 "rx-decode.opc"
1102 int mx AU = (op[1] >> 6) & 0x03;
1103 #line 386 "rx-decode.opc"
1104 int ss AU = op[1] & 0x03;
1105 #line 386 "rx-decode.opc"
1106 int rsrc AU = (op[3] >> 4) & 0x0f;
1107 #line 386 "rx-decode.opc"
1108 int rdst AU = op[3] & 0x0f;
1111 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1112 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1113 op[0], op[1], op[2], op[3]);
1114 printf (" mx = 0x%x,", mx);
1115 printf (" ss = 0x%x,", ss);
1116 printf (" rsrc = 0x%x,", rsrc);
1117 printf (" rdst = 0x%x\n", rdst);
1119 SYNTAX("xchg %1%S1, %0");
1120 #line 386 "rx-decode.opc"
1121 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1123 /*----------------------------------------------------------------------*/
1132 switch (op[3] & 0x00)
1137 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1138 #line 929 "rx-decode.opc"
1139 int mx AU = (op[1] >> 6) & 0x03;
1140 #line 929 "rx-decode.opc"
1141 int sd AU = op[1] & 0x03;
1142 #line 929 "rx-decode.opc"
1143 int rsrc AU = (op[3] >> 4) & 0x0f;
1144 #line 929 "rx-decode.opc"
1145 int rdst AU = op[3] & 0x0f;
1148 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1149 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1150 op[0], op[1], op[2], op[3]);
1151 printf (" mx = 0x%x,", mx);
1152 printf (" sd = 0x%x,", sd);
1153 printf (" rsrc = 0x%x,", rsrc);
1154 printf (" rdst = 0x%x\n", rdst);
1156 SYNTAX("itof %1%S1, %0");
1157 #line 929 "rx-decode.opc"
1158 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1160 /*----------------------------------------------------------------------*/
1169 switch (op[3] & 0x00)
1174 /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
1175 #line 1115 "rx-decode.opc"
1176 int mx AU = (op[1] >> 6) & 0x03;
1177 #line 1115 "rx-decode.opc"
1178 int sd AU = op[1] & 0x03;
1179 #line 1115 "rx-decode.opc"
1180 int rsrc AU = (op[3] >> 4) & 0x0f;
1181 #line 1115 "rx-decode.opc"
1182 int rdst AU = op[3] & 0x0f;
1185 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1186 "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
1187 op[0], op[1], op[2], op[3]);
1188 printf (" mx = 0x%x,", mx);
1189 printf (" sd = 0x%x,", sd);
1190 printf (" rsrc = 0x%x,", rsrc);
1191 printf (" rdst = 0x%x\n", rdst);
1193 SYNTAX("utof %1%S1, %0");
1194 #line 1115 "rx-decode.opc"
1195 ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1201 default: UNSUPPORTED(); break;
1206 switch (op[2] & 0xff)
1210 switch (op[3] & 0x00)
1213 goto op_semantics_7;
1219 switch (op[3] & 0x00)
1222 goto op_semantics_8;
1228 switch (op[3] & 0x00)
1231 goto op_semantics_9;
1237 switch (op[3] & 0x00)
1240 goto op_semantics_10;
1246 switch (op[3] & 0x00)
1249 goto op_semantics_11;
1255 switch (op[3] & 0x00)
1258 goto op_semantics_12;
1264 switch (op[3] & 0x00)
1267 goto op_semantics_13;
1273 switch (op[3] & 0x00)
1276 goto op_semantics_14;
1282 switch (op[3] & 0x00)
1285 goto op_semantics_15;
1291 switch (op[3] & 0x00)
1294 goto op_semantics_16;
1300 switch (op[3] & 0x00)
1303 goto op_semantics_17;
1309 switch (op[3] & 0x00)
1312 goto op_semantics_18;
1316 default: UNSUPPORTED(); break;
1321 switch (op[2] & 0xff)
1325 switch (op[3] & 0x00)
1328 goto op_semantics_7;
1334 switch (op[3] & 0x00)
1337 goto op_semantics_8;
1343 switch (op[3] & 0x00)
1346 goto op_semantics_9;
1352 switch (op[3] & 0x00)
1355 goto op_semantics_10;
1361 switch (op[3] & 0x00)
1364 goto op_semantics_11;
1370 switch (op[3] & 0x00)
1373 goto op_semantics_12;
1379 switch (op[3] & 0x00)
1382 goto op_semantics_13;
1388 switch (op[3] & 0x00)
1391 goto op_semantics_14;
1397 switch (op[3] & 0x00)
1400 goto op_semantics_15;
1406 switch (op[3] & 0x00)
1409 goto op_semantics_16;
1415 switch (op[3] & 0x00)
1418 goto op_semantics_17;
1424 switch (op[3] & 0x00)
1427 goto op_semantics_18;
1431 default: UNSUPPORTED(); break;
1436 switch (op[2] & 0xff)
1440 switch (op[3] & 0x00)
1443 goto op_semantics_7;
1449 switch (op[3] & 0x00)
1452 goto op_semantics_8;
1458 switch (op[3] & 0x00)
1461 goto op_semantics_9;
1467 switch (op[3] & 0x00)
1470 goto op_semantics_10;
1476 switch (op[3] & 0x00)
1479 goto op_semantics_11;
1485 switch (op[3] & 0x00)
1488 goto op_semantics_12;
1494 switch (op[3] & 0x00)
1497 goto op_semantics_13;
1503 switch (op[3] & 0x00)
1506 goto op_semantics_14;
1512 switch (op[3] & 0x00)
1515 goto op_semantics_15;
1521 switch (op[3] & 0x00)
1524 goto op_semantics_16;
1530 switch (op[3] & 0x00)
1533 goto op_semantics_17;
1539 switch (op[3] & 0x00)
1542 goto op_semantics_18;
1546 default: UNSUPPORTED(); break;
1551 switch (op[2] & 0x00)
1554 goto op_semantics_1;
1560 switch (op[2] & 0x00)
1563 goto op_semantics_1;
1569 switch (op[2] & 0x00)
1572 goto op_semantics_1;
1578 switch (op[2] & 0x00)
1581 goto op_semantics_1;
1587 switch (op[2] & 0x00)
1590 goto op_semantics_2;
1596 switch (op[2] & 0x00)
1599 goto op_semantics_2;
1605 switch (op[2] & 0x00)
1608 goto op_semantics_2;
1614 switch (op[2] & 0x00)
1617 goto op_semantics_2;
1623 switch (op[2] & 0x00)
1626 goto op_semantics_3;
1632 switch (op[2] & 0x00)
1635 goto op_semantics_3;
1641 switch (op[2] & 0x00)
1644 goto op_semantics_3;
1650 switch (op[2] & 0x00)
1653 goto op_semantics_3;
1659 switch (op[2] & 0x00)
1662 goto op_semantics_4;
1668 switch (op[2] & 0x00)
1671 goto op_semantics_4;
1677 switch (op[2] & 0x00)
1680 goto op_semantics_4;
1686 switch (op[2] & 0x00)
1689 goto op_semantics_4;
1695 switch (op[2] & 0x00)
1698 goto op_semantics_5;
1704 switch (op[2] & 0x00)
1707 goto op_semantics_5;
1713 switch (op[2] & 0x00)
1716 goto op_semantics_5;
1722 switch (op[2] & 0x00)
1725 goto op_semantics_5;
1731 switch (op[2] & 0x00)
1734 goto op_semantics_6;
1740 switch (op[2] & 0x00)
1743 goto op_semantics_6;
1749 switch (op[2] & 0x00)
1752 goto op_semantics_6;
1758 switch (op[2] & 0x00)
1761 goto op_semantics_6;
1767 switch (op[2] & 0xff)
1771 switch (op[3] & 0x00)
1774 goto op_semantics_7;
1780 switch (op[3] & 0x00)
1783 goto op_semantics_8;
1789 switch (op[3] & 0x00)
1792 goto op_semantics_9;
1798 switch (op[3] & 0x00)
1801 goto op_semantics_10;
1807 switch (op[3] & 0x00)
1810 goto op_semantics_11;
1816 switch (op[3] & 0x00)
1819 goto op_semantics_12;
1825 switch (op[3] & 0x00)
1828 goto op_semantics_13;
1834 switch (op[3] & 0x00)
1837 goto op_semantics_14;
1843 switch (op[3] & 0x00)
1846 goto op_semantics_15;
1852 switch (op[3] & 0x00)
1855 goto op_semantics_16;
1861 switch (op[3] & 0x00)
1864 goto op_semantics_17;
1870 switch (op[3] & 0x00)
1873 goto op_semantics_18;
1877 default: UNSUPPORTED(); break;
1882 switch (op[2] & 0xff)
1886 switch (op[3] & 0x00)
1889 goto op_semantics_7;
1895 switch (op[3] & 0x00)
1898 goto op_semantics_8;
1904 switch (op[3] & 0x00)
1907 goto op_semantics_9;
1913 switch (op[3] & 0x00)
1916 goto op_semantics_10;
1922 switch (op[3] & 0x00)
1925 goto op_semantics_11;
1931 switch (op[3] & 0x00)
1934 goto op_semantics_12;
1940 switch (op[3] & 0x00)
1943 goto op_semantics_13;
1949 switch (op[3] & 0x00)
1952 goto op_semantics_14;
1958 switch (op[3] & 0x00)
1961 goto op_semantics_15;
1967 switch (op[3] & 0x00)
1970 goto op_semantics_16;
1976 switch (op[3] & 0x00)
1979 goto op_semantics_17;
1985 switch (op[3] & 0x00)
1988 goto op_semantics_18;
1992 default: UNSUPPORTED(); break;
1997 switch (op[2] & 0xff)
2001 switch (op[3] & 0x00)
2004 goto op_semantics_7;
2010 switch (op[3] & 0x00)
2013 goto op_semantics_8;
2019 switch (op[3] & 0x00)
2022 goto op_semantics_9;
2028 switch (op[3] & 0x00)
2031 goto op_semantics_10;
2037 switch (op[3] & 0x00)
2040 goto op_semantics_11;
2046 switch (op[3] & 0x00)
2049 goto op_semantics_12;
2055 switch (op[3] & 0x00)
2058 goto op_semantics_13;
2064 switch (op[3] & 0x00)
2067 goto op_semantics_14;
2073 switch (op[3] & 0x00)
2076 goto op_semantics_15;
2082 switch (op[3] & 0x00)
2085 goto op_semantics_16;
2091 switch (op[3] & 0x00)
2094 goto op_semantics_17;
2100 switch (op[3] & 0x00)
2103 goto op_semantics_18;
2107 default: UNSUPPORTED(); break;
2112 switch (op[2] & 0xff)
2116 switch (op[3] & 0x00)
2119 goto op_semantics_7;
2125 switch (op[3] & 0x00)
2128 goto op_semantics_8;
2134 switch (op[3] & 0x00)
2137 goto op_semantics_9;
2143 switch (op[3] & 0x00)
2146 goto op_semantics_10;
2152 switch (op[3] & 0x00)
2155 goto op_semantics_11;
2161 switch (op[3] & 0x00)
2164 goto op_semantics_12;
2170 switch (op[3] & 0x00)
2173 goto op_semantics_13;
2179 switch (op[3] & 0x00)
2182 goto op_semantics_14;
2188 switch (op[3] & 0x00)
2191 goto op_semantics_15;
2197 switch (op[3] & 0x00)
2200 goto op_semantics_16;
2206 switch (op[3] & 0x00)
2209 goto op_semantics_17;
2215 switch (op[3] & 0x00)
2218 goto op_semantics_18;
2222 default: UNSUPPORTED(); break;
2227 switch (op[2] & 0x00)
2230 goto op_semantics_1;
2236 switch (op[2] & 0x00)
2239 goto op_semantics_1;
2245 switch (op[2] & 0x00)
2248 goto op_semantics_1;
2254 switch (op[2] & 0x00)
2257 goto op_semantics_1;
2263 switch (op[2] & 0x00)
2266 goto op_semantics_2;
2272 switch (op[2] & 0x00)
2275 goto op_semantics_2;
2281 switch (op[2] & 0x00)
2284 goto op_semantics_2;
2290 switch (op[2] & 0x00)
2293 goto op_semantics_2;
2299 switch (op[2] & 0x00)
2302 goto op_semantics_3;
2308 switch (op[2] & 0x00)
2311 goto op_semantics_3;
2317 switch (op[2] & 0x00)
2320 goto op_semantics_3;
2326 switch (op[2] & 0x00)
2329 goto op_semantics_3;
2335 switch (op[2] & 0x00)
2338 goto op_semantics_4;
2344 switch (op[2] & 0x00)
2347 goto op_semantics_4;
2353 switch (op[2] & 0x00)
2356 goto op_semantics_4;
2362 switch (op[2] & 0x00)
2365 goto op_semantics_4;
2371 switch (op[2] & 0x00)
2374 goto op_semantics_5;
2380 switch (op[2] & 0x00)
2383 goto op_semantics_5;
2389 switch (op[2] & 0x00)
2392 goto op_semantics_5;
2398 switch (op[2] & 0x00)
2401 goto op_semantics_5;
2407 switch (op[2] & 0x00)
2410 goto op_semantics_6;
2416 switch (op[2] & 0x00)
2419 goto op_semantics_6;
2425 switch (op[2] & 0x00)
2428 goto op_semantics_6;
2434 switch (op[2] & 0x00)
2437 goto op_semantics_6;
2443 switch (op[2] & 0xff)
2447 switch (op[3] & 0x00)
2450 goto op_semantics_7;
2456 switch (op[3] & 0x00)
2461 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2462 #line 494 "rx-decode.opc"
2463 int ss AU = op[1] & 0x03;
2464 #line 494 "rx-decode.opc"
2465 int rsrc AU = (op[3] >> 4) & 0x0f;
2466 #line 494 "rx-decode.opc"
2467 int rdst AU = op[3] & 0x0f;
2470 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2471 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2472 op[0], op[1], op[2], op[3]);
2473 printf (" ss = 0x%x,", ss);
2474 printf (" rsrc = 0x%x,", rsrc);
2475 printf (" rdst = 0x%x\n", rdst);
2477 SYNTAX("adc %1%S1, %0");
2478 #line 494 "rx-decode.opc"
2479 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2481 /*----------------------------------------------------------------------*/
2490 switch (op[3] & 0x00)
2493 goto op_semantics_8;
2499 switch (op[3] & 0x00)
2502 goto op_semantics_9;
2508 switch (op[3] & 0x00)
2511 goto op_semantics_10;
2517 switch (op[3] & 0x00)
2520 goto op_semantics_11;
2526 switch (op[3] & 0x00)
2529 goto op_semantics_12;
2535 switch (op[3] & 0x00)
2538 goto op_semantics_13;
2544 switch (op[3] & 0x00)
2547 goto op_semantics_14;
2553 switch (op[3] & 0x00)
2556 goto op_semantics_15;
2562 switch (op[3] & 0x00)
2565 goto op_semantics_16;
2571 switch (op[3] & 0x00)
2574 goto op_semantics_17;
2580 switch (op[3] & 0x00)
2583 goto op_semantics_18;
2587 default: UNSUPPORTED(); break;
2592 switch (op[2] & 0xff)
2596 switch (op[3] & 0x00)
2599 goto op_semantics_7;
2605 switch (op[3] & 0x00)
2608 goto op_semantics_19;
2614 switch (op[3] & 0x00)
2617 goto op_semantics_8;
2623 switch (op[3] & 0x00)
2626 goto op_semantics_9;
2632 switch (op[3] & 0x00)
2635 goto op_semantics_10;
2641 switch (op[3] & 0x00)
2644 goto op_semantics_11;
2650 switch (op[3] & 0x00)
2653 goto op_semantics_12;
2659 switch (op[3] & 0x00)
2662 goto op_semantics_13;
2668 switch (op[3] & 0x00)
2671 goto op_semantics_14;
2677 switch (op[3] & 0x00)
2680 goto op_semantics_15;
2686 switch (op[3] & 0x00)
2689 goto op_semantics_16;
2695 switch (op[3] & 0x00)
2698 goto op_semantics_17;
2704 switch (op[3] & 0x00)
2707 goto op_semantics_18;
2711 default: UNSUPPORTED(); break;
2716 switch (op[2] & 0xff)
2720 switch (op[3] & 0x00)
2723 goto op_semantics_7;
2729 switch (op[3] & 0x00)
2732 goto op_semantics_19;
2738 switch (op[3] & 0x00)
2741 goto op_semantics_8;
2747 switch (op[3] & 0x00)
2750 goto op_semantics_9;
2756 switch (op[3] & 0x00)
2759 goto op_semantics_10;
2765 switch (op[3] & 0x00)
2768 goto op_semantics_11;
2774 switch (op[3] & 0x00)
2777 goto op_semantics_12;
2783 switch (op[3] & 0x00)
2786 goto op_semantics_13;
2792 switch (op[3] & 0x00)
2795 goto op_semantics_14;
2801 switch (op[3] & 0x00)
2804 goto op_semantics_15;
2810 switch (op[3] & 0x00)
2813 goto op_semantics_16;
2819 switch (op[3] & 0x00)
2822 goto op_semantics_17;
2828 switch (op[3] & 0x00)
2831 goto op_semantics_18;
2835 default: UNSUPPORTED(); break;
2840 switch (op[2] & 0xff)
2844 switch (op[3] & 0x00)
2847 goto op_semantics_7;
2853 switch (op[3] & 0x00)
2856 goto op_semantics_19;
2862 switch (op[3] & 0x00)
2865 goto op_semantics_8;
2871 switch (op[3] & 0x00)
2874 goto op_semantics_9;
2880 switch (op[3] & 0x00)
2883 goto op_semantics_10;
2889 switch (op[3] & 0x00)
2892 goto op_semantics_11;
2898 switch (op[3] & 0x00)
2901 goto op_semantics_12;
2907 switch (op[3] & 0x00)
2910 goto op_semantics_13;
2916 switch (op[3] & 0x00)
2919 goto op_semantics_14;
2925 switch (op[3] & 0x00)
2928 goto op_semantics_15;
2934 switch (op[3] & 0x00)
2937 goto op_semantics_16;
2943 switch (op[3] & 0x00)
2946 goto op_semantics_17;
2952 switch (op[3] & 0x00)
2955 goto op_semantics_18;
2959 default: UNSUPPORTED(); break;
2964 switch (op[2] & 0x00)
2967 goto op_semantics_1;
2973 switch (op[2] & 0x00)
2976 goto op_semantics_1;
2982 switch (op[2] & 0x00)
2985 goto op_semantics_1;
2991 switch (op[2] & 0x00)
2994 goto op_semantics_1;
3000 switch (op[2] & 0x00)
3003 goto op_semantics_2;
3009 switch (op[2] & 0x00)
3012 goto op_semantics_2;
3018 switch (op[2] & 0x00)
3021 goto op_semantics_2;
3027 switch (op[2] & 0x00)
3030 goto op_semantics_2;
3036 switch (op[2] & 0x00)
3039 goto op_semantics_3;
3045 switch (op[2] & 0x00)
3048 goto op_semantics_3;
3054 switch (op[2] & 0x00)
3057 goto op_semantics_3;
3063 switch (op[2] & 0x00)
3066 goto op_semantics_3;
3072 switch (op[2] & 0x00)
3075 goto op_semantics_4;
3081 switch (op[2] & 0x00)
3084 goto op_semantics_4;
3090 switch (op[2] & 0x00)
3093 goto op_semantics_4;
3099 switch (op[2] & 0x00)
3102 goto op_semantics_4;
3108 switch (op[2] & 0x00)
3111 goto op_semantics_5;
3117 switch (op[2] & 0x00)
3120 goto op_semantics_5;
3126 switch (op[2] & 0x00)
3129 goto op_semantics_5;
3135 switch (op[2] & 0x00)
3138 goto op_semantics_5;
3144 switch (op[2] & 0x00)
3147 goto op_semantics_6;
3153 switch (op[2] & 0x00)
3156 goto op_semantics_6;
3162 switch (op[2] & 0x00)
3165 goto op_semantics_6;
3171 switch (op[2] & 0x00)
3174 goto op_semantics_6;
3180 switch (op[2] & 0xff)
3184 switch (op[3] & 0x00)
3187 goto op_semantics_7;
3193 switch (op[3] & 0x00)
3196 goto op_semantics_8;
3202 switch (op[3] & 0x00)
3205 goto op_semantics_9;
3211 switch (op[3] & 0x00)
3214 goto op_semantics_10;
3220 switch (op[3] & 0x00)
3223 goto op_semantics_11;
3229 switch (op[3] & 0x00)
3232 goto op_semantics_12;
3238 switch (op[3] & 0x00)
3241 goto op_semantics_13;
3247 switch (op[3] & 0x00)
3250 goto op_semantics_14;
3256 switch (op[3] & 0x00)
3259 goto op_semantics_15;
3265 switch (op[3] & 0x00)
3268 goto op_semantics_16;
3274 switch (op[3] & 0x00)
3277 goto op_semantics_17;
3283 switch (op[3] & 0x00)
3286 goto op_semantics_18;
3290 default: UNSUPPORTED(); break;
3295 switch (op[2] & 0xff)
3299 switch (op[3] & 0x00)
3302 goto op_semantics_7;
3308 switch (op[3] & 0x00)
3311 goto op_semantics_8;
3317 switch (op[3] & 0x00)
3320 goto op_semantics_9;
3326 switch (op[3] & 0x00)
3329 goto op_semantics_10;
3335 switch (op[3] & 0x00)
3338 goto op_semantics_11;
3344 switch (op[3] & 0x00)
3347 goto op_semantics_12;
3353 switch (op[3] & 0x00)
3356 goto op_semantics_13;
3362 switch (op[3] & 0x00)
3365 goto op_semantics_14;
3371 switch (op[3] & 0x00)
3374 goto op_semantics_15;
3380 switch (op[3] & 0x00)
3383 goto op_semantics_16;
3389 switch (op[3] & 0x00)
3392 goto op_semantics_17;
3398 switch (op[3] & 0x00)
3401 goto op_semantics_18;
3405 default: UNSUPPORTED(); break;
3410 switch (op[2] & 0xff)
3414 switch (op[3] & 0x00)
3417 goto op_semantics_7;
3423 switch (op[3] & 0x00)
3426 goto op_semantics_8;
3432 switch (op[3] & 0x00)
3435 goto op_semantics_9;
3441 switch (op[3] & 0x00)
3444 goto op_semantics_10;
3450 switch (op[3] & 0x00)
3453 goto op_semantics_11;
3459 switch (op[3] & 0x00)
3462 goto op_semantics_12;
3468 switch (op[3] & 0x00)
3471 goto op_semantics_13;
3477 switch (op[3] & 0x00)
3480 goto op_semantics_14;
3486 switch (op[3] & 0x00)
3489 goto op_semantics_15;
3495 switch (op[3] & 0x00)
3498 goto op_semantics_16;
3504 switch (op[3] & 0x00)
3507 goto op_semantics_17;
3513 switch (op[3] & 0x00)
3516 goto op_semantics_18;
3520 default: UNSUPPORTED(); break;
3525 switch (op[2] & 0xff)
3529 switch (op[3] & 0x00)
3532 goto op_semantics_7;
3538 switch (op[3] & 0x00)
3541 goto op_semantics_8;
3547 switch (op[3] & 0x00)
3550 goto op_semantics_9;
3556 switch (op[3] & 0x00)
3559 goto op_semantics_10;
3565 switch (op[3] & 0x00)
3568 goto op_semantics_11;
3574 switch (op[3] & 0x00)
3577 goto op_semantics_12;
3583 switch (op[3] & 0x00)
3586 goto op_semantics_13;
3592 switch (op[3] & 0x00)
3595 goto op_semantics_14;
3601 switch (op[3] & 0x00)
3604 goto op_semantics_15;
3610 switch (op[3] & 0x00)
3613 goto op_semantics_16;
3619 switch (op[3] & 0x00)
3622 goto op_semantics_17;
3628 switch (op[3] & 0x00)
3631 goto op_semantics_18;
3635 default: UNSUPPORTED(); break;
3638 default: UNSUPPORTED(); break;
3650 /** 0000 1dsp bra.s %a0 */
3651 #line 775 "rx-decode.opc"
3652 int dsp AU = op[0] & 0x07;
3655 printf ("\033[33m%s\033[0m %02x\n",
3656 "/** 0000 1dsp bra.s %a0 */",
3658 printf (" dsp = 0x%x\n", dsp);
3660 SYNTAX("bra.s %a0");
3661 #line 775 "rx-decode.opc"
3662 ID(branch); DC(pc + dsp3map[dsp]);
3683 /** 0001 n dsp b%1.s %a0 */
3684 #line 765 "rx-decode.opc"
3685 int n AU = (op[0] >> 3) & 0x01;
3686 #line 765 "rx-decode.opc"
3687 int dsp AU = op[0] & 0x07;
3690 printf ("\033[33m%s\033[0m %02x\n",
3691 "/** 0001 n dsp b%1.s %a0 */",
3693 printf (" n = 0x%x,", n);
3694 printf (" dsp = 0x%x\n", dsp);
3696 SYNTAX("b%1.s %a0");
3697 #line 765 "rx-decode.opc"
3698 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3718 /** 0010 cond b%1.b %a0 */
3719 #line 768 "rx-decode.opc"
3720 int cond AU = op[0] & 0x0f;
3723 printf ("\033[33m%s\033[0m %02x\n",
3724 "/** 0010 cond b%1.b %a0 */",
3726 printf (" cond = 0x%x\n", cond);
3728 SYNTAX("b%1.b %a0");
3729 #line 768 "rx-decode.opc"
3730 ID(branch); Scc(cond); DC(pc + IMMex (1));
3736 /** 0010 1110 bra.b %a0 */
3739 printf ("\033[33m%s\033[0m %02x\n",
3740 "/** 0010 1110 bra.b %a0 */",
3743 SYNTAX("bra.b %a0");
3744 #line 778 "rx-decode.opc"
3745 ID(branch); DC(pc + IMMex(1));
3751 /** 0011 1000 bra.w %a0 */
3754 printf ("\033[33m%s\033[0m %02x\n",
3755 "/** 0011 1000 bra.w %a0 */",
3758 SYNTAX("bra.w %a0");
3759 #line 781 "rx-decode.opc"
3760 ID(branch); DC(pc + IMMex(2));
3766 /** 0011 1001 bsr.w %a0 */
3769 printf ("\033[33m%s\033[0m %02x\n",
3770 "/** 0011 1001 bsr.w %a0 */",
3773 SYNTAX("bsr.w %a0");
3774 #line 797 "rx-decode.opc"
3775 ID(jsr); DC(pc + IMMex(2));
3782 /** 0011 101c b%1.w %a0 */
3783 #line 771 "rx-decode.opc"
3784 int c AU = op[0] & 0x01;
3787 printf ("\033[33m%s\033[0m %02x\n",
3788 "/** 0011 101c b%1.w %a0 */",
3790 printf (" c = 0x%x\n", c);
3792 SYNTAX("b%1.w %a0");
3793 #line 771 "rx-decode.opc"
3794 ID(branch); Scc(c); DC(pc + IMMex (2));
3801 switch (op[1] & 0x00)
3806 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3807 #line 307 "rx-decode.opc"
3808 int sz AU = op[0] & 0x03;
3809 #line 307 "rx-decode.opc"
3810 int d AU = (op[1] >> 7) & 0x01;
3811 #line 307 "rx-decode.opc"
3812 int dst AU = (op[1] >> 4) & 0x07;
3813 #line 307 "rx-decode.opc"
3814 int sppp AU = op[1] & 0x0f;
3817 printf ("\033[33m%s\033[0m %02x %02x\n",
3818 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3820 printf (" sz = 0x%x,", sz);
3821 printf (" d = 0x%x,", d);
3822 printf (" dst = 0x%x,", dst);
3823 printf (" sppp = 0x%x\n", sppp);
3825 SYNTAX("mov%s #%1, %0");
3826 #line 307 "rx-decode.opc"
3827 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3835 switch (op[1] & 0x00)
3838 goto op_semantics_20;
3844 switch (op[1] & 0x00)
3847 goto op_semantics_20;
3853 switch (op[1] & 0x00)
3857 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3858 #line 404 "rx-decode.opc"
3859 int rega AU = (op[1] >> 4) & 0x0f;
3860 #line 404 "rx-decode.opc"
3861 int regb AU = op[1] & 0x0f;
3864 printf ("\033[33m%s\033[0m %02x %02x\n",
3865 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3867 printf (" rega = 0x%x,", rega);
3868 printf (" regb = 0x%x\n", regb);
3870 SYNTAX("rtsd #%1, %2-%0");
3871 #line 404 "rx-decode.opc"
3872 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3874 /*----------------------------------------------------------------------*/
3883 switch (op[1] & 0x00)
3888 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3889 #line 539 "rx-decode.opc"
3890 int ss AU = op[0] & 0x03;
3891 #line 539 "rx-decode.opc"
3892 int rsrc AU = (op[1] >> 4) & 0x0f;
3893 #line 539 "rx-decode.opc"
3894 int rdst AU = op[1] & 0x0f;
3897 printf ("\033[33m%s\033[0m %02x %02x\n",
3898 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3900 printf (" ss = 0x%x,", ss);
3901 printf (" rsrc = 0x%x,", rsrc);
3902 printf (" rdst = 0x%x\n", rdst);
3904 SYNTAX("sub %2%S2, %1");
3905 #line 539 "rx-decode.opc"
3906 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3914 switch (op[1] & 0x00)
3917 goto op_semantics_21;
3923 switch (op[1] & 0x00)
3926 goto op_semantics_21;
3932 switch (op[1] & 0x00)
3935 goto op_semantics_21;
3941 switch (op[1] & 0x00)
3946 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3947 #line 527 "rx-decode.opc"
3948 int ss AU = op[0] & 0x03;
3949 #line 527 "rx-decode.opc"
3950 int rsrc AU = (op[1] >> 4) & 0x0f;
3951 #line 527 "rx-decode.opc"
3952 int rdst AU = op[1] & 0x0f;
3955 printf ("\033[33m%s\033[0m %02x %02x\n",
3956 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3958 printf (" ss = 0x%x,", ss);
3959 printf (" rsrc = 0x%x,", rsrc);
3960 printf (" rdst = 0x%x\n", rdst);
3962 SYNTAX("cmp %2%S2, %1");
3963 #line 527 "rx-decode.opc"
3964 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3972 switch (op[1] & 0x00)
3975 goto op_semantics_22;
3981 switch (op[1] & 0x00)
3984 goto op_semantics_22;
3990 switch (op[1] & 0x00)
3993 goto op_semantics_22;
3999 switch (op[1] & 0x00)
4004 /** 0100 10ss rsrc rdst add %1%S1, %0 */
4005 #line 503 "rx-decode.opc"
4006 int ss AU = op[0] & 0x03;
4007 #line 503 "rx-decode.opc"
4008 int rsrc AU = (op[1] >> 4) & 0x0f;
4009 #line 503 "rx-decode.opc"
4010 int rdst AU = op[1] & 0x0f;
4013 printf ("\033[33m%s\033[0m %02x %02x\n",
4014 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
4016 printf (" ss = 0x%x,", ss);
4017 printf (" rsrc = 0x%x,", rsrc);
4018 printf (" rdst = 0x%x\n", rdst);
4020 SYNTAX("add %1%S1, %0");
4021 #line 503 "rx-decode.opc"
4022 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
4030 switch (op[1] & 0x00)
4033 goto op_semantics_23;
4039 switch (op[1] & 0x00)
4042 goto op_semantics_23;
4048 switch (op[1] & 0x00)
4051 goto op_semantics_23;
4057 switch (op[1] & 0x00)
4062 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
4063 #line 646 "rx-decode.opc"
4064 int ss AU = op[0] & 0x03;
4065 #line 646 "rx-decode.opc"
4066 int rsrc AU = (op[1] >> 4) & 0x0f;
4067 #line 646 "rx-decode.opc"
4068 int rdst AU = op[1] & 0x0f;
4071 printf ("\033[33m%s\033[0m %02x %02x\n",
4072 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
4074 printf (" ss = 0x%x,", ss);
4075 printf (" rsrc = 0x%x,", rsrc);
4076 printf (" rdst = 0x%x\n", rdst);
4078 SYNTAX("mul %1%S1, %0");
4079 #line 646 "rx-decode.opc"
4080 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
4088 switch (op[1] & 0x00)
4091 goto op_semantics_24;
4097 switch (op[1] & 0x00)
4100 goto op_semantics_24;
4106 switch (op[1] & 0x00)
4109 goto op_semantics_24;
4115 switch (op[1] & 0x00)
4120 /** 0101 00ss rsrc rdst and %1%S1, %0 */
4121 #line 416 "rx-decode.opc"
4122 int ss AU = op[0] & 0x03;
4123 #line 416 "rx-decode.opc"
4124 int rsrc AU = (op[1] >> 4) & 0x0f;
4125 #line 416 "rx-decode.opc"
4126 int rdst AU = op[1] & 0x0f;
4129 printf ("\033[33m%s\033[0m %02x %02x\n",
4130 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
4132 printf (" ss = 0x%x,", ss);
4133 printf (" rsrc = 0x%x,", rsrc);
4134 printf (" rdst = 0x%x\n", rdst);
4136 SYNTAX("and %1%S1, %0");
4137 #line 416 "rx-decode.opc"
4138 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
4146 switch (op[1] & 0x00)
4149 goto op_semantics_25;
4155 switch (op[1] & 0x00)
4158 goto op_semantics_25;
4164 switch (op[1] & 0x00)
4167 goto op_semantics_25;
4173 switch (op[1] & 0x00)
4178 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4179 #line 434 "rx-decode.opc"
4180 int ss AU = op[0] & 0x03;
4181 #line 434 "rx-decode.opc"
4182 int rsrc AU = (op[1] >> 4) & 0x0f;
4183 #line 434 "rx-decode.opc"
4184 int rdst AU = op[1] & 0x0f;
4187 printf ("\033[33m%s\033[0m %02x %02x\n",
4188 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4190 printf (" ss = 0x%x,", ss);
4191 printf (" rsrc = 0x%x,", rsrc);
4192 printf (" rdst = 0x%x\n", rdst);
4194 SYNTAX("or %1%S1, %0");
4195 #line 434 "rx-decode.opc"
4196 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4204 switch (op[1] & 0x00)
4207 goto op_semantics_26;
4213 switch (op[1] & 0x00)
4216 goto op_semantics_26;
4222 switch (op[1] & 0x00)
4225 goto op_semantics_26;
4231 switch (op[1] & 0x00)
4236 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4237 #line 355 "rx-decode.opc"
4238 int s AU = (op[0] >> 2) & 0x01;
4239 #line 355 "rx-decode.opc"
4240 int ss AU = op[0] & 0x03;
4241 #line 355 "rx-decode.opc"
4242 int rsrc AU = (op[1] >> 4) & 0x0f;
4243 #line 355 "rx-decode.opc"
4244 int rdst AU = op[1] & 0x0f;
4247 printf ("\033[33m%s\033[0m %02x %02x\n",
4248 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4250 printf (" s = 0x%x,", s);
4251 printf (" ss = 0x%x,", ss);
4252 printf (" rsrc = 0x%x,", rsrc);
4253 printf (" rdst = 0x%x\n", rdst);
4255 SYNTAX("movu%s %1, %0");
4256 #line 355 "rx-decode.opc"
4257 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4265 switch (op[1] & 0x00)
4268 goto op_semantics_27;
4274 switch (op[1] & 0x00)
4277 goto op_semantics_27;
4283 switch (op[1] & 0x00)
4286 goto op_semantics_27;
4292 switch (op[1] & 0x00)
4295 goto op_semantics_27;
4301 switch (op[1] & 0x00)
4304 goto op_semantics_27;
4310 switch (op[1] & 0x00)
4313 goto op_semantics_27;
4319 switch (op[1] & 0x00)
4322 goto op_semantics_27;
4328 switch (op[1] & 0x00)
4332 /** 0110 0000 immm rdst sub #%2, %0 */
4333 #line 536 "rx-decode.opc"
4334 int immm AU = (op[1] >> 4) & 0x0f;
4335 #line 536 "rx-decode.opc"
4336 int rdst AU = op[1] & 0x0f;
4339 printf ("\033[33m%s\033[0m %02x %02x\n",
4340 "/** 0110 0000 immm rdst sub #%2, %0 */",
4342 printf (" immm = 0x%x,", immm);
4343 printf (" rdst = 0x%x\n", rdst);
4345 SYNTAX("sub #%2, %0");
4346 #line 536 "rx-decode.opc"
4347 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4355 switch (op[1] & 0x00)
4359 /** 0110 0001 immm rdst cmp #%2, %1 */
4360 #line 518 "rx-decode.opc"
4361 int immm AU = (op[1] >> 4) & 0x0f;
4362 #line 518 "rx-decode.opc"
4363 int rdst AU = op[1] & 0x0f;
4366 printf ("\033[33m%s\033[0m %02x %02x\n",
4367 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4369 printf (" immm = 0x%x,", immm);
4370 printf (" rdst = 0x%x\n", rdst);
4372 SYNTAX("cmp #%2, %1");
4373 #line 518 "rx-decode.opc"
4374 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4382 switch (op[1] & 0x00)
4386 /** 0110 0010 immm rdst add #%1, %0 */
4387 #line 500 "rx-decode.opc"
4388 int immm AU = (op[1] >> 4) & 0x0f;
4389 #line 500 "rx-decode.opc"
4390 int rdst AU = op[1] & 0x0f;
4393 printf ("\033[33m%s\033[0m %02x %02x\n",
4394 "/** 0110 0010 immm rdst add #%1, %0 */",
4396 printf (" immm = 0x%x,", immm);
4397 printf (" rdst = 0x%x\n", rdst);
4399 SYNTAX("add #%1, %0");
4400 #line 500 "rx-decode.opc"
4401 ID(add); SC(immm); DR(rdst); F_OSZC;
4409 switch (op[1] & 0x00)
4413 /** 0110 0011 immm rdst mul #%1, %0 */
4414 #line 612 "rx-decode.opc"
4415 int immm AU = (op[1] >> 4) & 0x0f;
4416 #line 612 "rx-decode.opc"
4417 int rdst AU = op[1] & 0x0f;
4420 printf ("\033[33m%s\033[0m %02x %02x\n",
4421 "/** 0110 0011 immm rdst mul #%1, %0 */",
4423 printf (" immm = 0x%x,", immm);
4424 printf (" rdst = 0x%x\n", rdst);
4426 SYNTAX("mul #%1, %0");
4427 #line 612 "rx-decode.opc"
4428 if (immm == 1 && rdst == 0)
4431 SYNTAX ("nop\t; mul\t#1, r0");
4437 DR(rdst); SC(immm); F_____;
4445 switch (op[1] & 0x00)
4449 /** 0110 0100 immm rdst and #%1, %0 */
4450 #line 410 "rx-decode.opc"
4451 int immm AU = (op[1] >> 4) & 0x0f;
4452 #line 410 "rx-decode.opc"
4453 int rdst AU = op[1] & 0x0f;
4456 printf ("\033[33m%s\033[0m %02x %02x\n",
4457 "/** 0110 0100 immm rdst and #%1, %0 */",
4459 printf (" immm = 0x%x,", immm);
4460 printf (" rdst = 0x%x\n", rdst);
4462 SYNTAX("and #%1, %0");
4463 #line 410 "rx-decode.opc"
4464 ID(and); SC(immm); DR(rdst); F__SZ_;
4472 switch (op[1] & 0x00)
4476 /** 0110 0101 immm rdst or #%1, %0 */
4477 #line 428 "rx-decode.opc"
4478 int immm AU = (op[1] >> 4) & 0x0f;
4479 #line 428 "rx-decode.opc"
4480 int rdst AU = op[1] & 0x0f;
4483 printf ("\033[33m%s\033[0m %02x %02x\n",
4484 "/** 0110 0101 immm rdst or #%1, %0 */",
4486 printf (" immm = 0x%x,", immm);
4487 printf (" rdst = 0x%x\n", rdst);
4489 SYNTAX("or #%1, %0");
4490 #line 428 "rx-decode.opc"
4491 ID(or); SC(immm); DR(rdst); F__SZ_;
4499 switch (op[1] & 0x00)
4503 /** 0110 0110 immm rdst mov%s #%1, %0 */
4504 #line 304 "rx-decode.opc"
4505 int immm AU = (op[1] >> 4) & 0x0f;
4506 #line 304 "rx-decode.opc"
4507 int rdst AU = op[1] & 0x0f;
4510 printf ("\033[33m%s\033[0m %02x %02x\n",
4511 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4513 printf (" immm = 0x%x,", immm);
4514 printf (" rdst = 0x%x\n", rdst);
4516 SYNTAX("mov%s #%1, %0");
4517 #line 304 "rx-decode.opc"
4518 ID(mov); DR(rdst); SC(immm); F_____;
4526 /** 0110 0111 rtsd #%1 */
4529 printf ("\033[33m%s\033[0m %02x\n",
4530 "/** 0110 0111 rtsd #%1 */",
4534 #line 401 "rx-decode.opc"
4535 ID(rtsd); SC(IMM(1) * 4);
4541 switch (op[1] & 0x00)
4546 /** 0110 100i mmmm rdst shlr #%2, %0 */
4547 #line 726 "rx-decode.opc"
4548 int i AU = op[0] & 0x01;
4549 #line 726 "rx-decode.opc"
4550 int mmmm AU = (op[1] >> 4) & 0x0f;
4551 #line 726 "rx-decode.opc"
4552 int rdst AU = op[1] & 0x0f;
4555 printf ("\033[33m%s\033[0m %02x %02x\n",
4556 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4558 printf (" i = 0x%x,", i);
4559 printf (" mmmm = 0x%x,", mmmm);
4560 printf (" rdst = 0x%x\n", rdst);
4562 SYNTAX("shlr #%2, %0");
4563 #line 726 "rx-decode.opc"
4564 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4572 switch (op[1] & 0x00)
4575 goto op_semantics_28;
4581 switch (op[1] & 0x00)
4586 /** 0110 101i mmmm rdst shar #%2, %0 */
4587 #line 716 "rx-decode.opc"
4588 int i AU = op[0] & 0x01;
4589 #line 716 "rx-decode.opc"
4590 int mmmm AU = (op[1] >> 4) & 0x0f;
4591 #line 716 "rx-decode.opc"
4592 int rdst AU = op[1] & 0x0f;
4595 printf ("\033[33m%s\033[0m %02x %02x\n",
4596 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4598 printf (" i = 0x%x,", i);
4599 printf (" mmmm = 0x%x,", mmmm);
4600 printf (" rdst = 0x%x\n", rdst);
4602 SYNTAX("shar #%2, %0");
4603 #line 716 "rx-decode.opc"
4604 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4612 switch (op[1] & 0x00)
4615 goto op_semantics_29;
4621 switch (op[1] & 0x00)
4626 /** 0110 110i mmmm rdst shll #%2, %0 */
4627 #line 706 "rx-decode.opc"
4628 int i AU = op[0] & 0x01;
4629 #line 706 "rx-decode.opc"
4630 int mmmm AU = (op[1] >> 4) & 0x0f;
4631 #line 706 "rx-decode.opc"
4632 int rdst AU = op[1] & 0x0f;
4635 printf ("\033[33m%s\033[0m %02x %02x\n",
4636 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4638 printf (" i = 0x%x,", i);
4639 printf (" mmmm = 0x%x,", mmmm);
4640 printf (" rdst = 0x%x\n", rdst);
4642 SYNTAX("shll #%2, %0");
4643 #line 706 "rx-decode.opc"
4644 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4652 switch (op[1] & 0x00)
4655 goto op_semantics_30;
4661 switch (op[1] & 0x00)
4665 /** 0110 1110 dsta dstb pushm %1-%2 */
4666 #line 368 "rx-decode.opc"
4667 int dsta AU = (op[1] >> 4) & 0x0f;
4668 #line 368 "rx-decode.opc"
4669 int dstb AU = op[1] & 0x0f;
4672 printf ("\033[33m%s\033[0m %02x %02x\n",
4673 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4675 printf (" dsta = 0x%x,", dsta);
4676 printf (" dstb = 0x%x\n", dstb);
4678 SYNTAX("pushm %1-%2");
4679 #line 368 "rx-decode.opc"
4680 ID(pushm); SR(dsta); S2R(dstb); F_____;
4688 switch (op[1] & 0x00)
4692 /** 0110 1111 dsta dstb popm %1-%2 */
4693 #line 365 "rx-decode.opc"
4694 int dsta AU = (op[1] >> 4) & 0x0f;
4695 #line 365 "rx-decode.opc"
4696 int dstb AU = op[1] & 0x0f;
4699 printf ("\033[33m%s\033[0m %02x %02x\n",
4700 "/** 0110 1111 dsta dstb popm %1-%2 */",
4702 printf (" dsta = 0x%x,", dsta);
4703 printf (" dstb = 0x%x\n", dstb);
4705 SYNTAX("popm %1-%2");
4706 #line 365 "rx-decode.opc"
4707 ID(popm); SR(dsta); S2R(dstb); F_____;
4715 switch (op[1] & 0x00)
4720 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4721 #line 509 "rx-decode.opc"
4722 int im AU = op[0] & 0x03;
4723 #line 509 "rx-decode.opc"
4724 int rsrc AU = (op[1] >> 4) & 0x0f;
4725 #line 509 "rx-decode.opc"
4726 int rdst AU = op[1] & 0x0f;
4729 printf ("\033[33m%s\033[0m %02x %02x\n",
4730 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4732 printf (" im = 0x%x,", im);
4733 printf (" rsrc = 0x%x,", rsrc);
4734 printf (" rdst = 0x%x\n", rdst);
4736 SYNTAX("add #%1, %2, %0");
4737 #line 509 "rx-decode.opc"
4738 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4746 switch (op[1] & 0x00)
4749 goto op_semantics_31;
4755 switch (op[1] & 0x00)
4758 goto op_semantics_31;
4764 switch (op[1] & 0x00)
4767 goto op_semantics_31;
4773 switch (op[1] & 0xf0)
4778 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4779 #line 521 "rx-decode.opc"
4780 int im AU = op[0] & 0x03;
4781 #line 521 "rx-decode.opc"
4782 int rsrc AU = op[1] & 0x0f;
4785 printf ("\033[33m%s\033[0m %02x %02x\n",
4786 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4788 printf (" im = 0x%x,", im);
4789 printf (" rsrc = 0x%x\n", rsrc);
4791 SYNTAX("cmp #%2, %1%S1");
4792 #line 521 "rx-decode.opc"
4793 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4800 /** 0111 01im 0001rdst mul #%1, %0 */
4801 #line 624 "rx-decode.opc"
4802 int im AU = op[0] & 0x03;
4803 #line 624 "rx-decode.opc"
4804 int rdst AU = op[1] & 0x0f;
4807 printf ("\033[33m%s\033[0m %02x %02x\n",
4808 "/** 0111 01im 0001rdst mul #%1, %0 */",
4810 printf (" im = 0x%x,", im);
4811 printf (" rdst = 0x%x\n", rdst);
4813 SYNTAX("mul #%1, %0");
4814 #line 624 "rx-decode.opc"
4815 int val = IMMex(im);
4816 if (val == 1 && rdst == 0)
4818 SYNTAX("nop\t; mul\t#1, r0");
4821 case 2: ID(nop4); break;
4822 case 3: ID(nop5); break;
4823 case 0: ID(nop6); break;
4826 SYNTAX("mul #%1, %0");
4834 DR(rdst); SC(val); F_____;
4841 /** 0111 01im 0010 rdst and #%1, %0 */
4842 #line 413 "rx-decode.opc"
4843 int im AU = op[0] & 0x03;
4844 #line 413 "rx-decode.opc"
4845 int rdst AU = op[1] & 0x0f;
4848 printf ("\033[33m%s\033[0m %02x %02x\n",
4849 "/** 0111 01im 0010 rdst and #%1, %0 */",
4851 printf (" im = 0x%x,", im);
4852 printf (" rdst = 0x%x\n", rdst);
4854 SYNTAX("and #%1, %0");
4855 #line 413 "rx-decode.opc"
4856 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4863 /** 0111 01im 0011 rdst or #%1, %0 */
4864 #line 431 "rx-decode.opc"
4865 int im AU = op[0] & 0x03;
4866 #line 431 "rx-decode.opc"
4867 int rdst AU = op[1] & 0x0f;
4870 printf ("\033[33m%s\033[0m %02x %02x\n",
4871 "/** 0111 01im 0011 rdst or #%1, %0 */",
4873 printf (" im = 0x%x,", im);
4874 printf (" rdst = 0x%x\n", rdst);
4876 SYNTAX("or #%1, %0");
4877 #line 431 "rx-decode.opc"
4878 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4882 default: UNSUPPORTED(); break;
4887 switch (op[1] & 0xff)
4905 goto op_semantics_32;
4923 goto op_semantics_33;
4941 goto op_semantics_34;
4959 goto op_semantics_35;
4978 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4979 #line 285 "rx-decode.opc"
4980 int rdst AU = op[1] & 0x0f;
4983 printf ("\033[33m%s\033[0m %02x %02x\n",
4984 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4986 printf (" rdst = 0x%x\n", rdst);
4988 SYNTAX("mov%s #%1, %0");
4989 #line 285 "rx-decode.opc"
4990 ID(mov); DR(rdst); SC(IMM (1)); F_____;
5011 /** 0111 0101 0101 rsrc cmp #%2, %1 */
5012 #line 524 "rx-decode.opc"
5013 int rsrc AU = op[1] & 0x0f;
5016 printf ("\033[33m%s\033[0m %02x %02x\n",
5017 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
5019 printf (" rsrc = 0x%x\n", rsrc);
5021 SYNTAX("cmp #%2, %1");
5022 #line 524 "rx-decode.opc"
5023 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
5029 /** 0111 0101 0110 0000 int #%1 */
5032 printf ("\033[33m%s\033[0m %02x %02x\n",
5033 "/** 0111 0101 0110 0000 int #%1 */",
5037 #line 1031 "rx-decode.opc"
5038 ID(int); SC(IMM(1));
5044 switch (op[2] & 0xf0)
5048 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
5049 #line 998 "rx-decode.opc"
5050 int immm AU = op[2] & 0x0f;
5053 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
5054 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
5055 op[0], op[1], op[2]);
5056 printf (" immm = 0x%x\n", immm);
5058 SYNTAX("mvtipl #%1");
5059 #line 998 "rx-decode.opc"
5060 ID(mvtipl); SC(immm);
5064 default: UNSUPPORTED(); break;
5067 default: UNSUPPORTED(); break;
5072 switch (op[1] & 0xf0)
5075 goto op_semantics_32;
5078 goto op_semantics_33;
5081 goto op_semantics_34;
5084 goto op_semantics_35;
5086 default: UNSUPPORTED(); break;
5091 switch (op[1] & 0xf0)
5094 goto op_semantics_32;
5097 goto op_semantics_33;
5100 goto op_semantics_34;
5103 goto op_semantics_35;
5105 default: UNSUPPORTED(); break;
5110 switch (op[1] & 0x00)
5115 /** 0111 100b ittt rdst bset #%1, %0 */
5116 #line 943 "rx-decode.opc"
5117 int b AU = op[0] & 0x01;
5118 #line 943 "rx-decode.opc"
5119 int ittt AU = (op[1] >> 4) & 0x0f;
5120 #line 943 "rx-decode.opc"
5121 int rdst AU = op[1] & 0x0f;
5124 printf ("\033[33m%s\033[0m %02x %02x\n",
5125 "/** 0111 100b ittt rdst bset #%1, %0 */",
5127 printf (" b = 0x%x,", b);
5128 printf (" ittt = 0x%x,", ittt);
5129 printf (" rdst = 0x%x\n", rdst);
5131 SYNTAX("bset #%1, %0");
5132 #line 943 "rx-decode.opc"
5133 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5142 switch (op[1] & 0x00)
5145 goto op_semantics_36;
5151 switch (op[1] & 0x00)
5156 /** 0111 101b ittt rdst bclr #%1, %0 */
5157 #line 955 "rx-decode.opc"
5158 int b AU = op[0] & 0x01;
5159 #line 955 "rx-decode.opc"
5160 int ittt AU = (op[1] >> 4) & 0x0f;
5161 #line 955 "rx-decode.opc"
5162 int rdst AU = op[1] & 0x0f;
5165 printf ("\033[33m%s\033[0m %02x %02x\n",
5166 "/** 0111 101b ittt rdst bclr #%1, %0 */",
5168 printf (" b = 0x%x,", b);
5169 printf (" ittt = 0x%x,", ittt);
5170 printf (" rdst = 0x%x\n", rdst);
5172 SYNTAX("bclr #%1, %0");
5173 #line 955 "rx-decode.opc"
5174 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5183 switch (op[1] & 0x00)
5186 goto op_semantics_37;
5192 switch (op[1] & 0x00)
5197 /** 0111 110b ittt rdst btst #%2, %1 */
5198 #line 967 "rx-decode.opc"
5199 int b AU = op[0] & 0x01;
5200 #line 967 "rx-decode.opc"
5201 int ittt AU = (op[1] >> 4) & 0x0f;
5202 #line 967 "rx-decode.opc"
5203 int rdst AU = op[1] & 0x0f;
5206 printf ("\033[33m%s\033[0m %02x %02x\n",
5207 "/** 0111 110b ittt rdst btst #%2, %1 */",
5209 printf (" b = 0x%x,", b);
5210 printf (" ittt = 0x%x,", ittt);
5211 printf (" rdst = 0x%x\n", rdst);
5213 SYNTAX("btst #%2, %1");
5214 #line 967 "rx-decode.opc"
5215 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5224 switch (op[1] & 0x00)
5227 goto op_semantics_38;
5233 switch (op[1] & 0xf0)
5237 /** 0111 1110 0000 rdst not %0 */
5238 #line 458 "rx-decode.opc"
5239 int rdst AU = op[1] & 0x0f;
5242 printf ("\033[33m%s\033[0m %02x %02x\n",
5243 "/** 0111 1110 0000 rdst not %0 */",
5245 printf (" rdst = 0x%x\n", rdst);
5248 #line 458 "rx-decode.opc"
5249 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5255 /** 0111 1110 0001 rdst neg %0 */
5256 #line 479 "rx-decode.opc"
5257 int rdst AU = op[1] & 0x0f;
5260 printf ("\033[33m%s\033[0m %02x %02x\n",
5261 "/** 0111 1110 0001 rdst neg %0 */",
5263 printf (" rdst = 0x%x\n", rdst);
5266 #line 479 "rx-decode.opc"
5267 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5273 /** 0111 1110 0010 rdst abs %0 */
5274 #line 561 "rx-decode.opc"
5275 int rdst AU = op[1] & 0x0f;
5278 printf ("\033[33m%s\033[0m %02x %02x\n",
5279 "/** 0111 1110 0010 rdst abs %0 */",
5281 printf (" rdst = 0x%x\n", rdst);
5284 #line 561 "rx-decode.opc"
5285 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5291 /** 0111 1110 0011 rdst sat %0 */
5292 #line 881 "rx-decode.opc"
5293 int rdst AU = op[1] & 0x0f;
5296 printf ("\033[33m%s\033[0m %02x %02x\n",
5297 "/** 0111 1110 0011 rdst sat %0 */",
5299 printf (" rdst = 0x%x\n", rdst);
5302 #line 881 "rx-decode.opc"
5309 /** 0111 1110 0100 rdst rorc %0 */
5310 #line 741 "rx-decode.opc"
5311 int rdst AU = op[1] & 0x0f;
5314 printf ("\033[33m%s\033[0m %02x %02x\n",
5315 "/** 0111 1110 0100 rdst rorc %0 */",
5317 printf (" rdst = 0x%x\n", rdst);
5320 #line 741 "rx-decode.opc"
5321 ID(rorc); DR(rdst); F__SZC;
5327 /** 0111 1110 0101 rdst rolc %0 */
5328 #line 738 "rx-decode.opc"
5329 int rdst AU = op[1] & 0x0f;
5332 printf ("\033[33m%s\033[0m %02x %02x\n",
5333 "/** 0111 1110 0101 rdst rolc %0 */",
5335 printf (" rdst = 0x%x\n", rdst);
5338 #line 738 "rx-decode.opc"
5339 ID(rolc); DR(rdst); F__SZC;
5347 /** 0111 1110 10sz rsrc push%s %1 */
5348 #line 374 "rx-decode.opc"
5349 int sz AU = (op[1] >> 4) & 0x03;
5350 #line 374 "rx-decode.opc"
5351 int rsrc AU = op[1] & 0x0f;
5354 printf ("\033[33m%s\033[0m %02x %02x\n",
5355 "/** 0111 1110 10sz rsrc push%s %1 */",
5357 printf (" sz = 0x%x,", sz);
5358 printf (" rsrc = 0x%x\n", rsrc);
5360 SYNTAX("push%s %1");
5361 #line 374 "rx-decode.opc"
5362 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5368 /** 0111 1110 1011 rdst pop %0 */
5369 #line 371 "rx-decode.opc"
5370 int rdst AU = op[1] & 0x0f;
5373 printf ("\033[33m%s\033[0m %02x %02x\n",
5374 "/** 0111 1110 1011 rdst pop %0 */",
5376 printf (" rdst = 0x%x\n", rdst);
5379 #line 371 "rx-decode.opc"
5380 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5387 /** 0111 1110 110 crsrc pushc %1 */
5388 #line 1004 "rx-decode.opc"
5389 int crsrc AU = op[1] & 0x1f;
5392 printf ("\033[33m%s\033[0m %02x %02x\n",
5393 "/** 0111 1110 110 crsrc pushc %1 */",
5395 printf (" crsrc = 0x%x\n", crsrc);
5398 #line 1004 "rx-decode.opc"
5399 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5406 /** 0111 1110 111 crdst popc %0 */
5407 #line 1001 "rx-decode.opc"
5408 int crdst AU = op[1] & 0x1f;
5411 printf ("\033[33m%s\033[0m %02x %02x\n",
5412 "/** 0111 1110 111 crdst popc %0 */",
5414 printf (" crdst = 0x%x\n", crdst);
5417 #line 1001 "rx-decode.opc"
5418 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5422 default: UNSUPPORTED(); break;
5427 switch (op[1] & 0xff)
5446 /** 0111 1111 0000 rsrc jmp %0 */
5447 #line 791 "rx-decode.opc"
5448 int rsrc AU = op[1] & 0x0f;
5451 printf ("\033[33m%s\033[0m %02x %02x\n",
5452 "/** 0111 1111 0000 rsrc jmp %0 */",
5454 printf (" rsrc = 0x%x\n", rsrc);
5457 #line 791 "rx-decode.opc"
5458 ID(branch); DR(rsrc);
5479 /** 0111 1111 0001 rsrc jsr %0 */
5480 #line 794 "rx-decode.opc"
5481 int rsrc AU = op[1] & 0x0f;
5484 printf ("\033[33m%s\033[0m %02x %02x\n",
5485 "/** 0111 1111 0001 rsrc jsr %0 */",
5487 printf (" rsrc = 0x%x\n", rsrc);
5490 #line 794 "rx-decode.opc"
5512 /** 0111 1111 0100 rsrc bra.l %0 */
5513 #line 787 "rx-decode.opc"
5514 int rsrc AU = op[1] & 0x0f;
5517 printf ("\033[33m%s\033[0m %02x %02x\n",
5518 "/** 0111 1111 0100 rsrc bra.l %0 */",
5520 printf (" rsrc = 0x%x\n", rsrc);
5523 #line 787 "rx-decode.opc"
5524 ID(branchrel); DR(rsrc);
5546 /** 0111 1111 0101 rsrc bsr.l %0 */
5547 #line 803 "rx-decode.opc"
5548 int rsrc AU = op[1] & 0x0f;
5551 printf ("\033[33m%s\033[0m %02x %02x\n",
5552 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5554 printf (" rsrc = 0x%x\n", rsrc);
5557 #line 803 "rx-decode.opc"
5558 ID(jsrrel); DR(rsrc);
5566 /** 0111 1111 1000 00sz suntil%s */
5567 #line 827 "rx-decode.opc"
5568 int sz AU = op[1] & 0x03;
5571 printf ("\033[33m%s\033[0m %02x %02x\n",
5572 "/** 0111 1111 1000 00sz suntil%s */",
5574 printf (" sz = 0x%x\n", sz);
5577 #line 827 "rx-decode.opc"
5578 ID(suntil); BWL(sz); F___ZC;
5584 /** 0111 1111 1000 0011 scmpu */
5587 printf ("\033[33m%s\033[0m %02x %02x\n",
5588 "/** 0111 1111 1000 0011 scmpu */",
5592 #line 818 "rx-decode.opc"
5601 /** 0111 1111 1000 01sz swhile%s */
5602 #line 830 "rx-decode.opc"
5603 int sz AU = op[1] & 0x03;
5606 printf ("\033[33m%s\033[0m %02x %02x\n",
5607 "/** 0111 1111 1000 01sz swhile%s */",
5609 printf (" sz = 0x%x\n", sz);
5612 #line 830 "rx-decode.opc"
5613 ID(swhile); BWL(sz); F___ZC;
5619 /** 0111 1111 1000 0111 smovu */
5622 printf ("\033[33m%s\033[0m %02x %02x\n",
5623 "/** 0111 1111 1000 0111 smovu */",
5627 #line 821 "rx-decode.opc"
5636 /** 0111 1111 1000 10sz sstr%s */
5637 #line 836 "rx-decode.opc"
5638 int sz AU = op[1] & 0x03;
5641 printf ("\033[33m%s\033[0m %02x %02x\n",
5642 "/** 0111 1111 1000 10sz sstr%s */",
5644 printf (" sz = 0x%x\n", sz);
5647 #line 836 "rx-decode.opc"
5650 /*----------------------------------------------------------------------*/
5657 /** 0111 1111 1000 1011 smovb */
5660 printf ("\033[33m%s\033[0m %02x %02x\n",
5661 "/** 0111 1111 1000 1011 smovb */",
5665 #line 824 "rx-decode.opc"
5674 /** 0111 1111 1000 11sz rmpa%s */
5675 #line 842 "rx-decode.opc"
5676 int sz AU = op[1] & 0x03;
5679 printf ("\033[33m%s\033[0m %02x %02x\n",
5680 "/** 0111 1111 1000 11sz rmpa%s */",
5682 printf (" sz = 0x%x\n", sz);
5685 #line 842 "rx-decode.opc"
5686 ID(rmpa); BWL(sz); F_OS__;
5688 /*----------------------------------------------------------------------*/
5695 /** 0111 1111 1000 1111 smovf */
5698 printf ("\033[33m%s\033[0m %02x %02x\n",
5699 "/** 0111 1111 1000 1111 smovf */",
5703 #line 833 "rx-decode.opc"
5710 /** 0111 1111 1001 0011 satr */
5713 printf ("\033[33m%s\033[0m %02x %02x\n",
5714 "/** 0111 1111 1001 0011 satr */",
5718 #line 884 "rx-decode.opc"
5721 /*----------------------------------------------------------------------*/
5728 /** 0111 1111 1001 0100 rtfi */
5731 printf ("\033[33m%s\033[0m %02x %02x\n",
5732 "/** 0111 1111 1001 0100 rtfi */",
5736 #line 1019 "rx-decode.opc"
5743 /** 0111 1111 1001 0101 rte */
5746 printf ("\033[33m%s\033[0m %02x %02x\n",
5747 "/** 0111 1111 1001 0101 rte */",
5751 #line 1022 "rx-decode.opc"
5758 /** 0111 1111 1001 0110 wait */
5761 printf ("\033[33m%s\033[0m %02x %02x\n",
5762 "/** 0111 1111 1001 0110 wait */",
5766 #line 1034 "rx-decode.opc"
5769 /*----------------------------------------------------------------------*/
5791 /** 0111 1111 1010 rdst setpsw %0 */
5792 #line 995 "rx-decode.opc"
5793 int rdst AU = op[1] & 0x0f;
5796 printf ("\033[33m%s\033[0m %02x %02x\n",
5797 "/** 0111 1111 1010 rdst setpsw %0 */",
5799 printf (" rdst = 0x%x\n", rdst);
5801 SYNTAX("setpsw %0");
5802 #line 995 "rx-decode.opc"
5803 ID(setpsw); DF(rdst);
5824 /** 0111 1111 1011 rdst clrpsw %0 */
5825 #line 992 "rx-decode.opc"
5826 int rdst AU = op[1] & 0x0f;
5829 printf ("\033[33m%s\033[0m %02x %02x\n",
5830 "/** 0111 1111 1011 rdst clrpsw %0 */",
5832 printf (" rdst = 0x%x\n", rdst);
5834 SYNTAX("clrpsw %0");
5835 #line 992 "rx-decode.opc"
5836 ID(clrpsw); DF(rdst);
5840 default: UNSUPPORTED(); break;
5845 switch (op[1] & 0x00)
5850 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5851 #line 332 "rx-decode.opc"
5852 int sz AU = (op[0] >> 4) & 0x03;
5853 #line 332 "rx-decode.opc"
5854 int dsp AU = op[0] & 0x07;
5855 #line 332 "rx-decode.opc"
5856 int a AU = (op[1] >> 7) & 0x01;
5857 #line 332 "rx-decode.opc"
5858 int dst AU = (op[1] >> 4) & 0x07;
5859 #line 332 "rx-decode.opc"
5860 int b AU = (op[1] >> 3) & 0x01;
5861 #line 332 "rx-decode.opc"
5862 int src AU = op[1] & 0x07;
5865 printf ("\033[33m%s\033[0m %02x %02x\n",
5866 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5868 printf (" sz = 0x%x,", sz);
5869 printf (" dsp = 0x%x,", dsp);
5870 printf (" a = 0x%x,", a);
5871 printf (" dst = 0x%x,", dst);
5872 printf (" b = 0x%x,", b);
5873 printf (" src = 0x%x\n", src);
5875 SYNTAX("mov%s %1, %0");
5876 #line 332 "rx-decode.opc"
5877 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5885 switch (op[1] & 0x00)
5888 goto op_semantics_39;
5894 switch (op[1] & 0x00)
5897 goto op_semantics_39;
5903 switch (op[1] & 0x00)
5906 goto op_semantics_39;
5912 switch (op[1] & 0x00)
5915 goto op_semantics_39;
5921 switch (op[1] & 0x00)
5924 goto op_semantics_39;
5930 switch (op[1] & 0x00)
5933 goto op_semantics_39;
5939 switch (op[1] & 0x00)
5942 goto op_semantics_39;
5948 switch (op[1] & 0x00)
5953 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5954 #line 329 "rx-decode.opc"
5955 int sz AU = (op[0] >> 4) & 0x03;
5956 #line 329 "rx-decode.opc"
5957 int dsp AU = op[0] & 0x07;
5958 #line 329 "rx-decode.opc"
5959 int a AU = (op[1] >> 7) & 0x01;
5960 #line 329 "rx-decode.opc"
5961 int src AU = (op[1] >> 4) & 0x07;
5962 #line 329 "rx-decode.opc"
5963 int b AU = (op[1] >> 3) & 0x01;
5964 #line 329 "rx-decode.opc"
5965 int dst AU = op[1] & 0x07;
5968 printf ("\033[33m%s\033[0m %02x %02x\n",
5969 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5971 printf (" sz = 0x%x,", sz);
5972 printf (" dsp = 0x%x,", dsp);
5973 printf (" a = 0x%x,", a);
5974 printf (" src = 0x%x,", src);
5975 printf (" b = 0x%x,", b);
5976 printf (" dst = 0x%x\n", dst);
5978 SYNTAX("mov%s %1, %0");
5979 #line 329 "rx-decode.opc"
5980 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5988 switch (op[1] & 0x00)
5991 goto op_semantics_40;
5997 switch (op[1] & 0x00)
6000 goto op_semantics_40;
6006 switch (op[1] & 0x00)
6009 goto op_semantics_40;
6015 switch (op[1] & 0x00)
6018 goto op_semantics_40;
6024 switch (op[1] & 0x00)
6027 goto op_semantics_40;
6033 switch (op[1] & 0x00)
6036 goto op_semantics_40;
6042 switch (op[1] & 0x00)
6045 goto op_semantics_40;
6051 switch (op[1] & 0x00)
6054 goto op_semantics_39;
6060 switch (op[1] & 0x00)
6063 goto op_semantics_39;
6069 switch (op[1] & 0x00)
6072 goto op_semantics_39;
6078 switch (op[1] & 0x00)
6081 goto op_semantics_39;
6087 switch (op[1] & 0x00)
6090 goto op_semantics_39;
6096 switch (op[1] & 0x00)
6099 goto op_semantics_39;
6105 switch (op[1] & 0x00)
6108 goto op_semantics_39;
6114 switch (op[1] & 0x00)
6117 goto op_semantics_39;
6123 switch (op[1] & 0x00)
6126 goto op_semantics_40;
6132 switch (op[1] & 0x00)
6135 goto op_semantics_40;
6141 switch (op[1] & 0x00)
6144 goto op_semantics_40;
6150 switch (op[1] & 0x00)
6153 goto op_semantics_40;
6159 switch (op[1] & 0x00)
6162 goto op_semantics_40;
6168 switch (op[1] & 0x00)
6171 goto op_semantics_40;
6177 switch (op[1] & 0x00)
6180 goto op_semantics_40;
6186 switch (op[1] & 0x00)
6189 goto op_semantics_40;
6195 switch (op[1] & 0x00)
6198 goto op_semantics_39;
6204 switch (op[1] & 0x00)
6207 goto op_semantics_39;
6213 switch (op[1] & 0x00)
6216 goto op_semantics_39;
6222 switch (op[1] & 0x00)
6225 goto op_semantics_39;
6231 switch (op[1] & 0x00)
6234 goto op_semantics_39;
6240 switch (op[1] & 0x00)
6243 goto op_semantics_39;
6249 switch (op[1] & 0x00)
6252 goto op_semantics_39;
6258 switch (op[1] & 0x00)
6261 goto op_semantics_39;
6267 switch (op[1] & 0x00)
6270 goto op_semantics_40;
6276 switch (op[1] & 0x00)
6279 goto op_semantics_40;
6285 switch (op[1] & 0x00)
6288 goto op_semantics_40;
6294 switch (op[1] & 0x00)
6297 goto op_semantics_40;
6303 switch (op[1] & 0x00)
6306 goto op_semantics_40;
6312 switch (op[1] & 0x00)
6315 goto op_semantics_40;
6321 switch (op[1] & 0x00)
6324 goto op_semantics_40;
6330 switch (op[1] & 0x00)
6333 goto op_semantics_40;
6339 switch (op[1] & 0x00)
6344 /** 1011 w dsp a src b dst movu%s %1, %0 */
6345 #line 352 "rx-decode.opc"
6346 int w AU = (op[0] >> 3) & 0x01;
6347 #line 352 "rx-decode.opc"
6348 int dsp AU = op[0] & 0x07;
6349 #line 352 "rx-decode.opc"
6350 int a AU = (op[1] >> 7) & 0x01;
6351 #line 352 "rx-decode.opc"
6352 int src AU = (op[1] >> 4) & 0x07;
6353 #line 352 "rx-decode.opc"
6354 int b AU = (op[1] >> 3) & 0x01;
6355 #line 352 "rx-decode.opc"
6356 int dst AU = op[1] & 0x07;
6359 printf ("\033[33m%s\033[0m %02x %02x\n",
6360 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6362 printf (" w = 0x%x,", w);
6363 printf (" dsp = 0x%x,", dsp);
6364 printf (" a = 0x%x,", a);
6365 printf (" src = 0x%x,", src);
6366 printf (" b = 0x%x,", b);
6367 printf (" dst = 0x%x\n", dst);
6369 SYNTAX("movu%s %1, %0");
6370 #line 352 "rx-decode.opc"
6371 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6379 switch (op[1] & 0x00)
6382 goto op_semantics_41;
6388 switch (op[1] & 0x00)
6391 goto op_semantics_41;
6397 switch (op[1] & 0x00)
6400 goto op_semantics_41;
6406 switch (op[1] & 0x00)
6409 goto op_semantics_41;
6415 switch (op[1] & 0x00)
6418 goto op_semantics_41;
6424 switch (op[1] & 0x00)
6427 goto op_semantics_41;
6433 switch (op[1] & 0x00)
6436 goto op_semantics_41;
6442 switch (op[1] & 0x00)
6445 goto op_semantics_41;
6451 switch (op[1] & 0x00)
6454 goto op_semantics_41;
6460 switch (op[1] & 0x00)
6463 goto op_semantics_41;
6469 switch (op[1] & 0x00)
6472 goto op_semantics_41;
6478 switch (op[1] & 0x00)
6481 goto op_semantics_41;
6487 switch (op[1] & 0x00)
6490 goto op_semantics_41;
6496 switch (op[1] & 0x00)
6499 goto op_semantics_41;
6505 switch (op[1] & 0x00)
6508 goto op_semantics_41;
6514 switch (op[1] & 0x00)
6519 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6520 #line 310 "rx-decode.opc"
6521 int sz AU = (op[0] >> 4) & 0x03;
6522 #line 310 "rx-decode.opc"
6523 int sd AU = (op[0] >> 2) & 0x03;
6524 #line 310 "rx-decode.opc"
6525 int ss AU = op[0] & 0x03;
6526 #line 310 "rx-decode.opc"
6527 int rsrc AU = (op[1] >> 4) & 0x0f;
6528 #line 310 "rx-decode.opc"
6529 int rdst AU = op[1] & 0x0f;
6532 printf ("\033[33m%s\033[0m %02x %02x\n",
6533 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6535 printf (" sz = 0x%x,", sz);
6536 printf (" sd = 0x%x,", sd);
6537 printf (" ss = 0x%x,", ss);
6538 printf (" rsrc = 0x%x,", rsrc);
6539 printf (" rdst = 0x%x\n", rdst);
6541 SYNTAX("mov%s %1, %0");
6542 #line 310 "rx-decode.opc"
6543 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6546 SYNTAX ("nop\t; mov.l\tr0, r0");
6550 ID(mov); sBWL(sz); F_____;
6551 if ((ss == 3) && (sd != 3))
6553 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6557 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6567 switch (op[1] & 0x00)
6570 goto op_semantics_42;
6576 switch (op[1] & 0x00)
6579 goto op_semantics_42;
6585 switch (op[1] & 0x00)
6588 goto op_semantics_42;
6594 switch (op[1] & 0x00)
6597 goto op_semantics_42;
6603 switch (op[1] & 0x00)
6606 goto op_semantics_42;
6612 switch (op[1] & 0x00)
6615 goto op_semantics_42;
6621 switch (op[1] & 0x00)
6624 goto op_semantics_42;
6630 switch (op[1] & 0x00)
6633 goto op_semantics_42;
6639 switch (op[1] & 0x00)
6642 goto op_semantics_42;
6648 switch (op[1] & 0x00)
6651 goto op_semantics_42;
6657 switch (op[1] & 0x00)
6660 goto op_semantics_42;
6666 switch (op[1] & 0x00)
6669 goto op_semantics_42;
6675 switch (op[1] & 0x00)
6678 goto op_semantics_42;
6684 switch (op[1] & 0x00)
6687 goto op_semantics_42;
6693 switch (op[1] & 0x00)
6696 goto op_semantics_42;
6702 switch (op[1] & 0x00)
6705 goto op_semantics_42;
6711 switch (op[1] & 0x00)
6714 goto op_semantics_42;
6720 switch (op[1] & 0x00)
6723 goto op_semantics_42;
6729 switch (op[1] & 0x00)
6732 goto op_semantics_42;
6738 switch (op[1] & 0x00)
6741 goto op_semantics_42;
6747 switch (op[1] & 0x00)
6750 goto op_semantics_42;
6756 switch (op[1] & 0x00)
6759 goto op_semantics_42;
6765 switch (op[1] & 0x00)
6768 goto op_semantics_42;
6774 switch (op[1] & 0x00)
6777 goto op_semantics_42;
6783 switch (op[1] & 0x00)
6786 goto op_semantics_42;
6792 switch (op[1] & 0x00)
6795 goto op_semantics_42;
6801 switch (op[1] & 0x00)
6804 goto op_semantics_42;
6810 switch (op[1] & 0x00)
6813 goto op_semantics_42;
6819 switch (op[1] & 0x00)
6822 goto op_semantics_42;
6828 switch (op[1] & 0x00)
6831 goto op_semantics_42;
6837 switch (op[1] & 0x00)
6840 goto op_semantics_42;
6846 switch (op[1] & 0x00)
6849 goto op_semantics_42;
6855 switch (op[1] & 0x00)
6858 goto op_semantics_42;
6864 switch (op[1] & 0x00)
6867 goto op_semantics_42;
6873 switch (op[1] & 0x00)
6876 goto op_semantics_42;
6882 switch (op[1] & 0x00)
6885 goto op_semantics_42;
6891 switch (op[1] & 0x00)
6894 goto op_semantics_42;
6900 switch (op[1] & 0x00)
6903 goto op_semantics_42;
6909 switch (op[1] & 0x00)
6912 goto op_semantics_42;
6918 switch (op[1] & 0x00)
6921 goto op_semantics_42;
6927 switch (op[1] & 0x00)
6930 goto op_semantics_42;
6936 switch (op[1] & 0x00)
6939 goto op_semantics_42;
6945 switch (op[1] & 0x00)
6948 goto op_semantics_42;
6954 switch (op[1] & 0x00)
6957 goto op_semantics_42;
6963 switch (op[1] & 0x00)
6966 goto op_semantics_42;
6972 switch (op[1] & 0x00)
6975 goto op_semantics_42;
6981 switch (op[1] & 0x00)
6984 goto op_semantics_42;
6990 switch (op[1] & 0x08)
6995 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6996 #line 935 "rx-decode.opc"
6997 int sd AU = op[0] & 0x03;
6998 #line 935 "rx-decode.opc"
6999 int rdst AU = (op[1] >> 4) & 0x0f;
7000 #line 935 "rx-decode.opc"
7001 int bit AU = op[1] & 0x07;
7004 printf ("\033[33m%s\033[0m %02x %02x\n",
7005 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
7007 printf (" sd = 0x%x,", sd);
7008 printf (" rdst = 0x%x,", rdst);
7009 printf (" bit = 0x%x\n", bit);
7011 SYNTAX("bset #%1, %0%S0");
7012 #line 935 "rx-decode.opc"
7013 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7020 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
7021 #line 947 "rx-decode.opc"
7022 int sd AU = op[0] & 0x03;
7023 #line 947 "rx-decode.opc"
7024 int rdst AU = (op[1] >> 4) & 0x0f;
7025 #line 947 "rx-decode.opc"
7026 int bit AU = op[1] & 0x07;
7029 printf ("\033[33m%s\033[0m %02x %02x\n",
7030 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
7032 printf (" sd = 0x%x,", sd);
7033 printf (" rdst = 0x%x,", rdst);
7034 printf (" bit = 0x%x\n", bit);
7036 SYNTAX("bclr #%1, %0%S0");
7037 #line 947 "rx-decode.opc"
7038 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7046 switch (op[1] & 0x08)
7049 goto op_semantics_43;
7052 goto op_semantics_44;
7058 switch (op[1] & 0x08)
7061 goto op_semantics_43;
7064 goto op_semantics_44;
7070 switch (op[1] & 0x08)
7073 goto op_semantics_43;
7076 goto op_semantics_44;
7082 switch (op[1] & 0x0c)
7088 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
7089 #line 959 "rx-decode.opc"
7090 int sd AU = op[0] & 0x03;
7091 #line 959 "rx-decode.opc"
7092 int rdst AU = (op[1] >> 4) & 0x0f;
7093 #line 959 "rx-decode.opc"
7094 int bit AU = op[1] & 0x07;
7097 printf ("\033[33m%s\033[0m %02x %02x\n",
7098 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
7100 printf (" sd = 0x%x,", sd);
7101 printf (" rdst = 0x%x,", rdst);
7102 printf (" bit = 0x%x\n", bit);
7104 SYNTAX("btst #%2, %1%S1");
7105 #line 959 "rx-decode.opc"
7106 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
7113 /** 1111 01ss rsrc 10sz push%s %1 */
7114 #line 377 "rx-decode.opc"
7115 int ss AU = op[0] & 0x03;
7116 #line 377 "rx-decode.opc"
7117 int rsrc AU = (op[1] >> 4) & 0x0f;
7118 #line 377 "rx-decode.opc"
7119 int sz AU = op[1] & 0x03;
7122 printf ("\033[33m%s\033[0m %02x %02x\n",
7123 "/** 1111 01ss rsrc 10sz push%s %1 */",
7125 printf (" ss = 0x%x,", ss);
7126 printf (" rsrc = 0x%x,", rsrc);
7127 printf (" sz = 0x%x\n", sz);
7129 SYNTAX("push%s %1");
7130 #line 377 "rx-decode.opc"
7131 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
7133 /*----------------------------------------------------------------------*/
7138 default: UNSUPPORTED(); break;
7143 switch (op[1] & 0x0c)
7147 goto op_semantics_45;
7150 goto op_semantics_46;
7152 default: UNSUPPORTED(); break;
7157 switch (op[1] & 0x0c)
7161 goto op_semantics_45;
7164 goto op_semantics_46;
7166 default: UNSUPPORTED(); break;
7171 switch (op[1] & 0x0c)
7175 goto op_semantics_45;
7178 goto op_semantics_46;
7180 default: UNSUPPORTED(); break;
7185 switch (op[1] & 0x00)
7190 /** 1111 10sd rdst im sz mov%s #%1, %0 */
7191 #line 288 "rx-decode.opc"
7192 int sd AU = op[0] & 0x03;
7193 #line 288 "rx-decode.opc"
7194 int rdst AU = (op[1] >> 4) & 0x0f;
7195 #line 288 "rx-decode.opc"
7196 int im AU = (op[1] >> 2) & 0x03;
7197 #line 288 "rx-decode.opc"
7198 int sz AU = op[1] & 0x03;
7201 printf ("\033[33m%s\033[0m %02x %02x\n",
7202 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7204 printf (" sd = 0x%x,", sd);
7205 printf (" rdst = 0x%x,", rdst);
7206 printf (" im = 0x%x,", im);
7207 printf (" sz = 0x%x\n", sz);
7209 SYNTAX("mov%s #%1, %0");
7210 #line 288 "rx-decode.opc"
7211 ID(mov); DD(sd, rdst, sz);
7212 if ((im == 1 && sz == 0)
7213 || (im == 2 && sz == 1)
7214 || (im == 0 && sz == 2))
7232 switch (op[1] & 0x00)
7235 goto op_semantics_47;
7241 switch (op[1] & 0x00)
7244 goto op_semantics_47;
7250 switch (op[1] & 0x00)
7253 goto op_semantics_47;
7259 switch (op[1] & 0xff)
7263 switch (op[2] & 0x00)
7267 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7268 #line 551 "rx-decode.opc"
7269 int rsrc AU = (op[2] >> 4) & 0x0f;
7270 #line 551 "rx-decode.opc"
7271 int rdst AU = op[2] & 0x0f;
7274 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7275 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7276 op[0], op[1], op[2]);
7277 printf (" rsrc = 0x%x,", rsrc);
7278 printf (" rdst = 0x%x\n", rdst);
7280 SYNTAX("sbb %1, %0");
7281 #line 551 "rx-decode.opc"
7282 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7284 /* FIXME: only supports .L */
7291 switch (op[2] & 0x00)
7295 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7296 #line 482 "rx-decode.opc"
7297 int rsrc AU = (op[2] >> 4) & 0x0f;
7298 #line 482 "rx-decode.opc"
7299 int rdst AU = op[2] & 0x0f;
7302 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7303 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7304 op[0], op[1], op[2]);
7305 printf (" rsrc = 0x%x,", rsrc);
7306 printf (" rdst = 0x%x\n", rdst);
7308 SYNTAX("neg %2, %0");
7309 #line 482 "rx-decode.opc"
7310 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7312 /*----------------------------------------------------------------------*/
7321 switch (op[2] & 0x00)
7325 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7326 #line 491 "rx-decode.opc"
7327 int rsrc AU = (op[2] >> 4) & 0x0f;
7328 #line 491 "rx-decode.opc"
7329 int rdst AU = op[2] & 0x0f;
7332 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7333 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7334 op[0], op[1], op[2]);
7335 printf (" rsrc = 0x%x,", rsrc);
7336 printf (" rdst = 0x%x\n", rdst);
7338 SYNTAX("adc %1, %0");
7339 #line 491 "rx-decode.opc"
7340 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7348 switch (op[2] & 0x00)
7352 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7353 #line 564 "rx-decode.opc"
7354 int rsrc AU = (op[2] >> 4) & 0x0f;
7355 #line 564 "rx-decode.opc"
7356 int rdst AU = op[2] & 0x0f;
7359 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7360 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7361 op[0], op[1], op[2]);
7362 printf (" rsrc = 0x%x,", rsrc);
7363 printf (" rdst = 0x%x\n", rdst);
7365 SYNTAX("abs %1, %0");
7366 #line 564 "rx-decode.opc"
7367 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7369 /*----------------------------------------------------------------------*/
7378 switch (op[2] & 0x00)
7383 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7384 #line 583 "rx-decode.opc"
7385 int ss AU = op[1] & 0x03;
7386 #line 583 "rx-decode.opc"
7387 int rsrc AU = (op[2] >> 4) & 0x0f;
7388 #line 583 "rx-decode.opc"
7389 int rdst AU = op[2] & 0x0f;
7392 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7393 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7394 op[0], op[1], op[2]);
7395 printf (" ss = 0x%x,", ss);
7396 printf (" rsrc = 0x%x,", rsrc);
7397 printf (" rdst = 0x%x\n", rdst);
7399 SYNTAX("max %1%S1, %0");
7400 #line 583 "rx-decode.opc"
7401 if (ss == 3 && rsrc == 0 && rdst == 0)
7404 SYNTAX("nop\t; max\tr0, r0");
7408 ID(max); SP(ss, rsrc); DR(rdst);
7417 switch (op[2] & 0x00)
7420 goto op_semantics_48;
7426 switch (op[2] & 0x00)
7429 goto op_semantics_48;
7435 switch (op[2] & 0x00)
7438 goto op_semantics_48;
7444 switch (op[2] & 0x00)
7449 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7450 #line 603 "rx-decode.opc"
7451 int ss AU = op[1] & 0x03;
7452 #line 603 "rx-decode.opc"
7453 int rsrc AU = (op[2] >> 4) & 0x0f;
7454 #line 603 "rx-decode.opc"
7455 int rdst AU = op[2] & 0x0f;
7458 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7459 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7460 op[0], op[1], op[2]);
7461 printf (" ss = 0x%x,", ss);
7462 printf (" rsrc = 0x%x,", rsrc);
7463 printf (" rdst = 0x%x\n", rdst);
7465 SYNTAX("min %1%S1, %0");
7466 #line 603 "rx-decode.opc"
7467 ID(min); SP(ss, rsrc); DR(rdst);
7475 switch (op[2] & 0x00)
7478 goto op_semantics_49;
7484 switch (op[2] & 0x00)
7487 goto op_semantics_49;
7493 switch (op[2] & 0x00)
7496 goto op_semantics_49;
7502 switch (op[2] & 0x00)
7507 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7508 #line 661 "rx-decode.opc"
7509 int ss AU = op[1] & 0x03;
7510 #line 661 "rx-decode.opc"
7511 int rsrc AU = (op[2] >> 4) & 0x0f;
7512 #line 661 "rx-decode.opc"
7513 int rdst AU = op[2] & 0x0f;
7516 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7517 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7518 op[0], op[1], op[2]);
7519 printf (" ss = 0x%x,", ss);
7520 printf (" rsrc = 0x%x,", rsrc);
7521 printf (" rdst = 0x%x\n", rdst);
7523 SYNTAX("emul %1%S1, %0");
7524 #line 661 "rx-decode.opc"
7525 ID(emul); SP(ss, rsrc); DR(rdst);
7533 switch (op[2] & 0x00)
7536 goto op_semantics_50;
7542 switch (op[2] & 0x00)
7545 goto op_semantics_50;
7551 switch (op[2] & 0x00)
7554 goto op_semantics_50;
7560 switch (op[2] & 0x00)
7565 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7566 #line 673 "rx-decode.opc"
7567 int ss AU = op[1] & 0x03;
7568 #line 673 "rx-decode.opc"
7569 int rsrc AU = (op[2] >> 4) & 0x0f;
7570 #line 673 "rx-decode.opc"
7571 int rdst AU = op[2] & 0x0f;
7574 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7575 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7576 op[0], op[1], op[2]);
7577 printf (" ss = 0x%x,", ss);
7578 printf (" rsrc = 0x%x,", rsrc);
7579 printf (" rdst = 0x%x\n", rdst);
7581 SYNTAX("emulu %1%S1, %0");
7582 #line 673 "rx-decode.opc"
7583 ID(emulu); SP(ss, rsrc); DR(rdst);
7591 switch (op[2] & 0x00)
7594 goto op_semantics_51;
7600 switch (op[2] & 0x00)
7603 goto op_semantics_51;
7609 switch (op[2] & 0x00)
7612 goto op_semantics_51;
7618 switch (op[2] & 0x00)
7623 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7624 #line 685 "rx-decode.opc"
7625 int ss AU = op[1] & 0x03;
7626 #line 685 "rx-decode.opc"
7627 int rsrc AU = (op[2] >> 4) & 0x0f;
7628 #line 685 "rx-decode.opc"
7629 int rdst AU = op[2] & 0x0f;
7632 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7633 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7634 op[0], op[1], op[2]);
7635 printf (" ss = 0x%x,", ss);
7636 printf (" rsrc = 0x%x,", rsrc);
7637 printf (" rdst = 0x%x\n", rdst);
7639 SYNTAX("div %1%S1, %0");
7640 #line 685 "rx-decode.opc"
7641 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7649 switch (op[2] & 0x00)
7652 goto op_semantics_52;
7658 switch (op[2] & 0x00)
7661 goto op_semantics_52;
7667 switch (op[2] & 0x00)
7670 goto op_semantics_52;
7676 switch (op[2] & 0x00)
7681 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7682 #line 697 "rx-decode.opc"
7683 int ss AU = op[1] & 0x03;
7684 #line 697 "rx-decode.opc"
7685 int rsrc AU = (op[2] >> 4) & 0x0f;
7686 #line 697 "rx-decode.opc"
7687 int rdst AU = op[2] & 0x0f;
7690 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7691 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7692 op[0], op[1], op[2]);
7693 printf (" ss = 0x%x,", ss);
7694 printf (" rsrc = 0x%x,", rsrc);
7695 printf (" rdst = 0x%x\n", rdst);
7697 SYNTAX("divu %1%S1, %0");
7698 #line 697 "rx-decode.opc"
7699 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7707 switch (op[2] & 0x00)
7710 goto op_semantics_53;
7716 switch (op[2] & 0x00)
7719 goto op_semantics_53;
7725 switch (op[2] & 0x00)
7728 goto op_semantics_53;
7734 switch (op[2] & 0x00)
7739 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7740 #line 470 "rx-decode.opc"
7741 int ss AU = op[1] & 0x03;
7742 #line 470 "rx-decode.opc"
7743 int rsrc AU = (op[2] >> 4) & 0x0f;
7744 #line 470 "rx-decode.opc"
7745 int rdst AU = op[2] & 0x0f;
7748 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7749 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7750 op[0], op[1], op[2]);
7751 printf (" ss = 0x%x,", ss);
7752 printf (" rsrc = 0x%x,", rsrc);
7753 printf (" rdst = 0x%x\n", rdst);
7755 SYNTAX("tst %1%S1, %2");
7756 #line 470 "rx-decode.opc"
7757 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7765 switch (op[2] & 0x00)
7768 goto op_semantics_54;
7774 switch (op[2] & 0x00)
7777 goto op_semantics_54;
7783 switch (op[2] & 0x00)
7786 goto op_semantics_54;
7792 switch (op[2] & 0x00)
7797 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7798 #line 449 "rx-decode.opc"
7799 int ss AU = op[1] & 0x03;
7800 #line 449 "rx-decode.opc"
7801 int rsrc AU = (op[2] >> 4) & 0x0f;
7802 #line 449 "rx-decode.opc"
7803 int rdst AU = op[2] & 0x0f;
7806 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7807 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7808 op[0], op[1], op[2]);
7809 printf (" ss = 0x%x,", ss);
7810 printf (" rsrc = 0x%x,", rsrc);
7811 printf (" rdst = 0x%x\n", rdst);
7813 SYNTAX("xor %1%S1, %0");
7814 #line 449 "rx-decode.opc"
7815 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7823 switch (op[2] & 0x00)
7826 goto op_semantics_55;
7832 switch (op[2] & 0x00)
7835 goto op_semantics_55;
7841 switch (op[2] & 0x00)
7844 goto op_semantics_55;
7850 switch (op[2] & 0x00)
7854 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7855 #line 461 "rx-decode.opc"
7856 int rsrc AU = (op[2] >> 4) & 0x0f;
7857 #line 461 "rx-decode.opc"
7858 int rdst AU = op[2] & 0x0f;
7861 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7862 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7863 op[0], op[1], op[2]);
7864 printf (" rsrc = 0x%x,", rsrc);
7865 printf (" rdst = 0x%x\n", rdst);
7867 SYNTAX("not %1, %0");
7868 #line 461 "rx-decode.opc"
7869 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7871 /*----------------------------------------------------------------------*/
7880 switch (op[2] & 0x00)
7885 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7886 #line 383 "rx-decode.opc"
7887 int ss AU = op[1] & 0x03;
7888 #line 383 "rx-decode.opc"
7889 int rsrc AU = (op[2] >> 4) & 0x0f;
7890 #line 383 "rx-decode.opc"
7891 int rdst AU = op[2] & 0x0f;
7894 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7895 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7896 op[0], op[1], op[2]);
7897 printf (" ss = 0x%x,", ss);
7898 printf (" rsrc = 0x%x,", rsrc);
7899 printf (" rdst = 0x%x\n", rdst);
7901 SYNTAX("xchg %1%S1, %0");
7902 #line 383 "rx-decode.opc"
7903 ID(xchg); DR(rdst); SP(ss, rsrc);
7911 switch (op[2] & 0x00)
7914 goto op_semantics_56;
7920 switch (op[2] & 0x00)
7923 goto op_semantics_56;
7929 switch (op[2] & 0x00)
7932 goto op_semantics_56;
7938 switch (op[2] & 0x00)
7943 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7944 #line 926 "rx-decode.opc"
7945 int sd AU = op[1] & 0x03;
7946 #line 926 "rx-decode.opc"
7947 int rsrc AU = (op[2] >> 4) & 0x0f;
7948 #line 926 "rx-decode.opc"
7949 int rdst AU = op[2] & 0x0f;
7952 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7953 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7954 op[0], op[1], op[2]);
7955 printf (" sd = 0x%x,", sd);
7956 printf (" rsrc = 0x%x,", rsrc);
7957 printf (" rdst = 0x%x\n", rdst);
7959 SYNTAX("itof %1%S1, %0");
7960 #line 926 "rx-decode.opc"
7961 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7969 switch (op[2] & 0x00)
7972 goto op_semantics_57;
7978 switch (op[2] & 0x00)
7981 goto op_semantics_57;
7987 switch (op[2] & 0x00)
7990 goto op_semantics_57;
7996 switch (op[2] & 0x00)
8000 /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
8001 #line 1052 "rx-decode.opc"
8002 int rsrc AU = (op[2] >> 4) & 0x0f;
8003 #line 1052 "rx-decode.opc"
8004 int rdst AU = op[2] & 0x0f;
8007 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8008 "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
8009 op[0], op[1], op[2]);
8010 printf (" rsrc = 0x%x,", rsrc);
8011 printf (" rdst = 0x%x\n", rdst);
8013 SYNTAX("stz %1, %0");
8014 #line 1052 "rx-decode.opc"
8015 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
8023 switch (op[2] & 0x00)
8027 /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
8028 #line 1055 "rx-decode.opc"
8029 int rsrc AU = (op[2] >> 4) & 0x0f;
8030 #line 1055 "rx-decode.opc"
8031 int rdst AU = op[2] & 0x0f;
8034 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8035 "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
8036 op[0], op[1], op[2]);
8037 printf (" rsrc = 0x%x,", rsrc);
8038 printf (" rdst = 0x%x\n", rdst);
8040 SYNTAX("stnz %1, %0");
8041 #line 1055 "rx-decode.opc"
8042 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
8050 switch (op[2] & 0x00)
8055 /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
8056 #line 1112 "rx-decode.opc"
8057 int sd AU = op[1] & 0x03;
8058 #line 1112 "rx-decode.opc"
8059 int rsrc AU = (op[2] >> 4) & 0x0f;
8060 #line 1112 "rx-decode.opc"
8061 int rdst AU = op[2] & 0x0f;
8064 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8065 "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
8066 op[0], op[1], op[2]);
8067 printf (" sd = 0x%x,", sd);
8068 printf (" rsrc = 0x%x,", rsrc);
8069 printf (" rdst = 0x%x\n", rdst);
8071 SYNTAX("utof %1%S1, %0");
8072 #line 1112 "rx-decode.opc"
8073 ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
8081 switch (op[2] & 0x00)
8084 goto op_semantics_58;
8090 switch (op[2] & 0x00)
8093 goto op_semantics_58;
8099 switch (op[2] & 0x00)
8102 goto op_semantics_58;
8108 switch (op[2] & 0x00)
8113 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
8114 #line 938 "rx-decode.opc"
8115 int sd AU = op[1] & 0x03;
8116 #line 938 "rx-decode.opc"
8117 int rdst AU = (op[2] >> 4) & 0x0f;
8118 #line 938 "rx-decode.opc"
8119 int rsrc AU = op[2] & 0x0f;
8122 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8123 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
8124 op[0], op[1], op[2]);
8125 printf (" sd = 0x%x,", sd);
8126 printf (" rdst = 0x%x,", rdst);
8127 printf (" rsrc = 0x%x\n", rsrc);
8129 SYNTAX("bset %1, %0%S0");
8130 #line 938 "rx-decode.opc"
8131 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8132 if (sd == 3) /* bset reg,reg */
8141 switch (op[2] & 0x00)
8144 goto op_semantics_59;
8150 switch (op[2] & 0x00)
8153 goto op_semantics_59;
8159 switch (op[2] & 0x00)
8162 goto op_semantics_59;
8168 switch (op[2] & 0x00)
8173 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
8174 #line 950 "rx-decode.opc"
8175 int sd AU = op[1] & 0x03;
8176 #line 950 "rx-decode.opc"
8177 int rdst AU = (op[2] >> 4) & 0x0f;
8178 #line 950 "rx-decode.opc"
8179 int rsrc AU = op[2] & 0x0f;
8182 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8183 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
8184 op[0], op[1], op[2]);
8185 printf (" sd = 0x%x,", sd);
8186 printf (" rdst = 0x%x,", rdst);
8187 printf (" rsrc = 0x%x\n", rsrc);
8189 SYNTAX("bclr %1, %0%S0");
8190 #line 950 "rx-decode.opc"
8191 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8192 if (sd == 3) /* bset reg,reg */
8201 switch (op[2] & 0x00)
8204 goto op_semantics_60;
8210 switch (op[2] & 0x00)
8213 goto op_semantics_60;
8219 switch (op[2] & 0x00)
8222 goto op_semantics_60;
8228 switch (op[2] & 0x00)
8233 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
8234 #line 962 "rx-decode.opc"
8235 int sd AU = op[1] & 0x03;
8236 #line 962 "rx-decode.opc"
8237 int rdst AU = (op[2] >> 4) & 0x0f;
8238 #line 962 "rx-decode.opc"
8239 int rsrc AU = op[2] & 0x0f;
8242 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8243 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
8244 op[0], op[1], op[2]);
8245 printf (" sd = 0x%x,", sd);
8246 printf (" rdst = 0x%x,", rdst);
8247 printf (" rsrc = 0x%x\n", rsrc);
8249 SYNTAX("btst %2, %1%S1");
8250 #line 962 "rx-decode.opc"
8251 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
8252 if (sd == 3) /* bset reg,reg */
8261 switch (op[2] & 0x00)
8264 goto op_semantics_61;
8270 switch (op[2] & 0x00)
8273 goto op_semantics_61;
8279 switch (op[2] & 0x00)
8282 goto op_semantics_61;
8288 switch (op[2] & 0x00)
8293 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8294 #line 974 "rx-decode.opc"
8295 int sd AU = op[1] & 0x03;
8296 #line 974 "rx-decode.opc"
8297 int rdst AU = (op[2] >> 4) & 0x0f;
8298 #line 974 "rx-decode.opc"
8299 int rsrc AU = op[2] & 0x0f;
8302 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8303 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8304 op[0], op[1], op[2]);
8305 printf (" sd = 0x%x,", sd);
8306 printf (" rdst = 0x%x,", rdst);
8307 printf (" rsrc = 0x%x\n", rsrc);
8309 SYNTAX("bnot %1, %0%S0");
8310 #line 974 "rx-decode.opc"
8311 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8312 if (sd == 3) /* bset reg,reg */
8321 switch (op[2] & 0x00)
8324 goto op_semantics_62;
8330 switch (op[2] & 0x00)
8333 goto op_semantics_62;
8339 switch (op[2] & 0x00)
8342 goto op_semantics_62;
8348 switch (op[2] & 0x00)
8353 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8354 #line 905 "rx-decode.opc"
8355 int sd AU = op[1] & 0x03;
8356 #line 905 "rx-decode.opc"
8357 int rsrc AU = (op[2] >> 4) & 0x0f;
8358 #line 905 "rx-decode.opc"
8359 int rdst AU = op[2] & 0x0f;
8362 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8363 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8364 op[0], op[1], op[2]);
8365 printf (" sd = 0x%x,", sd);
8366 printf (" rsrc = 0x%x,", rsrc);
8367 printf (" rdst = 0x%x\n", rdst);
8369 SYNTAX("fsub %1%S1, %0");
8370 #line 905 "rx-decode.opc"
8371 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8379 switch (op[2] & 0x00)
8382 goto op_semantics_63;
8388 switch (op[2] & 0x00)
8391 goto op_semantics_63;
8397 switch (op[2] & 0x00)
8400 goto op_semantics_63;
8406 switch (op[2] & 0x00)
8411 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8412 #line 899 "rx-decode.opc"
8413 int sd AU = op[1] & 0x03;
8414 #line 899 "rx-decode.opc"
8415 int rsrc AU = (op[2] >> 4) & 0x0f;
8416 #line 899 "rx-decode.opc"
8417 int rdst AU = op[2] & 0x0f;
8420 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8421 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8422 op[0], op[1], op[2]);
8423 printf (" sd = 0x%x,", sd);
8424 printf (" rsrc = 0x%x,", rsrc);
8425 printf (" rdst = 0x%x\n", rdst);
8427 SYNTAX("fcmp %1%S1, %0");
8428 #line 899 "rx-decode.opc"
8429 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8437 switch (op[2] & 0x00)
8440 goto op_semantics_64;
8446 switch (op[2] & 0x00)
8449 goto op_semantics_64;
8455 switch (op[2] & 0x00)
8458 goto op_semantics_64;
8464 switch (op[2] & 0x00)
8469 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8470 #line 893 "rx-decode.opc"
8471 int sd AU = op[1] & 0x03;
8472 #line 893 "rx-decode.opc"
8473 int rsrc AU = (op[2] >> 4) & 0x0f;
8474 #line 893 "rx-decode.opc"
8475 int rdst AU = op[2] & 0x0f;
8478 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8479 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8480 op[0], op[1], op[2]);
8481 printf (" sd = 0x%x,", sd);
8482 printf (" rsrc = 0x%x,", rsrc);
8483 printf (" rdst = 0x%x\n", rdst);
8485 SYNTAX("fadd %1%S1, %0");
8486 #line 893 "rx-decode.opc"
8487 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8495 switch (op[2] & 0x00)
8498 goto op_semantics_65;
8504 switch (op[2] & 0x00)
8507 goto op_semantics_65;
8513 switch (op[2] & 0x00)
8516 goto op_semantics_65;
8522 switch (op[2] & 0x00)
8527 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8528 #line 914 "rx-decode.opc"
8529 int sd AU = op[1] & 0x03;
8530 #line 914 "rx-decode.opc"
8531 int rsrc AU = (op[2] >> 4) & 0x0f;
8532 #line 914 "rx-decode.opc"
8533 int rdst AU = op[2] & 0x0f;
8536 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8537 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8538 op[0], op[1], op[2]);
8539 printf (" sd = 0x%x,", sd);
8540 printf (" rsrc = 0x%x,", rsrc);
8541 printf (" rdst = 0x%x\n", rdst);
8543 SYNTAX("fmul %1%S1, %0");
8544 #line 914 "rx-decode.opc"
8545 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8553 switch (op[2] & 0x00)
8556 goto op_semantics_66;
8562 switch (op[2] & 0x00)
8565 goto op_semantics_66;
8571 switch (op[2] & 0x00)
8574 goto op_semantics_66;
8580 switch (op[2] & 0x00)
8585 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8586 #line 920 "rx-decode.opc"
8587 int sd AU = op[1] & 0x03;
8588 #line 920 "rx-decode.opc"
8589 int rsrc AU = (op[2] >> 4) & 0x0f;
8590 #line 920 "rx-decode.opc"
8591 int rdst AU = op[2] & 0x0f;
8594 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8595 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8596 op[0], op[1], op[2]);
8597 printf (" sd = 0x%x,", sd);
8598 printf (" rsrc = 0x%x,", rsrc);
8599 printf (" rdst = 0x%x\n", rdst);
8601 SYNTAX("fdiv %1%S1, %0");
8602 #line 920 "rx-decode.opc"
8603 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8611 switch (op[2] & 0x00)
8614 goto op_semantics_67;
8620 switch (op[2] & 0x00)
8623 goto op_semantics_67;
8629 switch (op[2] & 0x00)
8632 goto op_semantics_67;
8638 switch (op[2] & 0x00)
8643 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8644 #line 908 "rx-decode.opc"
8645 int sd AU = op[1] & 0x03;
8646 #line 908 "rx-decode.opc"
8647 int rsrc AU = (op[2] >> 4) & 0x0f;
8648 #line 908 "rx-decode.opc"
8649 int rdst AU = op[2] & 0x0f;
8652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8653 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8654 op[0], op[1], op[2]);
8655 printf (" sd = 0x%x,", sd);
8656 printf (" rsrc = 0x%x,", rsrc);
8657 printf (" rdst = 0x%x\n", rdst);
8659 SYNTAX("ftoi %1%S1, %0");
8660 #line 908 "rx-decode.opc"
8661 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8669 switch (op[2] & 0x00)
8672 goto op_semantics_68;
8678 switch (op[2] & 0x00)
8681 goto op_semantics_68;
8687 switch (op[2] & 0x00)
8690 goto op_semantics_68;
8696 switch (op[2] & 0x00)
8701 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8702 #line 923 "rx-decode.opc"
8703 int sd AU = op[1] & 0x03;
8704 #line 923 "rx-decode.opc"
8705 int rsrc AU = (op[2] >> 4) & 0x0f;
8706 #line 923 "rx-decode.opc"
8707 int rdst AU = op[2] & 0x0f;
8710 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8711 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8712 op[0], op[1], op[2]);
8713 printf (" sd = 0x%x,", sd);
8714 printf (" rsrc = 0x%x,", rsrc);
8715 printf (" rdst = 0x%x\n", rdst);
8717 SYNTAX("round %1%S1, %0");
8718 #line 923 "rx-decode.opc"
8719 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8727 switch (op[2] & 0x00)
8730 goto op_semantics_69;
8736 switch (op[2] & 0x00)
8739 goto op_semantics_69;
8745 switch (op[2] & 0x00)
8748 goto op_semantics_69;
8754 switch (op[2] & 0x00)
8759 /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
8760 #line 1106 "rx-decode.opc"
8761 int sd AU = op[1] & 0x03;
8762 #line 1106 "rx-decode.opc"
8763 int rsrc AU = (op[2] >> 4) & 0x0f;
8764 #line 1106 "rx-decode.opc"
8765 int rdst AU = op[2] & 0x0f;
8768 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8769 "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
8770 op[0], op[1], op[2]);
8771 printf (" sd = 0x%x,", sd);
8772 printf (" rsrc = 0x%x,", rsrc);
8773 printf (" rdst = 0x%x\n", rdst);
8775 SYNTAX("fsqrt %1%S1, %0");
8776 #line 1106 "rx-decode.opc"
8777 ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8785 switch (op[2] & 0x00)
8788 goto op_semantics_70;
8794 switch (op[2] & 0x00)
8797 goto op_semantics_70;
8803 switch (op[2] & 0x00)
8806 goto op_semantics_70;
8812 switch (op[2] & 0x00)
8817 /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
8818 #line 1109 "rx-decode.opc"
8819 int sd AU = op[1] & 0x03;
8820 #line 1109 "rx-decode.opc"
8821 int rsrc AU = (op[2] >> 4) & 0x0f;
8822 #line 1109 "rx-decode.opc"
8823 int rdst AU = op[2] & 0x0f;
8826 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8827 "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
8828 op[0], op[1], op[2]);
8829 printf (" sd = 0x%x,", sd);
8830 printf (" rsrc = 0x%x,", rsrc);
8831 printf (" rdst = 0x%x\n", rdst);
8833 SYNTAX("ftou %1%S1, %0");
8834 #line 1109 "rx-decode.opc"
8835 ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8843 switch (op[2] & 0x00)
8846 goto op_semantics_71;
8852 switch (op[2] & 0x00)
8855 goto op_semantics_71;
8861 switch (op[2] & 0x00)
8864 goto op_semantics_71;
8870 switch (op[2] & 0x00)
8875 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8876 #line 1040 "rx-decode.opc"
8877 int sz AU = (op[1] >> 2) & 0x03;
8878 #line 1040 "rx-decode.opc"
8879 int sd AU = op[1] & 0x03;
8880 #line 1040 "rx-decode.opc"
8881 int rdst AU = (op[2] >> 4) & 0x0f;
8882 #line 1040 "rx-decode.opc"
8883 int cond AU = op[2] & 0x0f;
8886 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8887 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8888 op[0], op[1], op[2]);
8889 printf (" sz = 0x%x,", sz);
8890 printf (" sd = 0x%x,", sd);
8891 printf (" rdst = 0x%x,", rdst);
8892 printf (" cond = 0x%x\n", cond);
8894 SYNTAX("sc%1%s %0");
8895 #line 1040 "rx-decode.opc"
8896 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8898 /*----------------------------------------------------------------------*/
8907 switch (op[2] & 0x00)
8910 goto op_semantics_72;
8916 switch (op[2] & 0x00)
8919 goto op_semantics_72;
8925 switch (op[2] & 0x00)
8928 goto op_semantics_72;
8934 switch (op[2] & 0x00)
8937 goto op_semantics_72;
8943 switch (op[2] & 0x00)
8946 goto op_semantics_72;
8952 switch (op[2] & 0x00)
8955 goto op_semantics_72;
8961 switch (op[2] & 0x00)
8964 goto op_semantics_72;
8970 switch (op[2] & 0x00)
8973 goto op_semantics_72;
8979 switch (op[2] & 0x00)
8982 goto op_semantics_72;
8988 switch (op[2] & 0x00)
8991 goto op_semantics_72;
8997 switch (op[2] & 0x00)
9000 goto op_semantics_72;
9006 switch (op[2] & 0x0f)
9025 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
9026 #line 983 "rx-decode.opc"
9027 int bit AU = (op[1] >> 2) & 0x07;
9028 #line 983 "rx-decode.opc"
9029 int sd AU = op[1] & 0x03;
9030 #line 983 "rx-decode.opc"
9031 int rdst AU = (op[2] >> 4) & 0x0f;
9032 #line 983 "rx-decode.opc"
9033 int cond AU = op[2] & 0x0f;
9036 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9037 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
9038 op[0], op[1], op[2]);
9039 printf (" bit = 0x%x,", bit);
9040 printf (" sd = 0x%x,", sd);
9041 printf (" rdst = 0x%x,", rdst);
9042 printf (" cond = 0x%x\n", cond);
9044 SYNTAX("bm%2 #%1, %0%S0");
9045 #line 983 "rx-decode.opc"
9046 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
9053 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
9054 #line 971 "rx-decode.opc"
9055 int bit AU = (op[1] >> 2) & 0x07;
9056 #line 971 "rx-decode.opc"
9057 int sd AU = op[1] & 0x03;
9058 #line 971 "rx-decode.opc"
9059 int rdst AU = (op[2] >> 4) & 0x0f;
9062 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9063 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
9064 op[0], op[1], op[2]);
9065 printf (" bit = 0x%x,", bit);
9066 printf (" sd = 0x%x,", sd);
9067 printf (" rdst = 0x%x\n", rdst);
9069 SYNTAX("bnot #%1, %0%S0");
9070 #line 971 "rx-decode.opc"
9071 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
9079 switch (op[2] & 0x0f)
9096 goto op_semantics_73;
9099 goto op_semantics_74;
9105 switch (op[2] & 0x0f)
9122 goto op_semantics_73;
9125 goto op_semantics_74;
9131 switch (op[2] & 0x0f)
9148 goto op_semantics_73;
9151 goto op_semantics_74;
9157 switch (op[2] & 0x0f)
9174 goto op_semantics_73;
9177 goto op_semantics_74;
9183 switch (op[2] & 0x0f)
9200 goto op_semantics_73;
9203 goto op_semantics_74;
9209 switch (op[2] & 0x0f)
9226 goto op_semantics_73;
9229 goto op_semantics_74;
9235 switch (op[2] & 0x0f)
9252 goto op_semantics_73;
9255 goto op_semantics_74;
9261 switch (op[2] & 0x0f)
9278 goto op_semantics_73;
9281 goto op_semantics_74;
9287 switch (op[2] & 0x0f)
9304 goto op_semantics_73;
9307 goto op_semantics_74;
9313 switch (op[2] & 0x0f)
9330 goto op_semantics_73;
9333 goto op_semantics_74;
9339 switch (op[2] & 0x0f)
9356 goto op_semantics_73;
9359 goto op_semantics_74;
9365 switch (op[2] & 0x0f)
9382 goto op_semantics_73;
9385 goto op_semantics_74;
9391 switch (op[2] & 0x0f)
9408 goto op_semantics_73;
9411 goto op_semantics_74;
9417 switch (op[2] & 0x0f)
9434 goto op_semantics_73;
9437 goto op_semantics_74;
9443 switch (op[2] & 0x0f)
9460 goto op_semantics_73;
9463 goto op_semantics_74;
9469 switch (op[2] & 0x0f)
9486 goto op_semantics_73;
9489 goto op_semantics_74;
9495 switch (op[2] & 0x0f)
9512 goto op_semantics_73;
9515 goto op_semantics_74;
9521 switch (op[2] & 0x0f)
9538 goto op_semantics_73;
9541 goto op_semantics_74;
9547 switch (op[2] & 0x0f)
9564 goto op_semantics_73;
9567 goto op_semantics_74;
9573 switch (op[2] & 0x0f)
9590 goto op_semantics_73;
9593 goto op_semantics_74;
9599 switch (op[2] & 0x0f)
9616 goto op_semantics_73;
9619 goto op_semantics_74;
9625 switch (op[2] & 0x0f)
9642 goto op_semantics_73;
9645 goto op_semantics_74;
9651 switch (op[2] & 0x0f)
9668 goto op_semantics_73;
9671 goto op_semantics_74;
9677 switch (op[2] & 0x0f)
9694 goto op_semantics_73;
9697 goto op_semantics_74;
9703 switch (op[2] & 0x0f)
9720 goto op_semantics_73;
9723 goto op_semantics_74;
9729 switch (op[2] & 0x0f)
9746 goto op_semantics_73;
9749 goto op_semantics_74;
9755 switch (op[2] & 0x0f)
9772 goto op_semantics_73;
9775 goto op_semantics_74;
9781 switch (op[2] & 0x0f)
9798 goto op_semantics_73;
9801 goto op_semantics_74;
9807 switch (op[2] & 0x0f)
9824 goto op_semantics_73;
9827 goto op_semantics_74;
9833 switch (op[2] & 0x0f)
9850 goto op_semantics_73;
9853 goto op_semantics_74;
9859 switch (op[2] & 0x0f)
9876 goto op_semantics_73;
9879 goto op_semantics_74;
9883 default: UNSUPPORTED(); break;
9888 switch (op[1] & 0xff)
9892 switch (op[2] & 0x00)
9897 /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
9898 #line 848 "rx-decode.opc"
9899 int a AU = (op[1] >> 3) & 0x01;
9900 #line 848 "rx-decode.opc"
9901 int srca AU = (op[2] >> 4) & 0x0f;
9902 #line 848 "rx-decode.opc"
9903 int srcb AU = op[2] & 0x0f;
9906 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9907 "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
9908 op[0], op[1], op[2]);
9909 printf (" a = 0x%x,", a);
9910 printf (" srca = 0x%x,", srca);
9911 printf (" srcb = 0x%x\n", srcb);
9913 SYNTAX("mulhi %1, %2, %0");
9914 #line 848 "rx-decode.opc"
9915 ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
9923 switch (op[2] & 0x00)
9928 /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
9929 #line 851 "rx-decode.opc"
9930 int a AU = (op[1] >> 3) & 0x01;
9931 #line 851 "rx-decode.opc"
9932 int srca AU = (op[2] >> 4) & 0x0f;
9933 #line 851 "rx-decode.opc"
9934 int srcb AU = op[2] & 0x0f;
9937 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9938 "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
9939 op[0], op[1], op[2]);
9940 printf (" a = 0x%x,", a);
9941 printf (" srca = 0x%x,", srca);
9942 printf (" srcb = 0x%x\n", srcb);
9944 SYNTAX("mullo %1, %2, %0");
9945 #line 851 "rx-decode.opc"
9946 ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
9954 switch (op[2] & 0x00)
9959 /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
9960 #line 1079 "rx-decode.opc"
9961 int a AU = (op[1] >> 3) & 0x01;
9962 #line 1079 "rx-decode.opc"
9963 int srca AU = (op[2] >> 4) & 0x0f;
9964 #line 1079 "rx-decode.opc"
9965 int srcb AU = op[2] & 0x0f;
9968 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9969 "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
9970 op[0], op[1], op[2]);
9971 printf (" a = 0x%x,", a);
9972 printf (" srca = 0x%x,", srca);
9973 printf (" srcb = 0x%x\n", srcb);
9975 SYNTAX("mullh %1, %2, %0");
9976 #line 1079 "rx-decode.opc"
9977 ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
9985 switch (op[2] & 0x00)
9990 /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
9991 #line 1064 "rx-decode.opc"
9992 int a AU = (op[1] >> 3) & 0x01;
9993 #line 1064 "rx-decode.opc"
9994 int srca AU = (op[2] >> 4) & 0x0f;
9995 #line 1064 "rx-decode.opc"
9996 int srcb AU = op[2] & 0x0f;
9999 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10000 "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
10001 op[0], op[1], op[2]);
10002 printf (" a = 0x%x,", a);
10003 printf (" srca = 0x%x,", srca);
10004 printf (" srcb = 0x%x\n", srcb);
10006 SYNTAX("emula %1, %2, %0");
10007 #line 1064 "rx-decode.opc"
10008 ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
10016 switch (op[2] & 0x00)
10021 /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
10022 #line 854 "rx-decode.opc"
10023 int a AU = (op[1] >> 3) & 0x01;
10024 #line 854 "rx-decode.opc"
10025 int srca AU = (op[2] >> 4) & 0x0f;
10026 #line 854 "rx-decode.opc"
10027 int srcb AU = op[2] & 0x0f;
10030 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10031 "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
10032 op[0], op[1], op[2]);
10033 printf (" a = 0x%x,", a);
10034 printf (" srca = 0x%x,", srca);
10035 printf (" srcb = 0x%x\n", srcb);
10037 SYNTAX("machi %1, %2, %0");
10038 #line 854 "rx-decode.opc"
10039 ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
10047 switch (op[2] & 0x00)
10052 /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
10053 #line 857 "rx-decode.opc"
10054 int a AU = (op[1] >> 3) & 0x01;
10055 #line 857 "rx-decode.opc"
10056 int srca AU = (op[2] >> 4) & 0x0f;
10057 #line 857 "rx-decode.opc"
10058 int srcb AU = op[2] & 0x0f;
10061 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10062 "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
10063 op[0], op[1], op[2]);
10064 printf (" a = 0x%x,", a);
10065 printf (" srca = 0x%x,", srca);
10066 printf (" srcb = 0x%x\n", srcb);
10068 SYNTAX("maclo %1, %2, %0");
10069 #line 857 "rx-decode.opc"
10070 ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
10078 switch (op[2] & 0x00)
10083 /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
10084 #line 1067 "rx-decode.opc"
10085 int a AU = (op[1] >> 3) & 0x01;
10086 #line 1067 "rx-decode.opc"
10087 int srca AU = (op[2] >> 4) & 0x0f;
10088 #line 1067 "rx-decode.opc"
10089 int srcb AU = op[2] & 0x0f;
10092 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10093 "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
10094 op[0], op[1], op[2]);
10095 printf (" a = 0x%x,", a);
10096 printf (" srca = 0x%x,", srca);
10097 printf (" srcb = 0x%x\n", srcb);
10099 SYNTAX("maclh %1, %2, %0");
10100 #line 1067 "rx-decode.opc"
10101 ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
10109 switch (op[2] & 0x00)
10114 /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
10115 #line 1058 "rx-decode.opc"
10116 int a AU = (op[1] >> 3) & 0x01;
10117 #line 1058 "rx-decode.opc"
10118 int srca AU = (op[2] >> 4) & 0x0f;
10119 #line 1058 "rx-decode.opc"
10120 int srcb AU = op[2] & 0x0f;
10123 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10124 "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
10125 op[0], op[1], op[2]);
10126 printf (" a = 0x%x,", a);
10127 printf (" srca = 0x%x,", srca);
10128 printf (" srcb = 0x%x\n", srcb);
10130 SYNTAX("emaca %1, %2, %0");
10131 #line 1058 "rx-decode.opc"
10132 ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
10140 switch (op[2] & 0x00)
10143 goto op_semantics_75;
10149 switch (op[2] & 0x00)
10152 goto op_semantics_76;
10158 switch (op[2] & 0x00)
10161 goto op_semantics_77;
10167 switch (op[2] & 0x00)
10170 goto op_semantics_78;
10176 switch (op[2] & 0x00)
10179 goto op_semantics_79;
10185 switch (op[2] & 0x00)
10188 goto op_semantics_80;
10194 switch (op[2] & 0x00)
10197 goto op_semantics_81;
10203 switch (op[2] & 0x00)
10206 goto op_semantics_82;
10212 switch (op[2] & 0x70)
10216 /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
10217 #line 860 "rx-decode.opc"
10218 int a AU = (op[2] >> 7) & 0x01;
10219 #line 860 "rx-decode.opc"
10220 int rsrc AU = op[2] & 0x0f;
10223 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10224 "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
10225 op[0], op[1], op[2]);
10226 printf (" a = 0x%x,", a);
10227 printf (" rsrc = 0x%x\n", rsrc);
10229 SYNTAX("mvtachi %1, %0");
10230 #line 860 "rx-decode.opc"
10231 ID(mvtachi); DR(a+32); SR(rsrc); F_____;
10237 /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
10238 #line 863 "rx-decode.opc"
10239 int a AU = (op[2] >> 7) & 0x01;
10240 #line 863 "rx-decode.opc"
10241 int rsrc AU = op[2] & 0x0f;
10244 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10245 "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
10246 op[0], op[1], op[2]);
10247 printf (" a = 0x%x,", a);
10248 printf (" rsrc = 0x%x\n", rsrc);
10250 SYNTAX("mvtaclo %1, %0");
10251 #line 863 "rx-decode.opc"
10252 ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
10258 /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
10259 #line 1085 "rx-decode.opc"
10260 int a AU = (op[2] >> 7) & 0x01;
10261 #line 1085 "rx-decode.opc"
10262 int rdst AU = op[2] & 0x0f;
10265 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10266 "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
10267 op[0], op[1], op[2]);
10268 printf (" a = 0x%x,", a);
10269 printf (" rdst = 0x%x\n", rdst);
10271 SYNTAX("mvtacgu %0, %1");
10272 #line 1085 "rx-decode.opc"
10273 ID(mvtacgu); DR(a+32); SR(rdst); F_____;
10277 default: UNSUPPORTED(); break;
10282 switch (op[2] & 0x6f)
10286 /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
10287 #line 875 "rx-decode.opc"
10288 int a AU = (op[2] >> 7) & 0x01;
10289 #line 875 "rx-decode.opc"
10290 int i AU = (op[2] >> 4) & 0x01;
10293 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10294 "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
10295 op[0], op[1], op[2]);
10296 printf (" a = 0x%x,", a);
10297 printf (" i = 0x%x\n", i);
10299 SYNTAX("racw #%1, %0");
10300 #line 875 "rx-decode.opc"
10301 ID(racw); SC(i+1); DR(a+32); F_____;
10303 /*----------------------------------------------------------------------*/
10310 /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
10311 #line 1094 "rx-decode.opc"
10312 int a AU = (op[2] >> 7) & 0x01;
10313 #line 1094 "rx-decode.opc"
10314 int i AU = (op[2] >> 4) & 0x01;
10317 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10318 "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
10319 op[0], op[1], op[2]);
10320 printf (" a = 0x%x,", a);
10321 printf (" i = 0x%x\n", i);
10323 SYNTAX("rdacw #%1, %0");
10324 #line 1094 "rx-decode.opc"
10325 ID(rdacw); SC(i+1); DR(a+32); F_____;
10329 default: UNSUPPORTED(); break;
10334 switch (op[2] & 0x6f)
10338 /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
10339 #line 1088 "rx-decode.opc"
10340 int a AU = (op[2] >> 7) & 0x01;
10341 #line 1088 "rx-decode.opc"
10342 int i AU = (op[2] >> 4) & 0x01;
10345 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10346 "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
10347 op[0], op[1], op[2]);
10348 printf (" a = 0x%x,", a);
10349 printf (" i = 0x%x\n", i);
10351 SYNTAX("racl #%1, %0");
10352 #line 1088 "rx-decode.opc"
10353 ID(racl); SC(i+1); DR(a+32); F_____;
10359 /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
10360 #line 1091 "rx-decode.opc"
10361 int a AU = (op[2] >> 7) & 0x01;
10362 #line 1091 "rx-decode.opc"
10363 int i AU = (op[2] >> 4) & 0x01;
10366 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10367 "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
10368 op[0], op[1], op[2]);
10369 printf (" a = 0x%x,", a);
10370 printf (" i = 0x%x\n", i);
10372 SYNTAX("rdacl #%1, %0");
10373 #line 1091 "rx-decode.opc"
10374 ID(rdacl); SC(i+1); DR(a+32); F_____;
10378 default: UNSUPPORTED(); break;
10383 switch (op[2] & 0x30)
10388 /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
10389 #line 866 "rx-decode.opc"
10390 int i AU = op[1] & 0x01;
10391 #line 866 "rx-decode.opc"
10392 int a AU = (op[2] >> 7) & 0x01;
10393 #line 866 "rx-decode.opc"
10394 int m AU = (op[2] >> 6) & 0x01;
10395 #line 866 "rx-decode.opc"
10396 int rdst AU = op[2] & 0x0f;
10399 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10400 "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
10401 op[0], op[1], op[2]);
10402 printf (" i = 0x%x,", i);
10403 printf (" a = 0x%x,", a);
10404 printf (" m = 0x%x,", m);
10405 printf (" rdst = 0x%x\n", rdst);
10407 SYNTAX("mvfachi #%2, %1, %0");
10408 #line 866 "rx-decode.opc"
10409 ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10416 /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
10417 #line 872 "rx-decode.opc"
10418 int i AU = op[1] & 0x01;
10419 #line 872 "rx-decode.opc"
10420 int a AU = (op[2] >> 7) & 0x01;
10421 #line 872 "rx-decode.opc"
10422 int m AU = (op[2] >> 6) & 0x01;
10423 #line 872 "rx-decode.opc"
10424 int rdst AU = op[2] & 0x0f;
10427 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10428 "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
10429 op[0], op[1], op[2]);
10430 printf (" i = 0x%x,", i);
10431 printf (" a = 0x%x,", a);
10432 printf (" m = 0x%x,", m);
10433 printf (" rdst = 0x%x\n", rdst);
10435 SYNTAX("mvfaclo #%2, %1, %0");
10436 #line 872 "rx-decode.opc"
10437 ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10444 /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
10445 #line 869 "rx-decode.opc"
10446 int i AU = op[1] & 0x01;
10447 #line 869 "rx-decode.opc"
10448 int a AU = (op[2] >> 7) & 0x01;
10449 #line 869 "rx-decode.opc"
10450 int m AU = (op[2] >> 6) & 0x01;
10451 #line 869 "rx-decode.opc"
10452 int rdst AU = op[2] & 0x0f;
10455 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10456 "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
10457 op[0], op[1], op[2]);
10458 printf (" i = 0x%x,", i);
10459 printf (" a = 0x%x,", a);
10460 printf (" m = 0x%x,", m);
10461 printf (" rdst = 0x%x\n", rdst);
10463 SYNTAX("mvfacmi #%2, %1, %0");
10464 #line 869 "rx-decode.opc"
10465 ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10472 /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
10473 #line 1082 "rx-decode.opc"
10474 int i AU = op[1] & 0x01;
10475 #line 1082 "rx-decode.opc"
10476 int a AU = (op[2] >> 7) & 0x01;
10477 #line 1082 "rx-decode.opc"
10478 int m AU = (op[2] >> 6) & 0x01;
10479 #line 1082 "rx-decode.opc"
10480 int rdst AU = op[2] & 0x0f;
10483 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10484 "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
10485 op[0], op[1], op[2]);
10486 printf (" i = 0x%x,", i);
10487 printf (" a = 0x%x,", a);
10488 printf (" m = 0x%x,", m);
10489 printf (" rdst = 0x%x\n", rdst);
10491 SYNTAX("mvfacgu #%2, %1, %0");
10492 #line 1082 "rx-decode.opc"
10493 ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10501 switch (op[2] & 0x30)
10504 goto op_semantics_83;
10507 goto op_semantics_84;
10510 goto op_semantics_85;
10513 goto op_semantics_86;
10519 switch (op[2] & 0x00)
10524 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
10525 #line 344 "rx-decode.opc"
10526 int p AU = (op[1] >> 2) & 0x01;
10527 #line 344 "rx-decode.opc"
10528 int sz AU = op[1] & 0x03;
10529 #line 344 "rx-decode.opc"
10530 int rdst AU = (op[2] >> 4) & 0x0f;
10531 #line 344 "rx-decode.opc"
10532 int rsrc AU = op[2] & 0x0f;
10535 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10536 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
10537 op[0], op[1], op[2]);
10538 printf (" p = 0x%x,", p);
10539 printf (" sz = 0x%x,", sz);
10540 printf (" rdst = 0x%x,", rdst);
10541 printf (" rsrc = 0x%x\n", rsrc);
10543 SYNTAX("mov%s %1, %0");
10544 #line 344 "rx-decode.opc"
10545 ID(mov); sBWL (sz); SR(rsrc); F_____;
10546 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
10554 switch (op[2] & 0x00)
10557 goto op_semantics_87;
10563 switch (op[2] & 0x00)
10566 goto op_semantics_87;
10572 switch (op[2] & 0x00)
10575 goto op_semantics_87;
10581 switch (op[2] & 0x00)
10584 goto op_semantics_87;
10590 switch (op[2] & 0x00)
10593 goto op_semantics_87;
10599 switch (op[2] & 0x00)
10603 /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
10604 #line 1046 "rx-decode.opc"
10605 int rdst AU = (op[2] >> 4) & 0x0f;
10606 #line 1046 "rx-decode.opc"
10607 int rsrc AU = op[2] & 0x0f;
10610 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10611 "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
10612 op[0], op[1], op[2]);
10613 printf (" rdst = 0x%x,", rdst);
10614 printf (" rsrc = 0x%x\n", rsrc);
10616 SYNTAX("movco %1, [%0]");
10617 #line 1046 "rx-decode.opc"
10618 ID(movco); SR(rsrc); DR(rdst); F_____;
10626 switch (op[2] & 0x00)
10631 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
10632 #line 348 "rx-decode.opc"
10633 int p AU = (op[1] >> 2) & 0x01;
10634 #line 348 "rx-decode.opc"
10635 int sz AU = op[1] & 0x03;
10636 #line 348 "rx-decode.opc"
10637 int rsrc AU = (op[2] >> 4) & 0x0f;
10638 #line 348 "rx-decode.opc"
10639 int rdst AU = op[2] & 0x0f;
10642 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10643 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
10644 op[0], op[1], op[2]);
10645 printf (" p = 0x%x,", p);
10646 printf (" sz = 0x%x,", sz);
10647 printf (" rsrc = 0x%x,", rsrc);
10648 printf (" rdst = 0x%x\n", rdst);
10650 SYNTAX("mov%s %1, %0");
10651 #line 348 "rx-decode.opc"
10652 ID(mov); sBWL (sz); DR(rdst); F_____;
10653 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10661 switch (op[2] & 0x00)
10664 goto op_semantics_88;
10670 switch (op[2] & 0x00)
10673 goto op_semantics_88;
10679 switch (op[2] & 0x00)
10682 goto op_semantics_88;
10688 switch (op[2] & 0x00)
10691 goto op_semantics_88;
10697 switch (op[2] & 0x00)
10700 goto op_semantics_88;
10706 switch (op[2] & 0x00)
10710 /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
10711 #line 1049 "rx-decode.opc"
10712 int rsrc AU = (op[2] >> 4) & 0x0f;
10713 #line 1049 "rx-decode.opc"
10714 int rdst AU = op[2] & 0x0f;
10717 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10718 "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
10719 op[0], op[1], op[2]);
10720 printf (" rsrc = 0x%x,", rsrc);
10721 printf (" rdst = 0x%x\n", rdst);
10723 SYNTAX("movli [%1], %0");
10724 #line 1049 "rx-decode.opc"
10725 ID(movli); SR(rsrc); DR(rdst); F_____;
10733 switch (op[2] & 0x00)
10738 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
10739 #line 358 "rx-decode.opc"
10740 int p AU = (op[1] >> 2) & 0x01;
10741 #line 358 "rx-decode.opc"
10742 int sz AU = op[1] & 0x03;
10743 #line 358 "rx-decode.opc"
10744 int rsrc AU = (op[2] >> 4) & 0x0f;
10745 #line 358 "rx-decode.opc"
10746 int rdst AU = op[2] & 0x0f;
10749 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10750 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
10751 op[0], op[1], op[2]);
10752 printf (" p = 0x%x,", p);
10753 printf (" sz = 0x%x,", sz);
10754 printf (" rsrc = 0x%x,", rsrc);
10755 printf (" rdst = 0x%x\n", rdst);
10757 SYNTAX("movu%s %1, %0");
10758 #line 358 "rx-decode.opc"
10759 ID(mov); uBW (sz); DR(rdst); F_____;
10760 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10762 /*----------------------------------------------------------------------*/
10771 switch (op[2] & 0x00)
10774 goto op_semantics_89;
10780 switch (op[2] & 0x00)
10783 goto op_semantics_89;
10789 switch (op[2] & 0x00)
10792 goto op_semantics_89;
10798 switch (op[2] & 0x00)
10801 goto op_semantics_89;
10807 switch (op[2] & 0x00)
10810 goto op_semantics_89;
10816 switch (op[2] & 0x00)
10821 /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
10822 #line 1070 "rx-decode.opc"
10823 int a AU = (op[1] >> 3) & 0x01;
10824 #line 1070 "rx-decode.opc"
10825 int srca AU = (op[2] >> 4) & 0x0f;
10826 #line 1070 "rx-decode.opc"
10827 int srcb AU = op[2] & 0x0f;
10830 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10831 "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
10832 op[0], op[1], op[2]);
10833 printf (" a = 0x%x,", a);
10834 printf (" srca = 0x%x,", srca);
10835 printf (" srcb = 0x%x\n", srcb);
10837 SYNTAX("msbhi %1, %2, %0");
10838 #line 1070 "rx-decode.opc"
10839 ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
10847 switch (op[2] & 0x00)
10852 /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
10853 #line 1076 "rx-decode.opc"
10854 int a AU = (op[1] >> 3) & 0x01;
10855 #line 1076 "rx-decode.opc"
10856 int srca AU = (op[2] >> 4) & 0x0f;
10857 #line 1076 "rx-decode.opc"
10858 int srcb AU = op[2] & 0x0f;
10861 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10862 "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
10863 op[0], op[1], op[2]);
10864 printf (" a = 0x%x,", a);
10865 printf (" srca = 0x%x,", srca);
10866 printf (" srcb = 0x%x\n", srcb);
10868 SYNTAX("msblo %1, %2, %0");
10869 #line 1076 "rx-decode.opc"
10870 ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
10878 switch (op[2] & 0x00)
10883 /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
10884 #line 1073 "rx-decode.opc"
10885 int a AU = (op[1] >> 3) & 0x01;
10886 #line 1073 "rx-decode.opc"
10887 int srca AU = (op[2] >> 4) & 0x0f;
10888 #line 1073 "rx-decode.opc"
10889 int srcb AU = op[2] & 0x0f;
10892 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10893 "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
10894 op[0], op[1], op[2]);
10895 printf (" a = 0x%x,", a);
10896 printf (" srca = 0x%x,", srca);
10897 printf (" srcb = 0x%x\n", srcb);
10899 SYNTAX("msblh %1, %2, %0");
10900 #line 1073 "rx-decode.opc"
10901 ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
10909 switch (op[2] & 0x00)
10914 /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
10915 #line 1061 "rx-decode.opc"
10916 int a AU = (op[1] >> 3) & 0x01;
10917 #line 1061 "rx-decode.opc"
10918 int srca AU = (op[2] >> 4) & 0x0f;
10919 #line 1061 "rx-decode.opc"
10920 int srcb AU = op[2] & 0x0f;
10923 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10924 "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
10925 op[0], op[1], op[2]);
10926 printf (" a = 0x%x,", a);
10927 printf (" srca = 0x%x,", srca);
10928 printf (" srcb = 0x%x\n", srcb);
10930 SYNTAX("emsba %1, %2, %0");
10931 #line 1061 "rx-decode.opc"
10932 ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
10940 switch (op[2] & 0x00)
10943 goto op_semantics_90;
10949 switch (op[2] & 0x00)
10952 goto op_semantics_91;
10958 switch (op[2] & 0x00)
10961 goto op_semantics_92;
10967 switch (op[2] & 0x00)
10970 goto op_semantics_93;
10976 switch (op[2] & 0x00)
10980 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
10981 #line 729 "rx-decode.opc"
10982 int rsrc AU = (op[2] >> 4) & 0x0f;
10983 #line 729 "rx-decode.opc"
10984 int rdst AU = op[2] & 0x0f;
10987 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10988 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
10989 op[0], op[1], op[2]);
10990 printf (" rsrc = 0x%x,", rsrc);
10991 printf (" rdst = 0x%x\n", rdst);
10993 SYNTAX("shlr %2, %0");
10994 #line 729 "rx-decode.opc"
10995 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
11003 switch (op[2] & 0x00)
11007 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
11008 #line 719 "rx-decode.opc"
11009 int rsrc AU = (op[2] >> 4) & 0x0f;
11010 #line 719 "rx-decode.opc"
11011 int rdst AU = op[2] & 0x0f;
11014 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11015 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
11016 op[0], op[1], op[2]);
11017 printf (" rsrc = 0x%x,", rsrc);
11018 printf (" rdst = 0x%x\n", rdst);
11020 SYNTAX("shar %2, %0");
11021 #line 719 "rx-decode.opc"
11022 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
11030 switch (op[2] & 0x00)
11034 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
11035 #line 709 "rx-decode.opc"
11036 int rsrc AU = (op[2] >> 4) & 0x0f;
11037 #line 709 "rx-decode.opc"
11038 int rdst AU = op[2] & 0x0f;
11041 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11042 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
11043 op[0], op[1], op[2]);
11044 printf (" rsrc = 0x%x,", rsrc);
11045 printf (" rdst = 0x%x\n", rdst);
11047 SYNTAX("shll %2, %0");
11048 #line 709 "rx-decode.opc"
11049 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
11057 switch (op[2] & 0x00)
11061 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
11062 #line 753 "rx-decode.opc"
11063 int rsrc AU = (op[2] >> 4) & 0x0f;
11064 #line 753 "rx-decode.opc"
11065 int rdst AU = op[2] & 0x0f;
11068 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11069 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
11070 op[0], op[1], op[2]);
11071 printf (" rsrc = 0x%x,", rsrc);
11072 printf (" rdst = 0x%x\n", rdst);
11074 SYNTAX("rotr %1, %0");
11075 #line 753 "rx-decode.opc"
11076 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
11084 switch (op[2] & 0x00)
11088 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
11089 #line 756 "rx-decode.opc"
11090 int rsrc AU = (op[2] >> 4) & 0x0f;
11091 #line 756 "rx-decode.opc"
11092 int rdst AU = op[2] & 0x0f;
11095 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11096 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
11097 op[0], op[1], op[2]);
11098 printf (" rsrc = 0x%x,", rsrc);
11099 printf (" rdst = 0x%x\n", rdst);
11101 SYNTAX("revw %1, %0");
11102 #line 756 "rx-decode.opc"
11103 ID(revw); SR(rsrc); DR(rdst);
11111 switch (op[2] & 0x00)
11115 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
11116 #line 747 "rx-decode.opc"
11117 int rsrc AU = (op[2] >> 4) & 0x0f;
11118 #line 747 "rx-decode.opc"
11119 int rdst AU = op[2] & 0x0f;
11122 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11123 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
11124 op[0], op[1], op[2]);
11125 printf (" rsrc = 0x%x,", rsrc);
11126 printf (" rdst = 0x%x\n", rdst);
11128 SYNTAX("rotl %1, %0");
11129 #line 747 "rx-decode.opc"
11130 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
11138 switch (op[2] & 0x00)
11142 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
11143 #line 759 "rx-decode.opc"
11144 int rsrc AU = (op[2] >> 4) & 0x0f;
11145 #line 759 "rx-decode.opc"
11146 int rdst AU = op[2] & 0x0f;
11149 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11150 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
11151 op[0], op[1], op[2]);
11152 printf (" rsrc = 0x%x,", rsrc);
11153 printf (" rdst = 0x%x\n", rdst);
11155 SYNTAX("revl %1, %0");
11156 #line 759 "rx-decode.opc"
11157 ID(revl); SR(rsrc); DR(rdst);
11159 /*----------------------------------------------------------------------*/
11168 switch (op[2] & 0x00)
11173 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
11174 #line 1010 "rx-decode.opc"
11175 int c AU = op[1] & 0x01;
11176 #line 1010 "rx-decode.opc"
11177 int rsrc AU = (op[2] >> 4) & 0x0f;
11178 #line 1010 "rx-decode.opc"
11179 int rdst AU = op[2] & 0x0f;
11182 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11183 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
11184 op[0], op[1], op[2]);
11185 printf (" c = 0x%x,", c);
11186 printf (" rsrc = 0x%x,", rsrc);
11187 printf (" rdst = 0x%x\n", rdst);
11189 SYNTAX("mvtc %1, %0");
11190 #line 1010 "rx-decode.opc"
11191 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
11199 switch (op[2] & 0x00)
11202 goto op_semantics_94;
11208 switch (op[2] & 0x00)
11213 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
11214 #line 1013 "rx-decode.opc"
11215 int s AU = op[1] & 0x01;
11216 #line 1013 "rx-decode.opc"
11217 int rsrc AU = (op[2] >> 4) & 0x0f;
11218 #line 1013 "rx-decode.opc"
11219 int rdst AU = op[2] & 0x0f;
11222 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11223 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
11224 op[0], op[1], op[2]);
11225 printf (" s = 0x%x,", s);
11226 printf (" rsrc = 0x%x,", rsrc);
11227 printf (" rdst = 0x%x\n", rdst);
11229 SYNTAX("mvfc %1, %0");
11230 #line 1013 "rx-decode.opc"
11231 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
11233 /*----------------------------------------------------------------------*/
11242 switch (op[2] & 0x00)
11245 goto op_semantics_95;
11251 switch (op[2] & 0x00)
11256 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
11257 #line 750 "rx-decode.opc"
11258 int i AU = op[1] & 0x01;
11259 #line 750 "rx-decode.opc"
11260 int mmmm AU = (op[2] >> 4) & 0x0f;
11261 #line 750 "rx-decode.opc"
11262 int rdst AU = op[2] & 0x0f;
11265 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11266 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
11267 op[0], op[1], op[2]);
11268 printf (" i = 0x%x,", i);
11269 printf (" mmmm = 0x%x,", mmmm);
11270 printf (" rdst = 0x%x\n", rdst);
11272 SYNTAX("rotr #%1, %0");
11273 #line 750 "rx-decode.opc"
11274 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
11282 switch (op[2] & 0x00)
11285 goto op_semantics_96;
11291 switch (op[2] & 0x00)
11296 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
11297 #line 744 "rx-decode.opc"
11298 int i AU = op[1] & 0x01;
11299 #line 744 "rx-decode.opc"
11300 int mmmm AU = (op[2] >> 4) & 0x0f;
11301 #line 744 "rx-decode.opc"
11302 int rdst AU = op[2] & 0x0f;
11305 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11306 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
11307 op[0], op[1], op[2]);
11308 printf (" i = 0x%x,", i);
11309 printf (" mmmm = 0x%x,", mmmm);
11310 printf (" rdst = 0x%x\n", rdst);
11312 SYNTAX("rotl #%1, %0");
11313 #line 744 "rx-decode.opc"
11314 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
11322 switch (op[2] & 0x00)
11325 goto op_semantics_97;
11331 switch (op[2] & 0xf0)
11336 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
11337 #line 488 "rx-decode.opc"
11338 int im AU = (op[1] >> 2) & 0x03;
11339 #line 488 "rx-decode.opc"
11340 int rdst AU = op[2] & 0x0f;
11343 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11344 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
11345 op[0], op[1], op[2]);
11346 printf (" im = 0x%x,", im);
11347 printf (" rdst = 0x%x\n", rdst);
11349 SYNTAX("adc #%1, %0");
11350 #line 488 "rx-decode.opc"
11351 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
11358 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
11359 #line 570 "rx-decode.opc"
11360 int im AU = (op[1] >> 2) & 0x03;
11361 #line 570 "rx-decode.opc"
11362 int rdst AU = op[2] & 0x0f;
11365 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11366 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
11367 op[0], op[1], op[2]);
11368 printf (" im = 0x%x,", im);
11369 printf (" rdst = 0x%x\n", rdst);
11371 SYNTAX("max #%1, %0");
11372 #line 570 "rx-decode.opc"
11373 int val = IMMex (im);
11374 if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
11377 SYNTAX("nop\t; max\t#0x80000000, r0");
11390 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
11391 #line 600 "rx-decode.opc"
11392 int im AU = (op[1] >> 2) & 0x03;
11393 #line 600 "rx-decode.opc"
11394 int rdst AU = op[2] & 0x0f;
11397 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11398 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
11399 op[0], op[1], op[2]);
11400 printf (" im = 0x%x,", im);
11401 printf (" rdst = 0x%x\n", rdst);
11403 SYNTAX("min #%1, %0");
11404 #line 600 "rx-decode.opc"
11405 ID(min); DR(rdst); SC(IMMex(im));
11412 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
11413 #line 658 "rx-decode.opc"
11414 int im AU = (op[1] >> 2) & 0x03;
11415 #line 658 "rx-decode.opc"
11416 int rdst AU = op[2] & 0x0f;
11419 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11420 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
11421 op[0], op[1], op[2]);
11422 printf (" im = 0x%x,", im);
11423 printf (" rdst = 0x%x\n", rdst);
11425 SYNTAX("emul #%1, %0");
11426 #line 658 "rx-decode.opc"
11427 ID(emul); DR(rdst); SC(IMMex(im));
11434 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
11435 #line 670 "rx-decode.opc"
11436 int im AU = (op[1] >> 2) & 0x03;
11437 #line 670 "rx-decode.opc"
11438 int rdst AU = op[2] & 0x0f;
11441 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11442 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
11443 op[0], op[1], op[2]);
11444 printf (" im = 0x%x,", im);
11445 printf (" rdst = 0x%x\n", rdst);
11447 SYNTAX("emulu #%1, %0");
11448 #line 670 "rx-decode.opc"
11449 ID(emulu); DR(rdst); SC(IMMex(im));
11456 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
11457 #line 682 "rx-decode.opc"
11458 int im AU = (op[1] >> 2) & 0x03;
11459 #line 682 "rx-decode.opc"
11460 int rdst AU = op[2] & 0x0f;
11463 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11464 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
11465 op[0], op[1], op[2]);
11466 printf (" im = 0x%x,", im);
11467 printf (" rdst = 0x%x\n", rdst);
11469 SYNTAX("div #%1, %0");
11470 #line 682 "rx-decode.opc"
11471 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
11478 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
11479 #line 694 "rx-decode.opc"
11480 int im AU = (op[1] >> 2) & 0x03;
11481 #line 694 "rx-decode.opc"
11482 int rdst AU = op[2] & 0x0f;
11485 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11486 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
11487 op[0], op[1], op[2]);
11488 printf (" im = 0x%x,", im);
11489 printf (" rdst = 0x%x\n", rdst);
11491 SYNTAX("divu #%1, %0");
11492 #line 694 "rx-decode.opc"
11493 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
11500 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
11501 #line 467 "rx-decode.opc"
11502 int im AU = (op[1] >> 2) & 0x03;
11503 #line 467 "rx-decode.opc"
11504 int rdst AU = op[2] & 0x0f;
11507 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11508 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
11509 op[0], op[1], op[2]);
11510 printf (" im = 0x%x,", im);
11511 printf (" rdst = 0x%x\n", rdst);
11513 SYNTAX("tst #%1, %2");
11514 #line 467 "rx-decode.opc"
11515 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
11522 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
11523 #line 446 "rx-decode.opc"
11524 int im AU = (op[1] >> 2) & 0x03;
11525 #line 446 "rx-decode.opc"
11526 int rdst AU = op[2] & 0x0f;
11529 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11530 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
11531 op[0], op[1], op[2]);
11532 printf (" im = 0x%x,", im);
11533 printf (" rdst = 0x%x\n", rdst);
11535 SYNTAX("xor #%1, %0");
11536 #line 446 "rx-decode.opc"
11537 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
11544 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
11545 #line 392 "rx-decode.opc"
11546 int im AU = (op[1] >> 2) & 0x03;
11547 #line 392 "rx-decode.opc"
11548 int rdst AU = op[2] & 0x0f;
11551 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11552 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
11553 op[0], op[1], op[2]);
11554 printf (" im = 0x%x,", im);
11555 printf (" rdst = 0x%x\n", rdst);
11557 SYNTAX("stz #%1, %0");
11558 #line 392 "rx-decode.opc"
11559 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
11566 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
11567 #line 395 "rx-decode.opc"
11568 int im AU = (op[1] >> 2) & 0x03;
11569 #line 395 "rx-decode.opc"
11570 int rdst AU = op[2] & 0x0f;
11573 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11574 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
11575 op[0], op[1], op[2]);
11576 printf (" im = 0x%x,", im);
11577 printf (" rdst = 0x%x\n", rdst);
11579 SYNTAX("stnz #%1, %0");
11580 #line 395 "rx-decode.opc"
11581 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
11583 /*----------------------------------------------------------------------*/
11588 default: UNSUPPORTED(); break;
11593 switch (op[2] & 0xf0)
11597 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
11598 #line 902 "rx-decode.opc"
11599 int rdst AU = op[2] & 0x0f;
11602 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11603 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
11604 op[0], op[1], op[2]);
11605 printf (" rdst = 0x%x\n", rdst);
11607 SYNTAX("fsub #%1, %0");
11608 #line 902 "rx-decode.opc"
11609 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
11615 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
11616 #line 896 "rx-decode.opc"
11617 int rdst AU = op[2] & 0x0f;
11620 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11621 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
11622 op[0], op[1], op[2]);
11623 printf (" rdst = 0x%x\n", rdst);
11625 SYNTAX("fcmp #%1, %0");
11626 #line 896 "rx-decode.opc"
11627 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
11633 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
11634 #line 890 "rx-decode.opc"
11635 int rdst AU = op[2] & 0x0f;
11638 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11639 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
11640 op[0], op[1], op[2]);
11641 printf (" rdst = 0x%x\n", rdst);
11643 SYNTAX("fadd #%1, %0");
11644 #line 890 "rx-decode.opc"
11645 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
11651 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
11652 #line 911 "rx-decode.opc"
11653 int rdst AU = op[2] & 0x0f;
11656 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11657 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
11658 op[0], op[1], op[2]);
11659 printf (" rdst = 0x%x\n", rdst);
11661 SYNTAX("fmul #%1, %0");
11662 #line 911 "rx-decode.opc"
11663 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
11669 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
11670 #line 917 "rx-decode.opc"
11671 int rdst AU = op[2] & 0x0f;
11674 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11675 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
11676 op[0], op[1], op[2]);
11677 printf (" rdst = 0x%x\n", rdst);
11679 SYNTAX("fdiv #%1, %0");
11680 #line 917 "rx-decode.opc"
11681 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
11685 default: UNSUPPORTED(); break;
11690 switch (op[2] & 0xe0)
11695 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
11696 #line 1007 "rx-decode.opc"
11697 int im AU = (op[1] >> 2) & 0x03;
11698 #line 1007 "rx-decode.opc"
11699 int crdst AU = op[2] & 0x1f;
11702 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11703 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
11704 op[0], op[1], op[2]);
11705 printf (" im = 0x%x,", im);
11706 printf (" crdst = 0x%x\n", crdst);
11708 SYNTAX("mvtc #%1, %0");
11709 #line 1007 "rx-decode.opc"
11710 ID(mov); SC(IMMex(im)); DR(crdst + 16);
11714 default: UNSUPPORTED(); break;
11719 switch (op[2] & 0xf0)
11722 goto op_semantics_98;
11725 goto op_semantics_99;
11728 goto op_semantics_100;
11731 goto op_semantics_101;
11734 goto op_semantics_102;
11737 goto op_semantics_103;
11740 goto op_semantics_104;
11743 goto op_semantics_105;
11746 goto op_semantics_106;
11749 goto op_semantics_107;
11752 goto op_semantics_108;
11754 default: UNSUPPORTED(); break;
11759 switch (op[2] & 0xe0)
11762 goto op_semantics_109;
11764 default: UNSUPPORTED(); break;
11769 switch (op[2] & 0xf0)
11772 goto op_semantics_98;
11775 goto op_semantics_99;
11778 goto op_semantics_100;
11781 goto op_semantics_101;
11784 goto op_semantics_102;
11787 goto op_semantics_103;
11790 goto op_semantics_104;
11793 goto op_semantics_105;
11796 goto op_semantics_106;
11799 goto op_semantics_107;
11802 goto op_semantics_108;
11804 default: UNSUPPORTED(); break;
11809 switch (op[2] & 0xe0)
11812 goto op_semantics_109;
11814 default: UNSUPPORTED(); break;
11819 switch (op[2] & 0xf0)
11822 goto op_semantics_98;
11825 goto op_semantics_99;
11828 goto op_semantics_100;
11831 goto op_semantics_101;
11834 goto op_semantics_102;
11837 goto op_semantics_103;
11840 goto op_semantics_104;
11843 goto op_semantics_105;
11846 goto op_semantics_106;
11849 goto op_semantics_107;
11852 goto op_semantics_108;
11854 default: UNSUPPORTED(); break;
11859 switch (op[2] & 0xe0)
11862 goto op_semantics_109;
11864 default: UNSUPPORTED(); break;
11869 switch (op[2] & 0x00)
11874 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
11875 #line 732 "rx-decode.opc"
11876 int immmm AU = op[1] & 0x1f;
11877 #line 732 "rx-decode.opc"
11878 int rsrc AU = (op[2] >> 4) & 0x0f;
11879 #line 732 "rx-decode.opc"
11880 int rdst AU = op[2] & 0x0f;
11883 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11884 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
11885 op[0], op[1], op[2]);
11886 printf (" immmm = 0x%x,", immmm);
11887 printf (" rsrc = 0x%x,", rsrc);
11888 printf (" rdst = 0x%x\n", rdst);
11890 SYNTAX("shlr #%2, %1, %0");
11891 #line 732 "rx-decode.opc"
11892 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
11894 /*----------------------------------------------------------------------*/
11903 switch (op[2] & 0x00)
11906 goto op_semantics_110;
11912 switch (op[2] & 0x00)
11915 goto op_semantics_110;
11921 switch (op[2] & 0x00)
11924 goto op_semantics_110;
11930 switch (op[2] & 0x00)
11933 goto op_semantics_110;
11939 switch (op[2] & 0x00)
11942 goto op_semantics_110;
11948 switch (op[2] & 0x00)
11951 goto op_semantics_110;
11957 switch (op[2] & 0x00)
11960 goto op_semantics_110;
11966 switch (op[2] & 0x00)
11969 goto op_semantics_110;
11975 switch (op[2] & 0x00)
11978 goto op_semantics_110;
11984 switch (op[2] & 0x00)
11987 goto op_semantics_110;
11993 switch (op[2] & 0x00)
11996 goto op_semantics_110;
12002 switch (op[2] & 0x00)
12005 goto op_semantics_110;
12011 switch (op[2] & 0x00)
12014 goto op_semantics_110;
12020 switch (op[2] & 0x00)
12023 goto op_semantics_110;
12029 switch (op[2] & 0x00)
12032 goto op_semantics_110;
12038 switch (op[2] & 0x00)
12041 goto op_semantics_110;
12047 switch (op[2] & 0x00)
12050 goto op_semantics_110;
12056 switch (op[2] & 0x00)
12059 goto op_semantics_110;
12065 switch (op[2] & 0x00)
12068 goto op_semantics_110;
12074 switch (op[2] & 0x00)
12077 goto op_semantics_110;
12083 switch (op[2] & 0x00)
12086 goto op_semantics_110;
12092 switch (op[2] & 0x00)
12095 goto op_semantics_110;
12101 switch (op[2] & 0x00)
12104 goto op_semantics_110;
12110 switch (op[2] & 0x00)
12113 goto op_semantics_110;
12119 switch (op[2] & 0x00)
12122 goto op_semantics_110;
12128 switch (op[2] & 0x00)
12131 goto op_semantics_110;
12137 switch (op[2] & 0x00)
12140 goto op_semantics_110;
12146 switch (op[2] & 0x00)
12149 goto op_semantics_110;
12155 switch (op[2] & 0x00)
12158 goto op_semantics_110;
12164 switch (op[2] & 0x00)
12167 goto op_semantics_110;
12173 switch (op[2] & 0x00)
12176 goto op_semantics_110;
12182 switch (op[2] & 0x00)
12187 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
12188 #line 722 "rx-decode.opc"
12189 int immmm AU = op[1] & 0x1f;
12190 #line 722 "rx-decode.opc"
12191 int rsrc AU = (op[2] >> 4) & 0x0f;
12192 #line 722 "rx-decode.opc"
12193 int rdst AU = op[2] & 0x0f;
12196 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12197 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
12198 op[0], op[1], op[2]);
12199 printf (" immmm = 0x%x,", immmm);
12200 printf (" rsrc = 0x%x,", rsrc);
12201 printf (" rdst = 0x%x\n", rdst);
12203 SYNTAX("shar #%2, %1, %0");
12204 #line 722 "rx-decode.opc"
12205 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
12214 switch (op[2] & 0x00)
12217 goto op_semantics_111;
12223 switch (op[2] & 0x00)
12226 goto op_semantics_111;
12232 switch (op[2] & 0x00)
12235 goto op_semantics_111;
12241 switch (op[2] & 0x00)
12244 goto op_semantics_111;
12250 switch (op[2] & 0x00)
12253 goto op_semantics_111;
12259 switch (op[2] & 0x00)
12262 goto op_semantics_111;
12268 switch (op[2] & 0x00)
12271 goto op_semantics_111;
12277 switch (op[2] & 0x00)
12280 goto op_semantics_111;
12286 switch (op[2] & 0x00)
12289 goto op_semantics_111;
12295 switch (op[2] & 0x00)
12298 goto op_semantics_111;
12304 switch (op[2] & 0x00)
12307 goto op_semantics_111;
12313 switch (op[2] & 0x00)
12316 goto op_semantics_111;
12322 switch (op[2] & 0x00)
12325 goto op_semantics_111;
12331 switch (op[2] & 0x00)
12334 goto op_semantics_111;
12340 switch (op[2] & 0x00)
12343 goto op_semantics_111;
12349 switch (op[2] & 0x00)
12352 goto op_semantics_111;
12358 switch (op[2] & 0x00)
12361 goto op_semantics_111;
12367 switch (op[2] & 0x00)
12370 goto op_semantics_111;
12376 switch (op[2] & 0x00)
12379 goto op_semantics_111;
12385 switch (op[2] & 0x00)
12388 goto op_semantics_111;
12394 switch (op[2] & 0x00)
12397 goto op_semantics_111;
12403 switch (op[2] & 0x00)
12406 goto op_semantics_111;
12412 switch (op[2] & 0x00)
12415 goto op_semantics_111;
12421 switch (op[2] & 0x00)
12424 goto op_semantics_111;
12430 switch (op[2] & 0x00)
12433 goto op_semantics_111;
12439 switch (op[2] & 0x00)
12442 goto op_semantics_111;
12448 switch (op[2] & 0x00)
12451 goto op_semantics_111;
12457 switch (op[2] & 0x00)
12460 goto op_semantics_111;
12466 switch (op[2] & 0x00)
12469 goto op_semantics_111;
12475 switch (op[2] & 0x00)
12478 goto op_semantics_111;
12484 switch (op[2] & 0x00)
12487 goto op_semantics_111;
12493 switch (op[2] & 0x00)
12498 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
12499 #line 712 "rx-decode.opc"
12500 int immmm AU = op[1] & 0x1f;
12501 #line 712 "rx-decode.opc"
12502 int rsrc AU = (op[2] >> 4) & 0x0f;
12503 #line 712 "rx-decode.opc"
12504 int rdst AU = op[2] & 0x0f;
12507 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12508 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
12509 op[0], op[1], op[2]);
12510 printf (" immmm = 0x%x,", immmm);
12511 printf (" rsrc = 0x%x,", rsrc);
12512 printf (" rdst = 0x%x\n", rdst);
12514 SYNTAX("shll #%2, %1, %0");
12515 #line 712 "rx-decode.opc"
12516 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
12525 switch (op[2] & 0x00)
12528 goto op_semantics_112;
12534 switch (op[2] & 0x00)
12537 goto op_semantics_112;
12543 switch (op[2] & 0x00)
12546 goto op_semantics_112;
12552 switch (op[2] & 0x00)
12555 goto op_semantics_112;
12561 switch (op[2] & 0x00)
12564 goto op_semantics_112;
12570 switch (op[2] & 0x00)
12573 goto op_semantics_112;
12579 switch (op[2] & 0x00)
12582 goto op_semantics_112;
12588 switch (op[2] & 0x00)
12591 goto op_semantics_112;
12597 switch (op[2] & 0x00)
12600 goto op_semantics_112;
12606 switch (op[2] & 0x00)
12609 goto op_semantics_112;
12615 switch (op[2] & 0x00)
12618 goto op_semantics_112;
12624 switch (op[2] & 0x00)
12627 goto op_semantics_112;
12633 switch (op[2] & 0x00)
12636 goto op_semantics_112;
12642 switch (op[2] & 0x00)
12645 goto op_semantics_112;
12651 switch (op[2] & 0x00)
12654 goto op_semantics_112;
12660 switch (op[2] & 0x00)
12663 goto op_semantics_112;
12669 switch (op[2] & 0x00)
12672 goto op_semantics_112;
12678 switch (op[2] & 0x00)
12681 goto op_semantics_112;
12687 switch (op[2] & 0x00)
12690 goto op_semantics_112;
12696 switch (op[2] & 0x00)
12699 goto op_semantics_112;
12705 switch (op[2] & 0x00)
12708 goto op_semantics_112;
12714 switch (op[2] & 0x00)
12717 goto op_semantics_112;
12723 switch (op[2] & 0x00)
12726 goto op_semantics_112;
12732 switch (op[2] & 0x00)
12735 goto op_semantics_112;
12741 switch (op[2] & 0x00)
12744 goto op_semantics_112;
12750 switch (op[2] & 0x00)
12753 goto op_semantics_112;
12759 switch (op[2] & 0x00)
12762 goto op_semantics_112;
12768 switch (op[2] & 0x00)
12771 goto op_semantics_112;
12777 switch (op[2] & 0x00)
12780 goto op_semantics_112;
12786 switch (op[2] & 0x00)
12789 goto op_semantics_112;
12795 switch (op[2] & 0x00)
12798 goto op_semantics_112;
12804 switch (op[2] & 0xf0)
12823 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
12824 #line 986 "rx-decode.opc"
12825 int bittt AU = op[1] & 0x1f;
12826 #line 986 "rx-decode.opc"
12827 int cond AU = (op[2] >> 4) & 0x0f;
12828 #line 986 "rx-decode.opc"
12829 int rdst AU = op[2] & 0x0f;
12832 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12833 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
12834 op[0], op[1], op[2]);
12835 printf (" bittt = 0x%x,", bittt);
12836 printf (" cond = 0x%x,", cond);
12837 printf (" rdst = 0x%x\n", rdst);
12839 SYNTAX("bm%2 #%1, %0%S0");
12840 #line 986 "rx-decode.opc"
12841 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
12843 /*----------------------------------------------------------------------*/
12844 /* CONTROL REGISTERS */
12851 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
12852 #line 979 "rx-decode.opc"
12853 int bittt AU = op[1] & 0x1f;
12854 #line 979 "rx-decode.opc"
12855 int rdst AU = op[2] & 0x0f;
12858 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12859 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
12860 op[0], op[1], op[2]);
12861 printf (" bittt = 0x%x,", bittt);
12862 printf (" rdst = 0x%x\n", rdst);
12864 SYNTAX("bnot #%1, %0");
12865 #line 979 "rx-decode.opc"
12866 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
12875 switch (op[2] & 0xf0)
12892 goto op_semantics_113;
12895 goto op_semantics_114;
12901 switch (op[2] & 0xf0)
12918 goto op_semantics_113;
12921 goto op_semantics_114;
12927 switch (op[2] & 0xf0)
12944 goto op_semantics_113;
12947 goto op_semantics_114;
12953 switch (op[2] & 0xf0)
12970 goto op_semantics_113;
12973 goto op_semantics_114;
12979 switch (op[2] & 0xf0)
12996 goto op_semantics_113;
12999 goto op_semantics_114;
13005 switch (op[2] & 0xf0)
13022 goto op_semantics_113;
13025 goto op_semantics_114;
13031 switch (op[2] & 0xf0)
13048 goto op_semantics_113;
13051 goto op_semantics_114;
13057 switch (op[2] & 0xf0)
13074 goto op_semantics_113;
13077 goto op_semantics_114;
13083 switch (op[2] & 0xf0)
13100 goto op_semantics_113;
13103 goto op_semantics_114;
13109 switch (op[2] & 0xf0)
13126 goto op_semantics_113;
13129 goto op_semantics_114;
13135 switch (op[2] & 0xf0)
13152 goto op_semantics_113;
13155 goto op_semantics_114;
13161 switch (op[2] & 0xf0)
13178 goto op_semantics_113;
13181 goto op_semantics_114;
13187 switch (op[2] & 0xf0)
13204 goto op_semantics_113;
13207 goto op_semantics_114;
13213 switch (op[2] & 0xf0)
13230 goto op_semantics_113;
13233 goto op_semantics_114;
13239 switch (op[2] & 0xf0)
13256 goto op_semantics_113;
13259 goto op_semantics_114;
13265 switch (op[2] & 0xf0)
13282 goto op_semantics_113;
13285 goto op_semantics_114;
13291 switch (op[2] & 0xf0)
13308 goto op_semantics_113;
13311 goto op_semantics_114;
13317 switch (op[2] & 0xf0)
13334 goto op_semantics_113;
13337 goto op_semantics_114;
13343 switch (op[2] & 0xf0)
13360 goto op_semantics_113;
13363 goto op_semantics_114;
13369 switch (op[2] & 0xf0)
13386 goto op_semantics_113;
13389 goto op_semantics_114;
13395 switch (op[2] & 0xf0)
13412 goto op_semantics_113;
13415 goto op_semantics_114;
13421 switch (op[2] & 0xf0)
13438 goto op_semantics_113;
13441 goto op_semantics_114;
13447 switch (op[2] & 0xf0)
13464 goto op_semantics_113;
13467 goto op_semantics_114;
13473 switch (op[2] & 0xf0)
13490 goto op_semantics_113;
13493 goto op_semantics_114;
13499 switch (op[2] & 0xf0)
13516 goto op_semantics_113;
13519 goto op_semantics_114;
13525 switch (op[2] & 0xf0)
13542 goto op_semantics_113;
13545 goto op_semantics_114;
13551 switch (op[2] & 0xf0)
13568 goto op_semantics_113;
13571 goto op_semantics_114;
13577 switch (op[2] & 0xf0)
13594 goto op_semantics_113;
13597 goto op_semantics_114;
13603 switch (op[2] & 0xf0)
13620 goto op_semantics_113;
13623 goto op_semantics_114;
13629 switch (op[2] & 0xf0)
13646 goto op_semantics_113;
13649 goto op_semantics_114;
13655 switch (op[2] & 0xf0)
13672 goto op_semantics_113;
13675 goto op_semantics_114;
13679 default: UNSUPPORTED(); break;
13684 switch (op[1] & 0xff)
13688 switch (op[2] & 0x00)
13693 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
13694 #line 338 "rx-decode.opc"
13695 int sz AU = (op[1] >> 4) & 0x03;
13696 #line 338 "rx-decode.opc"
13697 int isrc AU = op[1] & 0x0f;
13698 #line 338 "rx-decode.opc"
13699 int bsrc AU = (op[2] >> 4) & 0x0f;
13700 #line 338 "rx-decode.opc"
13701 int rdst AU = op[2] & 0x0f;
13704 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13705 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
13706 op[0], op[1], op[2]);
13707 printf (" sz = 0x%x,", sz);
13708 printf (" isrc = 0x%x,", isrc);
13709 printf (" bsrc = 0x%x,", bsrc);
13710 printf (" rdst = 0x%x\n", rdst);
13712 SYNTAX("mov%s %0, [%1, %2]");
13713 #line 338 "rx-decode.opc"
13714 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13722 switch (op[2] & 0x00)
13725 goto op_semantics_115;
13731 switch (op[2] & 0x00)
13734 goto op_semantics_115;
13740 switch (op[2] & 0x00)
13743 goto op_semantics_115;
13749 switch (op[2] & 0x00)
13752 goto op_semantics_115;
13758 switch (op[2] & 0x00)
13761 goto op_semantics_115;
13767 switch (op[2] & 0x00)
13770 goto op_semantics_115;
13776 switch (op[2] & 0x00)
13779 goto op_semantics_115;
13785 switch (op[2] & 0x00)
13788 goto op_semantics_115;
13794 switch (op[2] & 0x00)
13797 goto op_semantics_115;
13803 switch (op[2] & 0x00)
13806 goto op_semantics_115;
13812 switch (op[2] & 0x00)
13815 goto op_semantics_115;
13821 switch (op[2] & 0x00)
13824 goto op_semantics_115;
13830 switch (op[2] & 0x00)
13833 goto op_semantics_115;
13839 switch (op[2] & 0x00)
13842 goto op_semantics_115;
13848 switch (op[2] & 0x00)
13851 goto op_semantics_115;
13857 switch (op[2] & 0x00)
13860 goto op_semantics_115;
13866 switch (op[2] & 0x00)
13869 goto op_semantics_115;
13875 switch (op[2] & 0x00)
13878 goto op_semantics_115;
13884 switch (op[2] & 0x00)
13887 goto op_semantics_115;
13893 switch (op[2] & 0x00)
13896 goto op_semantics_115;
13902 switch (op[2] & 0x00)
13905 goto op_semantics_115;
13911 switch (op[2] & 0x00)
13914 goto op_semantics_115;
13920 switch (op[2] & 0x00)
13923 goto op_semantics_115;
13929 switch (op[2] & 0x00)
13932 goto op_semantics_115;
13938 switch (op[2] & 0x00)
13941 goto op_semantics_115;
13947 switch (op[2] & 0x00)
13950 goto op_semantics_115;
13956 switch (op[2] & 0x00)
13959 goto op_semantics_115;
13965 switch (op[2] & 0x00)
13968 goto op_semantics_115;
13974 switch (op[2] & 0x00)
13977 goto op_semantics_115;
13983 switch (op[2] & 0x00)
13986 goto op_semantics_115;
13992 switch (op[2] & 0x00)
13995 goto op_semantics_115;
14001 switch (op[2] & 0x00)
14004 goto op_semantics_115;
14010 switch (op[2] & 0x00)
14013 goto op_semantics_115;
14019 switch (op[2] & 0x00)
14022 goto op_semantics_115;
14028 switch (op[2] & 0x00)
14031 goto op_semantics_115;
14037 switch (op[2] & 0x00)
14040 goto op_semantics_115;
14046 switch (op[2] & 0x00)
14049 goto op_semantics_115;
14055 switch (op[2] & 0x00)
14058 goto op_semantics_115;
14064 switch (op[2] & 0x00)
14067 goto op_semantics_115;
14073 switch (op[2] & 0x00)
14076 goto op_semantics_115;
14082 switch (op[2] & 0x00)
14085 goto op_semantics_115;
14091 switch (op[2] & 0x00)
14094 goto op_semantics_115;
14100 switch (op[2] & 0x00)
14103 goto op_semantics_115;
14109 switch (op[2] & 0x00)
14112 goto op_semantics_115;
14118 switch (op[2] & 0x00)
14121 goto op_semantics_115;
14127 switch (op[2] & 0x00)
14130 goto op_semantics_115;
14136 switch (op[2] & 0x00)
14139 goto op_semantics_115;
14145 switch (op[2] & 0x00)
14150 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
14151 #line 335 "rx-decode.opc"
14152 int sz AU = (op[1] >> 4) & 0x03;
14153 #line 335 "rx-decode.opc"
14154 int isrc AU = op[1] & 0x0f;
14155 #line 335 "rx-decode.opc"
14156 int bsrc AU = (op[2] >> 4) & 0x0f;
14157 #line 335 "rx-decode.opc"
14158 int rdst AU = op[2] & 0x0f;
14161 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14162 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
14163 op[0], op[1], op[2]);
14164 printf (" sz = 0x%x,", sz);
14165 printf (" isrc = 0x%x,", isrc);
14166 printf (" bsrc = 0x%x,", bsrc);
14167 printf (" rdst = 0x%x\n", rdst);
14169 SYNTAX("mov%s [%1, %2], %0");
14170 #line 335 "rx-decode.opc"
14171 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14179 switch (op[2] & 0x00)
14182 goto op_semantics_116;
14188 switch (op[2] & 0x00)
14191 goto op_semantics_116;
14197 switch (op[2] & 0x00)
14200 goto op_semantics_116;
14206 switch (op[2] & 0x00)
14209 goto op_semantics_116;
14215 switch (op[2] & 0x00)
14218 goto op_semantics_116;
14224 switch (op[2] & 0x00)
14227 goto op_semantics_116;
14233 switch (op[2] & 0x00)
14236 goto op_semantics_116;
14242 switch (op[2] & 0x00)
14245 goto op_semantics_116;
14251 switch (op[2] & 0x00)
14254 goto op_semantics_116;
14260 switch (op[2] & 0x00)
14263 goto op_semantics_116;
14269 switch (op[2] & 0x00)
14272 goto op_semantics_116;
14278 switch (op[2] & 0x00)
14281 goto op_semantics_116;
14287 switch (op[2] & 0x00)
14290 goto op_semantics_116;
14296 switch (op[2] & 0x00)
14299 goto op_semantics_116;
14305 switch (op[2] & 0x00)
14308 goto op_semantics_116;
14314 switch (op[2] & 0x00)
14317 goto op_semantics_116;
14323 switch (op[2] & 0x00)
14326 goto op_semantics_116;
14332 switch (op[2] & 0x00)
14335 goto op_semantics_116;
14341 switch (op[2] & 0x00)
14344 goto op_semantics_116;
14350 switch (op[2] & 0x00)
14353 goto op_semantics_116;
14359 switch (op[2] & 0x00)
14362 goto op_semantics_116;
14368 switch (op[2] & 0x00)
14371 goto op_semantics_116;
14377 switch (op[2] & 0x00)
14380 goto op_semantics_116;
14386 switch (op[2] & 0x00)
14389 goto op_semantics_116;
14395 switch (op[2] & 0x00)
14398 goto op_semantics_116;
14404 switch (op[2] & 0x00)
14407 goto op_semantics_116;
14413 switch (op[2] & 0x00)
14416 goto op_semantics_116;
14422 switch (op[2] & 0x00)
14425 goto op_semantics_116;
14431 switch (op[2] & 0x00)
14434 goto op_semantics_116;
14440 switch (op[2] & 0x00)
14443 goto op_semantics_116;
14449 switch (op[2] & 0x00)
14452 goto op_semantics_116;
14458 switch (op[2] & 0x00)
14461 goto op_semantics_116;
14467 switch (op[2] & 0x00)
14470 goto op_semantics_116;
14476 switch (op[2] & 0x00)
14479 goto op_semantics_116;
14485 switch (op[2] & 0x00)
14488 goto op_semantics_116;
14494 switch (op[2] & 0x00)
14497 goto op_semantics_116;
14503 switch (op[2] & 0x00)
14506 goto op_semantics_116;
14512 switch (op[2] & 0x00)
14515 goto op_semantics_116;
14521 switch (op[2] & 0x00)
14524 goto op_semantics_116;
14530 switch (op[2] & 0x00)
14533 goto op_semantics_116;
14539 switch (op[2] & 0x00)
14542 goto op_semantics_116;
14548 switch (op[2] & 0x00)
14551 goto op_semantics_116;
14557 switch (op[2] & 0x00)
14560 goto op_semantics_116;
14566 switch (op[2] & 0x00)
14569 goto op_semantics_116;
14575 switch (op[2] & 0x00)
14578 goto op_semantics_116;
14584 switch (op[2] & 0x00)
14587 goto op_semantics_116;
14593 switch (op[2] & 0x00)
14596 goto op_semantics_116;
14602 switch (op[2] & 0x00)
14607 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
14608 #line 341 "rx-decode.opc"
14609 int sz AU = (op[1] >> 4) & 0x03;
14610 #line 341 "rx-decode.opc"
14611 int isrc AU = op[1] & 0x0f;
14612 #line 341 "rx-decode.opc"
14613 int bsrc AU = (op[2] >> 4) & 0x0f;
14614 #line 341 "rx-decode.opc"
14615 int rdst AU = op[2] & 0x0f;
14618 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14619 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
14620 op[0], op[1], op[2]);
14621 printf (" sz = 0x%x,", sz);
14622 printf (" isrc = 0x%x,", isrc);
14623 printf (" bsrc = 0x%x,", bsrc);
14624 printf (" rdst = 0x%x\n", rdst);
14626 SYNTAX("movu%s [%1, %2], %0");
14627 #line 341 "rx-decode.opc"
14628 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14636 switch (op[2] & 0x00)
14639 goto op_semantics_117;
14645 switch (op[2] & 0x00)
14648 goto op_semantics_117;
14654 switch (op[2] & 0x00)
14657 goto op_semantics_117;
14663 switch (op[2] & 0x00)
14666 goto op_semantics_117;
14672 switch (op[2] & 0x00)
14675 goto op_semantics_117;
14681 switch (op[2] & 0x00)
14684 goto op_semantics_117;
14690 switch (op[2] & 0x00)
14693 goto op_semantics_117;
14699 switch (op[2] & 0x00)
14702 goto op_semantics_117;
14708 switch (op[2] & 0x00)
14711 goto op_semantics_117;
14717 switch (op[2] & 0x00)
14720 goto op_semantics_117;
14726 switch (op[2] & 0x00)
14729 goto op_semantics_117;
14735 switch (op[2] & 0x00)
14738 goto op_semantics_117;
14744 switch (op[2] & 0x00)
14747 goto op_semantics_117;
14753 switch (op[2] & 0x00)
14756 goto op_semantics_117;
14762 switch (op[2] & 0x00)
14765 goto op_semantics_117;
14771 switch (op[2] & 0x00)
14774 goto op_semantics_117;
14780 switch (op[2] & 0x00)
14783 goto op_semantics_117;
14789 switch (op[2] & 0x00)
14792 goto op_semantics_117;
14798 switch (op[2] & 0x00)
14801 goto op_semantics_117;
14807 switch (op[2] & 0x00)
14810 goto op_semantics_117;
14816 switch (op[2] & 0x00)
14819 goto op_semantics_117;
14825 switch (op[2] & 0x00)
14828 goto op_semantics_117;
14834 switch (op[2] & 0x00)
14837 goto op_semantics_117;
14843 switch (op[2] & 0x00)
14846 goto op_semantics_117;
14852 switch (op[2] & 0x00)
14855 goto op_semantics_117;
14861 switch (op[2] & 0x00)
14864 goto op_semantics_117;
14870 switch (op[2] & 0x00)
14873 goto op_semantics_117;
14879 switch (op[2] & 0x00)
14882 goto op_semantics_117;
14888 switch (op[2] & 0x00)
14891 goto op_semantics_117;
14897 switch (op[2] & 0x00)
14900 goto op_semantics_117;
14906 switch (op[2] & 0x00)
14909 goto op_semantics_117;
14915 switch (op[2] & 0x00)
14918 goto op_semantics_117;
14924 switch (op[2] & 0x00)
14927 goto op_semantics_117;
14933 switch (op[2] & 0x00)
14936 goto op_semantics_117;
14942 switch (op[2] & 0x00)
14945 goto op_semantics_117;
14951 switch (op[2] & 0x00)
14954 goto op_semantics_117;
14960 switch (op[2] & 0x00)
14963 goto op_semantics_117;
14969 switch (op[2] & 0x00)
14972 goto op_semantics_117;
14978 switch (op[2] & 0x00)
14981 goto op_semantics_117;
14987 switch (op[2] & 0x00)
14990 goto op_semantics_117;
14996 switch (op[2] & 0x00)
14999 goto op_semantics_117;
15005 switch (op[2] & 0x00)
15008 goto op_semantics_117;
15014 switch (op[2] & 0x00)
15017 goto op_semantics_117;
15023 switch (op[2] & 0x00)
15026 goto op_semantics_117;
15032 switch (op[2] & 0x00)
15035 goto op_semantics_117;
15041 switch (op[2] & 0x00)
15044 goto op_semantics_117;
15050 switch (op[2] & 0x00)
15053 goto op_semantics_117;
15057 default: UNSUPPORTED(); break;
15062 switch (op[1] & 0xff)
15066 switch (op[2] & 0x00)
15071 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
15072 #line 545 "rx-decode.opc"
15073 int rdst AU = op[1] & 0x0f;
15074 #line 545 "rx-decode.opc"
15075 int srca AU = (op[2] >> 4) & 0x0f;
15076 #line 545 "rx-decode.opc"
15077 int srcb AU = op[2] & 0x0f;
15080 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15081 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
15082 op[0], op[1], op[2]);
15083 printf (" rdst = 0x%x,", rdst);
15084 printf (" srca = 0x%x,", srca);
15085 printf (" srcb = 0x%x\n", srcb);
15087 SYNTAX("sub %2, %1, %0");
15088 #line 545 "rx-decode.opc"
15089 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15091 /*----------------------------------------------------------------------*/
15100 switch (op[2] & 0x00)
15103 goto op_semantics_118;
15109 switch (op[2] & 0x00)
15112 goto op_semantics_118;
15118 switch (op[2] & 0x00)
15121 goto op_semantics_118;
15127 switch (op[2] & 0x00)
15130 goto op_semantics_118;
15136 switch (op[2] & 0x00)
15139 goto op_semantics_118;
15145 switch (op[2] & 0x00)
15148 goto op_semantics_118;
15154 switch (op[2] & 0x00)
15157 goto op_semantics_118;
15163 switch (op[2] & 0x00)
15166 goto op_semantics_118;
15172 switch (op[2] & 0x00)
15175 goto op_semantics_118;
15181 switch (op[2] & 0x00)
15184 goto op_semantics_118;
15190 switch (op[2] & 0x00)
15193 goto op_semantics_118;
15199 switch (op[2] & 0x00)
15202 goto op_semantics_118;
15208 switch (op[2] & 0x00)
15211 goto op_semantics_118;
15217 switch (op[2] & 0x00)
15220 goto op_semantics_118;
15226 switch (op[2] & 0x00)
15229 goto op_semantics_118;
15235 switch (op[2] & 0x00)
15240 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
15241 #line 512 "rx-decode.opc"
15242 int rdst AU = op[1] & 0x0f;
15243 #line 512 "rx-decode.opc"
15244 int srca AU = (op[2] >> 4) & 0x0f;
15245 #line 512 "rx-decode.opc"
15246 int srcb AU = op[2] & 0x0f;
15249 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15250 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
15251 op[0], op[1], op[2]);
15252 printf (" rdst = 0x%x,", rdst);
15253 printf (" srca = 0x%x,", srca);
15254 printf (" srcb = 0x%x\n", srcb);
15256 SYNTAX("add %2, %1, %0");
15257 #line 512 "rx-decode.opc"
15258 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15260 /*----------------------------------------------------------------------*/
15269 switch (op[2] & 0x00)
15272 goto op_semantics_119;
15278 switch (op[2] & 0x00)
15281 goto op_semantics_119;
15287 switch (op[2] & 0x00)
15290 goto op_semantics_119;
15296 switch (op[2] & 0x00)
15299 goto op_semantics_119;
15305 switch (op[2] & 0x00)
15308 goto op_semantics_119;
15314 switch (op[2] & 0x00)
15317 goto op_semantics_119;
15323 switch (op[2] & 0x00)
15326 goto op_semantics_119;
15332 switch (op[2] & 0x00)
15335 goto op_semantics_119;
15341 switch (op[2] & 0x00)
15344 goto op_semantics_119;
15350 switch (op[2] & 0x00)
15353 goto op_semantics_119;
15359 switch (op[2] & 0x00)
15362 goto op_semantics_119;
15368 switch (op[2] & 0x00)
15371 goto op_semantics_119;
15377 switch (op[2] & 0x00)
15380 goto op_semantics_119;
15386 switch (op[2] & 0x00)
15389 goto op_semantics_119;
15395 switch (op[2] & 0x00)
15398 goto op_semantics_119;
15404 switch (op[2] & 0x00)
15409 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
15410 #line 652 "rx-decode.opc"
15411 int rdst AU = op[1] & 0x0f;
15412 #line 652 "rx-decode.opc"
15413 int srca AU = (op[2] >> 4) & 0x0f;
15414 #line 652 "rx-decode.opc"
15415 int srcb AU = op[2] & 0x0f;
15418 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15419 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
15420 op[0], op[1], op[2]);
15421 printf (" rdst = 0x%x,", rdst);
15422 printf (" srca = 0x%x,", srca);
15423 printf (" srcb = 0x%x\n", srcb);
15425 SYNTAX("mul %2, %1, %0");
15426 #line 652 "rx-decode.opc"
15427 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
15429 /*----------------------------------------------------------------------*/
15438 switch (op[2] & 0x00)
15441 goto op_semantics_120;
15447 switch (op[2] & 0x00)
15450 goto op_semantics_120;
15456 switch (op[2] & 0x00)
15459 goto op_semantics_120;
15465 switch (op[2] & 0x00)
15468 goto op_semantics_120;
15474 switch (op[2] & 0x00)
15477 goto op_semantics_120;
15483 switch (op[2] & 0x00)
15486 goto op_semantics_120;
15492 switch (op[2] & 0x00)
15495 goto op_semantics_120;
15501 switch (op[2] & 0x00)
15504 goto op_semantics_120;
15510 switch (op[2] & 0x00)
15513 goto op_semantics_120;
15519 switch (op[2] & 0x00)
15522 goto op_semantics_120;
15528 switch (op[2] & 0x00)
15531 goto op_semantics_120;
15537 switch (op[2] & 0x00)
15540 goto op_semantics_120;
15546 switch (op[2] & 0x00)
15549 goto op_semantics_120;
15555 switch (op[2] & 0x00)
15558 goto op_semantics_120;
15564 switch (op[2] & 0x00)
15567 goto op_semantics_120;
15573 switch (op[2] & 0x00)
15578 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
15579 #line 422 "rx-decode.opc"
15580 int rdst AU = op[1] & 0x0f;
15581 #line 422 "rx-decode.opc"
15582 int srca AU = (op[2] >> 4) & 0x0f;
15583 #line 422 "rx-decode.opc"
15584 int srcb AU = op[2] & 0x0f;
15587 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15588 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
15589 op[0], op[1], op[2]);
15590 printf (" rdst = 0x%x,", rdst);
15591 printf (" srca = 0x%x,", srca);
15592 printf (" srcb = 0x%x\n", srcb);
15594 SYNTAX("and %2, %1, %0");
15595 #line 422 "rx-decode.opc"
15596 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15598 /*----------------------------------------------------------------------*/
15607 switch (op[2] & 0x00)
15610 goto op_semantics_121;
15616 switch (op[2] & 0x00)
15619 goto op_semantics_121;
15625 switch (op[2] & 0x00)
15628 goto op_semantics_121;
15634 switch (op[2] & 0x00)
15637 goto op_semantics_121;
15643 switch (op[2] & 0x00)
15646 goto op_semantics_121;
15652 switch (op[2] & 0x00)
15655 goto op_semantics_121;
15661 switch (op[2] & 0x00)
15664 goto op_semantics_121;
15670 switch (op[2] & 0x00)
15673 goto op_semantics_121;
15679 switch (op[2] & 0x00)
15682 goto op_semantics_121;
15688 switch (op[2] & 0x00)
15691 goto op_semantics_121;
15697 switch (op[2] & 0x00)
15700 goto op_semantics_121;
15706 switch (op[2] & 0x00)
15709 goto op_semantics_121;
15715 switch (op[2] & 0x00)
15718 goto op_semantics_121;
15724 switch (op[2] & 0x00)
15727 goto op_semantics_121;
15733 switch (op[2] & 0x00)
15736 goto op_semantics_121;
15742 switch (op[2] & 0x00)
15747 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
15748 #line 440 "rx-decode.opc"
15749 int rdst AU = op[1] & 0x0f;
15750 #line 440 "rx-decode.opc"
15751 int srca AU = (op[2] >> 4) & 0x0f;
15752 #line 440 "rx-decode.opc"
15753 int srcb AU = op[2] & 0x0f;
15756 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15757 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
15758 op[0], op[1], op[2]);
15759 printf (" rdst = 0x%x,", rdst);
15760 printf (" srca = 0x%x,", srca);
15761 printf (" srcb = 0x%x\n", srcb);
15763 SYNTAX("or %2, %1, %0");
15764 #line 440 "rx-decode.opc"
15765 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15767 /*----------------------------------------------------------------------*/
15776 switch (op[2] & 0x00)
15779 goto op_semantics_122;
15785 switch (op[2] & 0x00)
15788 goto op_semantics_122;
15794 switch (op[2] & 0x00)
15797 goto op_semantics_122;
15803 switch (op[2] & 0x00)
15806 goto op_semantics_122;
15812 switch (op[2] & 0x00)
15815 goto op_semantics_122;
15821 switch (op[2] & 0x00)
15824 goto op_semantics_122;
15830 switch (op[2] & 0x00)
15833 goto op_semantics_122;
15839 switch (op[2] & 0x00)
15842 goto op_semantics_122;
15848 switch (op[2] & 0x00)
15851 goto op_semantics_122;
15857 switch (op[2] & 0x00)
15860 goto op_semantics_122;
15866 switch (op[2] & 0x00)
15869 goto op_semantics_122;
15875 switch (op[2] & 0x00)
15878 goto op_semantics_122;
15884 switch (op[2] & 0x00)
15887 goto op_semantics_122;
15893 switch (op[2] & 0x00)
15896 goto op_semantics_122;
15902 switch (op[2] & 0x00)
15905 goto op_semantics_122;
15911 switch (op[2] & 0x00)
15916 /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
15917 #line 1100 "rx-decode.opc"
15918 int rdst AU = op[1] & 0x0f;
15919 #line 1100 "rx-decode.opc"
15920 int srca AU = (op[2] >> 4) & 0x0f;
15921 #line 1100 "rx-decode.opc"
15922 int srcb AU = op[2] & 0x0f;
15925 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15926 "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
15927 op[0], op[1], op[2]);
15928 printf (" rdst = 0x%x,", rdst);
15929 printf (" srca = 0x%x,", srca);
15930 printf (" srcb = 0x%x\n", srcb);
15932 SYNTAX("fsub %2, %1, %0");
15933 #line 1100 "rx-decode.opc"
15934 ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15942 switch (op[2] & 0x00)
15945 goto op_semantics_123;
15951 switch (op[2] & 0x00)
15954 goto op_semantics_123;
15960 switch (op[2] & 0x00)
15963 goto op_semantics_123;
15969 switch (op[2] & 0x00)
15972 goto op_semantics_123;
15978 switch (op[2] & 0x00)
15981 goto op_semantics_123;
15987 switch (op[2] & 0x00)
15990 goto op_semantics_123;
15996 switch (op[2] & 0x00)
15999 goto op_semantics_123;
16005 switch (op[2] & 0x00)
16008 goto op_semantics_123;
16014 switch (op[2] & 0x00)
16017 goto op_semantics_123;
16023 switch (op[2] & 0x00)
16026 goto op_semantics_123;
16032 switch (op[2] & 0x00)
16035 goto op_semantics_123;
16041 switch (op[2] & 0x00)
16044 goto op_semantics_123;
16050 switch (op[2] & 0x00)
16053 goto op_semantics_123;
16059 switch (op[2] & 0x00)
16062 goto op_semantics_123;
16068 switch (op[2] & 0x00)
16071 goto op_semantics_123;
16077 switch (op[2] & 0x00)
16082 /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
16083 #line 1097 "rx-decode.opc"
16084 int rdst AU = op[1] & 0x0f;
16085 #line 1097 "rx-decode.opc"
16086 int srca AU = (op[2] >> 4) & 0x0f;
16087 #line 1097 "rx-decode.opc"
16088 int srcb AU = op[2] & 0x0f;
16091 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16092 "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
16093 op[0], op[1], op[2]);
16094 printf (" rdst = 0x%x,", rdst);
16095 printf (" srca = 0x%x,", srca);
16096 printf (" srcb = 0x%x\n", srcb);
16098 SYNTAX("fadd %2, %1, %0");
16099 #line 1097 "rx-decode.opc"
16100 ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16108 switch (op[2] & 0x00)
16111 goto op_semantics_124;
16117 switch (op[2] & 0x00)
16120 goto op_semantics_124;
16126 switch (op[2] & 0x00)
16129 goto op_semantics_124;
16135 switch (op[2] & 0x00)
16138 goto op_semantics_124;
16144 switch (op[2] & 0x00)
16147 goto op_semantics_124;
16153 switch (op[2] & 0x00)
16156 goto op_semantics_124;
16162 switch (op[2] & 0x00)
16165 goto op_semantics_124;
16171 switch (op[2] & 0x00)
16174 goto op_semantics_124;
16180 switch (op[2] & 0x00)
16183 goto op_semantics_124;
16189 switch (op[2] & 0x00)
16192 goto op_semantics_124;
16198 switch (op[2] & 0x00)
16201 goto op_semantics_124;
16207 switch (op[2] & 0x00)
16210 goto op_semantics_124;
16216 switch (op[2] & 0x00)
16219 goto op_semantics_124;
16225 switch (op[2] & 0x00)
16228 goto op_semantics_124;
16234 switch (op[2] & 0x00)
16237 goto op_semantics_124;
16243 switch (op[2] & 0x00)
16248 /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
16249 #line 1103 "rx-decode.opc"
16250 int rdst AU = op[1] & 0x0f;
16251 #line 1103 "rx-decode.opc"
16252 int srca AU = (op[2] >> 4) & 0x0f;
16253 #line 1103 "rx-decode.opc"
16254 int srcb AU = op[2] & 0x0f;
16257 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16258 "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
16259 op[0], op[1], op[2]);
16260 printf (" rdst = 0x%x,", rdst);
16261 printf (" srca = 0x%x,", srca);
16262 printf (" srcb = 0x%x\n", srcb);
16264 SYNTAX("fmul %2, %1, %0");
16265 #line 1103 "rx-decode.opc"
16266 ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16274 switch (op[2] & 0x00)
16277 goto op_semantics_125;
16283 switch (op[2] & 0x00)
16286 goto op_semantics_125;
16292 switch (op[2] & 0x00)
16295 goto op_semantics_125;
16301 switch (op[2] & 0x00)
16304 goto op_semantics_125;
16310 switch (op[2] & 0x00)
16313 goto op_semantics_125;
16319 switch (op[2] & 0x00)
16322 goto op_semantics_125;
16328 switch (op[2] & 0x00)
16331 goto op_semantics_125;
16337 switch (op[2] & 0x00)
16340 goto op_semantics_125;
16346 switch (op[2] & 0x00)
16349 goto op_semantics_125;
16355 switch (op[2] & 0x00)
16358 goto op_semantics_125;
16364 switch (op[2] & 0x00)
16367 goto op_semantics_125;
16373 switch (op[2] & 0x00)
16376 goto op_semantics_125;
16382 switch (op[2] & 0x00)
16385 goto op_semantics_125;
16391 switch (op[2] & 0x00)
16394 goto op_semantics_125;
16400 switch (op[2] & 0x00)
16403 goto op_semantics_125;
16407 default: UNSUPPORTED(); break;
16410 default: UNSUPPORTED(); break;
16412 #line 1118 "rx-decode.opc"
16414 return rx->n_bytes;