1 #line 1 "rx-decode.opc"
3 /* Copyright (C) 2012-2015 Free Software Foundation, Inc.
4 Contributed by Red Hat.
7 This file is part of the GNU opcodes library.
9 This library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 MA 02110-1301, USA. */
29 #include "opcode/rx.h"
31 #define RX_OPCODE_BIG_ENDIAN 0
35 RX_Opcode_Decoded * rx;
36 int (* getbyte)(void *);
47 /* These are for when the upper bits are "don't care" or "undefined". */
53 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
61 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
68 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
69 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
80 #define ID(x) rx->id = RXO_##x
81 #define OP(n,t,r,a) (rx->op[n].type = t, \
83 rx->op[n].addend = a )
84 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
87 /* This is for the BWL and BW bitfields. */
88 static int SCALE[] = { 1, 2, 4, 0 };
89 /* This is for the prefix size enum. */
90 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
92 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
93 16, 17, 0, 0, 0, 0, 0, 0 };
95 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
98 *C a constant (immediate) c
100 *I Register indirect, no offset
101 *Is Register indirect, with offset
102 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
103 *P standard displacement: type (r,[r]), reg, assumes UByte
104 *Pm memex displacement: type (r,[r]), reg, memex code
105 *cc condition code. */
107 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
108 #define DR(r) OP (0, RX_Operand_Register, r, 0)
109 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
110 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
111 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
112 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
114 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
115 #define SR(r) OP (1, RX_Operand_Register, r, 0)
116 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
117 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
118 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
119 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
120 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
121 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
122 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
124 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
125 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
126 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
127 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
128 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
129 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
130 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
131 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
133 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
134 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
135 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
136 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
138 #define F(f) store_flags(rx, f)
140 #define AU ATTRIBUTE_UNUSED
141 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
143 #define SYNTAX(x) rx->syntax = x
145 #define UNSUPPORTED() \
146 rx->syntax = "*unknown*"
148 #define IMM(sf) immediate (sf, 0, ld)
149 #define IMMex(sf) immediate (sf, 1, ld)
152 immediate (int sfield, int ex, LocalData * ld)
154 unsigned long i = 0, j;
158 #define B ((unsigned long) GETBYTE())
160 #if RX_OPCODE_BIG_ENDIAN
162 if (ex && (i & 0x80))
173 if (ex && (j & 0x80))
179 #if RX_OPCODE_BIG_ENDIAN
188 if (ex && (i & 0x800000))
192 #if RX_OPCODE_BIG_ENDIAN
199 if (ex && (i & 0x8000))
204 if (ex && (i & 0x80))
214 rx_disp (int n, int type, int reg, int size, LocalData * ld)
218 ld->rx->op[n].reg = reg;
222 ld->rx->op[n].type = RX_Operand_Register;
225 ld->rx->op[n].type = RX_Operand_Zero_Indirect;
226 ld->rx->op[n].addend = 0;
229 ld->rx->op[n].type = RX_Operand_Indirect;
231 ld->rx->op[n].addend = disp * PSCALE[size];
234 ld->rx->op[n].type = RX_Operand_Indirect;
236 #if RX_OPCODE_BIG_ENDIAN
237 disp = disp * 256 + GETBYTE ();
239 disp = disp + GETBYTE () * 256;
241 ld->rx->op[n].addend = disp * PSCALE[size];
254 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
255 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
256 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
257 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
258 #define F_O___ rx->flags_0 = rx->flags_s = xO;
259 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
260 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
261 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
264 rx_decode_opcode (unsigned long pc AU,
265 RX_Opcode_Decoded * rx,
266 int (* getbyte)(void *),
269 LocalData lds, * ld = &lds;
270 unsigned char op[20] = {0};
273 lds.getbyte = getbyte;
277 memset (rx, 0, sizeof (*rx));
281 /*----------------------------------------------------------------------*/
285 switch (op[0] & 0xff)
292 printf ("\033[33m%s\033[0m %02x\n",
293 "/** 0000 0000 brk */",
297 #line 987 "rx-decode.opc"
307 printf ("\033[33m%s\033[0m %02x\n",
308 "/** 0000 0001 dbt */",
312 #line 990 "rx-decode.opc"
322 printf ("\033[33m%s\033[0m %02x\n",
323 "/** 0000 0010 rts */",
327 #line 768 "rx-decode.opc"
330 /*----------------------------------------------------------------------*/
340 printf ("\033[33m%s\033[0m %02x\n",
341 "/** 0000 0011 nop */",
345 #line 774 "rx-decode.opc"
348 /*----------------------------------------------------------------------*/
349 /* STRING FUNCTIONS */
355 /** 0000 0100 bra.a %a0 */
358 printf ("\033[33m%s\033[0m %02x\n",
359 "/** 0000 0100 bra.a %a0 */",
363 #line 746 "rx-decode.opc"
364 ID(branch); DC(pc + IMMex(3));
370 /** 0000 0101 bsr.a %a0 */
373 printf ("\033[33m%s\033[0m %02x\n",
374 "/** 0000 0101 bsr.a %a0 */",
378 #line 762 "rx-decode.opc"
379 ID(jsr); DC(pc + IMMex(3));
385 switch (op[1] & 0xff)
389 switch (op[2] & 0x00)
394 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
395 #line 542 "rx-decode.opc"
396 int mx AU = (op[1] >> 6) & 0x03;
397 #line 542 "rx-decode.opc"
398 int ss AU = op[1] & 0x03;
399 #line 542 "rx-decode.opc"
400 int rsrc AU = (op[2] >> 4) & 0x0f;
401 #line 542 "rx-decode.opc"
402 int rdst AU = op[2] & 0x0f;
405 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
406 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
407 op[0], op[1], op[2]);
408 printf (" mx = 0x%x,", mx);
409 printf (" ss = 0x%x,", ss);
410 printf (" rsrc = 0x%x,", rsrc);
411 printf (" rdst = 0x%x\n", rdst);
413 SYNTAX("sub %2%S2, %1");
414 #line 542 "rx-decode.opc"
415 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
423 switch (op[2] & 0x00)
432 switch (op[2] & 0x00)
441 switch (op[2] & 0x00)
450 switch (op[2] & 0x00)
455 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
456 #line 530 "rx-decode.opc"
457 int mx AU = (op[1] >> 6) & 0x03;
458 #line 530 "rx-decode.opc"
459 int ss AU = op[1] & 0x03;
460 #line 530 "rx-decode.opc"
461 int rsrc AU = (op[2] >> 4) & 0x0f;
462 #line 530 "rx-decode.opc"
463 int rdst AU = op[2] & 0x0f;
466 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
467 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
468 op[0], op[1], op[2]);
469 printf (" mx = 0x%x,", mx);
470 printf (" ss = 0x%x,", ss);
471 printf (" rsrc = 0x%x,", rsrc);
472 printf (" rdst = 0x%x\n", rdst);
474 SYNTAX("cmp %2%S2, %1");
475 #line 530 "rx-decode.opc"
476 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
478 /*----------------------------------------------------------------------*/
487 switch (op[2] & 0x00)
496 switch (op[2] & 0x00)
505 switch (op[2] & 0x00)
514 switch (op[2] & 0x00)
519 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
520 #line 506 "rx-decode.opc"
521 int mx AU = (op[1] >> 6) & 0x03;
522 #line 506 "rx-decode.opc"
523 int ss AU = op[1] & 0x03;
524 #line 506 "rx-decode.opc"
525 int rsrc AU = (op[2] >> 4) & 0x0f;
526 #line 506 "rx-decode.opc"
527 int rdst AU = op[2] & 0x0f;
530 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
531 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
532 op[0], op[1], op[2]);
533 printf (" mx = 0x%x,", mx);
534 printf (" ss = 0x%x,", ss);
535 printf (" rsrc = 0x%x,", rsrc);
536 printf (" rdst = 0x%x\n", rdst);
538 SYNTAX("add %1%S1, %0");
539 #line 506 "rx-decode.opc"
540 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
548 switch (op[2] & 0x00)
557 switch (op[2] & 0x00)
566 switch (op[2] & 0x00)
575 switch (op[2] & 0x00)
580 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
581 #line 611 "rx-decode.opc"
582 int mx AU = (op[1] >> 6) & 0x03;
583 #line 611 "rx-decode.opc"
584 int ss AU = op[1] & 0x03;
585 #line 611 "rx-decode.opc"
586 int rsrc AU = (op[2] >> 4) & 0x0f;
587 #line 611 "rx-decode.opc"
588 int rdst AU = op[2] & 0x0f;
591 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
592 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
593 op[0], op[1], op[2]);
594 printf (" mx = 0x%x,", mx);
595 printf (" ss = 0x%x,", ss);
596 printf (" rsrc = 0x%x,", rsrc);
597 printf (" rdst = 0x%x\n", rdst);
599 SYNTAX("mul %1%S1, %0");
600 #line 611 "rx-decode.opc"
601 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
609 switch (op[2] & 0x00)
618 switch (op[2] & 0x00)
627 switch (op[2] & 0x00)
636 switch (op[2] & 0x00)
641 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
642 #line 419 "rx-decode.opc"
643 int mx AU = (op[1] >> 6) & 0x03;
644 #line 419 "rx-decode.opc"
645 int ss AU = op[1] & 0x03;
646 #line 419 "rx-decode.opc"
647 int rsrc AU = (op[2] >> 4) & 0x0f;
648 #line 419 "rx-decode.opc"
649 int rdst AU = op[2] & 0x0f;
652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
653 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
654 op[0], op[1], op[2]);
655 printf (" mx = 0x%x,", mx);
656 printf (" ss = 0x%x,", ss);
657 printf (" rsrc = 0x%x,", rsrc);
658 printf (" rdst = 0x%x\n", rdst);
660 SYNTAX("and %1%S1, %0");
661 #line 419 "rx-decode.opc"
662 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
670 switch (op[2] & 0x00)
679 switch (op[2] & 0x00)
688 switch (op[2] & 0x00)
697 switch (op[2] & 0x00)
702 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
703 #line 437 "rx-decode.opc"
704 int mx AU = (op[1] >> 6) & 0x03;
705 #line 437 "rx-decode.opc"
706 int ss AU = op[1] & 0x03;
707 #line 437 "rx-decode.opc"
708 int rsrc AU = (op[2] >> 4) & 0x0f;
709 #line 437 "rx-decode.opc"
710 int rdst AU = op[2] & 0x0f;
713 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
714 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
715 op[0], op[1], op[2]);
716 printf (" mx = 0x%x,", mx);
717 printf (" ss = 0x%x,", ss);
718 printf (" rsrc = 0x%x,", rsrc);
719 printf (" rdst = 0x%x\n", rdst);
721 SYNTAX("or %1%S1, %0");
722 #line 437 "rx-decode.opc"
723 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
731 switch (op[2] & 0x00)
740 switch (op[2] & 0x00)
749 switch (op[2] & 0x00)
758 switch (op[2] & 0xff)
762 switch (op[3] & 0x00)
767 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
768 #line 555 "rx-decode.opc"
769 int mx AU = (op[1] >> 6) & 0x03;
770 #line 555 "rx-decode.opc"
771 int sp AU = op[1] & 0x03;
772 #line 555 "rx-decode.opc"
773 int rsrc AU = (op[3] >> 4) & 0x0f;
774 #line 555 "rx-decode.opc"
775 int rdst AU = op[3] & 0x0f;
778 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
779 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
780 op[0], op[1], op[2], op[3]);
781 printf (" mx = 0x%x,", mx);
782 printf (" sp = 0x%x,", sp);
783 printf (" rsrc = 0x%x,", rsrc);
784 printf (" rdst = 0x%x\n", rdst);
786 SYNTAX("sbb %1%S1, %0");
787 #line 555 "rx-decode.opc"
788 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
790 /*----------------------------------------------------------------------*/
799 switch (op[3] & 0x00)
804 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
805 #line 584 "rx-decode.opc"
806 int mx AU = (op[1] >> 6) & 0x03;
807 #line 584 "rx-decode.opc"
808 int ss AU = op[1] & 0x03;
809 #line 584 "rx-decode.opc"
810 int rsrc AU = (op[3] >> 4) & 0x0f;
811 #line 584 "rx-decode.opc"
812 int rdst AU = op[3] & 0x0f;
815 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
816 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
817 op[0], op[1], op[2], op[3]);
818 printf (" mx = 0x%x,", mx);
819 printf (" ss = 0x%x,", ss);
820 printf (" rsrc = 0x%x,", rsrc);
821 printf (" rdst = 0x%x\n", rdst);
823 SYNTAX("max %1%S1, %0");
824 #line 584 "rx-decode.opc"
825 ID(max); SPm(ss, rsrc, mx); DR(rdst);
827 /*----------------------------------------------------------------------*/
836 switch (op[3] & 0x00)
841 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
842 #line 596 "rx-decode.opc"
843 int mx AU = (op[1] >> 6) & 0x03;
844 #line 596 "rx-decode.opc"
845 int ss AU = op[1] & 0x03;
846 #line 596 "rx-decode.opc"
847 int rsrc AU = (op[3] >> 4) & 0x0f;
848 #line 596 "rx-decode.opc"
849 int rdst AU = op[3] & 0x0f;
852 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
853 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
854 op[0], op[1], op[2], op[3]);
855 printf (" mx = 0x%x,", mx);
856 printf (" ss = 0x%x,", ss);
857 printf (" rsrc = 0x%x,", rsrc);
858 printf (" rdst = 0x%x\n", rdst);
860 SYNTAX("min %1%S1, %0");
861 #line 596 "rx-decode.opc"
862 ID(min); SPm(ss, rsrc, mx); DR(rdst);
864 /*----------------------------------------------------------------------*/
873 switch (op[3] & 0x00)
878 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
879 #line 626 "rx-decode.opc"
880 int mx AU = (op[1] >> 6) & 0x03;
881 #line 626 "rx-decode.opc"
882 int ss AU = op[1] & 0x03;
883 #line 626 "rx-decode.opc"
884 int rsrc AU = (op[3] >> 4) & 0x0f;
885 #line 626 "rx-decode.opc"
886 int rdst AU = op[3] & 0x0f;
889 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
890 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
891 op[0], op[1], op[2], op[3]);
892 printf (" mx = 0x%x,", mx);
893 printf (" ss = 0x%x,", ss);
894 printf (" rsrc = 0x%x,", rsrc);
895 printf (" rdst = 0x%x\n", rdst);
897 SYNTAX("emul %1%S1, %0");
898 #line 626 "rx-decode.opc"
899 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
901 /*----------------------------------------------------------------------*/
910 switch (op[3] & 0x00)
915 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
916 #line 638 "rx-decode.opc"
917 int mx AU = (op[1] >> 6) & 0x03;
918 #line 638 "rx-decode.opc"
919 int ss AU = op[1] & 0x03;
920 #line 638 "rx-decode.opc"
921 int rsrc AU = (op[3] >> 4) & 0x0f;
922 #line 638 "rx-decode.opc"
923 int rdst AU = op[3] & 0x0f;
926 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
927 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
928 op[0], op[1], op[2], op[3]);
929 printf (" mx = 0x%x,", mx);
930 printf (" ss = 0x%x,", ss);
931 printf (" rsrc = 0x%x,", rsrc);
932 printf (" rdst = 0x%x\n", rdst);
934 SYNTAX("emulu %1%S1, %0");
935 #line 638 "rx-decode.opc"
936 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
938 /*----------------------------------------------------------------------*/
947 switch (op[3] & 0x00)
952 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
953 #line 650 "rx-decode.opc"
954 int mx AU = (op[1] >> 6) & 0x03;
955 #line 650 "rx-decode.opc"
956 int ss AU = op[1] & 0x03;
957 #line 650 "rx-decode.opc"
958 int rsrc AU = (op[3] >> 4) & 0x0f;
959 #line 650 "rx-decode.opc"
960 int rdst AU = op[3] & 0x0f;
963 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
964 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
965 op[0], op[1], op[2], op[3]);
966 printf (" mx = 0x%x,", mx);
967 printf (" ss = 0x%x,", ss);
968 printf (" rsrc = 0x%x,", rsrc);
969 printf (" rdst = 0x%x\n", rdst);
971 SYNTAX("div %1%S1, %0");
972 #line 650 "rx-decode.opc"
973 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
975 /*----------------------------------------------------------------------*/
984 switch (op[3] & 0x00)
989 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
990 #line 662 "rx-decode.opc"
991 int mx AU = (op[1] >> 6) & 0x03;
992 #line 662 "rx-decode.opc"
993 int ss AU = op[1] & 0x03;
994 #line 662 "rx-decode.opc"
995 int rsrc AU = (op[3] >> 4) & 0x0f;
996 #line 662 "rx-decode.opc"
997 int rdst AU = op[3] & 0x0f;
1000 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1001 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1002 op[0], op[1], op[2], op[3]);
1003 printf (" mx = 0x%x,", mx);
1004 printf (" ss = 0x%x,", ss);
1005 printf (" rsrc = 0x%x,", rsrc);
1006 printf (" rdst = 0x%x\n", rdst);
1008 SYNTAX("divu %1%S1, %0");
1009 #line 662 "rx-decode.opc"
1010 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1012 /*----------------------------------------------------------------------*/
1021 switch (op[3] & 0x00)
1026 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1027 #line 473 "rx-decode.opc"
1028 int mx AU = (op[1] >> 6) & 0x03;
1029 #line 473 "rx-decode.opc"
1030 int ss AU = op[1] & 0x03;
1031 #line 473 "rx-decode.opc"
1032 int rsrc AU = (op[3] >> 4) & 0x0f;
1033 #line 473 "rx-decode.opc"
1034 int rdst AU = op[3] & 0x0f;
1037 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1038 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1039 op[0], op[1], op[2], op[3]);
1040 printf (" mx = 0x%x,", mx);
1041 printf (" ss = 0x%x,", ss);
1042 printf (" rsrc = 0x%x,", rsrc);
1043 printf (" rdst = 0x%x\n", rdst);
1045 SYNTAX("tst %1%S1, %2");
1046 #line 473 "rx-decode.opc"
1047 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1049 /*----------------------------------------------------------------------*/
1058 switch (op[3] & 0x00)
1063 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1064 #line 452 "rx-decode.opc"
1065 int mx AU = (op[1] >> 6) & 0x03;
1066 #line 452 "rx-decode.opc"
1067 int ss AU = op[1] & 0x03;
1068 #line 452 "rx-decode.opc"
1069 int rsrc AU = (op[3] >> 4) & 0x0f;
1070 #line 452 "rx-decode.opc"
1071 int rdst AU = op[3] & 0x0f;
1074 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1075 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1076 op[0], op[1], op[2], op[3]);
1077 printf (" mx = 0x%x,", mx);
1078 printf (" ss = 0x%x,", ss);
1079 printf (" rsrc = 0x%x,", rsrc);
1080 printf (" rdst = 0x%x\n", rdst);
1082 SYNTAX("xor %1%S1, %0");
1083 #line 452 "rx-decode.opc"
1084 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1086 /*----------------------------------------------------------------------*/
1095 switch (op[3] & 0x00)
1100 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1101 #line 386 "rx-decode.opc"
1102 int mx AU = (op[1] >> 6) & 0x03;
1103 #line 386 "rx-decode.opc"
1104 int ss AU = op[1] & 0x03;
1105 #line 386 "rx-decode.opc"
1106 int rsrc AU = (op[3] >> 4) & 0x0f;
1107 #line 386 "rx-decode.opc"
1108 int rdst AU = op[3] & 0x0f;
1111 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1112 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1113 op[0], op[1], op[2], op[3]);
1114 printf (" mx = 0x%x,", mx);
1115 printf (" ss = 0x%x,", ss);
1116 printf (" rsrc = 0x%x,", rsrc);
1117 printf (" rdst = 0x%x\n", rdst);
1119 SYNTAX("xchg %1%S1, %0");
1120 #line 386 "rx-decode.opc"
1121 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1123 /*----------------------------------------------------------------------*/
1132 switch (op[3] & 0x00)
1137 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1138 #line 891 "rx-decode.opc"
1139 int mx AU = (op[1] >> 6) & 0x03;
1140 #line 891 "rx-decode.opc"
1141 int sd AU = op[1] & 0x03;
1142 #line 891 "rx-decode.opc"
1143 int rsrc AU = (op[3] >> 4) & 0x0f;
1144 #line 891 "rx-decode.opc"
1145 int rdst AU = op[3] & 0x0f;
1148 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1149 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1150 op[0], op[1], op[2], op[3]);
1151 printf (" mx = 0x%x,", mx);
1152 printf (" sd = 0x%x,", sd);
1153 printf (" rsrc = 0x%x,", rsrc);
1154 printf (" rdst = 0x%x\n", rdst);
1156 SYNTAX("itof %1%S1, %0");
1157 #line 891 "rx-decode.opc"
1158 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1160 /*----------------------------------------------------------------------*/
1167 default: UNSUPPORTED(); break;
1172 switch (op[2] & 0xff)
1176 switch (op[3] & 0x00)
1179 goto op_semantics_7;
1185 switch (op[3] & 0x00)
1188 goto op_semantics_8;
1194 switch (op[3] & 0x00)
1197 goto op_semantics_9;
1203 switch (op[3] & 0x00)
1206 goto op_semantics_10;
1212 switch (op[3] & 0x00)
1215 goto op_semantics_11;
1221 switch (op[3] & 0x00)
1224 goto op_semantics_12;
1230 switch (op[3] & 0x00)
1233 goto op_semantics_13;
1239 switch (op[3] & 0x00)
1242 goto op_semantics_14;
1248 switch (op[3] & 0x00)
1251 goto op_semantics_15;
1257 switch (op[3] & 0x00)
1260 goto op_semantics_16;
1266 switch (op[3] & 0x00)
1269 goto op_semantics_17;
1273 default: UNSUPPORTED(); break;
1278 switch (op[2] & 0xff)
1282 switch (op[3] & 0x00)
1285 goto op_semantics_7;
1291 switch (op[3] & 0x00)
1294 goto op_semantics_8;
1300 switch (op[3] & 0x00)
1303 goto op_semantics_9;
1309 switch (op[3] & 0x00)
1312 goto op_semantics_10;
1318 switch (op[3] & 0x00)
1321 goto op_semantics_11;
1327 switch (op[3] & 0x00)
1330 goto op_semantics_12;
1336 switch (op[3] & 0x00)
1339 goto op_semantics_13;
1345 switch (op[3] & 0x00)
1348 goto op_semantics_14;
1354 switch (op[3] & 0x00)
1357 goto op_semantics_15;
1363 switch (op[3] & 0x00)
1366 goto op_semantics_16;
1372 switch (op[3] & 0x00)
1375 goto op_semantics_17;
1379 default: UNSUPPORTED(); break;
1384 switch (op[2] & 0xff)
1388 switch (op[3] & 0x00)
1391 goto op_semantics_7;
1397 switch (op[3] & 0x00)
1400 goto op_semantics_8;
1406 switch (op[3] & 0x00)
1409 goto op_semantics_9;
1415 switch (op[3] & 0x00)
1418 goto op_semantics_10;
1424 switch (op[3] & 0x00)
1427 goto op_semantics_11;
1433 switch (op[3] & 0x00)
1436 goto op_semantics_12;
1442 switch (op[3] & 0x00)
1445 goto op_semantics_13;
1451 switch (op[3] & 0x00)
1454 goto op_semantics_14;
1460 switch (op[3] & 0x00)
1463 goto op_semantics_15;
1469 switch (op[3] & 0x00)
1472 goto op_semantics_16;
1478 switch (op[3] & 0x00)
1481 goto op_semantics_17;
1485 default: UNSUPPORTED(); break;
1490 switch (op[2] & 0x00)
1493 goto op_semantics_1;
1499 switch (op[2] & 0x00)
1502 goto op_semantics_1;
1508 switch (op[2] & 0x00)
1511 goto op_semantics_1;
1517 switch (op[2] & 0x00)
1520 goto op_semantics_1;
1526 switch (op[2] & 0x00)
1529 goto op_semantics_2;
1535 switch (op[2] & 0x00)
1538 goto op_semantics_2;
1544 switch (op[2] & 0x00)
1547 goto op_semantics_2;
1553 switch (op[2] & 0x00)
1556 goto op_semantics_2;
1562 switch (op[2] & 0x00)
1565 goto op_semantics_3;
1571 switch (op[2] & 0x00)
1574 goto op_semantics_3;
1580 switch (op[2] & 0x00)
1583 goto op_semantics_3;
1589 switch (op[2] & 0x00)
1592 goto op_semantics_3;
1598 switch (op[2] & 0x00)
1601 goto op_semantics_4;
1607 switch (op[2] & 0x00)
1610 goto op_semantics_4;
1616 switch (op[2] & 0x00)
1619 goto op_semantics_4;
1625 switch (op[2] & 0x00)
1628 goto op_semantics_4;
1634 switch (op[2] & 0x00)
1637 goto op_semantics_5;
1643 switch (op[2] & 0x00)
1646 goto op_semantics_5;
1652 switch (op[2] & 0x00)
1655 goto op_semantics_5;
1661 switch (op[2] & 0x00)
1664 goto op_semantics_5;
1670 switch (op[2] & 0x00)
1673 goto op_semantics_6;
1679 switch (op[2] & 0x00)
1682 goto op_semantics_6;
1688 switch (op[2] & 0x00)
1691 goto op_semantics_6;
1697 switch (op[2] & 0x00)
1700 goto op_semantics_6;
1706 switch (op[2] & 0xff)
1710 switch (op[3] & 0x00)
1713 goto op_semantics_7;
1719 switch (op[3] & 0x00)
1722 goto op_semantics_8;
1728 switch (op[3] & 0x00)
1731 goto op_semantics_9;
1737 switch (op[3] & 0x00)
1740 goto op_semantics_10;
1746 switch (op[3] & 0x00)
1749 goto op_semantics_11;
1755 switch (op[3] & 0x00)
1758 goto op_semantics_12;
1764 switch (op[3] & 0x00)
1767 goto op_semantics_13;
1773 switch (op[3] & 0x00)
1776 goto op_semantics_14;
1782 switch (op[3] & 0x00)
1785 goto op_semantics_15;
1791 switch (op[3] & 0x00)
1794 goto op_semantics_16;
1800 switch (op[3] & 0x00)
1803 goto op_semantics_17;
1807 default: UNSUPPORTED(); break;
1812 switch (op[2] & 0xff)
1816 switch (op[3] & 0x00)
1819 goto op_semantics_7;
1825 switch (op[3] & 0x00)
1828 goto op_semantics_8;
1834 switch (op[3] & 0x00)
1837 goto op_semantics_9;
1843 switch (op[3] & 0x00)
1846 goto op_semantics_10;
1852 switch (op[3] & 0x00)
1855 goto op_semantics_11;
1861 switch (op[3] & 0x00)
1864 goto op_semantics_12;
1870 switch (op[3] & 0x00)
1873 goto op_semantics_13;
1879 switch (op[3] & 0x00)
1882 goto op_semantics_14;
1888 switch (op[3] & 0x00)
1891 goto op_semantics_15;
1897 switch (op[3] & 0x00)
1900 goto op_semantics_16;
1906 switch (op[3] & 0x00)
1909 goto op_semantics_17;
1913 default: UNSUPPORTED(); break;
1918 switch (op[2] & 0xff)
1922 switch (op[3] & 0x00)
1925 goto op_semantics_7;
1931 switch (op[3] & 0x00)
1934 goto op_semantics_8;
1940 switch (op[3] & 0x00)
1943 goto op_semantics_9;
1949 switch (op[3] & 0x00)
1952 goto op_semantics_10;
1958 switch (op[3] & 0x00)
1961 goto op_semantics_11;
1967 switch (op[3] & 0x00)
1970 goto op_semantics_12;
1976 switch (op[3] & 0x00)
1979 goto op_semantics_13;
1985 switch (op[3] & 0x00)
1988 goto op_semantics_14;
1994 switch (op[3] & 0x00)
1997 goto op_semantics_15;
2003 switch (op[3] & 0x00)
2006 goto op_semantics_16;
2012 switch (op[3] & 0x00)
2015 goto op_semantics_17;
2019 default: UNSUPPORTED(); break;
2024 switch (op[2] & 0xff)
2028 switch (op[3] & 0x00)
2031 goto op_semantics_7;
2037 switch (op[3] & 0x00)
2040 goto op_semantics_8;
2046 switch (op[3] & 0x00)
2049 goto op_semantics_9;
2055 switch (op[3] & 0x00)
2058 goto op_semantics_10;
2064 switch (op[3] & 0x00)
2067 goto op_semantics_11;
2073 switch (op[3] & 0x00)
2076 goto op_semantics_12;
2082 switch (op[3] & 0x00)
2085 goto op_semantics_13;
2091 switch (op[3] & 0x00)
2094 goto op_semantics_14;
2100 switch (op[3] & 0x00)
2103 goto op_semantics_15;
2109 switch (op[3] & 0x00)
2112 goto op_semantics_16;
2118 switch (op[3] & 0x00)
2121 goto op_semantics_17;
2125 default: UNSUPPORTED(); break;
2130 switch (op[2] & 0x00)
2133 goto op_semantics_1;
2139 switch (op[2] & 0x00)
2142 goto op_semantics_1;
2148 switch (op[2] & 0x00)
2151 goto op_semantics_1;
2157 switch (op[2] & 0x00)
2160 goto op_semantics_1;
2166 switch (op[2] & 0x00)
2169 goto op_semantics_2;
2175 switch (op[2] & 0x00)
2178 goto op_semantics_2;
2184 switch (op[2] & 0x00)
2187 goto op_semantics_2;
2193 switch (op[2] & 0x00)
2196 goto op_semantics_2;
2202 switch (op[2] & 0x00)
2205 goto op_semantics_3;
2211 switch (op[2] & 0x00)
2214 goto op_semantics_3;
2220 switch (op[2] & 0x00)
2223 goto op_semantics_3;
2229 switch (op[2] & 0x00)
2232 goto op_semantics_3;
2238 switch (op[2] & 0x00)
2241 goto op_semantics_4;
2247 switch (op[2] & 0x00)
2250 goto op_semantics_4;
2256 switch (op[2] & 0x00)
2259 goto op_semantics_4;
2265 switch (op[2] & 0x00)
2268 goto op_semantics_4;
2274 switch (op[2] & 0x00)
2277 goto op_semantics_5;
2283 switch (op[2] & 0x00)
2286 goto op_semantics_5;
2292 switch (op[2] & 0x00)
2295 goto op_semantics_5;
2301 switch (op[2] & 0x00)
2304 goto op_semantics_5;
2310 switch (op[2] & 0x00)
2313 goto op_semantics_6;
2319 switch (op[2] & 0x00)
2322 goto op_semantics_6;
2328 switch (op[2] & 0x00)
2331 goto op_semantics_6;
2337 switch (op[2] & 0x00)
2340 goto op_semantics_6;
2346 switch (op[2] & 0xff)
2350 switch (op[3] & 0x00)
2353 goto op_semantics_7;
2359 switch (op[3] & 0x00)
2364 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2365 #line 494 "rx-decode.opc"
2366 int ss AU = op[1] & 0x03;
2367 #line 494 "rx-decode.opc"
2368 int rsrc AU = (op[3] >> 4) & 0x0f;
2369 #line 494 "rx-decode.opc"
2370 int rdst AU = op[3] & 0x0f;
2373 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2374 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2375 op[0], op[1], op[2], op[3]);
2376 printf (" ss = 0x%x,", ss);
2377 printf (" rsrc = 0x%x,", rsrc);
2378 printf (" rdst = 0x%x\n", rdst);
2380 SYNTAX("adc %1%S1, %0");
2381 #line 494 "rx-decode.opc"
2382 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2384 /*----------------------------------------------------------------------*/
2393 switch (op[3] & 0x00)
2396 goto op_semantics_8;
2402 switch (op[3] & 0x00)
2405 goto op_semantics_9;
2411 switch (op[3] & 0x00)
2414 goto op_semantics_10;
2420 switch (op[3] & 0x00)
2423 goto op_semantics_11;
2429 switch (op[3] & 0x00)
2432 goto op_semantics_12;
2438 switch (op[3] & 0x00)
2441 goto op_semantics_13;
2447 switch (op[3] & 0x00)
2450 goto op_semantics_14;
2456 switch (op[3] & 0x00)
2459 goto op_semantics_15;
2465 switch (op[3] & 0x00)
2468 goto op_semantics_16;
2474 switch (op[3] & 0x00)
2477 goto op_semantics_17;
2481 default: UNSUPPORTED(); break;
2486 switch (op[2] & 0xff)
2490 switch (op[3] & 0x00)
2493 goto op_semantics_7;
2499 switch (op[3] & 0x00)
2502 goto op_semantics_18;
2508 switch (op[3] & 0x00)
2511 goto op_semantics_8;
2517 switch (op[3] & 0x00)
2520 goto op_semantics_9;
2526 switch (op[3] & 0x00)
2529 goto op_semantics_10;
2535 switch (op[3] & 0x00)
2538 goto op_semantics_11;
2544 switch (op[3] & 0x00)
2547 goto op_semantics_12;
2553 switch (op[3] & 0x00)
2556 goto op_semantics_13;
2562 switch (op[3] & 0x00)
2565 goto op_semantics_14;
2571 switch (op[3] & 0x00)
2574 goto op_semantics_15;
2580 switch (op[3] & 0x00)
2583 goto op_semantics_16;
2589 switch (op[3] & 0x00)
2592 goto op_semantics_17;
2596 default: UNSUPPORTED(); break;
2601 switch (op[2] & 0xff)
2605 switch (op[3] & 0x00)
2608 goto op_semantics_7;
2614 switch (op[3] & 0x00)
2617 goto op_semantics_18;
2623 switch (op[3] & 0x00)
2626 goto op_semantics_8;
2632 switch (op[3] & 0x00)
2635 goto op_semantics_9;
2641 switch (op[3] & 0x00)
2644 goto op_semantics_10;
2650 switch (op[3] & 0x00)
2653 goto op_semantics_11;
2659 switch (op[3] & 0x00)
2662 goto op_semantics_12;
2668 switch (op[3] & 0x00)
2671 goto op_semantics_13;
2677 switch (op[3] & 0x00)
2680 goto op_semantics_14;
2686 switch (op[3] & 0x00)
2689 goto op_semantics_15;
2695 switch (op[3] & 0x00)
2698 goto op_semantics_16;
2704 switch (op[3] & 0x00)
2707 goto op_semantics_17;
2711 default: UNSUPPORTED(); break;
2716 switch (op[2] & 0xff)
2720 switch (op[3] & 0x00)
2723 goto op_semantics_7;
2729 switch (op[3] & 0x00)
2732 goto op_semantics_18;
2738 switch (op[3] & 0x00)
2741 goto op_semantics_8;
2747 switch (op[3] & 0x00)
2750 goto op_semantics_9;
2756 switch (op[3] & 0x00)
2759 goto op_semantics_10;
2765 switch (op[3] & 0x00)
2768 goto op_semantics_11;
2774 switch (op[3] & 0x00)
2777 goto op_semantics_12;
2783 switch (op[3] & 0x00)
2786 goto op_semantics_13;
2792 switch (op[3] & 0x00)
2795 goto op_semantics_14;
2801 switch (op[3] & 0x00)
2804 goto op_semantics_15;
2810 switch (op[3] & 0x00)
2813 goto op_semantics_16;
2819 switch (op[3] & 0x00)
2822 goto op_semantics_17;
2826 default: UNSUPPORTED(); break;
2831 switch (op[2] & 0x00)
2834 goto op_semantics_1;
2840 switch (op[2] & 0x00)
2843 goto op_semantics_1;
2849 switch (op[2] & 0x00)
2852 goto op_semantics_1;
2858 switch (op[2] & 0x00)
2861 goto op_semantics_1;
2867 switch (op[2] & 0x00)
2870 goto op_semantics_2;
2876 switch (op[2] & 0x00)
2879 goto op_semantics_2;
2885 switch (op[2] & 0x00)
2888 goto op_semantics_2;
2894 switch (op[2] & 0x00)
2897 goto op_semantics_2;
2903 switch (op[2] & 0x00)
2906 goto op_semantics_3;
2912 switch (op[2] & 0x00)
2915 goto op_semantics_3;
2921 switch (op[2] & 0x00)
2924 goto op_semantics_3;
2930 switch (op[2] & 0x00)
2933 goto op_semantics_3;
2939 switch (op[2] & 0x00)
2942 goto op_semantics_4;
2948 switch (op[2] & 0x00)
2951 goto op_semantics_4;
2957 switch (op[2] & 0x00)
2960 goto op_semantics_4;
2966 switch (op[2] & 0x00)
2969 goto op_semantics_4;
2975 switch (op[2] & 0x00)
2978 goto op_semantics_5;
2984 switch (op[2] & 0x00)
2987 goto op_semantics_5;
2993 switch (op[2] & 0x00)
2996 goto op_semantics_5;
3002 switch (op[2] & 0x00)
3005 goto op_semantics_5;
3011 switch (op[2] & 0x00)
3014 goto op_semantics_6;
3020 switch (op[2] & 0x00)
3023 goto op_semantics_6;
3029 switch (op[2] & 0x00)
3032 goto op_semantics_6;
3038 switch (op[2] & 0x00)
3041 goto op_semantics_6;
3047 switch (op[2] & 0xff)
3051 switch (op[3] & 0x00)
3054 goto op_semantics_7;
3060 switch (op[3] & 0x00)
3063 goto op_semantics_8;
3069 switch (op[3] & 0x00)
3072 goto op_semantics_9;
3078 switch (op[3] & 0x00)
3081 goto op_semantics_10;
3087 switch (op[3] & 0x00)
3090 goto op_semantics_11;
3096 switch (op[3] & 0x00)
3099 goto op_semantics_12;
3105 switch (op[3] & 0x00)
3108 goto op_semantics_13;
3114 switch (op[3] & 0x00)
3117 goto op_semantics_14;
3123 switch (op[3] & 0x00)
3126 goto op_semantics_15;
3132 switch (op[3] & 0x00)
3135 goto op_semantics_16;
3141 switch (op[3] & 0x00)
3144 goto op_semantics_17;
3148 default: UNSUPPORTED(); break;
3153 switch (op[2] & 0xff)
3157 switch (op[3] & 0x00)
3160 goto op_semantics_7;
3166 switch (op[3] & 0x00)
3169 goto op_semantics_8;
3175 switch (op[3] & 0x00)
3178 goto op_semantics_9;
3184 switch (op[3] & 0x00)
3187 goto op_semantics_10;
3193 switch (op[3] & 0x00)
3196 goto op_semantics_11;
3202 switch (op[3] & 0x00)
3205 goto op_semantics_12;
3211 switch (op[3] & 0x00)
3214 goto op_semantics_13;
3220 switch (op[3] & 0x00)
3223 goto op_semantics_14;
3229 switch (op[3] & 0x00)
3232 goto op_semantics_15;
3238 switch (op[3] & 0x00)
3241 goto op_semantics_16;
3247 switch (op[3] & 0x00)
3250 goto op_semantics_17;
3254 default: UNSUPPORTED(); break;
3259 switch (op[2] & 0xff)
3263 switch (op[3] & 0x00)
3266 goto op_semantics_7;
3272 switch (op[3] & 0x00)
3275 goto op_semantics_8;
3281 switch (op[3] & 0x00)
3284 goto op_semantics_9;
3290 switch (op[3] & 0x00)
3293 goto op_semantics_10;
3299 switch (op[3] & 0x00)
3302 goto op_semantics_11;
3308 switch (op[3] & 0x00)
3311 goto op_semantics_12;
3317 switch (op[3] & 0x00)
3320 goto op_semantics_13;
3326 switch (op[3] & 0x00)
3329 goto op_semantics_14;
3335 switch (op[3] & 0x00)
3338 goto op_semantics_15;
3344 switch (op[3] & 0x00)
3347 goto op_semantics_16;
3353 switch (op[3] & 0x00)
3356 goto op_semantics_17;
3360 default: UNSUPPORTED(); break;
3365 switch (op[2] & 0xff)
3369 switch (op[3] & 0x00)
3372 goto op_semantics_7;
3378 switch (op[3] & 0x00)
3381 goto op_semantics_8;
3387 switch (op[3] & 0x00)
3390 goto op_semantics_9;
3396 switch (op[3] & 0x00)
3399 goto op_semantics_10;
3405 switch (op[3] & 0x00)
3408 goto op_semantics_11;
3414 switch (op[3] & 0x00)
3417 goto op_semantics_12;
3423 switch (op[3] & 0x00)
3426 goto op_semantics_13;
3432 switch (op[3] & 0x00)
3435 goto op_semantics_14;
3441 switch (op[3] & 0x00)
3444 goto op_semantics_15;
3450 switch (op[3] & 0x00)
3453 goto op_semantics_16;
3459 switch (op[3] & 0x00)
3462 goto op_semantics_17;
3466 default: UNSUPPORTED(); break;
3469 default: UNSUPPORTED(); break;
3481 /** 0000 1dsp bra.s %a0 */
3482 #line 737 "rx-decode.opc"
3483 int dsp AU = op[0] & 0x07;
3486 printf ("\033[33m%s\033[0m %02x\n",
3487 "/** 0000 1dsp bra.s %a0 */",
3489 printf (" dsp = 0x%x\n", dsp);
3491 SYNTAX("bra.s %a0");
3492 #line 737 "rx-decode.opc"
3493 ID(branch); DC(pc + dsp3map[dsp]);
3514 /** 0001 n dsp b%1.s %a0 */
3515 #line 727 "rx-decode.opc"
3516 int n AU = (op[0] >> 3) & 0x01;
3517 #line 727 "rx-decode.opc"
3518 int dsp AU = op[0] & 0x07;
3521 printf ("\033[33m%s\033[0m %02x\n",
3522 "/** 0001 n dsp b%1.s %a0 */",
3524 printf (" n = 0x%x,", n);
3525 printf (" dsp = 0x%x\n", dsp);
3527 SYNTAX("b%1.s %a0");
3528 #line 727 "rx-decode.opc"
3529 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3549 /** 0010 cond b%1.b %a0 */
3550 #line 730 "rx-decode.opc"
3551 int cond AU = op[0] & 0x0f;
3554 printf ("\033[33m%s\033[0m %02x\n",
3555 "/** 0010 cond b%1.b %a0 */",
3557 printf (" cond = 0x%x\n", cond);
3559 SYNTAX("b%1.b %a0");
3560 #line 730 "rx-decode.opc"
3561 ID(branch); Scc(cond); DC(pc + IMMex (1));
3567 /** 0010 1110 bra.b %a0 */
3570 printf ("\033[33m%s\033[0m %02x\n",
3571 "/** 0010 1110 bra.b %a0 */",
3574 SYNTAX("bra.b %a0");
3575 #line 740 "rx-decode.opc"
3576 ID(branch); DC(pc + IMMex(1));
3582 /** 0011 1000 bra.w %a0 */
3585 printf ("\033[33m%s\033[0m %02x\n",
3586 "/** 0011 1000 bra.w %a0 */",
3589 SYNTAX("bra.w %a0");
3590 #line 743 "rx-decode.opc"
3591 ID(branch); DC(pc + IMMex(2));
3597 /** 0011 1001 bsr.w %a0 */
3600 printf ("\033[33m%s\033[0m %02x\n",
3601 "/** 0011 1001 bsr.w %a0 */",
3604 SYNTAX("bsr.w %a0");
3605 #line 759 "rx-decode.opc"
3606 ID(jsr); DC(pc + IMMex(2));
3613 /** 0011 101c b%1.w %a0 */
3614 #line 733 "rx-decode.opc"
3615 int c AU = op[0] & 0x01;
3618 printf ("\033[33m%s\033[0m %02x\n",
3619 "/** 0011 101c b%1.w %a0 */",
3621 printf (" c = 0x%x\n", c);
3623 SYNTAX("b%1.w %a0");
3624 #line 733 "rx-decode.opc"
3625 ID(branch); Scc(c); DC(pc + IMMex (2));
3632 switch (op[1] & 0x00)
3637 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3638 #line 307 "rx-decode.opc"
3639 int sz AU = op[0] & 0x03;
3640 #line 307 "rx-decode.opc"
3641 int d AU = (op[1] >> 7) & 0x01;
3642 #line 307 "rx-decode.opc"
3643 int dst AU = (op[1] >> 4) & 0x07;
3644 #line 307 "rx-decode.opc"
3645 int sppp AU = op[1] & 0x0f;
3648 printf ("\033[33m%s\033[0m %02x %02x\n",
3649 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3651 printf (" sz = 0x%x,", sz);
3652 printf (" d = 0x%x,", d);
3653 printf (" dst = 0x%x,", dst);
3654 printf (" sppp = 0x%x\n", sppp);
3656 SYNTAX("mov%s #%1, %0");
3657 #line 307 "rx-decode.opc"
3658 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3666 switch (op[1] & 0x00)
3669 goto op_semantics_19;
3675 switch (op[1] & 0x00)
3678 goto op_semantics_19;
3684 switch (op[1] & 0x00)
3688 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3689 #line 404 "rx-decode.opc"
3690 int rega AU = (op[1] >> 4) & 0x0f;
3691 #line 404 "rx-decode.opc"
3692 int regb AU = op[1] & 0x0f;
3695 printf ("\033[33m%s\033[0m %02x %02x\n",
3696 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3698 printf (" rega = 0x%x,", rega);
3699 printf (" regb = 0x%x\n", regb);
3701 SYNTAX("rtsd #%1, %2-%0");
3702 #line 404 "rx-decode.opc"
3703 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3705 /*----------------------------------------------------------------------*/
3714 switch (op[1] & 0x00)
3719 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3720 #line 539 "rx-decode.opc"
3721 int ss AU = op[0] & 0x03;
3722 #line 539 "rx-decode.opc"
3723 int rsrc AU = (op[1] >> 4) & 0x0f;
3724 #line 539 "rx-decode.opc"
3725 int rdst AU = op[1] & 0x0f;
3728 printf ("\033[33m%s\033[0m %02x %02x\n",
3729 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3731 printf (" ss = 0x%x,", ss);
3732 printf (" rsrc = 0x%x,", rsrc);
3733 printf (" rdst = 0x%x\n", rdst);
3735 SYNTAX("sub %2%S2, %1");
3736 #line 539 "rx-decode.opc"
3737 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3745 switch (op[1] & 0x00)
3748 goto op_semantics_20;
3754 switch (op[1] & 0x00)
3757 goto op_semantics_20;
3763 switch (op[1] & 0x00)
3766 goto op_semantics_20;
3772 switch (op[1] & 0x00)
3777 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3778 #line 527 "rx-decode.opc"
3779 int ss AU = op[0] & 0x03;
3780 #line 527 "rx-decode.opc"
3781 int rsrc AU = (op[1] >> 4) & 0x0f;
3782 #line 527 "rx-decode.opc"
3783 int rdst AU = op[1] & 0x0f;
3786 printf ("\033[33m%s\033[0m %02x %02x\n",
3787 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3789 printf (" ss = 0x%x,", ss);
3790 printf (" rsrc = 0x%x,", rsrc);
3791 printf (" rdst = 0x%x\n", rdst);
3793 SYNTAX("cmp %2%S2, %1");
3794 #line 527 "rx-decode.opc"
3795 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3803 switch (op[1] & 0x00)
3806 goto op_semantics_21;
3812 switch (op[1] & 0x00)
3815 goto op_semantics_21;
3821 switch (op[1] & 0x00)
3824 goto op_semantics_21;
3830 switch (op[1] & 0x00)
3835 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3836 #line 503 "rx-decode.opc"
3837 int ss AU = op[0] & 0x03;
3838 #line 503 "rx-decode.opc"
3839 int rsrc AU = (op[1] >> 4) & 0x0f;
3840 #line 503 "rx-decode.opc"
3841 int rdst AU = op[1] & 0x0f;
3844 printf ("\033[33m%s\033[0m %02x %02x\n",
3845 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3847 printf (" ss = 0x%x,", ss);
3848 printf (" rsrc = 0x%x,", rsrc);
3849 printf (" rdst = 0x%x\n", rdst);
3851 SYNTAX("add %1%S1, %0");
3852 #line 503 "rx-decode.opc"
3853 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
3861 switch (op[1] & 0x00)
3864 goto op_semantics_22;
3870 switch (op[1] & 0x00)
3873 goto op_semantics_22;
3879 switch (op[1] & 0x00)
3882 goto op_semantics_22;
3888 switch (op[1] & 0x00)
3893 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3894 #line 608 "rx-decode.opc"
3895 int ss AU = op[0] & 0x03;
3896 #line 608 "rx-decode.opc"
3897 int rsrc AU = (op[1] >> 4) & 0x0f;
3898 #line 608 "rx-decode.opc"
3899 int rdst AU = op[1] & 0x0f;
3902 printf ("\033[33m%s\033[0m %02x %02x\n",
3903 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3905 printf (" ss = 0x%x,", ss);
3906 printf (" rsrc = 0x%x,", rsrc);
3907 printf (" rdst = 0x%x\n", rdst);
3909 SYNTAX("mul %1%S1, %0");
3910 #line 608 "rx-decode.opc"
3911 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
3919 switch (op[1] & 0x00)
3922 goto op_semantics_23;
3928 switch (op[1] & 0x00)
3931 goto op_semantics_23;
3937 switch (op[1] & 0x00)
3940 goto op_semantics_23;
3946 switch (op[1] & 0x00)
3951 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3952 #line 416 "rx-decode.opc"
3953 int ss AU = op[0] & 0x03;
3954 #line 416 "rx-decode.opc"
3955 int rsrc AU = (op[1] >> 4) & 0x0f;
3956 #line 416 "rx-decode.opc"
3957 int rdst AU = op[1] & 0x0f;
3960 printf ("\033[33m%s\033[0m %02x %02x\n",
3961 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3963 printf (" ss = 0x%x,", ss);
3964 printf (" rsrc = 0x%x,", rsrc);
3965 printf (" rdst = 0x%x\n", rdst);
3967 SYNTAX("and %1%S1, %0");
3968 #line 416 "rx-decode.opc"
3969 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
3977 switch (op[1] & 0x00)
3980 goto op_semantics_24;
3986 switch (op[1] & 0x00)
3989 goto op_semantics_24;
3995 switch (op[1] & 0x00)
3998 goto op_semantics_24;
4004 switch (op[1] & 0x00)
4009 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4010 #line 434 "rx-decode.opc"
4011 int ss AU = op[0] & 0x03;
4012 #line 434 "rx-decode.opc"
4013 int rsrc AU = (op[1] >> 4) & 0x0f;
4014 #line 434 "rx-decode.opc"
4015 int rdst AU = op[1] & 0x0f;
4018 printf ("\033[33m%s\033[0m %02x %02x\n",
4019 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4021 printf (" ss = 0x%x,", ss);
4022 printf (" rsrc = 0x%x,", rsrc);
4023 printf (" rdst = 0x%x\n", rdst);
4025 SYNTAX("or %1%S1, %0");
4026 #line 434 "rx-decode.opc"
4027 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4035 switch (op[1] & 0x00)
4038 goto op_semantics_25;
4044 switch (op[1] & 0x00)
4047 goto op_semantics_25;
4053 switch (op[1] & 0x00)
4056 goto op_semantics_25;
4062 switch (op[1] & 0x00)
4067 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4068 #line 355 "rx-decode.opc"
4069 int s AU = (op[0] >> 2) & 0x01;
4070 #line 355 "rx-decode.opc"
4071 int ss AU = op[0] & 0x03;
4072 #line 355 "rx-decode.opc"
4073 int rsrc AU = (op[1] >> 4) & 0x0f;
4074 #line 355 "rx-decode.opc"
4075 int rdst AU = op[1] & 0x0f;
4078 printf ("\033[33m%s\033[0m %02x %02x\n",
4079 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4081 printf (" s = 0x%x,", s);
4082 printf (" ss = 0x%x,", ss);
4083 printf (" rsrc = 0x%x,", rsrc);
4084 printf (" rdst = 0x%x\n", rdst);
4086 SYNTAX("movu%s %1, %0");
4087 #line 355 "rx-decode.opc"
4088 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4096 switch (op[1] & 0x00)
4099 goto op_semantics_26;
4105 switch (op[1] & 0x00)
4108 goto op_semantics_26;
4114 switch (op[1] & 0x00)
4117 goto op_semantics_26;
4123 switch (op[1] & 0x00)
4126 goto op_semantics_26;
4132 switch (op[1] & 0x00)
4135 goto op_semantics_26;
4141 switch (op[1] & 0x00)
4144 goto op_semantics_26;
4150 switch (op[1] & 0x00)
4153 goto op_semantics_26;
4159 switch (op[1] & 0x00)
4163 /** 0110 0000 immm rdst sub #%2, %0 */
4164 #line 536 "rx-decode.opc"
4165 int immm AU = (op[1] >> 4) & 0x0f;
4166 #line 536 "rx-decode.opc"
4167 int rdst AU = op[1] & 0x0f;
4170 printf ("\033[33m%s\033[0m %02x %02x\n",
4171 "/** 0110 0000 immm rdst sub #%2, %0 */",
4173 printf (" immm = 0x%x,", immm);
4174 printf (" rdst = 0x%x\n", rdst);
4176 SYNTAX("sub #%2, %0");
4177 #line 536 "rx-decode.opc"
4178 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4186 switch (op[1] & 0x00)
4190 /** 0110 0001 immm rdst cmp #%2, %1 */
4191 #line 518 "rx-decode.opc"
4192 int immm AU = (op[1] >> 4) & 0x0f;
4193 #line 518 "rx-decode.opc"
4194 int rdst AU = op[1] & 0x0f;
4197 printf ("\033[33m%s\033[0m %02x %02x\n",
4198 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4200 printf (" immm = 0x%x,", immm);
4201 printf (" rdst = 0x%x\n", rdst);
4203 SYNTAX("cmp #%2, %1");
4204 #line 518 "rx-decode.opc"
4205 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4213 switch (op[1] & 0x00)
4217 /** 0110 0010 immm rdst add #%1, %0 */
4218 #line 500 "rx-decode.opc"
4219 int immm AU = (op[1] >> 4) & 0x0f;
4220 #line 500 "rx-decode.opc"
4221 int rdst AU = op[1] & 0x0f;
4224 printf ("\033[33m%s\033[0m %02x %02x\n",
4225 "/** 0110 0010 immm rdst add #%1, %0 */",
4227 printf (" immm = 0x%x,", immm);
4228 printf (" rdst = 0x%x\n", rdst);
4230 SYNTAX("add #%1, %0");
4231 #line 500 "rx-decode.opc"
4232 ID(add); SC(immm); DR(rdst); F_OSZC;
4240 switch (op[1] & 0x00)
4244 /** 0110 0011 immm rdst mul #%1, %0 */
4245 #line 602 "rx-decode.opc"
4246 int immm AU = (op[1] >> 4) & 0x0f;
4247 #line 602 "rx-decode.opc"
4248 int rdst AU = op[1] & 0x0f;
4251 printf ("\033[33m%s\033[0m %02x %02x\n",
4252 "/** 0110 0011 immm rdst mul #%1, %0 */",
4254 printf (" immm = 0x%x,", immm);
4255 printf (" rdst = 0x%x\n", rdst);
4257 SYNTAX("mul #%1, %0");
4258 #line 602 "rx-decode.opc"
4259 if (immm == 1 && rdst == 0)
4262 SYNTAX ("nop\t; mul\t#1, r0");
4268 DR(rdst); SC(immm); F_____;
4275 switch (op[1] & 0x00)
4279 /** 0110 0100 immm rdst and #%1, %0 */
4280 #line 410 "rx-decode.opc"
4281 int immm AU = (op[1] >> 4) & 0x0f;
4282 #line 410 "rx-decode.opc"
4283 int rdst AU = op[1] & 0x0f;
4286 printf ("\033[33m%s\033[0m %02x %02x\n",
4287 "/** 0110 0100 immm rdst and #%1, %0 */",
4289 printf (" immm = 0x%x,", immm);
4290 printf (" rdst = 0x%x\n", rdst);
4292 SYNTAX("and #%1, %0");
4293 #line 410 "rx-decode.opc"
4294 ID(and); SC(immm); DR(rdst); F__SZ_;
4302 switch (op[1] & 0x00)
4306 /** 0110 0101 immm rdst or #%1, %0 */
4307 #line 428 "rx-decode.opc"
4308 int immm AU = (op[1] >> 4) & 0x0f;
4309 #line 428 "rx-decode.opc"
4310 int rdst AU = op[1] & 0x0f;
4313 printf ("\033[33m%s\033[0m %02x %02x\n",
4314 "/** 0110 0101 immm rdst or #%1, %0 */",
4316 printf (" immm = 0x%x,", immm);
4317 printf (" rdst = 0x%x\n", rdst);
4319 SYNTAX("or #%1, %0");
4320 #line 428 "rx-decode.opc"
4321 ID(or); SC(immm); DR(rdst); F__SZ_;
4329 switch (op[1] & 0x00)
4333 /** 0110 0110 immm rdst mov%s #%1, %0 */
4334 #line 304 "rx-decode.opc"
4335 int immm AU = (op[1] >> 4) & 0x0f;
4336 #line 304 "rx-decode.opc"
4337 int rdst AU = op[1] & 0x0f;
4340 printf ("\033[33m%s\033[0m %02x %02x\n",
4341 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4343 printf (" immm = 0x%x,", immm);
4344 printf (" rdst = 0x%x\n", rdst);
4346 SYNTAX("mov%s #%1, %0");
4347 #line 304 "rx-decode.opc"
4348 ID(mov); DR(rdst); SC(immm); F_____;
4356 /** 0110 0111 rtsd #%1 */
4359 printf ("\033[33m%s\033[0m %02x\n",
4360 "/** 0110 0111 rtsd #%1 */",
4364 #line 401 "rx-decode.opc"
4365 ID(rtsd); SC(IMM(1) * 4);
4371 switch (op[1] & 0x00)
4376 /** 0110 100i mmmm rdst shlr #%2, %0 */
4377 #line 688 "rx-decode.opc"
4378 int i AU = op[0] & 0x01;
4379 #line 688 "rx-decode.opc"
4380 int mmmm AU = (op[1] >> 4) & 0x0f;
4381 #line 688 "rx-decode.opc"
4382 int rdst AU = op[1] & 0x0f;
4385 printf ("\033[33m%s\033[0m %02x %02x\n",
4386 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4388 printf (" i = 0x%x,", i);
4389 printf (" mmmm = 0x%x,", mmmm);
4390 printf (" rdst = 0x%x\n", rdst);
4392 SYNTAX("shlr #%2, %0");
4393 #line 688 "rx-decode.opc"
4394 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4402 switch (op[1] & 0x00)
4405 goto op_semantics_27;
4411 switch (op[1] & 0x00)
4416 /** 0110 101i mmmm rdst shar #%2, %0 */
4417 #line 678 "rx-decode.opc"
4418 int i AU = op[0] & 0x01;
4419 #line 678 "rx-decode.opc"
4420 int mmmm AU = (op[1] >> 4) & 0x0f;
4421 #line 678 "rx-decode.opc"
4422 int rdst AU = op[1] & 0x0f;
4425 printf ("\033[33m%s\033[0m %02x %02x\n",
4426 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4428 printf (" i = 0x%x,", i);
4429 printf (" mmmm = 0x%x,", mmmm);
4430 printf (" rdst = 0x%x\n", rdst);
4432 SYNTAX("shar #%2, %0");
4433 #line 678 "rx-decode.opc"
4434 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4442 switch (op[1] & 0x00)
4445 goto op_semantics_28;
4451 switch (op[1] & 0x00)
4456 /** 0110 110i mmmm rdst shll #%2, %0 */
4457 #line 668 "rx-decode.opc"
4458 int i AU = op[0] & 0x01;
4459 #line 668 "rx-decode.opc"
4460 int mmmm AU = (op[1] >> 4) & 0x0f;
4461 #line 668 "rx-decode.opc"
4462 int rdst AU = op[1] & 0x0f;
4465 printf ("\033[33m%s\033[0m %02x %02x\n",
4466 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4468 printf (" i = 0x%x,", i);
4469 printf (" mmmm = 0x%x,", mmmm);
4470 printf (" rdst = 0x%x\n", rdst);
4472 SYNTAX("shll #%2, %0");
4473 #line 668 "rx-decode.opc"
4474 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4482 switch (op[1] & 0x00)
4485 goto op_semantics_29;
4491 switch (op[1] & 0x00)
4495 /** 0110 1110 dsta dstb pushm %1-%2 */
4496 #line 368 "rx-decode.opc"
4497 int dsta AU = (op[1] >> 4) & 0x0f;
4498 #line 368 "rx-decode.opc"
4499 int dstb AU = op[1] & 0x0f;
4502 printf ("\033[33m%s\033[0m %02x %02x\n",
4503 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4505 printf (" dsta = 0x%x,", dsta);
4506 printf (" dstb = 0x%x\n", dstb);
4508 SYNTAX("pushm %1-%2");
4509 #line 368 "rx-decode.opc"
4510 ID(pushm); SR(dsta); S2R(dstb); F_____;
4518 switch (op[1] & 0x00)
4522 /** 0110 1111 dsta dstb popm %1-%2 */
4523 #line 365 "rx-decode.opc"
4524 int dsta AU = (op[1] >> 4) & 0x0f;
4525 #line 365 "rx-decode.opc"
4526 int dstb AU = op[1] & 0x0f;
4529 printf ("\033[33m%s\033[0m %02x %02x\n",
4530 "/** 0110 1111 dsta dstb popm %1-%2 */",
4532 printf (" dsta = 0x%x,", dsta);
4533 printf (" dstb = 0x%x\n", dstb);
4535 SYNTAX("popm %1-%2");
4536 #line 365 "rx-decode.opc"
4537 ID(popm); SR(dsta); S2R(dstb); F_____;
4545 switch (op[1] & 0x00)
4550 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4551 #line 509 "rx-decode.opc"
4552 int im AU = op[0] & 0x03;
4553 #line 509 "rx-decode.opc"
4554 int rsrc AU = (op[1] >> 4) & 0x0f;
4555 #line 509 "rx-decode.opc"
4556 int rdst AU = op[1] & 0x0f;
4559 printf ("\033[33m%s\033[0m %02x %02x\n",
4560 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4562 printf (" im = 0x%x,", im);
4563 printf (" rsrc = 0x%x,", rsrc);
4564 printf (" rdst = 0x%x\n", rdst);
4566 SYNTAX("add #%1, %2, %0");
4567 #line 509 "rx-decode.opc"
4568 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4576 switch (op[1] & 0x00)
4579 goto op_semantics_30;
4585 switch (op[1] & 0x00)
4588 goto op_semantics_30;
4594 switch (op[1] & 0x00)
4597 goto op_semantics_30;
4603 switch (op[1] & 0xf0)
4608 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4609 #line 521 "rx-decode.opc"
4610 int im AU = op[0] & 0x03;
4611 #line 521 "rx-decode.opc"
4612 int rsrc AU = op[1] & 0x0f;
4615 printf ("\033[33m%s\033[0m %02x %02x\n",
4616 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4618 printf (" im = 0x%x,", im);
4619 printf (" rsrc = 0x%x\n", rsrc);
4621 SYNTAX("cmp #%2, %1%S1");
4622 #line 521 "rx-decode.opc"
4623 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4630 /** 0111 01im 0001rdst mul #%1, %0 */
4631 #line 605 "rx-decode.opc"
4632 int im AU = op[0] & 0x03;
4633 #line 605 "rx-decode.opc"
4634 int rdst AU = op[1] & 0x0f;
4635 int val = IMMex(im);
4638 printf ("\033[33m%s\033[0m %02x %02x\n",
4639 "/** 0111 01im 0001rdst mul #%1, %0 */",
4641 printf (" im = 0x%x,", im);
4642 printf (" rdst = 0x%x\n", rdst);
4644 SYNTAX("mul #%1, %0");
4645 #line 605 "rx-decode.opc"
4646 if (val == 1 && rdst == 0)
4648 SYNTAX("nop\t; mul\t#1, r0");
4651 case 2: ID(nop4); break;
4652 case 3: ID(nop5); break;
4653 case 0: ID(nop6); break;
4656 SYNTAX("mul #%1, %0");
4664 DR(rdst); SC(val); F_____;
4671 /** 0111 01im 0010 rdst and #%1, %0 */
4672 #line 413 "rx-decode.opc"
4673 int im AU = op[0] & 0x03;
4674 #line 413 "rx-decode.opc"
4675 int rdst AU = op[1] & 0x0f;
4678 printf ("\033[33m%s\033[0m %02x %02x\n",
4679 "/** 0111 01im 0010 rdst and #%1, %0 */",
4681 printf (" im = 0x%x,", im);
4682 printf (" rdst = 0x%x\n", rdst);
4684 SYNTAX("and #%1, %0");
4685 #line 413 "rx-decode.opc"
4686 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4693 /** 0111 01im 0011 rdst or #%1, %0 */
4694 #line 431 "rx-decode.opc"
4695 int im AU = op[0] & 0x03;
4696 #line 431 "rx-decode.opc"
4697 int rdst AU = op[1] & 0x0f;
4700 printf ("\033[33m%s\033[0m %02x %02x\n",
4701 "/** 0111 01im 0011 rdst or #%1, %0 */",
4703 printf (" im = 0x%x,", im);
4704 printf (" rdst = 0x%x\n", rdst);
4706 SYNTAX("or #%1, %0");
4707 #line 431 "rx-decode.opc"
4708 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4712 default: UNSUPPORTED(); break;
4717 switch (op[1] & 0xff)
4735 goto op_semantics_31;
4753 goto op_semantics_32;
4771 goto op_semantics_33;
4789 goto op_semantics_34;
4808 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4809 #line 285 "rx-decode.opc"
4810 int rdst AU = op[1] & 0x0f;
4813 printf ("\033[33m%s\033[0m %02x %02x\n",
4814 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4816 printf (" rdst = 0x%x\n", rdst);
4818 SYNTAX("mov%s #%1, %0");
4819 #line 285 "rx-decode.opc"
4820 ID(mov); DR(rdst); SC(IMM (1)); F_____;
4841 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4842 #line 524 "rx-decode.opc"
4843 int rsrc AU = op[1] & 0x0f;
4846 printf ("\033[33m%s\033[0m %02x %02x\n",
4847 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4849 printf (" rsrc = 0x%x\n", rsrc);
4851 SYNTAX("cmp #%2, %1");
4852 #line 524 "rx-decode.opc"
4853 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
4859 /** 0111 0101 0110 0000 int #%1 */
4862 printf ("\033[33m%s\033[0m %02x %02x\n",
4863 "/** 0111 0101 0110 0000 int #%1 */",
4867 #line 993 "rx-decode.opc"
4868 ID(int); SC(IMM(1));
4874 switch (op[2] & 0xf0)
4878 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4879 #line 960 "rx-decode.opc"
4880 int immm AU = op[2] & 0x0f;
4883 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4884 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4885 op[0], op[1], op[2]);
4886 printf (" immm = 0x%x\n", immm);
4888 SYNTAX("mvtipl #%1");
4889 #line 960 "rx-decode.opc"
4890 ID(mvtipl); SC(immm);
4894 default: UNSUPPORTED(); break;
4897 default: UNSUPPORTED(); break;
4902 switch (op[1] & 0xf0)
4905 goto op_semantics_31;
4908 goto op_semantics_32;
4911 goto op_semantics_33;
4914 goto op_semantics_34;
4916 default: UNSUPPORTED(); break;
4921 switch (op[1] & 0xf0)
4924 goto op_semantics_31;
4927 goto op_semantics_32;
4930 goto op_semantics_33;
4933 goto op_semantics_34;
4935 default: UNSUPPORTED(); break;
4940 switch (op[1] & 0x00)
4945 /** 0111 100b ittt rdst bset #%1, %0 */
4946 #line 905 "rx-decode.opc"
4947 int b AU = op[0] & 0x01;
4948 #line 905 "rx-decode.opc"
4949 int ittt AU = (op[1] >> 4) & 0x0f;
4950 #line 905 "rx-decode.opc"
4951 int rdst AU = op[1] & 0x0f;
4954 printf ("\033[33m%s\033[0m %02x %02x\n",
4955 "/** 0111 100b ittt rdst bset #%1, %0 */",
4957 printf (" b = 0x%x,", b);
4958 printf (" ittt = 0x%x,", ittt);
4959 printf (" rdst = 0x%x\n", rdst);
4961 SYNTAX("bset #%1, %0");
4962 #line 905 "rx-decode.opc"
4963 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4972 switch (op[1] & 0x00)
4975 goto op_semantics_35;
4981 switch (op[1] & 0x00)
4986 /** 0111 101b ittt rdst bclr #%1, %0 */
4987 #line 917 "rx-decode.opc"
4988 int b AU = op[0] & 0x01;
4989 #line 917 "rx-decode.opc"
4990 int ittt AU = (op[1] >> 4) & 0x0f;
4991 #line 917 "rx-decode.opc"
4992 int rdst AU = op[1] & 0x0f;
4995 printf ("\033[33m%s\033[0m %02x %02x\n",
4996 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4998 printf (" b = 0x%x,", b);
4999 printf (" ittt = 0x%x,", ittt);
5000 printf (" rdst = 0x%x\n", rdst);
5002 SYNTAX("bclr #%1, %0");
5003 #line 917 "rx-decode.opc"
5004 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5013 switch (op[1] & 0x00)
5016 goto op_semantics_36;
5022 switch (op[1] & 0x00)
5027 /** 0111 110b ittt rdst btst #%2, %1 */
5028 #line 929 "rx-decode.opc"
5029 int b AU = op[0] & 0x01;
5030 #line 929 "rx-decode.opc"
5031 int ittt AU = (op[1] >> 4) & 0x0f;
5032 #line 929 "rx-decode.opc"
5033 int rdst AU = op[1] & 0x0f;
5036 printf ("\033[33m%s\033[0m %02x %02x\n",
5037 "/** 0111 110b ittt rdst btst #%2, %1 */",
5039 printf (" b = 0x%x,", b);
5040 printf (" ittt = 0x%x,", ittt);
5041 printf (" rdst = 0x%x\n", rdst);
5043 SYNTAX("btst #%2, %1");
5044 #line 929 "rx-decode.opc"
5045 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5054 switch (op[1] & 0x00)
5057 goto op_semantics_37;
5063 switch (op[1] & 0xf0)
5067 /** 0111 1110 0000 rdst not %0 */
5068 #line 458 "rx-decode.opc"
5069 int rdst AU = op[1] & 0x0f;
5072 printf ("\033[33m%s\033[0m %02x %02x\n",
5073 "/** 0111 1110 0000 rdst not %0 */",
5075 printf (" rdst = 0x%x\n", rdst);
5078 #line 458 "rx-decode.opc"
5079 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5085 /** 0111 1110 0001 rdst neg %0 */
5086 #line 479 "rx-decode.opc"
5087 int rdst AU = op[1] & 0x0f;
5090 printf ("\033[33m%s\033[0m %02x %02x\n",
5091 "/** 0111 1110 0001 rdst neg %0 */",
5093 printf (" rdst = 0x%x\n", rdst);
5096 #line 479 "rx-decode.opc"
5097 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5103 /** 0111 1110 0010 rdst abs %0 */
5104 #line 561 "rx-decode.opc"
5105 int rdst AU = op[1] & 0x0f;
5108 printf ("\033[33m%s\033[0m %02x %02x\n",
5109 "/** 0111 1110 0010 rdst abs %0 */",
5111 printf (" rdst = 0x%x\n", rdst);
5114 #line 561 "rx-decode.opc"
5115 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5121 /** 0111 1110 0011 rdst sat %0 */
5122 #line 843 "rx-decode.opc"
5123 int rdst AU = op[1] & 0x0f;
5126 printf ("\033[33m%s\033[0m %02x %02x\n",
5127 "/** 0111 1110 0011 rdst sat %0 */",
5129 printf (" rdst = 0x%x\n", rdst);
5132 #line 843 "rx-decode.opc"
5139 /** 0111 1110 0100 rdst rorc %0 */
5140 #line 703 "rx-decode.opc"
5141 int rdst AU = op[1] & 0x0f;
5144 printf ("\033[33m%s\033[0m %02x %02x\n",
5145 "/** 0111 1110 0100 rdst rorc %0 */",
5147 printf (" rdst = 0x%x\n", rdst);
5150 #line 703 "rx-decode.opc"
5151 ID(rorc); DR(rdst); F__SZC;
5157 /** 0111 1110 0101 rdst rolc %0 */
5158 #line 700 "rx-decode.opc"
5159 int rdst AU = op[1] & 0x0f;
5162 printf ("\033[33m%s\033[0m %02x %02x\n",
5163 "/** 0111 1110 0101 rdst rolc %0 */",
5165 printf (" rdst = 0x%x\n", rdst);
5168 #line 700 "rx-decode.opc"
5169 ID(rolc); DR(rdst); F__SZC;
5177 /** 0111 1110 10sz rsrc push%s %1 */
5178 #line 374 "rx-decode.opc"
5179 int sz AU = (op[1] >> 4) & 0x03;
5180 #line 374 "rx-decode.opc"
5181 int rsrc AU = op[1] & 0x0f;
5184 printf ("\033[33m%s\033[0m %02x %02x\n",
5185 "/** 0111 1110 10sz rsrc push%s %1 */",
5187 printf (" sz = 0x%x,", sz);
5188 printf (" rsrc = 0x%x\n", rsrc);
5190 SYNTAX("push%s %1");
5191 #line 374 "rx-decode.opc"
5192 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5198 /** 0111 1110 1011 rdst pop %0 */
5199 #line 371 "rx-decode.opc"
5200 int rdst AU = op[1] & 0x0f;
5203 printf ("\033[33m%s\033[0m %02x %02x\n",
5204 "/** 0111 1110 1011 rdst pop %0 */",
5206 printf (" rdst = 0x%x\n", rdst);
5209 #line 371 "rx-decode.opc"
5210 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5217 /** 0111 1110 110 crsrc pushc %1 */
5218 #line 966 "rx-decode.opc"
5219 int crsrc AU = op[1] & 0x1f;
5222 printf ("\033[33m%s\033[0m %02x %02x\n",
5223 "/** 0111 1110 110 crsrc pushc %1 */",
5225 printf (" crsrc = 0x%x\n", crsrc);
5228 #line 966 "rx-decode.opc"
5229 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5236 /** 0111 1110 111 crdst popc %0 */
5237 #line 963 "rx-decode.opc"
5238 int crdst AU = op[1] & 0x1f;
5241 printf ("\033[33m%s\033[0m %02x %02x\n",
5242 "/** 0111 1110 111 crdst popc %0 */",
5244 printf (" crdst = 0x%x\n", crdst);
5247 #line 963 "rx-decode.opc"
5248 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5252 default: UNSUPPORTED(); break;
5257 switch (op[1] & 0xff)
5276 /** 0111 1111 0000 rsrc jmp %0 */
5277 #line 753 "rx-decode.opc"
5278 int rsrc AU = op[1] & 0x0f;
5281 printf ("\033[33m%s\033[0m %02x %02x\n",
5282 "/** 0111 1111 0000 rsrc jmp %0 */",
5284 printf (" rsrc = 0x%x\n", rsrc);
5287 #line 753 "rx-decode.opc"
5288 ID(branch); DR(rsrc);
5309 /** 0111 1111 0001 rsrc jsr %0 */
5310 #line 756 "rx-decode.opc"
5311 int rsrc AU = op[1] & 0x0f;
5314 printf ("\033[33m%s\033[0m %02x %02x\n",
5315 "/** 0111 1111 0001 rsrc jsr %0 */",
5317 printf (" rsrc = 0x%x\n", rsrc);
5320 #line 756 "rx-decode.opc"
5342 /** 0111 1111 0100 rsrc bra.l %0 */
5343 #line 749 "rx-decode.opc"
5344 int rsrc AU = op[1] & 0x0f;
5347 printf ("\033[33m%s\033[0m %02x %02x\n",
5348 "/** 0111 1111 0100 rsrc bra.l %0 */",
5350 printf (" rsrc = 0x%x\n", rsrc);
5353 #line 749 "rx-decode.opc"
5354 ID(branchrel); DR(rsrc);
5376 /** 0111 1111 0101 rsrc bsr.l %0 */
5377 #line 765 "rx-decode.opc"
5378 int rsrc AU = op[1] & 0x0f;
5381 printf ("\033[33m%s\033[0m %02x %02x\n",
5382 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5384 printf (" rsrc = 0x%x\n", rsrc);
5387 #line 765 "rx-decode.opc"
5388 ID(jsrrel); DR(rsrc);
5396 /** 0111 1111 1000 00sz suntil%s */
5397 #line 789 "rx-decode.opc"
5398 int sz AU = op[1] & 0x03;
5401 printf ("\033[33m%s\033[0m %02x %02x\n",
5402 "/** 0111 1111 1000 00sz suntil%s */",
5404 printf (" sz = 0x%x\n", sz);
5407 #line 789 "rx-decode.opc"
5408 ID(suntil); BWL(sz); F___ZC;
5414 /** 0111 1111 1000 0011 scmpu */
5417 printf ("\033[33m%s\033[0m %02x %02x\n",
5418 "/** 0111 1111 1000 0011 scmpu */",
5422 #line 780 "rx-decode.opc"
5431 /** 0111 1111 1000 01sz swhile%s */
5432 #line 792 "rx-decode.opc"
5433 int sz AU = op[1] & 0x03;
5436 printf ("\033[33m%s\033[0m %02x %02x\n",
5437 "/** 0111 1111 1000 01sz swhile%s */",
5439 printf (" sz = 0x%x\n", sz);
5442 #line 792 "rx-decode.opc"
5443 ID(swhile); BWL(sz); F___ZC;
5449 /** 0111 1111 1000 0111 smovu */
5452 printf ("\033[33m%s\033[0m %02x %02x\n",
5453 "/** 0111 1111 1000 0111 smovu */",
5457 #line 783 "rx-decode.opc"
5466 /** 0111 1111 1000 10sz sstr%s */
5467 #line 798 "rx-decode.opc"
5468 int sz AU = op[1] & 0x03;
5471 printf ("\033[33m%s\033[0m %02x %02x\n",
5472 "/** 0111 1111 1000 10sz sstr%s */",
5474 printf (" sz = 0x%x\n", sz);
5477 #line 798 "rx-decode.opc"
5480 /*----------------------------------------------------------------------*/
5487 /** 0111 1111 1000 1011 smovb */
5490 printf ("\033[33m%s\033[0m %02x %02x\n",
5491 "/** 0111 1111 1000 1011 smovb */",
5495 #line 786 "rx-decode.opc"
5504 /** 0111 1111 1000 11sz rmpa%s */
5505 #line 804 "rx-decode.opc"
5506 int sz AU = op[1] & 0x03;
5509 printf ("\033[33m%s\033[0m %02x %02x\n",
5510 "/** 0111 1111 1000 11sz rmpa%s */",
5512 printf (" sz = 0x%x\n", sz);
5515 #line 804 "rx-decode.opc"
5516 ID(rmpa); BWL(sz); F_OS__;
5518 /*----------------------------------------------------------------------*/
5525 /** 0111 1111 1000 1111 smovf */
5528 printf ("\033[33m%s\033[0m %02x %02x\n",
5529 "/** 0111 1111 1000 1111 smovf */",
5533 #line 795 "rx-decode.opc"
5540 /** 0111 1111 1001 0011 satr */
5543 printf ("\033[33m%s\033[0m %02x %02x\n",
5544 "/** 0111 1111 1001 0011 satr */",
5548 #line 846 "rx-decode.opc"
5551 /*----------------------------------------------------------------------*/
5558 /** 0111 1111 1001 0100 rtfi */
5561 printf ("\033[33m%s\033[0m %02x %02x\n",
5562 "/** 0111 1111 1001 0100 rtfi */",
5566 #line 981 "rx-decode.opc"
5573 /** 0111 1111 1001 0101 rte */
5576 printf ("\033[33m%s\033[0m %02x %02x\n",
5577 "/** 0111 1111 1001 0101 rte */",
5581 #line 984 "rx-decode.opc"
5588 /** 0111 1111 1001 0110 wait */
5591 printf ("\033[33m%s\033[0m %02x %02x\n",
5592 "/** 0111 1111 1001 0110 wait */",
5596 #line 996 "rx-decode.opc"
5599 /*----------------------------------------------------------------------*/
5621 /** 0111 1111 1010 rdst setpsw %0 */
5622 #line 957 "rx-decode.opc"
5623 int rdst AU = op[1] & 0x0f;
5626 printf ("\033[33m%s\033[0m %02x %02x\n",
5627 "/** 0111 1111 1010 rdst setpsw %0 */",
5629 printf (" rdst = 0x%x\n", rdst);
5631 SYNTAX("setpsw %0");
5632 #line 957 "rx-decode.opc"
5633 ID(setpsw); DF(rdst);
5654 /** 0111 1111 1011 rdst clrpsw %0 */
5655 #line 954 "rx-decode.opc"
5656 int rdst AU = op[1] & 0x0f;
5659 printf ("\033[33m%s\033[0m %02x %02x\n",
5660 "/** 0111 1111 1011 rdst clrpsw %0 */",
5662 printf (" rdst = 0x%x\n", rdst);
5664 SYNTAX("clrpsw %0");
5665 #line 954 "rx-decode.opc"
5666 ID(clrpsw); DF(rdst);
5670 default: UNSUPPORTED(); break;
5675 switch (op[1] & 0x00)
5680 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5681 #line 332 "rx-decode.opc"
5682 int sz AU = (op[0] >> 4) & 0x03;
5683 #line 332 "rx-decode.opc"
5684 int dsp AU = op[0] & 0x07;
5685 #line 332 "rx-decode.opc"
5686 int a AU = (op[1] >> 7) & 0x01;
5687 #line 332 "rx-decode.opc"
5688 int dst AU = (op[1] >> 4) & 0x07;
5689 #line 332 "rx-decode.opc"
5690 int b AU = (op[1] >> 3) & 0x01;
5691 #line 332 "rx-decode.opc"
5692 int src AU = op[1] & 0x07;
5695 printf ("\033[33m%s\033[0m %02x %02x\n",
5696 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5698 printf (" sz = 0x%x,", sz);
5699 printf (" dsp = 0x%x,", dsp);
5700 printf (" a = 0x%x,", a);
5701 printf (" dst = 0x%x,", dst);
5702 printf (" b = 0x%x,", b);
5703 printf (" src = 0x%x\n", src);
5705 SYNTAX("mov%s %1, %0");
5706 #line 332 "rx-decode.opc"
5707 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5715 switch (op[1] & 0x00)
5718 goto op_semantics_38;
5724 switch (op[1] & 0x00)
5727 goto op_semantics_38;
5733 switch (op[1] & 0x00)
5736 goto op_semantics_38;
5742 switch (op[1] & 0x00)
5745 goto op_semantics_38;
5751 switch (op[1] & 0x00)
5754 goto op_semantics_38;
5760 switch (op[1] & 0x00)
5763 goto op_semantics_38;
5769 switch (op[1] & 0x00)
5772 goto op_semantics_38;
5778 switch (op[1] & 0x00)
5783 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5784 #line 329 "rx-decode.opc"
5785 int sz AU = (op[0] >> 4) & 0x03;
5786 #line 329 "rx-decode.opc"
5787 int dsp AU = op[0] & 0x07;
5788 #line 329 "rx-decode.opc"
5789 int a AU = (op[1] >> 7) & 0x01;
5790 #line 329 "rx-decode.opc"
5791 int src AU = (op[1] >> 4) & 0x07;
5792 #line 329 "rx-decode.opc"
5793 int b AU = (op[1] >> 3) & 0x01;
5794 #line 329 "rx-decode.opc"
5795 int dst AU = op[1] & 0x07;
5798 printf ("\033[33m%s\033[0m %02x %02x\n",
5799 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5801 printf (" sz = 0x%x,", sz);
5802 printf (" dsp = 0x%x,", dsp);
5803 printf (" a = 0x%x,", a);
5804 printf (" src = 0x%x,", src);
5805 printf (" b = 0x%x,", b);
5806 printf (" dst = 0x%x\n", dst);
5808 SYNTAX("mov%s %1, %0");
5809 #line 329 "rx-decode.opc"
5810 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5818 switch (op[1] & 0x00)
5821 goto op_semantics_39;
5827 switch (op[1] & 0x00)
5830 goto op_semantics_39;
5836 switch (op[1] & 0x00)
5839 goto op_semantics_39;
5845 switch (op[1] & 0x00)
5848 goto op_semantics_39;
5854 switch (op[1] & 0x00)
5857 goto op_semantics_39;
5863 switch (op[1] & 0x00)
5866 goto op_semantics_39;
5872 switch (op[1] & 0x00)
5875 goto op_semantics_39;
5881 switch (op[1] & 0x00)
5884 goto op_semantics_38;
5890 switch (op[1] & 0x00)
5893 goto op_semantics_38;
5899 switch (op[1] & 0x00)
5902 goto op_semantics_38;
5908 switch (op[1] & 0x00)
5911 goto op_semantics_38;
5917 switch (op[1] & 0x00)
5920 goto op_semantics_38;
5926 switch (op[1] & 0x00)
5929 goto op_semantics_38;
5935 switch (op[1] & 0x00)
5938 goto op_semantics_38;
5944 switch (op[1] & 0x00)
5947 goto op_semantics_38;
5953 switch (op[1] & 0x00)
5956 goto op_semantics_39;
5962 switch (op[1] & 0x00)
5965 goto op_semantics_39;
5971 switch (op[1] & 0x00)
5974 goto op_semantics_39;
5980 switch (op[1] & 0x00)
5983 goto op_semantics_39;
5989 switch (op[1] & 0x00)
5992 goto op_semantics_39;
5998 switch (op[1] & 0x00)
6001 goto op_semantics_39;
6007 switch (op[1] & 0x00)
6010 goto op_semantics_39;
6016 switch (op[1] & 0x00)
6019 goto op_semantics_39;
6025 switch (op[1] & 0x00)
6028 goto op_semantics_38;
6034 switch (op[1] & 0x00)
6037 goto op_semantics_38;
6043 switch (op[1] & 0x00)
6046 goto op_semantics_38;
6052 switch (op[1] & 0x00)
6055 goto op_semantics_38;
6061 switch (op[1] & 0x00)
6064 goto op_semantics_38;
6070 switch (op[1] & 0x00)
6073 goto op_semantics_38;
6079 switch (op[1] & 0x00)
6082 goto op_semantics_38;
6088 switch (op[1] & 0x00)
6091 goto op_semantics_38;
6097 switch (op[1] & 0x00)
6100 goto op_semantics_39;
6106 switch (op[1] & 0x00)
6109 goto op_semantics_39;
6115 switch (op[1] & 0x00)
6118 goto op_semantics_39;
6124 switch (op[1] & 0x00)
6127 goto op_semantics_39;
6133 switch (op[1] & 0x00)
6136 goto op_semantics_39;
6142 switch (op[1] & 0x00)
6145 goto op_semantics_39;
6151 switch (op[1] & 0x00)
6154 goto op_semantics_39;
6160 switch (op[1] & 0x00)
6163 goto op_semantics_39;
6169 switch (op[1] & 0x00)
6174 /** 1011 w dsp a src b dst movu%s %1, %0 */
6175 #line 352 "rx-decode.opc"
6176 int w AU = (op[0] >> 3) & 0x01;
6177 #line 352 "rx-decode.opc"
6178 int dsp AU = op[0] & 0x07;
6179 #line 352 "rx-decode.opc"
6180 int a AU = (op[1] >> 7) & 0x01;
6181 #line 352 "rx-decode.opc"
6182 int src AU = (op[1] >> 4) & 0x07;
6183 #line 352 "rx-decode.opc"
6184 int b AU = (op[1] >> 3) & 0x01;
6185 #line 352 "rx-decode.opc"
6186 int dst AU = op[1] & 0x07;
6189 printf ("\033[33m%s\033[0m %02x %02x\n",
6190 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6192 printf (" w = 0x%x,", w);
6193 printf (" dsp = 0x%x,", dsp);
6194 printf (" a = 0x%x,", a);
6195 printf (" src = 0x%x,", src);
6196 printf (" b = 0x%x,", b);
6197 printf (" dst = 0x%x\n", dst);
6199 SYNTAX("movu%s %1, %0");
6200 #line 352 "rx-decode.opc"
6201 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6209 switch (op[1] & 0x00)
6212 goto op_semantics_40;
6218 switch (op[1] & 0x00)
6221 goto op_semantics_40;
6227 switch (op[1] & 0x00)
6230 goto op_semantics_40;
6236 switch (op[1] & 0x00)
6239 goto op_semantics_40;
6245 switch (op[1] & 0x00)
6248 goto op_semantics_40;
6254 switch (op[1] & 0x00)
6257 goto op_semantics_40;
6263 switch (op[1] & 0x00)
6266 goto op_semantics_40;
6272 switch (op[1] & 0x00)
6275 goto op_semantics_40;
6281 switch (op[1] & 0x00)
6284 goto op_semantics_40;
6290 switch (op[1] & 0x00)
6293 goto op_semantics_40;
6299 switch (op[1] & 0x00)
6302 goto op_semantics_40;
6308 switch (op[1] & 0x00)
6311 goto op_semantics_40;
6317 switch (op[1] & 0x00)
6320 goto op_semantics_40;
6326 switch (op[1] & 0x00)
6329 goto op_semantics_40;
6335 switch (op[1] & 0x00)
6338 goto op_semantics_40;
6344 switch (op[1] & 0x00)
6349 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6350 #line 310 "rx-decode.opc"
6351 int sz AU = (op[0] >> 4) & 0x03;
6352 #line 310 "rx-decode.opc"
6353 int sd AU = (op[0] >> 2) & 0x03;
6354 #line 310 "rx-decode.opc"
6355 int ss AU = op[0] & 0x03;
6356 #line 310 "rx-decode.opc"
6357 int rsrc AU = (op[1] >> 4) & 0x0f;
6358 #line 310 "rx-decode.opc"
6359 int rdst AU = op[1] & 0x0f;
6362 printf ("\033[33m%s\033[0m %02x %02x\n",
6363 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6365 printf (" sz = 0x%x,", sz);
6366 printf (" sd = 0x%x,", sd);
6367 printf (" ss = 0x%x,", ss);
6368 printf (" rsrc = 0x%x,", rsrc);
6369 printf (" rdst = 0x%x\n", rdst);
6371 SYNTAX("mov%s %1, %0");
6372 #line 310 "rx-decode.opc"
6373 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6376 SYNTAX ("nop\t; mov.l\tr0, r0");
6380 ID(mov); sBWL(sz); F_____;
6381 if ((ss == 3) && (sd != 3))
6383 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6387 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6397 switch (op[1] & 0x00)
6400 goto op_semantics_41;
6406 switch (op[1] & 0x00)
6409 goto op_semantics_41;
6415 switch (op[1] & 0x00)
6418 goto op_semantics_41;
6424 switch (op[1] & 0x00)
6427 goto op_semantics_41;
6433 switch (op[1] & 0x00)
6436 goto op_semantics_41;
6442 switch (op[1] & 0x00)
6445 goto op_semantics_41;
6451 switch (op[1] & 0x00)
6454 goto op_semantics_41;
6460 switch (op[1] & 0x00)
6463 goto op_semantics_41;
6469 switch (op[1] & 0x00)
6472 goto op_semantics_41;
6478 switch (op[1] & 0x00)
6481 goto op_semantics_41;
6487 switch (op[1] & 0x00)
6490 goto op_semantics_41;
6496 switch (op[1] & 0x00)
6499 goto op_semantics_41;
6505 switch (op[1] & 0x00)
6508 goto op_semantics_41;
6514 switch (op[1] & 0x00)
6517 goto op_semantics_41;
6523 switch (op[1] & 0x00)
6526 goto op_semantics_41;
6532 switch (op[1] & 0x00)
6535 goto op_semantics_41;
6541 switch (op[1] & 0x00)
6544 goto op_semantics_41;
6550 switch (op[1] & 0x00)
6553 goto op_semantics_41;
6559 switch (op[1] & 0x00)
6562 goto op_semantics_41;
6568 switch (op[1] & 0x00)
6571 goto op_semantics_41;
6577 switch (op[1] & 0x00)
6580 goto op_semantics_41;
6586 switch (op[1] & 0x00)
6589 goto op_semantics_41;
6595 switch (op[1] & 0x00)
6598 goto op_semantics_41;
6604 switch (op[1] & 0x00)
6607 goto op_semantics_41;
6613 switch (op[1] & 0x00)
6616 goto op_semantics_41;
6622 switch (op[1] & 0x00)
6625 goto op_semantics_41;
6631 switch (op[1] & 0x00)
6634 goto op_semantics_41;
6640 switch (op[1] & 0x00)
6643 goto op_semantics_41;
6649 switch (op[1] & 0x00)
6652 goto op_semantics_41;
6658 switch (op[1] & 0x00)
6661 goto op_semantics_41;
6667 switch (op[1] & 0x00)
6670 goto op_semantics_41;
6676 switch (op[1] & 0x00)
6679 goto op_semantics_41;
6685 switch (op[1] & 0x00)
6688 goto op_semantics_41;
6694 switch (op[1] & 0x00)
6697 goto op_semantics_41;
6703 switch (op[1] & 0x00)
6706 goto op_semantics_41;
6712 switch (op[1] & 0x00)
6715 goto op_semantics_41;
6721 switch (op[1] & 0x00)
6724 goto op_semantics_41;
6730 switch (op[1] & 0x00)
6733 goto op_semantics_41;
6739 switch (op[1] & 0x00)
6742 goto op_semantics_41;
6748 switch (op[1] & 0x00)
6751 goto op_semantics_41;
6757 switch (op[1] & 0x00)
6760 goto op_semantics_41;
6766 switch (op[1] & 0x00)
6769 goto op_semantics_41;
6775 switch (op[1] & 0x00)
6778 goto op_semantics_41;
6784 switch (op[1] & 0x00)
6787 goto op_semantics_41;
6793 switch (op[1] & 0x00)
6796 goto op_semantics_41;
6802 switch (op[1] & 0x00)
6805 goto op_semantics_41;
6811 switch (op[1] & 0x00)
6814 goto op_semantics_41;
6820 switch (op[1] & 0x08)
6825 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6826 #line 897 "rx-decode.opc"
6827 int sd AU = op[0] & 0x03;
6828 #line 897 "rx-decode.opc"
6829 int rdst AU = (op[1] >> 4) & 0x0f;
6830 #line 897 "rx-decode.opc"
6831 int bit AU = op[1] & 0x07;
6834 printf ("\033[33m%s\033[0m %02x %02x\n",
6835 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6837 printf (" sd = 0x%x,", sd);
6838 printf (" rdst = 0x%x,", rdst);
6839 printf (" bit = 0x%x\n", bit);
6841 SYNTAX("bset #%1, %0%S0");
6842 #line 897 "rx-decode.opc"
6843 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6850 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6851 #line 909 "rx-decode.opc"
6852 int sd AU = op[0] & 0x03;
6853 #line 909 "rx-decode.opc"
6854 int rdst AU = (op[1] >> 4) & 0x0f;
6855 #line 909 "rx-decode.opc"
6856 int bit AU = op[1] & 0x07;
6859 printf ("\033[33m%s\033[0m %02x %02x\n",
6860 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6862 printf (" sd = 0x%x,", sd);
6863 printf (" rdst = 0x%x,", rdst);
6864 printf (" bit = 0x%x\n", bit);
6866 SYNTAX("bclr #%1, %0%S0");
6867 #line 909 "rx-decode.opc"
6868 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6876 switch (op[1] & 0x08)
6879 goto op_semantics_42;
6882 goto op_semantics_43;
6888 switch (op[1] & 0x08)
6891 goto op_semantics_42;
6894 goto op_semantics_43;
6900 switch (op[1] & 0x08)
6903 goto op_semantics_42;
6906 goto op_semantics_43;
6912 switch (op[1] & 0x0c)
6918 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6919 #line 921 "rx-decode.opc"
6920 int sd AU = op[0] & 0x03;
6921 #line 921 "rx-decode.opc"
6922 int rdst AU = (op[1] >> 4) & 0x0f;
6923 #line 921 "rx-decode.opc"
6924 int bit AU = op[1] & 0x07;
6927 printf ("\033[33m%s\033[0m %02x %02x\n",
6928 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6930 printf (" sd = 0x%x,", sd);
6931 printf (" rdst = 0x%x,", rdst);
6932 printf (" bit = 0x%x\n", bit);
6934 SYNTAX("btst #%2, %1%S1");
6935 #line 921 "rx-decode.opc"
6936 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
6943 /** 1111 01ss rsrc 10sz push%s %1 */
6944 #line 377 "rx-decode.opc"
6945 int ss AU = op[0] & 0x03;
6946 #line 377 "rx-decode.opc"
6947 int rsrc AU = (op[1] >> 4) & 0x0f;
6948 #line 377 "rx-decode.opc"
6949 int sz AU = op[1] & 0x03;
6952 printf ("\033[33m%s\033[0m %02x %02x\n",
6953 "/** 1111 01ss rsrc 10sz push%s %1 */",
6955 printf (" ss = 0x%x,", ss);
6956 printf (" rsrc = 0x%x,", rsrc);
6957 printf (" sz = 0x%x\n", sz);
6959 SYNTAX("push%s %1");
6960 #line 377 "rx-decode.opc"
6961 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
6963 /*----------------------------------------------------------------------*/
6968 default: UNSUPPORTED(); break;
6973 switch (op[1] & 0x0c)
6977 goto op_semantics_44;
6980 goto op_semantics_45;
6982 default: UNSUPPORTED(); break;
6987 switch (op[1] & 0x0c)
6991 goto op_semantics_44;
6994 goto op_semantics_45;
6996 default: UNSUPPORTED(); break;
7001 switch (op[1] & 0x0c)
7005 goto op_semantics_44;
7008 goto op_semantics_45;
7010 default: UNSUPPORTED(); break;
7015 switch (op[1] & 0x00)
7020 /** 1111 10sd rdst im sz mov%s #%1, %0 */
7021 #line 288 "rx-decode.opc"
7022 int sd AU = op[0] & 0x03;
7023 #line 288 "rx-decode.opc"
7024 int rdst AU = (op[1] >> 4) & 0x0f;
7025 #line 288 "rx-decode.opc"
7026 int im AU = (op[1] >> 2) & 0x03;
7027 #line 288 "rx-decode.opc"
7028 int sz AU = op[1] & 0x03;
7031 printf ("\033[33m%s\033[0m %02x %02x\n",
7032 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7034 printf (" sd = 0x%x,", sd);
7035 printf (" rdst = 0x%x,", rdst);
7036 printf (" im = 0x%x,", im);
7037 printf (" sz = 0x%x\n", sz);
7039 SYNTAX("mov%s #%1, %0");
7040 #line 288 "rx-decode.opc"
7041 ID(mov); DD(sd, rdst, sz);
7042 if ((im == 1 && sz == 0)
7043 || (im == 2 && sz == 1)
7044 || (im == 0 && sz == 2))
7062 switch (op[1] & 0x00)
7065 goto op_semantics_46;
7071 switch (op[1] & 0x00)
7074 goto op_semantics_46;
7080 switch (op[1] & 0x00)
7083 goto op_semantics_46;
7089 switch (op[1] & 0xff)
7093 switch (op[2] & 0x00)
7097 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7098 #line 551 "rx-decode.opc"
7099 int rsrc AU = (op[2] >> 4) & 0x0f;
7100 #line 551 "rx-decode.opc"
7101 int rdst AU = op[2] & 0x0f;
7104 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7105 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7106 op[0], op[1], op[2]);
7107 printf (" rsrc = 0x%x,", rsrc);
7108 printf (" rdst = 0x%x\n", rdst);
7110 SYNTAX("sbb %1, %0");
7111 #line 551 "rx-decode.opc"
7112 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7114 /* FIXME: only supports .L */
7121 switch (op[2] & 0x00)
7125 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7126 #line 482 "rx-decode.opc"
7127 int rsrc AU = (op[2] >> 4) & 0x0f;
7128 #line 482 "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 0111 rsrc rdst neg %2, %0 */",
7134 op[0], op[1], op[2]);
7135 printf (" rsrc = 0x%x,", rsrc);
7136 printf (" rdst = 0x%x\n", rdst);
7138 SYNTAX("neg %2, %0");
7139 #line 482 "rx-decode.opc"
7140 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7142 /*----------------------------------------------------------------------*/
7151 switch (op[2] & 0x00)
7155 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7156 #line 491 "rx-decode.opc"
7157 int rsrc AU = (op[2] >> 4) & 0x0f;
7158 #line 491 "rx-decode.opc"
7159 int rdst AU = op[2] & 0x0f;
7162 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7163 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7164 op[0], op[1], op[2]);
7165 printf (" rsrc = 0x%x,", rsrc);
7166 printf (" rdst = 0x%x\n", rdst);
7168 SYNTAX("adc %1, %0");
7169 #line 491 "rx-decode.opc"
7170 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7178 switch (op[2] & 0x00)
7182 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7183 #line 564 "rx-decode.opc"
7184 int rsrc AU = (op[2] >> 4) & 0x0f;
7185 #line 564 "rx-decode.opc"
7186 int rdst AU = op[2] & 0x0f;
7189 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7190 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7191 op[0], op[1], op[2]);
7192 printf (" rsrc = 0x%x,", rsrc);
7193 printf (" rdst = 0x%x\n", rdst);
7195 SYNTAX("abs %1, %0");
7196 #line 564 "rx-decode.opc"
7197 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7199 /*----------------------------------------------------------------------*/
7208 switch (op[2] & 0x00)
7213 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7214 #line 573 "rx-decode.opc"
7215 int ss AU = op[1] & 0x03;
7216 #line 573 "rx-decode.opc"
7217 int rsrc AU = (op[2] >> 4) & 0x0f;
7218 #line 573 "rx-decode.opc"
7219 int rdst AU = op[2] & 0x0f;
7222 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7223 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7224 op[0], op[1], op[2]);
7225 printf (" ss = 0x%x,", ss);
7226 printf (" rsrc = 0x%x,", rsrc);
7227 printf (" rdst = 0x%x\n", rdst);
7229 SYNTAX("max %1%S1, %0");
7230 #line 573 "rx-decode.opc"
7231 if (ss == 3 && rsrc == 0 && rdst == 0)
7234 SYNTAX ("nop\t; max\tr0, r0");
7238 ID(max); SP(ss, rsrc); DR(rdst);
7247 switch (op[2] & 0x00)
7250 goto op_semantics_47;
7256 switch (op[2] & 0x00)
7259 goto op_semantics_47;
7265 switch (op[2] & 0x00)
7268 goto op_semantics_47;
7274 switch (op[2] & 0x00)
7279 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7280 #line 593 "rx-decode.opc"
7281 int ss AU = op[1] & 0x03;
7282 #line 593 "rx-decode.opc"
7283 int rsrc AU = (op[2] >> 4) & 0x0f;
7284 #line 593 "rx-decode.opc"
7285 int rdst AU = op[2] & 0x0f;
7288 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7289 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7290 op[0], op[1], op[2]);
7291 printf (" ss = 0x%x,", ss);
7292 printf (" rsrc = 0x%x,", rsrc);
7293 printf (" rdst = 0x%x\n", rdst);
7295 SYNTAX("min %1%S1, %0");
7296 #line 593 "rx-decode.opc"
7297 ID(min); SP(ss, rsrc); DR(rdst);
7305 switch (op[2] & 0x00)
7308 goto op_semantics_48;
7314 switch (op[2] & 0x00)
7317 goto op_semantics_48;
7323 switch (op[2] & 0x00)
7326 goto op_semantics_48;
7332 switch (op[2] & 0x00)
7337 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7338 #line 623 "rx-decode.opc"
7339 int ss AU = op[1] & 0x03;
7340 #line 623 "rx-decode.opc"
7341 int rsrc AU = (op[2] >> 4) & 0x0f;
7342 #line 623 "rx-decode.opc"
7343 int rdst AU = op[2] & 0x0f;
7346 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7347 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7348 op[0], op[1], op[2]);
7349 printf (" ss = 0x%x,", ss);
7350 printf (" rsrc = 0x%x,", rsrc);
7351 printf (" rdst = 0x%x\n", rdst);
7353 SYNTAX("emul %1%S1, %0");
7354 #line 623 "rx-decode.opc"
7355 ID(emul); SP(ss, rsrc); DR(rdst);
7363 switch (op[2] & 0x00)
7366 goto op_semantics_49;
7372 switch (op[2] & 0x00)
7375 goto op_semantics_49;
7381 switch (op[2] & 0x00)
7384 goto op_semantics_49;
7390 switch (op[2] & 0x00)
7395 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7396 #line 635 "rx-decode.opc"
7397 int ss AU = op[1] & 0x03;
7398 #line 635 "rx-decode.opc"
7399 int rsrc AU = (op[2] >> 4) & 0x0f;
7400 #line 635 "rx-decode.opc"
7401 int rdst AU = op[2] & 0x0f;
7404 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7405 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7406 op[0], op[1], op[2]);
7407 printf (" ss = 0x%x,", ss);
7408 printf (" rsrc = 0x%x,", rsrc);
7409 printf (" rdst = 0x%x\n", rdst);
7411 SYNTAX("emulu %1%S1, %0");
7412 #line 635 "rx-decode.opc"
7413 ID(emulu); SP(ss, rsrc); DR(rdst);
7421 switch (op[2] & 0x00)
7424 goto op_semantics_50;
7430 switch (op[2] & 0x00)
7433 goto op_semantics_50;
7439 switch (op[2] & 0x00)
7442 goto op_semantics_50;
7448 switch (op[2] & 0x00)
7453 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7454 #line 647 "rx-decode.opc"
7455 int ss AU = op[1] & 0x03;
7456 #line 647 "rx-decode.opc"
7457 int rsrc AU = (op[2] >> 4) & 0x0f;
7458 #line 647 "rx-decode.opc"
7459 int rdst AU = op[2] & 0x0f;
7462 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7463 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7464 op[0], op[1], op[2]);
7465 printf (" ss = 0x%x,", ss);
7466 printf (" rsrc = 0x%x,", rsrc);
7467 printf (" rdst = 0x%x\n", rdst);
7469 SYNTAX("div %1%S1, %0");
7470 #line 647 "rx-decode.opc"
7471 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7479 switch (op[2] & 0x00)
7482 goto op_semantics_51;
7488 switch (op[2] & 0x00)
7491 goto op_semantics_51;
7497 switch (op[2] & 0x00)
7500 goto op_semantics_51;
7506 switch (op[2] & 0x00)
7511 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7512 #line 659 "rx-decode.opc"
7513 int ss AU = op[1] & 0x03;
7514 #line 659 "rx-decode.opc"
7515 int rsrc AU = (op[2] >> 4) & 0x0f;
7516 #line 659 "rx-decode.opc"
7517 int rdst AU = op[2] & 0x0f;
7520 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7521 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7522 op[0], op[1], op[2]);
7523 printf (" ss = 0x%x,", ss);
7524 printf (" rsrc = 0x%x,", rsrc);
7525 printf (" rdst = 0x%x\n", rdst);
7527 SYNTAX("divu %1%S1, %0");
7528 #line 659 "rx-decode.opc"
7529 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7537 switch (op[2] & 0x00)
7540 goto op_semantics_52;
7546 switch (op[2] & 0x00)
7549 goto op_semantics_52;
7555 switch (op[2] & 0x00)
7558 goto op_semantics_52;
7564 switch (op[2] & 0x00)
7569 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7570 #line 470 "rx-decode.opc"
7571 int ss AU = op[1] & 0x03;
7572 #line 470 "rx-decode.opc"
7573 int rsrc AU = (op[2] >> 4) & 0x0f;
7574 #line 470 "rx-decode.opc"
7575 int rdst AU = op[2] & 0x0f;
7578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7579 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7580 op[0], op[1], op[2]);
7581 printf (" ss = 0x%x,", ss);
7582 printf (" rsrc = 0x%x,", rsrc);
7583 printf (" rdst = 0x%x\n", rdst);
7585 SYNTAX("tst %1%S1, %2");
7586 #line 470 "rx-decode.opc"
7587 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7595 switch (op[2] & 0x00)
7598 goto op_semantics_53;
7604 switch (op[2] & 0x00)
7607 goto op_semantics_53;
7613 switch (op[2] & 0x00)
7616 goto op_semantics_53;
7622 switch (op[2] & 0x00)
7627 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7628 #line 449 "rx-decode.opc"
7629 int ss AU = op[1] & 0x03;
7630 #line 449 "rx-decode.opc"
7631 int rsrc AU = (op[2] >> 4) & 0x0f;
7632 #line 449 "rx-decode.opc"
7633 int rdst AU = op[2] & 0x0f;
7636 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7637 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7638 op[0], op[1], op[2]);
7639 printf (" ss = 0x%x,", ss);
7640 printf (" rsrc = 0x%x,", rsrc);
7641 printf (" rdst = 0x%x\n", rdst);
7643 SYNTAX("xor %1%S1, %0");
7644 #line 449 "rx-decode.opc"
7645 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7653 switch (op[2] & 0x00)
7656 goto op_semantics_54;
7662 switch (op[2] & 0x00)
7665 goto op_semantics_54;
7671 switch (op[2] & 0x00)
7674 goto op_semantics_54;
7680 switch (op[2] & 0x00)
7684 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7685 #line 461 "rx-decode.opc"
7686 int rsrc AU = (op[2] >> 4) & 0x0f;
7687 #line 461 "rx-decode.opc"
7688 int rdst AU = op[2] & 0x0f;
7691 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7692 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7693 op[0], op[1], op[2]);
7694 printf (" rsrc = 0x%x,", rsrc);
7695 printf (" rdst = 0x%x\n", rdst);
7697 SYNTAX("not %1, %0");
7698 #line 461 "rx-decode.opc"
7699 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7701 /*----------------------------------------------------------------------*/
7710 switch (op[2] & 0x00)
7715 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7716 #line 383 "rx-decode.opc"
7717 int ss AU = op[1] & 0x03;
7718 #line 383 "rx-decode.opc"
7719 int rsrc AU = (op[2] >> 4) & 0x0f;
7720 #line 383 "rx-decode.opc"
7721 int rdst AU = op[2] & 0x0f;
7724 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7725 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7726 op[0], op[1], op[2]);
7727 printf (" ss = 0x%x,", ss);
7728 printf (" rsrc = 0x%x,", rsrc);
7729 printf (" rdst = 0x%x\n", rdst);
7731 SYNTAX("xchg %1%S1, %0");
7732 #line 383 "rx-decode.opc"
7733 ID(xchg); DR(rdst); SP(ss, rsrc);
7741 switch (op[2] & 0x00)
7744 goto op_semantics_55;
7750 switch (op[2] & 0x00)
7753 goto op_semantics_55;
7759 switch (op[2] & 0x00)
7762 goto op_semantics_55;
7768 switch (op[2] & 0x00)
7773 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7774 #line 888 "rx-decode.opc"
7775 int sd AU = op[1] & 0x03;
7776 #line 888 "rx-decode.opc"
7777 int rsrc AU = (op[2] >> 4) & 0x0f;
7778 #line 888 "rx-decode.opc"
7779 int rdst AU = op[2] & 0x0f;
7782 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7783 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7784 op[0], op[1], op[2]);
7785 printf (" sd = 0x%x,", sd);
7786 printf (" rsrc = 0x%x,", rsrc);
7787 printf (" rdst = 0x%x\n", rdst);
7789 SYNTAX("itof %1%S1, %0");
7790 #line 888 "rx-decode.opc"
7791 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7799 switch (op[2] & 0x00)
7802 goto op_semantics_56;
7808 switch (op[2] & 0x00)
7811 goto op_semantics_56;
7817 switch (op[2] & 0x00)
7820 goto op_semantics_56;
7826 switch (op[2] & 0x00)
7831 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7832 #line 900 "rx-decode.opc"
7833 int sd AU = op[1] & 0x03;
7834 #line 900 "rx-decode.opc"
7835 int rdst AU = (op[2] >> 4) & 0x0f;
7836 #line 900 "rx-decode.opc"
7837 int rsrc AU = op[2] & 0x0f;
7840 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7841 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7842 op[0], op[1], op[2]);
7843 printf (" sd = 0x%x,", sd);
7844 printf (" rdst = 0x%x,", rdst);
7845 printf (" rsrc = 0x%x\n", rsrc);
7847 SYNTAX("bset %1, %0%S0");
7848 #line 900 "rx-decode.opc"
7849 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7850 if (sd == 3) /* bset reg,reg */
7859 switch (op[2] & 0x00)
7862 goto op_semantics_57;
7868 switch (op[2] & 0x00)
7871 goto op_semantics_57;
7877 switch (op[2] & 0x00)
7880 goto op_semantics_57;
7886 switch (op[2] & 0x00)
7891 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7892 #line 912 "rx-decode.opc"
7893 int sd AU = op[1] & 0x03;
7894 #line 912 "rx-decode.opc"
7895 int rdst AU = (op[2] >> 4) & 0x0f;
7896 #line 912 "rx-decode.opc"
7897 int rsrc AU = op[2] & 0x0f;
7900 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7901 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7902 op[0], op[1], op[2]);
7903 printf (" sd = 0x%x,", sd);
7904 printf (" rdst = 0x%x,", rdst);
7905 printf (" rsrc = 0x%x\n", rsrc);
7907 SYNTAX("bclr %1, %0%S0");
7908 #line 912 "rx-decode.opc"
7909 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7910 if (sd == 3) /* bset reg,reg */
7919 switch (op[2] & 0x00)
7922 goto op_semantics_58;
7928 switch (op[2] & 0x00)
7931 goto op_semantics_58;
7937 switch (op[2] & 0x00)
7940 goto op_semantics_58;
7946 switch (op[2] & 0x00)
7951 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7952 #line 924 "rx-decode.opc"
7953 int sd AU = op[1] & 0x03;
7954 #line 924 "rx-decode.opc"
7955 int rdst AU = (op[2] >> 4) & 0x0f;
7956 #line 924 "rx-decode.opc"
7957 int rsrc AU = op[2] & 0x0f;
7960 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7961 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7962 op[0], op[1], op[2]);
7963 printf (" sd = 0x%x,", sd);
7964 printf (" rdst = 0x%x,", rdst);
7965 printf (" rsrc = 0x%x\n", rsrc);
7967 SYNTAX("btst %2, %1%S1");
7968 #line 924 "rx-decode.opc"
7969 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
7970 if (sd == 3) /* bset reg,reg */
7979 switch (op[2] & 0x00)
7982 goto op_semantics_59;
7988 switch (op[2] & 0x00)
7991 goto op_semantics_59;
7997 switch (op[2] & 0x00)
8000 goto op_semantics_59;
8006 switch (op[2] & 0x00)
8011 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8012 #line 936 "rx-decode.opc"
8013 int sd AU = op[1] & 0x03;
8014 #line 936 "rx-decode.opc"
8015 int rdst AU = (op[2] >> 4) & 0x0f;
8016 #line 936 "rx-decode.opc"
8017 int rsrc AU = op[2] & 0x0f;
8020 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8021 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8022 op[0], op[1], op[2]);
8023 printf (" sd = 0x%x,", sd);
8024 printf (" rdst = 0x%x,", rdst);
8025 printf (" rsrc = 0x%x\n", rsrc);
8027 SYNTAX("bnot %1, %0%S0");
8028 #line 936 "rx-decode.opc"
8029 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8030 if (sd == 3) /* bset reg,reg */
8039 switch (op[2] & 0x00)
8042 goto op_semantics_60;
8048 switch (op[2] & 0x00)
8051 goto op_semantics_60;
8057 switch (op[2] & 0x00)
8060 goto op_semantics_60;
8066 switch (op[2] & 0x00)
8071 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8072 #line 867 "rx-decode.opc"
8073 int sd AU = op[1] & 0x03;
8074 #line 867 "rx-decode.opc"
8075 int rsrc AU = (op[2] >> 4) & 0x0f;
8076 #line 867 "rx-decode.opc"
8077 int rdst AU = op[2] & 0x0f;
8080 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8081 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8082 op[0], op[1], op[2]);
8083 printf (" sd = 0x%x,", sd);
8084 printf (" rsrc = 0x%x,", rsrc);
8085 printf (" rdst = 0x%x\n", rdst);
8087 SYNTAX("fsub %1%S1, %0");
8088 #line 867 "rx-decode.opc"
8089 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8097 switch (op[2] & 0x00)
8100 goto op_semantics_61;
8106 switch (op[2] & 0x00)
8109 goto op_semantics_61;
8115 switch (op[2] & 0x00)
8118 goto op_semantics_61;
8124 switch (op[2] & 0x00)
8129 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8130 #line 861 "rx-decode.opc"
8131 int sd AU = op[1] & 0x03;
8132 #line 861 "rx-decode.opc"
8133 int rsrc AU = (op[2] >> 4) & 0x0f;
8134 #line 861 "rx-decode.opc"
8135 int rdst AU = op[2] & 0x0f;
8138 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8139 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8140 op[0], op[1], op[2]);
8141 printf (" sd = 0x%x,", sd);
8142 printf (" rsrc = 0x%x,", rsrc);
8143 printf (" rdst = 0x%x\n", rdst);
8145 SYNTAX("fcmp %1%S1, %0");
8146 #line 861 "rx-decode.opc"
8147 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8155 switch (op[2] & 0x00)
8158 goto op_semantics_62;
8164 switch (op[2] & 0x00)
8167 goto op_semantics_62;
8173 switch (op[2] & 0x00)
8176 goto op_semantics_62;
8182 switch (op[2] & 0x00)
8187 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8188 #line 855 "rx-decode.opc"
8189 int sd AU = op[1] & 0x03;
8190 #line 855 "rx-decode.opc"
8191 int rsrc AU = (op[2] >> 4) & 0x0f;
8192 #line 855 "rx-decode.opc"
8193 int rdst AU = op[2] & 0x0f;
8196 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8197 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8198 op[0], op[1], op[2]);
8199 printf (" sd = 0x%x,", sd);
8200 printf (" rsrc = 0x%x,", rsrc);
8201 printf (" rdst = 0x%x\n", rdst);
8203 SYNTAX("fadd %1%S1, %0");
8204 #line 855 "rx-decode.opc"
8205 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8213 switch (op[2] & 0x00)
8216 goto op_semantics_63;
8222 switch (op[2] & 0x00)
8225 goto op_semantics_63;
8231 switch (op[2] & 0x00)
8234 goto op_semantics_63;
8240 switch (op[2] & 0x00)
8245 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8246 #line 876 "rx-decode.opc"
8247 int sd AU = op[1] & 0x03;
8248 #line 876 "rx-decode.opc"
8249 int rsrc AU = (op[2] >> 4) & 0x0f;
8250 #line 876 "rx-decode.opc"
8251 int rdst AU = op[2] & 0x0f;
8254 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8255 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8256 op[0], op[1], op[2]);
8257 printf (" sd = 0x%x,", sd);
8258 printf (" rsrc = 0x%x,", rsrc);
8259 printf (" rdst = 0x%x\n", rdst);
8261 SYNTAX("fmul %1%S1, %0");
8262 #line 876 "rx-decode.opc"
8263 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8271 switch (op[2] & 0x00)
8274 goto op_semantics_64;
8280 switch (op[2] & 0x00)
8283 goto op_semantics_64;
8289 switch (op[2] & 0x00)
8292 goto op_semantics_64;
8298 switch (op[2] & 0x00)
8303 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8304 #line 882 "rx-decode.opc"
8305 int sd AU = op[1] & 0x03;
8306 #line 882 "rx-decode.opc"
8307 int rsrc AU = (op[2] >> 4) & 0x0f;
8308 #line 882 "rx-decode.opc"
8309 int rdst AU = op[2] & 0x0f;
8312 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8313 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8314 op[0], op[1], op[2]);
8315 printf (" sd = 0x%x,", sd);
8316 printf (" rsrc = 0x%x,", rsrc);
8317 printf (" rdst = 0x%x\n", rdst);
8319 SYNTAX("fdiv %1%S1, %0");
8320 #line 882 "rx-decode.opc"
8321 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8329 switch (op[2] & 0x00)
8332 goto op_semantics_65;
8338 switch (op[2] & 0x00)
8341 goto op_semantics_65;
8347 switch (op[2] & 0x00)
8350 goto op_semantics_65;
8356 switch (op[2] & 0x00)
8361 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8362 #line 870 "rx-decode.opc"
8363 int sd AU = op[1] & 0x03;
8364 #line 870 "rx-decode.opc"
8365 int rsrc AU = (op[2] >> 4) & 0x0f;
8366 #line 870 "rx-decode.opc"
8367 int rdst AU = op[2] & 0x0f;
8370 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8371 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8372 op[0], op[1], op[2]);
8373 printf (" sd = 0x%x,", sd);
8374 printf (" rsrc = 0x%x,", rsrc);
8375 printf (" rdst = 0x%x\n", rdst);
8377 SYNTAX("ftoi %1%S1, %0");
8378 #line 870 "rx-decode.opc"
8379 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8387 switch (op[2] & 0x00)
8390 goto op_semantics_66;
8396 switch (op[2] & 0x00)
8399 goto op_semantics_66;
8405 switch (op[2] & 0x00)
8408 goto op_semantics_66;
8414 switch (op[2] & 0x00)
8419 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8420 #line 885 "rx-decode.opc"
8421 int sd AU = op[1] & 0x03;
8422 #line 885 "rx-decode.opc"
8423 int rsrc AU = (op[2] >> 4) & 0x0f;
8424 #line 885 "rx-decode.opc"
8425 int rdst AU = op[2] & 0x0f;
8428 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8429 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8430 op[0], op[1], op[2]);
8431 printf (" sd = 0x%x,", sd);
8432 printf (" rsrc = 0x%x,", rsrc);
8433 printf (" rdst = 0x%x\n", rdst);
8435 SYNTAX("round %1%S1, %0");
8436 #line 885 "rx-decode.opc"
8437 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8445 switch (op[2] & 0x00)
8448 goto op_semantics_67;
8454 switch (op[2] & 0x00)
8457 goto op_semantics_67;
8463 switch (op[2] & 0x00)
8466 goto op_semantics_67;
8472 switch (op[2] & 0x00)
8477 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8478 #line 1002 "rx-decode.opc"
8479 int sz AU = (op[1] >> 2) & 0x03;
8480 #line 1002 "rx-decode.opc"
8481 int sd AU = op[1] & 0x03;
8482 #line 1002 "rx-decode.opc"
8483 int rdst AU = (op[2] >> 4) & 0x0f;
8484 #line 1002 "rx-decode.opc"
8485 int cond AU = op[2] & 0x0f;
8488 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8489 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8490 op[0], op[1], op[2]);
8491 printf (" sz = 0x%x,", sz);
8492 printf (" sd = 0x%x,", sd);
8493 printf (" rdst = 0x%x,", rdst);
8494 printf (" cond = 0x%x\n", cond);
8496 SYNTAX("sc%1%s %0");
8497 #line 1002 "rx-decode.opc"
8498 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8506 switch (op[2] & 0x00)
8509 goto op_semantics_68;
8515 switch (op[2] & 0x00)
8518 goto op_semantics_68;
8524 switch (op[2] & 0x00)
8527 goto op_semantics_68;
8533 switch (op[2] & 0x00)
8536 goto op_semantics_68;
8542 switch (op[2] & 0x00)
8545 goto op_semantics_68;
8551 switch (op[2] & 0x00)
8554 goto op_semantics_68;
8560 switch (op[2] & 0x00)
8563 goto op_semantics_68;
8569 switch (op[2] & 0x00)
8572 goto op_semantics_68;
8578 switch (op[2] & 0x00)
8581 goto op_semantics_68;
8587 switch (op[2] & 0x00)
8590 goto op_semantics_68;
8596 switch (op[2] & 0x00)
8599 goto op_semantics_68;
8605 switch (op[2] & 0x0f)
8624 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8625 #line 945 "rx-decode.opc"
8626 int bit AU = (op[1] >> 2) & 0x07;
8627 #line 945 "rx-decode.opc"
8628 int sd AU = op[1] & 0x03;
8629 #line 945 "rx-decode.opc"
8630 int rdst AU = (op[2] >> 4) & 0x0f;
8631 #line 945 "rx-decode.opc"
8632 int cond AU = op[2] & 0x0f;
8635 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8636 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8637 op[0], op[1], op[2]);
8638 printf (" bit = 0x%x,", bit);
8639 printf (" sd = 0x%x,", sd);
8640 printf (" rdst = 0x%x,", rdst);
8641 printf (" cond = 0x%x\n", cond);
8643 SYNTAX("bm%2 #%1, %0%S0");
8644 #line 945 "rx-decode.opc"
8645 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
8652 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8653 #line 933 "rx-decode.opc"
8654 int bit AU = (op[1] >> 2) & 0x07;
8655 #line 933 "rx-decode.opc"
8656 int sd AU = op[1] & 0x03;
8657 #line 933 "rx-decode.opc"
8658 int rdst AU = (op[2] >> 4) & 0x0f;
8661 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8662 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8663 op[0], op[1], op[2]);
8664 printf (" bit = 0x%x,", bit);
8665 printf (" sd = 0x%x,", sd);
8666 printf (" rdst = 0x%x\n", rdst);
8668 SYNTAX("bnot #%1, %0%S0");
8669 #line 933 "rx-decode.opc"
8670 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
8678 switch (op[2] & 0x0f)
8695 goto op_semantics_69;
8698 goto op_semantics_70;
8704 switch (op[2] & 0x0f)
8721 goto op_semantics_69;
8724 goto op_semantics_70;
8730 switch (op[2] & 0x0f)
8747 goto op_semantics_69;
8750 goto op_semantics_70;
8756 switch (op[2] & 0x0f)
8773 goto op_semantics_69;
8776 goto op_semantics_70;
8782 switch (op[2] & 0x0f)
8799 goto op_semantics_69;
8802 goto op_semantics_70;
8808 switch (op[2] & 0x0f)
8825 goto op_semantics_69;
8828 goto op_semantics_70;
8834 switch (op[2] & 0x0f)
8851 goto op_semantics_69;
8854 goto op_semantics_70;
8860 switch (op[2] & 0x0f)
8877 goto op_semantics_69;
8880 goto op_semantics_70;
8886 switch (op[2] & 0x0f)
8903 goto op_semantics_69;
8906 goto op_semantics_70;
8912 switch (op[2] & 0x0f)
8929 goto op_semantics_69;
8932 goto op_semantics_70;
8938 switch (op[2] & 0x0f)
8955 goto op_semantics_69;
8958 goto op_semantics_70;
8964 switch (op[2] & 0x0f)
8981 goto op_semantics_69;
8984 goto op_semantics_70;
8990 switch (op[2] & 0x0f)
9007 goto op_semantics_69;
9010 goto op_semantics_70;
9016 switch (op[2] & 0x0f)
9033 goto op_semantics_69;
9036 goto op_semantics_70;
9042 switch (op[2] & 0x0f)
9059 goto op_semantics_69;
9062 goto op_semantics_70;
9068 switch (op[2] & 0x0f)
9085 goto op_semantics_69;
9088 goto op_semantics_70;
9094 switch (op[2] & 0x0f)
9111 goto op_semantics_69;
9114 goto op_semantics_70;
9120 switch (op[2] & 0x0f)
9137 goto op_semantics_69;
9140 goto op_semantics_70;
9146 switch (op[2] & 0x0f)
9163 goto op_semantics_69;
9166 goto op_semantics_70;
9172 switch (op[2] & 0x0f)
9189 goto op_semantics_69;
9192 goto op_semantics_70;
9198 switch (op[2] & 0x0f)
9215 goto op_semantics_69;
9218 goto op_semantics_70;
9224 switch (op[2] & 0x0f)
9241 goto op_semantics_69;
9244 goto op_semantics_70;
9250 switch (op[2] & 0x0f)
9267 goto op_semantics_69;
9270 goto op_semantics_70;
9276 switch (op[2] & 0x0f)
9293 goto op_semantics_69;
9296 goto op_semantics_70;
9302 switch (op[2] & 0x0f)
9319 goto op_semantics_69;
9322 goto op_semantics_70;
9328 switch (op[2] & 0x0f)
9345 goto op_semantics_69;
9348 goto op_semantics_70;
9354 switch (op[2] & 0x0f)
9371 goto op_semantics_69;
9374 goto op_semantics_70;
9380 switch (op[2] & 0x0f)
9397 goto op_semantics_69;
9400 goto op_semantics_70;
9406 switch (op[2] & 0x0f)
9423 goto op_semantics_69;
9426 goto op_semantics_70;
9432 switch (op[2] & 0x0f)
9449 goto op_semantics_69;
9452 goto op_semantics_70;
9458 switch (op[2] & 0x0f)
9475 goto op_semantics_69;
9478 goto op_semantics_70;
9482 default: UNSUPPORTED(); break;
9487 switch (op[1] & 0xff)
9491 switch (op[2] & 0x00)
9495 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9496 #line 810 "rx-decode.opc"
9497 int srca AU = (op[2] >> 4) & 0x0f;
9498 #line 810 "rx-decode.opc"
9499 int srcb AU = op[2] & 0x0f;
9502 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9503 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9504 op[0], op[1], op[2]);
9505 printf (" srca = 0x%x,", srca);
9506 printf (" srcb = 0x%x\n", srcb);
9508 SYNTAX("mulhi %1, %2");
9509 #line 810 "rx-decode.opc"
9510 ID(mulhi); SR(srca); S2R(srcb); F_____;
9518 switch (op[2] & 0x00)
9522 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9523 #line 813 "rx-decode.opc"
9524 int srca AU = (op[2] >> 4) & 0x0f;
9525 #line 813 "rx-decode.opc"
9526 int srcb AU = op[2] & 0x0f;
9529 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9530 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9531 op[0], op[1], op[2]);
9532 printf (" srca = 0x%x,", srca);
9533 printf (" srcb = 0x%x\n", srcb);
9535 SYNTAX("mullo %1, %2");
9536 #line 813 "rx-decode.opc"
9537 ID(mullo); SR(srca); S2R(srcb); F_____;
9545 switch (op[2] & 0x00)
9549 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9550 #line 816 "rx-decode.opc"
9551 int srca AU = (op[2] >> 4) & 0x0f;
9552 #line 816 "rx-decode.opc"
9553 int srcb AU = op[2] & 0x0f;
9556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9557 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9558 op[0], op[1], op[2]);
9559 printf (" srca = 0x%x,", srca);
9560 printf (" srcb = 0x%x\n", srcb);
9562 SYNTAX("machi %1, %2");
9563 #line 816 "rx-decode.opc"
9564 ID(machi); SR(srca); S2R(srcb); F_____;
9572 switch (op[2] & 0x00)
9576 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9577 #line 819 "rx-decode.opc"
9578 int srca AU = (op[2] >> 4) & 0x0f;
9579 #line 819 "rx-decode.opc"
9580 int srcb AU = op[2] & 0x0f;
9583 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9584 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9585 op[0], op[1], op[2]);
9586 printf (" srca = 0x%x,", srca);
9587 printf (" srcb = 0x%x\n", srcb);
9589 SYNTAX("maclo %1, %2");
9590 #line 819 "rx-decode.opc"
9591 ID(maclo); SR(srca); S2R(srcb); F_____;
9599 switch (op[2] & 0xf0)
9603 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9604 #line 822 "rx-decode.opc"
9605 int rsrc AU = op[2] & 0x0f;
9608 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9609 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9610 op[0], op[1], op[2]);
9611 printf (" rsrc = 0x%x\n", rsrc);
9613 SYNTAX("mvtachi %1");
9614 #line 822 "rx-decode.opc"
9615 ID(mvtachi); SR(rsrc); F_____;
9621 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9622 #line 825 "rx-decode.opc"
9623 int rsrc AU = op[2] & 0x0f;
9626 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9627 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9628 op[0], op[1], op[2]);
9629 printf (" rsrc = 0x%x\n", rsrc);
9631 SYNTAX("mvtaclo %1");
9632 #line 825 "rx-decode.opc"
9633 ID(mvtaclo); SR(rsrc); F_____;
9637 default: UNSUPPORTED(); break;
9642 switch (op[2] & 0xef)
9646 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9647 #line 837 "rx-decode.opc"
9648 int i AU = (op[2] >> 4) & 0x01;
9651 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9652 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9653 op[0], op[1], op[2]);
9654 printf (" i = 0x%x\n", i);
9657 #line 837 "rx-decode.opc"
9658 ID(racw); SC(i+1); F_____;
9660 /*----------------------------------------------------------------------*/
9665 default: UNSUPPORTED(); break;
9670 switch (op[2] & 0xf0)
9674 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9675 #line 828 "rx-decode.opc"
9676 int rdst AU = op[2] & 0x0f;
9679 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9680 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9681 op[0], op[1], op[2]);
9682 printf (" rdst = 0x%x\n", rdst);
9684 SYNTAX("mvfachi %0");
9685 #line 828 "rx-decode.opc"
9686 ID(mvfachi); DR(rdst); F_____;
9692 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9693 #line 834 "rx-decode.opc"
9694 int rdst AU = op[2] & 0x0f;
9697 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9698 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9699 op[0], op[1], op[2]);
9700 printf (" rdst = 0x%x\n", rdst);
9702 SYNTAX("mvfaclo %0");
9703 #line 834 "rx-decode.opc"
9704 ID(mvfaclo); DR(rdst); F_____;
9710 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9711 #line 831 "rx-decode.opc"
9712 int rdst AU = op[2] & 0x0f;
9715 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9716 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9717 op[0], op[1], op[2]);
9718 printf (" rdst = 0x%x\n", rdst);
9720 SYNTAX("mvfacmi %0");
9721 #line 831 "rx-decode.opc"
9722 ID(mvfacmi); DR(rdst); F_____;
9726 default: UNSUPPORTED(); break;
9731 switch (op[2] & 0x00)
9736 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9737 #line 344 "rx-decode.opc"
9738 int p AU = (op[1] >> 2) & 0x01;
9739 #line 344 "rx-decode.opc"
9740 int sz AU = op[1] & 0x03;
9741 #line 344 "rx-decode.opc"
9742 int rdst AU = (op[2] >> 4) & 0x0f;
9743 #line 344 "rx-decode.opc"
9744 int rsrc AU = op[2] & 0x0f;
9747 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9748 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9749 op[0], op[1], op[2]);
9750 printf (" p = 0x%x,", p);
9751 printf (" sz = 0x%x,", sz);
9752 printf (" rdst = 0x%x,", rdst);
9753 printf (" rsrc = 0x%x\n", rsrc);
9755 SYNTAX("mov%s %1, %0");
9756 #line 344 "rx-decode.opc"
9757 ID(mov); sBWL (sz); SR(rsrc); F_____;
9758 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
9766 switch (op[2] & 0x00)
9769 goto op_semantics_71;
9775 switch (op[2] & 0x00)
9778 goto op_semantics_71;
9784 switch (op[2] & 0x00)
9787 goto op_semantics_71;
9793 switch (op[2] & 0x00)
9796 goto op_semantics_71;
9802 switch (op[2] & 0x00)
9805 goto op_semantics_71;
9811 switch (op[2] & 0x00)
9816 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9817 #line 348 "rx-decode.opc"
9818 int p AU = (op[1] >> 2) & 0x01;
9819 #line 348 "rx-decode.opc"
9820 int sz AU = op[1] & 0x03;
9821 #line 348 "rx-decode.opc"
9822 int rsrc AU = (op[2] >> 4) & 0x0f;
9823 #line 348 "rx-decode.opc"
9824 int rdst AU = op[2] & 0x0f;
9827 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9828 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9829 op[0], op[1], op[2]);
9830 printf (" p = 0x%x,", p);
9831 printf (" sz = 0x%x,", sz);
9832 printf (" rsrc = 0x%x,", rsrc);
9833 printf (" rdst = 0x%x\n", rdst);
9835 SYNTAX("mov%s %1, %0");
9836 #line 348 "rx-decode.opc"
9837 ID(mov); sBWL (sz); DR(rdst); F_____;
9838 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9846 switch (op[2] & 0x00)
9849 goto op_semantics_72;
9855 switch (op[2] & 0x00)
9858 goto op_semantics_72;
9864 switch (op[2] & 0x00)
9867 goto op_semantics_72;
9873 switch (op[2] & 0x00)
9876 goto op_semantics_72;
9882 switch (op[2] & 0x00)
9885 goto op_semantics_72;
9891 switch (op[2] & 0x00)
9896 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9897 #line 358 "rx-decode.opc"
9898 int p AU = (op[1] >> 2) & 0x01;
9899 #line 358 "rx-decode.opc"
9900 int sz AU = op[1] & 0x03;
9901 #line 358 "rx-decode.opc"
9902 int rsrc AU = (op[2] >> 4) & 0x0f;
9903 #line 358 "rx-decode.opc"
9904 int rdst AU = op[2] & 0x0f;
9907 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9908 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9909 op[0], op[1], op[2]);
9910 printf (" p = 0x%x,", p);
9911 printf (" sz = 0x%x,", sz);
9912 printf (" rsrc = 0x%x,", rsrc);
9913 printf (" rdst = 0x%x\n", rdst);
9915 SYNTAX("movu%s %1, %0");
9916 #line 358 "rx-decode.opc"
9917 ID(mov); uBW (sz); DR(rdst); F_____;
9918 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9920 /*----------------------------------------------------------------------*/
9929 switch (op[2] & 0x00)
9932 goto op_semantics_73;
9938 switch (op[2] & 0x00)
9941 goto op_semantics_73;
9947 switch (op[2] & 0x00)
9950 goto op_semantics_73;
9956 switch (op[2] & 0x00)
9959 goto op_semantics_73;
9965 switch (op[2] & 0x00)
9968 goto op_semantics_73;
9974 switch (op[2] & 0x00)
9978 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9979 #line 691 "rx-decode.opc"
9980 int rsrc AU = (op[2] >> 4) & 0x0f;
9981 #line 691 "rx-decode.opc"
9982 int rdst AU = op[2] & 0x0f;
9985 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9986 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9987 op[0], op[1], op[2]);
9988 printf (" rsrc = 0x%x,", rsrc);
9989 printf (" rdst = 0x%x\n", rdst);
9991 SYNTAX("shlr %2, %0");
9992 #line 691 "rx-decode.opc"
9993 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
10001 switch (op[2] & 0x00)
10005 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
10006 #line 681 "rx-decode.opc"
10007 int rsrc AU = (op[2] >> 4) & 0x0f;
10008 #line 681 "rx-decode.opc"
10009 int rdst AU = op[2] & 0x0f;
10012 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10013 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
10014 op[0], op[1], op[2]);
10015 printf (" rsrc = 0x%x,", rsrc);
10016 printf (" rdst = 0x%x\n", rdst);
10018 SYNTAX("shar %2, %0");
10019 #line 681 "rx-decode.opc"
10020 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
10028 switch (op[2] & 0x00)
10032 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
10033 #line 671 "rx-decode.opc"
10034 int rsrc AU = (op[2] >> 4) & 0x0f;
10035 #line 671 "rx-decode.opc"
10036 int rdst AU = op[2] & 0x0f;
10039 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10040 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
10041 op[0], op[1], op[2]);
10042 printf (" rsrc = 0x%x,", rsrc);
10043 printf (" rdst = 0x%x\n", rdst);
10045 SYNTAX("shll %2, %0");
10046 #line 671 "rx-decode.opc"
10047 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
10055 switch (op[2] & 0x00)
10059 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
10060 #line 715 "rx-decode.opc"
10061 int rsrc AU = (op[2] >> 4) & 0x0f;
10062 #line 715 "rx-decode.opc"
10063 int rdst AU = op[2] & 0x0f;
10066 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10067 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
10068 op[0], op[1], op[2]);
10069 printf (" rsrc = 0x%x,", rsrc);
10070 printf (" rdst = 0x%x\n", rdst);
10072 SYNTAX("rotr %1, %0");
10073 #line 715 "rx-decode.opc"
10074 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
10082 switch (op[2] & 0x00)
10086 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10087 #line 718 "rx-decode.opc"
10088 int rsrc AU = (op[2] >> 4) & 0x0f;
10089 #line 718 "rx-decode.opc"
10090 int rdst AU = op[2] & 0x0f;
10093 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10094 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10095 op[0], op[1], op[2]);
10096 printf (" rsrc = 0x%x,", rsrc);
10097 printf (" rdst = 0x%x\n", rdst);
10099 SYNTAX("revw %1, %0");
10100 #line 718 "rx-decode.opc"
10101 ID(revw); SR(rsrc); DR(rdst);
10109 switch (op[2] & 0x00)
10113 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10114 #line 709 "rx-decode.opc"
10115 int rsrc AU = (op[2] >> 4) & 0x0f;
10116 #line 709 "rx-decode.opc"
10117 int rdst AU = op[2] & 0x0f;
10120 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10121 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10122 op[0], op[1], op[2]);
10123 printf (" rsrc = 0x%x,", rsrc);
10124 printf (" rdst = 0x%x\n", rdst);
10126 SYNTAX("rotl %1, %0");
10127 #line 709 "rx-decode.opc"
10128 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
10136 switch (op[2] & 0x00)
10140 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10141 #line 721 "rx-decode.opc"
10142 int rsrc AU = (op[2] >> 4) & 0x0f;
10143 #line 721 "rx-decode.opc"
10144 int rdst AU = op[2] & 0x0f;
10147 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10148 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10149 op[0], op[1], op[2]);
10150 printf (" rsrc = 0x%x,", rsrc);
10151 printf (" rdst = 0x%x\n", rdst);
10153 SYNTAX("revl %1, %0");
10154 #line 721 "rx-decode.opc"
10155 ID(revl); SR(rsrc); DR(rdst);
10157 /*----------------------------------------------------------------------*/
10166 switch (op[2] & 0x00)
10171 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10172 #line 972 "rx-decode.opc"
10173 int c AU = op[1] & 0x01;
10174 #line 972 "rx-decode.opc"
10175 int rsrc AU = (op[2] >> 4) & 0x0f;
10176 #line 972 "rx-decode.opc"
10177 int rdst AU = op[2] & 0x0f;
10180 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10181 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10182 op[0], op[1], op[2]);
10183 printf (" c = 0x%x,", c);
10184 printf (" rsrc = 0x%x,", rsrc);
10185 printf (" rdst = 0x%x\n", rdst);
10187 SYNTAX("mvtc %1, %0");
10188 #line 972 "rx-decode.opc"
10189 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
10197 switch (op[2] & 0x00)
10200 goto op_semantics_74;
10206 switch (op[2] & 0x00)
10211 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10212 #line 975 "rx-decode.opc"
10213 int s AU = op[1] & 0x01;
10214 #line 975 "rx-decode.opc"
10215 int rsrc AU = (op[2] >> 4) & 0x0f;
10216 #line 975 "rx-decode.opc"
10217 int rdst AU = op[2] & 0x0f;
10220 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10221 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10222 op[0], op[1], op[2]);
10223 printf (" s = 0x%x,", s);
10224 printf (" rsrc = 0x%x,", rsrc);
10225 printf (" rdst = 0x%x\n", rdst);
10227 SYNTAX("mvfc %1, %0");
10228 #line 975 "rx-decode.opc"
10229 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
10231 /*----------------------------------------------------------------------*/
10240 switch (op[2] & 0x00)
10243 goto op_semantics_75;
10249 switch (op[2] & 0x00)
10254 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10255 #line 712 "rx-decode.opc"
10256 int i AU = op[1] & 0x01;
10257 #line 712 "rx-decode.opc"
10258 int mmmm AU = (op[2] >> 4) & 0x0f;
10259 #line 712 "rx-decode.opc"
10260 int rdst AU = op[2] & 0x0f;
10263 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10264 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10265 op[0], op[1], op[2]);
10266 printf (" i = 0x%x,", i);
10267 printf (" mmmm = 0x%x,", mmmm);
10268 printf (" rdst = 0x%x\n", rdst);
10270 SYNTAX("rotr #%1, %0");
10271 #line 712 "rx-decode.opc"
10272 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
10280 switch (op[2] & 0x00)
10283 goto op_semantics_76;
10289 switch (op[2] & 0x00)
10294 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10295 #line 706 "rx-decode.opc"
10296 int i AU = op[1] & 0x01;
10297 #line 706 "rx-decode.opc"
10298 int mmmm AU = (op[2] >> 4) & 0x0f;
10299 #line 706 "rx-decode.opc"
10300 int rdst AU = op[2] & 0x0f;
10303 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10304 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10305 op[0], op[1], op[2]);
10306 printf (" i = 0x%x,", i);
10307 printf (" mmmm = 0x%x,", mmmm);
10308 printf (" rdst = 0x%x\n", rdst);
10310 SYNTAX("rotl #%1, %0");
10311 #line 706 "rx-decode.opc"
10312 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
10320 switch (op[2] & 0x00)
10323 goto op_semantics_77;
10329 switch (op[2] & 0xf0)
10334 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10335 #line 488 "rx-decode.opc"
10336 int im AU = (op[1] >> 2) & 0x03;
10337 #line 488 "rx-decode.opc"
10338 int rdst AU = op[2] & 0x0f;
10341 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10342 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10343 op[0], op[1], op[2]);
10344 printf (" im = 0x%x,", im);
10345 printf (" rdst = 0x%x\n", rdst);
10347 SYNTAX("adc #%1, %0");
10348 #line 488 "rx-decode.opc"
10349 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
10356 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10357 #line 570 "rx-decode.opc"
10358 int im AU = (op[1] >> 2) & 0x03;
10359 #line 570 "rx-decode.opc"
10360 int rdst AU = op[2] & 0x0f;
10361 int val = IMMex (im);
10364 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10365 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10366 op[0], op[1], op[2]);
10367 printf (" im = 0x%x,", im);
10368 printf (" rdst = 0x%x\n", rdst);
10370 SYNTAX("max #%1, %0");
10371 #line 570 "rx-decode.opc"
10372 if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
10375 SYNTAX ("nop\t; max\t#0x80000000, r0");
10387 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10388 #line 590 "rx-decode.opc"
10389 int im AU = (op[1] >> 2) & 0x03;
10390 #line 590 "rx-decode.opc"
10391 int rdst AU = op[2] & 0x0f;
10394 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10395 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10396 op[0], op[1], op[2]);
10397 printf (" im = 0x%x,", im);
10398 printf (" rdst = 0x%x\n", rdst);
10400 SYNTAX("min #%1, %0");
10401 #line 590 "rx-decode.opc"
10402 ID(min); DR(rdst); SC(IMMex(im));
10409 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10410 #line 620 "rx-decode.opc"
10411 int im AU = (op[1] >> 2) & 0x03;
10412 #line 620 "rx-decode.opc"
10413 int rdst AU = op[2] & 0x0f;
10416 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10417 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10418 op[0], op[1], op[2]);
10419 printf (" im = 0x%x,", im);
10420 printf (" rdst = 0x%x\n", rdst);
10422 SYNTAX("emul #%1, %0");
10423 #line 620 "rx-decode.opc"
10424 ID(emul); DR(rdst); SC(IMMex(im));
10431 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10432 #line 632 "rx-decode.opc"
10433 int im AU = (op[1] >> 2) & 0x03;
10434 #line 632 "rx-decode.opc"
10435 int rdst AU = op[2] & 0x0f;
10438 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10439 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10440 op[0], op[1], op[2]);
10441 printf (" im = 0x%x,", im);
10442 printf (" rdst = 0x%x\n", rdst);
10444 SYNTAX("emulu #%1, %0");
10445 #line 632 "rx-decode.opc"
10446 ID(emulu); DR(rdst); SC(IMMex(im));
10453 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10454 #line 644 "rx-decode.opc"
10455 int im AU = (op[1] >> 2) & 0x03;
10456 #line 644 "rx-decode.opc"
10457 int rdst AU = op[2] & 0x0f;
10460 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10461 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10462 op[0], op[1], op[2]);
10463 printf (" im = 0x%x,", im);
10464 printf (" rdst = 0x%x\n", rdst);
10466 SYNTAX("div #%1, %0");
10467 #line 644 "rx-decode.opc"
10468 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
10475 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10476 #line 656 "rx-decode.opc"
10477 int im AU = (op[1] >> 2) & 0x03;
10478 #line 656 "rx-decode.opc"
10479 int rdst AU = op[2] & 0x0f;
10482 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10483 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10484 op[0], op[1], op[2]);
10485 printf (" im = 0x%x,", im);
10486 printf (" rdst = 0x%x\n", rdst);
10488 SYNTAX("divu #%1, %0");
10489 #line 656 "rx-decode.opc"
10490 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
10497 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10498 #line 467 "rx-decode.opc"
10499 int im AU = (op[1] >> 2) & 0x03;
10500 #line 467 "rx-decode.opc"
10501 int rdst AU = op[2] & 0x0f;
10504 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10505 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10506 op[0], op[1], op[2]);
10507 printf (" im = 0x%x,", im);
10508 printf (" rdst = 0x%x\n", rdst);
10510 SYNTAX("tst #%1, %2");
10511 #line 467 "rx-decode.opc"
10512 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
10519 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10520 #line 446 "rx-decode.opc"
10521 int im AU = (op[1] >> 2) & 0x03;
10522 #line 446 "rx-decode.opc"
10523 int rdst AU = op[2] & 0x0f;
10526 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10527 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10528 op[0], op[1], op[2]);
10529 printf (" im = 0x%x,", im);
10530 printf (" rdst = 0x%x\n", rdst);
10532 SYNTAX("xor #%1, %0");
10533 #line 446 "rx-decode.opc"
10534 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
10541 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10542 #line 392 "rx-decode.opc"
10543 int im AU = (op[1] >> 2) & 0x03;
10544 #line 392 "rx-decode.opc"
10545 int rdst AU = op[2] & 0x0f;
10548 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10549 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10550 op[0], op[1], op[2]);
10551 printf (" im = 0x%x,", im);
10552 printf (" rdst = 0x%x\n", rdst);
10554 SYNTAX("stz #%1, %0");
10555 #line 392 "rx-decode.opc"
10556 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
10563 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10564 #line 395 "rx-decode.opc"
10565 int im AU = (op[1] >> 2) & 0x03;
10566 #line 395 "rx-decode.opc"
10567 int rdst AU = op[2] & 0x0f;
10570 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10571 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10572 op[0], op[1], op[2]);
10573 printf (" im = 0x%x,", im);
10574 printf (" rdst = 0x%x\n", rdst);
10576 SYNTAX("stnz #%1, %0");
10577 #line 395 "rx-decode.opc"
10578 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
10580 /*----------------------------------------------------------------------*/
10585 default: UNSUPPORTED(); break;
10590 switch (op[2] & 0xf0)
10594 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10595 #line 864 "rx-decode.opc"
10596 int rdst AU = op[2] & 0x0f;
10599 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10600 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10601 op[0], op[1], op[2]);
10602 printf (" rdst = 0x%x\n", rdst);
10604 SYNTAX("fsub #%1, %0");
10605 #line 864 "rx-decode.opc"
10606 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
10612 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10613 #line 858 "rx-decode.opc"
10614 int rdst AU = op[2] & 0x0f;
10617 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10618 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10619 op[0], op[1], op[2]);
10620 printf (" rdst = 0x%x\n", rdst);
10622 SYNTAX("fcmp #%1, %0");
10623 #line 858 "rx-decode.opc"
10624 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
10630 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10631 #line 852 "rx-decode.opc"
10632 int rdst AU = op[2] & 0x0f;
10635 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10636 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10637 op[0], op[1], op[2]);
10638 printf (" rdst = 0x%x\n", rdst);
10640 SYNTAX("fadd #%1, %0");
10641 #line 852 "rx-decode.opc"
10642 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
10648 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10649 #line 873 "rx-decode.opc"
10650 int rdst AU = op[2] & 0x0f;
10653 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10654 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10655 op[0], op[1], op[2]);
10656 printf (" rdst = 0x%x\n", rdst);
10658 SYNTAX("fmul #%1, %0");
10659 #line 873 "rx-decode.opc"
10660 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
10666 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10667 #line 879 "rx-decode.opc"
10668 int rdst AU = op[2] & 0x0f;
10671 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10672 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10673 op[0], op[1], op[2]);
10674 printf (" rdst = 0x%x\n", rdst);
10676 SYNTAX("fdiv #%1, %0");
10677 #line 879 "rx-decode.opc"
10678 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
10682 default: UNSUPPORTED(); break;
10687 switch (op[2] & 0xe0)
10692 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10693 #line 969 "rx-decode.opc"
10694 int im AU = (op[1] >> 2) & 0x03;
10695 #line 969 "rx-decode.opc"
10696 int crdst AU = op[2] & 0x1f;
10699 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10700 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10701 op[0], op[1], op[2]);
10702 printf (" im = 0x%x,", im);
10703 printf (" crdst = 0x%x\n", crdst);
10705 SYNTAX("mvtc #%1, %0");
10706 #line 969 "rx-decode.opc"
10707 ID(mov); SC(IMMex(im)); DR(crdst + 16);
10711 default: UNSUPPORTED(); break;
10716 switch (op[2] & 0xf0)
10719 goto op_semantics_78;
10722 goto op_semantics_79;
10725 goto op_semantics_80;
10728 goto op_semantics_81;
10731 goto op_semantics_82;
10734 goto op_semantics_83;
10737 goto op_semantics_84;
10740 goto op_semantics_85;
10743 goto op_semantics_86;
10746 goto op_semantics_87;
10749 goto op_semantics_88;
10751 default: UNSUPPORTED(); break;
10756 switch (op[2] & 0xe0)
10759 goto op_semantics_89;
10761 default: UNSUPPORTED(); break;
10766 switch (op[2] & 0xf0)
10769 goto op_semantics_78;
10772 goto op_semantics_79;
10775 goto op_semantics_80;
10778 goto op_semantics_81;
10781 goto op_semantics_82;
10784 goto op_semantics_83;
10787 goto op_semantics_84;
10790 goto op_semantics_85;
10793 goto op_semantics_86;
10796 goto op_semantics_87;
10799 goto op_semantics_88;
10801 default: UNSUPPORTED(); break;
10806 switch (op[2] & 0xe0)
10809 goto op_semantics_89;
10811 default: UNSUPPORTED(); break;
10816 switch (op[2] & 0xf0)
10819 goto op_semantics_78;
10822 goto op_semantics_79;
10825 goto op_semantics_80;
10828 goto op_semantics_81;
10831 goto op_semantics_82;
10834 goto op_semantics_83;
10837 goto op_semantics_84;
10840 goto op_semantics_85;
10843 goto op_semantics_86;
10846 goto op_semantics_87;
10849 goto op_semantics_88;
10851 default: UNSUPPORTED(); break;
10856 switch (op[2] & 0xe0)
10859 goto op_semantics_89;
10861 default: UNSUPPORTED(); break;
10866 switch (op[2] & 0x00)
10871 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10872 #line 694 "rx-decode.opc"
10873 int immmm AU = op[1] & 0x1f;
10874 #line 694 "rx-decode.opc"
10875 int rsrc AU = (op[2] >> 4) & 0x0f;
10876 #line 694 "rx-decode.opc"
10877 int rdst AU = op[2] & 0x0f;
10880 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10881 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10882 op[0], op[1], op[2]);
10883 printf (" immmm = 0x%x,", immmm);
10884 printf (" rsrc = 0x%x,", rsrc);
10885 printf (" rdst = 0x%x\n", rdst);
10887 SYNTAX("shlr #%2, %1, %0");
10888 #line 694 "rx-decode.opc"
10889 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
10891 /*----------------------------------------------------------------------*/
10900 switch (op[2] & 0x00)
10903 goto op_semantics_90;
10909 switch (op[2] & 0x00)
10912 goto op_semantics_90;
10918 switch (op[2] & 0x00)
10921 goto op_semantics_90;
10927 switch (op[2] & 0x00)
10930 goto op_semantics_90;
10936 switch (op[2] & 0x00)
10939 goto op_semantics_90;
10945 switch (op[2] & 0x00)
10948 goto op_semantics_90;
10954 switch (op[2] & 0x00)
10957 goto op_semantics_90;
10963 switch (op[2] & 0x00)
10966 goto op_semantics_90;
10972 switch (op[2] & 0x00)
10975 goto op_semantics_90;
10981 switch (op[2] & 0x00)
10984 goto op_semantics_90;
10990 switch (op[2] & 0x00)
10993 goto op_semantics_90;
10999 switch (op[2] & 0x00)
11002 goto op_semantics_90;
11008 switch (op[2] & 0x00)
11011 goto op_semantics_90;
11017 switch (op[2] & 0x00)
11020 goto op_semantics_90;
11026 switch (op[2] & 0x00)
11029 goto op_semantics_90;
11035 switch (op[2] & 0x00)
11038 goto op_semantics_90;
11044 switch (op[2] & 0x00)
11047 goto op_semantics_90;
11053 switch (op[2] & 0x00)
11056 goto op_semantics_90;
11062 switch (op[2] & 0x00)
11065 goto op_semantics_90;
11071 switch (op[2] & 0x00)
11074 goto op_semantics_90;
11080 switch (op[2] & 0x00)
11083 goto op_semantics_90;
11089 switch (op[2] & 0x00)
11092 goto op_semantics_90;
11098 switch (op[2] & 0x00)
11101 goto op_semantics_90;
11107 switch (op[2] & 0x00)
11110 goto op_semantics_90;
11116 switch (op[2] & 0x00)
11119 goto op_semantics_90;
11125 switch (op[2] & 0x00)
11128 goto op_semantics_90;
11134 switch (op[2] & 0x00)
11137 goto op_semantics_90;
11143 switch (op[2] & 0x00)
11146 goto op_semantics_90;
11152 switch (op[2] & 0x00)
11155 goto op_semantics_90;
11161 switch (op[2] & 0x00)
11164 goto op_semantics_90;
11170 switch (op[2] & 0x00)
11173 goto op_semantics_90;
11179 switch (op[2] & 0x00)
11184 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11185 #line 684 "rx-decode.opc"
11186 int immmm AU = op[1] & 0x1f;
11187 #line 684 "rx-decode.opc"
11188 int rsrc AU = (op[2] >> 4) & 0x0f;
11189 #line 684 "rx-decode.opc"
11190 int rdst AU = op[2] & 0x0f;
11193 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11194 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11195 op[0], op[1], op[2]);
11196 printf (" immmm = 0x%x,", immmm);
11197 printf (" rsrc = 0x%x,", rsrc);
11198 printf (" rdst = 0x%x\n", rdst);
11200 SYNTAX("shar #%2, %1, %0");
11201 #line 684 "rx-decode.opc"
11202 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
11211 switch (op[2] & 0x00)
11214 goto op_semantics_91;
11220 switch (op[2] & 0x00)
11223 goto op_semantics_91;
11229 switch (op[2] & 0x00)
11232 goto op_semantics_91;
11238 switch (op[2] & 0x00)
11241 goto op_semantics_91;
11247 switch (op[2] & 0x00)
11250 goto op_semantics_91;
11256 switch (op[2] & 0x00)
11259 goto op_semantics_91;
11265 switch (op[2] & 0x00)
11268 goto op_semantics_91;
11274 switch (op[2] & 0x00)
11277 goto op_semantics_91;
11283 switch (op[2] & 0x00)
11286 goto op_semantics_91;
11292 switch (op[2] & 0x00)
11295 goto op_semantics_91;
11301 switch (op[2] & 0x00)
11304 goto op_semantics_91;
11310 switch (op[2] & 0x00)
11313 goto op_semantics_91;
11319 switch (op[2] & 0x00)
11322 goto op_semantics_91;
11328 switch (op[2] & 0x00)
11331 goto op_semantics_91;
11337 switch (op[2] & 0x00)
11340 goto op_semantics_91;
11346 switch (op[2] & 0x00)
11349 goto op_semantics_91;
11355 switch (op[2] & 0x00)
11358 goto op_semantics_91;
11364 switch (op[2] & 0x00)
11367 goto op_semantics_91;
11373 switch (op[2] & 0x00)
11376 goto op_semantics_91;
11382 switch (op[2] & 0x00)
11385 goto op_semantics_91;
11391 switch (op[2] & 0x00)
11394 goto op_semantics_91;
11400 switch (op[2] & 0x00)
11403 goto op_semantics_91;
11409 switch (op[2] & 0x00)
11412 goto op_semantics_91;
11418 switch (op[2] & 0x00)
11421 goto op_semantics_91;
11427 switch (op[2] & 0x00)
11430 goto op_semantics_91;
11436 switch (op[2] & 0x00)
11439 goto op_semantics_91;
11445 switch (op[2] & 0x00)
11448 goto op_semantics_91;
11454 switch (op[2] & 0x00)
11457 goto op_semantics_91;
11463 switch (op[2] & 0x00)
11466 goto op_semantics_91;
11472 switch (op[2] & 0x00)
11475 goto op_semantics_91;
11481 switch (op[2] & 0x00)
11484 goto op_semantics_91;
11490 switch (op[2] & 0x00)
11495 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11496 #line 674 "rx-decode.opc"
11497 int immmm AU = op[1] & 0x1f;
11498 #line 674 "rx-decode.opc"
11499 int rsrc AU = (op[2] >> 4) & 0x0f;
11500 #line 674 "rx-decode.opc"
11501 int rdst AU = op[2] & 0x0f;
11504 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11505 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11506 op[0], op[1], op[2]);
11507 printf (" immmm = 0x%x,", immmm);
11508 printf (" rsrc = 0x%x,", rsrc);
11509 printf (" rdst = 0x%x\n", rdst);
11511 SYNTAX("shll #%2, %1, %0");
11512 #line 674 "rx-decode.opc"
11513 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
11522 switch (op[2] & 0x00)
11525 goto op_semantics_92;
11531 switch (op[2] & 0x00)
11534 goto op_semantics_92;
11540 switch (op[2] & 0x00)
11543 goto op_semantics_92;
11549 switch (op[2] & 0x00)
11552 goto op_semantics_92;
11558 switch (op[2] & 0x00)
11561 goto op_semantics_92;
11567 switch (op[2] & 0x00)
11570 goto op_semantics_92;
11576 switch (op[2] & 0x00)
11579 goto op_semantics_92;
11585 switch (op[2] & 0x00)
11588 goto op_semantics_92;
11594 switch (op[2] & 0x00)
11597 goto op_semantics_92;
11603 switch (op[2] & 0x00)
11606 goto op_semantics_92;
11612 switch (op[2] & 0x00)
11615 goto op_semantics_92;
11621 switch (op[2] & 0x00)
11624 goto op_semantics_92;
11630 switch (op[2] & 0x00)
11633 goto op_semantics_92;
11639 switch (op[2] & 0x00)
11642 goto op_semantics_92;
11648 switch (op[2] & 0x00)
11651 goto op_semantics_92;
11657 switch (op[2] & 0x00)
11660 goto op_semantics_92;
11666 switch (op[2] & 0x00)
11669 goto op_semantics_92;
11675 switch (op[2] & 0x00)
11678 goto op_semantics_92;
11684 switch (op[2] & 0x00)
11687 goto op_semantics_92;
11693 switch (op[2] & 0x00)
11696 goto op_semantics_92;
11702 switch (op[2] & 0x00)
11705 goto op_semantics_92;
11711 switch (op[2] & 0x00)
11714 goto op_semantics_92;
11720 switch (op[2] & 0x00)
11723 goto op_semantics_92;
11729 switch (op[2] & 0x00)
11732 goto op_semantics_92;
11738 switch (op[2] & 0x00)
11741 goto op_semantics_92;
11747 switch (op[2] & 0x00)
11750 goto op_semantics_92;
11756 switch (op[2] & 0x00)
11759 goto op_semantics_92;
11765 switch (op[2] & 0x00)
11768 goto op_semantics_92;
11774 switch (op[2] & 0x00)
11777 goto op_semantics_92;
11783 switch (op[2] & 0x00)
11786 goto op_semantics_92;
11792 switch (op[2] & 0x00)
11795 goto op_semantics_92;
11801 switch (op[2] & 0xf0)
11820 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11821 #line 948 "rx-decode.opc"
11822 int bittt AU = op[1] & 0x1f;
11823 #line 948 "rx-decode.opc"
11824 int cond AU = (op[2] >> 4) & 0x0f;
11825 #line 948 "rx-decode.opc"
11826 int rdst AU = op[2] & 0x0f;
11829 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11830 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11831 op[0], op[1], op[2]);
11832 printf (" bittt = 0x%x,", bittt);
11833 printf (" cond = 0x%x,", cond);
11834 printf (" rdst = 0x%x\n", rdst);
11836 SYNTAX("bm%2 #%1, %0%S0");
11837 #line 948 "rx-decode.opc"
11838 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
11840 /*----------------------------------------------------------------------*/
11841 /* CONTROL REGISTERS */
11848 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11849 #line 941 "rx-decode.opc"
11850 int bittt AU = op[1] & 0x1f;
11851 #line 941 "rx-decode.opc"
11852 int rdst AU = op[2] & 0x0f;
11855 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11856 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11857 op[0], op[1], op[2]);
11858 printf (" bittt = 0x%x,", bittt);
11859 printf (" rdst = 0x%x\n", rdst);
11861 SYNTAX("bnot #%1, %0");
11862 #line 941 "rx-decode.opc"
11863 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
11872 switch (op[2] & 0xf0)
11889 goto op_semantics_93;
11892 goto op_semantics_94;
11898 switch (op[2] & 0xf0)
11915 goto op_semantics_93;
11918 goto op_semantics_94;
11924 switch (op[2] & 0xf0)
11941 goto op_semantics_93;
11944 goto op_semantics_94;
11950 switch (op[2] & 0xf0)
11967 goto op_semantics_93;
11970 goto op_semantics_94;
11976 switch (op[2] & 0xf0)
11993 goto op_semantics_93;
11996 goto op_semantics_94;
12002 switch (op[2] & 0xf0)
12019 goto op_semantics_93;
12022 goto op_semantics_94;
12028 switch (op[2] & 0xf0)
12045 goto op_semantics_93;
12048 goto op_semantics_94;
12054 switch (op[2] & 0xf0)
12071 goto op_semantics_93;
12074 goto op_semantics_94;
12080 switch (op[2] & 0xf0)
12097 goto op_semantics_93;
12100 goto op_semantics_94;
12106 switch (op[2] & 0xf0)
12123 goto op_semantics_93;
12126 goto op_semantics_94;
12132 switch (op[2] & 0xf0)
12149 goto op_semantics_93;
12152 goto op_semantics_94;
12158 switch (op[2] & 0xf0)
12175 goto op_semantics_93;
12178 goto op_semantics_94;
12184 switch (op[2] & 0xf0)
12201 goto op_semantics_93;
12204 goto op_semantics_94;
12210 switch (op[2] & 0xf0)
12227 goto op_semantics_93;
12230 goto op_semantics_94;
12236 switch (op[2] & 0xf0)
12253 goto op_semantics_93;
12256 goto op_semantics_94;
12262 switch (op[2] & 0xf0)
12279 goto op_semantics_93;
12282 goto op_semantics_94;
12288 switch (op[2] & 0xf0)
12305 goto op_semantics_93;
12308 goto op_semantics_94;
12314 switch (op[2] & 0xf0)
12331 goto op_semantics_93;
12334 goto op_semantics_94;
12340 switch (op[2] & 0xf0)
12357 goto op_semantics_93;
12360 goto op_semantics_94;
12366 switch (op[2] & 0xf0)
12383 goto op_semantics_93;
12386 goto op_semantics_94;
12392 switch (op[2] & 0xf0)
12409 goto op_semantics_93;
12412 goto op_semantics_94;
12418 switch (op[2] & 0xf0)
12435 goto op_semantics_93;
12438 goto op_semantics_94;
12444 switch (op[2] & 0xf0)
12461 goto op_semantics_93;
12464 goto op_semantics_94;
12470 switch (op[2] & 0xf0)
12487 goto op_semantics_93;
12490 goto op_semantics_94;
12496 switch (op[2] & 0xf0)
12513 goto op_semantics_93;
12516 goto op_semantics_94;
12522 switch (op[2] & 0xf0)
12539 goto op_semantics_93;
12542 goto op_semantics_94;
12548 switch (op[2] & 0xf0)
12565 goto op_semantics_93;
12568 goto op_semantics_94;
12574 switch (op[2] & 0xf0)
12591 goto op_semantics_93;
12594 goto op_semantics_94;
12600 switch (op[2] & 0xf0)
12617 goto op_semantics_93;
12620 goto op_semantics_94;
12626 switch (op[2] & 0xf0)
12643 goto op_semantics_93;
12646 goto op_semantics_94;
12652 switch (op[2] & 0xf0)
12669 goto op_semantics_93;
12672 goto op_semantics_94;
12676 default: UNSUPPORTED(); break;
12681 switch (op[1] & 0xff)
12685 switch (op[2] & 0x00)
12690 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12691 #line 338 "rx-decode.opc"
12692 int sz AU = (op[1] >> 4) & 0x03;
12693 #line 338 "rx-decode.opc"
12694 int isrc AU = op[1] & 0x0f;
12695 #line 338 "rx-decode.opc"
12696 int bsrc AU = (op[2] >> 4) & 0x0f;
12697 #line 338 "rx-decode.opc"
12698 int rdst AU = op[2] & 0x0f;
12701 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12702 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12703 op[0], op[1], op[2]);
12704 printf (" sz = 0x%x,", sz);
12705 printf (" isrc = 0x%x,", isrc);
12706 printf (" bsrc = 0x%x,", bsrc);
12707 printf (" rdst = 0x%x\n", rdst);
12709 SYNTAX("mov%s %0, [%1, %2]");
12710 #line 338 "rx-decode.opc"
12711 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
12719 switch (op[2] & 0x00)
12722 goto op_semantics_95;
12728 switch (op[2] & 0x00)
12731 goto op_semantics_95;
12737 switch (op[2] & 0x00)
12740 goto op_semantics_95;
12746 switch (op[2] & 0x00)
12749 goto op_semantics_95;
12755 switch (op[2] & 0x00)
12758 goto op_semantics_95;
12764 switch (op[2] & 0x00)
12767 goto op_semantics_95;
12773 switch (op[2] & 0x00)
12776 goto op_semantics_95;
12782 switch (op[2] & 0x00)
12785 goto op_semantics_95;
12791 switch (op[2] & 0x00)
12794 goto op_semantics_95;
12800 switch (op[2] & 0x00)
12803 goto op_semantics_95;
12809 switch (op[2] & 0x00)
12812 goto op_semantics_95;
12818 switch (op[2] & 0x00)
12821 goto op_semantics_95;
12827 switch (op[2] & 0x00)
12830 goto op_semantics_95;
12836 switch (op[2] & 0x00)
12839 goto op_semantics_95;
12845 switch (op[2] & 0x00)
12848 goto op_semantics_95;
12854 switch (op[2] & 0x00)
12857 goto op_semantics_95;
12863 switch (op[2] & 0x00)
12866 goto op_semantics_95;
12872 switch (op[2] & 0x00)
12875 goto op_semantics_95;
12881 switch (op[2] & 0x00)
12884 goto op_semantics_95;
12890 switch (op[2] & 0x00)
12893 goto op_semantics_95;
12899 switch (op[2] & 0x00)
12902 goto op_semantics_95;
12908 switch (op[2] & 0x00)
12911 goto op_semantics_95;
12917 switch (op[2] & 0x00)
12920 goto op_semantics_95;
12926 switch (op[2] & 0x00)
12929 goto op_semantics_95;
12935 switch (op[2] & 0x00)
12938 goto op_semantics_95;
12944 switch (op[2] & 0x00)
12947 goto op_semantics_95;
12953 switch (op[2] & 0x00)
12956 goto op_semantics_95;
12962 switch (op[2] & 0x00)
12965 goto op_semantics_95;
12971 switch (op[2] & 0x00)
12974 goto op_semantics_95;
12980 switch (op[2] & 0x00)
12983 goto op_semantics_95;
12989 switch (op[2] & 0x00)
12992 goto op_semantics_95;
12998 switch (op[2] & 0x00)
13001 goto op_semantics_95;
13007 switch (op[2] & 0x00)
13010 goto op_semantics_95;
13016 switch (op[2] & 0x00)
13019 goto op_semantics_95;
13025 switch (op[2] & 0x00)
13028 goto op_semantics_95;
13034 switch (op[2] & 0x00)
13037 goto op_semantics_95;
13043 switch (op[2] & 0x00)
13046 goto op_semantics_95;
13052 switch (op[2] & 0x00)
13055 goto op_semantics_95;
13061 switch (op[2] & 0x00)
13064 goto op_semantics_95;
13070 switch (op[2] & 0x00)
13073 goto op_semantics_95;
13079 switch (op[2] & 0x00)
13082 goto op_semantics_95;
13088 switch (op[2] & 0x00)
13091 goto op_semantics_95;
13097 switch (op[2] & 0x00)
13100 goto op_semantics_95;
13106 switch (op[2] & 0x00)
13109 goto op_semantics_95;
13115 switch (op[2] & 0x00)
13118 goto op_semantics_95;
13124 switch (op[2] & 0x00)
13127 goto op_semantics_95;
13133 switch (op[2] & 0x00)
13136 goto op_semantics_95;
13142 switch (op[2] & 0x00)
13147 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13148 #line 335 "rx-decode.opc"
13149 int sz AU = (op[1] >> 4) & 0x03;
13150 #line 335 "rx-decode.opc"
13151 int isrc AU = op[1] & 0x0f;
13152 #line 335 "rx-decode.opc"
13153 int bsrc AU = (op[2] >> 4) & 0x0f;
13154 #line 335 "rx-decode.opc"
13155 int rdst AU = op[2] & 0x0f;
13158 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13159 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13160 op[0], op[1], op[2]);
13161 printf (" sz = 0x%x,", sz);
13162 printf (" isrc = 0x%x,", isrc);
13163 printf (" bsrc = 0x%x,", bsrc);
13164 printf (" rdst = 0x%x\n", rdst);
13166 SYNTAX("mov%s [%1, %2], %0");
13167 #line 335 "rx-decode.opc"
13168 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13176 switch (op[2] & 0x00)
13179 goto op_semantics_96;
13185 switch (op[2] & 0x00)
13188 goto op_semantics_96;
13194 switch (op[2] & 0x00)
13197 goto op_semantics_96;
13203 switch (op[2] & 0x00)
13206 goto op_semantics_96;
13212 switch (op[2] & 0x00)
13215 goto op_semantics_96;
13221 switch (op[2] & 0x00)
13224 goto op_semantics_96;
13230 switch (op[2] & 0x00)
13233 goto op_semantics_96;
13239 switch (op[2] & 0x00)
13242 goto op_semantics_96;
13248 switch (op[2] & 0x00)
13251 goto op_semantics_96;
13257 switch (op[2] & 0x00)
13260 goto op_semantics_96;
13266 switch (op[2] & 0x00)
13269 goto op_semantics_96;
13275 switch (op[2] & 0x00)
13278 goto op_semantics_96;
13284 switch (op[2] & 0x00)
13287 goto op_semantics_96;
13293 switch (op[2] & 0x00)
13296 goto op_semantics_96;
13302 switch (op[2] & 0x00)
13305 goto op_semantics_96;
13311 switch (op[2] & 0x00)
13314 goto op_semantics_96;
13320 switch (op[2] & 0x00)
13323 goto op_semantics_96;
13329 switch (op[2] & 0x00)
13332 goto op_semantics_96;
13338 switch (op[2] & 0x00)
13341 goto op_semantics_96;
13347 switch (op[2] & 0x00)
13350 goto op_semantics_96;
13356 switch (op[2] & 0x00)
13359 goto op_semantics_96;
13365 switch (op[2] & 0x00)
13368 goto op_semantics_96;
13374 switch (op[2] & 0x00)
13377 goto op_semantics_96;
13383 switch (op[2] & 0x00)
13386 goto op_semantics_96;
13392 switch (op[2] & 0x00)
13395 goto op_semantics_96;
13401 switch (op[2] & 0x00)
13404 goto op_semantics_96;
13410 switch (op[2] & 0x00)
13413 goto op_semantics_96;
13419 switch (op[2] & 0x00)
13422 goto op_semantics_96;
13428 switch (op[2] & 0x00)
13431 goto op_semantics_96;
13437 switch (op[2] & 0x00)
13440 goto op_semantics_96;
13446 switch (op[2] & 0x00)
13449 goto op_semantics_96;
13455 switch (op[2] & 0x00)
13458 goto op_semantics_96;
13464 switch (op[2] & 0x00)
13467 goto op_semantics_96;
13473 switch (op[2] & 0x00)
13476 goto op_semantics_96;
13482 switch (op[2] & 0x00)
13485 goto op_semantics_96;
13491 switch (op[2] & 0x00)
13494 goto op_semantics_96;
13500 switch (op[2] & 0x00)
13503 goto op_semantics_96;
13509 switch (op[2] & 0x00)
13512 goto op_semantics_96;
13518 switch (op[2] & 0x00)
13521 goto op_semantics_96;
13527 switch (op[2] & 0x00)
13530 goto op_semantics_96;
13536 switch (op[2] & 0x00)
13539 goto op_semantics_96;
13545 switch (op[2] & 0x00)
13548 goto op_semantics_96;
13554 switch (op[2] & 0x00)
13557 goto op_semantics_96;
13563 switch (op[2] & 0x00)
13566 goto op_semantics_96;
13572 switch (op[2] & 0x00)
13575 goto op_semantics_96;
13581 switch (op[2] & 0x00)
13584 goto op_semantics_96;
13590 switch (op[2] & 0x00)
13593 goto op_semantics_96;
13599 switch (op[2] & 0x00)
13604 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13605 #line 341 "rx-decode.opc"
13606 int sz AU = (op[1] >> 4) & 0x03;
13607 #line 341 "rx-decode.opc"
13608 int isrc AU = op[1] & 0x0f;
13609 #line 341 "rx-decode.opc"
13610 int bsrc AU = (op[2] >> 4) & 0x0f;
13611 #line 341 "rx-decode.opc"
13612 int rdst AU = op[2] & 0x0f;
13615 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13616 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13617 op[0], op[1], op[2]);
13618 printf (" sz = 0x%x,", sz);
13619 printf (" isrc = 0x%x,", isrc);
13620 printf (" bsrc = 0x%x,", bsrc);
13621 printf (" rdst = 0x%x\n", rdst);
13623 SYNTAX("movu%s [%1, %2], %0");
13624 #line 341 "rx-decode.opc"
13625 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13633 switch (op[2] & 0x00)
13636 goto op_semantics_97;
13642 switch (op[2] & 0x00)
13645 goto op_semantics_97;
13651 switch (op[2] & 0x00)
13654 goto op_semantics_97;
13660 switch (op[2] & 0x00)
13663 goto op_semantics_97;
13669 switch (op[2] & 0x00)
13672 goto op_semantics_97;
13678 switch (op[2] & 0x00)
13681 goto op_semantics_97;
13687 switch (op[2] & 0x00)
13690 goto op_semantics_97;
13696 switch (op[2] & 0x00)
13699 goto op_semantics_97;
13705 switch (op[2] & 0x00)
13708 goto op_semantics_97;
13714 switch (op[2] & 0x00)
13717 goto op_semantics_97;
13723 switch (op[2] & 0x00)
13726 goto op_semantics_97;
13732 switch (op[2] & 0x00)
13735 goto op_semantics_97;
13741 switch (op[2] & 0x00)
13744 goto op_semantics_97;
13750 switch (op[2] & 0x00)
13753 goto op_semantics_97;
13759 switch (op[2] & 0x00)
13762 goto op_semantics_97;
13768 switch (op[2] & 0x00)
13771 goto op_semantics_97;
13777 switch (op[2] & 0x00)
13780 goto op_semantics_97;
13786 switch (op[2] & 0x00)
13789 goto op_semantics_97;
13795 switch (op[2] & 0x00)
13798 goto op_semantics_97;
13804 switch (op[2] & 0x00)
13807 goto op_semantics_97;
13813 switch (op[2] & 0x00)
13816 goto op_semantics_97;
13822 switch (op[2] & 0x00)
13825 goto op_semantics_97;
13831 switch (op[2] & 0x00)
13834 goto op_semantics_97;
13840 switch (op[2] & 0x00)
13843 goto op_semantics_97;
13849 switch (op[2] & 0x00)
13852 goto op_semantics_97;
13858 switch (op[2] & 0x00)
13861 goto op_semantics_97;
13867 switch (op[2] & 0x00)
13870 goto op_semantics_97;
13876 switch (op[2] & 0x00)
13879 goto op_semantics_97;
13885 switch (op[2] & 0x00)
13888 goto op_semantics_97;
13894 switch (op[2] & 0x00)
13897 goto op_semantics_97;
13903 switch (op[2] & 0x00)
13906 goto op_semantics_97;
13912 switch (op[2] & 0x00)
13915 goto op_semantics_97;
13921 switch (op[2] & 0x00)
13924 goto op_semantics_97;
13930 switch (op[2] & 0x00)
13933 goto op_semantics_97;
13939 switch (op[2] & 0x00)
13942 goto op_semantics_97;
13948 switch (op[2] & 0x00)
13951 goto op_semantics_97;
13957 switch (op[2] & 0x00)
13960 goto op_semantics_97;
13966 switch (op[2] & 0x00)
13969 goto op_semantics_97;
13975 switch (op[2] & 0x00)
13978 goto op_semantics_97;
13984 switch (op[2] & 0x00)
13987 goto op_semantics_97;
13993 switch (op[2] & 0x00)
13996 goto op_semantics_97;
14002 switch (op[2] & 0x00)
14005 goto op_semantics_97;
14011 switch (op[2] & 0x00)
14014 goto op_semantics_97;
14020 switch (op[2] & 0x00)
14023 goto op_semantics_97;
14029 switch (op[2] & 0x00)
14032 goto op_semantics_97;
14038 switch (op[2] & 0x00)
14041 goto op_semantics_97;
14047 switch (op[2] & 0x00)
14050 goto op_semantics_97;
14054 default: UNSUPPORTED(); break;
14059 switch (op[1] & 0xff)
14063 switch (op[2] & 0x00)
14068 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
14069 #line 545 "rx-decode.opc"
14070 int rdst AU = op[1] & 0x0f;
14071 #line 545 "rx-decode.opc"
14072 int srca AU = (op[2] >> 4) & 0x0f;
14073 #line 545 "rx-decode.opc"
14074 int srcb AU = op[2] & 0x0f;
14077 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14078 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
14079 op[0], op[1], op[2]);
14080 printf (" rdst = 0x%x,", rdst);
14081 printf (" srca = 0x%x,", srca);
14082 printf (" srcb = 0x%x\n", srcb);
14084 SYNTAX("sub %2, %1, %0");
14085 #line 545 "rx-decode.opc"
14086 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14088 /*----------------------------------------------------------------------*/
14097 switch (op[2] & 0x00)
14100 goto op_semantics_98;
14106 switch (op[2] & 0x00)
14109 goto op_semantics_98;
14115 switch (op[2] & 0x00)
14118 goto op_semantics_98;
14124 switch (op[2] & 0x00)
14127 goto op_semantics_98;
14133 switch (op[2] & 0x00)
14136 goto op_semantics_98;
14142 switch (op[2] & 0x00)
14145 goto op_semantics_98;
14151 switch (op[2] & 0x00)
14154 goto op_semantics_98;
14160 switch (op[2] & 0x00)
14163 goto op_semantics_98;
14169 switch (op[2] & 0x00)
14172 goto op_semantics_98;
14178 switch (op[2] & 0x00)
14181 goto op_semantics_98;
14187 switch (op[2] & 0x00)
14190 goto op_semantics_98;
14196 switch (op[2] & 0x00)
14199 goto op_semantics_98;
14205 switch (op[2] & 0x00)
14208 goto op_semantics_98;
14214 switch (op[2] & 0x00)
14217 goto op_semantics_98;
14223 switch (op[2] & 0x00)
14226 goto op_semantics_98;
14232 switch (op[2] & 0x00)
14237 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14238 #line 512 "rx-decode.opc"
14239 int rdst AU = op[1] & 0x0f;
14240 #line 512 "rx-decode.opc"
14241 int srca AU = (op[2] >> 4) & 0x0f;
14242 #line 512 "rx-decode.opc"
14243 int srcb AU = op[2] & 0x0f;
14246 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14247 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14248 op[0], op[1], op[2]);
14249 printf (" rdst = 0x%x,", rdst);
14250 printf (" srca = 0x%x,", srca);
14251 printf (" srcb = 0x%x\n", srcb);
14253 SYNTAX("add %2, %1, %0");
14254 #line 512 "rx-decode.opc"
14255 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14257 /*----------------------------------------------------------------------*/
14266 switch (op[2] & 0x00)
14269 goto op_semantics_99;
14275 switch (op[2] & 0x00)
14278 goto op_semantics_99;
14284 switch (op[2] & 0x00)
14287 goto op_semantics_99;
14293 switch (op[2] & 0x00)
14296 goto op_semantics_99;
14302 switch (op[2] & 0x00)
14305 goto op_semantics_99;
14311 switch (op[2] & 0x00)
14314 goto op_semantics_99;
14320 switch (op[2] & 0x00)
14323 goto op_semantics_99;
14329 switch (op[2] & 0x00)
14332 goto op_semantics_99;
14338 switch (op[2] & 0x00)
14341 goto op_semantics_99;
14347 switch (op[2] & 0x00)
14350 goto op_semantics_99;
14356 switch (op[2] & 0x00)
14359 goto op_semantics_99;
14365 switch (op[2] & 0x00)
14368 goto op_semantics_99;
14374 switch (op[2] & 0x00)
14377 goto op_semantics_99;
14383 switch (op[2] & 0x00)
14386 goto op_semantics_99;
14392 switch (op[2] & 0x00)
14395 goto op_semantics_99;
14401 switch (op[2] & 0x00)
14406 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14407 #line 614 "rx-decode.opc"
14408 int rdst AU = op[1] & 0x0f;
14409 #line 614 "rx-decode.opc"
14410 int srca AU = (op[2] >> 4) & 0x0f;
14411 #line 614 "rx-decode.opc"
14412 int srcb AU = op[2] & 0x0f;
14415 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14416 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14417 op[0], op[1], op[2]);
14418 printf (" rdst = 0x%x,", rdst);
14419 printf (" srca = 0x%x,", srca);
14420 printf (" srcb = 0x%x\n", srcb);
14422 SYNTAX("mul %2, %1, %0");
14423 #line 614 "rx-decode.opc"
14424 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
14426 /*----------------------------------------------------------------------*/
14435 switch (op[2] & 0x00)
14438 goto op_semantics_100;
14444 switch (op[2] & 0x00)
14447 goto op_semantics_100;
14453 switch (op[2] & 0x00)
14456 goto op_semantics_100;
14462 switch (op[2] & 0x00)
14465 goto op_semantics_100;
14471 switch (op[2] & 0x00)
14474 goto op_semantics_100;
14480 switch (op[2] & 0x00)
14483 goto op_semantics_100;
14489 switch (op[2] & 0x00)
14492 goto op_semantics_100;
14498 switch (op[2] & 0x00)
14501 goto op_semantics_100;
14507 switch (op[2] & 0x00)
14510 goto op_semantics_100;
14516 switch (op[2] & 0x00)
14519 goto op_semantics_100;
14525 switch (op[2] & 0x00)
14528 goto op_semantics_100;
14534 switch (op[2] & 0x00)
14537 goto op_semantics_100;
14543 switch (op[2] & 0x00)
14546 goto op_semantics_100;
14552 switch (op[2] & 0x00)
14555 goto op_semantics_100;
14561 switch (op[2] & 0x00)
14564 goto op_semantics_100;
14570 switch (op[2] & 0x00)
14575 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14576 #line 422 "rx-decode.opc"
14577 int rdst AU = op[1] & 0x0f;
14578 #line 422 "rx-decode.opc"
14579 int srca AU = (op[2] >> 4) & 0x0f;
14580 #line 422 "rx-decode.opc"
14581 int srcb AU = op[2] & 0x0f;
14584 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14585 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14586 op[0], op[1], op[2]);
14587 printf (" rdst = 0x%x,", rdst);
14588 printf (" srca = 0x%x,", srca);
14589 printf (" srcb = 0x%x\n", srcb);
14591 SYNTAX("and %2, %1, %0");
14592 #line 422 "rx-decode.opc"
14593 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14595 /*----------------------------------------------------------------------*/
14604 switch (op[2] & 0x00)
14607 goto op_semantics_101;
14613 switch (op[2] & 0x00)
14616 goto op_semantics_101;
14622 switch (op[2] & 0x00)
14625 goto op_semantics_101;
14631 switch (op[2] & 0x00)
14634 goto op_semantics_101;
14640 switch (op[2] & 0x00)
14643 goto op_semantics_101;
14649 switch (op[2] & 0x00)
14652 goto op_semantics_101;
14658 switch (op[2] & 0x00)
14661 goto op_semantics_101;
14667 switch (op[2] & 0x00)
14670 goto op_semantics_101;
14676 switch (op[2] & 0x00)
14679 goto op_semantics_101;
14685 switch (op[2] & 0x00)
14688 goto op_semantics_101;
14694 switch (op[2] & 0x00)
14697 goto op_semantics_101;
14703 switch (op[2] & 0x00)
14706 goto op_semantics_101;
14712 switch (op[2] & 0x00)
14715 goto op_semantics_101;
14721 switch (op[2] & 0x00)
14724 goto op_semantics_101;
14730 switch (op[2] & 0x00)
14733 goto op_semantics_101;
14739 switch (op[2] & 0x00)
14744 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14745 #line 440 "rx-decode.opc"
14746 int rdst AU = op[1] & 0x0f;
14747 #line 440 "rx-decode.opc"
14748 int srca AU = (op[2] >> 4) & 0x0f;
14749 #line 440 "rx-decode.opc"
14750 int srcb AU = op[2] & 0x0f;
14753 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14754 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14755 op[0], op[1], op[2]);
14756 printf (" rdst = 0x%x,", rdst);
14757 printf (" srca = 0x%x,", srca);
14758 printf (" srcb = 0x%x\n", srcb);
14760 SYNTAX("or %2, %1, %0");
14761 #line 440 "rx-decode.opc"
14762 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14764 /*----------------------------------------------------------------------*/
14773 switch (op[2] & 0x00)
14776 goto op_semantics_102;
14782 switch (op[2] & 0x00)
14785 goto op_semantics_102;
14791 switch (op[2] & 0x00)
14794 goto op_semantics_102;
14800 switch (op[2] & 0x00)
14803 goto op_semantics_102;
14809 switch (op[2] & 0x00)
14812 goto op_semantics_102;
14818 switch (op[2] & 0x00)
14821 goto op_semantics_102;
14827 switch (op[2] & 0x00)
14830 goto op_semantics_102;
14836 switch (op[2] & 0x00)
14839 goto op_semantics_102;
14845 switch (op[2] & 0x00)
14848 goto op_semantics_102;
14854 switch (op[2] & 0x00)
14857 goto op_semantics_102;
14863 switch (op[2] & 0x00)
14866 goto op_semantics_102;
14872 switch (op[2] & 0x00)
14875 goto op_semantics_102;
14881 switch (op[2] & 0x00)
14884 goto op_semantics_102;
14890 switch (op[2] & 0x00)
14893 goto op_semantics_102;
14899 switch (op[2] & 0x00)
14902 goto op_semantics_102;
14906 default: UNSUPPORTED(); break;
14909 default: UNSUPPORTED(); break;
14911 #line 1005 "rx-decode.opc"
14913 return rx->n_bytes;