1 #line 1 "rx-decode.opc"
3 /* Copyright (C) 2012-2018 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"
30 #include "libiberty.h"
32 #define RX_OPCODE_BIG_ENDIAN 0
36 RX_Opcode_Decoded * rx;
37 int (* getbyte)(void *);
48 /* These are for when the upper bits are "don't care" or "undefined". */
54 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
62 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
69 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
70 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
81 #define ID(x) rx->id = RXO_##x
82 #define OP(n,t,r,a) (rx->op[n].type = t, \
84 rx->op[n].addend = a )
85 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
88 /* This is for the BWL and BW bitfields. */
89 static int SCALE[] = { 1, 2, 4, 0 };
90 /* This is for the prefix size enum. */
91 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
93 #define GET_SCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
94 #define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
96 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
97 16, 17, 0, 0, 0, 0, 0, 0 };
99 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
102 *C a constant (immediate) c
104 *I Register indirect, no offset
105 *Is Register indirect, with offset
106 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
107 *P standard displacement: type (r,[r]), reg, assumes UByte
108 *Pm memex displacement: type (r,[r]), reg, memex code
109 *cc condition code. */
111 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
112 #define DR(r) OP (0, RX_Operand_Register, r, 0)
113 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
114 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
115 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
116 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
118 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
119 #define SR(r) OP (1, RX_Operand_Register, r, 0)
120 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
121 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
122 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
123 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
124 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
125 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
126 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
128 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
129 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
130 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
131 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
132 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
133 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
134 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
135 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
137 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
138 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
139 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
140 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
142 #define F(f) store_flags(rx, f)
144 #define AU ATTRIBUTE_UNUSED
145 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
147 #define SYNTAX(x) rx->syntax = x
149 #define UNSUPPORTED() \
150 rx->syntax = "*unknown*"
152 #define IMM(sf) immediate (sf, 0, ld)
153 #define IMMex(sf) immediate (sf, 1, ld)
156 immediate (int sfield, int ex, LocalData * ld)
158 unsigned long i = 0, j;
162 #define B ((unsigned long) GETBYTE())
164 #if RX_OPCODE_BIG_ENDIAN
166 if (ex && (i & 0x80))
177 if (ex && (j & 0x80))
183 #if RX_OPCODE_BIG_ENDIAN
192 if (ex && (i & 0x800000))
196 #if RX_OPCODE_BIG_ENDIAN
203 if (ex && (i & 0x8000))
208 if (ex && (i & 0x80))
218 rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
222 ld->rx->op[n].reg = reg;
226 ld->rx->op[n].type = RX_Operand_Register;
229 ld->rx->op[n].type = RX_Operand_Zero_Indirect;
230 ld->rx->op[n].addend = 0;
233 ld->rx->op[n].type = RX_Operand_Indirect;
235 ld->rx->op[n].addend = disp * GET_PSCALE (size);
238 ld->rx->op[n].type = RX_Operand_Indirect;
240 #if RX_OPCODE_BIG_ENDIAN
241 disp = disp * 256 + GETBYTE ();
243 disp = disp + GETBYTE () * 256;
245 ld->rx->op[n].addend = disp * GET_PSCALE (size);
258 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
259 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
260 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
261 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
262 #define F_O___ rx->flags_0 = rx->flags_s = xO;
263 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
264 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
265 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
268 rx_decode_opcode (unsigned long pc AU,
269 RX_Opcode_Decoded * rx,
270 int (* getbyte)(void *),
273 LocalData lds, * ld = &lds;
274 unsigned char op[20] = {0};
277 lds.getbyte = getbyte;
281 memset (rx, 0, sizeof (*rx));
285 /*----------------------------------------------------------------------*/
289 switch (op[0] & 0xff)
296 printf ("\033[33m%s\033[0m %02x\n",
297 "/** 0000 0000 brk */",
301 #line 1029 "rx-decode.opc"
311 printf ("\033[33m%s\033[0m %02x\n",
312 "/** 0000 0001 dbt */",
316 #line 1032 "rx-decode.opc"
326 printf ("\033[33m%s\033[0m %02x\n",
327 "/** 0000 0010 rts */",
331 #line 810 "rx-decode.opc"
334 /*----------------------------------------------------------------------*/
344 printf ("\033[33m%s\033[0m %02x\n",
345 "/** 0000 0011 nop */",
349 #line 816 "rx-decode.opc"
352 /*----------------------------------------------------------------------*/
353 /* STRING FUNCTIONS */
359 /** 0000 0100 bra.a %a0 */
362 printf ("\033[33m%s\033[0m %02x\n",
363 "/** 0000 0100 bra.a %a0 */",
367 #line 788 "rx-decode.opc"
368 ID(branch); DC(pc + IMMex(3));
374 /** 0000 0101 bsr.a %a0 */
377 printf ("\033[33m%s\033[0m %02x\n",
378 "/** 0000 0101 bsr.a %a0 */",
382 #line 804 "rx-decode.opc"
383 ID(jsr); DC(pc + IMMex(3));
389 switch (op[1] & 0xff)
393 switch (op[2] & 0x00)
398 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
399 #line 546 "rx-decode.opc"
400 int mx AU = (op[1] >> 6) & 0x03;
401 #line 546 "rx-decode.opc"
402 int ss AU = op[1] & 0x03;
403 #line 546 "rx-decode.opc"
404 int rsrc AU = (op[2] >> 4) & 0x0f;
405 #line 546 "rx-decode.opc"
406 int rdst AU = op[2] & 0x0f;
409 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
410 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
411 op[0], op[1], op[2]);
412 printf (" mx = 0x%x,", mx);
413 printf (" ss = 0x%x,", ss);
414 printf (" rsrc = 0x%x,", rsrc);
415 printf (" rdst = 0x%x\n", rdst);
417 SYNTAX("sub %2%S2, %1");
418 #line 546 "rx-decode.opc"
419 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
427 switch (op[2] & 0x00)
436 switch (op[2] & 0x00)
445 switch (op[2] & 0x00)
454 switch (op[2] & 0x00)
459 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
460 #line 534 "rx-decode.opc"
461 int mx AU = (op[1] >> 6) & 0x03;
462 #line 534 "rx-decode.opc"
463 int ss AU = op[1] & 0x03;
464 #line 534 "rx-decode.opc"
465 int rsrc AU = (op[2] >> 4) & 0x0f;
466 #line 534 "rx-decode.opc"
467 int rdst AU = op[2] & 0x0f;
470 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
471 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
472 op[0], op[1], op[2]);
473 printf (" mx = 0x%x,", mx);
474 printf (" ss = 0x%x,", ss);
475 printf (" rsrc = 0x%x,", rsrc);
476 printf (" rdst = 0x%x\n", rdst);
478 SYNTAX("cmp %2%S2, %1");
479 #line 534 "rx-decode.opc"
480 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
482 /*----------------------------------------------------------------------*/
491 switch (op[2] & 0x00)
500 switch (op[2] & 0x00)
509 switch (op[2] & 0x00)
518 switch (op[2] & 0x00)
523 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
524 #line 510 "rx-decode.opc"
525 int mx AU = (op[1] >> 6) & 0x03;
526 #line 510 "rx-decode.opc"
527 int ss AU = op[1] & 0x03;
528 #line 510 "rx-decode.opc"
529 int rsrc AU = (op[2] >> 4) & 0x0f;
530 #line 510 "rx-decode.opc"
531 int rdst AU = op[2] & 0x0f;
534 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
535 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
536 op[0], op[1], op[2]);
537 printf (" mx = 0x%x,", mx);
538 printf (" ss = 0x%x,", ss);
539 printf (" rsrc = 0x%x,", rsrc);
540 printf (" rdst = 0x%x\n", rdst);
542 SYNTAX("add %1%S1, %0");
543 #line 510 "rx-decode.opc"
544 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
552 switch (op[2] & 0x00)
561 switch (op[2] & 0x00)
570 switch (op[2] & 0x00)
579 switch (op[2] & 0x00)
584 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
585 #line 653 "rx-decode.opc"
586 int mx AU = (op[1] >> 6) & 0x03;
587 #line 653 "rx-decode.opc"
588 int ss AU = op[1] & 0x03;
589 #line 653 "rx-decode.opc"
590 int rsrc AU = (op[2] >> 4) & 0x0f;
591 #line 653 "rx-decode.opc"
592 int rdst AU = op[2] & 0x0f;
595 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
596 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
597 op[0], op[1], op[2]);
598 printf (" mx = 0x%x,", mx);
599 printf (" ss = 0x%x,", ss);
600 printf (" rsrc = 0x%x,", rsrc);
601 printf (" rdst = 0x%x\n", rdst);
603 SYNTAX("mul %1%S1, %0");
604 #line 653 "rx-decode.opc"
605 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
613 switch (op[2] & 0x00)
622 switch (op[2] & 0x00)
631 switch (op[2] & 0x00)
640 switch (op[2] & 0x00)
645 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
646 #line 423 "rx-decode.opc"
647 int mx AU = (op[1] >> 6) & 0x03;
648 #line 423 "rx-decode.opc"
649 int ss AU = op[1] & 0x03;
650 #line 423 "rx-decode.opc"
651 int rsrc AU = (op[2] >> 4) & 0x0f;
652 #line 423 "rx-decode.opc"
653 int rdst AU = op[2] & 0x0f;
656 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
657 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
658 op[0], op[1], op[2]);
659 printf (" mx = 0x%x,", mx);
660 printf (" ss = 0x%x,", ss);
661 printf (" rsrc = 0x%x,", rsrc);
662 printf (" rdst = 0x%x\n", rdst);
664 SYNTAX("and %1%S1, %0");
665 #line 423 "rx-decode.opc"
666 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
674 switch (op[2] & 0x00)
683 switch (op[2] & 0x00)
692 switch (op[2] & 0x00)
701 switch (op[2] & 0x00)
706 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
707 #line 441 "rx-decode.opc"
708 int mx AU = (op[1] >> 6) & 0x03;
709 #line 441 "rx-decode.opc"
710 int ss AU = op[1] & 0x03;
711 #line 441 "rx-decode.opc"
712 int rsrc AU = (op[2] >> 4) & 0x0f;
713 #line 441 "rx-decode.opc"
714 int rdst AU = op[2] & 0x0f;
717 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
718 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
719 op[0], op[1], op[2]);
720 printf (" mx = 0x%x,", mx);
721 printf (" ss = 0x%x,", ss);
722 printf (" rsrc = 0x%x,", rsrc);
723 printf (" rdst = 0x%x\n", rdst);
725 SYNTAX("or %1%S1, %0");
726 #line 441 "rx-decode.opc"
727 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
735 switch (op[2] & 0x00)
744 switch (op[2] & 0x00)
753 switch (op[2] & 0x00)
762 switch (op[2] & 0xff)
766 switch (op[3] & 0x00)
771 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
772 #line 559 "rx-decode.opc"
773 int mx AU = (op[1] >> 6) & 0x03;
774 #line 559 "rx-decode.opc"
775 int sp AU = op[1] & 0x03;
776 #line 559 "rx-decode.opc"
777 int rsrc AU = (op[3] >> 4) & 0x0f;
778 #line 559 "rx-decode.opc"
779 int rdst AU = op[3] & 0x0f;
782 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
783 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
784 op[0], op[1], op[2], op[3]);
785 printf (" mx = 0x%x,", mx);
786 printf (" sp = 0x%x,", sp);
787 printf (" rsrc = 0x%x,", rsrc);
788 printf (" rdst = 0x%x\n", rdst);
790 SYNTAX("sbb %1%S1, %0");
791 #line 559 "rx-decode.opc"
792 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
794 /*----------------------------------------------------------------------*/
803 switch (op[3] & 0x00)
808 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
809 #line 598 "rx-decode.opc"
810 int mx AU = (op[1] >> 6) & 0x03;
811 #line 598 "rx-decode.opc"
812 int ss AU = op[1] & 0x03;
813 #line 598 "rx-decode.opc"
814 int rsrc AU = (op[3] >> 4) & 0x0f;
815 #line 598 "rx-decode.opc"
816 int rdst AU = op[3] & 0x0f;
819 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
820 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
821 op[0], op[1], op[2], op[3]);
822 printf (" mx = 0x%x,", mx);
823 printf (" ss = 0x%x,", ss);
824 printf (" rsrc = 0x%x,", rsrc);
825 printf (" rdst = 0x%x\n", rdst);
827 SYNTAX("max %1%S1, %0");
828 #line 598 "rx-decode.opc"
829 ID(max); SPm(ss, rsrc, mx); DR(rdst);
831 /*----------------------------------------------------------------------*/
840 switch (op[3] & 0x00)
845 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
846 #line 610 "rx-decode.opc"
847 int mx AU = (op[1] >> 6) & 0x03;
848 #line 610 "rx-decode.opc"
849 int ss AU = op[1] & 0x03;
850 #line 610 "rx-decode.opc"
851 int rsrc AU = (op[3] >> 4) & 0x0f;
852 #line 610 "rx-decode.opc"
853 int rdst AU = op[3] & 0x0f;
856 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
857 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
858 op[0], op[1], op[2], op[3]);
859 printf (" mx = 0x%x,", mx);
860 printf (" ss = 0x%x,", ss);
861 printf (" rsrc = 0x%x,", rsrc);
862 printf (" rdst = 0x%x\n", rdst);
864 SYNTAX("min %1%S1, %0");
865 #line 610 "rx-decode.opc"
866 ID(min); SPm(ss, rsrc, mx); DR(rdst);
868 /*----------------------------------------------------------------------*/
877 switch (op[3] & 0x00)
882 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
883 #line 668 "rx-decode.opc"
884 int mx AU = (op[1] >> 6) & 0x03;
885 #line 668 "rx-decode.opc"
886 int ss AU = op[1] & 0x03;
887 #line 668 "rx-decode.opc"
888 int rsrc AU = (op[3] >> 4) & 0x0f;
889 #line 668 "rx-decode.opc"
890 int rdst AU = op[3] & 0x0f;
893 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
894 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
895 op[0], op[1], op[2], op[3]);
896 printf (" mx = 0x%x,", mx);
897 printf (" ss = 0x%x,", ss);
898 printf (" rsrc = 0x%x,", rsrc);
899 printf (" rdst = 0x%x\n", rdst);
901 SYNTAX("emul %1%S1, %0");
902 #line 668 "rx-decode.opc"
903 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
905 /*----------------------------------------------------------------------*/
914 switch (op[3] & 0x00)
919 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
920 #line 680 "rx-decode.opc"
921 int mx AU = (op[1] >> 6) & 0x03;
922 #line 680 "rx-decode.opc"
923 int ss AU = op[1] & 0x03;
924 #line 680 "rx-decode.opc"
925 int rsrc AU = (op[3] >> 4) & 0x0f;
926 #line 680 "rx-decode.opc"
927 int rdst AU = op[3] & 0x0f;
930 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
931 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
932 op[0], op[1], op[2], op[3]);
933 printf (" mx = 0x%x,", mx);
934 printf (" ss = 0x%x,", ss);
935 printf (" rsrc = 0x%x,", rsrc);
936 printf (" rdst = 0x%x\n", rdst);
938 SYNTAX("emulu %1%S1, %0");
939 #line 680 "rx-decode.opc"
940 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
942 /*----------------------------------------------------------------------*/
951 switch (op[3] & 0x00)
956 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
957 #line 692 "rx-decode.opc"
958 int mx AU = (op[1] >> 6) & 0x03;
959 #line 692 "rx-decode.opc"
960 int ss AU = op[1] & 0x03;
961 #line 692 "rx-decode.opc"
962 int rsrc AU = (op[3] >> 4) & 0x0f;
963 #line 692 "rx-decode.opc"
964 int rdst AU = op[3] & 0x0f;
967 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
968 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
969 op[0], op[1], op[2], op[3]);
970 printf (" mx = 0x%x,", mx);
971 printf (" ss = 0x%x,", ss);
972 printf (" rsrc = 0x%x,", rsrc);
973 printf (" rdst = 0x%x\n", rdst);
975 SYNTAX("div %1%S1, %0");
976 #line 692 "rx-decode.opc"
977 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
979 /*----------------------------------------------------------------------*/
988 switch (op[3] & 0x00)
993 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
994 #line 704 "rx-decode.opc"
995 int mx AU = (op[1] >> 6) & 0x03;
996 #line 704 "rx-decode.opc"
997 int ss AU = op[1] & 0x03;
998 #line 704 "rx-decode.opc"
999 int rsrc AU = (op[3] >> 4) & 0x0f;
1000 #line 704 "rx-decode.opc"
1001 int rdst AU = op[3] & 0x0f;
1004 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1005 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1006 op[0], op[1], op[2], op[3]);
1007 printf (" mx = 0x%x,", mx);
1008 printf (" ss = 0x%x,", ss);
1009 printf (" rsrc = 0x%x,", rsrc);
1010 printf (" rdst = 0x%x\n", rdst);
1012 SYNTAX("divu %1%S1, %0");
1013 #line 704 "rx-decode.opc"
1014 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1016 /*----------------------------------------------------------------------*/
1025 switch (op[3] & 0x00)
1030 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1031 #line 477 "rx-decode.opc"
1032 int mx AU = (op[1] >> 6) & 0x03;
1033 #line 477 "rx-decode.opc"
1034 int ss AU = op[1] & 0x03;
1035 #line 477 "rx-decode.opc"
1036 int rsrc AU = (op[3] >> 4) & 0x0f;
1037 #line 477 "rx-decode.opc"
1038 int rdst AU = op[3] & 0x0f;
1041 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1042 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1043 op[0], op[1], op[2], op[3]);
1044 printf (" mx = 0x%x,", mx);
1045 printf (" ss = 0x%x,", ss);
1046 printf (" rsrc = 0x%x,", rsrc);
1047 printf (" rdst = 0x%x\n", rdst);
1049 SYNTAX("tst %1%S1, %2");
1050 #line 477 "rx-decode.opc"
1051 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1053 /*----------------------------------------------------------------------*/
1062 switch (op[3] & 0x00)
1067 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1068 #line 456 "rx-decode.opc"
1069 int mx AU = (op[1] >> 6) & 0x03;
1070 #line 456 "rx-decode.opc"
1071 int ss AU = op[1] & 0x03;
1072 #line 456 "rx-decode.opc"
1073 int rsrc AU = (op[3] >> 4) & 0x0f;
1074 #line 456 "rx-decode.opc"
1075 int rdst AU = op[3] & 0x0f;
1078 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1079 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1080 op[0], op[1], op[2], op[3]);
1081 printf (" mx = 0x%x,", mx);
1082 printf (" ss = 0x%x,", ss);
1083 printf (" rsrc = 0x%x,", rsrc);
1084 printf (" rdst = 0x%x\n", rdst);
1086 SYNTAX("xor %1%S1, %0");
1087 #line 456 "rx-decode.opc"
1088 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1090 /*----------------------------------------------------------------------*/
1099 switch (op[3] & 0x00)
1104 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1105 #line 390 "rx-decode.opc"
1106 int mx AU = (op[1] >> 6) & 0x03;
1107 #line 390 "rx-decode.opc"
1108 int ss AU = op[1] & 0x03;
1109 #line 390 "rx-decode.opc"
1110 int rsrc AU = (op[3] >> 4) & 0x0f;
1111 #line 390 "rx-decode.opc"
1112 int rdst AU = op[3] & 0x0f;
1115 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1116 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1117 op[0], op[1], op[2], op[3]);
1118 printf (" mx = 0x%x,", mx);
1119 printf (" ss = 0x%x,", ss);
1120 printf (" rsrc = 0x%x,", rsrc);
1121 printf (" rdst = 0x%x\n", rdst);
1123 SYNTAX("xchg %1%S1, %0");
1124 #line 390 "rx-decode.opc"
1125 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1127 /*----------------------------------------------------------------------*/
1136 switch (op[3] & 0x00)
1141 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1142 #line 933 "rx-decode.opc"
1143 int mx AU = (op[1] >> 6) & 0x03;
1144 #line 933 "rx-decode.opc"
1145 int sd AU = op[1] & 0x03;
1146 #line 933 "rx-decode.opc"
1147 int rsrc AU = (op[3] >> 4) & 0x0f;
1148 #line 933 "rx-decode.opc"
1149 int rdst AU = op[3] & 0x0f;
1152 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1153 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1154 op[0], op[1], op[2], op[3]);
1155 printf (" mx = 0x%x,", mx);
1156 printf (" sd = 0x%x,", sd);
1157 printf (" rsrc = 0x%x,", rsrc);
1158 printf (" rdst = 0x%x\n", rdst);
1160 SYNTAX("itof %1%S1, %0");
1161 #line 933 "rx-decode.opc"
1162 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1164 /*----------------------------------------------------------------------*/
1173 switch (op[3] & 0x00)
1178 /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
1179 #line 1119 "rx-decode.opc"
1180 int mx AU = (op[1] >> 6) & 0x03;
1181 #line 1119 "rx-decode.opc"
1182 int sd AU = op[1] & 0x03;
1183 #line 1119 "rx-decode.opc"
1184 int rsrc AU = (op[3] >> 4) & 0x0f;
1185 #line 1119 "rx-decode.opc"
1186 int rdst AU = op[3] & 0x0f;
1189 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1190 "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
1191 op[0], op[1], op[2], op[3]);
1192 printf (" mx = 0x%x,", mx);
1193 printf (" sd = 0x%x,", sd);
1194 printf (" rsrc = 0x%x,", rsrc);
1195 printf (" rdst = 0x%x\n", rdst);
1197 SYNTAX("utof %1%S1, %0");
1198 #line 1119 "rx-decode.opc"
1199 ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1205 default: UNSUPPORTED(); break;
1210 switch (op[2] & 0xff)
1214 switch (op[3] & 0x00)
1217 goto op_semantics_7;
1223 switch (op[3] & 0x00)
1226 goto op_semantics_8;
1232 switch (op[3] & 0x00)
1235 goto op_semantics_9;
1241 switch (op[3] & 0x00)
1244 goto op_semantics_10;
1250 switch (op[3] & 0x00)
1253 goto op_semantics_11;
1259 switch (op[3] & 0x00)
1262 goto op_semantics_12;
1268 switch (op[3] & 0x00)
1271 goto op_semantics_13;
1277 switch (op[3] & 0x00)
1280 goto op_semantics_14;
1286 switch (op[3] & 0x00)
1289 goto op_semantics_15;
1295 switch (op[3] & 0x00)
1298 goto op_semantics_16;
1304 switch (op[3] & 0x00)
1307 goto op_semantics_17;
1313 switch (op[3] & 0x00)
1316 goto op_semantics_18;
1320 default: UNSUPPORTED(); break;
1325 switch (op[2] & 0xff)
1329 switch (op[3] & 0x00)
1332 goto op_semantics_7;
1338 switch (op[3] & 0x00)
1341 goto op_semantics_8;
1347 switch (op[3] & 0x00)
1350 goto op_semantics_9;
1356 switch (op[3] & 0x00)
1359 goto op_semantics_10;
1365 switch (op[3] & 0x00)
1368 goto op_semantics_11;
1374 switch (op[3] & 0x00)
1377 goto op_semantics_12;
1383 switch (op[3] & 0x00)
1386 goto op_semantics_13;
1392 switch (op[3] & 0x00)
1395 goto op_semantics_14;
1401 switch (op[3] & 0x00)
1404 goto op_semantics_15;
1410 switch (op[3] & 0x00)
1413 goto op_semantics_16;
1419 switch (op[3] & 0x00)
1422 goto op_semantics_17;
1428 switch (op[3] & 0x00)
1431 goto op_semantics_18;
1435 default: UNSUPPORTED(); break;
1440 switch (op[2] & 0xff)
1444 switch (op[3] & 0x00)
1447 goto op_semantics_7;
1453 switch (op[3] & 0x00)
1456 goto op_semantics_8;
1462 switch (op[3] & 0x00)
1465 goto op_semantics_9;
1471 switch (op[3] & 0x00)
1474 goto op_semantics_10;
1480 switch (op[3] & 0x00)
1483 goto op_semantics_11;
1489 switch (op[3] & 0x00)
1492 goto op_semantics_12;
1498 switch (op[3] & 0x00)
1501 goto op_semantics_13;
1507 switch (op[3] & 0x00)
1510 goto op_semantics_14;
1516 switch (op[3] & 0x00)
1519 goto op_semantics_15;
1525 switch (op[3] & 0x00)
1528 goto op_semantics_16;
1534 switch (op[3] & 0x00)
1537 goto op_semantics_17;
1543 switch (op[3] & 0x00)
1546 goto op_semantics_18;
1550 default: UNSUPPORTED(); break;
1555 switch (op[2] & 0x00)
1558 goto op_semantics_1;
1564 switch (op[2] & 0x00)
1567 goto op_semantics_1;
1573 switch (op[2] & 0x00)
1576 goto op_semantics_1;
1582 switch (op[2] & 0x00)
1585 goto op_semantics_1;
1591 switch (op[2] & 0x00)
1594 goto op_semantics_2;
1600 switch (op[2] & 0x00)
1603 goto op_semantics_2;
1609 switch (op[2] & 0x00)
1612 goto op_semantics_2;
1618 switch (op[2] & 0x00)
1621 goto op_semantics_2;
1627 switch (op[2] & 0x00)
1630 goto op_semantics_3;
1636 switch (op[2] & 0x00)
1639 goto op_semantics_3;
1645 switch (op[2] & 0x00)
1648 goto op_semantics_3;
1654 switch (op[2] & 0x00)
1657 goto op_semantics_3;
1663 switch (op[2] & 0x00)
1666 goto op_semantics_4;
1672 switch (op[2] & 0x00)
1675 goto op_semantics_4;
1681 switch (op[2] & 0x00)
1684 goto op_semantics_4;
1690 switch (op[2] & 0x00)
1693 goto op_semantics_4;
1699 switch (op[2] & 0x00)
1702 goto op_semantics_5;
1708 switch (op[2] & 0x00)
1711 goto op_semantics_5;
1717 switch (op[2] & 0x00)
1720 goto op_semantics_5;
1726 switch (op[2] & 0x00)
1729 goto op_semantics_5;
1735 switch (op[2] & 0x00)
1738 goto op_semantics_6;
1744 switch (op[2] & 0x00)
1747 goto op_semantics_6;
1753 switch (op[2] & 0x00)
1756 goto op_semantics_6;
1762 switch (op[2] & 0x00)
1765 goto op_semantics_6;
1771 switch (op[2] & 0xff)
1775 switch (op[3] & 0x00)
1778 goto op_semantics_7;
1784 switch (op[3] & 0x00)
1787 goto op_semantics_8;
1793 switch (op[3] & 0x00)
1796 goto op_semantics_9;
1802 switch (op[3] & 0x00)
1805 goto op_semantics_10;
1811 switch (op[3] & 0x00)
1814 goto op_semantics_11;
1820 switch (op[3] & 0x00)
1823 goto op_semantics_12;
1829 switch (op[3] & 0x00)
1832 goto op_semantics_13;
1838 switch (op[3] & 0x00)
1841 goto op_semantics_14;
1847 switch (op[3] & 0x00)
1850 goto op_semantics_15;
1856 switch (op[3] & 0x00)
1859 goto op_semantics_16;
1865 switch (op[3] & 0x00)
1868 goto op_semantics_17;
1874 switch (op[3] & 0x00)
1877 goto op_semantics_18;
1881 default: UNSUPPORTED(); break;
1886 switch (op[2] & 0xff)
1890 switch (op[3] & 0x00)
1893 goto op_semantics_7;
1899 switch (op[3] & 0x00)
1902 goto op_semantics_8;
1908 switch (op[3] & 0x00)
1911 goto op_semantics_9;
1917 switch (op[3] & 0x00)
1920 goto op_semantics_10;
1926 switch (op[3] & 0x00)
1929 goto op_semantics_11;
1935 switch (op[3] & 0x00)
1938 goto op_semantics_12;
1944 switch (op[3] & 0x00)
1947 goto op_semantics_13;
1953 switch (op[3] & 0x00)
1956 goto op_semantics_14;
1962 switch (op[3] & 0x00)
1965 goto op_semantics_15;
1971 switch (op[3] & 0x00)
1974 goto op_semantics_16;
1980 switch (op[3] & 0x00)
1983 goto op_semantics_17;
1989 switch (op[3] & 0x00)
1992 goto op_semantics_18;
1996 default: UNSUPPORTED(); break;
2001 switch (op[2] & 0xff)
2005 switch (op[3] & 0x00)
2008 goto op_semantics_7;
2014 switch (op[3] & 0x00)
2017 goto op_semantics_8;
2023 switch (op[3] & 0x00)
2026 goto op_semantics_9;
2032 switch (op[3] & 0x00)
2035 goto op_semantics_10;
2041 switch (op[3] & 0x00)
2044 goto op_semantics_11;
2050 switch (op[3] & 0x00)
2053 goto op_semantics_12;
2059 switch (op[3] & 0x00)
2062 goto op_semantics_13;
2068 switch (op[3] & 0x00)
2071 goto op_semantics_14;
2077 switch (op[3] & 0x00)
2080 goto op_semantics_15;
2086 switch (op[3] & 0x00)
2089 goto op_semantics_16;
2095 switch (op[3] & 0x00)
2098 goto op_semantics_17;
2104 switch (op[3] & 0x00)
2107 goto op_semantics_18;
2111 default: UNSUPPORTED(); break;
2116 switch (op[2] & 0xff)
2120 switch (op[3] & 0x00)
2123 goto op_semantics_7;
2129 switch (op[3] & 0x00)
2132 goto op_semantics_8;
2138 switch (op[3] & 0x00)
2141 goto op_semantics_9;
2147 switch (op[3] & 0x00)
2150 goto op_semantics_10;
2156 switch (op[3] & 0x00)
2159 goto op_semantics_11;
2165 switch (op[3] & 0x00)
2168 goto op_semantics_12;
2174 switch (op[3] & 0x00)
2177 goto op_semantics_13;
2183 switch (op[3] & 0x00)
2186 goto op_semantics_14;
2192 switch (op[3] & 0x00)
2195 goto op_semantics_15;
2201 switch (op[3] & 0x00)
2204 goto op_semantics_16;
2210 switch (op[3] & 0x00)
2213 goto op_semantics_17;
2219 switch (op[3] & 0x00)
2222 goto op_semantics_18;
2226 default: UNSUPPORTED(); break;
2231 switch (op[2] & 0x00)
2234 goto op_semantics_1;
2240 switch (op[2] & 0x00)
2243 goto op_semantics_1;
2249 switch (op[2] & 0x00)
2252 goto op_semantics_1;
2258 switch (op[2] & 0x00)
2261 goto op_semantics_1;
2267 switch (op[2] & 0x00)
2270 goto op_semantics_2;
2276 switch (op[2] & 0x00)
2279 goto op_semantics_2;
2285 switch (op[2] & 0x00)
2288 goto op_semantics_2;
2294 switch (op[2] & 0x00)
2297 goto op_semantics_2;
2303 switch (op[2] & 0x00)
2306 goto op_semantics_3;
2312 switch (op[2] & 0x00)
2315 goto op_semantics_3;
2321 switch (op[2] & 0x00)
2324 goto op_semantics_3;
2330 switch (op[2] & 0x00)
2333 goto op_semantics_3;
2339 switch (op[2] & 0x00)
2342 goto op_semantics_4;
2348 switch (op[2] & 0x00)
2351 goto op_semantics_4;
2357 switch (op[2] & 0x00)
2360 goto op_semantics_4;
2366 switch (op[2] & 0x00)
2369 goto op_semantics_4;
2375 switch (op[2] & 0x00)
2378 goto op_semantics_5;
2384 switch (op[2] & 0x00)
2387 goto op_semantics_5;
2393 switch (op[2] & 0x00)
2396 goto op_semantics_5;
2402 switch (op[2] & 0x00)
2405 goto op_semantics_5;
2411 switch (op[2] & 0x00)
2414 goto op_semantics_6;
2420 switch (op[2] & 0x00)
2423 goto op_semantics_6;
2429 switch (op[2] & 0x00)
2432 goto op_semantics_6;
2438 switch (op[2] & 0x00)
2441 goto op_semantics_6;
2447 switch (op[2] & 0xff)
2451 switch (op[3] & 0x00)
2454 goto op_semantics_7;
2460 switch (op[3] & 0x00)
2465 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2466 #line 498 "rx-decode.opc"
2467 int ss AU = op[1] & 0x03;
2468 #line 498 "rx-decode.opc"
2469 int rsrc AU = (op[3] >> 4) & 0x0f;
2470 #line 498 "rx-decode.opc"
2471 int rdst AU = op[3] & 0x0f;
2474 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2475 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2476 op[0], op[1], op[2], op[3]);
2477 printf (" ss = 0x%x,", ss);
2478 printf (" rsrc = 0x%x,", rsrc);
2479 printf (" rdst = 0x%x\n", rdst);
2481 SYNTAX("adc %1%S1, %0");
2482 #line 498 "rx-decode.opc"
2483 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2485 /*----------------------------------------------------------------------*/
2494 switch (op[3] & 0x00)
2497 goto op_semantics_8;
2503 switch (op[3] & 0x00)
2506 goto op_semantics_9;
2512 switch (op[3] & 0x00)
2515 goto op_semantics_10;
2521 switch (op[3] & 0x00)
2524 goto op_semantics_11;
2530 switch (op[3] & 0x00)
2533 goto op_semantics_12;
2539 switch (op[3] & 0x00)
2542 goto op_semantics_13;
2548 switch (op[3] & 0x00)
2551 goto op_semantics_14;
2557 switch (op[3] & 0x00)
2560 goto op_semantics_15;
2566 switch (op[3] & 0x00)
2569 goto op_semantics_16;
2575 switch (op[3] & 0x00)
2578 goto op_semantics_17;
2584 switch (op[3] & 0x00)
2587 goto op_semantics_18;
2591 default: UNSUPPORTED(); break;
2596 switch (op[2] & 0xff)
2600 switch (op[3] & 0x00)
2603 goto op_semantics_7;
2609 switch (op[3] & 0x00)
2612 goto op_semantics_19;
2618 switch (op[3] & 0x00)
2621 goto op_semantics_8;
2627 switch (op[3] & 0x00)
2630 goto op_semantics_9;
2636 switch (op[3] & 0x00)
2639 goto op_semantics_10;
2645 switch (op[3] & 0x00)
2648 goto op_semantics_11;
2654 switch (op[3] & 0x00)
2657 goto op_semantics_12;
2663 switch (op[3] & 0x00)
2666 goto op_semantics_13;
2672 switch (op[3] & 0x00)
2675 goto op_semantics_14;
2681 switch (op[3] & 0x00)
2684 goto op_semantics_15;
2690 switch (op[3] & 0x00)
2693 goto op_semantics_16;
2699 switch (op[3] & 0x00)
2702 goto op_semantics_17;
2708 switch (op[3] & 0x00)
2711 goto op_semantics_18;
2715 default: UNSUPPORTED(); break;
2720 switch (op[2] & 0xff)
2724 switch (op[3] & 0x00)
2727 goto op_semantics_7;
2733 switch (op[3] & 0x00)
2736 goto op_semantics_19;
2742 switch (op[3] & 0x00)
2745 goto op_semantics_8;
2751 switch (op[3] & 0x00)
2754 goto op_semantics_9;
2760 switch (op[3] & 0x00)
2763 goto op_semantics_10;
2769 switch (op[3] & 0x00)
2772 goto op_semantics_11;
2778 switch (op[3] & 0x00)
2781 goto op_semantics_12;
2787 switch (op[3] & 0x00)
2790 goto op_semantics_13;
2796 switch (op[3] & 0x00)
2799 goto op_semantics_14;
2805 switch (op[3] & 0x00)
2808 goto op_semantics_15;
2814 switch (op[3] & 0x00)
2817 goto op_semantics_16;
2823 switch (op[3] & 0x00)
2826 goto op_semantics_17;
2832 switch (op[3] & 0x00)
2835 goto op_semantics_18;
2839 default: UNSUPPORTED(); break;
2844 switch (op[2] & 0xff)
2848 switch (op[3] & 0x00)
2851 goto op_semantics_7;
2857 switch (op[3] & 0x00)
2860 goto op_semantics_19;
2866 switch (op[3] & 0x00)
2869 goto op_semantics_8;
2875 switch (op[3] & 0x00)
2878 goto op_semantics_9;
2884 switch (op[3] & 0x00)
2887 goto op_semantics_10;
2893 switch (op[3] & 0x00)
2896 goto op_semantics_11;
2902 switch (op[3] & 0x00)
2905 goto op_semantics_12;
2911 switch (op[3] & 0x00)
2914 goto op_semantics_13;
2920 switch (op[3] & 0x00)
2923 goto op_semantics_14;
2929 switch (op[3] & 0x00)
2932 goto op_semantics_15;
2938 switch (op[3] & 0x00)
2941 goto op_semantics_16;
2947 switch (op[3] & 0x00)
2950 goto op_semantics_17;
2956 switch (op[3] & 0x00)
2959 goto op_semantics_18;
2963 default: UNSUPPORTED(); break;
2968 switch (op[2] & 0x00)
2971 goto op_semantics_1;
2977 switch (op[2] & 0x00)
2980 goto op_semantics_1;
2986 switch (op[2] & 0x00)
2989 goto op_semantics_1;
2995 switch (op[2] & 0x00)
2998 goto op_semantics_1;
3004 switch (op[2] & 0x00)
3007 goto op_semantics_2;
3013 switch (op[2] & 0x00)
3016 goto op_semantics_2;
3022 switch (op[2] & 0x00)
3025 goto op_semantics_2;
3031 switch (op[2] & 0x00)
3034 goto op_semantics_2;
3040 switch (op[2] & 0x00)
3043 goto op_semantics_3;
3049 switch (op[2] & 0x00)
3052 goto op_semantics_3;
3058 switch (op[2] & 0x00)
3061 goto op_semantics_3;
3067 switch (op[2] & 0x00)
3070 goto op_semantics_3;
3076 switch (op[2] & 0x00)
3079 goto op_semantics_4;
3085 switch (op[2] & 0x00)
3088 goto op_semantics_4;
3094 switch (op[2] & 0x00)
3097 goto op_semantics_4;
3103 switch (op[2] & 0x00)
3106 goto op_semantics_4;
3112 switch (op[2] & 0x00)
3115 goto op_semantics_5;
3121 switch (op[2] & 0x00)
3124 goto op_semantics_5;
3130 switch (op[2] & 0x00)
3133 goto op_semantics_5;
3139 switch (op[2] & 0x00)
3142 goto op_semantics_5;
3148 switch (op[2] & 0x00)
3151 goto op_semantics_6;
3157 switch (op[2] & 0x00)
3160 goto op_semantics_6;
3166 switch (op[2] & 0x00)
3169 goto op_semantics_6;
3175 switch (op[2] & 0x00)
3178 goto op_semantics_6;
3184 switch (op[2] & 0xff)
3188 switch (op[3] & 0x00)
3191 goto op_semantics_7;
3197 switch (op[3] & 0x00)
3200 goto op_semantics_8;
3206 switch (op[3] & 0x00)
3209 goto op_semantics_9;
3215 switch (op[3] & 0x00)
3218 goto op_semantics_10;
3224 switch (op[3] & 0x00)
3227 goto op_semantics_11;
3233 switch (op[3] & 0x00)
3236 goto op_semantics_12;
3242 switch (op[3] & 0x00)
3245 goto op_semantics_13;
3251 switch (op[3] & 0x00)
3254 goto op_semantics_14;
3260 switch (op[3] & 0x00)
3263 goto op_semantics_15;
3269 switch (op[3] & 0x00)
3272 goto op_semantics_16;
3278 switch (op[3] & 0x00)
3281 goto op_semantics_17;
3287 switch (op[3] & 0x00)
3290 goto op_semantics_18;
3294 default: UNSUPPORTED(); break;
3299 switch (op[2] & 0xff)
3303 switch (op[3] & 0x00)
3306 goto op_semantics_7;
3312 switch (op[3] & 0x00)
3315 goto op_semantics_8;
3321 switch (op[3] & 0x00)
3324 goto op_semantics_9;
3330 switch (op[3] & 0x00)
3333 goto op_semantics_10;
3339 switch (op[3] & 0x00)
3342 goto op_semantics_11;
3348 switch (op[3] & 0x00)
3351 goto op_semantics_12;
3357 switch (op[3] & 0x00)
3360 goto op_semantics_13;
3366 switch (op[3] & 0x00)
3369 goto op_semantics_14;
3375 switch (op[3] & 0x00)
3378 goto op_semantics_15;
3384 switch (op[3] & 0x00)
3387 goto op_semantics_16;
3393 switch (op[3] & 0x00)
3396 goto op_semantics_17;
3402 switch (op[3] & 0x00)
3405 goto op_semantics_18;
3409 default: UNSUPPORTED(); break;
3414 switch (op[2] & 0xff)
3418 switch (op[3] & 0x00)
3421 goto op_semantics_7;
3427 switch (op[3] & 0x00)
3430 goto op_semantics_8;
3436 switch (op[3] & 0x00)
3439 goto op_semantics_9;
3445 switch (op[3] & 0x00)
3448 goto op_semantics_10;
3454 switch (op[3] & 0x00)
3457 goto op_semantics_11;
3463 switch (op[3] & 0x00)
3466 goto op_semantics_12;
3472 switch (op[3] & 0x00)
3475 goto op_semantics_13;
3481 switch (op[3] & 0x00)
3484 goto op_semantics_14;
3490 switch (op[3] & 0x00)
3493 goto op_semantics_15;
3499 switch (op[3] & 0x00)
3502 goto op_semantics_16;
3508 switch (op[3] & 0x00)
3511 goto op_semantics_17;
3517 switch (op[3] & 0x00)
3520 goto op_semantics_18;
3524 default: UNSUPPORTED(); break;
3529 switch (op[2] & 0xff)
3533 switch (op[3] & 0x00)
3536 goto op_semantics_7;
3542 switch (op[3] & 0x00)
3545 goto op_semantics_8;
3551 switch (op[3] & 0x00)
3554 goto op_semantics_9;
3560 switch (op[3] & 0x00)
3563 goto op_semantics_10;
3569 switch (op[3] & 0x00)
3572 goto op_semantics_11;
3578 switch (op[3] & 0x00)
3581 goto op_semantics_12;
3587 switch (op[3] & 0x00)
3590 goto op_semantics_13;
3596 switch (op[3] & 0x00)
3599 goto op_semantics_14;
3605 switch (op[3] & 0x00)
3608 goto op_semantics_15;
3614 switch (op[3] & 0x00)
3617 goto op_semantics_16;
3623 switch (op[3] & 0x00)
3626 goto op_semantics_17;
3632 switch (op[3] & 0x00)
3635 goto op_semantics_18;
3639 default: UNSUPPORTED(); break;
3642 default: UNSUPPORTED(); break;
3654 /** 0000 1dsp bra.s %a0 */
3655 #line 779 "rx-decode.opc"
3656 int dsp AU = op[0] & 0x07;
3659 printf ("\033[33m%s\033[0m %02x\n",
3660 "/** 0000 1dsp bra.s %a0 */",
3662 printf (" dsp = 0x%x\n", dsp);
3664 SYNTAX("bra.s %a0");
3665 #line 779 "rx-decode.opc"
3666 ID(branch); DC(pc + dsp3map[dsp]);
3687 /** 0001 n dsp b%1.s %a0 */
3688 #line 769 "rx-decode.opc"
3689 int n AU = (op[0] >> 3) & 0x01;
3690 #line 769 "rx-decode.opc"
3691 int dsp AU = op[0] & 0x07;
3694 printf ("\033[33m%s\033[0m %02x\n",
3695 "/** 0001 n dsp b%1.s %a0 */",
3697 printf (" n = 0x%x,", n);
3698 printf (" dsp = 0x%x\n", dsp);
3700 SYNTAX("b%1.s %a0");
3701 #line 769 "rx-decode.opc"
3702 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3722 /** 0010 cond b%1.b %a0 */
3723 #line 772 "rx-decode.opc"
3724 int cond AU = op[0] & 0x0f;
3727 printf ("\033[33m%s\033[0m %02x\n",
3728 "/** 0010 cond b%1.b %a0 */",
3730 printf (" cond = 0x%x\n", cond);
3732 SYNTAX("b%1.b %a0");
3733 #line 772 "rx-decode.opc"
3734 ID(branch); Scc(cond); DC(pc + IMMex (1));
3740 /** 0010 1110 bra.b %a0 */
3743 printf ("\033[33m%s\033[0m %02x\n",
3744 "/** 0010 1110 bra.b %a0 */",
3747 SYNTAX("bra.b %a0");
3748 #line 782 "rx-decode.opc"
3749 ID(branch); DC(pc + IMMex(1));
3755 /** 0011 1000 bra.w %a0 */
3758 printf ("\033[33m%s\033[0m %02x\n",
3759 "/** 0011 1000 bra.w %a0 */",
3762 SYNTAX("bra.w %a0");
3763 #line 785 "rx-decode.opc"
3764 ID(branch); DC(pc + IMMex(2));
3770 /** 0011 1001 bsr.w %a0 */
3773 printf ("\033[33m%s\033[0m %02x\n",
3774 "/** 0011 1001 bsr.w %a0 */",
3777 SYNTAX("bsr.w %a0");
3778 #line 801 "rx-decode.opc"
3779 ID(jsr); DC(pc + IMMex(2));
3786 /** 0011 101c b%1.w %a0 */
3787 #line 775 "rx-decode.opc"
3788 int c AU = op[0] & 0x01;
3791 printf ("\033[33m%s\033[0m %02x\n",
3792 "/** 0011 101c b%1.w %a0 */",
3794 printf (" c = 0x%x\n", c);
3796 SYNTAX("b%1.w %a0");
3797 #line 775 "rx-decode.opc"
3798 ID(branch); Scc(c); DC(pc + IMMex (2));
3805 switch (op[1] & 0x00)
3810 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3811 #line 311 "rx-decode.opc"
3812 int sz AU = op[0] & 0x03;
3813 #line 311 "rx-decode.opc"
3814 int d AU = (op[1] >> 7) & 0x01;
3815 #line 311 "rx-decode.opc"
3816 int dst AU = (op[1] >> 4) & 0x07;
3817 #line 311 "rx-decode.opc"
3818 int sppp AU = op[1] & 0x0f;
3821 printf ("\033[33m%s\033[0m %02x %02x\n",
3822 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3824 printf (" sz = 0x%x,", sz);
3825 printf (" d = 0x%x,", d);
3826 printf (" dst = 0x%x,", dst);
3827 printf (" sppp = 0x%x\n", sppp);
3829 SYNTAX("mov%s #%1, %0");
3830 #line 311 "rx-decode.opc"
3831 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3839 switch (op[1] & 0x00)
3842 goto op_semantics_20;
3848 switch (op[1] & 0x00)
3851 goto op_semantics_20;
3857 switch (op[1] & 0x00)
3861 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3862 #line 408 "rx-decode.opc"
3863 int rega AU = (op[1] >> 4) & 0x0f;
3864 #line 408 "rx-decode.opc"
3865 int regb AU = op[1] & 0x0f;
3868 printf ("\033[33m%s\033[0m %02x %02x\n",
3869 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3871 printf (" rega = 0x%x,", rega);
3872 printf (" regb = 0x%x\n", regb);
3874 SYNTAX("rtsd #%1, %2-%0");
3875 #line 408 "rx-decode.opc"
3876 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3878 /*----------------------------------------------------------------------*/
3887 switch (op[1] & 0x00)
3892 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3893 #line 543 "rx-decode.opc"
3894 int ss AU = op[0] & 0x03;
3895 #line 543 "rx-decode.opc"
3896 int rsrc AU = (op[1] >> 4) & 0x0f;
3897 #line 543 "rx-decode.opc"
3898 int rdst AU = op[1] & 0x0f;
3901 printf ("\033[33m%s\033[0m %02x %02x\n",
3902 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3904 printf (" ss = 0x%x,", ss);
3905 printf (" rsrc = 0x%x,", rsrc);
3906 printf (" rdst = 0x%x\n", rdst);
3908 SYNTAX("sub %2%S2, %1");
3909 #line 543 "rx-decode.opc"
3910 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3918 switch (op[1] & 0x00)
3921 goto op_semantics_21;
3927 switch (op[1] & 0x00)
3930 goto op_semantics_21;
3936 switch (op[1] & 0x00)
3939 goto op_semantics_21;
3945 switch (op[1] & 0x00)
3950 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3951 #line 531 "rx-decode.opc"
3952 int ss AU = op[0] & 0x03;
3953 #line 531 "rx-decode.opc"
3954 int rsrc AU = (op[1] >> 4) & 0x0f;
3955 #line 531 "rx-decode.opc"
3956 int rdst AU = op[1] & 0x0f;
3959 printf ("\033[33m%s\033[0m %02x %02x\n",
3960 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3962 printf (" ss = 0x%x,", ss);
3963 printf (" rsrc = 0x%x,", rsrc);
3964 printf (" rdst = 0x%x\n", rdst);
3966 SYNTAX("cmp %2%S2, %1");
3967 #line 531 "rx-decode.opc"
3968 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3976 switch (op[1] & 0x00)
3979 goto op_semantics_22;
3985 switch (op[1] & 0x00)
3988 goto op_semantics_22;
3994 switch (op[1] & 0x00)
3997 goto op_semantics_22;
4003 switch (op[1] & 0x00)
4008 /** 0100 10ss rsrc rdst add %1%S1, %0 */
4009 #line 507 "rx-decode.opc"
4010 int ss AU = op[0] & 0x03;
4011 #line 507 "rx-decode.opc"
4012 int rsrc AU = (op[1] >> 4) & 0x0f;
4013 #line 507 "rx-decode.opc"
4014 int rdst AU = op[1] & 0x0f;
4017 printf ("\033[33m%s\033[0m %02x %02x\n",
4018 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
4020 printf (" ss = 0x%x,", ss);
4021 printf (" rsrc = 0x%x,", rsrc);
4022 printf (" rdst = 0x%x\n", rdst);
4024 SYNTAX("add %1%S1, %0");
4025 #line 507 "rx-decode.opc"
4026 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
4034 switch (op[1] & 0x00)
4037 goto op_semantics_23;
4043 switch (op[1] & 0x00)
4046 goto op_semantics_23;
4052 switch (op[1] & 0x00)
4055 goto op_semantics_23;
4061 switch (op[1] & 0x00)
4066 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
4067 #line 650 "rx-decode.opc"
4068 int ss AU = op[0] & 0x03;
4069 #line 650 "rx-decode.opc"
4070 int rsrc AU = (op[1] >> 4) & 0x0f;
4071 #line 650 "rx-decode.opc"
4072 int rdst AU = op[1] & 0x0f;
4075 printf ("\033[33m%s\033[0m %02x %02x\n",
4076 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
4078 printf (" ss = 0x%x,", ss);
4079 printf (" rsrc = 0x%x,", rsrc);
4080 printf (" rdst = 0x%x\n", rdst);
4082 SYNTAX("mul %1%S1, %0");
4083 #line 650 "rx-decode.opc"
4084 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
4092 switch (op[1] & 0x00)
4095 goto op_semantics_24;
4101 switch (op[1] & 0x00)
4104 goto op_semantics_24;
4110 switch (op[1] & 0x00)
4113 goto op_semantics_24;
4119 switch (op[1] & 0x00)
4124 /** 0101 00ss rsrc rdst and %1%S1, %0 */
4125 #line 420 "rx-decode.opc"
4126 int ss AU = op[0] & 0x03;
4127 #line 420 "rx-decode.opc"
4128 int rsrc AU = (op[1] >> 4) & 0x0f;
4129 #line 420 "rx-decode.opc"
4130 int rdst AU = op[1] & 0x0f;
4133 printf ("\033[33m%s\033[0m %02x %02x\n",
4134 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
4136 printf (" ss = 0x%x,", ss);
4137 printf (" rsrc = 0x%x,", rsrc);
4138 printf (" rdst = 0x%x\n", rdst);
4140 SYNTAX("and %1%S1, %0");
4141 #line 420 "rx-decode.opc"
4142 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
4150 switch (op[1] & 0x00)
4153 goto op_semantics_25;
4159 switch (op[1] & 0x00)
4162 goto op_semantics_25;
4168 switch (op[1] & 0x00)
4171 goto op_semantics_25;
4177 switch (op[1] & 0x00)
4182 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4183 #line 438 "rx-decode.opc"
4184 int ss AU = op[0] & 0x03;
4185 #line 438 "rx-decode.opc"
4186 int rsrc AU = (op[1] >> 4) & 0x0f;
4187 #line 438 "rx-decode.opc"
4188 int rdst AU = op[1] & 0x0f;
4191 printf ("\033[33m%s\033[0m %02x %02x\n",
4192 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4194 printf (" ss = 0x%x,", ss);
4195 printf (" rsrc = 0x%x,", rsrc);
4196 printf (" rdst = 0x%x\n", rdst);
4198 SYNTAX("or %1%S1, %0");
4199 #line 438 "rx-decode.opc"
4200 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4208 switch (op[1] & 0x00)
4211 goto op_semantics_26;
4217 switch (op[1] & 0x00)
4220 goto op_semantics_26;
4226 switch (op[1] & 0x00)
4229 goto op_semantics_26;
4235 switch (op[1] & 0x00)
4240 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4241 #line 359 "rx-decode.opc"
4242 int s AU = (op[0] >> 2) & 0x01;
4243 #line 359 "rx-decode.opc"
4244 int ss AU = op[0] & 0x03;
4245 #line 359 "rx-decode.opc"
4246 int rsrc AU = (op[1] >> 4) & 0x0f;
4247 #line 359 "rx-decode.opc"
4248 int rdst AU = op[1] & 0x0f;
4251 printf ("\033[33m%s\033[0m %02x %02x\n",
4252 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4254 printf (" s = 0x%x,", s);
4255 printf (" ss = 0x%x,", ss);
4256 printf (" rsrc = 0x%x,", rsrc);
4257 printf (" rdst = 0x%x\n", rdst);
4259 SYNTAX("movu%s %1, %0");
4260 #line 359 "rx-decode.opc"
4261 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4269 switch (op[1] & 0x00)
4272 goto op_semantics_27;
4278 switch (op[1] & 0x00)
4281 goto op_semantics_27;
4287 switch (op[1] & 0x00)
4290 goto op_semantics_27;
4296 switch (op[1] & 0x00)
4299 goto op_semantics_27;
4305 switch (op[1] & 0x00)
4308 goto op_semantics_27;
4314 switch (op[1] & 0x00)
4317 goto op_semantics_27;
4323 switch (op[1] & 0x00)
4326 goto op_semantics_27;
4332 switch (op[1] & 0x00)
4336 /** 0110 0000 immm rdst sub #%2, %0 */
4337 #line 540 "rx-decode.opc"
4338 int immm AU = (op[1] >> 4) & 0x0f;
4339 #line 540 "rx-decode.opc"
4340 int rdst AU = op[1] & 0x0f;
4343 printf ("\033[33m%s\033[0m %02x %02x\n",
4344 "/** 0110 0000 immm rdst sub #%2, %0 */",
4346 printf (" immm = 0x%x,", immm);
4347 printf (" rdst = 0x%x\n", rdst);
4349 SYNTAX("sub #%2, %0");
4350 #line 540 "rx-decode.opc"
4351 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4359 switch (op[1] & 0x00)
4363 /** 0110 0001 immm rdst cmp #%2, %1 */
4364 #line 522 "rx-decode.opc"
4365 int immm AU = (op[1] >> 4) & 0x0f;
4366 #line 522 "rx-decode.opc"
4367 int rdst AU = op[1] & 0x0f;
4370 printf ("\033[33m%s\033[0m %02x %02x\n",
4371 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4373 printf (" immm = 0x%x,", immm);
4374 printf (" rdst = 0x%x\n", rdst);
4376 SYNTAX("cmp #%2, %1");
4377 #line 522 "rx-decode.opc"
4378 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4386 switch (op[1] & 0x00)
4390 /** 0110 0010 immm rdst add #%1, %0 */
4391 #line 504 "rx-decode.opc"
4392 int immm AU = (op[1] >> 4) & 0x0f;
4393 #line 504 "rx-decode.opc"
4394 int rdst AU = op[1] & 0x0f;
4397 printf ("\033[33m%s\033[0m %02x %02x\n",
4398 "/** 0110 0010 immm rdst add #%1, %0 */",
4400 printf (" immm = 0x%x,", immm);
4401 printf (" rdst = 0x%x\n", rdst);
4403 SYNTAX("add #%1, %0");
4404 #line 504 "rx-decode.opc"
4405 ID(add); SC(immm); DR(rdst); F_OSZC;
4413 switch (op[1] & 0x00)
4417 /** 0110 0011 immm rdst mul #%1, %0 */
4418 #line 616 "rx-decode.opc"
4419 int immm AU = (op[1] >> 4) & 0x0f;
4420 #line 616 "rx-decode.opc"
4421 int rdst AU = op[1] & 0x0f;
4424 printf ("\033[33m%s\033[0m %02x %02x\n",
4425 "/** 0110 0011 immm rdst mul #%1, %0 */",
4427 printf (" immm = 0x%x,", immm);
4428 printf (" rdst = 0x%x\n", rdst);
4430 SYNTAX("mul #%1, %0");
4431 #line 616 "rx-decode.opc"
4432 if (immm == 1 && rdst == 0)
4435 SYNTAX ("nop\t; mul\t#1, r0");
4441 DR(rdst); SC(immm); F_____;
4449 switch (op[1] & 0x00)
4453 /** 0110 0100 immm rdst and #%1, %0 */
4454 #line 414 "rx-decode.opc"
4455 int immm AU = (op[1] >> 4) & 0x0f;
4456 #line 414 "rx-decode.opc"
4457 int rdst AU = op[1] & 0x0f;
4460 printf ("\033[33m%s\033[0m %02x %02x\n",
4461 "/** 0110 0100 immm rdst and #%1, %0 */",
4463 printf (" immm = 0x%x,", immm);
4464 printf (" rdst = 0x%x\n", rdst);
4466 SYNTAX("and #%1, %0");
4467 #line 414 "rx-decode.opc"
4468 ID(and); SC(immm); DR(rdst); F__SZ_;
4476 switch (op[1] & 0x00)
4480 /** 0110 0101 immm rdst or #%1, %0 */
4481 #line 432 "rx-decode.opc"
4482 int immm AU = (op[1] >> 4) & 0x0f;
4483 #line 432 "rx-decode.opc"
4484 int rdst AU = op[1] & 0x0f;
4487 printf ("\033[33m%s\033[0m %02x %02x\n",
4488 "/** 0110 0101 immm rdst or #%1, %0 */",
4490 printf (" immm = 0x%x,", immm);
4491 printf (" rdst = 0x%x\n", rdst);
4493 SYNTAX("or #%1, %0");
4494 #line 432 "rx-decode.opc"
4495 ID(or); SC(immm); DR(rdst); F__SZ_;
4503 switch (op[1] & 0x00)
4507 /** 0110 0110 immm rdst mov%s #%1, %0 */
4508 #line 308 "rx-decode.opc"
4509 int immm AU = (op[1] >> 4) & 0x0f;
4510 #line 308 "rx-decode.opc"
4511 int rdst AU = op[1] & 0x0f;
4514 printf ("\033[33m%s\033[0m %02x %02x\n",
4515 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4517 printf (" immm = 0x%x,", immm);
4518 printf (" rdst = 0x%x\n", rdst);
4520 SYNTAX("mov%s #%1, %0");
4521 #line 308 "rx-decode.opc"
4522 ID(mov); DR(rdst); SC(immm); F_____;
4530 /** 0110 0111 rtsd #%1 */
4533 printf ("\033[33m%s\033[0m %02x\n",
4534 "/** 0110 0111 rtsd #%1 */",
4538 #line 405 "rx-decode.opc"
4539 ID(rtsd); SC(IMM(1) * 4);
4545 switch (op[1] & 0x00)
4550 /** 0110 100i mmmm rdst shlr #%2, %0 */
4551 #line 730 "rx-decode.opc"
4552 int i AU = op[0] & 0x01;
4553 #line 730 "rx-decode.opc"
4554 int mmmm AU = (op[1] >> 4) & 0x0f;
4555 #line 730 "rx-decode.opc"
4556 int rdst AU = op[1] & 0x0f;
4559 printf ("\033[33m%s\033[0m %02x %02x\n",
4560 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4562 printf (" i = 0x%x,", i);
4563 printf (" mmmm = 0x%x,", mmmm);
4564 printf (" rdst = 0x%x\n", rdst);
4566 SYNTAX("shlr #%2, %0");
4567 #line 730 "rx-decode.opc"
4568 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4576 switch (op[1] & 0x00)
4579 goto op_semantics_28;
4585 switch (op[1] & 0x00)
4590 /** 0110 101i mmmm rdst shar #%2, %0 */
4591 #line 720 "rx-decode.opc"
4592 int i AU = op[0] & 0x01;
4593 #line 720 "rx-decode.opc"
4594 int mmmm AU = (op[1] >> 4) & 0x0f;
4595 #line 720 "rx-decode.opc"
4596 int rdst AU = op[1] & 0x0f;
4599 printf ("\033[33m%s\033[0m %02x %02x\n",
4600 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4602 printf (" i = 0x%x,", i);
4603 printf (" mmmm = 0x%x,", mmmm);
4604 printf (" rdst = 0x%x\n", rdst);
4606 SYNTAX("shar #%2, %0");
4607 #line 720 "rx-decode.opc"
4608 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4616 switch (op[1] & 0x00)
4619 goto op_semantics_29;
4625 switch (op[1] & 0x00)
4630 /** 0110 110i mmmm rdst shll #%2, %0 */
4631 #line 710 "rx-decode.opc"
4632 int i AU = op[0] & 0x01;
4633 #line 710 "rx-decode.opc"
4634 int mmmm AU = (op[1] >> 4) & 0x0f;
4635 #line 710 "rx-decode.opc"
4636 int rdst AU = op[1] & 0x0f;
4639 printf ("\033[33m%s\033[0m %02x %02x\n",
4640 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4642 printf (" i = 0x%x,", i);
4643 printf (" mmmm = 0x%x,", mmmm);
4644 printf (" rdst = 0x%x\n", rdst);
4646 SYNTAX("shll #%2, %0");
4647 #line 710 "rx-decode.opc"
4648 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4656 switch (op[1] & 0x00)
4659 goto op_semantics_30;
4665 switch (op[1] & 0x00)
4669 /** 0110 1110 dsta dstb pushm %1-%2 */
4670 #line 372 "rx-decode.opc"
4671 int dsta AU = (op[1] >> 4) & 0x0f;
4672 #line 372 "rx-decode.opc"
4673 int dstb AU = op[1] & 0x0f;
4676 printf ("\033[33m%s\033[0m %02x %02x\n",
4677 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4679 printf (" dsta = 0x%x,", dsta);
4680 printf (" dstb = 0x%x\n", dstb);
4682 SYNTAX("pushm %1-%2");
4683 #line 372 "rx-decode.opc"
4684 ID(pushm); SR(dsta); S2R(dstb); F_____;
4692 switch (op[1] & 0x00)
4696 /** 0110 1111 dsta dstb popm %1-%2 */
4697 #line 369 "rx-decode.opc"
4698 int dsta AU = (op[1] >> 4) & 0x0f;
4699 #line 369 "rx-decode.opc"
4700 int dstb AU = op[1] & 0x0f;
4703 printf ("\033[33m%s\033[0m %02x %02x\n",
4704 "/** 0110 1111 dsta dstb popm %1-%2 */",
4706 printf (" dsta = 0x%x,", dsta);
4707 printf (" dstb = 0x%x\n", dstb);
4709 SYNTAX("popm %1-%2");
4710 #line 369 "rx-decode.opc"
4711 ID(popm); SR(dsta); S2R(dstb); F_____;
4719 switch (op[1] & 0x00)
4724 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4725 #line 513 "rx-decode.opc"
4726 int im AU = op[0] & 0x03;
4727 #line 513 "rx-decode.opc"
4728 int rsrc AU = (op[1] >> 4) & 0x0f;
4729 #line 513 "rx-decode.opc"
4730 int rdst AU = op[1] & 0x0f;
4733 printf ("\033[33m%s\033[0m %02x %02x\n",
4734 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4736 printf (" im = 0x%x,", im);
4737 printf (" rsrc = 0x%x,", rsrc);
4738 printf (" rdst = 0x%x\n", rdst);
4740 SYNTAX("add #%1, %2, %0");
4741 #line 513 "rx-decode.opc"
4742 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4750 switch (op[1] & 0x00)
4753 goto op_semantics_31;
4759 switch (op[1] & 0x00)
4762 goto op_semantics_31;
4768 switch (op[1] & 0x00)
4771 goto op_semantics_31;
4777 switch (op[1] & 0xf0)
4782 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4783 #line 525 "rx-decode.opc"
4784 int im AU = op[0] & 0x03;
4785 #line 525 "rx-decode.opc"
4786 int rsrc AU = op[1] & 0x0f;
4789 printf ("\033[33m%s\033[0m %02x %02x\n",
4790 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4792 printf (" im = 0x%x,", im);
4793 printf (" rsrc = 0x%x\n", rsrc);
4795 SYNTAX("cmp #%2, %1%S1");
4796 #line 525 "rx-decode.opc"
4797 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4804 /** 0111 01im 0001rdst mul #%1, %0 */
4805 #line 628 "rx-decode.opc"
4806 int im AU = op[0] & 0x03;
4807 #line 628 "rx-decode.opc"
4808 int rdst AU = op[1] & 0x0f;
4811 printf ("\033[33m%s\033[0m %02x %02x\n",
4812 "/** 0111 01im 0001rdst mul #%1, %0 */",
4814 printf (" im = 0x%x,", im);
4815 printf (" rdst = 0x%x\n", rdst);
4817 SYNTAX("mul #%1, %0");
4818 #line 628 "rx-decode.opc"
4819 int val = IMMex(im);
4820 if (val == 1 && rdst == 0)
4822 SYNTAX("nop\t; mul\t#1, r0");
4825 case 2: ID(nop4); break;
4826 case 3: ID(nop5); break;
4827 case 0: ID(nop6); break;
4830 SYNTAX("mul #%1, %0");
4838 DR(rdst); SC(val); F_____;
4845 /** 0111 01im 0010 rdst and #%1, %0 */
4846 #line 417 "rx-decode.opc"
4847 int im AU = op[0] & 0x03;
4848 #line 417 "rx-decode.opc"
4849 int rdst AU = op[1] & 0x0f;
4852 printf ("\033[33m%s\033[0m %02x %02x\n",
4853 "/** 0111 01im 0010 rdst and #%1, %0 */",
4855 printf (" im = 0x%x,", im);
4856 printf (" rdst = 0x%x\n", rdst);
4858 SYNTAX("and #%1, %0");
4859 #line 417 "rx-decode.opc"
4860 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4867 /** 0111 01im 0011 rdst or #%1, %0 */
4868 #line 435 "rx-decode.opc"
4869 int im AU = op[0] & 0x03;
4870 #line 435 "rx-decode.opc"
4871 int rdst AU = op[1] & 0x0f;
4874 printf ("\033[33m%s\033[0m %02x %02x\n",
4875 "/** 0111 01im 0011 rdst or #%1, %0 */",
4877 printf (" im = 0x%x,", im);
4878 printf (" rdst = 0x%x\n", rdst);
4880 SYNTAX("or #%1, %0");
4881 #line 435 "rx-decode.opc"
4882 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4886 default: UNSUPPORTED(); break;
4891 switch (op[1] & 0xff)
4909 goto op_semantics_32;
4927 goto op_semantics_33;
4945 goto op_semantics_34;
4963 goto op_semantics_35;
4982 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4983 #line 289 "rx-decode.opc"
4984 int rdst AU = op[1] & 0x0f;
4987 printf ("\033[33m%s\033[0m %02x %02x\n",
4988 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4990 printf (" rdst = 0x%x\n", rdst);
4992 SYNTAX("mov%s #%1, %0");
4993 #line 289 "rx-decode.opc"
4994 ID(mov); DR(rdst); SC(IMM (1)); F_____;
5015 /** 0111 0101 0101 rsrc cmp #%2, %1 */
5016 #line 528 "rx-decode.opc"
5017 int rsrc AU = op[1] & 0x0f;
5020 printf ("\033[33m%s\033[0m %02x %02x\n",
5021 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
5023 printf (" rsrc = 0x%x\n", rsrc);
5025 SYNTAX("cmp #%2, %1");
5026 #line 528 "rx-decode.opc"
5027 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
5033 /** 0111 0101 0110 0000 int #%1 */
5036 printf ("\033[33m%s\033[0m %02x %02x\n",
5037 "/** 0111 0101 0110 0000 int #%1 */",
5041 #line 1035 "rx-decode.opc"
5042 ID(int); SC(IMM(1));
5048 switch (op[2] & 0xf0)
5052 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
5053 #line 1002 "rx-decode.opc"
5054 int immm AU = op[2] & 0x0f;
5057 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
5058 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
5059 op[0], op[1], op[2]);
5060 printf (" immm = 0x%x\n", immm);
5062 SYNTAX("mvtipl #%1");
5063 #line 1002 "rx-decode.opc"
5064 ID(mvtipl); SC(immm);
5068 default: UNSUPPORTED(); break;
5071 default: UNSUPPORTED(); break;
5076 switch (op[1] & 0xf0)
5079 goto op_semantics_32;
5082 goto op_semantics_33;
5085 goto op_semantics_34;
5088 goto op_semantics_35;
5090 default: UNSUPPORTED(); break;
5095 switch (op[1] & 0xf0)
5098 goto op_semantics_32;
5101 goto op_semantics_33;
5104 goto op_semantics_34;
5107 goto op_semantics_35;
5109 default: UNSUPPORTED(); break;
5114 switch (op[1] & 0x00)
5119 /** 0111 100b ittt rdst bset #%1, %0 */
5120 #line 947 "rx-decode.opc"
5121 int b AU = op[0] & 0x01;
5122 #line 947 "rx-decode.opc"
5123 int ittt AU = (op[1] >> 4) & 0x0f;
5124 #line 947 "rx-decode.opc"
5125 int rdst AU = op[1] & 0x0f;
5128 printf ("\033[33m%s\033[0m %02x %02x\n",
5129 "/** 0111 100b ittt rdst bset #%1, %0 */",
5131 printf (" b = 0x%x,", b);
5132 printf (" ittt = 0x%x,", ittt);
5133 printf (" rdst = 0x%x\n", rdst);
5135 SYNTAX("bset #%1, %0");
5136 #line 947 "rx-decode.opc"
5137 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5146 switch (op[1] & 0x00)
5149 goto op_semantics_36;
5155 switch (op[1] & 0x00)
5160 /** 0111 101b ittt rdst bclr #%1, %0 */
5161 #line 959 "rx-decode.opc"
5162 int b AU = op[0] & 0x01;
5163 #line 959 "rx-decode.opc"
5164 int ittt AU = (op[1] >> 4) & 0x0f;
5165 #line 959 "rx-decode.opc"
5166 int rdst AU = op[1] & 0x0f;
5169 printf ("\033[33m%s\033[0m %02x %02x\n",
5170 "/** 0111 101b ittt rdst bclr #%1, %0 */",
5172 printf (" b = 0x%x,", b);
5173 printf (" ittt = 0x%x,", ittt);
5174 printf (" rdst = 0x%x\n", rdst);
5176 SYNTAX("bclr #%1, %0");
5177 #line 959 "rx-decode.opc"
5178 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5187 switch (op[1] & 0x00)
5190 goto op_semantics_37;
5196 switch (op[1] & 0x00)
5201 /** 0111 110b ittt rdst btst #%2, %1 */
5202 #line 971 "rx-decode.opc"
5203 int b AU = op[0] & 0x01;
5204 #line 971 "rx-decode.opc"
5205 int ittt AU = (op[1] >> 4) & 0x0f;
5206 #line 971 "rx-decode.opc"
5207 int rdst AU = op[1] & 0x0f;
5210 printf ("\033[33m%s\033[0m %02x %02x\n",
5211 "/** 0111 110b ittt rdst btst #%2, %1 */",
5213 printf (" b = 0x%x,", b);
5214 printf (" ittt = 0x%x,", ittt);
5215 printf (" rdst = 0x%x\n", rdst);
5217 SYNTAX("btst #%2, %1");
5218 #line 971 "rx-decode.opc"
5219 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5228 switch (op[1] & 0x00)
5231 goto op_semantics_38;
5237 switch (op[1] & 0xf0)
5241 /** 0111 1110 0000 rdst not %0 */
5242 #line 462 "rx-decode.opc"
5243 int rdst AU = op[1] & 0x0f;
5246 printf ("\033[33m%s\033[0m %02x %02x\n",
5247 "/** 0111 1110 0000 rdst not %0 */",
5249 printf (" rdst = 0x%x\n", rdst);
5252 #line 462 "rx-decode.opc"
5253 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5259 /** 0111 1110 0001 rdst neg %0 */
5260 #line 483 "rx-decode.opc"
5261 int rdst AU = op[1] & 0x0f;
5264 printf ("\033[33m%s\033[0m %02x %02x\n",
5265 "/** 0111 1110 0001 rdst neg %0 */",
5267 printf (" rdst = 0x%x\n", rdst);
5270 #line 483 "rx-decode.opc"
5271 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5277 /** 0111 1110 0010 rdst abs %0 */
5278 #line 565 "rx-decode.opc"
5279 int rdst AU = op[1] & 0x0f;
5282 printf ("\033[33m%s\033[0m %02x %02x\n",
5283 "/** 0111 1110 0010 rdst abs %0 */",
5285 printf (" rdst = 0x%x\n", rdst);
5288 #line 565 "rx-decode.opc"
5289 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5295 /** 0111 1110 0011 rdst sat %0 */
5296 #line 885 "rx-decode.opc"
5297 int rdst AU = op[1] & 0x0f;
5300 printf ("\033[33m%s\033[0m %02x %02x\n",
5301 "/** 0111 1110 0011 rdst sat %0 */",
5303 printf (" rdst = 0x%x\n", rdst);
5306 #line 885 "rx-decode.opc"
5313 /** 0111 1110 0100 rdst rorc %0 */
5314 #line 745 "rx-decode.opc"
5315 int rdst AU = op[1] & 0x0f;
5318 printf ("\033[33m%s\033[0m %02x %02x\n",
5319 "/** 0111 1110 0100 rdst rorc %0 */",
5321 printf (" rdst = 0x%x\n", rdst);
5324 #line 745 "rx-decode.opc"
5325 ID(rorc); DR(rdst); F__SZC;
5331 /** 0111 1110 0101 rdst rolc %0 */
5332 #line 742 "rx-decode.opc"
5333 int rdst AU = op[1] & 0x0f;
5336 printf ("\033[33m%s\033[0m %02x %02x\n",
5337 "/** 0111 1110 0101 rdst rolc %0 */",
5339 printf (" rdst = 0x%x\n", rdst);
5342 #line 742 "rx-decode.opc"
5343 ID(rolc); DR(rdst); F__SZC;
5351 /** 0111 1110 10sz rsrc push%s %1 */
5352 #line 378 "rx-decode.opc"
5353 int sz AU = (op[1] >> 4) & 0x03;
5354 #line 378 "rx-decode.opc"
5355 int rsrc AU = op[1] & 0x0f;
5358 printf ("\033[33m%s\033[0m %02x %02x\n",
5359 "/** 0111 1110 10sz rsrc push%s %1 */",
5361 printf (" sz = 0x%x,", sz);
5362 printf (" rsrc = 0x%x\n", rsrc);
5364 SYNTAX("push%s %1");
5365 #line 378 "rx-decode.opc"
5366 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5372 /** 0111 1110 1011 rdst pop %0 */
5373 #line 375 "rx-decode.opc"
5374 int rdst AU = op[1] & 0x0f;
5377 printf ("\033[33m%s\033[0m %02x %02x\n",
5378 "/** 0111 1110 1011 rdst pop %0 */",
5380 printf (" rdst = 0x%x\n", rdst);
5383 #line 375 "rx-decode.opc"
5384 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5391 /** 0111 1110 110 crsrc pushc %1 */
5392 #line 1008 "rx-decode.opc"
5393 int crsrc AU = op[1] & 0x1f;
5396 printf ("\033[33m%s\033[0m %02x %02x\n",
5397 "/** 0111 1110 110 crsrc pushc %1 */",
5399 printf (" crsrc = 0x%x\n", crsrc);
5402 #line 1008 "rx-decode.opc"
5403 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5410 /** 0111 1110 111 crdst popc %0 */
5411 #line 1005 "rx-decode.opc"
5412 int crdst AU = op[1] & 0x1f;
5415 printf ("\033[33m%s\033[0m %02x %02x\n",
5416 "/** 0111 1110 111 crdst popc %0 */",
5418 printf (" crdst = 0x%x\n", crdst);
5421 #line 1005 "rx-decode.opc"
5422 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5426 default: UNSUPPORTED(); break;
5431 switch (op[1] & 0xff)
5450 /** 0111 1111 0000 rsrc jmp %0 */
5451 #line 795 "rx-decode.opc"
5452 int rsrc AU = op[1] & 0x0f;
5455 printf ("\033[33m%s\033[0m %02x %02x\n",
5456 "/** 0111 1111 0000 rsrc jmp %0 */",
5458 printf (" rsrc = 0x%x\n", rsrc);
5461 #line 795 "rx-decode.opc"
5462 ID(branch); DR(rsrc);
5483 /** 0111 1111 0001 rsrc jsr %0 */
5484 #line 798 "rx-decode.opc"
5485 int rsrc AU = op[1] & 0x0f;
5488 printf ("\033[33m%s\033[0m %02x %02x\n",
5489 "/** 0111 1111 0001 rsrc jsr %0 */",
5491 printf (" rsrc = 0x%x\n", rsrc);
5494 #line 798 "rx-decode.opc"
5516 /** 0111 1111 0100 rsrc bra.l %0 */
5517 #line 791 "rx-decode.opc"
5518 int rsrc AU = op[1] & 0x0f;
5521 printf ("\033[33m%s\033[0m %02x %02x\n",
5522 "/** 0111 1111 0100 rsrc bra.l %0 */",
5524 printf (" rsrc = 0x%x\n", rsrc);
5527 #line 791 "rx-decode.opc"
5528 ID(branchrel); DR(rsrc);
5550 /** 0111 1111 0101 rsrc bsr.l %0 */
5551 #line 807 "rx-decode.opc"
5552 int rsrc AU = op[1] & 0x0f;
5555 printf ("\033[33m%s\033[0m %02x %02x\n",
5556 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5558 printf (" rsrc = 0x%x\n", rsrc);
5561 #line 807 "rx-decode.opc"
5562 ID(jsrrel); DR(rsrc);
5570 /** 0111 1111 1000 00sz suntil%s */
5571 #line 831 "rx-decode.opc"
5572 int sz AU = op[1] & 0x03;
5575 printf ("\033[33m%s\033[0m %02x %02x\n",
5576 "/** 0111 1111 1000 00sz suntil%s */",
5578 printf (" sz = 0x%x\n", sz);
5581 #line 831 "rx-decode.opc"
5582 ID(suntil); BWL(sz); F___ZC;
5588 /** 0111 1111 1000 0011 scmpu */
5591 printf ("\033[33m%s\033[0m %02x %02x\n",
5592 "/** 0111 1111 1000 0011 scmpu */",
5596 #line 822 "rx-decode.opc"
5605 /** 0111 1111 1000 01sz swhile%s */
5606 #line 834 "rx-decode.opc"
5607 int sz AU = op[1] & 0x03;
5610 printf ("\033[33m%s\033[0m %02x %02x\n",
5611 "/** 0111 1111 1000 01sz swhile%s */",
5613 printf (" sz = 0x%x\n", sz);
5616 #line 834 "rx-decode.opc"
5617 ID(swhile); BWL(sz); F___ZC;
5623 /** 0111 1111 1000 0111 smovu */
5626 printf ("\033[33m%s\033[0m %02x %02x\n",
5627 "/** 0111 1111 1000 0111 smovu */",
5631 #line 825 "rx-decode.opc"
5640 /** 0111 1111 1000 10sz sstr%s */
5641 #line 840 "rx-decode.opc"
5642 int sz AU = op[1] & 0x03;
5645 printf ("\033[33m%s\033[0m %02x %02x\n",
5646 "/** 0111 1111 1000 10sz sstr%s */",
5648 printf (" sz = 0x%x\n", sz);
5651 #line 840 "rx-decode.opc"
5654 /*----------------------------------------------------------------------*/
5661 /** 0111 1111 1000 1011 smovb */
5664 printf ("\033[33m%s\033[0m %02x %02x\n",
5665 "/** 0111 1111 1000 1011 smovb */",
5669 #line 828 "rx-decode.opc"
5678 /** 0111 1111 1000 11sz rmpa%s */
5679 #line 846 "rx-decode.opc"
5680 int sz AU = op[1] & 0x03;
5683 printf ("\033[33m%s\033[0m %02x %02x\n",
5684 "/** 0111 1111 1000 11sz rmpa%s */",
5686 printf (" sz = 0x%x\n", sz);
5689 #line 846 "rx-decode.opc"
5690 ID(rmpa); BWL(sz); F_OS__;
5692 /*----------------------------------------------------------------------*/
5699 /** 0111 1111 1000 1111 smovf */
5702 printf ("\033[33m%s\033[0m %02x %02x\n",
5703 "/** 0111 1111 1000 1111 smovf */",
5707 #line 837 "rx-decode.opc"
5714 /** 0111 1111 1001 0011 satr */
5717 printf ("\033[33m%s\033[0m %02x %02x\n",
5718 "/** 0111 1111 1001 0011 satr */",
5722 #line 888 "rx-decode.opc"
5725 /*----------------------------------------------------------------------*/
5732 /** 0111 1111 1001 0100 rtfi */
5735 printf ("\033[33m%s\033[0m %02x %02x\n",
5736 "/** 0111 1111 1001 0100 rtfi */",
5740 #line 1023 "rx-decode.opc"
5747 /** 0111 1111 1001 0101 rte */
5750 printf ("\033[33m%s\033[0m %02x %02x\n",
5751 "/** 0111 1111 1001 0101 rte */",
5755 #line 1026 "rx-decode.opc"
5762 /** 0111 1111 1001 0110 wait */
5765 printf ("\033[33m%s\033[0m %02x %02x\n",
5766 "/** 0111 1111 1001 0110 wait */",
5770 #line 1038 "rx-decode.opc"
5773 /*----------------------------------------------------------------------*/
5795 /** 0111 1111 1010 rdst setpsw %0 */
5796 #line 999 "rx-decode.opc"
5797 int rdst AU = op[1] & 0x0f;
5800 printf ("\033[33m%s\033[0m %02x %02x\n",
5801 "/** 0111 1111 1010 rdst setpsw %0 */",
5803 printf (" rdst = 0x%x\n", rdst);
5805 SYNTAX("setpsw %0");
5806 #line 999 "rx-decode.opc"
5807 ID(setpsw); DF(rdst);
5828 /** 0111 1111 1011 rdst clrpsw %0 */
5829 #line 996 "rx-decode.opc"
5830 int rdst AU = op[1] & 0x0f;
5833 printf ("\033[33m%s\033[0m %02x %02x\n",
5834 "/** 0111 1111 1011 rdst clrpsw %0 */",
5836 printf (" rdst = 0x%x\n", rdst);
5838 SYNTAX("clrpsw %0");
5839 #line 996 "rx-decode.opc"
5840 ID(clrpsw); DF(rdst);
5844 default: UNSUPPORTED(); break;
5849 switch (op[1] & 0x00)
5854 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5855 #line 336 "rx-decode.opc"
5856 int sz AU = (op[0] >> 4) & 0x03;
5857 #line 336 "rx-decode.opc"
5858 int dsp AU = op[0] & 0x07;
5859 #line 336 "rx-decode.opc"
5860 int a AU = (op[1] >> 7) & 0x01;
5861 #line 336 "rx-decode.opc"
5862 int dst AU = (op[1] >> 4) & 0x07;
5863 #line 336 "rx-decode.opc"
5864 int b AU = (op[1] >> 3) & 0x01;
5865 #line 336 "rx-decode.opc"
5866 int src AU = op[1] & 0x07;
5869 printf ("\033[33m%s\033[0m %02x %02x\n",
5870 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5872 printf (" sz = 0x%x,", sz);
5873 printf (" dsp = 0x%x,", dsp);
5874 printf (" a = 0x%x,", a);
5875 printf (" dst = 0x%x,", dst);
5876 printf (" b = 0x%x,", b);
5877 printf (" src = 0x%x\n", src);
5879 SYNTAX("mov%s %1, %0");
5880 #line 336 "rx-decode.opc"
5881 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5889 switch (op[1] & 0x00)
5892 goto op_semantics_39;
5898 switch (op[1] & 0x00)
5901 goto op_semantics_39;
5907 switch (op[1] & 0x00)
5910 goto op_semantics_39;
5916 switch (op[1] & 0x00)
5919 goto op_semantics_39;
5925 switch (op[1] & 0x00)
5928 goto op_semantics_39;
5934 switch (op[1] & 0x00)
5937 goto op_semantics_39;
5943 switch (op[1] & 0x00)
5946 goto op_semantics_39;
5952 switch (op[1] & 0x00)
5957 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5958 #line 333 "rx-decode.opc"
5959 int sz AU = (op[0] >> 4) & 0x03;
5960 #line 333 "rx-decode.opc"
5961 int dsp AU = op[0] & 0x07;
5962 #line 333 "rx-decode.opc"
5963 int a AU = (op[1] >> 7) & 0x01;
5964 #line 333 "rx-decode.opc"
5965 int src AU = (op[1] >> 4) & 0x07;
5966 #line 333 "rx-decode.opc"
5967 int b AU = (op[1] >> 3) & 0x01;
5968 #line 333 "rx-decode.opc"
5969 int dst AU = op[1] & 0x07;
5972 printf ("\033[33m%s\033[0m %02x %02x\n",
5973 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5975 printf (" sz = 0x%x,", sz);
5976 printf (" dsp = 0x%x,", dsp);
5977 printf (" a = 0x%x,", a);
5978 printf (" src = 0x%x,", src);
5979 printf (" b = 0x%x,", b);
5980 printf (" dst = 0x%x\n", dst);
5982 SYNTAX("mov%s %1, %0");
5983 #line 333 "rx-decode.opc"
5984 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5992 switch (op[1] & 0x00)
5995 goto op_semantics_40;
6001 switch (op[1] & 0x00)
6004 goto op_semantics_40;
6010 switch (op[1] & 0x00)
6013 goto op_semantics_40;
6019 switch (op[1] & 0x00)
6022 goto op_semantics_40;
6028 switch (op[1] & 0x00)
6031 goto op_semantics_40;
6037 switch (op[1] & 0x00)
6040 goto op_semantics_40;
6046 switch (op[1] & 0x00)
6049 goto op_semantics_40;
6055 switch (op[1] & 0x00)
6058 goto op_semantics_39;
6064 switch (op[1] & 0x00)
6067 goto op_semantics_39;
6073 switch (op[1] & 0x00)
6076 goto op_semantics_39;
6082 switch (op[1] & 0x00)
6085 goto op_semantics_39;
6091 switch (op[1] & 0x00)
6094 goto op_semantics_39;
6100 switch (op[1] & 0x00)
6103 goto op_semantics_39;
6109 switch (op[1] & 0x00)
6112 goto op_semantics_39;
6118 switch (op[1] & 0x00)
6121 goto op_semantics_39;
6127 switch (op[1] & 0x00)
6130 goto op_semantics_40;
6136 switch (op[1] & 0x00)
6139 goto op_semantics_40;
6145 switch (op[1] & 0x00)
6148 goto op_semantics_40;
6154 switch (op[1] & 0x00)
6157 goto op_semantics_40;
6163 switch (op[1] & 0x00)
6166 goto op_semantics_40;
6172 switch (op[1] & 0x00)
6175 goto op_semantics_40;
6181 switch (op[1] & 0x00)
6184 goto op_semantics_40;
6190 switch (op[1] & 0x00)
6193 goto op_semantics_40;
6199 switch (op[1] & 0x00)
6202 goto op_semantics_39;
6208 switch (op[1] & 0x00)
6211 goto op_semantics_39;
6217 switch (op[1] & 0x00)
6220 goto op_semantics_39;
6226 switch (op[1] & 0x00)
6229 goto op_semantics_39;
6235 switch (op[1] & 0x00)
6238 goto op_semantics_39;
6244 switch (op[1] & 0x00)
6247 goto op_semantics_39;
6253 switch (op[1] & 0x00)
6256 goto op_semantics_39;
6262 switch (op[1] & 0x00)
6265 goto op_semantics_39;
6271 switch (op[1] & 0x00)
6274 goto op_semantics_40;
6280 switch (op[1] & 0x00)
6283 goto op_semantics_40;
6289 switch (op[1] & 0x00)
6292 goto op_semantics_40;
6298 switch (op[1] & 0x00)
6301 goto op_semantics_40;
6307 switch (op[1] & 0x00)
6310 goto op_semantics_40;
6316 switch (op[1] & 0x00)
6319 goto op_semantics_40;
6325 switch (op[1] & 0x00)
6328 goto op_semantics_40;
6334 switch (op[1] & 0x00)
6337 goto op_semantics_40;
6343 switch (op[1] & 0x00)
6348 /** 1011 w dsp a src b dst movu%s %1, %0 */
6349 #line 356 "rx-decode.opc"
6350 int w AU = (op[0] >> 3) & 0x01;
6351 #line 356 "rx-decode.opc"
6352 int dsp AU = op[0] & 0x07;
6353 #line 356 "rx-decode.opc"
6354 int a AU = (op[1] >> 7) & 0x01;
6355 #line 356 "rx-decode.opc"
6356 int src AU = (op[1] >> 4) & 0x07;
6357 #line 356 "rx-decode.opc"
6358 int b AU = (op[1] >> 3) & 0x01;
6359 #line 356 "rx-decode.opc"
6360 int dst AU = op[1] & 0x07;
6363 printf ("\033[33m%s\033[0m %02x %02x\n",
6364 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6366 printf (" w = 0x%x,", w);
6367 printf (" dsp = 0x%x,", dsp);
6368 printf (" a = 0x%x,", a);
6369 printf (" src = 0x%x,", src);
6370 printf (" b = 0x%x,", b);
6371 printf (" dst = 0x%x\n", dst);
6373 SYNTAX("movu%s %1, %0");
6374 #line 356 "rx-decode.opc"
6375 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6383 switch (op[1] & 0x00)
6386 goto op_semantics_41;
6392 switch (op[1] & 0x00)
6395 goto op_semantics_41;
6401 switch (op[1] & 0x00)
6404 goto op_semantics_41;
6410 switch (op[1] & 0x00)
6413 goto op_semantics_41;
6419 switch (op[1] & 0x00)
6422 goto op_semantics_41;
6428 switch (op[1] & 0x00)
6431 goto op_semantics_41;
6437 switch (op[1] & 0x00)
6440 goto op_semantics_41;
6446 switch (op[1] & 0x00)
6449 goto op_semantics_41;
6455 switch (op[1] & 0x00)
6458 goto op_semantics_41;
6464 switch (op[1] & 0x00)
6467 goto op_semantics_41;
6473 switch (op[1] & 0x00)
6476 goto op_semantics_41;
6482 switch (op[1] & 0x00)
6485 goto op_semantics_41;
6491 switch (op[1] & 0x00)
6494 goto op_semantics_41;
6500 switch (op[1] & 0x00)
6503 goto op_semantics_41;
6509 switch (op[1] & 0x00)
6512 goto op_semantics_41;
6518 switch (op[1] & 0x00)
6523 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6524 #line 314 "rx-decode.opc"
6525 int sz AU = (op[0] >> 4) & 0x03;
6526 #line 314 "rx-decode.opc"
6527 int sd AU = (op[0] >> 2) & 0x03;
6528 #line 314 "rx-decode.opc"
6529 int ss AU = op[0] & 0x03;
6530 #line 314 "rx-decode.opc"
6531 int rsrc AU = (op[1] >> 4) & 0x0f;
6532 #line 314 "rx-decode.opc"
6533 int rdst AU = op[1] & 0x0f;
6536 printf ("\033[33m%s\033[0m %02x %02x\n",
6537 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6539 printf (" sz = 0x%x,", sz);
6540 printf (" sd = 0x%x,", sd);
6541 printf (" ss = 0x%x,", ss);
6542 printf (" rsrc = 0x%x,", rsrc);
6543 printf (" rdst = 0x%x\n", rdst);
6545 SYNTAX("mov%s %1, %0");
6546 #line 314 "rx-decode.opc"
6547 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6550 SYNTAX ("nop\t; mov.l\tr0, r0");
6554 ID(mov); sBWL(sz); F_____;
6555 if ((ss == 3) && (sd != 3))
6557 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6561 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6571 switch (op[1] & 0x00)
6574 goto op_semantics_42;
6580 switch (op[1] & 0x00)
6583 goto op_semantics_42;
6589 switch (op[1] & 0x00)
6592 goto op_semantics_42;
6598 switch (op[1] & 0x00)
6601 goto op_semantics_42;
6607 switch (op[1] & 0x00)
6610 goto op_semantics_42;
6616 switch (op[1] & 0x00)
6619 goto op_semantics_42;
6625 switch (op[1] & 0x00)
6628 goto op_semantics_42;
6634 switch (op[1] & 0x00)
6637 goto op_semantics_42;
6643 switch (op[1] & 0x00)
6646 goto op_semantics_42;
6652 switch (op[1] & 0x00)
6655 goto op_semantics_42;
6661 switch (op[1] & 0x00)
6664 goto op_semantics_42;
6670 switch (op[1] & 0x00)
6673 goto op_semantics_42;
6679 switch (op[1] & 0x00)
6682 goto op_semantics_42;
6688 switch (op[1] & 0x00)
6691 goto op_semantics_42;
6697 switch (op[1] & 0x00)
6700 goto op_semantics_42;
6706 switch (op[1] & 0x00)
6709 goto op_semantics_42;
6715 switch (op[1] & 0x00)
6718 goto op_semantics_42;
6724 switch (op[1] & 0x00)
6727 goto op_semantics_42;
6733 switch (op[1] & 0x00)
6736 goto op_semantics_42;
6742 switch (op[1] & 0x00)
6745 goto op_semantics_42;
6751 switch (op[1] & 0x00)
6754 goto op_semantics_42;
6760 switch (op[1] & 0x00)
6763 goto op_semantics_42;
6769 switch (op[1] & 0x00)
6772 goto op_semantics_42;
6778 switch (op[1] & 0x00)
6781 goto op_semantics_42;
6787 switch (op[1] & 0x00)
6790 goto op_semantics_42;
6796 switch (op[1] & 0x00)
6799 goto op_semantics_42;
6805 switch (op[1] & 0x00)
6808 goto op_semantics_42;
6814 switch (op[1] & 0x00)
6817 goto op_semantics_42;
6823 switch (op[1] & 0x00)
6826 goto op_semantics_42;
6832 switch (op[1] & 0x00)
6835 goto op_semantics_42;
6841 switch (op[1] & 0x00)
6844 goto op_semantics_42;
6850 switch (op[1] & 0x00)
6853 goto op_semantics_42;
6859 switch (op[1] & 0x00)
6862 goto op_semantics_42;
6868 switch (op[1] & 0x00)
6871 goto op_semantics_42;
6877 switch (op[1] & 0x00)
6880 goto op_semantics_42;
6886 switch (op[1] & 0x00)
6889 goto op_semantics_42;
6895 switch (op[1] & 0x00)
6898 goto op_semantics_42;
6904 switch (op[1] & 0x00)
6907 goto op_semantics_42;
6913 switch (op[1] & 0x00)
6916 goto op_semantics_42;
6922 switch (op[1] & 0x00)
6925 goto op_semantics_42;
6931 switch (op[1] & 0x00)
6934 goto op_semantics_42;
6940 switch (op[1] & 0x00)
6943 goto op_semantics_42;
6949 switch (op[1] & 0x00)
6952 goto op_semantics_42;
6958 switch (op[1] & 0x00)
6961 goto op_semantics_42;
6967 switch (op[1] & 0x00)
6970 goto op_semantics_42;
6976 switch (op[1] & 0x00)
6979 goto op_semantics_42;
6985 switch (op[1] & 0x00)
6988 goto op_semantics_42;
6994 switch (op[1] & 0x08)
6999 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
7000 #line 939 "rx-decode.opc"
7001 int sd AU = op[0] & 0x03;
7002 #line 939 "rx-decode.opc"
7003 int rdst AU = (op[1] >> 4) & 0x0f;
7004 #line 939 "rx-decode.opc"
7005 int bit AU = op[1] & 0x07;
7008 printf ("\033[33m%s\033[0m %02x %02x\n",
7009 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
7011 printf (" sd = 0x%x,", sd);
7012 printf (" rdst = 0x%x,", rdst);
7013 printf (" bit = 0x%x\n", bit);
7015 SYNTAX("bset #%1, %0%S0");
7016 #line 939 "rx-decode.opc"
7017 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7024 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
7025 #line 951 "rx-decode.opc"
7026 int sd AU = op[0] & 0x03;
7027 #line 951 "rx-decode.opc"
7028 int rdst AU = (op[1] >> 4) & 0x0f;
7029 #line 951 "rx-decode.opc"
7030 int bit AU = op[1] & 0x07;
7033 printf ("\033[33m%s\033[0m %02x %02x\n",
7034 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
7036 printf (" sd = 0x%x,", sd);
7037 printf (" rdst = 0x%x,", rdst);
7038 printf (" bit = 0x%x\n", bit);
7040 SYNTAX("bclr #%1, %0%S0");
7041 #line 951 "rx-decode.opc"
7042 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7050 switch (op[1] & 0x08)
7053 goto op_semantics_43;
7056 goto op_semantics_44;
7062 switch (op[1] & 0x08)
7065 goto op_semantics_43;
7068 goto op_semantics_44;
7074 switch (op[1] & 0x08)
7077 goto op_semantics_43;
7080 goto op_semantics_44;
7086 switch (op[1] & 0x0c)
7092 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
7093 #line 963 "rx-decode.opc"
7094 int sd AU = op[0] & 0x03;
7095 #line 963 "rx-decode.opc"
7096 int rdst AU = (op[1] >> 4) & 0x0f;
7097 #line 963 "rx-decode.opc"
7098 int bit AU = op[1] & 0x07;
7101 printf ("\033[33m%s\033[0m %02x %02x\n",
7102 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
7104 printf (" sd = 0x%x,", sd);
7105 printf (" rdst = 0x%x,", rdst);
7106 printf (" bit = 0x%x\n", bit);
7108 SYNTAX("btst #%2, %1%S1");
7109 #line 963 "rx-decode.opc"
7110 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
7117 /** 1111 01ss rsrc 10sz push%s %1 */
7118 #line 381 "rx-decode.opc"
7119 int ss AU = op[0] & 0x03;
7120 #line 381 "rx-decode.opc"
7121 int rsrc AU = (op[1] >> 4) & 0x0f;
7122 #line 381 "rx-decode.opc"
7123 int sz AU = op[1] & 0x03;
7126 printf ("\033[33m%s\033[0m %02x %02x\n",
7127 "/** 1111 01ss rsrc 10sz push%s %1 */",
7129 printf (" ss = 0x%x,", ss);
7130 printf (" rsrc = 0x%x,", rsrc);
7131 printf (" sz = 0x%x\n", sz);
7133 SYNTAX("push%s %1");
7134 #line 381 "rx-decode.opc"
7135 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
7137 /*----------------------------------------------------------------------*/
7142 default: UNSUPPORTED(); break;
7147 switch (op[1] & 0x0c)
7151 goto op_semantics_45;
7154 goto op_semantics_46;
7156 default: UNSUPPORTED(); break;
7161 switch (op[1] & 0x0c)
7165 goto op_semantics_45;
7168 goto op_semantics_46;
7170 default: UNSUPPORTED(); break;
7175 switch (op[1] & 0x0c)
7179 goto op_semantics_45;
7182 goto op_semantics_46;
7184 default: UNSUPPORTED(); break;
7189 switch (op[1] & 0x00)
7194 /** 1111 10sd rdst im sz mov%s #%1, %0 */
7195 #line 292 "rx-decode.opc"
7196 int sd AU = op[0] & 0x03;
7197 #line 292 "rx-decode.opc"
7198 int rdst AU = (op[1] >> 4) & 0x0f;
7199 #line 292 "rx-decode.opc"
7200 int im AU = (op[1] >> 2) & 0x03;
7201 #line 292 "rx-decode.opc"
7202 int sz AU = op[1] & 0x03;
7205 printf ("\033[33m%s\033[0m %02x %02x\n",
7206 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7208 printf (" sd = 0x%x,", sd);
7209 printf (" rdst = 0x%x,", rdst);
7210 printf (" im = 0x%x,", im);
7211 printf (" sz = 0x%x\n", sz);
7213 SYNTAX("mov%s #%1, %0");
7214 #line 292 "rx-decode.opc"
7215 ID(mov); DD(sd, rdst, sz);
7216 if ((im == 1 && sz == 0)
7217 || (im == 2 && sz == 1)
7218 || (im == 0 && sz == 2))
7236 switch (op[1] & 0x00)
7239 goto op_semantics_47;
7245 switch (op[1] & 0x00)
7248 goto op_semantics_47;
7254 switch (op[1] & 0x00)
7257 goto op_semantics_47;
7263 switch (op[1] & 0xff)
7267 switch (op[2] & 0x00)
7271 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7272 #line 555 "rx-decode.opc"
7273 int rsrc AU = (op[2] >> 4) & 0x0f;
7274 #line 555 "rx-decode.opc"
7275 int rdst AU = op[2] & 0x0f;
7278 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7279 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7280 op[0], op[1], op[2]);
7281 printf (" rsrc = 0x%x,", rsrc);
7282 printf (" rdst = 0x%x\n", rdst);
7284 SYNTAX("sbb %1, %0");
7285 #line 555 "rx-decode.opc"
7286 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7288 /* FIXME: only supports .L */
7295 switch (op[2] & 0x00)
7299 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7300 #line 486 "rx-decode.opc"
7301 int rsrc AU = (op[2] >> 4) & 0x0f;
7302 #line 486 "rx-decode.opc"
7303 int rdst AU = op[2] & 0x0f;
7306 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7307 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7308 op[0], op[1], op[2]);
7309 printf (" rsrc = 0x%x,", rsrc);
7310 printf (" rdst = 0x%x\n", rdst);
7312 SYNTAX("neg %2, %0");
7313 #line 486 "rx-decode.opc"
7314 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7316 /*----------------------------------------------------------------------*/
7325 switch (op[2] & 0x00)
7329 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7330 #line 495 "rx-decode.opc"
7331 int rsrc AU = (op[2] >> 4) & 0x0f;
7332 #line 495 "rx-decode.opc"
7333 int rdst AU = op[2] & 0x0f;
7336 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7337 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7338 op[0], op[1], op[2]);
7339 printf (" rsrc = 0x%x,", rsrc);
7340 printf (" rdst = 0x%x\n", rdst);
7342 SYNTAX("adc %1, %0");
7343 #line 495 "rx-decode.opc"
7344 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7352 switch (op[2] & 0x00)
7356 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7357 #line 568 "rx-decode.opc"
7358 int rsrc AU = (op[2] >> 4) & 0x0f;
7359 #line 568 "rx-decode.opc"
7360 int rdst AU = op[2] & 0x0f;
7363 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7364 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7365 op[0], op[1], op[2]);
7366 printf (" rsrc = 0x%x,", rsrc);
7367 printf (" rdst = 0x%x\n", rdst);
7369 SYNTAX("abs %1, %0");
7370 #line 568 "rx-decode.opc"
7371 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7373 /*----------------------------------------------------------------------*/
7382 switch (op[2] & 0x00)
7387 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7388 #line 587 "rx-decode.opc"
7389 int ss AU = op[1] & 0x03;
7390 #line 587 "rx-decode.opc"
7391 int rsrc AU = (op[2] >> 4) & 0x0f;
7392 #line 587 "rx-decode.opc"
7393 int rdst AU = op[2] & 0x0f;
7396 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7397 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7398 op[0], op[1], op[2]);
7399 printf (" ss = 0x%x,", ss);
7400 printf (" rsrc = 0x%x,", rsrc);
7401 printf (" rdst = 0x%x\n", rdst);
7403 SYNTAX("max %1%S1, %0");
7404 #line 587 "rx-decode.opc"
7405 if (ss == 3 && rsrc == 0 && rdst == 0)
7408 SYNTAX("nop\t; max\tr0, r0");
7412 ID(max); SP(ss, rsrc); DR(rdst);
7421 switch (op[2] & 0x00)
7424 goto op_semantics_48;
7430 switch (op[2] & 0x00)
7433 goto op_semantics_48;
7439 switch (op[2] & 0x00)
7442 goto op_semantics_48;
7448 switch (op[2] & 0x00)
7453 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7454 #line 607 "rx-decode.opc"
7455 int ss AU = op[1] & 0x03;
7456 #line 607 "rx-decode.opc"
7457 int rsrc AU = (op[2] >> 4) & 0x0f;
7458 #line 607 "rx-decode.opc"
7459 int rdst AU = op[2] & 0x0f;
7462 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7463 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7464 op[0], op[1], op[2]);
7465 printf (" ss = 0x%x,", ss);
7466 printf (" rsrc = 0x%x,", rsrc);
7467 printf (" rdst = 0x%x\n", rdst);
7469 SYNTAX("min %1%S1, %0");
7470 #line 607 "rx-decode.opc"
7471 ID(min); SP(ss, rsrc); DR(rdst);
7479 switch (op[2] & 0x00)
7482 goto op_semantics_49;
7488 switch (op[2] & 0x00)
7491 goto op_semantics_49;
7497 switch (op[2] & 0x00)
7500 goto op_semantics_49;
7506 switch (op[2] & 0x00)
7511 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7512 #line 665 "rx-decode.opc"
7513 int ss AU = op[1] & 0x03;
7514 #line 665 "rx-decode.opc"
7515 int rsrc AU = (op[2] >> 4) & 0x0f;
7516 #line 665 "rx-decode.opc"
7517 int rdst AU = op[2] & 0x0f;
7520 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7521 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7522 op[0], op[1], op[2]);
7523 printf (" ss = 0x%x,", ss);
7524 printf (" rsrc = 0x%x,", rsrc);
7525 printf (" rdst = 0x%x\n", rdst);
7527 SYNTAX("emul %1%S1, %0");
7528 #line 665 "rx-decode.opc"
7529 ID(emul); SP(ss, rsrc); DR(rdst);
7537 switch (op[2] & 0x00)
7540 goto op_semantics_50;
7546 switch (op[2] & 0x00)
7549 goto op_semantics_50;
7555 switch (op[2] & 0x00)
7558 goto op_semantics_50;
7564 switch (op[2] & 0x00)
7569 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7570 #line 677 "rx-decode.opc"
7571 int ss AU = op[1] & 0x03;
7572 #line 677 "rx-decode.opc"
7573 int rsrc AU = (op[2] >> 4) & 0x0f;
7574 #line 677 "rx-decode.opc"
7575 int rdst AU = op[2] & 0x0f;
7578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7579 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7580 op[0], op[1], op[2]);
7581 printf (" ss = 0x%x,", ss);
7582 printf (" rsrc = 0x%x,", rsrc);
7583 printf (" rdst = 0x%x\n", rdst);
7585 SYNTAX("emulu %1%S1, %0");
7586 #line 677 "rx-decode.opc"
7587 ID(emulu); SP(ss, rsrc); DR(rdst);
7595 switch (op[2] & 0x00)
7598 goto op_semantics_51;
7604 switch (op[2] & 0x00)
7607 goto op_semantics_51;
7613 switch (op[2] & 0x00)
7616 goto op_semantics_51;
7622 switch (op[2] & 0x00)
7627 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7628 #line 689 "rx-decode.opc"
7629 int ss AU = op[1] & 0x03;
7630 #line 689 "rx-decode.opc"
7631 int rsrc AU = (op[2] >> 4) & 0x0f;
7632 #line 689 "rx-decode.opc"
7633 int rdst AU = op[2] & 0x0f;
7636 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7637 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7638 op[0], op[1], op[2]);
7639 printf (" ss = 0x%x,", ss);
7640 printf (" rsrc = 0x%x,", rsrc);
7641 printf (" rdst = 0x%x\n", rdst);
7643 SYNTAX("div %1%S1, %0");
7644 #line 689 "rx-decode.opc"
7645 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7653 switch (op[2] & 0x00)
7656 goto op_semantics_52;
7662 switch (op[2] & 0x00)
7665 goto op_semantics_52;
7671 switch (op[2] & 0x00)
7674 goto op_semantics_52;
7680 switch (op[2] & 0x00)
7685 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7686 #line 701 "rx-decode.opc"
7687 int ss AU = op[1] & 0x03;
7688 #line 701 "rx-decode.opc"
7689 int rsrc AU = (op[2] >> 4) & 0x0f;
7690 #line 701 "rx-decode.opc"
7691 int rdst AU = op[2] & 0x0f;
7694 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7695 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7696 op[0], op[1], op[2]);
7697 printf (" ss = 0x%x,", ss);
7698 printf (" rsrc = 0x%x,", rsrc);
7699 printf (" rdst = 0x%x\n", rdst);
7701 SYNTAX("divu %1%S1, %0");
7702 #line 701 "rx-decode.opc"
7703 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7711 switch (op[2] & 0x00)
7714 goto op_semantics_53;
7720 switch (op[2] & 0x00)
7723 goto op_semantics_53;
7729 switch (op[2] & 0x00)
7732 goto op_semantics_53;
7738 switch (op[2] & 0x00)
7743 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7744 #line 474 "rx-decode.opc"
7745 int ss AU = op[1] & 0x03;
7746 #line 474 "rx-decode.opc"
7747 int rsrc AU = (op[2] >> 4) & 0x0f;
7748 #line 474 "rx-decode.opc"
7749 int rdst AU = op[2] & 0x0f;
7752 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7753 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7754 op[0], op[1], op[2]);
7755 printf (" ss = 0x%x,", ss);
7756 printf (" rsrc = 0x%x,", rsrc);
7757 printf (" rdst = 0x%x\n", rdst);
7759 SYNTAX("tst %1%S1, %2");
7760 #line 474 "rx-decode.opc"
7761 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7769 switch (op[2] & 0x00)
7772 goto op_semantics_54;
7778 switch (op[2] & 0x00)
7781 goto op_semantics_54;
7787 switch (op[2] & 0x00)
7790 goto op_semantics_54;
7796 switch (op[2] & 0x00)
7801 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7802 #line 453 "rx-decode.opc"
7803 int ss AU = op[1] & 0x03;
7804 #line 453 "rx-decode.opc"
7805 int rsrc AU = (op[2] >> 4) & 0x0f;
7806 #line 453 "rx-decode.opc"
7807 int rdst AU = op[2] & 0x0f;
7810 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7811 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7812 op[0], op[1], op[2]);
7813 printf (" ss = 0x%x,", ss);
7814 printf (" rsrc = 0x%x,", rsrc);
7815 printf (" rdst = 0x%x\n", rdst);
7817 SYNTAX("xor %1%S1, %0");
7818 #line 453 "rx-decode.opc"
7819 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7827 switch (op[2] & 0x00)
7830 goto op_semantics_55;
7836 switch (op[2] & 0x00)
7839 goto op_semantics_55;
7845 switch (op[2] & 0x00)
7848 goto op_semantics_55;
7854 switch (op[2] & 0x00)
7858 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7859 #line 465 "rx-decode.opc"
7860 int rsrc AU = (op[2] >> 4) & 0x0f;
7861 #line 465 "rx-decode.opc"
7862 int rdst AU = op[2] & 0x0f;
7865 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7866 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7867 op[0], op[1], op[2]);
7868 printf (" rsrc = 0x%x,", rsrc);
7869 printf (" rdst = 0x%x\n", rdst);
7871 SYNTAX("not %1, %0");
7872 #line 465 "rx-decode.opc"
7873 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7875 /*----------------------------------------------------------------------*/
7884 switch (op[2] & 0x00)
7889 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7890 #line 387 "rx-decode.opc"
7891 int ss AU = op[1] & 0x03;
7892 #line 387 "rx-decode.opc"
7893 int rsrc AU = (op[2] >> 4) & 0x0f;
7894 #line 387 "rx-decode.opc"
7895 int rdst AU = op[2] & 0x0f;
7898 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7899 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7900 op[0], op[1], op[2]);
7901 printf (" ss = 0x%x,", ss);
7902 printf (" rsrc = 0x%x,", rsrc);
7903 printf (" rdst = 0x%x\n", rdst);
7905 SYNTAX("xchg %1%S1, %0");
7906 #line 387 "rx-decode.opc"
7907 ID(xchg); DR(rdst); SP(ss, rsrc);
7915 switch (op[2] & 0x00)
7918 goto op_semantics_56;
7924 switch (op[2] & 0x00)
7927 goto op_semantics_56;
7933 switch (op[2] & 0x00)
7936 goto op_semantics_56;
7942 switch (op[2] & 0x00)
7947 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7948 #line 930 "rx-decode.opc"
7949 int sd AU = op[1] & 0x03;
7950 #line 930 "rx-decode.opc"
7951 int rsrc AU = (op[2] >> 4) & 0x0f;
7952 #line 930 "rx-decode.opc"
7953 int rdst AU = op[2] & 0x0f;
7956 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7957 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7958 op[0], op[1], op[2]);
7959 printf (" sd = 0x%x,", sd);
7960 printf (" rsrc = 0x%x,", rsrc);
7961 printf (" rdst = 0x%x\n", rdst);
7963 SYNTAX("itof %1%S1, %0");
7964 #line 930 "rx-decode.opc"
7965 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7973 switch (op[2] & 0x00)
7976 goto op_semantics_57;
7982 switch (op[2] & 0x00)
7985 goto op_semantics_57;
7991 switch (op[2] & 0x00)
7994 goto op_semantics_57;
8000 switch (op[2] & 0x00)
8004 /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
8005 #line 1056 "rx-decode.opc"
8006 int rsrc AU = (op[2] >> 4) & 0x0f;
8007 #line 1056 "rx-decode.opc"
8008 int rdst AU = op[2] & 0x0f;
8011 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8012 "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
8013 op[0], op[1], op[2]);
8014 printf (" rsrc = 0x%x,", rsrc);
8015 printf (" rdst = 0x%x\n", rdst);
8017 SYNTAX("stz %1, %0");
8018 #line 1056 "rx-decode.opc"
8019 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
8027 switch (op[2] & 0x00)
8031 /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
8032 #line 1059 "rx-decode.opc"
8033 int rsrc AU = (op[2] >> 4) & 0x0f;
8034 #line 1059 "rx-decode.opc"
8035 int rdst AU = op[2] & 0x0f;
8038 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8039 "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
8040 op[0], op[1], op[2]);
8041 printf (" rsrc = 0x%x,", rsrc);
8042 printf (" rdst = 0x%x\n", rdst);
8044 SYNTAX("stnz %1, %0");
8045 #line 1059 "rx-decode.opc"
8046 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
8054 switch (op[2] & 0x00)
8059 /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
8060 #line 1116 "rx-decode.opc"
8061 int sd AU = op[1] & 0x03;
8062 #line 1116 "rx-decode.opc"
8063 int rsrc AU = (op[2] >> 4) & 0x0f;
8064 #line 1116 "rx-decode.opc"
8065 int rdst AU = op[2] & 0x0f;
8068 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8069 "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
8070 op[0], op[1], op[2]);
8071 printf (" sd = 0x%x,", sd);
8072 printf (" rsrc = 0x%x,", rsrc);
8073 printf (" rdst = 0x%x\n", rdst);
8075 SYNTAX("utof %1%S1, %0");
8076 #line 1116 "rx-decode.opc"
8077 ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
8085 switch (op[2] & 0x00)
8088 goto op_semantics_58;
8094 switch (op[2] & 0x00)
8097 goto op_semantics_58;
8103 switch (op[2] & 0x00)
8106 goto op_semantics_58;
8112 switch (op[2] & 0x00)
8117 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
8118 #line 942 "rx-decode.opc"
8119 int sd AU = op[1] & 0x03;
8120 #line 942 "rx-decode.opc"
8121 int rdst AU = (op[2] >> 4) & 0x0f;
8122 #line 942 "rx-decode.opc"
8123 int rsrc AU = op[2] & 0x0f;
8126 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8127 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
8128 op[0], op[1], op[2]);
8129 printf (" sd = 0x%x,", sd);
8130 printf (" rdst = 0x%x,", rdst);
8131 printf (" rsrc = 0x%x\n", rsrc);
8133 SYNTAX("bset %1, %0%S0");
8134 #line 942 "rx-decode.opc"
8135 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8136 if (sd == 3) /* bset reg,reg */
8145 switch (op[2] & 0x00)
8148 goto op_semantics_59;
8154 switch (op[2] & 0x00)
8157 goto op_semantics_59;
8163 switch (op[2] & 0x00)
8166 goto op_semantics_59;
8172 switch (op[2] & 0x00)
8177 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
8178 #line 954 "rx-decode.opc"
8179 int sd AU = op[1] & 0x03;
8180 #line 954 "rx-decode.opc"
8181 int rdst AU = (op[2] >> 4) & 0x0f;
8182 #line 954 "rx-decode.opc"
8183 int rsrc AU = op[2] & 0x0f;
8186 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8187 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
8188 op[0], op[1], op[2]);
8189 printf (" sd = 0x%x,", sd);
8190 printf (" rdst = 0x%x,", rdst);
8191 printf (" rsrc = 0x%x\n", rsrc);
8193 SYNTAX("bclr %1, %0%S0");
8194 #line 954 "rx-decode.opc"
8195 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8196 if (sd == 3) /* bset reg,reg */
8205 switch (op[2] & 0x00)
8208 goto op_semantics_60;
8214 switch (op[2] & 0x00)
8217 goto op_semantics_60;
8223 switch (op[2] & 0x00)
8226 goto op_semantics_60;
8232 switch (op[2] & 0x00)
8237 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
8238 #line 966 "rx-decode.opc"
8239 int sd AU = op[1] & 0x03;
8240 #line 966 "rx-decode.opc"
8241 int rdst AU = (op[2] >> 4) & 0x0f;
8242 #line 966 "rx-decode.opc"
8243 int rsrc AU = op[2] & 0x0f;
8246 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8247 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
8248 op[0], op[1], op[2]);
8249 printf (" sd = 0x%x,", sd);
8250 printf (" rdst = 0x%x,", rdst);
8251 printf (" rsrc = 0x%x\n", rsrc);
8253 SYNTAX("btst %2, %1%S1");
8254 #line 966 "rx-decode.opc"
8255 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
8256 if (sd == 3) /* bset reg,reg */
8265 switch (op[2] & 0x00)
8268 goto op_semantics_61;
8274 switch (op[2] & 0x00)
8277 goto op_semantics_61;
8283 switch (op[2] & 0x00)
8286 goto op_semantics_61;
8292 switch (op[2] & 0x00)
8297 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8298 #line 978 "rx-decode.opc"
8299 int sd AU = op[1] & 0x03;
8300 #line 978 "rx-decode.opc"
8301 int rdst AU = (op[2] >> 4) & 0x0f;
8302 #line 978 "rx-decode.opc"
8303 int rsrc AU = op[2] & 0x0f;
8306 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8307 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8308 op[0], op[1], op[2]);
8309 printf (" sd = 0x%x,", sd);
8310 printf (" rdst = 0x%x,", rdst);
8311 printf (" rsrc = 0x%x\n", rsrc);
8313 SYNTAX("bnot %1, %0%S0");
8314 #line 978 "rx-decode.opc"
8315 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8316 if (sd == 3) /* bset reg,reg */
8325 switch (op[2] & 0x00)
8328 goto op_semantics_62;
8334 switch (op[2] & 0x00)
8337 goto op_semantics_62;
8343 switch (op[2] & 0x00)
8346 goto op_semantics_62;
8352 switch (op[2] & 0x00)
8357 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8358 #line 909 "rx-decode.opc"
8359 int sd AU = op[1] & 0x03;
8360 #line 909 "rx-decode.opc"
8361 int rsrc AU = (op[2] >> 4) & 0x0f;
8362 #line 909 "rx-decode.opc"
8363 int rdst AU = op[2] & 0x0f;
8366 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8367 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8368 op[0], op[1], op[2]);
8369 printf (" sd = 0x%x,", sd);
8370 printf (" rsrc = 0x%x,", rsrc);
8371 printf (" rdst = 0x%x\n", rdst);
8373 SYNTAX("fsub %1%S1, %0");
8374 #line 909 "rx-decode.opc"
8375 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8383 switch (op[2] & 0x00)
8386 goto op_semantics_63;
8392 switch (op[2] & 0x00)
8395 goto op_semantics_63;
8401 switch (op[2] & 0x00)
8404 goto op_semantics_63;
8410 switch (op[2] & 0x00)
8415 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8416 #line 903 "rx-decode.opc"
8417 int sd AU = op[1] & 0x03;
8418 #line 903 "rx-decode.opc"
8419 int rsrc AU = (op[2] >> 4) & 0x0f;
8420 #line 903 "rx-decode.opc"
8421 int rdst AU = op[2] & 0x0f;
8424 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8425 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8426 op[0], op[1], op[2]);
8427 printf (" sd = 0x%x,", sd);
8428 printf (" rsrc = 0x%x,", rsrc);
8429 printf (" rdst = 0x%x\n", rdst);
8431 SYNTAX("fcmp %1%S1, %0");
8432 #line 903 "rx-decode.opc"
8433 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8441 switch (op[2] & 0x00)
8444 goto op_semantics_64;
8450 switch (op[2] & 0x00)
8453 goto op_semantics_64;
8459 switch (op[2] & 0x00)
8462 goto op_semantics_64;
8468 switch (op[2] & 0x00)
8473 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8474 #line 897 "rx-decode.opc"
8475 int sd AU = op[1] & 0x03;
8476 #line 897 "rx-decode.opc"
8477 int rsrc AU = (op[2] >> 4) & 0x0f;
8478 #line 897 "rx-decode.opc"
8479 int rdst AU = op[2] & 0x0f;
8482 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8483 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8484 op[0], op[1], op[2]);
8485 printf (" sd = 0x%x,", sd);
8486 printf (" rsrc = 0x%x,", rsrc);
8487 printf (" rdst = 0x%x\n", rdst);
8489 SYNTAX("fadd %1%S1, %0");
8490 #line 897 "rx-decode.opc"
8491 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8499 switch (op[2] & 0x00)
8502 goto op_semantics_65;
8508 switch (op[2] & 0x00)
8511 goto op_semantics_65;
8517 switch (op[2] & 0x00)
8520 goto op_semantics_65;
8526 switch (op[2] & 0x00)
8531 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8532 #line 918 "rx-decode.opc"
8533 int sd AU = op[1] & 0x03;
8534 #line 918 "rx-decode.opc"
8535 int rsrc AU = (op[2] >> 4) & 0x0f;
8536 #line 918 "rx-decode.opc"
8537 int rdst AU = op[2] & 0x0f;
8540 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8541 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8542 op[0], op[1], op[2]);
8543 printf (" sd = 0x%x,", sd);
8544 printf (" rsrc = 0x%x,", rsrc);
8545 printf (" rdst = 0x%x\n", rdst);
8547 SYNTAX("fmul %1%S1, %0");
8548 #line 918 "rx-decode.opc"
8549 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8557 switch (op[2] & 0x00)
8560 goto op_semantics_66;
8566 switch (op[2] & 0x00)
8569 goto op_semantics_66;
8575 switch (op[2] & 0x00)
8578 goto op_semantics_66;
8584 switch (op[2] & 0x00)
8589 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8590 #line 924 "rx-decode.opc"
8591 int sd AU = op[1] & 0x03;
8592 #line 924 "rx-decode.opc"
8593 int rsrc AU = (op[2] >> 4) & 0x0f;
8594 #line 924 "rx-decode.opc"
8595 int rdst AU = op[2] & 0x0f;
8598 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8599 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8600 op[0], op[1], op[2]);
8601 printf (" sd = 0x%x,", sd);
8602 printf (" rsrc = 0x%x,", rsrc);
8603 printf (" rdst = 0x%x\n", rdst);
8605 SYNTAX("fdiv %1%S1, %0");
8606 #line 924 "rx-decode.opc"
8607 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8615 switch (op[2] & 0x00)
8618 goto op_semantics_67;
8624 switch (op[2] & 0x00)
8627 goto op_semantics_67;
8633 switch (op[2] & 0x00)
8636 goto op_semantics_67;
8642 switch (op[2] & 0x00)
8647 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8648 #line 912 "rx-decode.opc"
8649 int sd AU = op[1] & 0x03;
8650 #line 912 "rx-decode.opc"
8651 int rsrc AU = (op[2] >> 4) & 0x0f;
8652 #line 912 "rx-decode.opc"
8653 int rdst AU = op[2] & 0x0f;
8656 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8657 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8658 op[0], op[1], op[2]);
8659 printf (" sd = 0x%x,", sd);
8660 printf (" rsrc = 0x%x,", rsrc);
8661 printf (" rdst = 0x%x\n", rdst);
8663 SYNTAX("ftoi %1%S1, %0");
8664 #line 912 "rx-decode.opc"
8665 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8673 switch (op[2] & 0x00)
8676 goto op_semantics_68;
8682 switch (op[2] & 0x00)
8685 goto op_semantics_68;
8691 switch (op[2] & 0x00)
8694 goto op_semantics_68;
8700 switch (op[2] & 0x00)
8705 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8706 #line 927 "rx-decode.opc"
8707 int sd AU = op[1] & 0x03;
8708 #line 927 "rx-decode.opc"
8709 int rsrc AU = (op[2] >> 4) & 0x0f;
8710 #line 927 "rx-decode.opc"
8711 int rdst AU = op[2] & 0x0f;
8714 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8715 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8716 op[0], op[1], op[2]);
8717 printf (" sd = 0x%x,", sd);
8718 printf (" rsrc = 0x%x,", rsrc);
8719 printf (" rdst = 0x%x\n", rdst);
8721 SYNTAX("round %1%S1, %0");
8722 #line 927 "rx-decode.opc"
8723 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8731 switch (op[2] & 0x00)
8734 goto op_semantics_69;
8740 switch (op[2] & 0x00)
8743 goto op_semantics_69;
8749 switch (op[2] & 0x00)
8752 goto op_semantics_69;
8758 switch (op[2] & 0x00)
8763 /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
8764 #line 1110 "rx-decode.opc"
8765 int sd AU = op[1] & 0x03;
8766 #line 1110 "rx-decode.opc"
8767 int rsrc AU = (op[2] >> 4) & 0x0f;
8768 #line 1110 "rx-decode.opc"
8769 int rdst AU = op[2] & 0x0f;
8772 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8773 "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
8774 op[0], op[1], op[2]);
8775 printf (" sd = 0x%x,", sd);
8776 printf (" rsrc = 0x%x,", rsrc);
8777 printf (" rdst = 0x%x\n", rdst);
8779 SYNTAX("fsqrt %1%S1, %0");
8780 #line 1110 "rx-decode.opc"
8781 ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8789 switch (op[2] & 0x00)
8792 goto op_semantics_70;
8798 switch (op[2] & 0x00)
8801 goto op_semantics_70;
8807 switch (op[2] & 0x00)
8810 goto op_semantics_70;
8816 switch (op[2] & 0x00)
8821 /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
8822 #line 1113 "rx-decode.opc"
8823 int sd AU = op[1] & 0x03;
8824 #line 1113 "rx-decode.opc"
8825 int rsrc AU = (op[2] >> 4) & 0x0f;
8826 #line 1113 "rx-decode.opc"
8827 int rdst AU = op[2] & 0x0f;
8830 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8831 "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
8832 op[0], op[1], op[2]);
8833 printf (" sd = 0x%x,", sd);
8834 printf (" rsrc = 0x%x,", rsrc);
8835 printf (" rdst = 0x%x\n", rdst);
8837 SYNTAX("ftou %1%S1, %0");
8838 #line 1113 "rx-decode.opc"
8839 ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8847 switch (op[2] & 0x00)
8850 goto op_semantics_71;
8856 switch (op[2] & 0x00)
8859 goto op_semantics_71;
8865 switch (op[2] & 0x00)
8868 goto op_semantics_71;
8874 switch (op[2] & 0x00)
8879 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8880 #line 1044 "rx-decode.opc"
8881 int sz AU = (op[1] >> 2) & 0x03;
8882 #line 1044 "rx-decode.opc"
8883 int sd AU = op[1] & 0x03;
8884 #line 1044 "rx-decode.opc"
8885 int rdst AU = (op[2] >> 4) & 0x0f;
8886 #line 1044 "rx-decode.opc"
8887 int cond AU = op[2] & 0x0f;
8890 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8891 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8892 op[0], op[1], op[2]);
8893 printf (" sz = 0x%x,", sz);
8894 printf (" sd = 0x%x,", sd);
8895 printf (" rdst = 0x%x,", rdst);
8896 printf (" cond = 0x%x\n", cond);
8898 SYNTAX("sc%1%s %0");
8899 #line 1044 "rx-decode.opc"
8900 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8902 /*----------------------------------------------------------------------*/
8911 switch (op[2] & 0x00)
8914 goto op_semantics_72;
8920 switch (op[2] & 0x00)
8923 goto op_semantics_72;
8929 switch (op[2] & 0x00)
8932 goto op_semantics_72;
8938 switch (op[2] & 0x00)
8941 goto op_semantics_72;
8947 switch (op[2] & 0x00)
8950 goto op_semantics_72;
8956 switch (op[2] & 0x00)
8959 goto op_semantics_72;
8965 switch (op[2] & 0x00)
8968 goto op_semantics_72;
8974 switch (op[2] & 0x00)
8977 goto op_semantics_72;
8983 switch (op[2] & 0x00)
8986 goto op_semantics_72;
8992 switch (op[2] & 0x00)
8995 goto op_semantics_72;
9001 switch (op[2] & 0x00)
9004 goto op_semantics_72;
9010 switch (op[2] & 0x0f)
9029 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
9030 #line 987 "rx-decode.opc"
9031 int bit AU = (op[1] >> 2) & 0x07;
9032 #line 987 "rx-decode.opc"
9033 int sd AU = op[1] & 0x03;
9034 #line 987 "rx-decode.opc"
9035 int rdst AU = (op[2] >> 4) & 0x0f;
9036 #line 987 "rx-decode.opc"
9037 int cond AU = op[2] & 0x0f;
9040 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9041 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
9042 op[0], op[1], op[2]);
9043 printf (" bit = 0x%x,", bit);
9044 printf (" sd = 0x%x,", sd);
9045 printf (" rdst = 0x%x,", rdst);
9046 printf (" cond = 0x%x\n", cond);
9048 SYNTAX("bm%2 #%1, %0%S0");
9049 #line 987 "rx-decode.opc"
9050 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
9057 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
9058 #line 975 "rx-decode.opc"
9059 int bit AU = (op[1] >> 2) & 0x07;
9060 #line 975 "rx-decode.opc"
9061 int sd AU = op[1] & 0x03;
9062 #line 975 "rx-decode.opc"
9063 int rdst AU = (op[2] >> 4) & 0x0f;
9066 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9067 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
9068 op[0], op[1], op[2]);
9069 printf (" bit = 0x%x,", bit);
9070 printf (" sd = 0x%x,", sd);
9071 printf (" rdst = 0x%x\n", rdst);
9073 SYNTAX("bnot #%1, %0%S0");
9074 #line 975 "rx-decode.opc"
9075 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
9083 switch (op[2] & 0x0f)
9100 goto op_semantics_73;
9103 goto op_semantics_74;
9109 switch (op[2] & 0x0f)
9126 goto op_semantics_73;
9129 goto op_semantics_74;
9135 switch (op[2] & 0x0f)
9152 goto op_semantics_73;
9155 goto op_semantics_74;
9161 switch (op[2] & 0x0f)
9178 goto op_semantics_73;
9181 goto op_semantics_74;
9187 switch (op[2] & 0x0f)
9204 goto op_semantics_73;
9207 goto op_semantics_74;
9213 switch (op[2] & 0x0f)
9230 goto op_semantics_73;
9233 goto op_semantics_74;
9239 switch (op[2] & 0x0f)
9256 goto op_semantics_73;
9259 goto op_semantics_74;
9265 switch (op[2] & 0x0f)
9282 goto op_semantics_73;
9285 goto op_semantics_74;
9291 switch (op[2] & 0x0f)
9308 goto op_semantics_73;
9311 goto op_semantics_74;
9317 switch (op[2] & 0x0f)
9334 goto op_semantics_73;
9337 goto op_semantics_74;
9343 switch (op[2] & 0x0f)
9360 goto op_semantics_73;
9363 goto op_semantics_74;
9369 switch (op[2] & 0x0f)
9386 goto op_semantics_73;
9389 goto op_semantics_74;
9395 switch (op[2] & 0x0f)
9412 goto op_semantics_73;
9415 goto op_semantics_74;
9421 switch (op[2] & 0x0f)
9438 goto op_semantics_73;
9441 goto op_semantics_74;
9447 switch (op[2] & 0x0f)
9464 goto op_semantics_73;
9467 goto op_semantics_74;
9473 switch (op[2] & 0x0f)
9490 goto op_semantics_73;
9493 goto op_semantics_74;
9499 switch (op[2] & 0x0f)
9516 goto op_semantics_73;
9519 goto op_semantics_74;
9525 switch (op[2] & 0x0f)
9542 goto op_semantics_73;
9545 goto op_semantics_74;
9551 switch (op[2] & 0x0f)
9568 goto op_semantics_73;
9571 goto op_semantics_74;
9577 switch (op[2] & 0x0f)
9594 goto op_semantics_73;
9597 goto op_semantics_74;
9603 switch (op[2] & 0x0f)
9620 goto op_semantics_73;
9623 goto op_semantics_74;
9629 switch (op[2] & 0x0f)
9646 goto op_semantics_73;
9649 goto op_semantics_74;
9655 switch (op[2] & 0x0f)
9672 goto op_semantics_73;
9675 goto op_semantics_74;
9681 switch (op[2] & 0x0f)
9698 goto op_semantics_73;
9701 goto op_semantics_74;
9707 switch (op[2] & 0x0f)
9724 goto op_semantics_73;
9727 goto op_semantics_74;
9733 switch (op[2] & 0x0f)
9750 goto op_semantics_73;
9753 goto op_semantics_74;
9759 switch (op[2] & 0x0f)
9776 goto op_semantics_73;
9779 goto op_semantics_74;
9785 switch (op[2] & 0x0f)
9802 goto op_semantics_73;
9805 goto op_semantics_74;
9811 switch (op[2] & 0x0f)
9828 goto op_semantics_73;
9831 goto op_semantics_74;
9837 switch (op[2] & 0x0f)
9854 goto op_semantics_73;
9857 goto op_semantics_74;
9863 switch (op[2] & 0x0f)
9880 goto op_semantics_73;
9883 goto op_semantics_74;
9887 default: UNSUPPORTED(); break;
9892 switch (op[1] & 0xff)
9896 switch (op[2] & 0x00)
9901 /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
9902 #line 852 "rx-decode.opc"
9903 int a AU = (op[1] >> 3) & 0x01;
9904 #line 852 "rx-decode.opc"
9905 int srca AU = (op[2] >> 4) & 0x0f;
9906 #line 852 "rx-decode.opc"
9907 int srcb AU = op[2] & 0x0f;
9910 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9911 "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
9912 op[0], op[1], op[2]);
9913 printf (" a = 0x%x,", a);
9914 printf (" srca = 0x%x,", srca);
9915 printf (" srcb = 0x%x\n", srcb);
9917 SYNTAX("mulhi %1, %2, %0");
9918 #line 852 "rx-decode.opc"
9919 ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
9927 switch (op[2] & 0x00)
9932 /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
9933 #line 855 "rx-decode.opc"
9934 int a AU = (op[1] >> 3) & 0x01;
9935 #line 855 "rx-decode.opc"
9936 int srca AU = (op[2] >> 4) & 0x0f;
9937 #line 855 "rx-decode.opc"
9938 int srcb AU = op[2] & 0x0f;
9941 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9942 "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
9943 op[0], op[1], op[2]);
9944 printf (" a = 0x%x,", a);
9945 printf (" srca = 0x%x,", srca);
9946 printf (" srcb = 0x%x\n", srcb);
9948 SYNTAX("mullo %1, %2, %0");
9949 #line 855 "rx-decode.opc"
9950 ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
9958 switch (op[2] & 0x00)
9963 /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
9964 #line 1083 "rx-decode.opc"
9965 int a AU = (op[1] >> 3) & 0x01;
9966 #line 1083 "rx-decode.opc"
9967 int srca AU = (op[2] >> 4) & 0x0f;
9968 #line 1083 "rx-decode.opc"
9969 int srcb AU = op[2] & 0x0f;
9972 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9973 "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
9974 op[0], op[1], op[2]);
9975 printf (" a = 0x%x,", a);
9976 printf (" srca = 0x%x,", srca);
9977 printf (" srcb = 0x%x\n", srcb);
9979 SYNTAX("mullh %1, %2, %0");
9980 #line 1083 "rx-decode.opc"
9981 ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
9989 switch (op[2] & 0x00)
9994 /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
9995 #line 1068 "rx-decode.opc"
9996 int a AU = (op[1] >> 3) & 0x01;
9997 #line 1068 "rx-decode.opc"
9998 int srca AU = (op[2] >> 4) & 0x0f;
9999 #line 1068 "rx-decode.opc"
10000 int srcb AU = op[2] & 0x0f;
10003 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10004 "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
10005 op[0], op[1], op[2]);
10006 printf (" a = 0x%x,", a);
10007 printf (" srca = 0x%x,", srca);
10008 printf (" srcb = 0x%x\n", srcb);
10010 SYNTAX("emula %1, %2, %0");
10011 #line 1068 "rx-decode.opc"
10012 ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
10020 switch (op[2] & 0x00)
10025 /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
10026 #line 858 "rx-decode.opc"
10027 int a AU = (op[1] >> 3) & 0x01;
10028 #line 858 "rx-decode.opc"
10029 int srca AU = (op[2] >> 4) & 0x0f;
10030 #line 858 "rx-decode.opc"
10031 int srcb AU = op[2] & 0x0f;
10034 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10035 "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
10036 op[0], op[1], op[2]);
10037 printf (" a = 0x%x,", a);
10038 printf (" srca = 0x%x,", srca);
10039 printf (" srcb = 0x%x\n", srcb);
10041 SYNTAX("machi %1, %2, %0");
10042 #line 858 "rx-decode.opc"
10043 ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
10051 switch (op[2] & 0x00)
10056 /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
10057 #line 861 "rx-decode.opc"
10058 int a AU = (op[1] >> 3) & 0x01;
10059 #line 861 "rx-decode.opc"
10060 int srca AU = (op[2] >> 4) & 0x0f;
10061 #line 861 "rx-decode.opc"
10062 int srcb AU = op[2] & 0x0f;
10065 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10066 "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
10067 op[0], op[1], op[2]);
10068 printf (" a = 0x%x,", a);
10069 printf (" srca = 0x%x,", srca);
10070 printf (" srcb = 0x%x\n", srcb);
10072 SYNTAX("maclo %1, %2, %0");
10073 #line 861 "rx-decode.opc"
10074 ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
10082 switch (op[2] & 0x00)
10087 /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
10088 #line 1071 "rx-decode.opc"
10089 int a AU = (op[1] >> 3) & 0x01;
10090 #line 1071 "rx-decode.opc"
10091 int srca AU = (op[2] >> 4) & 0x0f;
10092 #line 1071 "rx-decode.opc"
10093 int srcb AU = op[2] & 0x0f;
10096 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10097 "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
10098 op[0], op[1], op[2]);
10099 printf (" a = 0x%x,", a);
10100 printf (" srca = 0x%x,", srca);
10101 printf (" srcb = 0x%x\n", srcb);
10103 SYNTAX("maclh %1, %2, %0");
10104 #line 1071 "rx-decode.opc"
10105 ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
10113 switch (op[2] & 0x00)
10118 /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
10119 #line 1062 "rx-decode.opc"
10120 int a AU = (op[1] >> 3) & 0x01;
10121 #line 1062 "rx-decode.opc"
10122 int srca AU = (op[2] >> 4) & 0x0f;
10123 #line 1062 "rx-decode.opc"
10124 int srcb AU = op[2] & 0x0f;
10127 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10128 "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
10129 op[0], op[1], op[2]);
10130 printf (" a = 0x%x,", a);
10131 printf (" srca = 0x%x,", srca);
10132 printf (" srcb = 0x%x\n", srcb);
10134 SYNTAX("emaca %1, %2, %0");
10135 #line 1062 "rx-decode.opc"
10136 ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
10144 switch (op[2] & 0x00)
10147 goto op_semantics_75;
10153 switch (op[2] & 0x00)
10156 goto op_semantics_76;
10162 switch (op[2] & 0x00)
10165 goto op_semantics_77;
10171 switch (op[2] & 0x00)
10174 goto op_semantics_78;
10180 switch (op[2] & 0x00)
10183 goto op_semantics_79;
10189 switch (op[2] & 0x00)
10192 goto op_semantics_80;
10198 switch (op[2] & 0x00)
10201 goto op_semantics_81;
10207 switch (op[2] & 0x00)
10210 goto op_semantics_82;
10216 switch (op[2] & 0x70)
10220 /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
10221 #line 864 "rx-decode.opc"
10222 int a AU = (op[2] >> 7) & 0x01;
10223 #line 864 "rx-decode.opc"
10224 int rsrc AU = op[2] & 0x0f;
10227 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10228 "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
10229 op[0], op[1], op[2]);
10230 printf (" a = 0x%x,", a);
10231 printf (" rsrc = 0x%x\n", rsrc);
10233 SYNTAX("mvtachi %1, %0");
10234 #line 864 "rx-decode.opc"
10235 ID(mvtachi); DR(a+32); SR(rsrc); F_____;
10241 /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
10242 #line 867 "rx-decode.opc"
10243 int a AU = (op[2] >> 7) & 0x01;
10244 #line 867 "rx-decode.opc"
10245 int rsrc AU = op[2] & 0x0f;
10248 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10249 "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
10250 op[0], op[1], op[2]);
10251 printf (" a = 0x%x,", a);
10252 printf (" rsrc = 0x%x\n", rsrc);
10254 SYNTAX("mvtaclo %1, %0");
10255 #line 867 "rx-decode.opc"
10256 ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
10262 /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
10263 #line 1089 "rx-decode.opc"
10264 int a AU = (op[2] >> 7) & 0x01;
10265 #line 1089 "rx-decode.opc"
10266 int rdst AU = op[2] & 0x0f;
10269 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10270 "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
10271 op[0], op[1], op[2]);
10272 printf (" a = 0x%x,", a);
10273 printf (" rdst = 0x%x\n", rdst);
10275 SYNTAX("mvtacgu %0, %1");
10276 #line 1089 "rx-decode.opc"
10277 ID(mvtacgu); DR(a+32); SR(rdst); F_____;
10281 default: UNSUPPORTED(); break;
10286 switch (op[2] & 0x6f)
10290 /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
10291 #line 879 "rx-decode.opc"
10292 int a AU = (op[2] >> 7) & 0x01;
10293 #line 879 "rx-decode.opc"
10294 int i AU = (op[2] >> 4) & 0x01;
10297 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10298 "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
10299 op[0], op[1], op[2]);
10300 printf (" a = 0x%x,", a);
10301 printf (" i = 0x%x\n", i);
10303 SYNTAX("racw #%1, %0");
10304 #line 879 "rx-decode.opc"
10305 ID(racw); SC(i+1); DR(a+32); F_____;
10307 /*----------------------------------------------------------------------*/
10314 /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
10315 #line 1098 "rx-decode.opc"
10316 int a AU = (op[2] >> 7) & 0x01;
10317 #line 1098 "rx-decode.opc"
10318 int i AU = (op[2] >> 4) & 0x01;
10321 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10322 "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
10323 op[0], op[1], op[2]);
10324 printf (" a = 0x%x,", a);
10325 printf (" i = 0x%x\n", i);
10327 SYNTAX("rdacw #%1, %0");
10328 #line 1098 "rx-decode.opc"
10329 ID(rdacw); SC(i+1); DR(a+32); F_____;
10333 default: UNSUPPORTED(); break;
10338 switch (op[2] & 0x6f)
10342 /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
10343 #line 1092 "rx-decode.opc"
10344 int a AU = (op[2] >> 7) & 0x01;
10345 #line 1092 "rx-decode.opc"
10346 int i AU = (op[2] >> 4) & 0x01;
10349 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10350 "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
10351 op[0], op[1], op[2]);
10352 printf (" a = 0x%x,", a);
10353 printf (" i = 0x%x\n", i);
10355 SYNTAX("racl #%1, %0");
10356 #line 1092 "rx-decode.opc"
10357 ID(racl); SC(i+1); DR(a+32); F_____;
10363 /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
10364 #line 1095 "rx-decode.opc"
10365 int a AU = (op[2] >> 7) & 0x01;
10366 #line 1095 "rx-decode.opc"
10367 int i AU = (op[2] >> 4) & 0x01;
10370 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10371 "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
10372 op[0], op[1], op[2]);
10373 printf (" a = 0x%x,", a);
10374 printf (" i = 0x%x\n", i);
10376 SYNTAX("rdacl #%1, %0");
10377 #line 1095 "rx-decode.opc"
10378 ID(rdacl); SC(i+1); DR(a+32); F_____;
10382 default: UNSUPPORTED(); break;
10387 switch (op[2] & 0x30)
10392 /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
10393 #line 870 "rx-decode.opc"
10394 int i AU = op[1] & 0x01;
10395 #line 870 "rx-decode.opc"
10396 int a AU = (op[2] >> 7) & 0x01;
10397 #line 870 "rx-decode.opc"
10398 int m AU = (op[2] >> 6) & 0x01;
10399 #line 870 "rx-decode.opc"
10400 int rdst AU = op[2] & 0x0f;
10403 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10404 "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
10405 op[0], op[1], op[2]);
10406 printf (" i = 0x%x,", i);
10407 printf (" a = 0x%x,", a);
10408 printf (" m = 0x%x,", m);
10409 printf (" rdst = 0x%x\n", rdst);
10411 SYNTAX("mvfachi #%2, %1, %0");
10412 #line 870 "rx-decode.opc"
10413 ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10420 /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
10421 #line 876 "rx-decode.opc"
10422 int i AU = op[1] & 0x01;
10423 #line 876 "rx-decode.opc"
10424 int a AU = (op[2] >> 7) & 0x01;
10425 #line 876 "rx-decode.opc"
10426 int m AU = (op[2] >> 6) & 0x01;
10427 #line 876 "rx-decode.opc"
10428 int rdst AU = op[2] & 0x0f;
10431 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10432 "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
10433 op[0], op[1], op[2]);
10434 printf (" i = 0x%x,", i);
10435 printf (" a = 0x%x,", a);
10436 printf (" m = 0x%x,", m);
10437 printf (" rdst = 0x%x\n", rdst);
10439 SYNTAX("mvfaclo #%2, %1, %0");
10440 #line 876 "rx-decode.opc"
10441 ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10448 /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
10449 #line 873 "rx-decode.opc"
10450 int i AU = op[1] & 0x01;
10451 #line 873 "rx-decode.opc"
10452 int a AU = (op[2] >> 7) & 0x01;
10453 #line 873 "rx-decode.opc"
10454 int m AU = (op[2] >> 6) & 0x01;
10455 #line 873 "rx-decode.opc"
10456 int rdst AU = op[2] & 0x0f;
10459 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10460 "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
10461 op[0], op[1], op[2]);
10462 printf (" i = 0x%x,", i);
10463 printf (" a = 0x%x,", a);
10464 printf (" m = 0x%x,", m);
10465 printf (" rdst = 0x%x\n", rdst);
10467 SYNTAX("mvfacmi #%2, %1, %0");
10468 #line 873 "rx-decode.opc"
10469 ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10476 /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
10477 #line 1086 "rx-decode.opc"
10478 int i AU = op[1] & 0x01;
10479 #line 1086 "rx-decode.opc"
10480 int a AU = (op[2] >> 7) & 0x01;
10481 #line 1086 "rx-decode.opc"
10482 int m AU = (op[2] >> 6) & 0x01;
10483 #line 1086 "rx-decode.opc"
10484 int rdst AU = op[2] & 0x0f;
10487 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10488 "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
10489 op[0], op[1], op[2]);
10490 printf (" i = 0x%x,", i);
10491 printf (" a = 0x%x,", a);
10492 printf (" m = 0x%x,", m);
10493 printf (" rdst = 0x%x\n", rdst);
10495 SYNTAX("mvfacgu #%2, %1, %0");
10496 #line 1086 "rx-decode.opc"
10497 ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10505 switch (op[2] & 0x30)
10508 goto op_semantics_83;
10511 goto op_semantics_84;
10514 goto op_semantics_85;
10517 goto op_semantics_86;
10523 switch (op[2] & 0x00)
10528 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
10529 #line 348 "rx-decode.opc"
10530 int p AU = (op[1] >> 2) & 0x01;
10531 #line 348 "rx-decode.opc"
10532 int sz AU = op[1] & 0x03;
10533 #line 348 "rx-decode.opc"
10534 int rdst AU = (op[2] >> 4) & 0x0f;
10535 #line 348 "rx-decode.opc"
10536 int rsrc AU = op[2] & 0x0f;
10539 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10540 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
10541 op[0], op[1], op[2]);
10542 printf (" p = 0x%x,", p);
10543 printf (" sz = 0x%x,", sz);
10544 printf (" rdst = 0x%x,", rdst);
10545 printf (" rsrc = 0x%x\n", rsrc);
10547 SYNTAX("mov%s %1, %0");
10548 #line 348 "rx-decode.opc"
10549 ID(mov); sBWL (sz); SR(rsrc); F_____;
10550 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
10558 switch (op[2] & 0x00)
10561 goto op_semantics_87;
10567 switch (op[2] & 0x00)
10570 goto op_semantics_87;
10576 switch (op[2] & 0x00)
10579 goto op_semantics_87;
10585 switch (op[2] & 0x00)
10588 goto op_semantics_87;
10594 switch (op[2] & 0x00)
10597 goto op_semantics_87;
10603 switch (op[2] & 0x00)
10607 /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
10608 #line 1050 "rx-decode.opc"
10609 int rdst AU = (op[2] >> 4) & 0x0f;
10610 #line 1050 "rx-decode.opc"
10611 int rsrc AU = op[2] & 0x0f;
10614 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10615 "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
10616 op[0], op[1], op[2]);
10617 printf (" rdst = 0x%x,", rdst);
10618 printf (" rsrc = 0x%x\n", rsrc);
10620 SYNTAX("movco %1, [%0]");
10621 #line 1050 "rx-decode.opc"
10622 ID(movco); SR(rsrc); DR(rdst); F_____;
10630 switch (op[2] & 0x00)
10635 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
10636 #line 352 "rx-decode.opc"
10637 int p AU = (op[1] >> 2) & 0x01;
10638 #line 352 "rx-decode.opc"
10639 int sz AU = op[1] & 0x03;
10640 #line 352 "rx-decode.opc"
10641 int rsrc AU = (op[2] >> 4) & 0x0f;
10642 #line 352 "rx-decode.opc"
10643 int rdst AU = op[2] & 0x0f;
10646 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10647 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
10648 op[0], op[1], op[2]);
10649 printf (" p = 0x%x,", p);
10650 printf (" sz = 0x%x,", sz);
10651 printf (" rsrc = 0x%x,", rsrc);
10652 printf (" rdst = 0x%x\n", rdst);
10654 SYNTAX("mov%s %1, %0");
10655 #line 352 "rx-decode.opc"
10656 ID(mov); sBWL (sz); DR(rdst); F_____;
10657 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10665 switch (op[2] & 0x00)
10668 goto op_semantics_88;
10674 switch (op[2] & 0x00)
10677 goto op_semantics_88;
10683 switch (op[2] & 0x00)
10686 goto op_semantics_88;
10692 switch (op[2] & 0x00)
10695 goto op_semantics_88;
10701 switch (op[2] & 0x00)
10704 goto op_semantics_88;
10710 switch (op[2] & 0x00)
10714 /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
10715 #line 1053 "rx-decode.opc"
10716 int rsrc AU = (op[2] >> 4) & 0x0f;
10717 #line 1053 "rx-decode.opc"
10718 int rdst AU = op[2] & 0x0f;
10721 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10722 "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
10723 op[0], op[1], op[2]);
10724 printf (" rsrc = 0x%x,", rsrc);
10725 printf (" rdst = 0x%x\n", rdst);
10727 SYNTAX("movli [%1], %0");
10728 #line 1053 "rx-decode.opc"
10729 ID(movli); SR(rsrc); DR(rdst); F_____;
10737 switch (op[2] & 0x00)
10742 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
10743 #line 362 "rx-decode.opc"
10744 int p AU = (op[1] >> 2) & 0x01;
10745 #line 362 "rx-decode.opc"
10746 int sz AU = op[1] & 0x03;
10747 #line 362 "rx-decode.opc"
10748 int rsrc AU = (op[2] >> 4) & 0x0f;
10749 #line 362 "rx-decode.opc"
10750 int rdst AU = op[2] & 0x0f;
10753 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10754 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
10755 op[0], op[1], op[2]);
10756 printf (" p = 0x%x,", p);
10757 printf (" sz = 0x%x,", sz);
10758 printf (" rsrc = 0x%x,", rsrc);
10759 printf (" rdst = 0x%x\n", rdst);
10761 SYNTAX("movu%s %1, %0");
10762 #line 362 "rx-decode.opc"
10763 ID(mov); uBW (sz); DR(rdst); F_____;
10764 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10766 /*----------------------------------------------------------------------*/
10775 switch (op[2] & 0x00)
10778 goto op_semantics_89;
10784 switch (op[2] & 0x00)
10787 goto op_semantics_89;
10793 switch (op[2] & 0x00)
10796 goto op_semantics_89;
10802 switch (op[2] & 0x00)
10805 goto op_semantics_89;
10811 switch (op[2] & 0x00)
10814 goto op_semantics_89;
10820 switch (op[2] & 0x00)
10825 /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
10826 #line 1074 "rx-decode.opc"
10827 int a AU = (op[1] >> 3) & 0x01;
10828 #line 1074 "rx-decode.opc"
10829 int srca AU = (op[2] >> 4) & 0x0f;
10830 #line 1074 "rx-decode.opc"
10831 int srcb AU = op[2] & 0x0f;
10834 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10835 "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
10836 op[0], op[1], op[2]);
10837 printf (" a = 0x%x,", a);
10838 printf (" srca = 0x%x,", srca);
10839 printf (" srcb = 0x%x\n", srcb);
10841 SYNTAX("msbhi %1, %2, %0");
10842 #line 1074 "rx-decode.opc"
10843 ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
10851 switch (op[2] & 0x00)
10856 /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
10857 #line 1080 "rx-decode.opc"
10858 int a AU = (op[1] >> 3) & 0x01;
10859 #line 1080 "rx-decode.opc"
10860 int srca AU = (op[2] >> 4) & 0x0f;
10861 #line 1080 "rx-decode.opc"
10862 int srcb AU = op[2] & 0x0f;
10865 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10866 "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
10867 op[0], op[1], op[2]);
10868 printf (" a = 0x%x,", a);
10869 printf (" srca = 0x%x,", srca);
10870 printf (" srcb = 0x%x\n", srcb);
10872 SYNTAX("msblo %1, %2, %0");
10873 #line 1080 "rx-decode.opc"
10874 ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
10882 switch (op[2] & 0x00)
10887 /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
10888 #line 1077 "rx-decode.opc"
10889 int a AU = (op[1] >> 3) & 0x01;
10890 #line 1077 "rx-decode.opc"
10891 int srca AU = (op[2] >> 4) & 0x0f;
10892 #line 1077 "rx-decode.opc"
10893 int srcb AU = op[2] & 0x0f;
10896 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10897 "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
10898 op[0], op[1], op[2]);
10899 printf (" a = 0x%x,", a);
10900 printf (" srca = 0x%x,", srca);
10901 printf (" srcb = 0x%x\n", srcb);
10903 SYNTAX("msblh %1, %2, %0");
10904 #line 1077 "rx-decode.opc"
10905 ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
10913 switch (op[2] & 0x00)
10918 /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
10919 #line 1065 "rx-decode.opc"
10920 int a AU = (op[1] >> 3) & 0x01;
10921 #line 1065 "rx-decode.opc"
10922 int srca AU = (op[2] >> 4) & 0x0f;
10923 #line 1065 "rx-decode.opc"
10924 int srcb AU = op[2] & 0x0f;
10927 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10928 "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
10929 op[0], op[1], op[2]);
10930 printf (" a = 0x%x,", a);
10931 printf (" srca = 0x%x,", srca);
10932 printf (" srcb = 0x%x\n", srcb);
10934 SYNTAX("emsba %1, %2, %0");
10935 #line 1065 "rx-decode.opc"
10936 ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
10944 switch (op[2] & 0x00)
10947 goto op_semantics_90;
10953 switch (op[2] & 0x00)
10956 goto op_semantics_91;
10962 switch (op[2] & 0x00)
10965 goto op_semantics_92;
10971 switch (op[2] & 0x00)
10974 goto op_semantics_93;
10980 switch (op[2] & 0x00)
10984 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
10985 #line 733 "rx-decode.opc"
10986 int rsrc AU = (op[2] >> 4) & 0x0f;
10987 #line 733 "rx-decode.opc"
10988 int rdst AU = op[2] & 0x0f;
10991 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10992 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
10993 op[0], op[1], op[2]);
10994 printf (" rsrc = 0x%x,", rsrc);
10995 printf (" rdst = 0x%x\n", rdst);
10997 SYNTAX("shlr %2, %0");
10998 #line 733 "rx-decode.opc"
10999 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
11007 switch (op[2] & 0x00)
11011 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
11012 #line 723 "rx-decode.opc"
11013 int rsrc AU = (op[2] >> 4) & 0x0f;
11014 #line 723 "rx-decode.opc"
11015 int rdst AU = op[2] & 0x0f;
11018 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11019 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
11020 op[0], op[1], op[2]);
11021 printf (" rsrc = 0x%x,", rsrc);
11022 printf (" rdst = 0x%x\n", rdst);
11024 SYNTAX("shar %2, %0");
11025 #line 723 "rx-decode.opc"
11026 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
11034 switch (op[2] & 0x00)
11038 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
11039 #line 713 "rx-decode.opc"
11040 int rsrc AU = (op[2] >> 4) & 0x0f;
11041 #line 713 "rx-decode.opc"
11042 int rdst AU = op[2] & 0x0f;
11045 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11046 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
11047 op[0], op[1], op[2]);
11048 printf (" rsrc = 0x%x,", rsrc);
11049 printf (" rdst = 0x%x\n", rdst);
11051 SYNTAX("shll %2, %0");
11052 #line 713 "rx-decode.opc"
11053 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
11061 switch (op[2] & 0x00)
11065 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
11066 #line 757 "rx-decode.opc"
11067 int rsrc AU = (op[2] >> 4) & 0x0f;
11068 #line 757 "rx-decode.opc"
11069 int rdst AU = op[2] & 0x0f;
11072 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11073 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
11074 op[0], op[1], op[2]);
11075 printf (" rsrc = 0x%x,", rsrc);
11076 printf (" rdst = 0x%x\n", rdst);
11078 SYNTAX("rotr %1, %0");
11079 #line 757 "rx-decode.opc"
11080 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
11088 switch (op[2] & 0x00)
11092 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
11093 #line 760 "rx-decode.opc"
11094 int rsrc AU = (op[2] >> 4) & 0x0f;
11095 #line 760 "rx-decode.opc"
11096 int rdst AU = op[2] & 0x0f;
11099 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11100 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
11101 op[0], op[1], op[2]);
11102 printf (" rsrc = 0x%x,", rsrc);
11103 printf (" rdst = 0x%x\n", rdst);
11105 SYNTAX("revw %1, %0");
11106 #line 760 "rx-decode.opc"
11107 ID(revw); SR(rsrc); DR(rdst);
11115 switch (op[2] & 0x00)
11119 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
11120 #line 751 "rx-decode.opc"
11121 int rsrc AU = (op[2] >> 4) & 0x0f;
11122 #line 751 "rx-decode.opc"
11123 int rdst AU = op[2] & 0x0f;
11126 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11127 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
11128 op[0], op[1], op[2]);
11129 printf (" rsrc = 0x%x,", rsrc);
11130 printf (" rdst = 0x%x\n", rdst);
11132 SYNTAX("rotl %1, %0");
11133 #line 751 "rx-decode.opc"
11134 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
11142 switch (op[2] & 0x00)
11146 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
11147 #line 763 "rx-decode.opc"
11148 int rsrc AU = (op[2] >> 4) & 0x0f;
11149 #line 763 "rx-decode.opc"
11150 int rdst AU = op[2] & 0x0f;
11153 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11154 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
11155 op[0], op[1], op[2]);
11156 printf (" rsrc = 0x%x,", rsrc);
11157 printf (" rdst = 0x%x\n", rdst);
11159 SYNTAX("revl %1, %0");
11160 #line 763 "rx-decode.opc"
11161 ID(revl); SR(rsrc); DR(rdst);
11163 /*----------------------------------------------------------------------*/
11172 switch (op[2] & 0x00)
11177 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
11178 #line 1014 "rx-decode.opc"
11179 int c AU = op[1] & 0x01;
11180 #line 1014 "rx-decode.opc"
11181 int rsrc AU = (op[2] >> 4) & 0x0f;
11182 #line 1014 "rx-decode.opc"
11183 int rdst AU = op[2] & 0x0f;
11186 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11187 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
11188 op[0], op[1], op[2]);
11189 printf (" c = 0x%x,", c);
11190 printf (" rsrc = 0x%x,", rsrc);
11191 printf (" rdst = 0x%x\n", rdst);
11193 SYNTAX("mvtc %1, %0");
11194 #line 1014 "rx-decode.opc"
11195 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
11203 switch (op[2] & 0x00)
11206 goto op_semantics_94;
11212 switch (op[2] & 0x00)
11217 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
11218 #line 1017 "rx-decode.opc"
11219 int s AU = op[1] & 0x01;
11220 #line 1017 "rx-decode.opc"
11221 int rsrc AU = (op[2] >> 4) & 0x0f;
11222 #line 1017 "rx-decode.opc"
11223 int rdst AU = op[2] & 0x0f;
11226 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11227 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
11228 op[0], op[1], op[2]);
11229 printf (" s = 0x%x,", s);
11230 printf (" rsrc = 0x%x,", rsrc);
11231 printf (" rdst = 0x%x\n", rdst);
11233 SYNTAX("mvfc %1, %0");
11234 #line 1017 "rx-decode.opc"
11235 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
11237 /*----------------------------------------------------------------------*/
11246 switch (op[2] & 0x00)
11249 goto op_semantics_95;
11255 switch (op[2] & 0x00)
11260 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
11261 #line 754 "rx-decode.opc"
11262 int i AU = op[1] & 0x01;
11263 #line 754 "rx-decode.opc"
11264 int mmmm AU = (op[2] >> 4) & 0x0f;
11265 #line 754 "rx-decode.opc"
11266 int rdst AU = op[2] & 0x0f;
11269 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11270 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
11271 op[0], op[1], op[2]);
11272 printf (" i = 0x%x,", i);
11273 printf (" mmmm = 0x%x,", mmmm);
11274 printf (" rdst = 0x%x\n", rdst);
11276 SYNTAX("rotr #%1, %0");
11277 #line 754 "rx-decode.opc"
11278 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
11286 switch (op[2] & 0x00)
11289 goto op_semantics_96;
11295 switch (op[2] & 0x00)
11300 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
11301 #line 748 "rx-decode.opc"
11302 int i AU = op[1] & 0x01;
11303 #line 748 "rx-decode.opc"
11304 int mmmm AU = (op[2] >> 4) & 0x0f;
11305 #line 748 "rx-decode.opc"
11306 int rdst AU = op[2] & 0x0f;
11309 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11310 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
11311 op[0], op[1], op[2]);
11312 printf (" i = 0x%x,", i);
11313 printf (" mmmm = 0x%x,", mmmm);
11314 printf (" rdst = 0x%x\n", rdst);
11316 SYNTAX("rotl #%1, %0");
11317 #line 748 "rx-decode.opc"
11318 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
11326 switch (op[2] & 0x00)
11329 goto op_semantics_97;
11335 switch (op[2] & 0xf0)
11340 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
11341 #line 492 "rx-decode.opc"
11342 int im AU = (op[1] >> 2) & 0x03;
11343 #line 492 "rx-decode.opc"
11344 int rdst AU = op[2] & 0x0f;
11347 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11348 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
11349 op[0], op[1], op[2]);
11350 printf (" im = 0x%x,", im);
11351 printf (" rdst = 0x%x\n", rdst);
11353 SYNTAX("adc #%1, %0");
11354 #line 492 "rx-decode.opc"
11355 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
11362 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
11363 #line 574 "rx-decode.opc"
11364 int im AU = (op[1] >> 2) & 0x03;
11365 #line 574 "rx-decode.opc"
11366 int rdst AU = op[2] & 0x0f;
11369 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11370 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
11371 op[0], op[1], op[2]);
11372 printf (" im = 0x%x,", im);
11373 printf (" rdst = 0x%x\n", rdst);
11375 SYNTAX("max #%1, %0");
11376 #line 574 "rx-decode.opc"
11377 int val = IMMex (im);
11378 if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
11381 SYNTAX("nop\t; max\t#0x80000000, r0");
11394 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
11395 #line 604 "rx-decode.opc"
11396 int im AU = (op[1] >> 2) & 0x03;
11397 #line 604 "rx-decode.opc"
11398 int rdst AU = op[2] & 0x0f;
11401 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11402 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
11403 op[0], op[1], op[2]);
11404 printf (" im = 0x%x,", im);
11405 printf (" rdst = 0x%x\n", rdst);
11407 SYNTAX("min #%1, %0");
11408 #line 604 "rx-decode.opc"
11409 ID(min); DR(rdst); SC(IMMex(im));
11416 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
11417 #line 662 "rx-decode.opc"
11418 int im AU = (op[1] >> 2) & 0x03;
11419 #line 662 "rx-decode.opc"
11420 int rdst AU = op[2] & 0x0f;
11423 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11424 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
11425 op[0], op[1], op[2]);
11426 printf (" im = 0x%x,", im);
11427 printf (" rdst = 0x%x\n", rdst);
11429 SYNTAX("emul #%1, %0");
11430 #line 662 "rx-decode.opc"
11431 ID(emul); DR(rdst); SC(IMMex(im));
11438 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
11439 #line 674 "rx-decode.opc"
11440 int im AU = (op[1] >> 2) & 0x03;
11441 #line 674 "rx-decode.opc"
11442 int rdst AU = op[2] & 0x0f;
11445 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11446 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
11447 op[0], op[1], op[2]);
11448 printf (" im = 0x%x,", im);
11449 printf (" rdst = 0x%x\n", rdst);
11451 SYNTAX("emulu #%1, %0");
11452 #line 674 "rx-decode.opc"
11453 ID(emulu); DR(rdst); SC(IMMex(im));
11460 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
11461 #line 686 "rx-decode.opc"
11462 int im AU = (op[1] >> 2) & 0x03;
11463 #line 686 "rx-decode.opc"
11464 int rdst AU = op[2] & 0x0f;
11467 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11468 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
11469 op[0], op[1], op[2]);
11470 printf (" im = 0x%x,", im);
11471 printf (" rdst = 0x%x\n", rdst);
11473 SYNTAX("div #%1, %0");
11474 #line 686 "rx-decode.opc"
11475 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
11482 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
11483 #line 698 "rx-decode.opc"
11484 int im AU = (op[1] >> 2) & 0x03;
11485 #line 698 "rx-decode.opc"
11486 int rdst AU = op[2] & 0x0f;
11489 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11490 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
11491 op[0], op[1], op[2]);
11492 printf (" im = 0x%x,", im);
11493 printf (" rdst = 0x%x\n", rdst);
11495 SYNTAX("divu #%1, %0");
11496 #line 698 "rx-decode.opc"
11497 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
11504 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
11505 #line 471 "rx-decode.opc"
11506 int im AU = (op[1] >> 2) & 0x03;
11507 #line 471 "rx-decode.opc"
11508 int rdst AU = op[2] & 0x0f;
11511 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11512 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
11513 op[0], op[1], op[2]);
11514 printf (" im = 0x%x,", im);
11515 printf (" rdst = 0x%x\n", rdst);
11517 SYNTAX("tst #%1, %2");
11518 #line 471 "rx-decode.opc"
11519 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
11526 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
11527 #line 450 "rx-decode.opc"
11528 int im AU = (op[1] >> 2) & 0x03;
11529 #line 450 "rx-decode.opc"
11530 int rdst AU = op[2] & 0x0f;
11533 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11534 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
11535 op[0], op[1], op[2]);
11536 printf (" im = 0x%x,", im);
11537 printf (" rdst = 0x%x\n", rdst);
11539 SYNTAX("xor #%1, %0");
11540 #line 450 "rx-decode.opc"
11541 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
11548 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
11549 #line 396 "rx-decode.opc"
11550 int im AU = (op[1] >> 2) & 0x03;
11551 #line 396 "rx-decode.opc"
11552 int rdst AU = op[2] & 0x0f;
11555 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11556 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
11557 op[0], op[1], op[2]);
11558 printf (" im = 0x%x,", im);
11559 printf (" rdst = 0x%x\n", rdst);
11561 SYNTAX("stz #%1, %0");
11562 #line 396 "rx-decode.opc"
11563 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
11570 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
11571 #line 399 "rx-decode.opc"
11572 int im AU = (op[1] >> 2) & 0x03;
11573 #line 399 "rx-decode.opc"
11574 int rdst AU = op[2] & 0x0f;
11577 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11578 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
11579 op[0], op[1], op[2]);
11580 printf (" im = 0x%x,", im);
11581 printf (" rdst = 0x%x\n", rdst);
11583 SYNTAX("stnz #%1, %0");
11584 #line 399 "rx-decode.opc"
11585 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
11587 /*----------------------------------------------------------------------*/
11592 default: UNSUPPORTED(); break;
11597 switch (op[2] & 0xf0)
11601 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
11602 #line 906 "rx-decode.opc"
11603 int rdst AU = op[2] & 0x0f;
11606 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11607 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
11608 op[0], op[1], op[2]);
11609 printf (" rdst = 0x%x\n", rdst);
11611 SYNTAX("fsub #%1, %0");
11612 #line 906 "rx-decode.opc"
11613 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
11619 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
11620 #line 900 "rx-decode.opc"
11621 int rdst AU = op[2] & 0x0f;
11624 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11625 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
11626 op[0], op[1], op[2]);
11627 printf (" rdst = 0x%x\n", rdst);
11629 SYNTAX("fcmp #%1, %0");
11630 #line 900 "rx-decode.opc"
11631 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
11637 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
11638 #line 894 "rx-decode.opc"
11639 int rdst AU = op[2] & 0x0f;
11642 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11643 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
11644 op[0], op[1], op[2]);
11645 printf (" rdst = 0x%x\n", rdst);
11647 SYNTAX("fadd #%1, %0");
11648 #line 894 "rx-decode.opc"
11649 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
11655 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
11656 #line 915 "rx-decode.opc"
11657 int rdst AU = op[2] & 0x0f;
11660 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11661 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
11662 op[0], op[1], op[2]);
11663 printf (" rdst = 0x%x\n", rdst);
11665 SYNTAX("fmul #%1, %0");
11666 #line 915 "rx-decode.opc"
11667 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
11673 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
11674 #line 921 "rx-decode.opc"
11675 int rdst AU = op[2] & 0x0f;
11678 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11679 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
11680 op[0], op[1], op[2]);
11681 printf (" rdst = 0x%x\n", rdst);
11683 SYNTAX("fdiv #%1, %0");
11684 #line 921 "rx-decode.opc"
11685 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
11689 default: UNSUPPORTED(); break;
11694 switch (op[2] & 0xe0)
11699 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
11700 #line 1011 "rx-decode.opc"
11701 int im AU = (op[1] >> 2) & 0x03;
11702 #line 1011 "rx-decode.opc"
11703 int crdst AU = op[2] & 0x1f;
11706 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11707 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
11708 op[0], op[1], op[2]);
11709 printf (" im = 0x%x,", im);
11710 printf (" crdst = 0x%x\n", crdst);
11712 SYNTAX("mvtc #%1, %0");
11713 #line 1011 "rx-decode.opc"
11714 ID(mov); SC(IMMex(im)); DR(crdst + 16);
11718 default: UNSUPPORTED(); break;
11723 switch (op[2] & 0xf0)
11726 goto op_semantics_98;
11729 goto op_semantics_99;
11732 goto op_semantics_100;
11735 goto op_semantics_101;
11738 goto op_semantics_102;
11741 goto op_semantics_103;
11744 goto op_semantics_104;
11747 goto op_semantics_105;
11750 goto op_semantics_106;
11753 goto op_semantics_107;
11756 goto op_semantics_108;
11758 default: UNSUPPORTED(); break;
11763 switch (op[2] & 0xe0)
11766 goto op_semantics_109;
11768 default: UNSUPPORTED(); break;
11773 switch (op[2] & 0xf0)
11776 goto op_semantics_98;
11779 goto op_semantics_99;
11782 goto op_semantics_100;
11785 goto op_semantics_101;
11788 goto op_semantics_102;
11791 goto op_semantics_103;
11794 goto op_semantics_104;
11797 goto op_semantics_105;
11800 goto op_semantics_106;
11803 goto op_semantics_107;
11806 goto op_semantics_108;
11808 default: UNSUPPORTED(); break;
11813 switch (op[2] & 0xe0)
11816 goto op_semantics_109;
11818 default: UNSUPPORTED(); break;
11823 switch (op[2] & 0xf0)
11826 goto op_semantics_98;
11829 goto op_semantics_99;
11832 goto op_semantics_100;
11835 goto op_semantics_101;
11838 goto op_semantics_102;
11841 goto op_semantics_103;
11844 goto op_semantics_104;
11847 goto op_semantics_105;
11850 goto op_semantics_106;
11853 goto op_semantics_107;
11856 goto op_semantics_108;
11858 default: UNSUPPORTED(); break;
11863 switch (op[2] & 0xe0)
11866 goto op_semantics_109;
11868 default: UNSUPPORTED(); break;
11873 switch (op[2] & 0x00)
11878 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
11879 #line 736 "rx-decode.opc"
11880 int immmm AU = op[1] & 0x1f;
11881 #line 736 "rx-decode.opc"
11882 int rsrc AU = (op[2] >> 4) & 0x0f;
11883 #line 736 "rx-decode.opc"
11884 int rdst AU = op[2] & 0x0f;
11887 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11888 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
11889 op[0], op[1], op[2]);
11890 printf (" immmm = 0x%x,", immmm);
11891 printf (" rsrc = 0x%x,", rsrc);
11892 printf (" rdst = 0x%x\n", rdst);
11894 SYNTAX("shlr #%2, %1, %0");
11895 #line 736 "rx-decode.opc"
11896 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
11898 /*----------------------------------------------------------------------*/
11907 switch (op[2] & 0x00)
11910 goto op_semantics_110;
11916 switch (op[2] & 0x00)
11919 goto op_semantics_110;
11925 switch (op[2] & 0x00)
11928 goto op_semantics_110;
11934 switch (op[2] & 0x00)
11937 goto op_semantics_110;
11943 switch (op[2] & 0x00)
11946 goto op_semantics_110;
11952 switch (op[2] & 0x00)
11955 goto op_semantics_110;
11961 switch (op[2] & 0x00)
11964 goto op_semantics_110;
11970 switch (op[2] & 0x00)
11973 goto op_semantics_110;
11979 switch (op[2] & 0x00)
11982 goto op_semantics_110;
11988 switch (op[2] & 0x00)
11991 goto op_semantics_110;
11997 switch (op[2] & 0x00)
12000 goto op_semantics_110;
12006 switch (op[2] & 0x00)
12009 goto op_semantics_110;
12015 switch (op[2] & 0x00)
12018 goto op_semantics_110;
12024 switch (op[2] & 0x00)
12027 goto op_semantics_110;
12033 switch (op[2] & 0x00)
12036 goto op_semantics_110;
12042 switch (op[2] & 0x00)
12045 goto op_semantics_110;
12051 switch (op[2] & 0x00)
12054 goto op_semantics_110;
12060 switch (op[2] & 0x00)
12063 goto op_semantics_110;
12069 switch (op[2] & 0x00)
12072 goto op_semantics_110;
12078 switch (op[2] & 0x00)
12081 goto op_semantics_110;
12087 switch (op[2] & 0x00)
12090 goto op_semantics_110;
12096 switch (op[2] & 0x00)
12099 goto op_semantics_110;
12105 switch (op[2] & 0x00)
12108 goto op_semantics_110;
12114 switch (op[2] & 0x00)
12117 goto op_semantics_110;
12123 switch (op[2] & 0x00)
12126 goto op_semantics_110;
12132 switch (op[2] & 0x00)
12135 goto op_semantics_110;
12141 switch (op[2] & 0x00)
12144 goto op_semantics_110;
12150 switch (op[2] & 0x00)
12153 goto op_semantics_110;
12159 switch (op[2] & 0x00)
12162 goto op_semantics_110;
12168 switch (op[2] & 0x00)
12171 goto op_semantics_110;
12177 switch (op[2] & 0x00)
12180 goto op_semantics_110;
12186 switch (op[2] & 0x00)
12191 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
12192 #line 726 "rx-decode.opc"
12193 int immmm AU = op[1] & 0x1f;
12194 #line 726 "rx-decode.opc"
12195 int rsrc AU = (op[2] >> 4) & 0x0f;
12196 #line 726 "rx-decode.opc"
12197 int rdst AU = op[2] & 0x0f;
12200 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12201 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
12202 op[0], op[1], op[2]);
12203 printf (" immmm = 0x%x,", immmm);
12204 printf (" rsrc = 0x%x,", rsrc);
12205 printf (" rdst = 0x%x\n", rdst);
12207 SYNTAX("shar #%2, %1, %0");
12208 #line 726 "rx-decode.opc"
12209 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
12218 switch (op[2] & 0x00)
12221 goto op_semantics_111;
12227 switch (op[2] & 0x00)
12230 goto op_semantics_111;
12236 switch (op[2] & 0x00)
12239 goto op_semantics_111;
12245 switch (op[2] & 0x00)
12248 goto op_semantics_111;
12254 switch (op[2] & 0x00)
12257 goto op_semantics_111;
12263 switch (op[2] & 0x00)
12266 goto op_semantics_111;
12272 switch (op[2] & 0x00)
12275 goto op_semantics_111;
12281 switch (op[2] & 0x00)
12284 goto op_semantics_111;
12290 switch (op[2] & 0x00)
12293 goto op_semantics_111;
12299 switch (op[2] & 0x00)
12302 goto op_semantics_111;
12308 switch (op[2] & 0x00)
12311 goto op_semantics_111;
12317 switch (op[2] & 0x00)
12320 goto op_semantics_111;
12326 switch (op[2] & 0x00)
12329 goto op_semantics_111;
12335 switch (op[2] & 0x00)
12338 goto op_semantics_111;
12344 switch (op[2] & 0x00)
12347 goto op_semantics_111;
12353 switch (op[2] & 0x00)
12356 goto op_semantics_111;
12362 switch (op[2] & 0x00)
12365 goto op_semantics_111;
12371 switch (op[2] & 0x00)
12374 goto op_semantics_111;
12380 switch (op[2] & 0x00)
12383 goto op_semantics_111;
12389 switch (op[2] & 0x00)
12392 goto op_semantics_111;
12398 switch (op[2] & 0x00)
12401 goto op_semantics_111;
12407 switch (op[2] & 0x00)
12410 goto op_semantics_111;
12416 switch (op[2] & 0x00)
12419 goto op_semantics_111;
12425 switch (op[2] & 0x00)
12428 goto op_semantics_111;
12434 switch (op[2] & 0x00)
12437 goto op_semantics_111;
12443 switch (op[2] & 0x00)
12446 goto op_semantics_111;
12452 switch (op[2] & 0x00)
12455 goto op_semantics_111;
12461 switch (op[2] & 0x00)
12464 goto op_semantics_111;
12470 switch (op[2] & 0x00)
12473 goto op_semantics_111;
12479 switch (op[2] & 0x00)
12482 goto op_semantics_111;
12488 switch (op[2] & 0x00)
12491 goto op_semantics_111;
12497 switch (op[2] & 0x00)
12502 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
12503 #line 716 "rx-decode.opc"
12504 int immmm AU = op[1] & 0x1f;
12505 #line 716 "rx-decode.opc"
12506 int rsrc AU = (op[2] >> 4) & 0x0f;
12507 #line 716 "rx-decode.opc"
12508 int rdst AU = op[2] & 0x0f;
12511 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12512 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
12513 op[0], op[1], op[2]);
12514 printf (" immmm = 0x%x,", immmm);
12515 printf (" rsrc = 0x%x,", rsrc);
12516 printf (" rdst = 0x%x\n", rdst);
12518 SYNTAX("shll #%2, %1, %0");
12519 #line 716 "rx-decode.opc"
12520 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
12529 switch (op[2] & 0x00)
12532 goto op_semantics_112;
12538 switch (op[2] & 0x00)
12541 goto op_semantics_112;
12547 switch (op[2] & 0x00)
12550 goto op_semantics_112;
12556 switch (op[2] & 0x00)
12559 goto op_semantics_112;
12565 switch (op[2] & 0x00)
12568 goto op_semantics_112;
12574 switch (op[2] & 0x00)
12577 goto op_semantics_112;
12583 switch (op[2] & 0x00)
12586 goto op_semantics_112;
12592 switch (op[2] & 0x00)
12595 goto op_semantics_112;
12601 switch (op[2] & 0x00)
12604 goto op_semantics_112;
12610 switch (op[2] & 0x00)
12613 goto op_semantics_112;
12619 switch (op[2] & 0x00)
12622 goto op_semantics_112;
12628 switch (op[2] & 0x00)
12631 goto op_semantics_112;
12637 switch (op[2] & 0x00)
12640 goto op_semantics_112;
12646 switch (op[2] & 0x00)
12649 goto op_semantics_112;
12655 switch (op[2] & 0x00)
12658 goto op_semantics_112;
12664 switch (op[2] & 0x00)
12667 goto op_semantics_112;
12673 switch (op[2] & 0x00)
12676 goto op_semantics_112;
12682 switch (op[2] & 0x00)
12685 goto op_semantics_112;
12691 switch (op[2] & 0x00)
12694 goto op_semantics_112;
12700 switch (op[2] & 0x00)
12703 goto op_semantics_112;
12709 switch (op[2] & 0x00)
12712 goto op_semantics_112;
12718 switch (op[2] & 0x00)
12721 goto op_semantics_112;
12727 switch (op[2] & 0x00)
12730 goto op_semantics_112;
12736 switch (op[2] & 0x00)
12739 goto op_semantics_112;
12745 switch (op[2] & 0x00)
12748 goto op_semantics_112;
12754 switch (op[2] & 0x00)
12757 goto op_semantics_112;
12763 switch (op[2] & 0x00)
12766 goto op_semantics_112;
12772 switch (op[2] & 0x00)
12775 goto op_semantics_112;
12781 switch (op[2] & 0x00)
12784 goto op_semantics_112;
12790 switch (op[2] & 0x00)
12793 goto op_semantics_112;
12799 switch (op[2] & 0x00)
12802 goto op_semantics_112;
12808 switch (op[2] & 0xf0)
12827 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
12828 #line 990 "rx-decode.opc"
12829 int bittt AU = op[1] & 0x1f;
12830 #line 990 "rx-decode.opc"
12831 int cond AU = (op[2] >> 4) & 0x0f;
12832 #line 990 "rx-decode.opc"
12833 int rdst AU = op[2] & 0x0f;
12836 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12837 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
12838 op[0], op[1], op[2]);
12839 printf (" bittt = 0x%x,", bittt);
12840 printf (" cond = 0x%x,", cond);
12841 printf (" rdst = 0x%x\n", rdst);
12843 SYNTAX("bm%2 #%1, %0%S0");
12844 #line 990 "rx-decode.opc"
12845 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
12847 /*----------------------------------------------------------------------*/
12848 /* CONTROL REGISTERS */
12855 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
12856 #line 983 "rx-decode.opc"
12857 int bittt AU = op[1] & 0x1f;
12858 #line 983 "rx-decode.opc"
12859 int rdst AU = op[2] & 0x0f;
12862 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12863 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
12864 op[0], op[1], op[2]);
12865 printf (" bittt = 0x%x,", bittt);
12866 printf (" rdst = 0x%x\n", rdst);
12868 SYNTAX("bnot #%1, %0");
12869 #line 983 "rx-decode.opc"
12870 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
12879 switch (op[2] & 0xf0)
12896 goto op_semantics_113;
12899 goto op_semantics_114;
12905 switch (op[2] & 0xf0)
12922 goto op_semantics_113;
12925 goto op_semantics_114;
12931 switch (op[2] & 0xf0)
12948 goto op_semantics_113;
12951 goto op_semantics_114;
12957 switch (op[2] & 0xf0)
12974 goto op_semantics_113;
12977 goto op_semantics_114;
12983 switch (op[2] & 0xf0)
13000 goto op_semantics_113;
13003 goto op_semantics_114;
13009 switch (op[2] & 0xf0)
13026 goto op_semantics_113;
13029 goto op_semantics_114;
13035 switch (op[2] & 0xf0)
13052 goto op_semantics_113;
13055 goto op_semantics_114;
13061 switch (op[2] & 0xf0)
13078 goto op_semantics_113;
13081 goto op_semantics_114;
13087 switch (op[2] & 0xf0)
13104 goto op_semantics_113;
13107 goto op_semantics_114;
13113 switch (op[2] & 0xf0)
13130 goto op_semantics_113;
13133 goto op_semantics_114;
13139 switch (op[2] & 0xf0)
13156 goto op_semantics_113;
13159 goto op_semantics_114;
13165 switch (op[2] & 0xf0)
13182 goto op_semantics_113;
13185 goto op_semantics_114;
13191 switch (op[2] & 0xf0)
13208 goto op_semantics_113;
13211 goto op_semantics_114;
13217 switch (op[2] & 0xf0)
13234 goto op_semantics_113;
13237 goto op_semantics_114;
13243 switch (op[2] & 0xf0)
13260 goto op_semantics_113;
13263 goto op_semantics_114;
13269 switch (op[2] & 0xf0)
13286 goto op_semantics_113;
13289 goto op_semantics_114;
13295 switch (op[2] & 0xf0)
13312 goto op_semantics_113;
13315 goto op_semantics_114;
13321 switch (op[2] & 0xf0)
13338 goto op_semantics_113;
13341 goto op_semantics_114;
13347 switch (op[2] & 0xf0)
13364 goto op_semantics_113;
13367 goto op_semantics_114;
13373 switch (op[2] & 0xf0)
13390 goto op_semantics_113;
13393 goto op_semantics_114;
13399 switch (op[2] & 0xf0)
13416 goto op_semantics_113;
13419 goto op_semantics_114;
13425 switch (op[2] & 0xf0)
13442 goto op_semantics_113;
13445 goto op_semantics_114;
13451 switch (op[2] & 0xf0)
13468 goto op_semantics_113;
13471 goto op_semantics_114;
13477 switch (op[2] & 0xf0)
13494 goto op_semantics_113;
13497 goto op_semantics_114;
13503 switch (op[2] & 0xf0)
13520 goto op_semantics_113;
13523 goto op_semantics_114;
13529 switch (op[2] & 0xf0)
13546 goto op_semantics_113;
13549 goto op_semantics_114;
13555 switch (op[2] & 0xf0)
13572 goto op_semantics_113;
13575 goto op_semantics_114;
13581 switch (op[2] & 0xf0)
13598 goto op_semantics_113;
13601 goto op_semantics_114;
13607 switch (op[2] & 0xf0)
13624 goto op_semantics_113;
13627 goto op_semantics_114;
13633 switch (op[2] & 0xf0)
13650 goto op_semantics_113;
13653 goto op_semantics_114;
13659 switch (op[2] & 0xf0)
13676 goto op_semantics_113;
13679 goto op_semantics_114;
13683 default: UNSUPPORTED(); break;
13688 switch (op[1] & 0xff)
13692 switch (op[2] & 0x00)
13697 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
13698 #line 342 "rx-decode.opc"
13699 int sz AU = (op[1] >> 4) & 0x03;
13700 #line 342 "rx-decode.opc"
13701 int isrc AU = op[1] & 0x0f;
13702 #line 342 "rx-decode.opc"
13703 int bsrc AU = (op[2] >> 4) & 0x0f;
13704 #line 342 "rx-decode.opc"
13705 int rdst AU = op[2] & 0x0f;
13708 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13709 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
13710 op[0], op[1], op[2]);
13711 printf (" sz = 0x%x,", sz);
13712 printf (" isrc = 0x%x,", isrc);
13713 printf (" bsrc = 0x%x,", bsrc);
13714 printf (" rdst = 0x%x\n", rdst);
13716 SYNTAX("mov%s %0, [%1, %2]");
13717 #line 342 "rx-decode.opc"
13718 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13726 switch (op[2] & 0x00)
13729 goto op_semantics_115;
13735 switch (op[2] & 0x00)
13738 goto op_semantics_115;
13744 switch (op[2] & 0x00)
13747 goto op_semantics_115;
13753 switch (op[2] & 0x00)
13756 goto op_semantics_115;
13762 switch (op[2] & 0x00)
13765 goto op_semantics_115;
13771 switch (op[2] & 0x00)
13774 goto op_semantics_115;
13780 switch (op[2] & 0x00)
13783 goto op_semantics_115;
13789 switch (op[2] & 0x00)
13792 goto op_semantics_115;
13798 switch (op[2] & 0x00)
13801 goto op_semantics_115;
13807 switch (op[2] & 0x00)
13810 goto op_semantics_115;
13816 switch (op[2] & 0x00)
13819 goto op_semantics_115;
13825 switch (op[2] & 0x00)
13828 goto op_semantics_115;
13834 switch (op[2] & 0x00)
13837 goto op_semantics_115;
13843 switch (op[2] & 0x00)
13846 goto op_semantics_115;
13852 switch (op[2] & 0x00)
13855 goto op_semantics_115;
13861 switch (op[2] & 0x00)
13864 goto op_semantics_115;
13870 switch (op[2] & 0x00)
13873 goto op_semantics_115;
13879 switch (op[2] & 0x00)
13882 goto op_semantics_115;
13888 switch (op[2] & 0x00)
13891 goto op_semantics_115;
13897 switch (op[2] & 0x00)
13900 goto op_semantics_115;
13906 switch (op[2] & 0x00)
13909 goto op_semantics_115;
13915 switch (op[2] & 0x00)
13918 goto op_semantics_115;
13924 switch (op[2] & 0x00)
13927 goto op_semantics_115;
13933 switch (op[2] & 0x00)
13936 goto op_semantics_115;
13942 switch (op[2] & 0x00)
13945 goto op_semantics_115;
13951 switch (op[2] & 0x00)
13954 goto op_semantics_115;
13960 switch (op[2] & 0x00)
13963 goto op_semantics_115;
13969 switch (op[2] & 0x00)
13972 goto op_semantics_115;
13978 switch (op[2] & 0x00)
13981 goto op_semantics_115;
13987 switch (op[2] & 0x00)
13990 goto op_semantics_115;
13996 switch (op[2] & 0x00)
13999 goto op_semantics_115;
14005 switch (op[2] & 0x00)
14008 goto op_semantics_115;
14014 switch (op[2] & 0x00)
14017 goto op_semantics_115;
14023 switch (op[2] & 0x00)
14026 goto op_semantics_115;
14032 switch (op[2] & 0x00)
14035 goto op_semantics_115;
14041 switch (op[2] & 0x00)
14044 goto op_semantics_115;
14050 switch (op[2] & 0x00)
14053 goto op_semantics_115;
14059 switch (op[2] & 0x00)
14062 goto op_semantics_115;
14068 switch (op[2] & 0x00)
14071 goto op_semantics_115;
14077 switch (op[2] & 0x00)
14080 goto op_semantics_115;
14086 switch (op[2] & 0x00)
14089 goto op_semantics_115;
14095 switch (op[2] & 0x00)
14098 goto op_semantics_115;
14104 switch (op[2] & 0x00)
14107 goto op_semantics_115;
14113 switch (op[2] & 0x00)
14116 goto op_semantics_115;
14122 switch (op[2] & 0x00)
14125 goto op_semantics_115;
14131 switch (op[2] & 0x00)
14134 goto op_semantics_115;
14140 switch (op[2] & 0x00)
14143 goto op_semantics_115;
14149 switch (op[2] & 0x00)
14154 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
14155 #line 339 "rx-decode.opc"
14156 int sz AU = (op[1] >> 4) & 0x03;
14157 #line 339 "rx-decode.opc"
14158 int isrc AU = op[1] & 0x0f;
14159 #line 339 "rx-decode.opc"
14160 int bsrc AU = (op[2] >> 4) & 0x0f;
14161 #line 339 "rx-decode.opc"
14162 int rdst AU = op[2] & 0x0f;
14165 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14166 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
14167 op[0], op[1], op[2]);
14168 printf (" sz = 0x%x,", sz);
14169 printf (" isrc = 0x%x,", isrc);
14170 printf (" bsrc = 0x%x,", bsrc);
14171 printf (" rdst = 0x%x\n", rdst);
14173 SYNTAX("mov%s [%1, %2], %0");
14174 #line 339 "rx-decode.opc"
14175 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14183 switch (op[2] & 0x00)
14186 goto op_semantics_116;
14192 switch (op[2] & 0x00)
14195 goto op_semantics_116;
14201 switch (op[2] & 0x00)
14204 goto op_semantics_116;
14210 switch (op[2] & 0x00)
14213 goto op_semantics_116;
14219 switch (op[2] & 0x00)
14222 goto op_semantics_116;
14228 switch (op[2] & 0x00)
14231 goto op_semantics_116;
14237 switch (op[2] & 0x00)
14240 goto op_semantics_116;
14246 switch (op[2] & 0x00)
14249 goto op_semantics_116;
14255 switch (op[2] & 0x00)
14258 goto op_semantics_116;
14264 switch (op[2] & 0x00)
14267 goto op_semantics_116;
14273 switch (op[2] & 0x00)
14276 goto op_semantics_116;
14282 switch (op[2] & 0x00)
14285 goto op_semantics_116;
14291 switch (op[2] & 0x00)
14294 goto op_semantics_116;
14300 switch (op[2] & 0x00)
14303 goto op_semantics_116;
14309 switch (op[2] & 0x00)
14312 goto op_semantics_116;
14318 switch (op[2] & 0x00)
14321 goto op_semantics_116;
14327 switch (op[2] & 0x00)
14330 goto op_semantics_116;
14336 switch (op[2] & 0x00)
14339 goto op_semantics_116;
14345 switch (op[2] & 0x00)
14348 goto op_semantics_116;
14354 switch (op[2] & 0x00)
14357 goto op_semantics_116;
14363 switch (op[2] & 0x00)
14366 goto op_semantics_116;
14372 switch (op[2] & 0x00)
14375 goto op_semantics_116;
14381 switch (op[2] & 0x00)
14384 goto op_semantics_116;
14390 switch (op[2] & 0x00)
14393 goto op_semantics_116;
14399 switch (op[2] & 0x00)
14402 goto op_semantics_116;
14408 switch (op[2] & 0x00)
14411 goto op_semantics_116;
14417 switch (op[2] & 0x00)
14420 goto op_semantics_116;
14426 switch (op[2] & 0x00)
14429 goto op_semantics_116;
14435 switch (op[2] & 0x00)
14438 goto op_semantics_116;
14444 switch (op[2] & 0x00)
14447 goto op_semantics_116;
14453 switch (op[2] & 0x00)
14456 goto op_semantics_116;
14462 switch (op[2] & 0x00)
14465 goto op_semantics_116;
14471 switch (op[2] & 0x00)
14474 goto op_semantics_116;
14480 switch (op[2] & 0x00)
14483 goto op_semantics_116;
14489 switch (op[2] & 0x00)
14492 goto op_semantics_116;
14498 switch (op[2] & 0x00)
14501 goto op_semantics_116;
14507 switch (op[2] & 0x00)
14510 goto op_semantics_116;
14516 switch (op[2] & 0x00)
14519 goto op_semantics_116;
14525 switch (op[2] & 0x00)
14528 goto op_semantics_116;
14534 switch (op[2] & 0x00)
14537 goto op_semantics_116;
14543 switch (op[2] & 0x00)
14546 goto op_semantics_116;
14552 switch (op[2] & 0x00)
14555 goto op_semantics_116;
14561 switch (op[2] & 0x00)
14564 goto op_semantics_116;
14570 switch (op[2] & 0x00)
14573 goto op_semantics_116;
14579 switch (op[2] & 0x00)
14582 goto op_semantics_116;
14588 switch (op[2] & 0x00)
14591 goto op_semantics_116;
14597 switch (op[2] & 0x00)
14600 goto op_semantics_116;
14606 switch (op[2] & 0x00)
14611 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
14612 #line 345 "rx-decode.opc"
14613 int sz AU = (op[1] >> 4) & 0x03;
14614 #line 345 "rx-decode.opc"
14615 int isrc AU = op[1] & 0x0f;
14616 #line 345 "rx-decode.opc"
14617 int bsrc AU = (op[2] >> 4) & 0x0f;
14618 #line 345 "rx-decode.opc"
14619 int rdst AU = op[2] & 0x0f;
14622 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14623 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
14624 op[0], op[1], op[2]);
14625 printf (" sz = 0x%x,", sz);
14626 printf (" isrc = 0x%x,", isrc);
14627 printf (" bsrc = 0x%x,", bsrc);
14628 printf (" rdst = 0x%x\n", rdst);
14630 SYNTAX("movu%s [%1, %2], %0");
14631 #line 345 "rx-decode.opc"
14632 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14640 switch (op[2] & 0x00)
14643 goto op_semantics_117;
14649 switch (op[2] & 0x00)
14652 goto op_semantics_117;
14658 switch (op[2] & 0x00)
14661 goto op_semantics_117;
14667 switch (op[2] & 0x00)
14670 goto op_semantics_117;
14676 switch (op[2] & 0x00)
14679 goto op_semantics_117;
14685 switch (op[2] & 0x00)
14688 goto op_semantics_117;
14694 switch (op[2] & 0x00)
14697 goto op_semantics_117;
14703 switch (op[2] & 0x00)
14706 goto op_semantics_117;
14712 switch (op[2] & 0x00)
14715 goto op_semantics_117;
14721 switch (op[2] & 0x00)
14724 goto op_semantics_117;
14730 switch (op[2] & 0x00)
14733 goto op_semantics_117;
14739 switch (op[2] & 0x00)
14742 goto op_semantics_117;
14748 switch (op[2] & 0x00)
14751 goto op_semantics_117;
14757 switch (op[2] & 0x00)
14760 goto op_semantics_117;
14766 switch (op[2] & 0x00)
14769 goto op_semantics_117;
14775 switch (op[2] & 0x00)
14778 goto op_semantics_117;
14784 switch (op[2] & 0x00)
14787 goto op_semantics_117;
14793 switch (op[2] & 0x00)
14796 goto op_semantics_117;
14802 switch (op[2] & 0x00)
14805 goto op_semantics_117;
14811 switch (op[2] & 0x00)
14814 goto op_semantics_117;
14820 switch (op[2] & 0x00)
14823 goto op_semantics_117;
14829 switch (op[2] & 0x00)
14832 goto op_semantics_117;
14838 switch (op[2] & 0x00)
14841 goto op_semantics_117;
14847 switch (op[2] & 0x00)
14850 goto op_semantics_117;
14856 switch (op[2] & 0x00)
14859 goto op_semantics_117;
14865 switch (op[2] & 0x00)
14868 goto op_semantics_117;
14874 switch (op[2] & 0x00)
14877 goto op_semantics_117;
14883 switch (op[2] & 0x00)
14886 goto op_semantics_117;
14892 switch (op[2] & 0x00)
14895 goto op_semantics_117;
14901 switch (op[2] & 0x00)
14904 goto op_semantics_117;
14910 switch (op[2] & 0x00)
14913 goto op_semantics_117;
14919 switch (op[2] & 0x00)
14922 goto op_semantics_117;
14928 switch (op[2] & 0x00)
14931 goto op_semantics_117;
14937 switch (op[2] & 0x00)
14940 goto op_semantics_117;
14946 switch (op[2] & 0x00)
14949 goto op_semantics_117;
14955 switch (op[2] & 0x00)
14958 goto op_semantics_117;
14964 switch (op[2] & 0x00)
14967 goto op_semantics_117;
14973 switch (op[2] & 0x00)
14976 goto op_semantics_117;
14982 switch (op[2] & 0x00)
14985 goto op_semantics_117;
14991 switch (op[2] & 0x00)
14994 goto op_semantics_117;
15000 switch (op[2] & 0x00)
15003 goto op_semantics_117;
15009 switch (op[2] & 0x00)
15012 goto op_semantics_117;
15018 switch (op[2] & 0x00)
15021 goto op_semantics_117;
15027 switch (op[2] & 0x00)
15030 goto op_semantics_117;
15036 switch (op[2] & 0x00)
15039 goto op_semantics_117;
15045 switch (op[2] & 0x00)
15048 goto op_semantics_117;
15054 switch (op[2] & 0x00)
15057 goto op_semantics_117;
15061 default: UNSUPPORTED(); break;
15066 switch (op[1] & 0xff)
15070 switch (op[2] & 0x00)
15075 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
15076 #line 549 "rx-decode.opc"
15077 int rdst AU = op[1] & 0x0f;
15078 #line 549 "rx-decode.opc"
15079 int srca AU = (op[2] >> 4) & 0x0f;
15080 #line 549 "rx-decode.opc"
15081 int srcb AU = op[2] & 0x0f;
15084 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15085 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
15086 op[0], op[1], op[2]);
15087 printf (" rdst = 0x%x,", rdst);
15088 printf (" srca = 0x%x,", srca);
15089 printf (" srcb = 0x%x\n", srcb);
15091 SYNTAX("sub %2, %1, %0");
15092 #line 549 "rx-decode.opc"
15093 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15095 /*----------------------------------------------------------------------*/
15104 switch (op[2] & 0x00)
15107 goto op_semantics_118;
15113 switch (op[2] & 0x00)
15116 goto op_semantics_118;
15122 switch (op[2] & 0x00)
15125 goto op_semantics_118;
15131 switch (op[2] & 0x00)
15134 goto op_semantics_118;
15140 switch (op[2] & 0x00)
15143 goto op_semantics_118;
15149 switch (op[2] & 0x00)
15152 goto op_semantics_118;
15158 switch (op[2] & 0x00)
15161 goto op_semantics_118;
15167 switch (op[2] & 0x00)
15170 goto op_semantics_118;
15176 switch (op[2] & 0x00)
15179 goto op_semantics_118;
15185 switch (op[2] & 0x00)
15188 goto op_semantics_118;
15194 switch (op[2] & 0x00)
15197 goto op_semantics_118;
15203 switch (op[2] & 0x00)
15206 goto op_semantics_118;
15212 switch (op[2] & 0x00)
15215 goto op_semantics_118;
15221 switch (op[2] & 0x00)
15224 goto op_semantics_118;
15230 switch (op[2] & 0x00)
15233 goto op_semantics_118;
15239 switch (op[2] & 0x00)
15244 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
15245 #line 516 "rx-decode.opc"
15246 int rdst AU = op[1] & 0x0f;
15247 #line 516 "rx-decode.opc"
15248 int srca AU = (op[2] >> 4) & 0x0f;
15249 #line 516 "rx-decode.opc"
15250 int srcb AU = op[2] & 0x0f;
15253 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15254 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
15255 op[0], op[1], op[2]);
15256 printf (" rdst = 0x%x,", rdst);
15257 printf (" srca = 0x%x,", srca);
15258 printf (" srcb = 0x%x\n", srcb);
15260 SYNTAX("add %2, %1, %0");
15261 #line 516 "rx-decode.opc"
15262 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15264 /*----------------------------------------------------------------------*/
15273 switch (op[2] & 0x00)
15276 goto op_semantics_119;
15282 switch (op[2] & 0x00)
15285 goto op_semantics_119;
15291 switch (op[2] & 0x00)
15294 goto op_semantics_119;
15300 switch (op[2] & 0x00)
15303 goto op_semantics_119;
15309 switch (op[2] & 0x00)
15312 goto op_semantics_119;
15318 switch (op[2] & 0x00)
15321 goto op_semantics_119;
15327 switch (op[2] & 0x00)
15330 goto op_semantics_119;
15336 switch (op[2] & 0x00)
15339 goto op_semantics_119;
15345 switch (op[2] & 0x00)
15348 goto op_semantics_119;
15354 switch (op[2] & 0x00)
15357 goto op_semantics_119;
15363 switch (op[2] & 0x00)
15366 goto op_semantics_119;
15372 switch (op[2] & 0x00)
15375 goto op_semantics_119;
15381 switch (op[2] & 0x00)
15384 goto op_semantics_119;
15390 switch (op[2] & 0x00)
15393 goto op_semantics_119;
15399 switch (op[2] & 0x00)
15402 goto op_semantics_119;
15408 switch (op[2] & 0x00)
15413 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
15414 #line 656 "rx-decode.opc"
15415 int rdst AU = op[1] & 0x0f;
15416 #line 656 "rx-decode.opc"
15417 int srca AU = (op[2] >> 4) & 0x0f;
15418 #line 656 "rx-decode.opc"
15419 int srcb AU = op[2] & 0x0f;
15422 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15423 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
15424 op[0], op[1], op[2]);
15425 printf (" rdst = 0x%x,", rdst);
15426 printf (" srca = 0x%x,", srca);
15427 printf (" srcb = 0x%x\n", srcb);
15429 SYNTAX("mul %2, %1, %0");
15430 #line 656 "rx-decode.opc"
15431 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
15433 /*----------------------------------------------------------------------*/
15442 switch (op[2] & 0x00)
15445 goto op_semantics_120;
15451 switch (op[2] & 0x00)
15454 goto op_semantics_120;
15460 switch (op[2] & 0x00)
15463 goto op_semantics_120;
15469 switch (op[2] & 0x00)
15472 goto op_semantics_120;
15478 switch (op[2] & 0x00)
15481 goto op_semantics_120;
15487 switch (op[2] & 0x00)
15490 goto op_semantics_120;
15496 switch (op[2] & 0x00)
15499 goto op_semantics_120;
15505 switch (op[2] & 0x00)
15508 goto op_semantics_120;
15514 switch (op[2] & 0x00)
15517 goto op_semantics_120;
15523 switch (op[2] & 0x00)
15526 goto op_semantics_120;
15532 switch (op[2] & 0x00)
15535 goto op_semantics_120;
15541 switch (op[2] & 0x00)
15544 goto op_semantics_120;
15550 switch (op[2] & 0x00)
15553 goto op_semantics_120;
15559 switch (op[2] & 0x00)
15562 goto op_semantics_120;
15568 switch (op[2] & 0x00)
15571 goto op_semantics_120;
15577 switch (op[2] & 0x00)
15582 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
15583 #line 426 "rx-decode.opc"
15584 int rdst AU = op[1] & 0x0f;
15585 #line 426 "rx-decode.opc"
15586 int srca AU = (op[2] >> 4) & 0x0f;
15587 #line 426 "rx-decode.opc"
15588 int srcb AU = op[2] & 0x0f;
15591 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15592 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
15593 op[0], op[1], op[2]);
15594 printf (" rdst = 0x%x,", rdst);
15595 printf (" srca = 0x%x,", srca);
15596 printf (" srcb = 0x%x\n", srcb);
15598 SYNTAX("and %2, %1, %0");
15599 #line 426 "rx-decode.opc"
15600 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15602 /*----------------------------------------------------------------------*/
15611 switch (op[2] & 0x00)
15614 goto op_semantics_121;
15620 switch (op[2] & 0x00)
15623 goto op_semantics_121;
15629 switch (op[2] & 0x00)
15632 goto op_semantics_121;
15638 switch (op[2] & 0x00)
15641 goto op_semantics_121;
15647 switch (op[2] & 0x00)
15650 goto op_semantics_121;
15656 switch (op[2] & 0x00)
15659 goto op_semantics_121;
15665 switch (op[2] & 0x00)
15668 goto op_semantics_121;
15674 switch (op[2] & 0x00)
15677 goto op_semantics_121;
15683 switch (op[2] & 0x00)
15686 goto op_semantics_121;
15692 switch (op[2] & 0x00)
15695 goto op_semantics_121;
15701 switch (op[2] & 0x00)
15704 goto op_semantics_121;
15710 switch (op[2] & 0x00)
15713 goto op_semantics_121;
15719 switch (op[2] & 0x00)
15722 goto op_semantics_121;
15728 switch (op[2] & 0x00)
15731 goto op_semantics_121;
15737 switch (op[2] & 0x00)
15740 goto op_semantics_121;
15746 switch (op[2] & 0x00)
15751 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
15752 #line 444 "rx-decode.opc"
15753 int rdst AU = op[1] & 0x0f;
15754 #line 444 "rx-decode.opc"
15755 int srca AU = (op[2] >> 4) & 0x0f;
15756 #line 444 "rx-decode.opc"
15757 int srcb AU = op[2] & 0x0f;
15760 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15761 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
15762 op[0], op[1], op[2]);
15763 printf (" rdst = 0x%x,", rdst);
15764 printf (" srca = 0x%x,", srca);
15765 printf (" srcb = 0x%x\n", srcb);
15767 SYNTAX("or %2, %1, %0");
15768 #line 444 "rx-decode.opc"
15769 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15771 /*----------------------------------------------------------------------*/
15780 switch (op[2] & 0x00)
15783 goto op_semantics_122;
15789 switch (op[2] & 0x00)
15792 goto op_semantics_122;
15798 switch (op[2] & 0x00)
15801 goto op_semantics_122;
15807 switch (op[2] & 0x00)
15810 goto op_semantics_122;
15816 switch (op[2] & 0x00)
15819 goto op_semantics_122;
15825 switch (op[2] & 0x00)
15828 goto op_semantics_122;
15834 switch (op[2] & 0x00)
15837 goto op_semantics_122;
15843 switch (op[2] & 0x00)
15846 goto op_semantics_122;
15852 switch (op[2] & 0x00)
15855 goto op_semantics_122;
15861 switch (op[2] & 0x00)
15864 goto op_semantics_122;
15870 switch (op[2] & 0x00)
15873 goto op_semantics_122;
15879 switch (op[2] & 0x00)
15882 goto op_semantics_122;
15888 switch (op[2] & 0x00)
15891 goto op_semantics_122;
15897 switch (op[2] & 0x00)
15900 goto op_semantics_122;
15906 switch (op[2] & 0x00)
15909 goto op_semantics_122;
15915 switch (op[2] & 0x00)
15920 /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
15921 #line 1104 "rx-decode.opc"
15922 int rdst AU = op[1] & 0x0f;
15923 #line 1104 "rx-decode.opc"
15924 int srca AU = (op[2] >> 4) & 0x0f;
15925 #line 1104 "rx-decode.opc"
15926 int srcb AU = op[2] & 0x0f;
15929 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15930 "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
15931 op[0], op[1], op[2]);
15932 printf (" rdst = 0x%x,", rdst);
15933 printf (" srca = 0x%x,", srca);
15934 printf (" srcb = 0x%x\n", srcb);
15936 SYNTAX("fsub %2, %1, %0");
15937 #line 1104 "rx-decode.opc"
15938 ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15946 switch (op[2] & 0x00)
15949 goto op_semantics_123;
15955 switch (op[2] & 0x00)
15958 goto op_semantics_123;
15964 switch (op[2] & 0x00)
15967 goto op_semantics_123;
15973 switch (op[2] & 0x00)
15976 goto op_semantics_123;
15982 switch (op[2] & 0x00)
15985 goto op_semantics_123;
15991 switch (op[2] & 0x00)
15994 goto op_semantics_123;
16000 switch (op[2] & 0x00)
16003 goto op_semantics_123;
16009 switch (op[2] & 0x00)
16012 goto op_semantics_123;
16018 switch (op[2] & 0x00)
16021 goto op_semantics_123;
16027 switch (op[2] & 0x00)
16030 goto op_semantics_123;
16036 switch (op[2] & 0x00)
16039 goto op_semantics_123;
16045 switch (op[2] & 0x00)
16048 goto op_semantics_123;
16054 switch (op[2] & 0x00)
16057 goto op_semantics_123;
16063 switch (op[2] & 0x00)
16066 goto op_semantics_123;
16072 switch (op[2] & 0x00)
16075 goto op_semantics_123;
16081 switch (op[2] & 0x00)
16086 /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
16087 #line 1101 "rx-decode.opc"
16088 int rdst AU = op[1] & 0x0f;
16089 #line 1101 "rx-decode.opc"
16090 int srca AU = (op[2] >> 4) & 0x0f;
16091 #line 1101 "rx-decode.opc"
16092 int srcb AU = op[2] & 0x0f;
16095 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16096 "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
16097 op[0], op[1], op[2]);
16098 printf (" rdst = 0x%x,", rdst);
16099 printf (" srca = 0x%x,", srca);
16100 printf (" srcb = 0x%x\n", srcb);
16102 SYNTAX("fadd %2, %1, %0");
16103 #line 1101 "rx-decode.opc"
16104 ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16112 switch (op[2] & 0x00)
16115 goto op_semantics_124;
16121 switch (op[2] & 0x00)
16124 goto op_semantics_124;
16130 switch (op[2] & 0x00)
16133 goto op_semantics_124;
16139 switch (op[2] & 0x00)
16142 goto op_semantics_124;
16148 switch (op[2] & 0x00)
16151 goto op_semantics_124;
16157 switch (op[2] & 0x00)
16160 goto op_semantics_124;
16166 switch (op[2] & 0x00)
16169 goto op_semantics_124;
16175 switch (op[2] & 0x00)
16178 goto op_semantics_124;
16184 switch (op[2] & 0x00)
16187 goto op_semantics_124;
16193 switch (op[2] & 0x00)
16196 goto op_semantics_124;
16202 switch (op[2] & 0x00)
16205 goto op_semantics_124;
16211 switch (op[2] & 0x00)
16214 goto op_semantics_124;
16220 switch (op[2] & 0x00)
16223 goto op_semantics_124;
16229 switch (op[2] & 0x00)
16232 goto op_semantics_124;
16238 switch (op[2] & 0x00)
16241 goto op_semantics_124;
16247 switch (op[2] & 0x00)
16252 /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
16253 #line 1107 "rx-decode.opc"
16254 int rdst AU = op[1] & 0x0f;
16255 #line 1107 "rx-decode.opc"
16256 int srca AU = (op[2] >> 4) & 0x0f;
16257 #line 1107 "rx-decode.opc"
16258 int srcb AU = op[2] & 0x0f;
16261 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16262 "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
16263 op[0], op[1], op[2]);
16264 printf (" rdst = 0x%x,", rdst);
16265 printf (" srca = 0x%x,", srca);
16266 printf (" srcb = 0x%x\n", srcb);
16268 SYNTAX("fmul %2, %1, %0");
16269 #line 1107 "rx-decode.opc"
16270 ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16278 switch (op[2] & 0x00)
16281 goto op_semantics_125;
16287 switch (op[2] & 0x00)
16290 goto op_semantics_125;
16296 switch (op[2] & 0x00)
16299 goto op_semantics_125;
16305 switch (op[2] & 0x00)
16308 goto op_semantics_125;
16314 switch (op[2] & 0x00)
16317 goto op_semantics_125;
16323 switch (op[2] & 0x00)
16326 goto op_semantics_125;
16332 switch (op[2] & 0x00)
16335 goto op_semantics_125;
16341 switch (op[2] & 0x00)
16344 goto op_semantics_125;
16350 switch (op[2] & 0x00)
16353 goto op_semantics_125;
16359 switch (op[2] & 0x00)
16362 goto op_semantics_125;
16368 switch (op[2] & 0x00)
16371 goto op_semantics_125;
16377 switch (op[2] & 0x00)
16380 goto op_semantics_125;
16386 switch (op[2] & 0x00)
16389 goto op_semantics_125;
16395 switch (op[2] & 0x00)
16398 goto op_semantics_125;
16404 switch (op[2] & 0x00)
16407 goto op_semantics_125;
16411 default: UNSUPPORTED(); break;
16414 default: UNSUPPORTED(); break;
16416 #line 1122 "rx-decode.opc"
16418 return rx->n_bytes;