1 #line 1 "rx-decode.opc"
3 /* Copyright 2012 Free Software Foundation, Inc.
4 Contributed by Red Hat.
7 This file is part of the GNU opcodes library.
9 This library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 MA 02110-1301, USA. */
29 #include "opcode/rx.h"
31 #define RX_OPCODE_BIG_ENDIAN 0
35 RX_Opcode_Decoded * rx;
36 int (* getbyte)(void *);
47 /* These are for when the upper bits are "don't care" or "undefined". */
77 #define ID(x) rx->id = RXO_##x
78 #define OP(n,t,r,a) (rx->op[n].type = t, \
80 rx->op[n].addend = a )
81 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
84 /* This is for the BWL and BW bitfields. */
85 static int SCALE[] = { 1, 2, 4 };
86 /* This is for the prefix size enum. */
87 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
89 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
90 16, 17, 0, 0, 0, 0, 0, 0 };
92 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
95 *C a constant (immediate) c
97 *I Register indirect, no offset
98 *Is Register indirect, with offset
99 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
100 *P standard displacement: type (r,[r]), reg, assumes UByte
101 *Pm memex displacement: type (r,[r]), reg, memex code
102 *cc condition code. */
104 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
105 #define DR(r) OP (0, RX_Operand_Register, r, 0)
106 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
107 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
108 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
109 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
111 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
112 #define SR(r) OP (1, RX_Operand_Register, r, 0)
113 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
114 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
115 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
116 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
117 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
118 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
119 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
121 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
122 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
123 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
124 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
125 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
126 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
127 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
128 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
130 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
131 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
132 #define uBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubwl[sz]
133 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
135 #define F(f) store_flags(rx, f)
137 #define AU ATTRIBUTE_UNUSED
138 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
140 #define SYNTAX(x) rx->syntax = x
142 #define UNSUPPORTED() \
143 rx->syntax = "*unknown*"
145 #define IMM(sf) immediate (sf, 0, ld)
146 #define IMMex(sf) immediate (sf, 1, ld)
149 immediate (int sfield, int ex, LocalData * ld)
151 unsigned long i = 0, j;
155 #define B ((unsigned long) GETBYTE())
157 #if RX_OPCODE_BIG_ENDIAN
159 if (ex && (i & 0x80))
170 if (ex && (j & 0x80))
176 #if RX_OPCODE_BIG_ENDIAN
185 if (ex && (i & 0x800000))
189 #if RX_OPCODE_BIG_ENDIAN
196 if (ex && (i & 0x8000))
201 if (ex && (i & 0x80))
211 rx_disp (int n, int type, int reg, int size, LocalData * ld)
215 ld->rx->op[n].reg = reg;
219 ld->rx->op[n].type = RX_Operand_Register;
222 ld->rx->op[n].type = RX_Operand_Indirect;
223 ld->rx->op[n].addend = 0;
226 ld->rx->op[n].type = RX_Operand_Indirect;
228 ld->rx->op[n].addend = disp * PSCALE[size];
231 ld->rx->op[n].type = RX_Operand_Indirect;
233 #if RX_OPCODE_BIG_ENDIAN
234 disp = disp * 256 + GETBYTE ();
236 disp = disp + GETBYTE () * 256;
238 ld->rx->op[n].addend = disp * PSCALE[size];
251 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
252 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
253 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
254 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
255 #define F_O___ rx->flags_0 = rx->flags_s = xO;
256 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
257 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
258 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
261 rx_decode_opcode (unsigned long pc AU,
262 RX_Opcode_Decoded * rx,
263 int (* getbyte)(void *),
266 LocalData lds, * ld = &lds;
267 unsigned char op[20] = {0};
270 lds.getbyte = getbyte;
274 memset (rx, 0, sizeof (*rx));
278 /*----------------------------------------------------------------------*/
282 switch (op[0] & 0xff)
289 printf ("\033[33m%s\033[0m %02x\n",
290 "/** 0000 0000 brk */",
294 #line 984 "rx-decode.opc"
304 printf ("\033[33m%s\033[0m %02x\n",
305 "/** 0000 0001 dbt */",
309 #line 987 "rx-decode.opc"
319 printf ("\033[33m%s\033[0m %02x\n",
320 "/** 0000 0010 rts */",
324 #line 765 "rx-decode.opc"
327 /*----------------------------------------------------------------------*/
337 printf ("\033[33m%s\033[0m %02x\n",
338 "/** 0000 0011 nop */",
342 #line 771 "rx-decode.opc"
345 /*----------------------------------------------------------------------*/
346 /* STRING FUNCTIONS */
352 /** 0000 0100 bra.a %a0 */
355 printf ("\033[33m%s\033[0m %02x\n",
356 "/** 0000 0100 bra.a %a0 */",
360 #line 743 "rx-decode.opc"
361 ID(branch); DC(pc + IMMex(3));
367 /** 0000 0101 bsr.a %a0 */
370 printf ("\033[33m%s\033[0m %02x\n",
371 "/** 0000 0101 bsr.a %a0 */",
375 #line 759 "rx-decode.opc"
376 ID(jsr); DC(pc + IMMex(3));
382 switch (op[1] & 0xff)
386 switch (op[2] & 0x00)
391 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
392 #line 539 "rx-decode.opc"
393 int mx AU = (op[1] >> 6) & 0x03;
394 #line 539 "rx-decode.opc"
395 int ss AU = op[1] & 0x03;
396 #line 539 "rx-decode.opc"
397 int rsrc AU = (op[2] >> 4) & 0x0f;
398 #line 539 "rx-decode.opc"
399 int rdst AU = op[2] & 0x0f;
402 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
403 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
404 op[0], op[1], op[2]);
405 printf (" mx = 0x%x,", mx);
406 printf (" ss = 0x%x,", ss);
407 printf (" rsrc = 0x%x,", rsrc);
408 printf (" rdst = 0x%x\n", rdst);
410 SYNTAX("sub %2%S2, %1");
411 #line 539 "rx-decode.opc"
412 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
420 switch (op[2] & 0x00)
429 switch (op[2] & 0x00)
438 switch (op[2] & 0x00)
447 switch (op[2] & 0x00)
452 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
453 #line 527 "rx-decode.opc"
454 int mx AU = (op[1] >> 6) & 0x03;
455 #line 527 "rx-decode.opc"
456 int ss AU = op[1] & 0x03;
457 #line 527 "rx-decode.opc"
458 int rsrc AU = (op[2] >> 4) & 0x0f;
459 #line 527 "rx-decode.opc"
460 int rdst AU = op[2] & 0x0f;
463 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
464 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
465 op[0], op[1], op[2]);
466 printf (" mx = 0x%x,", mx);
467 printf (" ss = 0x%x,", ss);
468 printf (" rsrc = 0x%x,", rsrc);
469 printf (" rdst = 0x%x\n", rdst);
471 SYNTAX("cmp %2%S2, %1");
472 #line 527 "rx-decode.opc"
473 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
475 /*----------------------------------------------------------------------*/
484 switch (op[2] & 0x00)
493 switch (op[2] & 0x00)
502 switch (op[2] & 0x00)
511 switch (op[2] & 0x00)
516 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
517 #line 503 "rx-decode.opc"
518 int mx AU = (op[1] >> 6) & 0x03;
519 #line 503 "rx-decode.opc"
520 int ss AU = op[1] & 0x03;
521 #line 503 "rx-decode.opc"
522 int rsrc AU = (op[2] >> 4) & 0x0f;
523 #line 503 "rx-decode.opc"
524 int rdst AU = op[2] & 0x0f;
527 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
528 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
529 op[0], op[1], op[2]);
530 printf (" mx = 0x%x,", mx);
531 printf (" ss = 0x%x,", ss);
532 printf (" rsrc = 0x%x,", rsrc);
533 printf (" rdst = 0x%x\n", rdst);
535 SYNTAX("add %1%S1, %0");
536 #line 503 "rx-decode.opc"
537 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
545 switch (op[2] & 0x00)
554 switch (op[2] & 0x00)
563 switch (op[2] & 0x00)
572 switch (op[2] & 0x00)
577 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
578 #line 608 "rx-decode.opc"
579 int mx AU = (op[1] >> 6) & 0x03;
580 #line 608 "rx-decode.opc"
581 int ss AU = op[1] & 0x03;
582 #line 608 "rx-decode.opc"
583 int rsrc AU = (op[2] >> 4) & 0x0f;
584 #line 608 "rx-decode.opc"
585 int rdst AU = op[2] & 0x0f;
588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
589 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
590 op[0], op[1], op[2]);
591 printf (" mx = 0x%x,", mx);
592 printf (" ss = 0x%x,", ss);
593 printf (" rsrc = 0x%x,", rsrc);
594 printf (" rdst = 0x%x\n", rdst);
596 SYNTAX("mul %1%S1, %0");
597 #line 608 "rx-decode.opc"
598 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
606 switch (op[2] & 0x00)
615 switch (op[2] & 0x00)
624 switch (op[2] & 0x00)
633 switch (op[2] & 0x00)
638 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
639 #line 416 "rx-decode.opc"
640 int mx AU = (op[1] >> 6) & 0x03;
641 #line 416 "rx-decode.opc"
642 int ss AU = op[1] & 0x03;
643 #line 416 "rx-decode.opc"
644 int rsrc AU = (op[2] >> 4) & 0x0f;
645 #line 416 "rx-decode.opc"
646 int rdst AU = op[2] & 0x0f;
649 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
650 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
651 op[0], op[1], op[2]);
652 printf (" mx = 0x%x,", mx);
653 printf (" ss = 0x%x,", ss);
654 printf (" rsrc = 0x%x,", rsrc);
655 printf (" rdst = 0x%x\n", rdst);
657 SYNTAX("and %1%S1, %0");
658 #line 416 "rx-decode.opc"
659 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
667 switch (op[2] & 0x00)
676 switch (op[2] & 0x00)
685 switch (op[2] & 0x00)
694 switch (op[2] & 0x00)
699 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
700 #line 434 "rx-decode.opc"
701 int mx AU = (op[1] >> 6) & 0x03;
702 #line 434 "rx-decode.opc"
703 int ss AU = op[1] & 0x03;
704 #line 434 "rx-decode.opc"
705 int rsrc AU = (op[2] >> 4) & 0x0f;
706 #line 434 "rx-decode.opc"
707 int rdst AU = op[2] & 0x0f;
710 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
711 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
712 op[0], op[1], op[2]);
713 printf (" mx = 0x%x,", mx);
714 printf (" ss = 0x%x,", ss);
715 printf (" rsrc = 0x%x,", rsrc);
716 printf (" rdst = 0x%x\n", rdst);
718 SYNTAX("or %1%S1, %0");
719 #line 434 "rx-decode.opc"
720 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
728 switch (op[2] & 0x00)
737 switch (op[2] & 0x00)
746 switch (op[2] & 0x00)
755 switch (op[2] & 0xff)
759 switch (op[3] & 0x00)
764 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
765 #line 552 "rx-decode.opc"
766 int mx AU = (op[1] >> 6) & 0x03;
767 #line 552 "rx-decode.opc"
768 int sp AU = op[1] & 0x03;
769 #line 552 "rx-decode.opc"
770 int rsrc AU = (op[3] >> 4) & 0x0f;
771 #line 552 "rx-decode.opc"
772 int rdst AU = op[3] & 0x0f;
775 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
776 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
777 op[0], op[1], op[2], op[3]);
778 printf (" mx = 0x%x,", mx);
779 printf (" sp = 0x%x,", sp);
780 printf (" rsrc = 0x%x,", rsrc);
781 printf (" rdst = 0x%x\n", rdst);
783 SYNTAX("sbb %1%S1, %0");
784 #line 552 "rx-decode.opc"
785 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
787 /*----------------------------------------------------------------------*/
796 switch (op[3] & 0x00)
801 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
802 #line 581 "rx-decode.opc"
803 int mx AU = (op[1] >> 6) & 0x03;
804 #line 581 "rx-decode.opc"
805 int ss AU = op[1] & 0x03;
806 #line 581 "rx-decode.opc"
807 int rsrc AU = (op[3] >> 4) & 0x0f;
808 #line 581 "rx-decode.opc"
809 int rdst AU = op[3] & 0x0f;
812 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
813 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
814 op[0], op[1], op[2], op[3]);
815 printf (" mx = 0x%x,", mx);
816 printf (" ss = 0x%x,", ss);
817 printf (" rsrc = 0x%x,", rsrc);
818 printf (" rdst = 0x%x\n", rdst);
820 SYNTAX("max %1%S1, %0");
821 #line 581 "rx-decode.opc"
822 ID(max); SPm(ss, rsrc, mx); DR(rdst);
824 /*----------------------------------------------------------------------*/
833 switch (op[3] & 0x00)
838 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
839 #line 593 "rx-decode.opc"
840 int mx AU = (op[1] >> 6) & 0x03;
841 #line 593 "rx-decode.opc"
842 int ss AU = op[1] & 0x03;
843 #line 593 "rx-decode.opc"
844 int rsrc AU = (op[3] >> 4) & 0x0f;
845 #line 593 "rx-decode.opc"
846 int rdst AU = op[3] & 0x0f;
849 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
850 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
851 op[0], op[1], op[2], op[3]);
852 printf (" mx = 0x%x,", mx);
853 printf (" ss = 0x%x,", ss);
854 printf (" rsrc = 0x%x,", rsrc);
855 printf (" rdst = 0x%x\n", rdst);
857 SYNTAX("min %1%S1, %0");
858 #line 593 "rx-decode.opc"
859 ID(min); SPm(ss, rsrc, mx); DR(rdst);
861 /*----------------------------------------------------------------------*/
870 switch (op[3] & 0x00)
875 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
876 #line 623 "rx-decode.opc"
877 int mx AU = (op[1] >> 6) & 0x03;
878 #line 623 "rx-decode.opc"
879 int ss AU = op[1] & 0x03;
880 #line 623 "rx-decode.opc"
881 int rsrc AU = (op[3] >> 4) & 0x0f;
882 #line 623 "rx-decode.opc"
883 int rdst AU = op[3] & 0x0f;
886 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
887 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
888 op[0], op[1], op[2], op[3]);
889 printf (" mx = 0x%x,", mx);
890 printf (" ss = 0x%x,", ss);
891 printf (" rsrc = 0x%x,", rsrc);
892 printf (" rdst = 0x%x\n", rdst);
894 SYNTAX("emul %1%S1, %0");
895 #line 623 "rx-decode.opc"
896 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
898 /*----------------------------------------------------------------------*/
907 switch (op[3] & 0x00)
912 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
913 #line 635 "rx-decode.opc"
914 int mx AU = (op[1] >> 6) & 0x03;
915 #line 635 "rx-decode.opc"
916 int ss AU = op[1] & 0x03;
917 #line 635 "rx-decode.opc"
918 int rsrc AU = (op[3] >> 4) & 0x0f;
919 #line 635 "rx-decode.opc"
920 int rdst AU = op[3] & 0x0f;
923 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
924 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
925 op[0], op[1], op[2], op[3]);
926 printf (" mx = 0x%x,", mx);
927 printf (" ss = 0x%x,", ss);
928 printf (" rsrc = 0x%x,", rsrc);
929 printf (" rdst = 0x%x\n", rdst);
931 SYNTAX("emulu %1%S1, %0");
932 #line 635 "rx-decode.opc"
933 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
935 /*----------------------------------------------------------------------*/
944 switch (op[3] & 0x00)
949 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
950 #line 647 "rx-decode.opc"
951 int mx AU = (op[1] >> 6) & 0x03;
952 #line 647 "rx-decode.opc"
953 int ss AU = op[1] & 0x03;
954 #line 647 "rx-decode.opc"
955 int rsrc AU = (op[3] >> 4) & 0x0f;
956 #line 647 "rx-decode.opc"
957 int rdst AU = op[3] & 0x0f;
960 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
961 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
962 op[0], op[1], op[2], op[3]);
963 printf (" mx = 0x%x,", mx);
964 printf (" ss = 0x%x,", ss);
965 printf (" rsrc = 0x%x,", rsrc);
966 printf (" rdst = 0x%x\n", rdst);
968 SYNTAX("div %1%S1, %0");
969 #line 647 "rx-decode.opc"
970 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
972 /*----------------------------------------------------------------------*/
981 switch (op[3] & 0x00)
986 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
987 #line 659 "rx-decode.opc"
988 int mx AU = (op[1] >> 6) & 0x03;
989 #line 659 "rx-decode.opc"
990 int ss AU = op[1] & 0x03;
991 #line 659 "rx-decode.opc"
992 int rsrc AU = (op[3] >> 4) & 0x0f;
993 #line 659 "rx-decode.opc"
994 int rdst AU = op[3] & 0x0f;
997 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
998 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
999 op[0], op[1], op[2], op[3]);
1000 printf (" mx = 0x%x,", mx);
1001 printf (" ss = 0x%x,", ss);
1002 printf (" rsrc = 0x%x,", rsrc);
1003 printf (" rdst = 0x%x\n", rdst);
1005 SYNTAX("divu %1%S1, %0");
1006 #line 659 "rx-decode.opc"
1007 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1009 /*----------------------------------------------------------------------*/
1018 switch (op[3] & 0x00)
1023 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1024 #line 470 "rx-decode.opc"
1025 int mx AU = (op[1] >> 6) & 0x03;
1026 #line 470 "rx-decode.opc"
1027 int ss AU = op[1] & 0x03;
1028 #line 470 "rx-decode.opc"
1029 int rsrc AU = (op[3] >> 4) & 0x0f;
1030 #line 470 "rx-decode.opc"
1031 int rdst AU = op[3] & 0x0f;
1034 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1035 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1036 op[0], op[1], op[2], op[3]);
1037 printf (" mx = 0x%x,", mx);
1038 printf (" ss = 0x%x,", ss);
1039 printf (" rsrc = 0x%x,", rsrc);
1040 printf (" rdst = 0x%x\n", rdst);
1042 SYNTAX("tst %1%S1, %2");
1043 #line 470 "rx-decode.opc"
1044 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1046 /*----------------------------------------------------------------------*/
1055 switch (op[3] & 0x00)
1060 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1061 #line 449 "rx-decode.opc"
1062 int mx AU = (op[1] >> 6) & 0x03;
1063 #line 449 "rx-decode.opc"
1064 int ss AU = op[1] & 0x03;
1065 #line 449 "rx-decode.opc"
1066 int rsrc AU = (op[3] >> 4) & 0x0f;
1067 #line 449 "rx-decode.opc"
1068 int rdst AU = op[3] & 0x0f;
1071 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1072 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1073 op[0], op[1], op[2], op[3]);
1074 printf (" mx = 0x%x,", mx);
1075 printf (" ss = 0x%x,", ss);
1076 printf (" rsrc = 0x%x,", rsrc);
1077 printf (" rdst = 0x%x\n", rdst);
1079 SYNTAX("xor %1%S1, %0");
1080 #line 449 "rx-decode.opc"
1081 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1083 /*----------------------------------------------------------------------*/
1092 switch (op[3] & 0x00)
1097 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1098 #line 383 "rx-decode.opc"
1099 int mx AU = (op[1] >> 6) & 0x03;
1100 #line 383 "rx-decode.opc"
1101 int ss AU = op[1] & 0x03;
1102 #line 383 "rx-decode.opc"
1103 int rsrc AU = (op[3] >> 4) & 0x0f;
1104 #line 383 "rx-decode.opc"
1105 int rdst AU = op[3] & 0x0f;
1108 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1109 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1110 op[0], op[1], op[2], op[3]);
1111 printf (" mx = 0x%x,", mx);
1112 printf (" ss = 0x%x,", ss);
1113 printf (" rsrc = 0x%x,", rsrc);
1114 printf (" rdst = 0x%x\n", rdst);
1116 SYNTAX("xchg %1%S1, %0");
1117 #line 383 "rx-decode.opc"
1118 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1120 /*----------------------------------------------------------------------*/
1129 switch (op[3] & 0x00)
1134 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1135 #line 888 "rx-decode.opc"
1136 int mx AU = (op[1] >> 6) & 0x03;
1137 #line 888 "rx-decode.opc"
1138 int sd AU = op[1] & 0x03;
1139 #line 888 "rx-decode.opc"
1140 int rsrc AU = (op[3] >> 4) & 0x0f;
1141 #line 888 "rx-decode.opc"
1142 int rdst AU = op[3] & 0x0f;
1145 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1146 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1147 op[0], op[1], op[2], op[3]);
1148 printf (" mx = 0x%x,", mx);
1149 printf (" sd = 0x%x,", sd);
1150 printf (" rsrc = 0x%x,", rsrc);
1151 printf (" rdst = 0x%x\n", rdst);
1153 SYNTAX("itof %1%S1, %0");
1154 #line 888 "rx-decode.opc"
1155 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1157 /*----------------------------------------------------------------------*/
1164 default: UNSUPPORTED(); break;
1169 switch (op[2] & 0xff)
1173 switch (op[3] & 0x00)
1176 goto op_semantics_7;
1182 switch (op[3] & 0x00)
1185 goto op_semantics_8;
1191 switch (op[3] & 0x00)
1194 goto op_semantics_9;
1200 switch (op[3] & 0x00)
1203 goto op_semantics_10;
1209 switch (op[3] & 0x00)
1212 goto op_semantics_11;
1218 switch (op[3] & 0x00)
1221 goto op_semantics_12;
1227 switch (op[3] & 0x00)
1230 goto op_semantics_13;
1236 switch (op[3] & 0x00)
1239 goto op_semantics_14;
1245 switch (op[3] & 0x00)
1248 goto op_semantics_15;
1254 switch (op[3] & 0x00)
1257 goto op_semantics_16;
1263 switch (op[3] & 0x00)
1266 goto op_semantics_17;
1270 default: UNSUPPORTED(); break;
1275 switch (op[2] & 0xff)
1279 switch (op[3] & 0x00)
1282 goto op_semantics_7;
1288 switch (op[3] & 0x00)
1291 goto op_semantics_8;
1297 switch (op[3] & 0x00)
1300 goto op_semantics_9;
1306 switch (op[3] & 0x00)
1309 goto op_semantics_10;
1315 switch (op[3] & 0x00)
1318 goto op_semantics_11;
1324 switch (op[3] & 0x00)
1327 goto op_semantics_12;
1333 switch (op[3] & 0x00)
1336 goto op_semantics_13;
1342 switch (op[3] & 0x00)
1345 goto op_semantics_14;
1351 switch (op[3] & 0x00)
1354 goto op_semantics_15;
1360 switch (op[3] & 0x00)
1363 goto op_semantics_16;
1369 switch (op[3] & 0x00)
1372 goto op_semantics_17;
1376 default: UNSUPPORTED(); break;
1381 switch (op[2] & 0xff)
1385 switch (op[3] & 0x00)
1388 goto op_semantics_7;
1394 switch (op[3] & 0x00)
1397 goto op_semantics_8;
1403 switch (op[3] & 0x00)
1406 goto op_semantics_9;
1412 switch (op[3] & 0x00)
1415 goto op_semantics_10;
1421 switch (op[3] & 0x00)
1424 goto op_semantics_11;
1430 switch (op[3] & 0x00)
1433 goto op_semantics_12;
1439 switch (op[3] & 0x00)
1442 goto op_semantics_13;
1448 switch (op[3] & 0x00)
1451 goto op_semantics_14;
1457 switch (op[3] & 0x00)
1460 goto op_semantics_15;
1466 switch (op[3] & 0x00)
1469 goto op_semantics_16;
1475 switch (op[3] & 0x00)
1478 goto op_semantics_17;
1482 default: UNSUPPORTED(); break;
1487 switch (op[2] & 0x00)
1490 goto op_semantics_1;
1496 switch (op[2] & 0x00)
1499 goto op_semantics_1;
1505 switch (op[2] & 0x00)
1508 goto op_semantics_1;
1514 switch (op[2] & 0x00)
1517 goto op_semantics_1;
1523 switch (op[2] & 0x00)
1526 goto op_semantics_2;
1532 switch (op[2] & 0x00)
1535 goto op_semantics_2;
1541 switch (op[2] & 0x00)
1544 goto op_semantics_2;
1550 switch (op[2] & 0x00)
1553 goto op_semantics_2;
1559 switch (op[2] & 0x00)
1562 goto op_semantics_3;
1568 switch (op[2] & 0x00)
1571 goto op_semantics_3;
1577 switch (op[2] & 0x00)
1580 goto op_semantics_3;
1586 switch (op[2] & 0x00)
1589 goto op_semantics_3;
1595 switch (op[2] & 0x00)
1598 goto op_semantics_4;
1604 switch (op[2] & 0x00)
1607 goto op_semantics_4;
1613 switch (op[2] & 0x00)
1616 goto op_semantics_4;
1622 switch (op[2] & 0x00)
1625 goto op_semantics_4;
1631 switch (op[2] & 0x00)
1634 goto op_semantics_5;
1640 switch (op[2] & 0x00)
1643 goto op_semantics_5;
1649 switch (op[2] & 0x00)
1652 goto op_semantics_5;
1658 switch (op[2] & 0x00)
1661 goto op_semantics_5;
1667 switch (op[2] & 0x00)
1670 goto op_semantics_6;
1676 switch (op[2] & 0x00)
1679 goto op_semantics_6;
1685 switch (op[2] & 0x00)
1688 goto op_semantics_6;
1694 switch (op[2] & 0x00)
1697 goto op_semantics_6;
1703 switch (op[2] & 0xff)
1707 switch (op[3] & 0x00)
1710 goto op_semantics_7;
1716 switch (op[3] & 0x00)
1719 goto op_semantics_8;
1725 switch (op[3] & 0x00)
1728 goto op_semantics_9;
1734 switch (op[3] & 0x00)
1737 goto op_semantics_10;
1743 switch (op[3] & 0x00)
1746 goto op_semantics_11;
1752 switch (op[3] & 0x00)
1755 goto op_semantics_12;
1761 switch (op[3] & 0x00)
1764 goto op_semantics_13;
1770 switch (op[3] & 0x00)
1773 goto op_semantics_14;
1779 switch (op[3] & 0x00)
1782 goto op_semantics_15;
1788 switch (op[3] & 0x00)
1791 goto op_semantics_16;
1797 switch (op[3] & 0x00)
1800 goto op_semantics_17;
1804 default: UNSUPPORTED(); break;
1809 switch (op[2] & 0xff)
1813 switch (op[3] & 0x00)
1816 goto op_semantics_7;
1822 switch (op[3] & 0x00)
1825 goto op_semantics_8;
1831 switch (op[3] & 0x00)
1834 goto op_semantics_9;
1840 switch (op[3] & 0x00)
1843 goto op_semantics_10;
1849 switch (op[3] & 0x00)
1852 goto op_semantics_11;
1858 switch (op[3] & 0x00)
1861 goto op_semantics_12;
1867 switch (op[3] & 0x00)
1870 goto op_semantics_13;
1876 switch (op[3] & 0x00)
1879 goto op_semantics_14;
1885 switch (op[3] & 0x00)
1888 goto op_semantics_15;
1894 switch (op[3] & 0x00)
1897 goto op_semantics_16;
1903 switch (op[3] & 0x00)
1906 goto op_semantics_17;
1910 default: UNSUPPORTED(); break;
1915 switch (op[2] & 0xff)
1919 switch (op[3] & 0x00)
1922 goto op_semantics_7;
1928 switch (op[3] & 0x00)
1931 goto op_semantics_8;
1937 switch (op[3] & 0x00)
1940 goto op_semantics_9;
1946 switch (op[3] & 0x00)
1949 goto op_semantics_10;
1955 switch (op[3] & 0x00)
1958 goto op_semantics_11;
1964 switch (op[3] & 0x00)
1967 goto op_semantics_12;
1973 switch (op[3] & 0x00)
1976 goto op_semantics_13;
1982 switch (op[3] & 0x00)
1985 goto op_semantics_14;
1991 switch (op[3] & 0x00)
1994 goto op_semantics_15;
2000 switch (op[3] & 0x00)
2003 goto op_semantics_16;
2009 switch (op[3] & 0x00)
2012 goto op_semantics_17;
2016 default: UNSUPPORTED(); break;
2021 switch (op[2] & 0xff)
2025 switch (op[3] & 0x00)
2028 goto op_semantics_7;
2034 switch (op[3] & 0x00)
2037 goto op_semantics_8;
2043 switch (op[3] & 0x00)
2046 goto op_semantics_9;
2052 switch (op[3] & 0x00)
2055 goto op_semantics_10;
2061 switch (op[3] & 0x00)
2064 goto op_semantics_11;
2070 switch (op[3] & 0x00)
2073 goto op_semantics_12;
2079 switch (op[3] & 0x00)
2082 goto op_semantics_13;
2088 switch (op[3] & 0x00)
2091 goto op_semantics_14;
2097 switch (op[3] & 0x00)
2100 goto op_semantics_15;
2106 switch (op[3] & 0x00)
2109 goto op_semantics_16;
2115 switch (op[3] & 0x00)
2118 goto op_semantics_17;
2122 default: UNSUPPORTED(); break;
2127 switch (op[2] & 0x00)
2130 goto op_semantics_1;
2136 switch (op[2] & 0x00)
2139 goto op_semantics_1;
2145 switch (op[2] & 0x00)
2148 goto op_semantics_1;
2154 switch (op[2] & 0x00)
2157 goto op_semantics_1;
2163 switch (op[2] & 0x00)
2166 goto op_semantics_2;
2172 switch (op[2] & 0x00)
2175 goto op_semantics_2;
2181 switch (op[2] & 0x00)
2184 goto op_semantics_2;
2190 switch (op[2] & 0x00)
2193 goto op_semantics_2;
2199 switch (op[2] & 0x00)
2202 goto op_semantics_3;
2208 switch (op[2] & 0x00)
2211 goto op_semantics_3;
2217 switch (op[2] & 0x00)
2220 goto op_semantics_3;
2226 switch (op[2] & 0x00)
2229 goto op_semantics_3;
2235 switch (op[2] & 0x00)
2238 goto op_semantics_4;
2244 switch (op[2] & 0x00)
2247 goto op_semantics_4;
2253 switch (op[2] & 0x00)
2256 goto op_semantics_4;
2262 switch (op[2] & 0x00)
2265 goto op_semantics_4;
2271 switch (op[2] & 0x00)
2274 goto op_semantics_5;
2280 switch (op[2] & 0x00)
2283 goto op_semantics_5;
2289 switch (op[2] & 0x00)
2292 goto op_semantics_5;
2298 switch (op[2] & 0x00)
2301 goto op_semantics_5;
2307 switch (op[2] & 0x00)
2310 goto op_semantics_6;
2316 switch (op[2] & 0x00)
2319 goto op_semantics_6;
2325 switch (op[2] & 0x00)
2328 goto op_semantics_6;
2334 switch (op[2] & 0x00)
2337 goto op_semantics_6;
2343 switch (op[2] & 0xff)
2347 switch (op[3] & 0x00)
2350 goto op_semantics_7;
2356 switch (op[3] & 0x00)
2361 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2362 #line 491 "rx-decode.opc"
2363 int ss AU = op[1] & 0x03;
2364 #line 491 "rx-decode.opc"
2365 int rsrc AU = (op[3] >> 4) & 0x0f;
2366 #line 491 "rx-decode.opc"
2367 int rdst AU = op[3] & 0x0f;
2370 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2371 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2372 op[0], op[1], op[2], op[3]);
2373 printf (" ss = 0x%x,", ss);
2374 printf (" rsrc = 0x%x,", rsrc);
2375 printf (" rdst = 0x%x\n", rdst);
2377 SYNTAX("adc %1%S1, %0");
2378 #line 491 "rx-decode.opc"
2379 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2381 /*----------------------------------------------------------------------*/
2390 switch (op[3] & 0x00)
2393 goto op_semantics_8;
2399 switch (op[3] & 0x00)
2402 goto op_semantics_9;
2408 switch (op[3] & 0x00)
2411 goto op_semantics_10;
2417 switch (op[3] & 0x00)
2420 goto op_semantics_11;
2426 switch (op[3] & 0x00)
2429 goto op_semantics_12;
2435 switch (op[3] & 0x00)
2438 goto op_semantics_13;
2444 switch (op[3] & 0x00)
2447 goto op_semantics_14;
2453 switch (op[3] & 0x00)
2456 goto op_semantics_15;
2462 switch (op[3] & 0x00)
2465 goto op_semantics_16;
2471 switch (op[3] & 0x00)
2474 goto op_semantics_17;
2478 default: UNSUPPORTED(); break;
2483 switch (op[2] & 0xff)
2487 switch (op[3] & 0x00)
2490 goto op_semantics_7;
2496 switch (op[3] & 0x00)
2499 goto op_semantics_18;
2505 switch (op[3] & 0x00)
2508 goto op_semantics_8;
2514 switch (op[3] & 0x00)
2517 goto op_semantics_9;
2523 switch (op[3] & 0x00)
2526 goto op_semantics_10;
2532 switch (op[3] & 0x00)
2535 goto op_semantics_11;
2541 switch (op[3] & 0x00)
2544 goto op_semantics_12;
2550 switch (op[3] & 0x00)
2553 goto op_semantics_13;
2559 switch (op[3] & 0x00)
2562 goto op_semantics_14;
2568 switch (op[3] & 0x00)
2571 goto op_semantics_15;
2577 switch (op[3] & 0x00)
2580 goto op_semantics_16;
2586 switch (op[3] & 0x00)
2589 goto op_semantics_17;
2593 default: UNSUPPORTED(); break;
2598 switch (op[2] & 0xff)
2602 switch (op[3] & 0x00)
2605 goto op_semantics_7;
2611 switch (op[3] & 0x00)
2614 goto op_semantics_18;
2620 switch (op[3] & 0x00)
2623 goto op_semantics_8;
2629 switch (op[3] & 0x00)
2632 goto op_semantics_9;
2638 switch (op[3] & 0x00)
2641 goto op_semantics_10;
2647 switch (op[3] & 0x00)
2650 goto op_semantics_11;
2656 switch (op[3] & 0x00)
2659 goto op_semantics_12;
2665 switch (op[3] & 0x00)
2668 goto op_semantics_13;
2674 switch (op[3] & 0x00)
2677 goto op_semantics_14;
2683 switch (op[3] & 0x00)
2686 goto op_semantics_15;
2692 switch (op[3] & 0x00)
2695 goto op_semantics_16;
2701 switch (op[3] & 0x00)
2704 goto op_semantics_17;
2708 default: UNSUPPORTED(); break;
2713 switch (op[2] & 0xff)
2717 switch (op[3] & 0x00)
2720 goto op_semantics_7;
2726 switch (op[3] & 0x00)
2729 goto op_semantics_18;
2735 switch (op[3] & 0x00)
2738 goto op_semantics_8;
2744 switch (op[3] & 0x00)
2747 goto op_semantics_9;
2753 switch (op[3] & 0x00)
2756 goto op_semantics_10;
2762 switch (op[3] & 0x00)
2765 goto op_semantics_11;
2771 switch (op[3] & 0x00)
2774 goto op_semantics_12;
2780 switch (op[3] & 0x00)
2783 goto op_semantics_13;
2789 switch (op[3] & 0x00)
2792 goto op_semantics_14;
2798 switch (op[3] & 0x00)
2801 goto op_semantics_15;
2807 switch (op[3] & 0x00)
2810 goto op_semantics_16;
2816 switch (op[3] & 0x00)
2819 goto op_semantics_17;
2823 default: UNSUPPORTED(); break;
2828 switch (op[2] & 0x00)
2831 goto op_semantics_1;
2837 switch (op[2] & 0x00)
2840 goto op_semantics_1;
2846 switch (op[2] & 0x00)
2849 goto op_semantics_1;
2855 switch (op[2] & 0x00)
2858 goto op_semantics_1;
2864 switch (op[2] & 0x00)
2867 goto op_semantics_2;
2873 switch (op[2] & 0x00)
2876 goto op_semantics_2;
2882 switch (op[2] & 0x00)
2885 goto op_semantics_2;
2891 switch (op[2] & 0x00)
2894 goto op_semantics_2;
2900 switch (op[2] & 0x00)
2903 goto op_semantics_3;
2909 switch (op[2] & 0x00)
2912 goto op_semantics_3;
2918 switch (op[2] & 0x00)
2921 goto op_semantics_3;
2927 switch (op[2] & 0x00)
2930 goto op_semantics_3;
2936 switch (op[2] & 0x00)
2939 goto op_semantics_4;
2945 switch (op[2] & 0x00)
2948 goto op_semantics_4;
2954 switch (op[2] & 0x00)
2957 goto op_semantics_4;
2963 switch (op[2] & 0x00)
2966 goto op_semantics_4;
2972 switch (op[2] & 0x00)
2975 goto op_semantics_5;
2981 switch (op[2] & 0x00)
2984 goto op_semantics_5;
2990 switch (op[2] & 0x00)
2993 goto op_semantics_5;
2999 switch (op[2] & 0x00)
3002 goto op_semantics_5;
3008 switch (op[2] & 0x00)
3011 goto op_semantics_6;
3017 switch (op[2] & 0x00)
3020 goto op_semantics_6;
3026 switch (op[2] & 0x00)
3029 goto op_semantics_6;
3035 switch (op[2] & 0x00)
3038 goto op_semantics_6;
3044 switch (op[2] & 0xff)
3048 switch (op[3] & 0x00)
3051 goto op_semantics_7;
3057 switch (op[3] & 0x00)
3060 goto op_semantics_8;
3066 switch (op[3] & 0x00)
3069 goto op_semantics_9;
3075 switch (op[3] & 0x00)
3078 goto op_semantics_10;
3084 switch (op[3] & 0x00)
3087 goto op_semantics_11;
3093 switch (op[3] & 0x00)
3096 goto op_semantics_12;
3102 switch (op[3] & 0x00)
3105 goto op_semantics_13;
3111 switch (op[3] & 0x00)
3114 goto op_semantics_14;
3120 switch (op[3] & 0x00)
3123 goto op_semantics_15;
3129 switch (op[3] & 0x00)
3132 goto op_semantics_16;
3138 switch (op[3] & 0x00)
3141 goto op_semantics_17;
3145 default: UNSUPPORTED(); break;
3150 switch (op[2] & 0xff)
3154 switch (op[3] & 0x00)
3157 goto op_semantics_7;
3163 switch (op[3] & 0x00)
3166 goto op_semantics_8;
3172 switch (op[3] & 0x00)
3175 goto op_semantics_9;
3181 switch (op[3] & 0x00)
3184 goto op_semantics_10;
3190 switch (op[3] & 0x00)
3193 goto op_semantics_11;
3199 switch (op[3] & 0x00)
3202 goto op_semantics_12;
3208 switch (op[3] & 0x00)
3211 goto op_semantics_13;
3217 switch (op[3] & 0x00)
3220 goto op_semantics_14;
3226 switch (op[3] & 0x00)
3229 goto op_semantics_15;
3235 switch (op[3] & 0x00)
3238 goto op_semantics_16;
3244 switch (op[3] & 0x00)
3247 goto op_semantics_17;
3251 default: UNSUPPORTED(); break;
3256 switch (op[2] & 0xff)
3260 switch (op[3] & 0x00)
3263 goto op_semantics_7;
3269 switch (op[3] & 0x00)
3272 goto op_semantics_8;
3278 switch (op[3] & 0x00)
3281 goto op_semantics_9;
3287 switch (op[3] & 0x00)
3290 goto op_semantics_10;
3296 switch (op[3] & 0x00)
3299 goto op_semantics_11;
3305 switch (op[3] & 0x00)
3308 goto op_semantics_12;
3314 switch (op[3] & 0x00)
3317 goto op_semantics_13;
3323 switch (op[3] & 0x00)
3326 goto op_semantics_14;
3332 switch (op[3] & 0x00)
3335 goto op_semantics_15;
3341 switch (op[3] & 0x00)
3344 goto op_semantics_16;
3350 switch (op[3] & 0x00)
3353 goto op_semantics_17;
3357 default: UNSUPPORTED(); break;
3362 switch (op[2] & 0xff)
3366 switch (op[3] & 0x00)
3369 goto op_semantics_7;
3375 switch (op[3] & 0x00)
3378 goto op_semantics_8;
3384 switch (op[3] & 0x00)
3387 goto op_semantics_9;
3393 switch (op[3] & 0x00)
3396 goto op_semantics_10;
3402 switch (op[3] & 0x00)
3405 goto op_semantics_11;
3411 switch (op[3] & 0x00)
3414 goto op_semantics_12;
3420 switch (op[3] & 0x00)
3423 goto op_semantics_13;
3429 switch (op[3] & 0x00)
3432 goto op_semantics_14;
3438 switch (op[3] & 0x00)
3441 goto op_semantics_15;
3447 switch (op[3] & 0x00)
3450 goto op_semantics_16;
3456 switch (op[3] & 0x00)
3459 goto op_semantics_17;
3463 default: UNSUPPORTED(); break;
3466 default: UNSUPPORTED(); break;
3478 /** 0000 1dsp bra.s %a0 */
3479 #line 734 "rx-decode.opc"
3480 int dsp AU = op[0] & 0x07;
3483 printf ("\033[33m%s\033[0m %02x\n",
3484 "/** 0000 1dsp bra.s %a0 */",
3486 printf (" dsp = 0x%x\n", dsp);
3488 SYNTAX("bra.s %a0");
3489 #line 734 "rx-decode.opc"
3490 ID(branch); DC(pc + dsp3map[dsp]);
3511 /** 0001 n dsp b%1.s %a0 */
3512 #line 724 "rx-decode.opc"
3513 int n AU = (op[0] >> 3) & 0x01;
3514 #line 724 "rx-decode.opc"
3515 int dsp AU = op[0] & 0x07;
3518 printf ("\033[33m%s\033[0m %02x\n",
3519 "/** 0001 n dsp b%1.s %a0 */",
3521 printf (" n = 0x%x,", n);
3522 printf (" dsp = 0x%x\n", dsp);
3524 SYNTAX("b%1.s %a0");
3525 #line 724 "rx-decode.opc"
3526 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3546 /** 0010 cond b%1.b %a0 */
3547 #line 727 "rx-decode.opc"
3548 int cond AU = op[0] & 0x0f;
3551 printf ("\033[33m%s\033[0m %02x\n",
3552 "/** 0010 cond b%1.b %a0 */",
3554 printf (" cond = 0x%x\n", cond);
3556 SYNTAX("b%1.b %a0");
3557 #line 727 "rx-decode.opc"
3558 ID(branch); Scc(cond); DC(pc + IMMex (1));
3564 /** 0010 1110 bra.b %a0 */
3567 printf ("\033[33m%s\033[0m %02x\n",
3568 "/** 0010 1110 bra.b %a0 */",
3571 SYNTAX("bra.b %a0");
3572 #line 737 "rx-decode.opc"
3573 ID(branch); DC(pc + IMMex(1));
3579 /** 0011 1000 bra.w %a0 */
3582 printf ("\033[33m%s\033[0m %02x\n",
3583 "/** 0011 1000 bra.w %a0 */",
3586 SYNTAX("bra.w %a0");
3587 #line 740 "rx-decode.opc"
3588 ID(branch); DC(pc + IMMex(2));
3594 /** 0011 1001 bsr.w %a0 */
3597 printf ("\033[33m%s\033[0m %02x\n",
3598 "/** 0011 1001 bsr.w %a0 */",
3601 SYNTAX("bsr.w %a0");
3602 #line 756 "rx-decode.opc"
3603 ID(jsr); DC(pc + IMMex(2));
3610 /** 0011 101c b%1.w %a0 */
3611 #line 730 "rx-decode.opc"
3612 int c AU = op[0] & 0x01;
3615 printf ("\033[33m%s\033[0m %02x\n",
3616 "/** 0011 101c b%1.w %a0 */",
3618 printf (" c = 0x%x\n", c);
3620 SYNTAX("b%1.w %a0");
3621 #line 730 "rx-decode.opc"
3622 ID(branch); Scc(c); DC(pc + IMMex (2));
3629 switch (op[1] & 0x00)
3634 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3635 #line 304 "rx-decode.opc"
3636 int sz AU = op[0] & 0x03;
3637 #line 304 "rx-decode.opc"
3638 int d AU = (op[1] >> 7) & 0x01;
3639 #line 304 "rx-decode.opc"
3640 int dst AU = (op[1] >> 4) & 0x07;
3641 #line 304 "rx-decode.opc"
3642 int sppp AU = op[1] & 0x0f;
3645 printf ("\033[33m%s\033[0m %02x %02x\n",
3646 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3648 printf (" sz = 0x%x,", sz);
3649 printf (" d = 0x%x,", d);
3650 printf (" dst = 0x%x,", dst);
3651 printf (" sppp = 0x%x\n", sppp);
3653 SYNTAX("mov%s #%1, %0");
3654 #line 304 "rx-decode.opc"
3655 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3663 switch (op[1] & 0x00)
3666 goto op_semantics_19;
3672 switch (op[1] & 0x00)
3675 goto op_semantics_19;
3681 switch (op[1] & 0x00)
3685 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3686 #line 401 "rx-decode.opc"
3687 int rega AU = (op[1] >> 4) & 0x0f;
3688 #line 401 "rx-decode.opc"
3689 int regb AU = op[1] & 0x0f;
3692 printf ("\033[33m%s\033[0m %02x %02x\n",
3693 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3695 printf (" rega = 0x%x,", rega);
3696 printf (" regb = 0x%x\n", regb);
3698 SYNTAX("rtsd #%1, %2-%0");
3699 #line 401 "rx-decode.opc"
3700 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3702 /*----------------------------------------------------------------------*/
3711 switch (op[1] & 0x00)
3716 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3717 #line 536 "rx-decode.opc"
3718 int ss AU = op[0] & 0x03;
3719 #line 536 "rx-decode.opc"
3720 int rsrc AU = (op[1] >> 4) & 0x0f;
3721 #line 536 "rx-decode.opc"
3722 int rdst AU = op[1] & 0x0f;
3725 printf ("\033[33m%s\033[0m %02x %02x\n",
3726 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3728 printf (" ss = 0x%x,", ss);
3729 printf (" rsrc = 0x%x,", rsrc);
3730 printf (" rdst = 0x%x\n", rdst);
3732 SYNTAX("sub %2%S2, %1");
3733 #line 536 "rx-decode.opc"
3734 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3742 switch (op[1] & 0x00)
3745 goto op_semantics_20;
3751 switch (op[1] & 0x00)
3754 goto op_semantics_20;
3760 switch (op[1] & 0x00)
3763 goto op_semantics_20;
3769 switch (op[1] & 0x00)
3774 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3775 #line 524 "rx-decode.opc"
3776 int ss AU = op[0] & 0x03;
3777 #line 524 "rx-decode.opc"
3778 int rsrc AU = (op[1] >> 4) & 0x0f;
3779 #line 524 "rx-decode.opc"
3780 int rdst AU = op[1] & 0x0f;
3783 printf ("\033[33m%s\033[0m %02x %02x\n",
3784 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3786 printf (" ss = 0x%x,", ss);
3787 printf (" rsrc = 0x%x,", rsrc);
3788 printf (" rdst = 0x%x\n", rdst);
3790 SYNTAX("cmp %2%S2, %1");
3791 #line 524 "rx-decode.opc"
3792 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3800 switch (op[1] & 0x00)
3803 goto op_semantics_21;
3809 switch (op[1] & 0x00)
3812 goto op_semantics_21;
3818 switch (op[1] & 0x00)
3821 goto op_semantics_21;
3827 switch (op[1] & 0x00)
3832 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3833 #line 500 "rx-decode.opc"
3834 int ss AU = op[0] & 0x03;
3835 #line 500 "rx-decode.opc"
3836 int rsrc AU = (op[1] >> 4) & 0x0f;
3837 #line 500 "rx-decode.opc"
3838 int rdst AU = op[1] & 0x0f;
3841 printf ("\033[33m%s\033[0m %02x %02x\n",
3842 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3844 printf (" ss = 0x%x,", ss);
3845 printf (" rsrc = 0x%x,", rsrc);
3846 printf (" rdst = 0x%x\n", rdst);
3848 SYNTAX("add %1%S1, %0");
3849 #line 500 "rx-decode.opc"
3850 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
3858 switch (op[1] & 0x00)
3861 goto op_semantics_22;
3867 switch (op[1] & 0x00)
3870 goto op_semantics_22;
3876 switch (op[1] & 0x00)
3879 goto op_semantics_22;
3885 switch (op[1] & 0x00)
3890 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3891 #line 605 "rx-decode.opc"
3892 int ss AU = op[0] & 0x03;
3893 #line 605 "rx-decode.opc"
3894 int rsrc AU = (op[1] >> 4) & 0x0f;
3895 #line 605 "rx-decode.opc"
3896 int rdst AU = op[1] & 0x0f;
3899 printf ("\033[33m%s\033[0m %02x %02x\n",
3900 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3902 printf (" ss = 0x%x,", ss);
3903 printf (" rsrc = 0x%x,", rsrc);
3904 printf (" rdst = 0x%x\n", rdst);
3906 SYNTAX("mul %1%S1, %0");
3907 #line 605 "rx-decode.opc"
3908 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
3916 switch (op[1] & 0x00)
3919 goto op_semantics_23;
3925 switch (op[1] & 0x00)
3928 goto op_semantics_23;
3934 switch (op[1] & 0x00)
3937 goto op_semantics_23;
3943 switch (op[1] & 0x00)
3948 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3949 #line 413 "rx-decode.opc"
3950 int ss AU = op[0] & 0x03;
3951 #line 413 "rx-decode.opc"
3952 int rsrc AU = (op[1] >> 4) & 0x0f;
3953 #line 413 "rx-decode.opc"
3954 int rdst AU = op[1] & 0x0f;
3957 printf ("\033[33m%s\033[0m %02x %02x\n",
3958 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3960 printf (" ss = 0x%x,", ss);
3961 printf (" rsrc = 0x%x,", rsrc);
3962 printf (" rdst = 0x%x\n", rdst);
3964 SYNTAX("and %1%S1, %0");
3965 #line 413 "rx-decode.opc"
3966 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
3974 switch (op[1] & 0x00)
3977 goto op_semantics_24;
3983 switch (op[1] & 0x00)
3986 goto op_semantics_24;
3992 switch (op[1] & 0x00)
3995 goto op_semantics_24;
4001 switch (op[1] & 0x00)
4006 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4007 #line 431 "rx-decode.opc"
4008 int ss AU = op[0] & 0x03;
4009 #line 431 "rx-decode.opc"
4010 int rsrc AU = (op[1] >> 4) & 0x0f;
4011 #line 431 "rx-decode.opc"
4012 int rdst AU = op[1] & 0x0f;
4015 printf ("\033[33m%s\033[0m %02x %02x\n",
4016 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4018 printf (" ss = 0x%x,", ss);
4019 printf (" rsrc = 0x%x,", rsrc);
4020 printf (" rdst = 0x%x\n", rdst);
4022 SYNTAX("or %1%S1, %0");
4023 #line 431 "rx-decode.opc"
4024 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4032 switch (op[1] & 0x00)
4035 goto op_semantics_25;
4041 switch (op[1] & 0x00)
4044 goto op_semantics_25;
4050 switch (op[1] & 0x00)
4053 goto op_semantics_25;
4059 switch (op[1] & 0x00)
4064 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4065 #line 352 "rx-decode.opc"
4066 int s AU = (op[0] >> 2) & 0x01;
4067 #line 352 "rx-decode.opc"
4068 int ss AU = op[0] & 0x03;
4069 #line 352 "rx-decode.opc"
4070 int rsrc AU = (op[1] >> 4) & 0x0f;
4071 #line 352 "rx-decode.opc"
4072 int rdst AU = op[1] & 0x0f;
4075 printf ("\033[33m%s\033[0m %02x %02x\n",
4076 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4078 printf (" s = 0x%x,", s);
4079 printf (" ss = 0x%x,", ss);
4080 printf (" rsrc = 0x%x,", rsrc);
4081 printf (" rdst = 0x%x\n", rdst);
4083 SYNTAX("movu%s %1, %0");
4084 #line 352 "rx-decode.opc"
4085 ID(mov); uBWL(s); SD(ss, rsrc, s); DR(rdst); F_____;
4093 switch (op[1] & 0x00)
4096 goto op_semantics_26;
4102 switch (op[1] & 0x00)
4105 goto op_semantics_26;
4111 switch (op[1] & 0x00)
4114 goto op_semantics_26;
4120 switch (op[1] & 0x00)
4123 goto op_semantics_26;
4129 switch (op[1] & 0x00)
4132 goto op_semantics_26;
4138 switch (op[1] & 0x00)
4141 goto op_semantics_26;
4147 switch (op[1] & 0x00)
4150 goto op_semantics_26;
4156 switch (op[1] & 0x00)
4160 /** 0110 0000 immm rdst sub #%2, %0 */
4161 #line 533 "rx-decode.opc"
4162 int immm AU = (op[1] >> 4) & 0x0f;
4163 #line 533 "rx-decode.opc"
4164 int rdst AU = op[1] & 0x0f;
4167 printf ("\033[33m%s\033[0m %02x %02x\n",
4168 "/** 0110 0000 immm rdst sub #%2, %0 */",
4170 printf (" immm = 0x%x,", immm);
4171 printf (" rdst = 0x%x\n", rdst);
4173 SYNTAX("sub #%2, %0");
4174 #line 533 "rx-decode.opc"
4175 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4183 switch (op[1] & 0x00)
4187 /** 0110 0001 immm rdst cmp #%2, %1 */
4188 #line 515 "rx-decode.opc"
4189 int immm AU = (op[1] >> 4) & 0x0f;
4190 #line 515 "rx-decode.opc"
4191 int rdst AU = op[1] & 0x0f;
4194 printf ("\033[33m%s\033[0m %02x %02x\n",
4195 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4197 printf (" immm = 0x%x,", immm);
4198 printf (" rdst = 0x%x\n", rdst);
4200 SYNTAX("cmp #%2, %1");
4201 #line 515 "rx-decode.opc"
4202 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4210 switch (op[1] & 0x00)
4214 /** 0110 0010 immm rdst add #%1, %0 */
4215 #line 497 "rx-decode.opc"
4216 int immm AU = (op[1] >> 4) & 0x0f;
4217 #line 497 "rx-decode.opc"
4218 int rdst AU = op[1] & 0x0f;
4221 printf ("\033[33m%s\033[0m %02x %02x\n",
4222 "/** 0110 0010 immm rdst add #%1, %0 */",
4224 printf (" immm = 0x%x,", immm);
4225 printf (" rdst = 0x%x\n", rdst);
4227 SYNTAX("add #%1, %0");
4228 #line 497 "rx-decode.opc"
4229 ID(add); SC(immm); DR(rdst); F_OSZC;
4237 switch (op[1] & 0x00)
4241 /** 0110 0011 immm rdst mul #%1, %0 */
4242 #line 599 "rx-decode.opc"
4243 int immm AU = (op[1] >> 4) & 0x0f;
4244 #line 599 "rx-decode.opc"
4245 int rdst AU = op[1] & 0x0f;
4248 printf ("\033[33m%s\033[0m %02x %02x\n",
4249 "/** 0110 0011 immm rdst mul #%1, %0 */",
4251 printf (" immm = 0x%x,", immm);
4252 printf (" rdst = 0x%x\n", rdst);
4254 SYNTAX("mul #%1, %0");
4255 #line 599 "rx-decode.opc"
4256 ID(mul); DR(rdst); SC(immm); F_____;
4264 switch (op[1] & 0x00)
4268 /** 0110 0100 immm rdst and #%1, %0 */
4269 #line 407 "rx-decode.opc"
4270 int immm AU = (op[1] >> 4) & 0x0f;
4271 #line 407 "rx-decode.opc"
4272 int rdst AU = op[1] & 0x0f;
4275 printf ("\033[33m%s\033[0m %02x %02x\n",
4276 "/** 0110 0100 immm rdst and #%1, %0 */",
4278 printf (" immm = 0x%x,", immm);
4279 printf (" rdst = 0x%x\n", rdst);
4281 SYNTAX("and #%1, %0");
4282 #line 407 "rx-decode.opc"
4283 ID(and); SC(immm); DR(rdst); F__SZ_;
4291 switch (op[1] & 0x00)
4295 /** 0110 0101 immm rdst or #%1, %0 */
4296 #line 425 "rx-decode.opc"
4297 int immm AU = (op[1] >> 4) & 0x0f;
4298 #line 425 "rx-decode.opc"
4299 int rdst AU = op[1] & 0x0f;
4302 printf ("\033[33m%s\033[0m %02x %02x\n",
4303 "/** 0110 0101 immm rdst or #%1, %0 */",
4305 printf (" immm = 0x%x,", immm);
4306 printf (" rdst = 0x%x\n", rdst);
4308 SYNTAX("or #%1, %0");
4309 #line 425 "rx-decode.opc"
4310 ID(or); SC(immm); DR(rdst); F__SZ_;
4318 switch (op[1] & 0x00)
4322 /** 0110 0110 immm rdst mov%s #%1, %0 */
4323 #line 301 "rx-decode.opc"
4324 int immm AU = (op[1] >> 4) & 0x0f;
4325 #line 301 "rx-decode.opc"
4326 int rdst AU = op[1] & 0x0f;
4329 printf ("\033[33m%s\033[0m %02x %02x\n",
4330 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4332 printf (" immm = 0x%x,", immm);
4333 printf (" rdst = 0x%x\n", rdst);
4335 SYNTAX("mov%s #%1, %0");
4336 #line 301 "rx-decode.opc"
4337 ID(mov); DR(rdst); SC(immm); F_____;
4345 /** 0110 0111 rtsd #%1 */
4348 printf ("\033[33m%s\033[0m %02x\n",
4349 "/** 0110 0111 rtsd #%1 */",
4353 #line 398 "rx-decode.opc"
4354 ID(rtsd); SC(IMM(1) * 4);
4360 switch (op[1] & 0x00)
4365 /** 0110 100i mmmm rdst shlr #%2, %0 */
4366 #line 685 "rx-decode.opc"
4367 int i AU = op[0] & 0x01;
4368 #line 685 "rx-decode.opc"
4369 int mmmm AU = (op[1] >> 4) & 0x0f;
4370 #line 685 "rx-decode.opc"
4371 int rdst AU = op[1] & 0x0f;
4374 printf ("\033[33m%s\033[0m %02x %02x\n",
4375 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4377 printf (" i = 0x%x,", i);
4378 printf (" mmmm = 0x%x,", mmmm);
4379 printf (" rdst = 0x%x\n", rdst);
4381 SYNTAX("shlr #%2, %0");
4382 #line 685 "rx-decode.opc"
4383 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4391 switch (op[1] & 0x00)
4394 goto op_semantics_27;
4400 switch (op[1] & 0x00)
4405 /** 0110 101i mmmm rdst shar #%2, %0 */
4406 #line 675 "rx-decode.opc"
4407 int i AU = op[0] & 0x01;
4408 #line 675 "rx-decode.opc"
4409 int mmmm AU = (op[1] >> 4) & 0x0f;
4410 #line 675 "rx-decode.opc"
4411 int rdst AU = op[1] & 0x0f;
4414 printf ("\033[33m%s\033[0m %02x %02x\n",
4415 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4417 printf (" i = 0x%x,", i);
4418 printf (" mmmm = 0x%x,", mmmm);
4419 printf (" rdst = 0x%x\n", rdst);
4421 SYNTAX("shar #%2, %0");
4422 #line 675 "rx-decode.opc"
4423 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4431 switch (op[1] & 0x00)
4434 goto op_semantics_28;
4440 switch (op[1] & 0x00)
4445 /** 0110 110i mmmm rdst shll #%2, %0 */
4446 #line 665 "rx-decode.opc"
4447 int i AU = op[0] & 0x01;
4448 #line 665 "rx-decode.opc"
4449 int mmmm AU = (op[1] >> 4) & 0x0f;
4450 #line 665 "rx-decode.opc"
4451 int rdst AU = op[1] & 0x0f;
4454 printf ("\033[33m%s\033[0m %02x %02x\n",
4455 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4457 printf (" i = 0x%x,", i);
4458 printf (" mmmm = 0x%x,", mmmm);
4459 printf (" rdst = 0x%x\n", rdst);
4461 SYNTAX("shll #%2, %0");
4462 #line 665 "rx-decode.opc"
4463 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4471 switch (op[1] & 0x00)
4474 goto op_semantics_29;
4480 switch (op[1] & 0x00)
4484 /** 0110 1110 dsta dstb pushm %1-%2 */
4485 #line 365 "rx-decode.opc"
4486 int dsta AU = (op[1] >> 4) & 0x0f;
4487 #line 365 "rx-decode.opc"
4488 int dstb AU = op[1] & 0x0f;
4491 printf ("\033[33m%s\033[0m %02x %02x\n",
4492 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4494 printf (" dsta = 0x%x,", dsta);
4495 printf (" dstb = 0x%x\n", dstb);
4497 SYNTAX("pushm %1-%2");
4498 #line 365 "rx-decode.opc"
4499 ID(pushm); SR(dsta); S2R(dstb); F_____;
4507 switch (op[1] & 0x00)
4511 /** 0110 1111 dsta dstb popm %1-%2 */
4512 #line 362 "rx-decode.opc"
4513 int dsta AU = (op[1] >> 4) & 0x0f;
4514 #line 362 "rx-decode.opc"
4515 int dstb AU = op[1] & 0x0f;
4518 printf ("\033[33m%s\033[0m %02x %02x\n",
4519 "/** 0110 1111 dsta dstb popm %1-%2 */",
4521 printf (" dsta = 0x%x,", dsta);
4522 printf (" dstb = 0x%x\n", dstb);
4524 SYNTAX("popm %1-%2");
4525 #line 362 "rx-decode.opc"
4526 ID(popm); SR(dsta); S2R(dstb); F_____;
4534 switch (op[1] & 0x00)
4539 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4540 #line 506 "rx-decode.opc"
4541 int im AU = op[0] & 0x03;
4542 #line 506 "rx-decode.opc"
4543 int rsrc AU = (op[1] >> 4) & 0x0f;
4544 #line 506 "rx-decode.opc"
4545 int rdst AU = op[1] & 0x0f;
4548 printf ("\033[33m%s\033[0m %02x %02x\n",
4549 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4551 printf (" im = 0x%x,", im);
4552 printf (" rsrc = 0x%x,", rsrc);
4553 printf (" rdst = 0x%x\n", rdst);
4555 SYNTAX("add #%1, %2, %0");
4556 #line 506 "rx-decode.opc"
4557 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4565 switch (op[1] & 0x00)
4568 goto op_semantics_30;
4574 switch (op[1] & 0x00)
4577 goto op_semantics_30;
4583 switch (op[1] & 0x00)
4586 goto op_semantics_30;
4592 switch (op[1] & 0xf0)
4597 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4598 #line 518 "rx-decode.opc"
4599 int im AU = op[0] & 0x03;
4600 #line 518 "rx-decode.opc"
4601 int rsrc AU = op[1] & 0x0f;
4604 printf ("\033[33m%s\033[0m %02x %02x\n",
4605 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4607 printf (" im = 0x%x,", im);
4608 printf (" rsrc = 0x%x\n", rsrc);
4610 SYNTAX("cmp #%2, %1%S1");
4611 #line 518 "rx-decode.opc"
4612 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4619 /** 0111 01im 0001rdst mul #%1, %0 */
4620 #line 602 "rx-decode.opc"
4621 int im AU = op[0] & 0x03;
4622 #line 602 "rx-decode.opc"
4623 int rdst AU = op[1] & 0x0f;
4626 printf ("\033[33m%s\033[0m %02x %02x\n",
4627 "/** 0111 01im 0001rdst mul #%1, %0 */",
4629 printf (" im = 0x%x,", im);
4630 printf (" rdst = 0x%x\n", rdst);
4632 SYNTAX("mul #%1, %0");
4633 #line 602 "rx-decode.opc"
4634 ID(mul); DR(rdst); SC(IMMex(im)); F_____;
4641 /** 0111 01im 0010 rdst and #%1, %0 */
4642 #line 410 "rx-decode.opc"
4643 int im AU = op[0] & 0x03;
4644 #line 410 "rx-decode.opc"
4645 int rdst AU = op[1] & 0x0f;
4648 printf ("\033[33m%s\033[0m %02x %02x\n",
4649 "/** 0111 01im 0010 rdst and #%1, %0 */",
4651 printf (" im = 0x%x,", im);
4652 printf (" rdst = 0x%x\n", rdst);
4654 SYNTAX("and #%1, %0");
4655 #line 410 "rx-decode.opc"
4656 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4663 /** 0111 01im 0011 rdst or #%1, %0 */
4664 #line 428 "rx-decode.opc"
4665 int im AU = op[0] & 0x03;
4666 #line 428 "rx-decode.opc"
4667 int rdst AU = op[1] & 0x0f;
4670 printf ("\033[33m%s\033[0m %02x %02x\n",
4671 "/** 0111 01im 0011 rdst or #%1, %0 */",
4673 printf (" im = 0x%x,", im);
4674 printf (" rdst = 0x%x\n", rdst);
4676 SYNTAX("or #%1, %0");
4677 #line 428 "rx-decode.opc"
4678 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4682 default: UNSUPPORTED(); break;
4687 switch (op[1] & 0xff)
4705 goto op_semantics_31;
4723 goto op_semantics_32;
4741 goto op_semantics_33;
4759 goto op_semantics_34;
4778 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4779 #line 282 "rx-decode.opc"
4780 int rdst AU = op[1] & 0x0f;
4783 printf ("\033[33m%s\033[0m %02x %02x\n",
4784 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4786 printf (" rdst = 0x%x\n", rdst);
4788 SYNTAX("mov%s #%1, %0");
4789 #line 282 "rx-decode.opc"
4790 ID(mov); DR(rdst); SC(IMM (1)); F_____;
4811 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4812 #line 521 "rx-decode.opc"
4813 int rsrc AU = op[1] & 0x0f;
4816 printf ("\033[33m%s\033[0m %02x %02x\n",
4817 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4819 printf (" rsrc = 0x%x\n", rsrc);
4821 SYNTAX("cmp #%2, %1");
4822 #line 521 "rx-decode.opc"
4823 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
4829 /** 0111 0101 0110 0000 int #%1 */
4832 printf ("\033[33m%s\033[0m %02x %02x\n",
4833 "/** 0111 0101 0110 0000 int #%1 */",
4837 #line 990 "rx-decode.opc"
4838 ID(int); SC(IMM(1));
4844 switch (op[2] & 0xf0)
4848 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4849 #line 957 "rx-decode.opc"
4850 int immm AU = op[2] & 0x0f;
4853 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4854 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4855 op[0], op[1], op[2]);
4856 printf (" immm = 0x%x\n", immm);
4858 SYNTAX("mvtipl #%1");
4859 #line 957 "rx-decode.opc"
4860 ID(mvtipl); SC(immm);
4864 default: UNSUPPORTED(); break;
4867 default: UNSUPPORTED(); break;
4872 switch (op[1] & 0xf0)
4875 goto op_semantics_31;
4878 goto op_semantics_32;
4881 goto op_semantics_33;
4884 goto op_semantics_34;
4886 default: UNSUPPORTED(); break;
4891 switch (op[1] & 0xf0)
4894 goto op_semantics_31;
4897 goto op_semantics_32;
4900 goto op_semantics_33;
4903 goto op_semantics_34;
4905 default: UNSUPPORTED(); break;
4910 switch (op[1] & 0x00)
4915 /** 0111 100b ittt rdst bset #%1, %0 */
4916 #line 902 "rx-decode.opc"
4917 int b AU = op[0] & 0x01;
4918 #line 902 "rx-decode.opc"
4919 int ittt AU = (op[1] >> 4) & 0x0f;
4920 #line 902 "rx-decode.opc"
4921 int rdst AU = op[1] & 0x0f;
4924 printf ("\033[33m%s\033[0m %02x %02x\n",
4925 "/** 0111 100b ittt rdst bset #%1, %0 */",
4927 printf (" b = 0x%x,", b);
4928 printf (" ittt = 0x%x,", ittt);
4929 printf (" rdst = 0x%x\n", rdst);
4931 SYNTAX("bset #%1, %0");
4932 #line 902 "rx-decode.opc"
4933 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4942 switch (op[1] & 0x00)
4945 goto op_semantics_35;
4951 switch (op[1] & 0x00)
4956 /** 0111 101b ittt rdst bclr #%1, %0 */
4957 #line 914 "rx-decode.opc"
4958 int b AU = op[0] & 0x01;
4959 #line 914 "rx-decode.opc"
4960 int ittt AU = (op[1] >> 4) & 0x0f;
4961 #line 914 "rx-decode.opc"
4962 int rdst AU = op[1] & 0x0f;
4965 printf ("\033[33m%s\033[0m %02x %02x\n",
4966 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4968 printf (" b = 0x%x,", b);
4969 printf (" ittt = 0x%x,", ittt);
4970 printf (" rdst = 0x%x\n", rdst);
4972 SYNTAX("bclr #%1, %0");
4973 #line 914 "rx-decode.opc"
4974 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4983 switch (op[1] & 0x00)
4986 goto op_semantics_36;
4992 switch (op[1] & 0x00)
4997 /** 0111 110b ittt rdst btst #%2, %1 */
4998 #line 926 "rx-decode.opc"
4999 int b AU = op[0] & 0x01;
5000 #line 926 "rx-decode.opc"
5001 int ittt AU = (op[1] >> 4) & 0x0f;
5002 #line 926 "rx-decode.opc"
5003 int rdst AU = op[1] & 0x0f;
5006 printf ("\033[33m%s\033[0m %02x %02x\n",
5007 "/** 0111 110b ittt rdst btst #%2, %1 */",
5009 printf (" b = 0x%x,", b);
5010 printf (" ittt = 0x%x,", ittt);
5011 printf (" rdst = 0x%x\n", rdst);
5013 SYNTAX("btst #%2, %1");
5014 #line 926 "rx-decode.opc"
5015 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5024 switch (op[1] & 0x00)
5027 goto op_semantics_37;
5033 switch (op[1] & 0xf0)
5037 /** 0111 1110 0000 rdst not %0 */
5038 #line 455 "rx-decode.opc"
5039 int rdst AU = op[1] & 0x0f;
5042 printf ("\033[33m%s\033[0m %02x %02x\n",
5043 "/** 0111 1110 0000 rdst not %0 */",
5045 printf (" rdst = 0x%x\n", rdst);
5048 #line 455 "rx-decode.opc"
5049 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5055 /** 0111 1110 0001 rdst neg %0 */
5056 #line 476 "rx-decode.opc"
5057 int rdst AU = op[1] & 0x0f;
5060 printf ("\033[33m%s\033[0m %02x %02x\n",
5061 "/** 0111 1110 0001 rdst neg %0 */",
5063 printf (" rdst = 0x%x\n", rdst);
5066 #line 476 "rx-decode.opc"
5067 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5073 /** 0111 1110 0010 rdst abs %0 */
5074 #line 558 "rx-decode.opc"
5075 int rdst AU = op[1] & 0x0f;
5078 printf ("\033[33m%s\033[0m %02x %02x\n",
5079 "/** 0111 1110 0010 rdst abs %0 */",
5081 printf (" rdst = 0x%x\n", rdst);
5084 #line 558 "rx-decode.opc"
5085 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5091 /** 0111 1110 0011 rdst sat %0 */
5092 #line 840 "rx-decode.opc"
5093 int rdst AU = op[1] & 0x0f;
5096 printf ("\033[33m%s\033[0m %02x %02x\n",
5097 "/** 0111 1110 0011 rdst sat %0 */",
5099 printf (" rdst = 0x%x\n", rdst);
5102 #line 840 "rx-decode.opc"
5109 /** 0111 1110 0100 rdst rorc %0 */
5110 #line 700 "rx-decode.opc"
5111 int rdst AU = op[1] & 0x0f;
5114 printf ("\033[33m%s\033[0m %02x %02x\n",
5115 "/** 0111 1110 0100 rdst rorc %0 */",
5117 printf (" rdst = 0x%x\n", rdst);
5120 #line 700 "rx-decode.opc"
5121 ID(rorc); DR(rdst); F__SZC;
5127 /** 0111 1110 0101 rdst rolc %0 */
5128 #line 697 "rx-decode.opc"
5129 int rdst AU = op[1] & 0x0f;
5132 printf ("\033[33m%s\033[0m %02x %02x\n",
5133 "/** 0111 1110 0101 rdst rolc %0 */",
5135 printf (" rdst = 0x%x\n", rdst);
5138 #line 697 "rx-decode.opc"
5139 ID(rolc); DR(rdst); F__SZC;
5147 /** 0111 1110 10sz rsrc push%s %1 */
5148 #line 371 "rx-decode.opc"
5149 int sz AU = (op[1] >> 4) & 0x03;
5150 #line 371 "rx-decode.opc"
5151 int rsrc AU = op[1] & 0x0f;
5154 printf ("\033[33m%s\033[0m %02x %02x\n",
5155 "/** 0111 1110 10sz rsrc push%s %1 */",
5157 printf (" sz = 0x%x,", sz);
5158 printf (" rsrc = 0x%x\n", rsrc);
5160 SYNTAX("push%s %1");
5161 #line 371 "rx-decode.opc"
5162 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5168 /** 0111 1110 1011 rdst pop %0 */
5169 #line 368 "rx-decode.opc"
5170 int rdst AU = op[1] & 0x0f;
5173 printf ("\033[33m%s\033[0m %02x %02x\n",
5174 "/** 0111 1110 1011 rdst pop %0 */",
5176 printf (" rdst = 0x%x\n", rdst);
5179 #line 368 "rx-decode.opc"
5180 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5187 /** 0111 1110 110 crsrc pushc %1 */
5188 #line 963 "rx-decode.opc"
5189 int crsrc AU = op[1] & 0x1f;
5192 printf ("\033[33m%s\033[0m %02x %02x\n",
5193 "/** 0111 1110 110 crsrc pushc %1 */",
5195 printf (" crsrc = 0x%x\n", crsrc);
5198 #line 963 "rx-decode.opc"
5199 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5206 /** 0111 1110 111 crdst popc %0 */
5207 #line 960 "rx-decode.opc"
5208 int crdst AU = op[1] & 0x1f;
5211 printf ("\033[33m%s\033[0m %02x %02x\n",
5212 "/** 0111 1110 111 crdst popc %0 */",
5214 printf (" crdst = 0x%x\n", crdst);
5217 #line 960 "rx-decode.opc"
5218 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5222 default: UNSUPPORTED(); break;
5227 switch (op[1] & 0xff)
5246 /** 0111 1111 0000 rsrc jmp %0 */
5247 #line 750 "rx-decode.opc"
5248 int rsrc AU = op[1] & 0x0f;
5251 printf ("\033[33m%s\033[0m %02x %02x\n",
5252 "/** 0111 1111 0000 rsrc jmp %0 */",
5254 printf (" rsrc = 0x%x\n", rsrc);
5257 #line 750 "rx-decode.opc"
5258 ID(branch); DR(rsrc);
5279 /** 0111 1111 0001 rsrc jsr %0 */
5280 #line 753 "rx-decode.opc"
5281 int rsrc AU = op[1] & 0x0f;
5284 printf ("\033[33m%s\033[0m %02x %02x\n",
5285 "/** 0111 1111 0001 rsrc jsr %0 */",
5287 printf (" rsrc = 0x%x\n", rsrc);
5290 #line 753 "rx-decode.opc"
5312 /** 0111 1111 0100 rsrc bra.l %0 */
5313 #line 746 "rx-decode.opc"
5314 int rsrc AU = op[1] & 0x0f;
5317 printf ("\033[33m%s\033[0m %02x %02x\n",
5318 "/** 0111 1111 0100 rsrc bra.l %0 */",
5320 printf (" rsrc = 0x%x\n", rsrc);
5323 #line 746 "rx-decode.opc"
5324 ID(branchrel); DR(rsrc);
5346 /** 0111 1111 0101 rsrc bsr.l %0 */
5347 #line 762 "rx-decode.opc"
5348 int rsrc AU = op[1] & 0x0f;
5351 printf ("\033[33m%s\033[0m %02x %02x\n",
5352 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5354 printf (" rsrc = 0x%x\n", rsrc);
5357 #line 762 "rx-decode.opc"
5358 ID(jsrrel); DR(rsrc);
5366 /** 0111 1111 1000 00sz suntil%s */
5367 #line 786 "rx-decode.opc"
5368 int sz AU = op[1] & 0x03;
5371 printf ("\033[33m%s\033[0m %02x %02x\n",
5372 "/** 0111 1111 1000 00sz suntil%s */",
5374 printf (" sz = 0x%x\n", sz);
5377 #line 786 "rx-decode.opc"
5378 ID(suntil); BWL(sz); F___ZC;
5384 /** 0111 1111 1000 0011 scmpu */
5387 printf ("\033[33m%s\033[0m %02x %02x\n",
5388 "/** 0111 1111 1000 0011 scmpu */",
5392 #line 777 "rx-decode.opc"
5401 /** 0111 1111 1000 01sz swhile%s */
5402 #line 789 "rx-decode.opc"
5403 int sz AU = op[1] & 0x03;
5406 printf ("\033[33m%s\033[0m %02x %02x\n",
5407 "/** 0111 1111 1000 01sz swhile%s */",
5409 printf (" sz = 0x%x\n", sz);
5412 #line 789 "rx-decode.opc"
5413 ID(swhile); BWL(sz); F___ZC;
5419 /** 0111 1111 1000 0111 smovu */
5422 printf ("\033[33m%s\033[0m %02x %02x\n",
5423 "/** 0111 1111 1000 0111 smovu */",
5427 #line 780 "rx-decode.opc"
5436 /** 0111 1111 1000 10sz sstr%s */
5437 #line 795 "rx-decode.opc"
5438 int sz AU = op[1] & 0x03;
5441 printf ("\033[33m%s\033[0m %02x %02x\n",
5442 "/** 0111 1111 1000 10sz sstr%s */",
5444 printf (" sz = 0x%x\n", sz);
5447 #line 795 "rx-decode.opc"
5450 /*----------------------------------------------------------------------*/
5457 /** 0111 1111 1000 1011 smovb */
5460 printf ("\033[33m%s\033[0m %02x %02x\n",
5461 "/** 0111 1111 1000 1011 smovb */",
5465 #line 783 "rx-decode.opc"
5474 /** 0111 1111 1000 11sz rmpa%s */
5475 #line 801 "rx-decode.opc"
5476 int sz AU = op[1] & 0x03;
5479 printf ("\033[33m%s\033[0m %02x %02x\n",
5480 "/** 0111 1111 1000 11sz rmpa%s */",
5482 printf (" sz = 0x%x\n", sz);
5485 #line 801 "rx-decode.opc"
5486 ID(rmpa); BWL(sz); F_OS__;
5488 /*----------------------------------------------------------------------*/
5495 /** 0111 1111 1000 1111 smovf */
5498 printf ("\033[33m%s\033[0m %02x %02x\n",
5499 "/** 0111 1111 1000 1111 smovf */",
5503 #line 792 "rx-decode.opc"
5510 /** 0111 1111 1001 0011 satr */
5513 printf ("\033[33m%s\033[0m %02x %02x\n",
5514 "/** 0111 1111 1001 0011 satr */",
5518 #line 843 "rx-decode.opc"
5521 /*----------------------------------------------------------------------*/
5528 /** 0111 1111 1001 0100 rtfi */
5531 printf ("\033[33m%s\033[0m %02x %02x\n",
5532 "/** 0111 1111 1001 0100 rtfi */",
5536 #line 978 "rx-decode.opc"
5543 /** 0111 1111 1001 0101 rte */
5546 printf ("\033[33m%s\033[0m %02x %02x\n",
5547 "/** 0111 1111 1001 0101 rte */",
5551 #line 981 "rx-decode.opc"
5558 /** 0111 1111 1001 0110 wait */
5561 printf ("\033[33m%s\033[0m %02x %02x\n",
5562 "/** 0111 1111 1001 0110 wait */",
5566 #line 993 "rx-decode.opc"
5569 /*----------------------------------------------------------------------*/
5591 /** 0111 1111 1010 rdst setpsw %0 */
5592 #line 954 "rx-decode.opc"
5593 int rdst AU = op[1] & 0x0f;
5596 printf ("\033[33m%s\033[0m %02x %02x\n",
5597 "/** 0111 1111 1010 rdst setpsw %0 */",
5599 printf (" rdst = 0x%x\n", rdst);
5601 SYNTAX("setpsw %0");
5602 #line 954 "rx-decode.opc"
5603 ID(setpsw); DF(rdst);
5624 /** 0111 1111 1011 rdst clrpsw %0 */
5625 #line 951 "rx-decode.opc"
5626 int rdst AU = op[1] & 0x0f;
5629 printf ("\033[33m%s\033[0m %02x %02x\n",
5630 "/** 0111 1111 1011 rdst clrpsw %0 */",
5632 printf (" rdst = 0x%x\n", rdst);
5634 SYNTAX("clrpsw %0");
5635 #line 951 "rx-decode.opc"
5636 ID(clrpsw); DF(rdst);
5640 default: UNSUPPORTED(); break;
5645 switch (op[1] & 0x00)
5650 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5651 #line 329 "rx-decode.opc"
5652 int sz AU = (op[0] >> 4) & 0x03;
5653 #line 329 "rx-decode.opc"
5654 int dsp AU = op[0] & 0x07;
5655 #line 329 "rx-decode.opc"
5656 int a AU = (op[1] >> 7) & 0x01;
5657 #line 329 "rx-decode.opc"
5658 int dst AU = (op[1] >> 4) & 0x07;
5659 #line 329 "rx-decode.opc"
5660 int b AU = (op[1] >> 3) & 0x01;
5661 #line 329 "rx-decode.opc"
5662 int src AU = op[1] & 0x07;
5665 printf ("\033[33m%s\033[0m %02x %02x\n",
5666 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5668 printf (" sz = 0x%x,", sz);
5669 printf (" dsp = 0x%x,", dsp);
5670 printf (" a = 0x%x,", a);
5671 printf (" dst = 0x%x,", dst);
5672 printf (" b = 0x%x,", b);
5673 printf (" src = 0x%x\n", src);
5675 SYNTAX("mov%s %1, %0");
5676 #line 329 "rx-decode.opc"
5677 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5685 switch (op[1] & 0x00)
5688 goto op_semantics_38;
5694 switch (op[1] & 0x00)
5697 goto op_semantics_38;
5703 switch (op[1] & 0x00)
5706 goto op_semantics_38;
5712 switch (op[1] & 0x00)
5715 goto op_semantics_38;
5721 switch (op[1] & 0x00)
5724 goto op_semantics_38;
5730 switch (op[1] & 0x00)
5733 goto op_semantics_38;
5739 switch (op[1] & 0x00)
5742 goto op_semantics_38;
5748 switch (op[1] & 0x00)
5753 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5754 #line 326 "rx-decode.opc"
5755 int sz AU = (op[0] >> 4) & 0x03;
5756 #line 326 "rx-decode.opc"
5757 int dsp AU = op[0] & 0x07;
5758 #line 326 "rx-decode.opc"
5759 int a AU = (op[1] >> 7) & 0x01;
5760 #line 326 "rx-decode.opc"
5761 int src AU = (op[1] >> 4) & 0x07;
5762 #line 326 "rx-decode.opc"
5763 int b AU = (op[1] >> 3) & 0x01;
5764 #line 326 "rx-decode.opc"
5765 int dst AU = op[1] & 0x07;
5768 printf ("\033[33m%s\033[0m %02x %02x\n",
5769 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5771 printf (" sz = 0x%x,", sz);
5772 printf (" dsp = 0x%x,", dsp);
5773 printf (" a = 0x%x,", a);
5774 printf (" src = 0x%x,", src);
5775 printf (" b = 0x%x,", b);
5776 printf (" dst = 0x%x\n", dst);
5778 SYNTAX("mov%s %1, %0");
5779 #line 326 "rx-decode.opc"
5780 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5788 switch (op[1] & 0x00)
5791 goto op_semantics_39;
5797 switch (op[1] & 0x00)
5800 goto op_semantics_39;
5806 switch (op[1] & 0x00)
5809 goto op_semantics_39;
5815 switch (op[1] & 0x00)
5818 goto op_semantics_39;
5824 switch (op[1] & 0x00)
5827 goto op_semantics_39;
5833 switch (op[1] & 0x00)
5836 goto op_semantics_39;
5842 switch (op[1] & 0x00)
5845 goto op_semantics_39;
5851 switch (op[1] & 0x00)
5854 goto op_semantics_38;
5860 switch (op[1] & 0x00)
5863 goto op_semantics_38;
5869 switch (op[1] & 0x00)
5872 goto op_semantics_38;
5878 switch (op[1] & 0x00)
5881 goto op_semantics_38;
5887 switch (op[1] & 0x00)
5890 goto op_semantics_38;
5896 switch (op[1] & 0x00)
5899 goto op_semantics_38;
5905 switch (op[1] & 0x00)
5908 goto op_semantics_38;
5914 switch (op[1] & 0x00)
5917 goto op_semantics_38;
5923 switch (op[1] & 0x00)
5926 goto op_semantics_39;
5932 switch (op[1] & 0x00)
5935 goto op_semantics_39;
5941 switch (op[1] & 0x00)
5944 goto op_semantics_39;
5950 switch (op[1] & 0x00)
5953 goto op_semantics_39;
5959 switch (op[1] & 0x00)
5962 goto op_semantics_39;
5968 switch (op[1] & 0x00)
5971 goto op_semantics_39;
5977 switch (op[1] & 0x00)
5980 goto op_semantics_39;
5986 switch (op[1] & 0x00)
5989 goto op_semantics_39;
5995 switch (op[1] & 0x00)
5998 goto op_semantics_38;
6004 switch (op[1] & 0x00)
6007 goto op_semantics_38;
6013 switch (op[1] & 0x00)
6016 goto op_semantics_38;
6022 switch (op[1] & 0x00)
6025 goto op_semantics_38;
6031 switch (op[1] & 0x00)
6034 goto op_semantics_38;
6040 switch (op[1] & 0x00)
6043 goto op_semantics_38;
6049 switch (op[1] & 0x00)
6052 goto op_semantics_38;
6058 switch (op[1] & 0x00)
6061 goto op_semantics_38;
6067 switch (op[1] & 0x00)
6070 goto op_semantics_39;
6076 switch (op[1] & 0x00)
6079 goto op_semantics_39;
6085 switch (op[1] & 0x00)
6088 goto op_semantics_39;
6094 switch (op[1] & 0x00)
6097 goto op_semantics_39;
6103 switch (op[1] & 0x00)
6106 goto op_semantics_39;
6112 switch (op[1] & 0x00)
6115 goto op_semantics_39;
6121 switch (op[1] & 0x00)
6124 goto op_semantics_39;
6130 switch (op[1] & 0x00)
6133 goto op_semantics_39;
6139 switch (op[1] & 0x00)
6144 /** 1011 w dsp a src b dst movu%s %1, %0 */
6145 #line 349 "rx-decode.opc"
6146 int w AU = (op[0] >> 3) & 0x01;
6147 #line 349 "rx-decode.opc"
6148 int dsp AU = op[0] & 0x07;
6149 #line 349 "rx-decode.opc"
6150 int a AU = (op[1] >> 7) & 0x01;
6151 #line 349 "rx-decode.opc"
6152 int src AU = (op[1] >> 4) & 0x07;
6153 #line 349 "rx-decode.opc"
6154 int b AU = (op[1] >> 3) & 0x01;
6155 #line 349 "rx-decode.opc"
6156 int dst AU = op[1] & 0x07;
6159 printf ("\033[33m%s\033[0m %02x %02x\n",
6160 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6162 printf (" w = 0x%x,", w);
6163 printf (" dsp = 0x%x,", dsp);
6164 printf (" a = 0x%x,", a);
6165 printf (" src = 0x%x,", src);
6166 printf (" b = 0x%x,", b);
6167 printf (" dst = 0x%x\n", dst);
6169 SYNTAX("movu%s %1, %0");
6170 #line 349 "rx-decode.opc"
6171 ID(mov); uBWL(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6179 switch (op[1] & 0x00)
6182 goto op_semantics_40;
6188 switch (op[1] & 0x00)
6191 goto op_semantics_40;
6197 switch (op[1] & 0x00)
6200 goto op_semantics_40;
6206 switch (op[1] & 0x00)
6209 goto op_semantics_40;
6215 switch (op[1] & 0x00)
6218 goto op_semantics_40;
6224 switch (op[1] & 0x00)
6227 goto op_semantics_40;
6233 switch (op[1] & 0x00)
6236 goto op_semantics_40;
6242 switch (op[1] & 0x00)
6245 goto op_semantics_40;
6251 switch (op[1] & 0x00)
6254 goto op_semantics_40;
6260 switch (op[1] & 0x00)
6263 goto op_semantics_40;
6269 switch (op[1] & 0x00)
6272 goto op_semantics_40;
6278 switch (op[1] & 0x00)
6281 goto op_semantics_40;
6287 switch (op[1] & 0x00)
6290 goto op_semantics_40;
6296 switch (op[1] & 0x00)
6299 goto op_semantics_40;
6305 switch (op[1] & 0x00)
6308 goto op_semantics_40;
6314 switch (op[1] & 0x00)
6319 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6320 #line 307 "rx-decode.opc"
6321 int sz AU = (op[0] >> 4) & 0x03;
6322 #line 307 "rx-decode.opc"
6323 int sd AU = (op[0] >> 2) & 0x03;
6324 #line 307 "rx-decode.opc"
6325 int ss AU = op[0] & 0x03;
6326 #line 307 "rx-decode.opc"
6327 int rsrc AU = (op[1] >> 4) & 0x0f;
6328 #line 307 "rx-decode.opc"
6329 int rdst AU = op[1] & 0x0f;
6332 printf ("\033[33m%s\033[0m %02x %02x\n",
6333 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6335 printf (" sz = 0x%x,", sz);
6336 printf (" sd = 0x%x,", sd);
6337 printf (" ss = 0x%x,", ss);
6338 printf (" rsrc = 0x%x,", rsrc);
6339 printf (" rdst = 0x%x\n", rdst);
6341 SYNTAX("mov%s %1, %0");
6342 #line 307 "rx-decode.opc"
6343 if (ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6350 ID(mov); sBWL(sz); F_____;
6351 if ((ss == 3) && (sd != 3))
6353 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6357 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6367 switch (op[1] & 0x00)
6370 goto op_semantics_41;
6376 switch (op[1] & 0x00)
6379 goto op_semantics_41;
6385 switch (op[1] & 0x00)
6388 goto op_semantics_41;
6394 switch (op[1] & 0x00)
6397 goto op_semantics_41;
6403 switch (op[1] & 0x00)
6406 goto op_semantics_41;
6412 switch (op[1] & 0x00)
6415 goto op_semantics_41;
6421 switch (op[1] & 0x00)
6424 goto op_semantics_41;
6430 switch (op[1] & 0x00)
6433 goto op_semantics_41;
6439 switch (op[1] & 0x00)
6442 goto op_semantics_41;
6448 switch (op[1] & 0x00)
6451 goto op_semantics_41;
6457 switch (op[1] & 0x00)
6460 goto op_semantics_41;
6466 switch (op[1] & 0x00)
6469 goto op_semantics_41;
6475 switch (op[1] & 0x00)
6478 goto op_semantics_41;
6484 switch (op[1] & 0x00)
6487 goto op_semantics_41;
6493 switch (op[1] & 0x00)
6496 goto op_semantics_41;
6502 switch (op[1] & 0x00)
6505 goto op_semantics_41;
6511 switch (op[1] & 0x00)
6514 goto op_semantics_41;
6520 switch (op[1] & 0x00)
6523 goto op_semantics_41;
6529 switch (op[1] & 0x00)
6532 goto op_semantics_41;
6538 switch (op[1] & 0x00)
6541 goto op_semantics_41;
6547 switch (op[1] & 0x00)
6550 goto op_semantics_41;
6556 switch (op[1] & 0x00)
6559 goto op_semantics_41;
6565 switch (op[1] & 0x00)
6568 goto op_semantics_41;
6574 switch (op[1] & 0x00)
6577 goto op_semantics_41;
6583 switch (op[1] & 0x00)
6586 goto op_semantics_41;
6592 switch (op[1] & 0x00)
6595 goto op_semantics_41;
6601 switch (op[1] & 0x00)
6604 goto op_semantics_41;
6610 switch (op[1] & 0x00)
6613 goto op_semantics_41;
6619 switch (op[1] & 0x00)
6622 goto op_semantics_41;
6628 switch (op[1] & 0x00)
6631 goto op_semantics_41;
6637 switch (op[1] & 0x00)
6640 goto op_semantics_41;
6646 switch (op[1] & 0x00)
6649 goto op_semantics_41;
6655 switch (op[1] & 0x00)
6658 goto op_semantics_41;
6664 switch (op[1] & 0x00)
6667 goto op_semantics_41;
6673 switch (op[1] & 0x00)
6676 goto op_semantics_41;
6682 switch (op[1] & 0x00)
6685 goto op_semantics_41;
6691 switch (op[1] & 0x00)
6694 goto op_semantics_41;
6700 switch (op[1] & 0x00)
6703 goto op_semantics_41;
6709 switch (op[1] & 0x00)
6712 goto op_semantics_41;
6718 switch (op[1] & 0x00)
6721 goto op_semantics_41;
6727 switch (op[1] & 0x00)
6730 goto op_semantics_41;
6736 switch (op[1] & 0x00)
6739 goto op_semantics_41;
6745 switch (op[1] & 0x00)
6748 goto op_semantics_41;
6754 switch (op[1] & 0x00)
6757 goto op_semantics_41;
6763 switch (op[1] & 0x00)
6766 goto op_semantics_41;
6772 switch (op[1] & 0x00)
6775 goto op_semantics_41;
6781 switch (op[1] & 0x00)
6784 goto op_semantics_41;
6790 switch (op[1] & 0x08)
6795 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6796 #line 894 "rx-decode.opc"
6797 int sd AU = op[0] & 0x03;
6798 #line 894 "rx-decode.opc"
6799 int rdst AU = (op[1] >> 4) & 0x0f;
6800 #line 894 "rx-decode.opc"
6801 int bit AU = op[1] & 0x07;
6804 printf ("\033[33m%s\033[0m %02x %02x\n",
6805 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6807 printf (" sd = 0x%x,", sd);
6808 printf (" rdst = 0x%x,", rdst);
6809 printf (" bit = 0x%x\n", bit);
6811 SYNTAX("bset #%1, %0%S0");
6812 #line 894 "rx-decode.opc"
6813 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6820 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6821 #line 906 "rx-decode.opc"
6822 int sd AU = op[0] & 0x03;
6823 #line 906 "rx-decode.opc"
6824 int rdst AU = (op[1] >> 4) & 0x0f;
6825 #line 906 "rx-decode.opc"
6826 int bit AU = op[1] & 0x07;
6829 printf ("\033[33m%s\033[0m %02x %02x\n",
6830 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6832 printf (" sd = 0x%x,", sd);
6833 printf (" rdst = 0x%x,", rdst);
6834 printf (" bit = 0x%x\n", bit);
6836 SYNTAX("bclr #%1, %0%S0");
6837 #line 906 "rx-decode.opc"
6838 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6846 switch (op[1] & 0x08)
6849 goto op_semantics_42;
6852 goto op_semantics_43;
6858 switch (op[1] & 0x08)
6861 goto op_semantics_42;
6864 goto op_semantics_43;
6870 switch (op[1] & 0x08)
6873 goto op_semantics_42;
6876 goto op_semantics_43;
6882 switch (op[1] & 0x0c)
6888 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6889 #line 918 "rx-decode.opc"
6890 int sd AU = op[0] & 0x03;
6891 #line 918 "rx-decode.opc"
6892 int rdst AU = (op[1] >> 4) & 0x0f;
6893 #line 918 "rx-decode.opc"
6894 int bit AU = op[1] & 0x07;
6897 printf ("\033[33m%s\033[0m %02x %02x\n",
6898 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6900 printf (" sd = 0x%x,", sd);
6901 printf (" rdst = 0x%x,", rdst);
6902 printf (" bit = 0x%x\n", bit);
6904 SYNTAX("btst #%2, %1%S1");
6905 #line 918 "rx-decode.opc"
6906 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
6913 /** 1111 01ss rsrc 10sz push%s %1 */
6914 #line 374 "rx-decode.opc"
6915 int ss AU = op[0] & 0x03;
6916 #line 374 "rx-decode.opc"
6917 int rsrc AU = (op[1] >> 4) & 0x0f;
6918 #line 374 "rx-decode.opc"
6919 int sz AU = op[1] & 0x03;
6922 printf ("\033[33m%s\033[0m %02x %02x\n",
6923 "/** 1111 01ss rsrc 10sz push%s %1 */",
6925 printf (" ss = 0x%x,", ss);
6926 printf (" rsrc = 0x%x,", rsrc);
6927 printf (" sz = 0x%x\n", sz);
6929 SYNTAX("push%s %1");
6930 #line 374 "rx-decode.opc"
6931 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
6933 /*----------------------------------------------------------------------*/
6938 default: UNSUPPORTED(); break;
6943 switch (op[1] & 0x0c)
6947 goto op_semantics_44;
6950 goto op_semantics_45;
6952 default: UNSUPPORTED(); break;
6957 switch (op[1] & 0x0c)
6961 goto op_semantics_44;
6964 goto op_semantics_45;
6966 default: UNSUPPORTED(); break;
6971 switch (op[1] & 0x0c)
6975 goto op_semantics_44;
6978 goto op_semantics_45;
6980 default: UNSUPPORTED(); break;
6985 switch (op[1] & 0x00)
6990 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6991 #line 285 "rx-decode.opc"
6992 int sd AU = op[0] & 0x03;
6993 #line 285 "rx-decode.opc"
6994 int rdst AU = (op[1] >> 4) & 0x0f;
6995 #line 285 "rx-decode.opc"
6996 int im AU = (op[1] >> 2) & 0x03;
6997 #line 285 "rx-decode.opc"
6998 int sz AU = op[1] & 0x03;
7001 printf ("\033[33m%s\033[0m %02x %02x\n",
7002 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7004 printf (" sd = 0x%x,", sd);
7005 printf (" rdst = 0x%x,", rdst);
7006 printf (" im = 0x%x,", im);
7007 printf (" sz = 0x%x\n", sz);
7009 SYNTAX("mov%s #%1, %0");
7010 #line 285 "rx-decode.opc"
7011 ID(mov); DD(sd, rdst, sz);
7012 if ((im == 1 && sz == 0)
7013 || (im == 2 && sz == 1)
7014 || (im == 0 && sz == 2))
7032 switch (op[1] & 0x00)
7035 goto op_semantics_46;
7041 switch (op[1] & 0x00)
7044 goto op_semantics_46;
7050 switch (op[1] & 0x00)
7053 goto op_semantics_46;
7059 switch (op[1] & 0xff)
7063 switch (op[2] & 0x00)
7067 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7068 #line 548 "rx-decode.opc"
7069 int rsrc AU = (op[2] >> 4) & 0x0f;
7070 #line 548 "rx-decode.opc"
7071 int rdst AU = op[2] & 0x0f;
7074 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7075 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7076 op[0], op[1], op[2]);
7077 printf (" rsrc = 0x%x,", rsrc);
7078 printf (" rdst = 0x%x\n", rdst);
7080 SYNTAX("sbb %1, %0");
7081 #line 548 "rx-decode.opc"
7082 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7084 /* FIXME: only supports .L */
7091 switch (op[2] & 0x00)
7095 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7096 #line 479 "rx-decode.opc"
7097 int rsrc AU = (op[2] >> 4) & 0x0f;
7098 #line 479 "rx-decode.opc"
7099 int rdst AU = op[2] & 0x0f;
7102 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7103 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7104 op[0], op[1], op[2]);
7105 printf (" rsrc = 0x%x,", rsrc);
7106 printf (" rdst = 0x%x\n", rdst);
7108 SYNTAX("neg %2, %0");
7109 #line 479 "rx-decode.opc"
7110 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7112 /*----------------------------------------------------------------------*/
7121 switch (op[2] & 0x00)
7125 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7126 #line 488 "rx-decode.opc"
7127 int rsrc AU = (op[2] >> 4) & 0x0f;
7128 #line 488 "rx-decode.opc"
7129 int rdst AU = op[2] & 0x0f;
7132 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7133 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7134 op[0], op[1], op[2]);
7135 printf (" rsrc = 0x%x,", rsrc);
7136 printf (" rdst = 0x%x\n", rdst);
7138 SYNTAX("adc %1, %0");
7139 #line 488 "rx-decode.opc"
7140 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7148 switch (op[2] & 0x00)
7152 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7153 #line 561 "rx-decode.opc"
7154 int rsrc AU = (op[2] >> 4) & 0x0f;
7155 #line 561 "rx-decode.opc"
7156 int rdst AU = op[2] & 0x0f;
7159 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7160 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7161 op[0], op[1], op[2]);
7162 printf (" rsrc = 0x%x,", rsrc);
7163 printf (" rdst = 0x%x\n", rdst);
7165 SYNTAX("abs %1, %0");
7166 #line 561 "rx-decode.opc"
7167 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7169 /*----------------------------------------------------------------------*/
7178 switch (op[2] & 0x00)
7183 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7184 #line 570 "rx-decode.opc"
7185 int ss AU = op[1] & 0x03;
7186 #line 570 "rx-decode.opc"
7187 int rsrc AU = (op[2] >> 4) & 0x0f;
7188 #line 570 "rx-decode.opc"
7189 int rdst AU = op[2] & 0x0f;
7192 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7193 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7194 op[0], op[1], op[2]);
7195 printf (" ss = 0x%x,", ss);
7196 printf (" rsrc = 0x%x,", rsrc);
7197 printf (" rdst = 0x%x\n", rdst);
7199 SYNTAX("max %1%S1, %0");
7200 #line 570 "rx-decode.opc"
7201 if (ss == 3 && rsrc == 0 && rdst == 0)
7208 ID(max); SP(ss, rsrc); DR(rdst);
7217 switch (op[2] & 0x00)
7220 goto op_semantics_47;
7226 switch (op[2] & 0x00)
7229 goto op_semantics_47;
7235 switch (op[2] & 0x00)
7238 goto op_semantics_47;
7244 switch (op[2] & 0x00)
7249 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7250 #line 590 "rx-decode.opc"
7251 int ss AU = op[1] & 0x03;
7252 #line 590 "rx-decode.opc"
7253 int rsrc AU = (op[2] >> 4) & 0x0f;
7254 #line 590 "rx-decode.opc"
7255 int rdst AU = op[2] & 0x0f;
7258 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7259 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7260 op[0], op[1], op[2]);
7261 printf (" ss = 0x%x,", ss);
7262 printf (" rsrc = 0x%x,", rsrc);
7263 printf (" rdst = 0x%x\n", rdst);
7265 SYNTAX("min %1%S1, %0");
7266 #line 590 "rx-decode.opc"
7267 ID(min); SP(ss, rsrc); DR(rdst);
7275 switch (op[2] & 0x00)
7278 goto op_semantics_48;
7284 switch (op[2] & 0x00)
7287 goto op_semantics_48;
7293 switch (op[2] & 0x00)
7296 goto op_semantics_48;
7302 switch (op[2] & 0x00)
7307 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7308 #line 620 "rx-decode.opc"
7309 int ss AU = op[1] & 0x03;
7310 #line 620 "rx-decode.opc"
7311 int rsrc AU = (op[2] >> 4) & 0x0f;
7312 #line 620 "rx-decode.opc"
7313 int rdst AU = op[2] & 0x0f;
7316 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7317 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7318 op[0], op[1], op[2]);
7319 printf (" ss = 0x%x,", ss);
7320 printf (" rsrc = 0x%x,", rsrc);
7321 printf (" rdst = 0x%x\n", rdst);
7323 SYNTAX("emul %1%S1, %0");
7324 #line 620 "rx-decode.opc"
7325 ID(emul); SP(ss, rsrc); DR(rdst);
7333 switch (op[2] & 0x00)
7336 goto op_semantics_49;
7342 switch (op[2] & 0x00)
7345 goto op_semantics_49;
7351 switch (op[2] & 0x00)
7354 goto op_semantics_49;
7360 switch (op[2] & 0x00)
7365 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7366 #line 632 "rx-decode.opc"
7367 int ss AU = op[1] & 0x03;
7368 #line 632 "rx-decode.opc"
7369 int rsrc AU = (op[2] >> 4) & 0x0f;
7370 #line 632 "rx-decode.opc"
7371 int rdst AU = op[2] & 0x0f;
7374 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7375 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7376 op[0], op[1], op[2]);
7377 printf (" ss = 0x%x,", ss);
7378 printf (" rsrc = 0x%x,", rsrc);
7379 printf (" rdst = 0x%x\n", rdst);
7381 SYNTAX("emulu %1%S1, %0");
7382 #line 632 "rx-decode.opc"
7383 ID(emulu); SP(ss, rsrc); DR(rdst);
7391 switch (op[2] & 0x00)
7394 goto op_semantics_50;
7400 switch (op[2] & 0x00)
7403 goto op_semantics_50;
7409 switch (op[2] & 0x00)
7412 goto op_semantics_50;
7418 switch (op[2] & 0x00)
7423 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7424 #line 644 "rx-decode.opc"
7425 int ss AU = op[1] & 0x03;
7426 #line 644 "rx-decode.opc"
7427 int rsrc AU = (op[2] >> 4) & 0x0f;
7428 #line 644 "rx-decode.opc"
7429 int rdst AU = op[2] & 0x0f;
7432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7433 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7434 op[0], op[1], op[2]);
7435 printf (" ss = 0x%x,", ss);
7436 printf (" rsrc = 0x%x,", rsrc);
7437 printf (" rdst = 0x%x\n", rdst);
7439 SYNTAX("div %1%S1, %0");
7440 #line 644 "rx-decode.opc"
7441 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7449 switch (op[2] & 0x00)
7452 goto op_semantics_51;
7458 switch (op[2] & 0x00)
7461 goto op_semantics_51;
7467 switch (op[2] & 0x00)
7470 goto op_semantics_51;
7476 switch (op[2] & 0x00)
7481 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7482 #line 656 "rx-decode.opc"
7483 int ss AU = op[1] & 0x03;
7484 #line 656 "rx-decode.opc"
7485 int rsrc AU = (op[2] >> 4) & 0x0f;
7486 #line 656 "rx-decode.opc"
7487 int rdst AU = op[2] & 0x0f;
7490 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7491 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7492 op[0], op[1], op[2]);
7493 printf (" ss = 0x%x,", ss);
7494 printf (" rsrc = 0x%x,", rsrc);
7495 printf (" rdst = 0x%x\n", rdst);
7497 SYNTAX("divu %1%S1, %0");
7498 #line 656 "rx-decode.opc"
7499 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7507 switch (op[2] & 0x00)
7510 goto op_semantics_52;
7516 switch (op[2] & 0x00)
7519 goto op_semantics_52;
7525 switch (op[2] & 0x00)
7528 goto op_semantics_52;
7534 switch (op[2] & 0x00)
7539 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7540 #line 467 "rx-decode.opc"
7541 int ss AU = op[1] & 0x03;
7542 #line 467 "rx-decode.opc"
7543 int rsrc AU = (op[2] >> 4) & 0x0f;
7544 #line 467 "rx-decode.opc"
7545 int rdst AU = op[2] & 0x0f;
7548 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7549 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7550 op[0], op[1], op[2]);
7551 printf (" ss = 0x%x,", ss);
7552 printf (" rsrc = 0x%x,", rsrc);
7553 printf (" rdst = 0x%x\n", rdst);
7555 SYNTAX("tst %1%S1, %2");
7556 #line 467 "rx-decode.opc"
7557 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7565 switch (op[2] & 0x00)
7568 goto op_semantics_53;
7574 switch (op[2] & 0x00)
7577 goto op_semantics_53;
7583 switch (op[2] & 0x00)
7586 goto op_semantics_53;
7592 switch (op[2] & 0x00)
7597 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7598 #line 446 "rx-decode.opc"
7599 int ss AU = op[1] & 0x03;
7600 #line 446 "rx-decode.opc"
7601 int rsrc AU = (op[2] >> 4) & 0x0f;
7602 #line 446 "rx-decode.opc"
7603 int rdst AU = op[2] & 0x0f;
7606 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7607 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7608 op[0], op[1], op[2]);
7609 printf (" ss = 0x%x,", ss);
7610 printf (" rsrc = 0x%x,", rsrc);
7611 printf (" rdst = 0x%x\n", rdst);
7613 SYNTAX("xor %1%S1, %0");
7614 #line 446 "rx-decode.opc"
7615 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7623 switch (op[2] & 0x00)
7626 goto op_semantics_54;
7632 switch (op[2] & 0x00)
7635 goto op_semantics_54;
7641 switch (op[2] & 0x00)
7644 goto op_semantics_54;
7650 switch (op[2] & 0x00)
7654 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7655 #line 458 "rx-decode.opc"
7656 int rsrc AU = (op[2] >> 4) & 0x0f;
7657 #line 458 "rx-decode.opc"
7658 int rdst AU = op[2] & 0x0f;
7661 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7662 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7663 op[0], op[1], op[2]);
7664 printf (" rsrc = 0x%x,", rsrc);
7665 printf (" rdst = 0x%x\n", rdst);
7667 SYNTAX("not %1, %0");
7668 #line 458 "rx-decode.opc"
7669 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7671 /*----------------------------------------------------------------------*/
7680 switch (op[2] & 0x00)
7685 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7686 #line 380 "rx-decode.opc"
7687 int ss AU = op[1] & 0x03;
7688 #line 380 "rx-decode.opc"
7689 int rsrc AU = (op[2] >> 4) & 0x0f;
7690 #line 380 "rx-decode.opc"
7691 int rdst AU = op[2] & 0x0f;
7694 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7695 "/** 1111 1100 0100 00ss rsrc rdst xchg %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("xchg %1%S1, %0");
7702 #line 380 "rx-decode.opc"
7703 ID(xchg); DR(rdst); SP(ss, rsrc);
7711 switch (op[2] & 0x00)
7714 goto op_semantics_55;
7720 switch (op[2] & 0x00)
7723 goto op_semantics_55;
7729 switch (op[2] & 0x00)
7732 goto op_semantics_55;
7738 switch (op[2] & 0x00)
7743 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7744 #line 885 "rx-decode.opc"
7745 int sd AU = op[1] & 0x03;
7746 #line 885 "rx-decode.opc"
7747 int rsrc AU = (op[2] >> 4) & 0x0f;
7748 #line 885 "rx-decode.opc"
7749 int rdst AU = op[2] & 0x0f;
7752 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7753 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7754 op[0], op[1], op[2]);
7755 printf (" sd = 0x%x,", sd);
7756 printf (" rsrc = 0x%x,", rsrc);
7757 printf (" rdst = 0x%x\n", rdst);
7759 SYNTAX("itof %1%S1, %0");
7760 #line 885 "rx-decode.opc"
7761 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7769 switch (op[2] & 0x00)
7772 goto op_semantics_56;
7778 switch (op[2] & 0x00)
7781 goto op_semantics_56;
7787 switch (op[2] & 0x00)
7790 goto op_semantics_56;
7796 switch (op[2] & 0x00)
7801 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7802 #line 897 "rx-decode.opc"
7803 int sd AU = op[1] & 0x03;
7804 #line 897 "rx-decode.opc"
7805 int rdst AU = (op[2] >> 4) & 0x0f;
7806 #line 897 "rx-decode.opc"
7807 int rsrc AU = op[2] & 0x0f;
7810 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7811 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7812 op[0], op[1], op[2]);
7813 printf (" sd = 0x%x,", sd);
7814 printf (" rdst = 0x%x,", rdst);
7815 printf (" rsrc = 0x%x\n", rsrc);
7817 SYNTAX("bset %1, %0%S0");
7818 #line 897 "rx-decode.opc"
7819 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7820 if (sd == 3) /* bset reg,reg */
7829 switch (op[2] & 0x00)
7832 goto op_semantics_57;
7838 switch (op[2] & 0x00)
7841 goto op_semantics_57;
7847 switch (op[2] & 0x00)
7850 goto op_semantics_57;
7856 switch (op[2] & 0x00)
7861 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7862 #line 909 "rx-decode.opc"
7863 int sd AU = op[1] & 0x03;
7864 #line 909 "rx-decode.opc"
7865 int rdst AU = (op[2] >> 4) & 0x0f;
7866 #line 909 "rx-decode.opc"
7867 int rsrc AU = op[2] & 0x0f;
7870 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7871 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7872 op[0], op[1], op[2]);
7873 printf (" sd = 0x%x,", sd);
7874 printf (" rdst = 0x%x,", rdst);
7875 printf (" rsrc = 0x%x\n", rsrc);
7877 SYNTAX("bclr %1, %0%S0");
7878 #line 909 "rx-decode.opc"
7879 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7880 if (sd == 3) /* bset reg,reg */
7889 switch (op[2] & 0x00)
7892 goto op_semantics_58;
7898 switch (op[2] & 0x00)
7901 goto op_semantics_58;
7907 switch (op[2] & 0x00)
7910 goto op_semantics_58;
7916 switch (op[2] & 0x00)
7921 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7922 #line 921 "rx-decode.opc"
7923 int sd AU = op[1] & 0x03;
7924 #line 921 "rx-decode.opc"
7925 int rdst AU = (op[2] >> 4) & 0x0f;
7926 #line 921 "rx-decode.opc"
7927 int rsrc AU = op[2] & 0x0f;
7930 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7931 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7932 op[0], op[1], op[2]);
7933 printf (" sd = 0x%x,", sd);
7934 printf (" rdst = 0x%x,", rdst);
7935 printf (" rsrc = 0x%x\n", rsrc);
7937 SYNTAX("btst %2, %1%S1");
7938 #line 921 "rx-decode.opc"
7939 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
7940 if (sd == 3) /* bset reg,reg */
7949 switch (op[2] & 0x00)
7952 goto op_semantics_59;
7958 switch (op[2] & 0x00)
7961 goto op_semantics_59;
7967 switch (op[2] & 0x00)
7970 goto op_semantics_59;
7976 switch (op[2] & 0x00)
7981 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7982 #line 933 "rx-decode.opc"
7983 int sd AU = op[1] & 0x03;
7984 #line 933 "rx-decode.opc"
7985 int rdst AU = (op[2] >> 4) & 0x0f;
7986 #line 933 "rx-decode.opc"
7987 int rsrc AU = op[2] & 0x0f;
7990 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7991 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7992 op[0], op[1], op[2]);
7993 printf (" sd = 0x%x,", sd);
7994 printf (" rdst = 0x%x,", rdst);
7995 printf (" rsrc = 0x%x\n", rsrc);
7997 SYNTAX("bnot %1, %0%S0");
7998 #line 933 "rx-decode.opc"
7999 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8000 if (sd == 3) /* bset reg,reg */
8009 switch (op[2] & 0x00)
8012 goto op_semantics_60;
8018 switch (op[2] & 0x00)
8021 goto op_semantics_60;
8027 switch (op[2] & 0x00)
8030 goto op_semantics_60;
8036 switch (op[2] & 0x00)
8041 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8042 #line 864 "rx-decode.opc"
8043 int sd AU = op[1] & 0x03;
8044 #line 864 "rx-decode.opc"
8045 int rsrc AU = (op[2] >> 4) & 0x0f;
8046 #line 864 "rx-decode.opc"
8047 int rdst AU = op[2] & 0x0f;
8050 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8051 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8052 op[0], op[1], op[2]);
8053 printf (" sd = 0x%x,", sd);
8054 printf (" rsrc = 0x%x,", rsrc);
8055 printf (" rdst = 0x%x\n", rdst);
8057 SYNTAX("fsub %1%S1, %0");
8058 #line 864 "rx-decode.opc"
8059 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8067 switch (op[2] & 0x00)
8070 goto op_semantics_61;
8076 switch (op[2] & 0x00)
8079 goto op_semantics_61;
8085 switch (op[2] & 0x00)
8088 goto op_semantics_61;
8094 switch (op[2] & 0x00)
8099 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8100 #line 858 "rx-decode.opc"
8101 int sd AU = op[1] & 0x03;
8102 #line 858 "rx-decode.opc"
8103 int rsrc AU = (op[2] >> 4) & 0x0f;
8104 #line 858 "rx-decode.opc"
8105 int rdst AU = op[2] & 0x0f;
8108 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8109 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8110 op[0], op[1], op[2]);
8111 printf (" sd = 0x%x,", sd);
8112 printf (" rsrc = 0x%x,", rsrc);
8113 printf (" rdst = 0x%x\n", rdst);
8115 SYNTAX("fcmp %1%S1, %0");
8116 #line 858 "rx-decode.opc"
8117 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8125 switch (op[2] & 0x00)
8128 goto op_semantics_62;
8134 switch (op[2] & 0x00)
8137 goto op_semantics_62;
8143 switch (op[2] & 0x00)
8146 goto op_semantics_62;
8152 switch (op[2] & 0x00)
8157 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8158 #line 852 "rx-decode.opc"
8159 int sd AU = op[1] & 0x03;
8160 #line 852 "rx-decode.opc"
8161 int rsrc AU = (op[2] >> 4) & 0x0f;
8162 #line 852 "rx-decode.opc"
8163 int rdst AU = op[2] & 0x0f;
8166 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8167 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8168 op[0], op[1], op[2]);
8169 printf (" sd = 0x%x,", sd);
8170 printf (" rsrc = 0x%x,", rsrc);
8171 printf (" rdst = 0x%x\n", rdst);
8173 SYNTAX("fadd %1%S1, %0");
8174 #line 852 "rx-decode.opc"
8175 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8183 switch (op[2] & 0x00)
8186 goto op_semantics_63;
8192 switch (op[2] & 0x00)
8195 goto op_semantics_63;
8201 switch (op[2] & 0x00)
8204 goto op_semantics_63;
8210 switch (op[2] & 0x00)
8215 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8216 #line 873 "rx-decode.opc"
8217 int sd AU = op[1] & 0x03;
8218 #line 873 "rx-decode.opc"
8219 int rsrc AU = (op[2] >> 4) & 0x0f;
8220 #line 873 "rx-decode.opc"
8221 int rdst AU = op[2] & 0x0f;
8224 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8225 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8226 op[0], op[1], op[2]);
8227 printf (" sd = 0x%x,", sd);
8228 printf (" rsrc = 0x%x,", rsrc);
8229 printf (" rdst = 0x%x\n", rdst);
8231 SYNTAX("fmul %1%S1, %0");
8232 #line 873 "rx-decode.opc"
8233 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8241 switch (op[2] & 0x00)
8244 goto op_semantics_64;
8250 switch (op[2] & 0x00)
8253 goto op_semantics_64;
8259 switch (op[2] & 0x00)
8262 goto op_semantics_64;
8268 switch (op[2] & 0x00)
8273 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8274 #line 879 "rx-decode.opc"
8275 int sd AU = op[1] & 0x03;
8276 #line 879 "rx-decode.opc"
8277 int rsrc AU = (op[2] >> 4) & 0x0f;
8278 #line 879 "rx-decode.opc"
8279 int rdst AU = op[2] & 0x0f;
8282 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8283 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8284 op[0], op[1], op[2]);
8285 printf (" sd = 0x%x,", sd);
8286 printf (" rsrc = 0x%x,", rsrc);
8287 printf (" rdst = 0x%x\n", rdst);
8289 SYNTAX("fdiv %1%S1, %0");
8290 #line 879 "rx-decode.opc"
8291 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8299 switch (op[2] & 0x00)
8302 goto op_semantics_65;
8308 switch (op[2] & 0x00)
8311 goto op_semantics_65;
8317 switch (op[2] & 0x00)
8320 goto op_semantics_65;
8326 switch (op[2] & 0x00)
8331 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8332 #line 867 "rx-decode.opc"
8333 int sd AU = op[1] & 0x03;
8334 #line 867 "rx-decode.opc"
8335 int rsrc AU = (op[2] >> 4) & 0x0f;
8336 #line 867 "rx-decode.opc"
8337 int rdst AU = op[2] & 0x0f;
8340 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8341 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8342 op[0], op[1], op[2]);
8343 printf (" sd = 0x%x,", sd);
8344 printf (" rsrc = 0x%x,", rsrc);
8345 printf (" rdst = 0x%x\n", rdst);
8347 SYNTAX("ftoi %1%S1, %0");
8348 #line 867 "rx-decode.opc"
8349 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8357 switch (op[2] & 0x00)
8360 goto op_semantics_66;
8366 switch (op[2] & 0x00)
8369 goto op_semantics_66;
8375 switch (op[2] & 0x00)
8378 goto op_semantics_66;
8384 switch (op[2] & 0x00)
8389 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8390 #line 882 "rx-decode.opc"
8391 int sd AU = op[1] & 0x03;
8392 #line 882 "rx-decode.opc"
8393 int rsrc AU = (op[2] >> 4) & 0x0f;
8394 #line 882 "rx-decode.opc"
8395 int rdst AU = op[2] & 0x0f;
8398 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8399 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8400 op[0], op[1], op[2]);
8401 printf (" sd = 0x%x,", sd);
8402 printf (" rsrc = 0x%x,", rsrc);
8403 printf (" rdst = 0x%x\n", rdst);
8405 SYNTAX("round %1%S1, %0");
8406 #line 882 "rx-decode.opc"
8407 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8415 switch (op[2] & 0x00)
8418 goto op_semantics_67;
8424 switch (op[2] & 0x00)
8427 goto op_semantics_67;
8433 switch (op[2] & 0x00)
8436 goto op_semantics_67;
8442 switch (op[2] & 0x00)
8447 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8448 #line 999 "rx-decode.opc"
8449 int sz AU = (op[1] >> 2) & 0x03;
8450 #line 999 "rx-decode.opc"
8451 int sd AU = op[1] & 0x03;
8452 #line 999 "rx-decode.opc"
8453 int rdst AU = (op[2] >> 4) & 0x0f;
8454 #line 999 "rx-decode.opc"
8455 int cond AU = op[2] & 0x0f;
8458 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8459 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8460 op[0], op[1], op[2]);
8461 printf (" sz = 0x%x,", sz);
8462 printf (" sd = 0x%x,", sd);
8463 printf (" rdst = 0x%x,", rdst);
8464 printf (" cond = 0x%x\n", cond);
8466 SYNTAX("sc%1%s %0");
8467 #line 999 "rx-decode.opc"
8468 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8476 switch (op[2] & 0x00)
8479 goto op_semantics_68;
8485 switch (op[2] & 0x00)
8488 goto op_semantics_68;
8494 switch (op[2] & 0x00)
8497 goto op_semantics_68;
8503 switch (op[2] & 0x00)
8506 goto op_semantics_68;
8512 switch (op[2] & 0x00)
8515 goto op_semantics_68;
8521 switch (op[2] & 0x00)
8524 goto op_semantics_68;
8530 switch (op[2] & 0x00)
8533 goto op_semantics_68;
8539 switch (op[2] & 0x00)
8542 goto op_semantics_68;
8548 switch (op[2] & 0x00)
8551 goto op_semantics_68;
8557 switch (op[2] & 0x00)
8560 goto op_semantics_68;
8566 switch (op[2] & 0x00)
8569 goto op_semantics_68;
8575 switch (op[2] & 0x0f)
8594 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8595 #line 942 "rx-decode.opc"
8596 int bit AU = (op[1] >> 2) & 0x07;
8597 #line 942 "rx-decode.opc"
8598 int sd AU = op[1] & 0x03;
8599 #line 942 "rx-decode.opc"
8600 int rdst AU = (op[2] >> 4) & 0x0f;
8601 #line 942 "rx-decode.opc"
8602 int cond AU = op[2] & 0x0f;
8605 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8606 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8607 op[0], op[1], op[2]);
8608 printf (" bit = 0x%x,", bit);
8609 printf (" sd = 0x%x,", sd);
8610 printf (" rdst = 0x%x,", rdst);
8611 printf (" cond = 0x%x\n", cond);
8613 SYNTAX("bm%2 #%1, %0%S0");
8614 #line 942 "rx-decode.opc"
8615 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
8622 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8623 #line 930 "rx-decode.opc"
8624 int bit AU = (op[1] >> 2) & 0x07;
8625 #line 930 "rx-decode.opc"
8626 int sd AU = op[1] & 0x03;
8627 #line 930 "rx-decode.opc"
8628 int rdst AU = (op[2] >> 4) & 0x0f;
8631 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8632 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8633 op[0], op[1], op[2]);
8634 printf (" bit = 0x%x,", bit);
8635 printf (" sd = 0x%x,", sd);
8636 printf (" rdst = 0x%x\n", rdst);
8638 SYNTAX("bnot #%1, %0%S0");
8639 #line 930 "rx-decode.opc"
8640 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
8648 switch (op[2] & 0x0f)
8665 goto op_semantics_69;
8668 goto op_semantics_70;
8674 switch (op[2] & 0x0f)
8691 goto op_semantics_69;
8694 goto op_semantics_70;
8700 switch (op[2] & 0x0f)
8717 goto op_semantics_69;
8720 goto op_semantics_70;
8726 switch (op[2] & 0x0f)
8743 goto op_semantics_69;
8746 goto op_semantics_70;
8752 switch (op[2] & 0x0f)
8769 goto op_semantics_69;
8772 goto op_semantics_70;
8778 switch (op[2] & 0x0f)
8795 goto op_semantics_69;
8798 goto op_semantics_70;
8804 switch (op[2] & 0x0f)
8821 goto op_semantics_69;
8824 goto op_semantics_70;
8830 switch (op[2] & 0x0f)
8847 goto op_semantics_69;
8850 goto op_semantics_70;
8856 switch (op[2] & 0x0f)
8873 goto op_semantics_69;
8876 goto op_semantics_70;
8882 switch (op[2] & 0x0f)
8899 goto op_semantics_69;
8902 goto op_semantics_70;
8908 switch (op[2] & 0x0f)
8925 goto op_semantics_69;
8928 goto op_semantics_70;
8934 switch (op[2] & 0x0f)
8951 goto op_semantics_69;
8954 goto op_semantics_70;
8960 switch (op[2] & 0x0f)
8977 goto op_semantics_69;
8980 goto op_semantics_70;
8986 switch (op[2] & 0x0f)
9003 goto op_semantics_69;
9006 goto op_semantics_70;
9012 switch (op[2] & 0x0f)
9029 goto op_semantics_69;
9032 goto op_semantics_70;
9038 switch (op[2] & 0x0f)
9055 goto op_semantics_69;
9058 goto op_semantics_70;
9064 switch (op[2] & 0x0f)
9081 goto op_semantics_69;
9084 goto op_semantics_70;
9090 switch (op[2] & 0x0f)
9107 goto op_semantics_69;
9110 goto op_semantics_70;
9116 switch (op[2] & 0x0f)
9133 goto op_semantics_69;
9136 goto op_semantics_70;
9142 switch (op[2] & 0x0f)
9159 goto op_semantics_69;
9162 goto op_semantics_70;
9168 switch (op[2] & 0x0f)
9185 goto op_semantics_69;
9188 goto op_semantics_70;
9194 switch (op[2] & 0x0f)
9211 goto op_semantics_69;
9214 goto op_semantics_70;
9220 switch (op[2] & 0x0f)
9237 goto op_semantics_69;
9240 goto op_semantics_70;
9246 switch (op[2] & 0x0f)
9263 goto op_semantics_69;
9266 goto op_semantics_70;
9272 switch (op[2] & 0x0f)
9289 goto op_semantics_69;
9292 goto op_semantics_70;
9298 switch (op[2] & 0x0f)
9315 goto op_semantics_69;
9318 goto op_semantics_70;
9324 switch (op[2] & 0x0f)
9341 goto op_semantics_69;
9344 goto op_semantics_70;
9350 switch (op[2] & 0x0f)
9367 goto op_semantics_69;
9370 goto op_semantics_70;
9376 switch (op[2] & 0x0f)
9393 goto op_semantics_69;
9396 goto op_semantics_70;
9402 switch (op[2] & 0x0f)
9419 goto op_semantics_69;
9422 goto op_semantics_70;
9428 switch (op[2] & 0x0f)
9445 goto op_semantics_69;
9448 goto op_semantics_70;
9452 default: UNSUPPORTED(); break;
9457 switch (op[1] & 0xff)
9461 switch (op[2] & 0x00)
9465 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9466 #line 807 "rx-decode.opc"
9467 int srca AU = (op[2] >> 4) & 0x0f;
9468 #line 807 "rx-decode.opc"
9469 int srcb AU = op[2] & 0x0f;
9472 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9473 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9474 op[0], op[1], op[2]);
9475 printf (" srca = 0x%x,", srca);
9476 printf (" srcb = 0x%x\n", srcb);
9478 SYNTAX("mulhi %1, %2");
9479 #line 807 "rx-decode.opc"
9480 ID(mulhi); SR(srca); S2R(srcb); F_____;
9488 switch (op[2] & 0x00)
9492 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9493 #line 810 "rx-decode.opc"
9494 int srca AU = (op[2] >> 4) & 0x0f;
9495 #line 810 "rx-decode.opc"
9496 int srcb AU = op[2] & 0x0f;
9499 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9500 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9501 op[0], op[1], op[2]);
9502 printf (" srca = 0x%x,", srca);
9503 printf (" srcb = 0x%x\n", srcb);
9505 SYNTAX("mullo %1, %2");
9506 #line 810 "rx-decode.opc"
9507 ID(mullo); SR(srca); S2R(srcb); F_____;
9515 switch (op[2] & 0x00)
9519 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9520 #line 813 "rx-decode.opc"
9521 int srca AU = (op[2] >> 4) & 0x0f;
9522 #line 813 "rx-decode.opc"
9523 int srcb AU = op[2] & 0x0f;
9526 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9527 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9528 op[0], op[1], op[2]);
9529 printf (" srca = 0x%x,", srca);
9530 printf (" srcb = 0x%x\n", srcb);
9532 SYNTAX("machi %1, %2");
9533 #line 813 "rx-decode.opc"
9534 ID(machi); SR(srca); S2R(srcb); F_____;
9542 switch (op[2] & 0x00)
9546 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9547 #line 816 "rx-decode.opc"
9548 int srca AU = (op[2] >> 4) & 0x0f;
9549 #line 816 "rx-decode.opc"
9550 int srcb AU = op[2] & 0x0f;
9553 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9554 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9555 op[0], op[1], op[2]);
9556 printf (" srca = 0x%x,", srca);
9557 printf (" srcb = 0x%x\n", srcb);
9559 SYNTAX("maclo %1, %2");
9560 #line 816 "rx-decode.opc"
9561 ID(maclo); SR(srca); S2R(srcb); F_____;
9569 switch (op[2] & 0xf0)
9573 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9574 #line 819 "rx-decode.opc"
9575 int rsrc AU = op[2] & 0x0f;
9578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9579 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9580 op[0], op[1], op[2]);
9581 printf (" rsrc = 0x%x\n", rsrc);
9583 SYNTAX("mvtachi %1");
9584 #line 819 "rx-decode.opc"
9585 ID(mvtachi); SR(rsrc); F_____;
9591 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9592 #line 822 "rx-decode.opc"
9593 int rsrc AU = op[2] & 0x0f;
9596 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9597 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9598 op[0], op[1], op[2]);
9599 printf (" rsrc = 0x%x\n", rsrc);
9601 SYNTAX("mvtaclo %1");
9602 #line 822 "rx-decode.opc"
9603 ID(mvtaclo); SR(rsrc); F_____;
9607 default: UNSUPPORTED(); break;
9612 switch (op[2] & 0xef)
9616 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9617 #line 834 "rx-decode.opc"
9618 int i AU = (op[2] >> 4) & 0x01;
9621 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9622 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9623 op[0], op[1], op[2]);
9624 printf (" i = 0x%x\n", i);
9627 #line 834 "rx-decode.opc"
9628 ID(racw); SC(i+1); F_____;
9630 /*----------------------------------------------------------------------*/
9635 default: UNSUPPORTED(); break;
9640 switch (op[2] & 0xf0)
9644 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9645 #line 825 "rx-decode.opc"
9646 int rdst AU = op[2] & 0x0f;
9649 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9650 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9651 op[0], op[1], op[2]);
9652 printf (" rdst = 0x%x\n", rdst);
9654 SYNTAX("mvfachi %0");
9655 #line 825 "rx-decode.opc"
9656 ID(mvfachi); DR(rdst); F_____;
9662 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9663 #line 831 "rx-decode.opc"
9664 int rdst AU = op[2] & 0x0f;
9667 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9668 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9669 op[0], op[1], op[2]);
9670 printf (" rdst = 0x%x\n", rdst);
9672 SYNTAX("mvfaclo %0");
9673 #line 831 "rx-decode.opc"
9674 ID(mvfaclo); DR(rdst); F_____;
9680 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9681 #line 828 "rx-decode.opc"
9682 int rdst AU = op[2] & 0x0f;
9685 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9686 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9687 op[0], op[1], op[2]);
9688 printf (" rdst = 0x%x\n", rdst);
9690 SYNTAX("mvfacmi %0");
9691 #line 828 "rx-decode.opc"
9692 ID(mvfacmi); DR(rdst); F_____;
9696 default: UNSUPPORTED(); break;
9701 switch (op[2] & 0x00)
9706 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9707 #line 341 "rx-decode.opc"
9708 int p AU = (op[1] >> 2) & 0x01;
9709 #line 341 "rx-decode.opc"
9710 int sz AU = op[1] & 0x03;
9711 #line 341 "rx-decode.opc"
9712 int rdst AU = (op[2] >> 4) & 0x0f;
9713 #line 341 "rx-decode.opc"
9714 int rsrc AU = op[2] & 0x0f;
9717 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9718 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9719 op[0], op[1], op[2]);
9720 printf (" p = 0x%x,", p);
9721 printf (" sz = 0x%x,", sz);
9722 printf (" rdst = 0x%x,", rdst);
9723 printf (" rsrc = 0x%x\n", rsrc);
9725 SYNTAX("mov%s %1, %0");
9726 #line 341 "rx-decode.opc"
9727 ID(mov); sBWL (sz); SR(rsrc); F_____;
9728 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
9736 switch (op[2] & 0x00)
9739 goto op_semantics_71;
9745 switch (op[2] & 0x00)
9748 goto op_semantics_71;
9754 switch (op[2] & 0x00)
9757 goto op_semantics_71;
9763 switch (op[2] & 0x00)
9766 goto op_semantics_71;
9772 switch (op[2] & 0x00)
9775 goto op_semantics_71;
9781 switch (op[2] & 0x00)
9786 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9787 #line 345 "rx-decode.opc"
9788 int p AU = (op[1] >> 2) & 0x01;
9789 #line 345 "rx-decode.opc"
9790 int sz AU = op[1] & 0x03;
9791 #line 345 "rx-decode.opc"
9792 int rsrc AU = (op[2] >> 4) & 0x0f;
9793 #line 345 "rx-decode.opc"
9794 int rdst AU = op[2] & 0x0f;
9797 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9798 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9799 op[0], op[1], op[2]);
9800 printf (" p = 0x%x,", p);
9801 printf (" sz = 0x%x,", sz);
9802 printf (" rsrc = 0x%x,", rsrc);
9803 printf (" rdst = 0x%x\n", rdst);
9805 SYNTAX("mov%s %1, %0");
9806 #line 345 "rx-decode.opc"
9807 ID(mov); sBWL (sz); DR(rdst); F_____;
9808 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9816 switch (op[2] & 0x00)
9819 goto op_semantics_72;
9825 switch (op[2] & 0x00)
9828 goto op_semantics_72;
9834 switch (op[2] & 0x00)
9837 goto op_semantics_72;
9843 switch (op[2] & 0x00)
9846 goto op_semantics_72;
9852 switch (op[2] & 0x00)
9855 goto op_semantics_72;
9861 switch (op[2] & 0x00)
9866 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9867 #line 355 "rx-decode.opc"
9868 int p AU = (op[1] >> 2) & 0x01;
9869 #line 355 "rx-decode.opc"
9870 int sz AU = op[1] & 0x03;
9871 #line 355 "rx-decode.opc"
9872 int rsrc AU = (op[2] >> 4) & 0x0f;
9873 #line 355 "rx-decode.opc"
9874 int rdst AU = op[2] & 0x0f;
9877 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9878 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9879 op[0], op[1], op[2]);
9880 printf (" p = 0x%x,", p);
9881 printf (" sz = 0x%x,", sz);
9882 printf (" rsrc = 0x%x,", rsrc);
9883 printf (" rdst = 0x%x\n", rdst);
9885 SYNTAX("movu%s %1, %0");
9886 #line 355 "rx-decode.opc"
9887 ID(mov); uBWL (sz); DR(rdst); F_____;
9888 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9890 /*----------------------------------------------------------------------*/
9899 switch (op[2] & 0x00)
9902 goto op_semantics_73;
9908 switch (op[2] & 0x00)
9911 goto op_semantics_73;
9917 switch (op[2] & 0x00)
9920 goto op_semantics_73;
9926 switch (op[2] & 0x00)
9929 goto op_semantics_73;
9935 switch (op[2] & 0x00)
9938 goto op_semantics_73;
9944 switch (op[2] & 0x00)
9948 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9949 #line 688 "rx-decode.opc"
9950 int rsrc AU = (op[2] >> 4) & 0x0f;
9951 #line 688 "rx-decode.opc"
9952 int rdst AU = op[2] & 0x0f;
9955 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9956 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9957 op[0], op[1], op[2]);
9958 printf (" rsrc = 0x%x,", rsrc);
9959 printf (" rdst = 0x%x\n", rdst);
9961 SYNTAX("shlr %2, %0");
9962 #line 688 "rx-decode.opc"
9963 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
9971 switch (op[2] & 0x00)
9975 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9976 #line 678 "rx-decode.opc"
9977 int rsrc AU = (op[2] >> 4) & 0x0f;
9978 #line 678 "rx-decode.opc"
9979 int rdst AU = op[2] & 0x0f;
9982 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9983 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9984 op[0], op[1], op[2]);
9985 printf (" rsrc = 0x%x,", rsrc);
9986 printf (" rdst = 0x%x\n", rdst);
9988 SYNTAX("shar %2, %0");
9989 #line 678 "rx-decode.opc"
9990 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
9998 switch (op[2] & 0x00)
10002 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
10003 #line 668 "rx-decode.opc"
10004 int rsrc AU = (op[2] >> 4) & 0x0f;
10005 #line 668 "rx-decode.opc"
10006 int rdst AU = op[2] & 0x0f;
10009 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10010 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
10011 op[0], op[1], op[2]);
10012 printf (" rsrc = 0x%x,", rsrc);
10013 printf (" rdst = 0x%x\n", rdst);
10015 SYNTAX("shll %2, %0");
10016 #line 668 "rx-decode.opc"
10017 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
10025 switch (op[2] & 0x00)
10029 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
10030 #line 712 "rx-decode.opc"
10031 int rsrc AU = (op[2] >> 4) & 0x0f;
10032 #line 712 "rx-decode.opc"
10033 int rdst AU = op[2] & 0x0f;
10036 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10037 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
10038 op[0], op[1], op[2]);
10039 printf (" rsrc = 0x%x,", rsrc);
10040 printf (" rdst = 0x%x\n", rdst);
10042 SYNTAX("rotr %1, %0");
10043 #line 712 "rx-decode.opc"
10044 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
10052 switch (op[2] & 0x00)
10056 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10057 #line 715 "rx-decode.opc"
10058 int rsrc AU = (op[2] >> 4) & 0x0f;
10059 #line 715 "rx-decode.opc"
10060 int rdst AU = op[2] & 0x0f;
10063 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10064 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10065 op[0], op[1], op[2]);
10066 printf (" rsrc = 0x%x,", rsrc);
10067 printf (" rdst = 0x%x\n", rdst);
10069 SYNTAX("revw %1, %0");
10070 #line 715 "rx-decode.opc"
10071 ID(revw); SR(rsrc); DR(rdst);
10079 switch (op[2] & 0x00)
10083 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10084 #line 706 "rx-decode.opc"
10085 int rsrc AU = (op[2] >> 4) & 0x0f;
10086 #line 706 "rx-decode.opc"
10087 int rdst AU = op[2] & 0x0f;
10090 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10091 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10092 op[0], op[1], op[2]);
10093 printf (" rsrc = 0x%x,", rsrc);
10094 printf (" rdst = 0x%x\n", rdst);
10096 SYNTAX("rotl %1, %0");
10097 #line 706 "rx-decode.opc"
10098 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
10106 switch (op[2] & 0x00)
10110 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10111 #line 718 "rx-decode.opc"
10112 int rsrc AU = (op[2] >> 4) & 0x0f;
10113 #line 718 "rx-decode.opc"
10114 int rdst AU = op[2] & 0x0f;
10117 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10118 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10119 op[0], op[1], op[2]);
10120 printf (" rsrc = 0x%x,", rsrc);
10121 printf (" rdst = 0x%x\n", rdst);
10123 SYNTAX("revl %1, %0");
10124 #line 718 "rx-decode.opc"
10125 ID(revl); SR(rsrc); DR(rdst);
10127 /*----------------------------------------------------------------------*/
10136 switch (op[2] & 0x00)
10141 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10142 #line 969 "rx-decode.opc"
10143 int c AU = op[1] & 0x01;
10144 #line 969 "rx-decode.opc"
10145 int rsrc AU = (op[2] >> 4) & 0x0f;
10146 #line 969 "rx-decode.opc"
10147 int rdst AU = op[2] & 0x0f;
10150 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10151 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10152 op[0], op[1], op[2]);
10153 printf (" c = 0x%x,", c);
10154 printf (" rsrc = 0x%x,", rsrc);
10155 printf (" rdst = 0x%x\n", rdst);
10157 SYNTAX("mvtc %1, %0");
10158 #line 969 "rx-decode.opc"
10159 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
10167 switch (op[2] & 0x00)
10170 goto op_semantics_74;
10176 switch (op[2] & 0x00)
10181 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10182 #line 972 "rx-decode.opc"
10183 int s AU = op[1] & 0x01;
10184 #line 972 "rx-decode.opc"
10185 int rsrc AU = (op[2] >> 4) & 0x0f;
10186 #line 972 "rx-decode.opc"
10187 int rdst AU = op[2] & 0x0f;
10190 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10191 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10192 op[0], op[1], op[2]);
10193 printf (" s = 0x%x,", s);
10194 printf (" rsrc = 0x%x,", rsrc);
10195 printf (" rdst = 0x%x\n", rdst);
10197 SYNTAX("mvfc %1, %0");
10198 #line 972 "rx-decode.opc"
10199 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
10201 /*----------------------------------------------------------------------*/
10210 switch (op[2] & 0x00)
10213 goto op_semantics_75;
10219 switch (op[2] & 0x00)
10224 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10225 #line 709 "rx-decode.opc"
10226 int i AU = op[1] & 0x01;
10227 #line 709 "rx-decode.opc"
10228 int mmmm AU = (op[2] >> 4) & 0x0f;
10229 #line 709 "rx-decode.opc"
10230 int rdst AU = op[2] & 0x0f;
10233 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10234 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10235 op[0], op[1], op[2]);
10236 printf (" i = 0x%x,", i);
10237 printf (" mmmm = 0x%x,", mmmm);
10238 printf (" rdst = 0x%x\n", rdst);
10240 SYNTAX("rotr #%1, %0");
10241 #line 709 "rx-decode.opc"
10242 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
10250 switch (op[2] & 0x00)
10253 goto op_semantics_76;
10259 switch (op[2] & 0x00)
10264 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10265 #line 703 "rx-decode.opc"
10266 int i AU = op[1] & 0x01;
10267 #line 703 "rx-decode.opc"
10268 int mmmm AU = (op[2] >> 4) & 0x0f;
10269 #line 703 "rx-decode.opc"
10270 int rdst AU = op[2] & 0x0f;
10273 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10274 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10275 op[0], op[1], op[2]);
10276 printf (" i = 0x%x,", i);
10277 printf (" mmmm = 0x%x,", mmmm);
10278 printf (" rdst = 0x%x\n", rdst);
10280 SYNTAX("rotl #%1, %0");
10281 #line 703 "rx-decode.opc"
10282 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
10290 switch (op[2] & 0x00)
10293 goto op_semantics_77;
10299 switch (op[2] & 0xf0)
10304 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10305 #line 485 "rx-decode.opc"
10306 int im AU = (op[1] >> 2) & 0x03;
10307 #line 485 "rx-decode.opc"
10308 int rdst AU = op[2] & 0x0f;
10311 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10312 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10313 op[0], op[1], op[2]);
10314 printf (" im = 0x%x,", im);
10315 printf (" rdst = 0x%x\n", rdst);
10317 SYNTAX("adc #%1, %0");
10318 #line 485 "rx-decode.opc"
10319 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
10326 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10327 #line 567 "rx-decode.opc"
10328 int im AU = (op[1] >> 2) & 0x03;
10329 #line 567 "rx-decode.opc"
10330 int rdst AU = op[2] & 0x0f;
10333 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10334 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10335 op[0], op[1], op[2]);
10336 printf (" im = 0x%x,", im);
10337 printf (" rdst = 0x%x\n", rdst);
10339 SYNTAX("max #%1, %0");
10340 #line 567 "rx-decode.opc"
10341 ID(max); DR(rdst); SC(IMMex(im));
10348 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10349 #line 587 "rx-decode.opc"
10350 int im AU = (op[1] >> 2) & 0x03;
10351 #line 587 "rx-decode.opc"
10352 int rdst AU = op[2] & 0x0f;
10355 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10356 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10357 op[0], op[1], op[2]);
10358 printf (" im = 0x%x,", im);
10359 printf (" rdst = 0x%x\n", rdst);
10361 SYNTAX("min #%1, %0");
10362 #line 587 "rx-decode.opc"
10363 ID(min); DR(rdst); SC(IMMex(im));
10370 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10371 #line 617 "rx-decode.opc"
10372 int im AU = (op[1] >> 2) & 0x03;
10373 #line 617 "rx-decode.opc"
10374 int rdst AU = op[2] & 0x0f;
10377 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10378 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10379 op[0], op[1], op[2]);
10380 printf (" im = 0x%x,", im);
10381 printf (" rdst = 0x%x\n", rdst);
10383 SYNTAX("emul #%1, %0");
10384 #line 617 "rx-decode.opc"
10385 ID(emul); DR(rdst); SC(IMMex(im));
10392 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10393 #line 629 "rx-decode.opc"
10394 int im AU = (op[1] >> 2) & 0x03;
10395 #line 629 "rx-decode.opc"
10396 int rdst AU = op[2] & 0x0f;
10399 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10400 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10401 op[0], op[1], op[2]);
10402 printf (" im = 0x%x,", im);
10403 printf (" rdst = 0x%x\n", rdst);
10405 SYNTAX("emulu #%1, %0");
10406 #line 629 "rx-decode.opc"
10407 ID(emulu); DR(rdst); SC(IMMex(im));
10414 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10415 #line 641 "rx-decode.opc"
10416 int im AU = (op[1] >> 2) & 0x03;
10417 #line 641 "rx-decode.opc"
10418 int rdst AU = op[2] & 0x0f;
10421 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10422 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10423 op[0], op[1], op[2]);
10424 printf (" im = 0x%x,", im);
10425 printf (" rdst = 0x%x\n", rdst);
10427 SYNTAX("div #%1, %0");
10428 #line 641 "rx-decode.opc"
10429 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
10436 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10437 #line 653 "rx-decode.opc"
10438 int im AU = (op[1] >> 2) & 0x03;
10439 #line 653 "rx-decode.opc"
10440 int rdst AU = op[2] & 0x0f;
10443 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10444 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10445 op[0], op[1], op[2]);
10446 printf (" im = 0x%x,", im);
10447 printf (" rdst = 0x%x\n", rdst);
10449 SYNTAX("divu #%1, %0");
10450 #line 653 "rx-decode.opc"
10451 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
10458 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10459 #line 464 "rx-decode.opc"
10460 int im AU = (op[1] >> 2) & 0x03;
10461 #line 464 "rx-decode.opc"
10462 int rdst AU = op[2] & 0x0f;
10465 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10466 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10467 op[0], op[1], op[2]);
10468 printf (" im = 0x%x,", im);
10469 printf (" rdst = 0x%x\n", rdst);
10471 SYNTAX("tst #%1, %2");
10472 #line 464 "rx-decode.opc"
10473 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
10480 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10481 #line 443 "rx-decode.opc"
10482 int im AU = (op[1] >> 2) & 0x03;
10483 #line 443 "rx-decode.opc"
10484 int rdst AU = op[2] & 0x0f;
10487 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10488 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10489 op[0], op[1], op[2]);
10490 printf (" im = 0x%x,", im);
10491 printf (" rdst = 0x%x\n", rdst);
10493 SYNTAX("xor #%1, %0");
10494 #line 443 "rx-decode.opc"
10495 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
10502 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10503 #line 389 "rx-decode.opc"
10504 int im AU = (op[1] >> 2) & 0x03;
10505 #line 389 "rx-decode.opc"
10506 int rdst AU = op[2] & 0x0f;
10509 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10510 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10511 op[0], op[1], op[2]);
10512 printf (" im = 0x%x,", im);
10513 printf (" rdst = 0x%x\n", rdst);
10515 SYNTAX("stz #%1, %0");
10516 #line 389 "rx-decode.opc"
10517 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
10524 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10525 #line 392 "rx-decode.opc"
10526 int im AU = (op[1] >> 2) & 0x03;
10527 #line 392 "rx-decode.opc"
10528 int rdst AU = op[2] & 0x0f;
10531 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10532 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10533 op[0], op[1], op[2]);
10534 printf (" im = 0x%x,", im);
10535 printf (" rdst = 0x%x\n", rdst);
10537 SYNTAX("stnz #%1, %0");
10538 #line 392 "rx-decode.opc"
10539 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
10541 /*----------------------------------------------------------------------*/
10546 default: UNSUPPORTED(); break;
10551 switch (op[2] & 0xf0)
10555 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10556 #line 861 "rx-decode.opc"
10557 int rdst AU = op[2] & 0x0f;
10560 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10561 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10562 op[0], op[1], op[2]);
10563 printf (" rdst = 0x%x\n", rdst);
10565 SYNTAX("fsub #%1, %0");
10566 #line 861 "rx-decode.opc"
10567 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
10573 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10574 #line 855 "rx-decode.opc"
10575 int rdst AU = op[2] & 0x0f;
10578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10579 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10580 op[0], op[1], op[2]);
10581 printf (" rdst = 0x%x\n", rdst);
10583 SYNTAX("fcmp #%1, %0");
10584 #line 855 "rx-decode.opc"
10585 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
10591 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10592 #line 849 "rx-decode.opc"
10593 int rdst AU = op[2] & 0x0f;
10596 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10597 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10598 op[0], op[1], op[2]);
10599 printf (" rdst = 0x%x\n", rdst);
10601 SYNTAX("fadd #%1, %0");
10602 #line 849 "rx-decode.opc"
10603 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
10609 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10610 #line 870 "rx-decode.opc"
10611 int rdst AU = op[2] & 0x0f;
10614 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10615 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10616 op[0], op[1], op[2]);
10617 printf (" rdst = 0x%x\n", rdst);
10619 SYNTAX("fmul #%1, %0");
10620 #line 870 "rx-decode.opc"
10621 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
10627 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10628 #line 876 "rx-decode.opc"
10629 int rdst AU = op[2] & 0x0f;
10632 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10633 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10634 op[0], op[1], op[2]);
10635 printf (" rdst = 0x%x\n", rdst);
10637 SYNTAX("fdiv #%1, %0");
10638 #line 876 "rx-decode.opc"
10639 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
10643 default: UNSUPPORTED(); break;
10648 switch (op[2] & 0xe0)
10653 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10654 #line 966 "rx-decode.opc"
10655 int im AU = (op[1] >> 2) & 0x03;
10656 #line 966 "rx-decode.opc"
10657 int crdst AU = op[2] & 0x1f;
10660 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10661 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10662 op[0], op[1], op[2]);
10663 printf (" im = 0x%x,", im);
10664 printf (" crdst = 0x%x\n", crdst);
10666 SYNTAX("mvtc #%1, %0");
10667 #line 966 "rx-decode.opc"
10668 ID(mov); SC(IMMex(im)); DR(crdst + 16);
10672 default: UNSUPPORTED(); break;
10677 switch (op[2] & 0xf0)
10680 goto op_semantics_78;
10683 goto op_semantics_79;
10686 goto op_semantics_80;
10689 goto op_semantics_81;
10692 goto op_semantics_82;
10695 goto op_semantics_83;
10698 goto op_semantics_84;
10701 goto op_semantics_85;
10704 goto op_semantics_86;
10707 goto op_semantics_87;
10710 goto op_semantics_88;
10712 default: UNSUPPORTED(); break;
10717 switch (op[2] & 0xe0)
10720 goto op_semantics_89;
10722 default: UNSUPPORTED(); break;
10727 switch (op[2] & 0xf0)
10730 goto op_semantics_78;
10733 goto op_semantics_79;
10736 goto op_semantics_80;
10739 goto op_semantics_81;
10742 goto op_semantics_82;
10745 goto op_semantics_83;
10748 goto op_semantics_84;
10751 goto op_semantics_85;
10754 goto op_semantics_86;
10757 goto op_semantics_87;
10760 goto op_semantics_88;
10762 default: UNSUPPORTED(); break;
10767 switch (op[2] & 0xe0)
10770 goto op_semantics_89;
10772 default: UNSUPPORTED(); break;
10777 switch (op[2] & 0xf0)
10780 goto op_semantics_78;
10783 goto op_semantics_79;
10786 goto op_semantics_80;
10789 goto op_semantics_81;
10792 goto op_semantics_82;
10795 goto op_semantics_83;
10798 goto op_semantics_84;
10801 goto op_semantics_85;
10804 goto op_semantics_86;
10807 goto op_semantics_87;
10810 goto op_semantics_88;
10812 default: UNSUPPORTED(); break;
10817 switch (op[2] & 0xe0)
10820 goto op_semantics_89;
10822 default: UNSUPPORTED(); break;
10827 switch (op[2] & 0x00)
10832 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10833 #line 691 "rx-decode.opc"
10834 int immmm AU = op[1] & 0x1f;
10835 #line 691 "rx-decode.opc"
10836 int rsrc AU = (op[2] >> 4) & 0x0f;
10837 #line 691 "rx-decode.opc"
10838 int rdst AU = op[2] & 0x0f;
10841 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10842 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10843 op[0], op[1], op[2]);
10844 printf (" immmm = 0x%x,", immmm);
10845 printf (" rsrc = 0x%x,", rsrc);
10846 printf (" rdst = 0x%x\n", rdst);
10848 SYNTAX("shlr #%2, %1, %0");
10849 #line 691 "rx-decode.opc"
10850 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
10852 /*----------------------------------------------------------------------*/
10861 switch (op[2] & 0x00)
10864 goto op_semantics_90;
10870 switch (op[2] & 0x00)
10873 goto op_semantics_90;
10879 switch (op[2] & 0x00)
10882 goto op_semantics_90;
10888 switch (op[2] & 0x00)
10891 goto op_semantics_90;
10897 switch (op[2] & 0x00)
10900 goto op_semantics_90;
10906 switch (op[2] & 0x00)
10909 goto op_semantics_90;
10915 switch (op[2] & 0x00)
10918 goto op_semantics_90;
10924 switch (op[2] & 0x00)
10927 goto op_semantics_90;
10933 switch (op[2] & 0x00)
10936 goto op_semantics_90;
10942 switch (op[2] & 0x00)
10945 goto op_semantics_90;
10951 switch (op[2] & 0x00)
10954 goto op_semantics_90;
10960 switch (op[2] & 0x00)
10963 goto op_semantics_90;
10969 switch (op[2] & 0x00)
10972 goto op_semantics_90;
10978 switch (op[2] & 0x00)
10981 goto op_semantics_90;
10987 switch (op[2] & 0x00)
10990 goto op_semantics_90;
10996 switch (op[2] & 0x00)
10999 goto op_semantics_90;
11005 switch (op[2] & 0x00)
11008 goto op_semantics_90;
11014 switch (op[2] & 0x00)
11017 goto op_semantics_90;
11023 switch (op[2] & 0x00)
11026 goto op_semantics_90;
11032 switch (op[2] & 0x00)
11035 goto op_semantics_90;
11041 switch (op[2] & 0x00)
11044 goto op_semantics_90;
11050 switch (op[2] & 0x00)
11053 goto op_semantics_90;
11059 switch (op[2] & 0x00)
11062 goto op_semantics_90;
11068 switch (op[2] & 0x00)
11071 goto op_semantics_90;
11077 switch (op[2] & 0x00)
11080 goto op_semantics_90;
11086 switch (op[2] & 0x00)
11089 goto op_semantics_90;
11095 switch (op[2] & 0x00)
11098 goto op_semantics_90;
11104 switch (op[2] & 0x00)
11107 goto op_semantics_90;
11113 switch (op[2] & 0x00)
11116 goto op_semantics_90;
11122 switch (op[2] & 0x00)
11125 goto op_semantics_90;
11131 switch (op[2] & 0x00)
11134 goto op_semantics_90;
11140 switch (op[2] & 0x00)
11145 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11146 #line 681 "rx-decode.opc"
11147 int immmm AU = op[1] & 0x1f;
11148 #line 681 "rx-decode.opc"
11149 int rsrc AU = (op[2] >> 4) & 0x0f;
11150 #line 681 "rx-decode.opc"
11151 int rdst AU = op[2] & 0x0f;
11154 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11155 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11156 op[0], op[1], op[2]);
11157 printf (" immmm = 0x%x,", immmm);
11158 printf (" rsrc = 0x%x,", rsrc);
11159 printf (" rdst = 0x%x\n", rdst);
11161 SYNTAX("shar #%2, %1, %0");
11162 #line 681 "rx-decode.opc"
11163 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
11172 switch (op[2] & 0x00)
11175 goto op_semantics_91;
11181 switch (op[2] & 0x00)
11184 goto op_semantics_91;
11190 switch (op[2] & 0x00)
11193 goto op_semantics_91;
11199 switch (op[2] & 0x00)
11202 goto op_semantics_91;
11208 switch (op[2] & 0x00)
11211 goto op_semantics_91;
11217 switch (op[2] & 0x00)
11220 goto op_semantics_91;
11226 switch (op[2] & 0x00)
11229 goto op_semantics_91;
11235 switch (op[2] & 0x00)
11238 goto op_semantics_91;
11244 switch (op[2] & 0x00)
11247 goto op_semantics_91;
11253 switch (op[2] & 0x00)
11256 goto op_semantics_91;
11262 switch (op[2] & 0x00)
11265 goto op_semantics_91;
11271 switch (op[2] & 0x00)
11274 goto op_semantics_91;
11280 switch (op[2] & 0x00)
11283 goto op_semantics_91;
11289 switch (op[2] & 0x00)
11292 goto op_semantics_91;
11298 switch (op[2] & 0x00)
11301 goto op_semantics_91;
11307 switch (op[2] & 0x00)
11310 goto op_semantics_91;
11316 switch (op[2] & 0x00)
11319 goto op_semantics_91;
11325 switch (op[2] & 0x00)
11328 goto op_semantics_91;
11334 switch (op[2] & 0x00)
11337 goto op_semantics_91;
11343 switch (op[2] & 0x00)
11346 goto op_semantics_91;
11352 switch (op[2] & 0x00)
11355 goto op_semantics_91;
11361 switch (op[2] & 0x00)
11364 goto op_semantics_91;
11370 switch (op[2] & 0x00)
11373 goto op_semantics_91;
11379 switch (op[2] & 0x00)
11382 goto op_semantics_91;
11388 switch (op[2] & 0x00)
11391 goto op_semantics_91;
11397 switch (op[2] & 0x00)
11400 goto op_semantics_91;
11406 switch (op[2] & 0x00)
11409 goto op_semantics_91;
11415 switch (op[2] & 0x00)
11418 goto op_semantics_91;
11424 switch (op[2] & 0x00)
11427 goto op_semantics_91;
11433 switch (op[2] & 0x00)
11436 goto op_semantics_91;
11442 switch (op[2] & 0x00)
11445 goto op_semantics_91;
11451 switch (op[2] & 0x00)
11456 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11457 #line 671 "rx-decode.opc"
11458 int immmm AU = op[1] & 0x1f;
11459 #line 671 "rx-decode.opc"
11460 int rsrc AU = (op[2] >> 4) & 0x0f;
11461 #line 671 "rx-decode.opc"
11462 int rdst AU = op[2] & 0x0f;
11465 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11466 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11467 op[0], op[1], op[2]);
11468 printf (" immmm = 0x%x,", immmm);
11469 printf (" rsrc = 0x%x,", rsrc);
11470 printf (" rdst = 0x%x\n", rdst);
11472 SYNTAX("shll #%2, %1, %0");
11473 #line 671 "rx-decode.opc"
11474 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
11483 switch (op[2] & 0x00)
11486 goto op_semantics_92;
11492 switch (op[2] & 0x00)
11495 goto op_semantics_92;
11501 switch (op[2] & 0x00)
11504 goto op_semantics_92;
11510 switch (op[2] & 0x00)
11513 goto op_semantics_92;
11519 switch (op[2] & 0x00)
11522 goto op_semantics_92;
11528 switch (op[2] & 0x00)
11531 goto op_semantics_92;
11537 switch (op[2] & 0x00)
11540 goto op_semantics_92;
11546 switch (op[2] & 0x00)
11549 goto op_semantics_92;
11555 switch (op[2] & 0x00)
11558 goto op_semantics_92;
11564 switch (op[2] & 0x00)
11567 goto op_semantics_92;
11573 switch (op[2] & 0x00)
11576 goto op_semantics_92;
11582 switch (op[2] & 0x00)
11585 goto op_semantics_92;
11591 switch (op[2] & 0x00)
11594 goto op_semantics_92;
11600 switch (op[2] & 0x00)
11603 goto op_semantics_92;
11609 switch (op[2] & 0x00)
11612 goto op_semantics_92;
11618 switch (op[2] & 0x00)
11621 goto op_semantics_92;
11627 switch (op[2] & 0x00)
11630 goto op_semantics_92;
11636 switch (op[2] & 0x00)
11639 goto op_semantics_92;
11645 switch (op[2] & 0x00)
11648 goto op_semantics_92;
11654 switch (op[2] & 0x00)
11657 goto op_semantics_92;
11663 switch (op[2] & 0x00)
11666 goto op_semantics_92;
11672 switch (op[2] & 0x00)
11675 goto op_semantics_92;
11681 switch (op[2] & 0x00)
11684 goto op_semantics_92;
11690 switch (op[2] & 0x00)
11693 goto op_semantics_92;
11699 switch (op[2] & 0x00)
11702 goto op_semantics_92;
11708 switch (op[2] & 0x00)
11711 goto op_semantics_92;
11717 switch (op[2] & 0x00)
11720 goto op_semantics_92;
11726 switch (op[2] & 0x00)
11729 goto op_semantics_92;
11735 switch (op[2] & 0x00)
11738 goto op_semantics_92;
11744 switch (op[2] & 0x00)
11747 goto op_semantics_92;
11753 switch (op[2] & 0x00)
11756 goto op_semantics_92;
11762 switch (op[2] & 0xf0)
11781 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11782 #line 945 "rx-decode.opc"
11783 int bittt AU = op[1] & 0x1f;
11784 #line 945 "rx-decode.opc"
11785 int cond AU = (op[2] >> 4) & 0x0f;
11786 #line 945 "rx-decode.opc"
11787 int rdst AU = op[2] & 0x0f;
11790 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11791 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11792 op[0], op[1], op[2]);
11793 printf (" bittt = 0x%x,", bittt);
11794 printf (" cond = 0x%x,", cond);
11795 printf (" rdst = 0x%x\n", rdst);
11797 SYNTAX("bm%2 #%1, %0%S0");
11798 #line 945 "rx-decode.opc"
11799 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
11801 /*----------------------------------------------------------------------*/
11802 /* CONTROL REGISTERS */
11809 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11810 #line 938 "rx-decode.opc"
11811 int bittt AU = op[1] & 0x1f;
11812 #line 938 "rx-decode.opc"
11813 int rdst AU = op[2] & 0x0f;
11816 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11817 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11818 op[0], op[1], op[2]);
11819 printf (" bittt = 0x%x,", bittt);
11820 printf (" rdst = 0x%x\n", rdst);
11822 SYNTAX("bnot #%1, %0");
11823 #line 938 "rx-decode.opc"
11824 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
11833 switch (op[2] & 0xf0)
11850 goto op_semantics_93;
11853 goto op_semantics_94;
11859 switch (op[2] & 0xf0)
11876 goto op_semantics_93;
11879 goto op_semantics_94;
11885 switch (op[2] & 0xf0)
11902 goto op_semantics_93;
11905 goto op_semantics_94;
11911 switch (op[2] & 0xf0)
11928 goto op_semantics_93;
11931 goto op_semantics_94;
11937 switch (op[2] & 0xf0)
11954 goto op_semantics_93;
11957 goto op_semantics_94;
11963 switch (op[2] & 0xf0)
11980 goto op_semantics_93;
11983 goto op_semantics_94;
11989 switch (op[2] & 0xf0)
12006 goto op_semantics_93;
12009 goto op_semantics_94;
12015 switch (op[2] & 0xf0)
12032 goto op_semantics_93;
12035 goto op_semantics_94;
12041 switch (op[2] & 0xf0)
12058 goto op_semantics_93;
12061 goto op_semantics_94;
12067 switch (op[2] & 0xf0)
12084 goto op_semantics_93;
12087 goto op_semantics_94;
12093 switch (op[2] & 0xf0)
12110 goto op_semantics_93;
12113 goto op_semantics_94;
12119 switch (op[2] & 0xf0)
12136 goto op_semantics_93;
12139 goto op_semantics_94;
12145 switch (op[2] & 0xf0)
12162 goto op_semantics_93;
12165 goto op_semantics_94;
12171 switch (op[2] & 0xf0)
12188 goto op_semantics_93;
12191 goto op_semantics_94;
12197 switch (op[2] & 0xf0)
12214 goto op_semantics_93;
12217 goto op_semantics_94;
12223 switch (op[2] & 0xf0)
12240 goto op_semantics_93;
12243 goto op_semantics_94;
12249 switch (op[2] & 0xf0)
12266 goto op_semantics_93;
12269 goto op_semantics_94;
12275 switch (op[2] & 0xf0)
12292 goto op_semantics_93;
12295 goto op_semantics_94;
12301 switch (op[2] & 0xf0)
12318 goto op_semantics_93;
12321 goto op_semantics_94;
12327 switch (op[2] & 0xf0)
12344 goto op_semantics_93;
12347 goto op_semantics_94;
12353 switch (op[2] & 0xf0)
12370 goto op_semantics_93;
12373 goto op_semantics_94;
12379 switch (op[2] & 0xf0)
12396 goto op_semantics_93;
12399 goto op_semantics_94;
12405 switch (op[2] & 0xf0)
12422 goto op_semantics_93;
12425 goto op_semantics_94;
12431 switch (op[2] & 0xf0)
12448 goto op_semantics_93;
12451 goto op_semantics_94;
12457 switch (op[2] & 0xf0)
12474 goto op_semantics_93;
12477 goto op_semantics_94;
12483 switch (op[2] & 0xf0)
12500 goto op_semantics_93;
12503 goto op_semantics_94;
12509 switch (op[2] & 0xf0)
12526 goto op_semantics_93;
12529 goto op_semantics_94;
12535 switch (op[2] & 0xf0)
12552 goto op_semantics_93;
12555 goto op_semantics_94;
12561 switch (op[2] & 0xf0)
12578 goto op_semantics_93;
12581 goto op_semantics_94;
12587 switch (op[2] & 0xf0)
12604 goto op_semantics_93;
12607 goto op_semantics_94;
12613 switch (op[2] & 0xf0)
12630 goto op_semantics_93;
12633 goto op_semantics_94;
12637 default: UNSUPPORTED(); break;
12642 switch (op[1] & 0xff)
12646 switch (op[2] & 0x00)
12651 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12652 #line 335 "rx-decode.opc"
12653 int sz AU = (op[1] >> 4) & 0x03;
12654 #line 335 "rx-decode.opc"
12655 int isrc AU = op[1] & 0x0f;
12656 #line 335 "rx-decode.opc"
12657 int bsrc AU = (op[2] >> 4) & 0x0f;
12658 #line 335 "rx-decode.opc"
12659 int rdst AU = op[2] & 0x0f;
12662 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12663 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12664 op[0], op[1], op[2]);
12665 printf (" sz = 0x%x,", sz);
12666 printf (" isrc = 0x%x,", isrc);
12667 printf (" bsrc = 0x%x,", bsrc);
12668 printf (" rdst = 0x%x\n", rdst);
12670 SYNTAX("mov%s %0, [%1, %2]");
12671 #line 335 "rx-decode.opc"
12672 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
12680 switch (op[2] & 0x00)
12683 goto op_semantics_95;
12689 switch (op[2] & 0x00)
12692 goto op_semantics_95;
12698 switch (op[2] & 0x00)
12701 goto op_semantics_95;
12707 switch (op[2] & 0x00)
12710 goto op_semantics_95;
12716 switch (op[2] & 0x00)
12719 goto op_semantics_95;
12725 switch (op[2] & 0x00)
12728 goto op_semantics_95;
12734 switch (op[2] & 0x00)
12737 goto op_semantics_95;
12743 switch (op[2] & 0x00)
12746 goto op_semantics_95;
12752 switch (op[2] & 0x00)
12755 goto op_semantics_95;
12761 switch (op[2] & 0x00)
12764 goto op_semantics_95;
12770 switch (op[2] & 0x00)
12773 goto op_semantics_95;
12779 switch (op[2] & 0x00)
12782 goto op_semantics_95;
12788 switch (op[2] & 0x00)
12791 goto op_semantics_95;
12797 switch (op[2] & 0x00)
12800 goto op_semantics_95;
12806 switch (op[2] & 0x00)
12809 goto op_semantics_95;
12815 switch (op[2] & 0x00)
12818 goto op_semantics_95;
12824 switch (op[2] & 0x00)
12827 goto op_semantics_95;
12833 switch (op[2] & 0x00)
12836 goto op_semantics_95;
12842 switch (op[2] & 0x00)
12845 goto op_semantics_95;
12851 switch (op[2] & 0x00)
12854 goto op_semantics_95;
12860 switch (op[2] & 0x00)
12863 goto op_semantics_95;
12869 switch (op[2] & 0x00)
12872 goto op_semantics_95;
12878 switch (op[2] & 0x00)
12881 goto op_semantics_95;
12887 switch (op[2] & 0x00)
12890 goto op_semantics_95;
12896 switch (op[2] & 0x00)
12899 goto op_semantics_95;
12905 switch (op[2] & 0x00)
12908 goto op_semantics_95;
12914 switch (op[2] & 0x00)
12917 goto op_semantics_95;
12923 switch (op[2] & 0x00)
12926 goto op_semantics_95;
12932 switch (op[2] & 0x00)
12935 goto op_semantics_95;
12941 switch (op[2] & 0x00)
12944 goto op_semantics_95;
12950 switch (op[2] & 0x00)
12953 goto op_semantics_95;
12959 switch (op[2] & 0x00)
12962 goto op_semantics_95;
12968 switch (op[2] & 0x00)
12971 goto op_semantics_95;
12977 switch (op[2] & 0x00)
12980 goto op_semantics_95;
12986 switch (op[2] & 0x00)
12989 goto op_semantics_95;
12995 switch (op[2] & 0x00)
12998 goto op_semantics_95;
13004 switch (op[2] & 0x00)
13007 goto op_semantics_95;
13013 switch (op[2] & 0x00)
13016 goto op_semantics_95;
13022 switch (op[2] & 0x00)
13025 goto op_semantics_95;
13031 switch (op[2] & 0x00)
13034 goto op_semantics_95;
13040 switch (op[2] & 0x00)
13043 goto op_semantics_95;
13049 switch (op[2] & 0x00)
13052 goto op_semantics_95;
13058 switch (op[2] & 0x00)
13061 goto op_semantics_95;
13067 switch (op[2] & 0x00)
13070 goto op_semantics_95;
13076 switch (op[2] & 0x00)
13079 goto op_semantics_95;
13085 switch (op[2] & 0x00)
13088 goto op_semantics_95;
13094 switch (op[2] & 0x00)
13097 goto op_semantics_95;
13103 switch (op[2] & 0x00)
13108 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13109 #line 332 "rx-decode.opc"
13110 int sz AU = (op[1] >> 4) & 0x03;
13111 #line 332 "rx-decode.opc"
13112 int isrc AU = op[1] & 0x0f;
13113 #line 332 "rx-decode.opc"
13114 int bsrc AU = (op[2] >> 4) & 0x0f;
13115 #line 332 "rx-decode.opc"
13116 int rdst AU = op[2] & 0x0f;
13119 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13120 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13121 op[0], op[1], op[2]);
13122 printf (" sz = 0x%x,", sz);
13123 printf (" isrc = 0x%x,", isrc);
13124 printf (" bsrc = 0x%x,", bsrc);
13125 printf (" rdst = 0x%x\n", rdst);
13127 SYNTAX("mov%s [%1, %2], %0");
13128 #line 332 "rx-decode.opc"
13129 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13137 switch (op[2] & 0x00)
13140 goto op_semantics_96;
13146 switch (op[2] & 0x00)
13149 goto op_semantics_96;
13155 switch (op[2] & 0x00)
13158 goto op_semantics_96;
13164 switch (op[2] & 0x00)
13167 goto op_semantics_96;
13173 switch (op[2] & 0x00)
13176 goto op_semantics_96;
13182 switch (op[2] & 0x00)
13185 goto op_semantics_96;
13191 switch (op[2] & 0x00)
13194 goto op_semantics_96;
13200 switch (op[2] & 0x00)
13203 goto op_semantics_96;
13209 switch (op[2] & 0x00)
13212 goto op_semantics_96;
13218 switch (op[2] & 0x00)
13221 goto op_semantics_96;
13227 switch (op[2] & 0x00)
13230 goto op_semantics_96;
13236 switch (op[2] & 0x00)
13239 goto op_semantics_96;
13245 switch (op[2] & 0x00)
13248 goto op_semantics_96;
13254 switch (op[2] & 0x00)
13257 goto op_semantics_96;
13263 switch (op[2] & 0x00)
13266 goto op_semantics_96;
13272 switch (op[2] & 0x00)
13275 goto op_semantics_96;
13281 switch (op[2] & 0x00)
13284 goto op_semantics_96;
13290 switch (op[2] & 0x00)
13293 goto op_semantics_96;
13299 switch (op[2] & 0x00)
13302 goto op_semantics_96;
13308 switch (op[2] & 0x00)
13311 goto op_semantics_96;
13317 switch (op[2] & 0x00)
13320 goto op_semantics_96;
13326 switch (op[2] & 0x00)
13329 goto op_semantics_96;
13335 switch (op[2] & 0x00)
13338 goto op_semantics_96;
13344 switch (op[2] & 0x00)
13347 goto op_semantics_96;
13353 switch (op[2] & 0x00)
13356 goto op_semantics_96;
13362 switch (op[2] & 0x00)
13365 goto op_semantics_96;
13371 switch (op[2] & 0x00)
13374 goto op_semantics_96;
13380 switch (op[2] & 0x00)
13383 goto op_semantics_96;
13389 switch (op[2] & 0x00)
13392 goto op_semantics_96;
13398 switch (op[2] & 0x00)
13401 goto op_semantics_96;
13407 switch (op[2] & 0x00)
13410 goto op_semantics_96;
13416 switch (op[2] & 0x00)
13419 goto op_semantics_96;
13425 switch (op[2] & 0x00)
13428 goto op_semantics_96;
13434 switch (op[2] & 0x00)
13437 goto op_semantics_96;
13443 switch (op[2] & 0x00)
13446 goto op_semantics_96;
13452 switch (op[2] & 0x00)
13455 goto op_semantics_96;
13461 switch (op[2] & 0x00)
13464 goto op_semantics_96;
13470 switch (op[2] & 0x00)
13473 goto op_semantics_96;
13479 switch (op[2] & 0x00)
13482 goto op_semantics_96;
13488 switch (op[2] & 0x00)
13491 goto op_semantics_96;
13497 switch (op[2] & 0x00)
13500 goto op_semantics_96;
13506 switch (op[2] & 0x00)
13509 goto op_semantics_96;
13515 switch (op[2] & 0x00)
13518 goto op_semantics_96;
13524 switch (op[2] & 0x00)
13527 goto op_semantics_96;
13533 switch (op[2] & 0x00)
13536 goto op_semantics_96;
13542 switch (op[2] & 0x00)
13545 goto op_semantics_96;
13551 switch (op[2] & 0x00)
13554 goto op_semantics_96;
13560 switch (op[2] & 0x00)
13565 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13566 #line 338 "rx-decode.opc"
13567 int sz AU = (op[1] >> 4) & 0x03;
13568 #line 338 "rx-decode.opc"
13569 int isrc AU = op[1] & 0x0f;
13570 #line 338 "rx-decode.opc"
13571 int bsrc AU = (op[2] >> 4) & 0x0f;
13572 #line 338 "rx-decode.opc"
13573 int rdst AU = op[2] & 0x0f;
13576 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13577 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13578 op[0], op[1], op[2]);
13579 printf (" sz = 0x%x,", sz);
13580 printf (" isrc = 0x%x,", isrc);
13581 printf (" bsrc = 0x%x,", bsrc);
13582 printf (" rdst = 0x%x\n", rdst);
13584 SYNTAX("movu%s [%1, %2], %0");
13585 #line 338 "rx-decode.opc"
13586 ID(movbi); uBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13594 switch (op[2] & 0x00)
13597 goto op_semantics_97;
13603 switch (op[2] & 0x00)
13606 goto op_semantics_97;
13612 switch (op[2] & 0x00)
13615 goto op_semantics_97;
13621 switch (op[2] & 0x00)
13624 goto op_semantics_97;
13630 switch (op[2] & 0x00)
13633 goto op_semantics_97;
13639 switch (op[2] & 0x00)
13642 goto op_semantics_97;
13648 switch (op[2] & 0x00)
13651 goto op_semantics_97;
13657 switch (op[2] & 0x00)
13660 goto op_semantics_97;
13666 switch (op[2] & 0x00)
13669 goto op_semantics_97;
13675 switch (op[2] & 0x00)
13678 goto op_semantics_97;
13684 switch (op[2] & 0x00)
13687 goto op_semantics_97;
13693 switch (op[2] & 0x00)
13696 goto op_semantics_97;
13702 switch (op[2] & 0x00)
13705 goto op_semantics_97;
13711 switch (op[2] & 0x00)
13714 goto op_semantics_97;
13720 switch (op[2] & 0x00)
13723 goto op_semantics_97;
13729 switch (op[2] & 0x00)
13732 goto op_semantics_97;
13738 switch (op[2] & 0x00)
13741 goto op_semantics_97;
13747 switch (op[2] & 0x00)
13750 goto op_semantics_97;
13756 switch (op[2] & 0x00)
13759 goto op_semantics_97;
13765 switch (op[2] & 0x00)
13768 goto op_semantics_97;
13774 switch (op[2] & 0x00)
13777 goto op_semantics_97;
13783 switch (op[2] & 0x00)
13786 goto op_semantics_97;
13792 switch (op[2] & 0x00)
13795 goto op_semantics_97;
13801 switch (op[2] & 0x00)
13804 goto op_semantics_97;
13810 switch (op[2] & 0x00)
13813 goto op_semantics_97;
13819 switch (op[2] & 0x00)
13822 goto op_semantics_97;
13828 switch (op[2] & 0x00)
13831 goto op_semantics_97;
13837 switch (op[2] & 0x00)
13840 goto op_semantics_97;
13846 switch (op[2] & 0x00)
13849 goto op_semantics_97;
13855 switch (op[2] & 0x00)
13858 goto op_semantics_97;
13864 switch (op[2] & 0x00)
13867 goto op_semantics_97;
13873 switch (op[2] & 0x00)
13876 goto op_semantics_97;
13882 switch (op[2] & 0x00)
13885 goto op_semantics_97;
13891 switch (op[2] & 0x00)
13894 goto op_semantics_97;
13900 switch (op[2] & 0x00)
13903 goto op_semantics_97;
13909 switch (op[2] & 0x00)
13912 goto op_semantics_97;
13918 switch (op[2] & 0x00)
13921 goto op_semantics_97;
13927 switch (op[2] & 0x00)
13930 goto op_semantics_97;
13936 switch (op[2] & 0x00)
13939 goto op_semantics_97;
13945 switch (op[2] & 0x00)
13948 goto op_semantics_97;
13954 switch (op[2] & 0x00)
13957 goto op_semantics_97;
13963 switch (op[2] & 0x00)
13966 goto op_semantics_97;
13972 switch (op[2] & 0x00)
13975 goto op_semantics_97;
13981 switch (op[2] & 0x00)
13984 goto op_semantics_97;
13990 switch (op[2] & 0x00)
13993 goto op_semantics_97;
13999 switch (op[2] & 0x00)
14002 goto op_semantics_97;
14008 switch (op[2] & 0x00)
14011 goto op_semantics_97;
14015 default: UNSUPPORTED(); break;
14020 switch (op[1] & 0xff)
14024 switch (op[2] & 0x00)
14029 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
14030 #line 542 "rx-decode.opc"
14031 int rdst AU = op[1] & 0x0f;
14032 #line 542 "rx-decode.opc"
14033 int srca AU = (op[2] >> 4) & 0x0f;
14034 #line 542 "rx-decode.opc"
14035 int srcb AU = op[2] & 0x0f;
14038 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14039 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
14040 op[0], op[1], op[2]);
14041 printf (" rdst = 0x%x,", rdst);
14042 printf (" srca = 0x%x,", srca);
14043 printf (" srcb = 0x%x\n", srcb);
14045 SYNTAX("sub %2, %1, %0");
14046 #line 542 "rx-decode.opc"
14047 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14049 /*----------------------------------------------------------------------*/
14058 switch (op[2] & 0x00)
14061 goto op_semantics_98;
14067 switch (op[2] & 0x00)
14070 goto op_semantics_98;
14076 switch (op[2] & 0x00)
14079 goto op_semantics_98;
14085 switch (op[2] & 0x00)
14088 goto op_semantics_98;
14094 switch (op[2] & 0x00)
14097 goto op_semantics_98;
14103 switch (op[2] & 0x00)
14106 goto op_semantics_98;
14112 switch (op[2] & 0x00)
14115 goto op_semantics_98;
14121 switch (op[2] & 0x00)
14124 goto op_semantics_98;
14130 switch (op[2] & 0x00)
14133 goto op_semantics_98;
14139 switch (op[2] & 0x00)
14142 goto op_semantics_98;
14148 switch (op[2] & 0x00)
14151 goto op_semantics_98;
14157 switch (op[2] & 0x00)
14160 goto op_semantics_98;
14166 switch (op[2] & 0x00)
14169 goto op_semantics_98;
14175 switch (op[2] & 0x00)
14178 goto op_semantics_98;
14184 switch (op[2] & 0x00)
14187 goto op_semantics_98;
14193 switch (op[2] & 0x00)
14198 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14199 #line 509 "rx-decode.opc"
14200 int rdst AU = op[1] & 0x0f;
14201 #line 509 "rx-decode.opc"
14202 int srca AU = (op[2] >> 4) & 0x0f;
14203 #line 509 "rx-decode.opc"
14204 int srcb AU = op[2] & 0x0f;
14207 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14208 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14209 op[0], op[1], op[2]);
14210 printf (" rdst = 0x%x,", rdst);
14211 printf (" srca = 0x%x,", srca);
14212 printf (" srcb = 0x%x\n", srcb);
14214 SYNTAX("add %2, %1, %0");
14215 #line 509 "rx-decode.opc"
14216 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14218 /*----------------------------------------------------------------------*/
14227 switch (op[2] & 0x00)
14230 goto op_semantics_99;
14236 switch (op[2] & 0x00)
14239 goto op_semantics_99;
14245 switch (op[2] & 0x00)
14248 goto op_semantics_99;
14254 switch (op[2] & 0x00)
14257 goto op_semantics_99;
14263 switch (op[2] & 0x00)
14266 goto op_semantics_99;
14272 switch (op[2] & 0x00)
14275 goto op_semantics_99;
14281 switch (op[2] & 0x00)
14284 goto op_semantics_99;
14290 switch (op[2] & 0x00)
14293 goto op_semantics_99;
14299 switch (op[2] & 0x00)
14302 goto op_semantics_99;
14308 switch (op[2] & 0x00)
14311 goto op_semantics_99;
14317 switch (op[2] & 0x00)
14320 goto op_semantics_99;
14326 switch (op[2] & 0x00)
14329 goto op_semantics_99;
14335 switch (op[2] & 0x00)
14338 goto op_semantics_99;
14344 switch (op[2] & 0x00)
14347 goto op_semantics_99;
14353 switch (op[2] & 0x00)
14356 goto op_semantics_99;
14362 switch (op[2] & 0x00)
14367 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14368 #line 611 "rx-decode.opc"
14369 int rdst AU = op[1] & 0x0f;
14370 #line 611 "rx-decode.opc"
14371 int srca AU = (op[2] >> 4) & 0x0f;
14372 #line 611 "rx-decode.opc"
14373 int srcb AU = op[2] & 0x0f;
14376 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14377 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14378 op[0], op[1], op[2]);
14379 printf (" rdst = 0x%x,", rdst);
14380 printf (" srca = 0x%x,", srca);
14381 printf (" srcb = 0x%x\n", srcb);
14383 SYNTAX("mul %2, %1, %0");
14384 #line 611 "rx-decode.opc"
14385 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
14387 /*----------------------------------------------------------------------*/
14396 switch (op[2] & 0x00)
14399 goto op_semantics_100;
14405 switch (op[2] & 0x00)
14408 goto op_semantics_100;
14414 switch (op[2] & 0x00)
14417 goto op_semantics_100;
14423 switch (op[2] & 0x00)
14426 goto op_semantics_100;
14432 switch (op[2] & 0x00)
14435 goto op_semantics_100;
14441 switch (op[2] & 0x00)
14444 goto op_semantics_100;
14450 switch (op[2] & 0x00)
14453 goto op_semantics_100;
14459 switch (op[2] & 0x00)
14462 goto op_semantics_100;
14468 switch (op[2] & 0x00)
14471 goto op_semantics_100;
14477 switch (op[2] & 0x00)
14480 goto op_semantics_100;
14486 switch (op[2] & 0x00)
14489 goto op_semantics_100;
14495 switch (op[2] & 0x00)
14498 goto op_semantics_100;
14504 switch (op[2] & 0x00)
14507 goto op_semantics_100;
14513 switch (op[2] & 0x00)
14516 goto op_semantics_100;
14522 switch (op[2] & 0x00)
14525 goto op_semantics_100;
14531 switch (op[2] & 0x00)
14536 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14537 #line 419 "rx-decode.opc"
14538 int rdst AU = op[1] & 0x0f;
14539 #line 419 "rx-decode.opc"
14540 int srca AU = (op[2] >> 4) & 0x0f;
14541 #line 419 "rx-decode.opc"
14542 int srcb AU = op[2] & 0x0f;
14545 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14546 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14547 op[0], op[1], op[2]);
14548 printf (" rdst = 0x%x,", rdst);
14549 printf (" srca = 0x%x,", srca);
14550 printf (" srcb = 0x%x\n", srcb);
14552 SYNTAX("and %2, %1, %0");
14553 #line 419 "rx-decode.opc"
14554 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14556 /*----------------------------------------------------------------------*/
14565 switch (op[2] & 0x00)
14568 goto op_semantics_101;
14574 switch (op[2] & 0x00)
14577 goto op_semantics_101;
14583 switch (op[2] & 0x00)
14586 goto op_semantics_101;
14592 switch (op[2] & 0x00)
14595 goto op_semantics_101;
14601 switch (op[2] & 0x00)
14604 goto op_semantics_101;
14610 switch (op[2] & 0x00)
14613 goto op_semantics_101;
14619 switch (op[2] & 0x00)
14622 goto op_semantics_101;
14628 switch (op[2] & 0x00)
14631 goto op_semantics_101;
14637 switch (op[2] & 0x00)
14640 goto op_semantics_101;
14646 switch (op[2] & 0x00)
14649 goto op_semantics_101;
14655 switch (op[2] & 0x00)
14658 goto op_semantics_101;
14664 switch (op[2] & 0x00)
14667 goto op_semantics_101;
14673 switch (op[2] & 0x00)
14676 goto op_semantics_101;
14682 switch (op[2] & 0x00)
14685 goto op_semantics_101;
14691 switch (op[2] & 0x00)
14694 goto op_semantics_101;
14700 switch (op[2] & 0x00)
14705 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14706 #line 437 "rx-decode.opc"
14707 int rdst AU = op[1] & 0x0f;
14708 #line 437 "rx-decode.opc"
14709 int srca AU = (op[2] >> 4) & 0x0f;
14710 #line 437 "rx-decode.opc"
14711 int srcb AU = op[2] & 0x0f;
14714 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14715 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14716 op[0], op[1], op[2]);
14717 printf (" rdst = 0x%x,", rdst);
14718 printf (" srca = 0x%x,", srca);
14719 printf (" srcb = 0x%x\n", srcb);
14721 SYNTAX("or %2, %1, %0");
14722 #line 437 "rx-decode.opc"
14723 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14725 /*----------------------------------------------------------------------*/
14734 switch (op[2] & 0x00)
14737 goto op_semantics_102;
14743 switch (op[2] & 0x00)
14746 goto op_semantics_102;
14752 switch (op[2] & 0x00)
14755 goto op_semantics_102;
14761 switch (op[2] & 0x00)
14764 goto op_semantics_102;
14770 switch (op[2] & 0x00)
14773 goto op_semantics_102;
14779 switch (op[2] & 0x00)
14782 goto op_semantics_102;
14788 switch (op[2] & 0x00)
14791 goto op_semantics_102;
14797 switch (op[2] & 0x00)
14800 goto op_semantics_102;
14806 switch (op[2] & 0x00)
14809 goto op_semantics_102;
14815 switch (op[2] & 0x00)
14818 goto op_semantics_102;
14824 switch (op[2] & 0x00)
14827 goto op_semantics_102;
14833 switch (op[2] & 0x00)
14836 goto op_semantics_102;
14842 switch (op[2] & 0x00)
14845 goto op_semantics_102;
14851 switch (op[2] & 0x00)
14854 goto op_semantics_102;
14860 switch (op[2] & 0x00)
14863 goto op_semantics_102;
14867 default: UNSUPPORTED(); break;
14870 default: UNSUPPORTED(); break;
14872 #line 1002 "rx-decode.opc"
14874 return rx->n_bytes;