1 /* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
2 #line 1 "rx-decode.opc"
4 /* Copyright (C) 2012-2018 Free Software Foundation, Inc.
5 Contributed by Red Hat.
8 This file is part of the GNU opcodes library.
10 This library is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3, or (at your option)
15 It is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
23 MA 02110-1301, USA. */
30 #include "opcode/rx.h"
31 #include "libiberty.h"
33 #define RX_OPCODE_BIG_ENDIAN 0
37 RX_Opcode_Decoded
* rx
;
38 int (* getbyte
)(void *);
49 /* These are for when the upper bits are "don't care" or "undefined". */
55 RX_Bad_Size
/* Bogus instructions can have a size field set to 3. */
63 RX_Bad_Size
/* Bogus instructions can have a size field set to 3. */
70 RX_Bad_Size
,/* Bogus instructions can have a size field set to 2. */
71 RX_Bad_Size
/* Bogus instructions can have a size field set to 3. */
82 #define ID(x) rx->id = RXO_##x
83 #define OP(n,t,r,a) (rx->op[n].type = t, \
85 rx->op[n].addend = a )
86 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
89 /* This is for the BWL and BW bitfields. */
90 static int SCALE
[] = { 1, 2, 4, 0 };
91 /* This is for the prefix size enum. */
92 static int PSCALE
[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
94 #define GET_SCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
95 #define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
97 static int flagmap
[] = {0, 1, 2, 3, 0, 0, 0, 0,
98 16, 17, 0, 0, 0, 0, 0, 0 };
100 static int dsp3map
[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
103 *C a constant (immediate) c
105 *I Register indirect, no offset
106 *Is Register indirect, with offset
107 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
108 *P standard displacement: type (r,[r]), reg, assumes UByte
109 *Pm memex displacement: type (r,[r]), reg, memex code
110 *cc condition code. */
112 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
113 #define DR(r) OP (0, RX_Operand_Register, r, 0)
114 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
115 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
116 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
117 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
119 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
120 #define SR(r) OP (1, RX_Operand_Register, r, 0)
121 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
122 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
123 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
124 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
125 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
126 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
127 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
129 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
130 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
131 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
132 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
133 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
134 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
135 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
136 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
138 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
139 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
140 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
141 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
143 #define F(f) store_flags(rx, f)
145 #define AU ATTRIBUTE_UNUSED
146 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
148 #define SYNTAX(x) rx->syntax = x
150 #define UNSUPPORTED() \
151 rx->syntax = "*unknown*"
153 #define IMM(sf) immediate (sf, 0, ld)
154 #define IMMex(sf) immediate (sf, 1, ld)
157 immediate (int sfield
, int ex
, LocalData
* ld
)
159 unsigned long i
= 0, j
;
163 #define B ((unsigned long) GETBYTE())
165 #if RX_OPCODE_BIG_ENDIAN
167 if (ex
&& (i
& 0x80))
178 if (ex
&& (j
& 0x80))
184 #if RX_OPCODE_BIG_ENDIAN
193 if (ex
&& (i
& 0x800000))
197 #if RX_OPCODE_BIG_ENDIAN
204 if (ex
&& (i
& 0x8000))
209 if (ex
&& (i
& 0x80))
219 rx_disp (int n
, int type
, int reg
, unsigned int size
, LocalData
* ld
)
223 ld
->rx
->op
[n
].reg
= reg
;
227 ld
->rx
->op
[n
].type
= RX_Operand_Register
;
230 ld
->rx
->op
[n
].type
= RX_Operand_Zero_Indirect
;
231 ld
->rx
->op
[n
].addend
= 0;
234 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
236 ld
->rx
->op
[n
].addend
= disp
* GET_PSCALE (size
);
239 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
241 #if RX_OPCODE_BIG_ENDIAN
242 disp
= disp
* 256 + GETBYTE ();
244 disp
= disp
+ GETBYTE () * 256;
246 ld
->rx
->op
[n
].addend
= disp
* GET_PSCALE (size
);
259 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
260 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
261 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
262 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
263 #define F_O___ rx->flags_0 = rx->flags_s = xO;
264 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
265 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
266 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
269 rx_decode_opcode (unsigned long pc AU
,
270 RX_Opcode_Decoded
* rx
,
271 int (* getbyte
)(void *),
274 LocalData lds
, * ld
= &lds
;
275 unsigned char op
[20] = {0};
278 lds
.getbyte
= getbyte
;
282 memset (rx
, 0, sizeof (*rx
));
286 /*----------------------------------------------------------------------*/
290 switch (op
[0] & 0xff)
297 printf ("\033[33m%s\033[0m %02x\n",
298 "/** 0000 0000 brk */",
302 #line 1029 "rx-decode.opc"
312 printf ("\033[33m%s\033[0m %02x\n",
313 "/** 0000 0001 dbt */",
317 #line 1032 "rx-decode.opc"
327 printf ("\033[33m%s\033[0m %02x\n",
328 "/** 0000 0010 rts */",
332 #line 810 "rx-decode.opc"
335 /*----------------------------------------------------------------------*/
345 printf ("\033[33m%s\033[0m %02x\n",
346 "/** 0000 0011 nop */",
350 #line 816 "rx-decode.opc"
353 /*----------------------------------------------------------------------*/
354 /* STRING FUNCTIONS */
360 /** 0000 0100 bra.a %a0 */
363 printf ("\033[33m%s\033[0m %02x\n",
364 "/** 0000 0100 bra.a %a0 */",
368 #line 788 "rx-decode.opc"
369 ID(branch
); DC(pc
+ IMMex(3));
375 /** 0000 0101 bsr.a %a0 */
378 printf ("\033[33m%s\033[0m %02x\n",
379 "/** 0000 0101 bsr.a %a0 */",
383 #line 804 "rx-decode.opc"
384 ID(jsr
); DC(pc
+ IMMex(3));
390 switch (op
[1] & 0xff)
394 switch (op
[2] & 0x00)
399 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
400 #line 546 "rx-decode.opc"
401 int mx AU
= (op
[1] >> 6) & 0x03;
402 #line 546 "rx-decode.opc"
403 int ss AU
= op
[1] & 0x03;
404 #line 546 "rx-decode.opc"
405 int rsrc AU
= (op
[2] >> 4) & 0x0f;
406 #line 546 "rx-decode.opc"
407 int rdst AU
= op
[2] & 0x0f;
410 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
411 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
412 op
[0], op
[1], op
[2]);
413 printf (" mx = 0x%x,", mx
);
414 printf (" ss = 0x%x,", ss
);
415 printf (" rsrc = 0x%x,", rsrc
);
416 printf (" rdst = 0x%x\n", rdst
);
418 SYNTAX("sub %2%S2, %1");
419 #line 546 "rx-decode.opc"
420 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); DR(rdst
); F_OSZC
;
428 switch (op
[2] & 0x00)
437 switch (op
[2] & 0x00)
446 switch (op
[2] & 0x00)
455 switch (op
[2] & 0x00)
460 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
461 #line 534 "rx-decode.opc"
462 int mx AU
= (op
[1] >> 6) & 0x03;
463 #line 534 "rx-decode.opc"
464 int ss AU
= op
[1] & 0x03;
465 #line 534 "rx-decode.opc"
466 int rsrc AU
= (op
[2] >> 4) & 0x0f;
467 #line 534 "rx-decode.opc"
468 int rdst AU
= op
[2] & 0x0f;
471 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
472 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
473 op
[0], op
[1], op
[2]);
474 printf (" mx = 0x%x,", mx
);
475 printf (" ss = 0x%x,", ss
);
476 printf (" rsrc = 0x%x,", rsrc
);
477 printf (" rdst = 0x%x\n", rdst
);
479 SYNTAX("cmp %2%S2, %1");
480 #line 534 "rx-decode.opc"
481 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); F_OSZC
;
483 /*----------------------------------------------------------------------*/
492 switch (op
[2] & 0x00)
501 switch (op
[2] & 0x00)
510 switch (op
[2] & 0x00)
519 switch (op
[2] & 0x00)
524 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
525 #line 510 "rx-decode.opc"
526 int mx AU
= (op
[1] >> 6) & 0x03;
527 #line 510 "rx-decode.opc"
528 int ss AU
= op
[1] & 0x03;
529 #line 510 "rx-decode.opc"
530 int rsrc AU
= (op
[2] >> 4) & 0x0f;
531 #line 510 "rx-decode.opc"
532 int rdst AU
= op
[2] & 0x0f;
535 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
536 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
537 op
[0], op
[1], op
[2]);
538 printf (" mx = 0x%x,", mx
);
539 printf (" ss = 0x%x,", ss
);
540 printf (" rsrc = 0x%x,", rsrc
);
541 printf (" rdst = 0x%x\n", rdst
);
543 SYNTAX("add %1%S1, %0");
544 #line 510 "rx-decode.opc"
545 ID(add
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_OSZC
;
553 switch (op
[2] & 0x00)
562 switch (op
[2] & 0x00)
571 switch (op
[2] & 0x00)
580 switch (op
[2] & 0x00)
585 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
586 #line 653 "rx-decode.opc"
587 int mx AU
= (op
[1] >> 6) & 0x03;
588 #line 653 "rx-decode.opc"
589 int ss AU
= op
[1] & 0x03;
590 #line 653 "rx-decode.opc"
591 int rsrc AU
= (op
[2] >> 4) & 0x0f;
592 #line 653 "rx-decode.opc"
593 int rdst AU
= op
[2] & 0x0f;
596 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
597 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
598 op
[0], op
[1], op
[2]);
599 printf (" mx = 0x%x,", mx
);
600 printf (" ss = 0x%x,", ss
);
601 printf (" rsrc = 0x%x,", rsrc
);
602 printf (" rdst = 0x%x\n", rdst
);
604 SYNTAX("mul %1%S1, %0");
605 #line 653 "rx-decode.opc"
606 ID(mul
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_____
;
614 switch (op
[2] & 0x00)
623 switch (op
[2] & 0x00)
632 switch (op
[2] & 0x00)
641 switch (op
[2] & 0x00)
646 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
647 #line 423 "rx-decode.opc"
648 int mx AU
= (op
[1] >> 6) & 0x03;
649 #line 423 "rx-decode.opc"
650 int ss AU
= op
[1] & 0x03;
651 #line 423 "rx-decode.opc"
652 int rsrc AU
= (op
[2] >> 4) & 0x0f;
653 #line 423 "rx-decode.opc"
654 int rdst AU
= op
[2] & 0x0f;
657 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
658 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
659 op
[0], op
[1], op
[2]);
660 printf (" mx = 0x%x,", mx
);
661 printf (" ss = 0x%x,", ss
);
662 printf (" rsrc = 0x%x,", rsrc
);
663 printf (" rdst = 0x%x\n", rdst
);
665 SYNTAX("and %1%S1, %0");
666 #line 423 "rx-decode.opc"
667 ID(and); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
675 switch (op
[2] & 0x00)
684 switch (op
[2] & 0x00)
693 switch (op
[2] & 0x00)
702 switch (op
[2] & 0x00)
707 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
708 #line 441 "rx-decode.opc"
709 int mx AU
= (op
[1] >> 6) & 0x03;
710 #line 441 "rx-decode.opc"
711 int ss AU
= op
[1] & 0x03;
712 #line 441 "rx-decode.opc"
713 int rsrc AU
= (op
[2] >> 4) & 0x0f;
714 #line 441 "rx-decode.opc"
715 int rdst AU
= op
[2] & 0x0f;
718 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
719 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
720 op
[0], op
[1], op
[2]);
721 printf (" mx = 0x%x,", mx
);
722 printf (" ss = 0x%x,", ss
);
723 printf (" rsrc = 0x%x,", rsrc
);
724 printf (" rdst = 0x%x\n", rdst
);
726 SYNTAX("or %1%S1, %0");
727 #line 441 "rx-decode.opc"
728 ID(or); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
736 switch (op
[2] & 0x00)
745 switch (op
[2] & 0x00)
754 switch (op
[2] & 0x00)
763 switch (op
[2] & 0xff)
767 switch (op
[3] & 0x00)
772 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
773 #line 559 "rx-decode.opc"
774 int mx AU
= (op
[1] >> 6) & 0x03;
775 #line 559 "rx-decode.opc"
776 int sp AU
= op
[1] & 0x03;
777 #line 559 "rx-decode.opc"
778 int rsrc AU
= (op
[3] >> 4) & 0x0f;
779 #line 559 "rx-decode.opc"
780 int rdst AU
= op
[3] & 0x0f;
783 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
784 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
785 op
[0], op
[1], op
[2], op
[3]);
786 printf (" mx = 0x%x,", mx
);
787 printf (" sp = 0x%x,", sp
);
788 printf (" rsrc = 0x%x,", rsrc
);
789 printf (" rdst = 0x%x\n", rdst
);
791 SYNTAX("sbb %1%S1, %0");
792 #line 559 "rx-decode.opc"
793 ID(sbb
); SPm(sp
, rsrc
, mx
); DR(rdst
); F_OSZC
;
795 /*----------------------------------------------------------------------*/
804 switch (op
[3] & 0x00)
809 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
810 #line 598 "rx-decode.opc"
811 int mx AU
= (op
[1] >> 6) & 0x03;
812 #line 598 "rx-decode.opc"
813 int ss AU
= op
[1] & 0x03;
814 #line 598 "rx-decode.opc"
815 int rsrc AU
= (op
[3] >> 4) & 0x0f;
816 #line 598 "rx-decode.opc"
817 int rdst AU
= op
[3] & 0x0f;
820 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
821 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
822 op
[0], op
[1], op
[2], op
[3]);
823 printf (" mx = 0x%x,", mx
);
824 printf (" ss = 0x%x,", ss
);
825 printf (" rsrc = 0x%x,", rsrc
);
826 printf (" rdst = 0x%x\n", rdst
);
828 SYNTAX("max %1%S1, %0");
829 #line 598 "rx-decode.opc"
830 ID(max
); SPm(ss
, rsrc
, mx
); DR(rdst
);
832 /*----------------------------------------------------------------------*/
841 switch (op
[3] & 0x00)
846 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
847 #line 610 "rx-decode.opc"
848 int mx AU
= (op
[1] >> 6) & 0x03;
849 #line 610 "rx-decode.opc"
850 int ss AU
= op
[1] & 0x03;
851 #line 610 "rx-decode.opc"
852 int rsrc AU
= (op
[3] >> 4) & 0x0f;
853 #line 610 "rx-decode.opc"
854 int rdst AU
= op
[3] & 0x0f;
857 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
858 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
859 op
[0], op
[1], op
[2], op
[3]);
860 printf (" mx = 0x%x,", mx
);
861 printf (" ss = 0x%x,", ss
);
862 printf (" rsrc = 0x%x,", rsrc
);
863 printf (" rdst = 0x%x\n", rdst
);
865 SYNTAX("min %1%S1, %0");
866 #line 610 "rx-decode.opc"
867 ID(min
); SPm(ss
, rsrc
, mx
); DR(rdst
);
869 /*----------------------------------------------------------------------*/
878 switch (op
[3] & 0x00)
883 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
884 #line 668 "rx-decode.opc"
885 int mx AU
= (op
[1] >> 6) & 0x03;
886 #line 668 "rx-decode.opc"
887 int ss AU
= op
[1] & 0x03;
888 #line 668 "rx-decode.opc"
889 int rsrc AU
= (op
[3] >> 4) & 0x0f;
890 #line 668 "rx-decode.opc"
891 int rdst AU
= op
[3] & 0x0f;
894 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
895 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
896 op
[0], op
[1], op
[2], op
[3]);
897 printf (" mx = 0x%x,", mx
);
898 printf (" ss = 0x%x,", ss
);
899 printf (" rsrc = 0x%x,", rsrc
);
900 printf (" rdst = 0x%x\n", rdst
);
902 SYNTAX("emul %1%S1, %0");
903 #line 668 "rx-decode.opc"
904 ID(emul
); SPm(ss
, rsrc
, mx
); DR(rdst
);
906 /*----------------------------------------------------------------------*/
915 switch (op
[3] & 0x00)
920 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
921 #line 680 "rx-decode.opc"
922 int mx AU
= (op
[1] >> 6) & 0x03;
923 #line 680 "rx-decode.opc"
924 int ss AU
= op
[1] & 0x03;
925 #line 680 "rx-decode.opc"
926 int rsrc AU
= (op
[3] >> 4) & 0x0f;
927 #line 680 "rx-decode.opc"
928 int rdst AU
= op
[3] & 0x0f;
931 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
932 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
933 op
[0], op
[1], op
[2], op
[3]);
934 printf (" mx = 0x%x,", mx
);
935 printf (" ss = 0x%x,", ss
);
936 printf (" rsrc = 0x%x,", rsrc
);
937 printf (" rdst = 0x%x\n", rdst
);
939 SYNTAX("emulu %1%S1, %0");
940 #line 680 "rx-decode.opc"
941 ID(emulu
); SPm(ss
, rsrc
, mx
); DR(rdst
);
943 /*----------------------------------------------------------------------*/
952 switch (op
[3] & 0x00)
957 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
958 #line 692 "rx-decode.opc"
959 int mx AU
= (op
[1] >> 6) & 0x03;
960 #line 692 "rx-decode.opc"
961 int ss AU
= op
[1] & 0x03;
962 #line 692 "rx-decode.opc"
963 int rsrc AU
= (op
[3] >> 4) & 0x0f;
964 #line 692 "rx-decode.opc"
965 int rdst AU
= op
[3] & 0x0f;
968 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
969 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
970 op
[0], op
[1], op
[2], op
[3]);
971 printf (" mx = 0x%x,", mx
);
972 printf (" ss = 0x%x,", ss
);
973 printf (" rsrc = 0x%x,", rsrc
);
974 printf (" rdst = 0x%x\n", rdst
);
976 SYNTAX("div %1%S1, %0");
977 #line 692 "rx-decode.opc"
978 ID(div
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
980 /*----------------------------------------------------------------------*/
989 switch (op
[3] & 0x00)
994 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
995 #line 704 "rx-decode.opc"
996 int mx AU
= (op
[1] >> 6) & 0x03;
997 #line 704 "rx-decode.opc"
998 int ss AU
= op
[1] & 0x03;
999 #line 704 "rx-decode.opc"
1000 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1001 #line 704 "rx-decode.opc"
1002 int rdst AU
= op
[3] & 0x0f;
1005 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1006 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1007 op
[0], op
[1], op
[2], op
[3]);
1008 printf (" mx = 0x%x,", mx
);
1009 printf (" ss = 0x%x,", ss
);
1010 printf (" rsrc = 0x%x,", rsrc
);
1011 printf (" rdst = 0x%x\n", rdst
);
1013 SYNTAX("divu %1%S1, %0");
1014 #line 704 "rx-decode.opc"
1015 ID(divu
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
1017 /*----------------------------------------------------------------------*/
1026 switch (op
[3] & 0x00)
1031 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1032 #line 477 "rx-decode.opc"
1033 int mx AU
= (op
[1] >> 6) & 0x03;
1034 #line 477 "rx-decode.opc"
1035 int ss AU
= op
[1] & 0x03;
1036 #line 477 "rx-decode.opc"
1037 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1038 #line 477 "rx-decode.opc"
1039 int rdst AU
= op
[3] & 0x0f;
1042 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1043 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1044 op
[0], op
[1], op
[2], op
[3]);
1045 printf (" mx = 0x%x,", mx
);
1046 printf (" ss = 0x%x,", ss
);
1047 printf (" rsrc = 0x%x,", rsrc
);
1048 printf (" rdst = 0x%x\n", rdst
);
1050 SYNTAX("tst %1%S1, %2");
1051 #line 477 "rx-decode.opc"
1052 ID(and); SPm(ss
, rsrc
, mx
); S2R(rdst
); F__SZ_
;
1054 /*----------------------------------------------------------------------*/
1063 switch (op
[3] & 0x00)
1068 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1069 #line 456 "rx-decode.opc"
1070 int mx AU
= (op
[1] >> 6) & 0x03;
1071 #line 456 "rx-decode.opc"
1072 int ss AU
= op
[1] & 0x03;
1073 #line 456 "rx-decode.opc"
1074 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1075 #line 456 "rx-decode.opc"
1076 int rdst AU
= op
[3] & 0x0f;
1079 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1080 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1081 op
[0], op
[1], op
[2], op
[3]);
1082 printf (" mx = 0x%x,", mx
);
1083 printf (" ss = 0x%x,", ss
);
1084 printf (" rsrc = 0x%x,", rsrc
);
1085 printf (" rdst = 0x%x\n", rdst
);
1087 SYNTAX("xor %1%S1, %0");
1088 #line 456 "rx-decode.opc"
1089 ID(xor); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
1091 /*----------------------------------------------------------------------*/
1100 switch (op
[3] & 0x00)
1105 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1106 #line 390 "rx-decode.opc"
1107 int mx AU
= (op
[1] >> 6) & 0x03;
1108 #line 390 "rx-decode.opc"
1109 int ss AU
= op
[1] & 0x03;
1110 #line 390 "rx-decode.opc"
1111 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1112 #line 390 "rx-decode.opc"
1113 int rdst AU
= op
[3] & 0x0f;
1116 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1117 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1118 op
[0], op
[1], op
[2], op
[3]);
1119 printf (" mx = 0x%x,", mx
);
1120 printf (" ss = 0x%x,", ss
);
1121 printf (" rsrc = 0x%x,", rsrc
);
1122 printf (" rdst = 0x%x\n", rdst
);
1124 SYNTAX("xchg %1%S1, %0");
1125 #line 390 "rx-decode.opc"
1126 ID(xchg
); DR(rdst
); SPm(ss
, rsrc
, mx
);
1128 /*----------------------------------------------------------------------*/
1137 switch (op
[3] & 0x00)
1142 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1143 #line 933 "rx-decode.opc"
1144 int mx AU
= (op
[1] >> 6) & 0x03;
1145 #line 933 "rx-decode.opc"
1146 int sd AU
= op
[1] & 0x03;
1147 #line 933 "rx-decode.opc"
1148 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1149 #line 933 "rx-decode.opc"
1150 int rdst AU
= op
[3] & 0x0f;
1153 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1154 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1155 op
[0], op
[1], op
[2], op
[3]);
1156 printf (" mx = 0x%x,", mx
);
1157 printf (" sd = 0x%x,", sd
);
1158 printf (" rsrc = 0x%x,", rsrc
);
1159 printf (" rdst = 0x%x\n", rdst
);
1161 SYNTAX("itof %1%S1, %0");
1162 #line 933 "rx-decode.opc"
1163 ID(itof
); DR (rdst
); SPm(sd
, rsrc
, mx
); F__SZ_
;
1165 /*----------------------------------------------------------------------*/
1174 switch (op
[3] & 0x00)
1179 /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
1180 #line 1119 "rx-decode.opc"
1181 int mx AU
= (op
[1] >> 6) & 0x03;
1182 #line 1119 "rx-decode.opc"
1183 int sd AU
= op
[1] & 0x03;
1184 #line 1119 "rx-decode.opc"
1185 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1186 #line 1119 "rx-decode.opc"
1187 int rdst AU
= op
[3] & 0x0f;
1190 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1191 "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
1192 op
[0], op
[1], op
[2], op
[3]);
1193 printf (" mx = 0x%x,", mx
);
1194 printf (" sd = 0x%x,", sd
);
1195 printf (" rsrc = 0x%x,", rsrc
);
1196 printf (" rdst = 0x%x\n", rdst
);
1198 SYNTAX("utof %1%S1, %0");
1199 #line 1119 "rx-decode.opc"
1200 ID(utof
); DR (rdst
); SPm(sd
, rsrc
, mx
); F__SZ_
;
1206 default: UNSUPPORTED(); break;
1211 switch (op
[2] & 0xff)
1215 switch (op
[3] & 0x00)
1218 goto op_semantics_7
;
1224 switch (op
[3] & 0x00)
1227 goto op_semantics_8
;
1233 switch (op
[3] & 0x00)
1236 goto op_semantics_9
;
1242 switch (op
[3] & 0x00)
1245 goto op_semantics_10
;
1251 switch (op
[3] & 0x00)
1254 goto op_semantics_11
;
1260 switch (op
[3] & 0x00)
1263 goto op_semantics_12
;
1269 switch (op
[3] & 0x00)
1272 goto op_semantics_13
;
1278 switch (op
[3] & 0x00)
1281 goto op_semantics_14
;
1287 switch (op
[3] & 0x00)
1290 goto op_semantics_15
;
1296 switch (op
[3] & 0x00)
1299 goto op_semantics_16
;
1305 switch (op
[3] & 0x00)
1308 goto op_semantics_17
;
1314 switch (op
[3] & 0x00)
1317 goto op_semantics_18
;
1321 default: UNSUPPORTED(); break;
1326 switch (op
[2] & 0xff)
1330 switch (op
[3] & 0x00)
1333 goto op_semantics_7
;
1339 switch (op
[3] & 0x00)
1342 goto op_semantics_8
;
1348 switch (op
[3] & 0x00)
1351 goto op_semantics_9
;
1357 switch (op
[3] & 0x00)
1360 goto op_semantics_10
;
1366 switch (op
[3] & 0x00)
1369 goto op_semantics_11
;
1375 switch (op
[3] & 0x00)
1378 goto op_semantics_12
;
1384 switch (op
[3] & 0x00)
1387 goto op_semantics_13
;
1393 switch (op
[3] & 0x00)
1396 goto op_semantics_14
;
1402 switch (op
[3] & 0x00)
1405 goto op_semantics_15
;
1411 switch (op
[3] & 0x00)
1414 goto op_semantics_16
;
1420 switch (op
[3] & 0x00)
1423 goto op_semantics_17
;
1429 switch (op
[3] & 0x00)
1432 goto op_semantics_18
;
1436 default: UNSUPPORTED(); break;
1441 switch (op
[2] & 0xff)
1445 switch (op
[3] & 0x00)
1448 goto op_semantics_7
;
1454 switch (op
[3] & 0x00)
1457 goto op_semantics_8
;
1463 switch (op
[3] & 0x00)
1466 goto op_semantics_9
;
1472 switch (op
[3] & 0x00)
1475 goto op_semantics_10
;
1481 switch (op
[3] & 0x00)
1484 goto op_semantics_11
;
1490 switch (op
[3] & 0x00)
1493 goto op_semantics_12
;
1499 switch (op
[3] & 0x00)
1502 goto op_semantics_13
;
1508 switch (op
[3] & 0x00)
1511 goto op_semantics_14
;
1517 switch (op
[3] & 0x00)
1520 goto op_semantics_15
;
1526 switch (op
[3] & 0x00)
1529 goto op_semantics_16
;
1535 switch (op
[3] & 0x00)
1538 goto op_semantics_17
;
1544 switch (op
[3] & 0x00)
1547 goto op_semantics_18
;
1551 default: UNSUPPORTED(); break;
1556 switch (op
[2] & 0x00)
1559 goto op_semantics_1
;
1565 switch (op
[2] & 0x00)
1568 goto op_semantics_1
;
1574 switch (op
[2] & 0x00)
1577 goto op_semantics_1
;
1583 switch (op
[2] & 0x00)
1586 goto op_semantics_1
;
1592 switch (op
[2] & 0x00)
1595 goto op_semantics_2
;
1601 switch (op
[2] & 0x00)
1604 goto op_semantics_2
;
1610 switch (op
[2] & 0x00)
1613 goto op_semantics_2
;
1619 switch (op
[2] & 0x00)
1622 goto op_semantics_2
;
1628 switch (op
[2] & 0x00)
1631 goto op_semantics_3
;
1637 switch (op
[2] & 0x00)
1640 goto op_semantics_3
;
1646 switch (op
[2] & 0x00)
1649 goto op_semantics_3
;
1655 switch (op
[2] & 0x00)
1658 goto op_semantics_3
;
1664 switch (op
[2] & 0x00)
1667 goto op_semantics_4
;
1673 switch (op
[2] & 0x00)
1676 goto op_semantics_4
;
1682 switch (op
[2] & 0x00)
1685 goto op_semantics_4
;
1691 switch (op
[2] & 0x00)
1694 goto op_semantics_4
;
1700 switch (op
[2] & 0x00)
1703 goto op_semantics_5
;
1709 switch (op
[2] & 0x00)
1712 goto op_semantics_5
;
1718 switch (op
[2] & 0x00)
1721 goto op_semantics_5
;
1727 switch (op
[2] & 0x00)
1730 goto op_semantics_5
;
1736 switch (op
[2] & 0x00)
1739 goto op_semantics_6
;
1745 switch (op
[2] & 0x00)
1748 goto op_semantics_6
;
1754 switch (op
[2] & 0x00)
1757 goto op_semantics_6
;
1763 switch (op
[2] & 0x00)
1766 goto op_semantics_6
;
1772 switch (op
[2] & 0xff)
1776 switch (op
[3] & 0x00)
1779 goto op_semantics_7
;
1785 switch (op
[3] & 0x00)
1788 goto op_semantics_8
;
1794 switch (op
[3] & 0x00)
1797 goto op_semantics_9
;
1803 switch (op
[3] & 0x00)
1806 goto op_semantics_10
;
1812 switch (op
[3] & 0x00)
1815 goto op_semantics_11
;
1821 switch (op
[3] & 0x00)
1824 goto op_semantics_12
;
1830 switch (op
[3] & 0x00)
1833 goto op_semantics_13
;
1839 switch (op
[3] & 0x00)
1842 goto op_semantics_14
;
1848 switch (op
[3] & 0x00)
1851 goto op_semantics_15
;
1857 switch (op
[3] & 0x00)
1860 goto op_semantics_16
;
1866 switch (op
[3] & 0x00)
1869 goto op_semantics_17
;
1875 switch (op
[3] & 0x00)
1878 goto op_semantics_18
;
1882 default: UNSUPPORTED(); break;
1887 switch (op
[2] & 0xff)
1891 switch (op
[3] & 0x00)
1894 goto op_semantics_7
;
1900 switch (op
[3] & 0x00)
1903 goto op_semantics_8
;
1909 switch (op
[3] & 0x00)
1912 goto op_semantics_9
;
1918 switch (op
[3] & 0x00)
1921 goto op_semantics_10
;
1927 switch (op
[3] & 0x00)
1930 goto op_semantics_11
;
1936 switch (op
[3] & 0x00)
1939 goto op_semantics_12
;
1945 switch (op
[3] & 0x00)
1948 goto op_semantics_13
;
1954 switch (op
[3] & 0x00)
1957 goto op_semantics_14
;
1963 switch (op
[3] & 0x00)
1966 goto op_semantics_15
;
1972 switch (op
[3] & 0x00)
1975 goto op_semantics_16
;
1981 switch (op
[3] & 0x00)
1984 goto op_semantics_17
;
1990 switch (op
[3] & 0x00)
1993 goto op_semantics_18
;
1997 default: UNSUPPORTED(); break;
2002 switch (op
[2] & 0xff)
2006 switch (op
[3] & 0x00)
2009 goto op_semantics_7
;
2015 switch (op
[3] & 0x00)
2018 goto op_semantics_8
;
2024 switch (op
[3] & 0x00)
2027 goto op_semantics_9
;
2033 switch (op
[3] & 0x00)
2036 goto op_semantics_10
;
2042 switch (op
[3] & 0x00)
2045 goto op_semantics_11
;
2051 switch (op
[3] & 0x00)
2054 goto op_semantics_12
;
2060 switch (op
[3] & 0x00)
2063 goto op_semantics_13
;
2069 switch (op
[3] & 0x00)
2072 goto op_semantics_14
;
2078 switch (op
[3] & 0x00)
2081 goto op_semantics_15
;
2087 switch (op
[3] & 0x00)
2090 goto op_semantics_16
;
2096 switch (op
[3] & 0x00)
2099 goto op_semantics_17
;
2105 switch (op
[3] & 0x00)
2108 goto op_semantics_18
;
2112 default: UNSUPPORTED(); break;
2117 switch (op
[2] & 0xff)
2121 switch (op
[3] & 0x00)
2124 goto op_semantics_7
;
2130 switch (op
[3] & 0x00)
2133 goto op_semantics_8
;
2139 switch (op
[3] & 0x00)
2142 goto op_semantics_9
;
2148 switch (op
[3] & 0x00)
2151 goto op_semantics_10
;
2157 switch (op
[3] & 0x00)
2160 goto op_semantics_11
;
2166 switch (op
[3] & 0x00)
2169 goto op_semantics_12
;
2175 switch (op
[3] & 0x00)
2178 goto op_semantics_13
;
2184 switch (op
[3] & 0x00)
2187 goto op_semantics_14
;
2193 switch (op
[3] & 0x00)
2196 goto op_semantics_15
;
2202 switch (op
[3] & 0x00)
2205 goto op_semantics_16
;
2211 switch (op
[3] & 0x00)
2214 goto op_semantics_17
;
2220 switch (op
[3] & 0x00)
2223 goto op_semantics_18
;
2227 default: UNSUPPORTED(); break;
2232 switch (op
[2] & 0x00)
2235 goto op_semantics_1
;
2241 switch (op
[2] & 0x00)
2244 goto op_semantics_1
;
2250 switch (op
[2] & 0x00)
2253 goto op_semantics_1
;
2259 switch (op
[2] & 0x00)
2262 goto op_semantics_1
;
2268 switch (op
[2] & 0x00)
2271 goto op_semantics_2
;
2277 switch (op
[2] & 0x00)
2280 goto op_semantics_2
;
2286 switch (op
[2] & 0x00)
2289 goto op_semantics_2
;
2295 switch (op
[2] & 0x00)
2298 goto op_semantics_2
;
2304 switch (op
[2] & 0x00)
2307 goto op_semantics_3
;
2313 switch (op
[2] & 0x00)
2316 goto op_semantics_3
;
2322 switch (op
[2] & 0x00)
2325 goto op_semantics_3
;
2331 switch (op
[2] & 0x00)
2334 goto op_semantics_3
;
2340 switch (op
[2] & 0x00)
2343 goto op_semantics_4
;
2349 switch (op
[2] & 0x00)
2352 goto op_semantics_4
;
2358 switch (op
[2] & 0x00)
2361 goto op_semantics_4
;
2367 switch (op
[2] & 0x00)
2370 goto op_semantics_4
;
2376 switch (op
[2] & 0x00)
2379 goto op_semantics_5
;
2385 switch (op
[2] & 0x00)
2388 goto op_semantics_5
;
2394 switch (op
[2] & 0x00)
2397 goto op_semantics_5
;
2403 switch (op
[2] & 0x00)
2406 goto op_semantics_5
;
2412 switch (op
[2] & 0x00)
2415 goto op_semantics_6
;
2421 switch (op
[2] & 0x00)
2424 goto op_semantics_6
;
2430 switch (op
[2] & 0x00)
2433 goto op_semantics_6
;
2439 switch (op
[2] & 0x00)
2442 goto op_semantics_6
;
2448 switch (op
[2] & 0xff)
2452 switch (op
[3] & 0x00)
2455 goto op_semantics_7
;
2461 switch (op
[3] & 0x00)
2466 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2467 #line 498 "rx-decode.opc"
2468 int ss AU
= op
[1] & 0x03;
2469 #line 498 "rx-decode.opc"
2470 int rsrc AU
= (op
[3] >> 4) & 0x0f;
2471 #line 498 "rx-decode.opc"
2472 int rdst AU
= op
[3] & 0x0f;
2475 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2476 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2477 op
[0], op
[1], op
[2], op
[3]);
2478 printf (" ss = 0x%x,", ss
);
2479 printf (" rsrc = 0x%x,", rsrc
);
2480 printf (" rdst = 0x%x\n", rdst
);
2482 SYNTAX("adc %1%S1, %0");
2483 #line 498 "rx-decode.opc"
2484 ID(adc
); SPm(ss
, rsrc
, 2); DR(rdst
); F_OSZC
;
2486 /*----------------------------------------------------------------------*/
2495 switch (op
[3] & 0x00)
2498 goto op_semantics_8
;
2504 switch (op
[3] & 0x00)
2507 goto op_semantics_9
;
2513 switch (op
[3] & 0x00)
2516 goto op_semantics_10
;
2522 switch (op
[3] & 0x00)
2525 goto op_semantics_11
;
2531 switch (op
[3] & 0x00)
2534 goto op_semantics_12
;
2540 switch (op
[3] & 0x00)
2543 goto op_semantics_13
;
2549 switch (op
[3] & 0x00)
2552 goto op_semantics_14
;
2558 switch (op
[3] & 0x00)
2561 goto op_semantics_15
;
2567 switch (op
[3] & 0x00)
2570 goto op_semantics_16
;
2576 switch (op
[3] & 0x00)
2579 goto op_semantics_17
;
2585 switch (op
[3] & 0x00)
2588 goto op_semantics_18
;
2592 default: UNSUPPORTED(); break;
2597 switch (op
[2] & 0xff)
2601 switch (op
[3] & 0x00)
2604 goto op_semantics_7
;
2610 switch (op
[3] & 0x00)
2613 goto op_semantics_19
;
2619 switch (op
[3] & 0x00)
2622 goto op_semantics_8
;
2628 switch (op
[3] & 0x00)
2631 goto op_semantics_9
;
2637 switch (op
[3] & 0x00)
2640 goto op_semantics_10
;
2646 switch (op
[3] & 0x00)
2649 goto op_semantics_11
;
2655 switch (op
[3] & 0x00)
2658 goto op_semantics_12
;
2664 switch (op
[3] & 0x00)
2667 goto op_semantics_13
;
2673 switch (op
[3] & 0x00)
2676 goto op_semantics_14
;
2682 switch (op
[3] & 0x00)
2685 goto op_semantics_15
;
2691 switch (op
[3] & 0x00)
2694 goto op_semantics_16
;
2700 switch (op
[3] & 0x00)
2703 goto op_semantics_17
;
2709 switch (op
[3] & 0x00)
2712 goto op_semantics_18
;
2716 default: UNSUPPORTED(); break;
2721 switch (op
[2] & 0xff)
2725 switch (op
[3] & 0x00)
2728 goto op_semantics_7
;
2734 switch (op
[3] & 0x00)
2737 goto op_semantics_19
;
2743 switch (op
[3] & 0x00)
2746 goto op_semantics_8
;
2752 switch (op
[3] & 0x00)
2755 goto op_semantics_9
;
2761 switch (op
[3] & 0x00)
2764 goto op_semantics_10
;
2770 switch (op
[3] & 0x00)
2773 goto op_semantics_11
;
2779 switch (op
[3] & 0x00)
2782 goto op_semantics_12
;
2788 switch (op
[3] & 0x00)
2791 goto op_semantics_13
;
2797 switch (op
[3] & 0x00)
2800 goto op_semantics_14
;
2806 switch (op
[3] & 0x00)
2809 goto op_semantics_15
;
2815 switch (op
[3] & 0x00)
2818 goto op_semantics_16
;
2824 switch (op
[3] & 0x00)
2827 goto op_semantics_17
;
2833 switch (op
[3] & 0x00)
2836 goto op_semantics_18
;
2840 default: UNSUPPORTED(); break;
2845 switch (op
[2] & 0xff)
2849 switch (op
[3] & 0x00)
2852 goto op_semantics_7
;
2858 switch (op
[3] & 0x00)
2861 goto op_semantics_19
;
2867 switch (op
[3] & 0x00)
2870 goto op_semantics_8
;
2876 switch (op
[3] & 0x00)
2879 goto op_semantics_9
;
2885 switch (op
[3] & 0x00)
2888 goto op_semantics_10
;
2894 switch (op
[3] & 0x00)
2897 goto op_semantics_11
;
2903 switch (op
[3] & 0x00)
2906 goto op_semantics_12
;
2912 switch (op
[3] & 0x00)
2915 goto op_semantics_13
;
2921 switch (op
[3] & 0x00)
2924 goto op_semantics_14
;
2930 switch (op
[3] & 0x00)
2933 goto op_semantics_15
;
2939 switch (op
[3] & 0x00)
2942 goto op_semantics_16
;
2948 switch (op
[3] & 0x00)
2951 goto op_semantics_17
;
2957 switch (op
[3] & 0x00)
2960 goto op_semantics_18
;
2964 default: UNSUPPORTED(); break;
2969 switch (op
[2] & 0x00)
2972 goto op_semantics_1
;
2978 switch (op
[2] & 0x00)
2981 goto op_semantics_1
;
2987 switch (op
[2] & 0x00)
2990 goto op_semantics_1
;
2996 switch (op
[2] & 0x00)
2999 goto op_semantics_1
;
3005 switch (op
[2] & 0x00)
3008 goto op_semantics_2
;
3014 switch (op
[2] & 0x00)
3017 goto op_semantics_2
;
3023 switch (op
[2] & 0x00)
3026 goto op_semantics_2
;
3032 switch (op
[2] & 0x00)
3035 goto op_semantics_2
;
3041 switch (op
[2] & 0x00)
3044 goto op_semantics_3
;
3050 switch (op
[2] & 0x00)
3053 goto op_semantics_3
;
3059 switch (op
[2] & 0x00)
3062 goto op_semantics_3
;
3068 switch (op
[2] & 0x00)
3071 goto op_semantics_3
;
3077 switch (op
[2] & 0x00)
3080 goto op_semantics_4
;
3086 switch (op
[2] & 0x00)
3089 goto op_semantics_4
;
3095 switch (op
[2] & 0x00)
3098 goto op_semantics_4
;
3104 switch (op
[2] & 0x00)
3107 goto op_semantics_4
;
3113 switch (op
[2] & 0x00)
3116 goto op_semantics_5
;
3122 switch (op
[2] & 0x00)
3125 goto op_semantics_5
;
3131 switch (op
[2] & 0x00)
3134 goto op_semantics_5
;
3140 switch (op
[2] & 0x00)
3143 goto op_semantics_5
;
3149 switch (op
[2] & 0x00)
3152 goto op_semantics_6
;
3158 switch (op
[2] & 0x00)
3161 goto op_semantics_6
;
3167 switch (op
[2] & 0x00)
3170 goto op_semantics_6
;
3176 switch (op
[2] & 0x00)
3179 goto op_semantics_6
;
3185 switch (op
[2] & 0xff)
3189 switch (op
[3] & 0x00)
3192 goto op_semantics_7
;
3198 switch (op
[3] & 0x00)
3201 goto op_semantics_8
;
3207 switch (op
[3] & 0x00)
3210 goto op_semantics_9
;
3216 switch (op
[3] & 0x00)
3219 goto op_semantics_10
;
3225 switch (op
[3] & 0x00)
3228 goto op_semantics_11
;
3234 switch (op
[3] & 0x00)
3237 goto op_semantics_12
;
3243 switch (op
[3] & 0x00)
3246 goto op_semantics_13
;
3252 switch (op
[3] & 0x00)
3255 goto op_semantics_14
;
3261 switch (op
[3] & 0x00)
3264 goto op_semantics_15
;
3270 switch (op
[3] & 0x00)
3273 goto op_semantics_16
;
3279 switch (op
[3] & 0x00)
3282 goto op_semantics_17
;
3288 switch (op
[3] & 0x00)
3291 goto op_semantics_18
;
3295 default: UNSUPPORTED(); break;
3300 switch (op
[2] & 0xff)
3304 switch (op
[3] & 0x00)
3307 goto op_semantics_7
;
3313 switch (op
[3] & 0x00)
3316 goto op_semantics_8
;
3322 switch (op
[3] & 0x00)
3325 goto op_semantics_9
;
3331 switch (op
[3] & 0x00)
3334 goto op_semantics_10
;
3340 switch (op
[3] & 0x00)
3343 goto op_semantics_11
;
3349 switch (op
[3] & 0x00)
3352 goto op_semantics_12
;
3358 switch (op
[3] & 0x00)
3361 goto op_semantics_13
;
3367 switch (op
[3] & 0x00)
3370 goto op_semantics_14
;
3376 switch (op
[3] & 0x00)
3379 goto op_semantics_15
;
3385 switch (op
[3] & 0x00)
3388 goto op_semantics_16
;
3394 switch (op
[3] & 0x00)
3397 goto op_semantics_17
;
3403 switch (op
[3] & 0x00)
3406 goto op_semantics_18
;
3410 default: UNSUPPORTED(); break;
3415 switch (op
[2] & 0xff)
3419 switch (op
[3] & 0x00)
3422 goto op_semantics_7
;
3428 switch (op
[3] & 0x00)
3431 goto op_semantics_8
;
3437 switch (op
[3] & 0x00)
3440 goto op_semantics_9
;
3446 switch (op
[3] & 0x00)
3449 goto op_semantics_10
;
3455 switch (op
[3] & 0x00)
3458 goto op_semantics_11
;
3464 switch (op
[3] & 0x00)
3467 goto op_semantics_12
;
3473 switch (op
[3] & 0x00)
3476 goto op_semantics_13
;
3482 switch (op
[3] & 0x00)
3485 goto op_semantics_14
;
3491 switch (op
[3] & 0x00)
3494 goto op_semantics_15
;
3500 switch (op
[3] & 0x00)
3503 goto op_semantics_16
;
3509 switch (op
[3] & 0x00)
3512 goto op_semantics_17
;
3518 switch (op
[3] & 0x00)
3521 goto op_semantics_18
;
3525 default: UNSUPPORTED(); break;
3530 switch (op
[2] & 0xff)
3534 switch (op
[3] & 0x00)
3537 goto op_semantics_7
;
3543 switch (op
[3] & 0x00)
3546 goto op_semantics_8
;
3552 switch (op
[3] & 0x00)
3555 goto op_semantics_9
;
3561 switch (op
[3] & 0x00)
3564 goto op_semantics_10
;
3570 switch (op
[3] & 0x00)
3573 goto op_semantics_11
;
3579 switch (op
[3] & 0x00)
3582 goto op_semantics_12
;
3588 switch (op
[3] & 0x00)
3591 goto op_semantics_13
;
3597 switch (op
[3] & 0x00)
3600 goto op_semantics_14
;
3606 switch (op
[3] & 0x00)
3609 goto op_semantics_15
;
3615 switch (op
[3] & 0x00)
3618 goto op_semantics_16
;
3624 switch (op
[3] & 0x00)
3627 goto op_semantics_17
;
3633 switch (op
[3] & 0x00)
3636 goto op_semantics_18
;
3640 default: UNSUPPORTED(); break;
3643 default: UNSUPPORTED(); break;
3655 /** 0000 1dsp bra.s %a0 */
3656 #line 779 "rx-decode.opc"
3657 int dsp AU
= op
[0] & 0x07;
3660 printf ("\033[33m%s\033[0m %02x\n",
3661 "/** 0000 1dsp bra.s %a0 */",
3663 printf (" dsp = 0x%x\n", dsp
);
3665 SYNTAX("bra.s %a0");
3666 #line 779 "rx-decode.opc"
3667 ID(branch
); DC(pc
+ dsp3map
[dsp
]);
3688 /** 0001 n dsp b%1.s %a0 */
3689 #line 769 "rx-decode.opc"
3690 int n AU
= (op
[0] >> 3) & 0x01;
3691 #line 769 "rx-decode.opc"
3692 int dsp AU
= op
[0] & 0x07;
3695 printf ("\033[33m%s\033[0m %02x\n",
3696 "/** 0001 n dsp b%1.s %a0 */",
3698 printf (" n = 0x%x,", n
);
3699 printf (" dsp = 0x%x\n", dsp
);
3701 SYNTAX("b%1.s %a0");
3702 #line 769 "rx-decode.opc"
3703 ID(branch
); Scc(n
); DC(pc
+ dsp3map
[dsp
]);
3723 /** 0010 cond b%1.b %a0 */
3724 #line 772 "rx-decode.opc"
3725 int cond AU
= op
[0] & 0x0f;
3728 printf ("\033[33m%s\033[0m %02x\n",
3729 "/** 0010 cond b%1.b %a0 */",
3731 printf (" cond = 0x%x\n", cond
);
3733 SYNTAX("b%1.b %a0");
3734 #line 772 "rx-decode.opc"
3735 ID(branch
); Scc(cond
); DC(pc
+ IMMex (1));
3741 /** 0010 1110 bra.b %a0 */
3744 printf ("\033[33m%s\033[0m %02x\n",
3745 "/** 0010 1110 bra.b %a0 */",
3748 SYNTAX("bra.b %a0");
3749 #line 782 "rx-decode.opc"
3750 ID(branch
); DC(pc
+ IMMex(1));
3756 /** 0011 1000 bra.w %a0 */
3759 printf ("\033[33m%s\033[0m %02x\n",
3760 "/** 0011 1000 bra.w %a0 */",
3763 SYNTAX("bra.w %a0");
3764 #line 785 "rx-decode.opc"
3765 ID(branch
); DC(pc
+ IMMex(2));
3771 /** 0011 1001 bsr.w %a0 */
3774 printf ("\033[33m%s\033[0m %02x\n",
3775 "/** 0011 1001 bsr.w %a0 */",
3778 SYNTAX("bsr.w %a0");
3779 #line 801 "rx-decode.opc"
3780 ID(jsr
); DC(pc
+ IMMex(2));
3787 /** 0011 101c b%1.w %a0 */
3788 #line 775 "rx-decode.opc"
3789 int c AU
= op
[0] & 0x01;
3792 printf ("\033[33m%s\033[0m %02x\n",
3793 "/** 0011 101c b%1.w %a0 */",
3795 printf (" c = 0x%x\n", c
);
3797 SYNTAX("b%1.w %a0");
3798 #line 775 "rx-decode.opc"
3799 ID(branch
); Scc(c
); DC(pc
+ IMMex (2));
3806 switch (op
[1] & 0x00)
3811 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3812 #line 311 "rx-decode.opc"
3813 int sz AU
= op
[0] & 0x03;
3814 #line 311 "rx-decode.opc"
3815 int d AU
= (op
[1] >> 7) & 0x01;
3816 #line 311 "rx-decode.opc"
3817 int dst AU
= (op
[1] >> 4) & 0x07;
3818 #line 311 "rx-decode.opc"
3819 int sppp AU
= op
[1] & 0x0f;
3822 printf ("\033[33m%s\033[0m %02x %02x\n",
3823 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3825 printf (" sz = 0x%x,", sz
);
3826 printf (" d = 0x%x,", d
);
3827 printf (" dst = 0x%x,", dst
);
3828 printf (" sppp = 0x%x\n", sppp
);
3830 SYNTAX("mov%s #%1, %0");
3831 #line 311 "rx-decode.opc"
3832 ID(mov
); sBWL (sz
); DIs(dst
, d
*16+sppp
, sz
); SC(IMM(1)); F_____
;
3840 switch (op
[1] & 0x00)
3843 goto op_semantics_20
;
3849 switch (op
[1] & 0x00)
3852 goto op_semantics_20
;
3858 switch (op
[1] & 0x00)
3862 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3863 #line 408 "rx-decode.opc"
3864 int rega AU
= (op
[1] >> 4) & 0x0f;
3865 #line 408 "rx-decode.opc"
3866 int regb AU
= op
[1] & 0x0f;
3869 printf ("\033[33m%s\033[0m %02x %02x\n",
3870 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3872 printf (" rega = 0x%x,", rega
);
3873 printf (" regb = 0x%x\n", regb
);
3875 SYNTAX("rtsd #%1, %2-%0");
3876 #line 408 "rx-decode.opc"
3877 ID(rtsd
); SC(IMM(1) * 4); S2R(rega
); DR(regb
);
3879 /*----------------------------------------------------------------------*/
3888 switch (op
[1] & 0x00)
3893 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3894 #line 543 "rx-decode.opc"
3895 int ss AU
= op
[0] & 0x03;
3896 #line 543 "rx-decode.opc"
3897 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3898 #line 543 "rx-decode.opc"
3899 int rdst AU
= op
[1] & 0x0f;
3902 printf ("\033[33m%s\033[0m %02x %02x\n",
3903 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3905 printf (" ss = 0x%x,", ss
);
3906 printf (" rsrc = 0x%x,", rsrc
);
3907 printf (" rdst = 0x%x\n", rdst
);
3909 SYNTAX("sub %2%S2, %1");
3910 #line 543 "rx-decode.opc"
3911 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
3919 switch (op
[1] & 0x00)
3922 goto op_semantics_21
;
3928 switch (op
[1] & 0x00)
3931 goto op_semantics_21
;
3937 switch (op
[1] & 0x00)
3940 goto op_semantics_21
;
3946 switch (op
[1] & 0x00)
3951 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3952 #line 531 "rx-decode.opc"
3953 int ss AU
= op
[0] & 0x03;
3954 #line 531 "rx-decode.opc"
3955 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3956 #line 531 "rx-decode.opc"
3957 int rdst AU
= op
[1] & 0x0f;
3960 printf ("\033[33m%s\033[0m %02x %02x\n",
3961 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3963 printf (" ss = 0x%x,", ss
);
3964 printf (" rsrc = 0x%x,", rsrc
);
3965 printf (" rdst = 0x%x\n", rdst
);
3967 SYNTAX("cmp %2%S2, %1");
3968 #line 531 "rx-decode.opc"
3969 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); F_OSZC
;
3977 switch (op
[1] & 0x00)
3980 goto op_semantics_22
;
3986 switch (op
[1] & 0x00)
3989 goto op_semantics_22
;
3995 switch (op
[1] & 0x00)
3998 goto op_semantics_22
;
4004 switch (op
[1] & 0x00)
4009 /** 0100 10ss rsrc rdst add %1%S1, %0 */
4010 #line 507 "rx-decode.opc"
4011 int ss AU
= op
[0] & 0x03;
4012 #line 507 "rx-decode.opc"
4013 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4014 #line 507 "rx-decode.opc"
4015 int rdst AU
= op
[1] & 0x0f;
4018 printf ("\033[33m%s\033[0m %02x %02x\n",
4019 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
4021 printf (" ss = 0x%x,", ss
);
4022 printf (" rsrc = 0x%x,", rsrc
);
4023 printf (" rdst = 0x%x\n", rdst
);
4025 SYNTAX("add %1%S1, %0");
4026 #line 507 "rx-decode.opc"
4027 ID(add
); SP(ss
, rsrc
); DR(rdst
); F_OSZC
;
4035 switch (op
[1] & 0x00)
4038 goto op_semantics_23
;
4044 switch (op
[1] & 0x00)
4047 goto op_semantics_23
;
4053 switch (op
[1] & 0x00)
4056 goto op_semantics_23
;
4062 switch (op
[1] & 0x00)
4067 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
4068 #line 650 "rx-decode.opc"
4069 int ss AU
= op
[0] & 0x03;
4070 #line 650 "rx-decode.opc"
4071 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4072 #line 650 "rx-decode.opc"
4073 int rdst AU
= op
[1] & 0x0f;
4076 printf ("\033[33m%s\033[0m %02x %02x\n",
4077 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
4079 printf (" ss = 0x%x,", ss
);
4080 printf (" rsrc = 0x%x,", rsrc
);
4081 printf (" rdst = 0x%x\n", rdst
);
4083 SYNTAX("mul %1%S1, %0");
4084 #line 650 "rx-decode.opc"
4085 ID(mul
); SP(ss
, rsrc
); DR(rdst
); F_____
;
4093 switch (op
[1] & 0x00)
4096 goto op_semantics_24
;
4102 switch (op
[1] & 0x00)
4105 goto op_semantics_24
;
4111 switch (op
[1] & 0x00)
4114 goto op_semantics_24
;
4120 switch (op
[1] & 0x00)
4125 /** 0101 00ss rsrc rdst and %1%S1, %0 */
4126 #line 420 "rx-decode.opc"
4127 int ss AU
= op
[0] & 0x03;
4128 #line 420 "rx-decode.opc"
4129 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4130 #line 420 "rx-decode.opc"
4131 int rdst AU
= op
[1] & 0x0f;
4134 printf ("\033[33m%s\033[0m %02x %02x\n",
4135 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
4137 printf (" ss = 0x%x,", ss
);
4138 printf (" rsrc = 0x%x,", rsrc
);
4139 printf (" rdst = 0x%x\n", rdst
);
4141 SYNTAX("and %1%S1, %0");
4142 #line 420 "rx-decode.opc"
4143 ID(and); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
4151 switch (op
[1] & 0x00)
4154 goto op_semantics_25
;
4160 switch (op
[1] & 0x00)
4163 goto op_semantics_25
;
4169 switch (op
[1] & 0x00)
4172 goto op_semantics_25
;
4178 switch (op
[1] & 0x00)
4183 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4184 #line 438 "rx-decode.opc"
4185 int ss AU
= op
[0] & 0x03;
4186 #line 438 "rx-decode.opc"
4187 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4188 #line 438 "rx-decode.opc"
4189 int rdst AU
= op
[1] & 0x0f;
4192 printf ("\033[33m%s\033[0m %02x %02x\n",
4193 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4195 printf (" ss = 0x%x,", ss
);
4196 printf (" rsrc = 0x%x,", rsrc
);
4197 printf (" rdst = 0x%x\n", rdst
);
4199 SYNTAX("or %1%S1, %0");
4200 #line 438 "rx-decode.opc"
4201 ID(or); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
4209 switch (op
[1] & 0x00)
4212 goto op_semantics_26
;
4218 switch (op
[1] & 0x00)
4221 goto op_semantics_26
;
4227 switch (op
[1] & 0x00)
4230 goto op_semantics_26
;
4236 switch (op
[1] & 0x00)
4241 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4242 #line 359 "rx-decode.opc"
4243 int s AU
= (op
[0] >> 2) & 0x01;
4244 #line 359 "rx-decode.opc"
4245 int ss AU
= op
[0] & 0x03;
4246 #line 359 "rx-decode.opc"
4247 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4248 #line 359 "rx-decode.opc"
4249 int rdst AU
= op
[1] & 0x0f;
4252 printf ("\033[33m%s\033[0m %02x %02x\n",
4253 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4255 printf (" s = 0x%x,", s
);
4256 printf (" ss = 0x%x,", ss
);
4257 printf (" rsrc = 0x%x,", rsrc
);
4258 printf (" rdst = 0x%x\n", rdst
);
4260 SYNTAX("movu%s %1, %0");
4261 #line 359 "rx-decode.opc"
4262 ID(mov
); uBW(s
); SD(ss
, rsrc
, s
); DR(rdst
); F_____
;
4270 switch (op
[1] & 0x00)
4273 goto op_semantics_27
;
4279 switch (op
[1] & 0x00)
4282 goto op_semantics_27
;
4288 switch (op
[1] & 0x00)
4291 goto op_semantics_27
;
4297 switch (op
[1] & 0x00)
4300 goto op_semantics_27
;
4306 switch (op
[1] & 0x00)
4309 goto op_semantics_27
;
4315 switch (op
[1] & 0x00)
4318 goto op_semantics_27
;
4324 switch (op
[1] & 0x00)
4327 goto op_semantics_27
;
4333 switch (op
[1] & 0x00)
4337 /** 0110 0000 immm rdst sub #%2, %0 */
4338 #line 540 "rx-decode.opc"
4339 int immm AU
= (op
[1] >> 4) & 0x0f;
4340 #line 540 "rx-decode.opc"
4341 int rdst AU
= op
[1] & 0x0f;
4344 printf ("\033[33m%s\033[0m %02x %02x\n",
4345 "/** 0110 0000 immm rdst sub #%2, %0 */",
4347 printf (" immm = 0x%x,", immm
);
4348 printf (" rdst = 0x%x\n", rdst
);
4350 SYNTAX("sub #%2, %0");
4351 #line 540 "rx-decode.opc"
4352 ID(sub
); S2C(immm
); SR(rdst
); DR(rdst
); F_OSZC
;
4360 switch (op
[1] & 0x00)
4364 /** 0110 0001 immm rdst cmp #%2, %1 */
4365 #line 522 "rx-decode.opc"
4366 int immm AU
= (op
[1] >> 4) & 0x0f;
4367 #line 522 "rx-decode.opc"
4368 int rdst AU
= op
[1] & 0x0f;
4371 printf ("\033[33m%s\033[0m %02x %02x\n",
4372 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4374 printf (" immm = 0x%x,", immm
);
4375 printf (" rdst = 0x%x\n", rdst
);
4377 SYNTAX("cmp #%2, %1");
4378 #line 522 "rx-decode.opc"
4379 ID(sub
); S2C(immm
); SR(rdst
); F_OSZC
;
4387 switch (op
[1] & 0x00)
4391 /** 0110 0010 immm rdst add #%1, %0 */
4392 #line 504 "rx-decode.opc"
4393 int immm AU
= (op
[1] >> 4) & 0x0f;
4394 #line 504 "rx-decode.opc"
4395 int rdst AU
= op
[1] & 0x0f;
4398 printf ("\033[33m%s\033[0m %02x %02x\n",
4399 "/** 0110 0010 immm rdst add #%1, %0 */",
4401 printf (" immm = 0x%x,", immm
);
4402 printf (" rdst = 0x%x\n", rdst
);
4404 SYNTAX("add #%1, %0");
4405 #line 504 "rx-decode.opc"
4406 ID(add
); SC(immm
); DR(rdst
); F_OSZC
;
4414 switch (op
[1] & 0x00)
4418 /** 0110 0011 immm rdst mul #%1, %0 */
4419 #line 616 "rx-decode.opc"
4420 int immm AU
= (op
[1] >> 4) & 0x0f;
4421 #line 616 "rx-decode.opc"
4422 int rdst AU
= op
[1] & 0x0f;
4425 printf ("\033[33m%s\033[0m %02x %02x\n",
4426 "/** 0110 0011 immm rdst mul #%1, %0 */",
4428 printf (" immm = 0x%x,", immm
);
4429 printf (" rdst = 0x%x\n", rdst
);
4431 SYNTAX("mul #%1, %0");
4432 #line 616 "rx-decode.opc"
4433 if (immm
== 1 && rdst
== 0)
4436 SYNTAX ("nop\t; mul\t#1, r0");
4442 DR(rdst
); SC(immm
); F_____
;
4450 switch (op
[1] & 0x00)
4454 /** 0110 0100 immm rdst and #%1, %0 */
4455 #line 414 "rx-decode.opc"
4456 int immm AU
= (op
[1] >> 4) & 0x0f;
4457 #line 414 "rx-decode.opc"
4458 int rdst AU
= op
[1] & 0x0f;
4461 printf ("\033[33m%s\033[0m %02x %02x\n",
4462 "/** 0110 0100 immm rdst and #%1, %0 */",
4464 printf (" immm = 0x%x,", immm
);
4465 printf (" rdst = 0x%x\n", rdst
);
4467 SYNTAX("and #%1, %0");
4468 #line 414 "rx-decode.opc"
4469 ID(and); SC(immm
); DR(rdst
); F__SZ_
;
4477 switch (op
[1] & 0x00)
4481 /** 0110 0101 immm rdst or #%1, %0 */
4482 #line 432 "rx-decode.opc"
4483 int immm AU
= (op
[1] >> 4) & 0x0f;
4484 #line 432 "rx-decode.opc"
4485 int rdst AU
= op
[1] & 0x0f;
4488 printf ("\033[33m%s\033[0m %02x %02x\n",
4489 "/** 0110 0101 immm rdst or #%1, %0 */",
4491 printf (" immm = 0x%x,", immm
);
4492 printf (" rdst = 0x%x\n", rdst
);
4494 SYNTAX("or #%1, %0");
4495 #line 432 "rx-decode.opc"
4496 ID(or); SC(immm
); DR(rdst
); F__SZ_
;
4504 switch (op
[1] & 0x00)
4508 /** 0110 0110 immm rdst mov%s #%1, %0 */
4509 #line 308 "rx-decode.opc"
4510 int immm AU
= (op
[1] >> 4) & 0x0f;
4511 #line 308 "rx-decode.opc"
4512 int rdst AU
= op
[1] & 0x0f;
4515 printf ("\033[33m%s\033[0m %02x %02x\n",
4516 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4518 printf (" immm = 0x%x,", immm
);
4519 printf (" rdst = 0x%x\n", rdst
);
4521 SYNTAX("mov%s #%1, %0");
4522 #line 308 "rx-decode.opc"
4523 ID(mov
); DR(rdst
); SC(immm
); F_____
;
4531 /** 0110 0111 rtsd #%1 */
4534 printf ("\033[33m%s\033[0m %02x\n",
4535 "/** 0110 0111 rtsd #%1 */",
4539 #line 405 "rx-decode.opc"
4540 ID(rtsd
); SC(IMM(1) * 4);
4546 switch (op
[1] & 0x00)
4551 /** 0110 100i mmmm rdst shlr #%2, %0 */
4552 #line 730 "rx-decode.opc"
4553 int i AU
= op
[0] & 0x01;
4554 #line 730 "rx-decode.opc"
4555 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4556 #line 730 "rx-decode.opc"
4557 int rdst AU
= op
[1] & 0x0f;
4560 printf ("\033[33m%s\033[0m %02x %02x\n",
4561 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4563 printf (" i = 0x%x,", i
);
4564 printf (" mmmm = 0x%x,", mmmm
);
4565 printf (" rdst = 0x%x\n", rdst
);
4567 SYNTAX("shlr #%2, %0");
4568 #line 730 "rx-decode.opc"
4569 ID(shlr
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F__SZC
;
4577 switch (op
[1] & 0x00)
4580 goto op_semantics_28
;
4586 switch (op
[1] & 0x00)
4591 /** 0110 101i mmmm rdst shar #%2, %0 */
4592 #line 720 "rx-decode.opc"
4593 int i AU
= op
[0] & 0x01;
4594 #line 720 "rx-decode.opc"
4595 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4596 #line 720 "rx-decode.opc"
4597 int rdst AU
= op
[1] & 0x0f;
4600 printf ("\033[33m%s\033[0m %02x %02x\n",
4601 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4603 printf (" i = 0x%x,", i
);
4604 printf (" mmmm = 0x%x,", mmmm
);
4605 printf (" rdst = 0x%x\n", rdst
);
4607 SYNTAX("shar #%2, %0");
4608 #line 720 "rx-decode.opc"
4609 ID(shar
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_0SZC
;
4617 switch (op
[1] & 0x00)
4620 goto op_semantics_29
;
4626 switch (op
[1] & 0x00)
4631 /** 0110 110i mmmm rdst shll #%2, %0 */
4632 #line 710 "rx-decode.opc"
4633 int i AU
= op
[0] & 0x01;
4634 #line 710 "rx-decode.opc"
4635 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4636 #line 710 "rx-decode.opc"
4637 int rdst AU
= op
[1] & 0x0f;
4640 printf ("\033[33m%s\033[0m %02x %02x\n",
4641 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4643 printf (" i = 0x%x,", i
);
4644 printf (" mmmm = 0x%x,", mmmm
);
4645 printf (" rdst = 0x%x\n", rdst
);
4647 SYNTAX("shll #%2, %0");
4648 #line 710 "rx-decode.opc"
4649 ID(shll
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_OSZC
;
4657 switch (op
[1] & 0x00)
4660 goto op_semantics_30
;
4666 switch (op
[1] & 0x00)
4670 /** 0110 1110 dsta dstb pushm %1-%2 */
4671 #line 372 "rx-decode.opc"
4672 int dsta AU
= (op
[1] >> 4) & 0x0f;
4673 #line 372 "rx-decode.opc"
4674 int dstb AU
= op
[1] & 0x0f;
4677 printf ("\033[33m%s\033[0m %02x %02x\n",
4678 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4680 printf (" dsta = 0x%x,", dsta
);
4681 printf (" dstb = 0x%x\n", dstb
);
4683 SYNTAX("pushm %1-%2");
4684 #line 372 "rx-decode.opc"
4685 ID(pushm
); SR(dsta
); S2R(dstb
); F_____
;
4693 switch (op
[1] & 0x00)
4697 /** 0110 1111 dsta dstb popm %1-%2 */
4698 #line 369 "rx-decode.opc"
4699 int dsta AU
= (op
[1] >> 4) & 0x0f;
4700 #line 369 "rx-decode.opc"
4701 int dstb AU
= op
[1] & 0x0f;
4704 printf ("\033[33m%s\033[0m %02x %02x\n",
4705 "/** 0110 1111 dsta dstb popm %1-%2 */",
4707 printf (" dsta = 0x%x,", dsta
);
4708 printf (" dstb = 0x%x\n", dstb
);
4710 SYNTAX("popm %1-%2");
4711 #line 369 "rx-decode.opc"
4712 ID(popm
); SR(dsta
); S2R(dstb
); F_____
;
4720 switch (op
[1] & 0x00)
4725 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4726 #line 513 "rx-decode.opc"
4727 int im AU
= op
[0] & 0x03;
4728 #line 513 "rx-decode.opc"
4729 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4730 #line 513 "rx-decode.opc"
4731 int rdst AU
= op
[1] & 0x0f;
4734 printf ("\033[33m%s\033[0m %02x %02x\n",
4735 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4737 printf (" im = 0x%x,", im
);
4738 printf (" rsrc = 0x%x,", rsrc
);
4739 printf (" rdst = 0x%x\n", rdst
);
4741 SYNTAX("add #%1, %2, %0");
4742 #line 513 "rx-decode.opc"
4743 ID(add
); SC(IMMex(im
)); S2R(rsrc
); DR(rdst
); F_OSZC
;
4751 switch (op
[1] & 0x00)
4754 goto op_semantics_31
;
4760 switch (op
[1] & 0x00)
4763 goto op_semantics_31
;
4769 switch (op
[1] & 0x00)
4772 goto op_semantics_31
;
4778 switch (op
[1] & 0xf0)
4783 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4784 #line 525 "rx-decode.opc"
4785 int im AU
= op
[0] & 0x03;
4786 #line 525 "rx-decode.opc"
4787 int rsrc AU
= op
[1] & 0x0f;
4790 printf ("\033[33m%s\033[0m %02x %02x\n",
4791 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4793 printf (" im = 0x%x,", im
);
4794 printf (" rsrc = 0x%x\n", rsrc
);
4796 SYNTAX("cmp #%2, %1%S1");
4797 #line 525 "rx-decode.opc"
4798 ID(sub
); SR(rsrc
); S2C(IMMex(im
)); F_OSZC
;
4805 /** 0111 01im 0001rdst mul #%1, %0 */
4806 #line 628 "rx-decode.opc"
4807 int im AU
= op
[0] & 0x03;
4808 #line 628 "rx-decode.opc"
4809 int rdst AU
= op
[1] & 0x0f;
4812 printf ("\033[33m%s\033[0m %02x %02x\n",
4813 "/** 0111 01im 0001rdst mul #%1, %0 */",
4815 printf (" im = 0x%x,", im
);
4816 printf (" rdst = 0x%x\n", rdst
);
4818 SYNTAX("mul #%1, %0");
4819 #line 628 "rx-decode.opc"
4820 int val
= IMMex(im
);
4821 if (val
== 1 && rdst
== 0)
4823 SYNTAX("nop\t; mul\t#1, r0");
4826 case 2: ID(nop4
); break;
4827 case 3: ID(nop5
); break;
4828 case 0: ID(nop6
); break;
4831 SYNTAX("mul #%1, %0");
4839 DR(rdst
); SC(val
); F_____
;
4846 /** 0111 01im 0010 rdst and #%1, %0 */
4847 #line 417 "rx-decode.opc"
4848 int im AU
= op
[0] & 0x03;
4849 #line 417 "rx-decode.opc"
4850 int rdst AU
= op
[1] & 0x0f;
4853 printf ("\033[33m%s\033[0m %02x %02x\n",
4854 "/** 0111 01im 0010 rdst and #%1, %0 */",
4856 printf (" im = 0x%x,", im
);
4857 printf (" rdst = 0x%x\n", rdst
);
4859 SYNTAX("and #%1, %0");
4860 #line 417 "rx-decode.opc"
4861 ID(and); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4868 /** 0111 01im 0011 rdst or #%1, %0 */
4869 #line 435 "rx-decode.opc"
4870 int im AU
= op
[0] & 0x03;
4871 #line 435 "rx-decode.opc"
4872 int rdst AU
= op
[1] & 0x0f;
4875 printf ("\033[33m%s\033[0m %02x %02x\n",
4876 "/** 0111 01im 0011 rdst or #%1, %0 */",
4878 printf (" im = 0x%x,", im
);
4879 printf (" rdst = 0x%x\n", rdst
);
4881 SYNTAX("or #%1, %0");
4882 #line 435 "rx-decode.opc"
4883 ID(or); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4887 default: UNSUPPORTED(); break;
4892 switch (op
[1] & 0xff)
4910 goto op_semantics_32
;
4928 goto op_semantics_33
;
4946 goto op_semantics_34
;
4964 goto op_semantics_35
;
4983 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4984 #line 289 "rx-decode.opc"
4985 int rdst AU
= op
[1] & 0x0f;
4988 printf ("\033[33m%s\033[0m %02x %02x\n",
4989 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4991 printf (" rdst = 0x%x\n", rdst
);
4993 SYNTAX("mov%s #%1, %0");
4994 #line 289 "rx-decode.opc"
4995 ID(mov
); DR(rdst
); SC(IMM (1)); F_____
;
5016 /** 0111 0101 0101 rsrc cmp #%2, %1 */
5017 #line 528 "rx-decode.opc"
5018 int rsrc AU
= op
[1] & 0x0f;
5021 printf ("\033[33m%s\033[0m %02x %02x\n",
5022 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
5024 printf (" rsrc = 0x%x\n", rsrc
);
5026 SYNTAX("cmp #%2, %1");
5027 #line 528 "rx-decode.opc"
5028 ID(sub
); SR(rsrc
); S2C(IMM(1)); F_OSZC
;
5034 /** 0111 0101 0110 0000 int #%1 */
5037 printf ("\033[33m%s\033[0m %02x %02x\n",
5038 "/** 0111 0101 0110 0000 int #%1 */",
5042 #line 1035 "rx-decode.opc"
5043 ID(int); SC(IMM(1));
5049 switch (op
[2] & 0xf0)
5053 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
5054 #line 1002 "rx-decode.opc"
5055 int immm AU
= op
[2] & 0x0f;
5058 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
5059 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
5060 op
[0], op
[1], op
[2]);
5061 printf (" immm = 0x%x\n", immm
);
5063 SYNTAX("mvtipl #%1");
5064 #line 1002 "rx-decode.opc"
5065 ID(mvtipl
); SC(immm
);
5069 default: UNSUPPORTED(); break;
5072 default: UNSUPPORTED(); break;
5077 switch (op
[1] & 0xf0)
5080 goto op_semantics_32
;
5083 goto op_semantics_33
;
5086 goto op_semantics_34
;
5089 goto op_semantics_35
;
5091 default: UNSUPPORTED(); break;
5096 switch (op
[1] & 0xf0)
5099 goto op_semantics_32
;
5102 goto op_semantics_33
;
5105 goto op_semantics_34
;
5108 goto op_semantics_35
;
5110 default: UNSUPPORTED(); break;
5115 switch (op
[1] & 0x00)
5120 /** 0111 100b ittt rdst bset #%1, %0 */
5121 #line 947 "rx-decode.opc"
5122 int b AU
= op
[0] & 0x01;
5123 #line 947 "rx-decode.opc"
5124 int ittt AU
= (op
[1] >> 4) & 0x0f;
5125 #line 947 "rx-decode.opc"
5126 int rdst AU
= op
[1] & 0x0f;
5129 printf ("\033[33m%s\033[0m %02x %02x\n",
5130 "/** 0111 100b ittt rdst bset #%1, %0 */",
5132 printf (" b = 0x%x,", b
);
5133 printf (" ittt = 0x%x,", ittt
);
5134 printf (" rdst = 0x%x\n", rdst
);
5136 SYNTAX("bset #%1, %0");
5137 #line 947 "rx-decode.opc"
5138 ID(bset
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
5147 switch (op
[1] & 0x00)
5150 goto op_semantics_36
;
5156 switch (op
[1] & 0x00)
5161 /** 0111 101b ittt rdst bclr #%1, %0 */
5162 #line 959 "rx-decode.opc"
5163 int b AU
= op
[0] & 0x01;
5164 #line 959 "rx-decode.opc"
5165 int ittt AU
= (op
[1] >> 4) & 0x0f;
5166 #line 959 "rx-decode.opc"
5167 int rdst AU
= op
[1] & 0x0f;
5170 printf ("\033[33m%s\033[0m %02x %02x\n",
5171 "/** 0111 101b ittt rdst bclr #%1, %0 */",
5173 printf (" b = 0x%x,", b
);
5174 printf (" ittt = 0x%x,", ittt
);
5175 printf (" rdst = 0x%x\n", rdst
);
5177 SYNTAX("bclr #%1, %0");
5178 #line 959 "rx-decode.opc"
5179 ID(bclr
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
5188 switch (op
[1] & 0x00)
5191 goto op_semantics_37
;
5197 switch (op
[1] & 0x00)
5202 /** 0111 110b ittt rdst btst #%2, %1 */
5203 #line 971 "rx-decode.opc"
5204 int b AU
= op
[0] & 0x01;
5205 #line 971 "rx-decode.opc"
5206 int ittt AU
= (op
[1] >> 4) & 0x0f;
5207 #line 971 "rx-decode.opc"
5208 int rdst AU
= op
[1] & 0x0f;
5211 printf ("\033[33m%s\033[0m %02x %02x\n",
5212 "/** 0111 110b ittt rdst btst #%2, %1 */",
5214 printf (" b = 0x%x,", b
);
5215 printf (" ittt = 0x%x,", ittt
);
5216 printf (" rdst = 0x%x\n", rdst
);
5218 SYNTAX("btst #%2, %1");
5219 #line 971 "rx-decode.opc"
5220 ID(btst
); BWL(LSIZE
); S2C(b
*16+ittt
); SR(rdst
); F___ZC
;
5229 switch (op
[1] & 0x00)
5232 goto op_semantics_38
;
5238 switch (op
[1] & 0xf0)
5242 /** 0111 1110 0000 rdst not %0 */
5243 #line 462 "rx-decode.opc"
5244 int rdst AU
= op
[1] & 0x0f;
5247 printf ("\033[33m%s\033[0m %02x %02x\n",
5248 "/** 0111 1110 0000 rdst not %0 */",
5250 printf (" rdst = 0x%x\n", rdst
);
5253 #line 462 "rx-decode.opc"
5254 ID(xor); DR(rdst
); SR(rdst
); S2C(~0); F__SZ_
;
5260 /** 0111 1110 0001 rdst neg %0 */
5261 #line 483 "rx-decode.opc"
5262 int rdst AU
= op
[1] & 0x0f;
5265 printf ("\033[33m%s\033[0m %02x %02x\n",
5266 "/** 0111 1110 0001 rdst neg %0 */",
5268 printf (" rdst = 0x%x\n", rdst
);
5271 #line 483 "rx-decode.opc"
5272 ID(sub
); DR(rdst
); SC(0); S2R(rdst
); F_OSZC
;
5278 /** 0111 1110 0010 rdst abs %0 */
5279 #line 565 "rx-decode.opc"
5280 int rdst AU
= op
[1] & 0x0f;
5283 printf ("\033[33m%s\033[0m %02x %02x\n",
5284 "/** 0111 1110 0010 rdst abs %0 */",
5286 printf (" rdst = 0x%x\n", rdst
);
5289 #line 565 "rx-decode.opc"
5290 ID(abs
); DR(rdst
); SR(rdst
); F_OSZ_
;
5296 /** 0111 1110 0011 rdst sat %0 */
5297 #line 885 "rx-decode.opc"
5298 int rdst AU
= op
[1] & 0x0f;
5301 printf ("\033[33m%s\033[0m %02x %02x\n",
5302 "/** 0111 1110 0011 rdst sat %0 */",
5304 printf (" rdst = 0x%x\n", rdst
);
5307 #line 885 "rx-decode.opc"
5314 /** 0111 1110 0100 rdst rorc %0 */
5315 #line 745 "rx-decode.opc"
5316 int rdst AU
= op
[1] & 0x0f;
5319 printf ("\033[33m%s\033[0m %02x %02x\n",
5320 "/** 0111 1110 0100 rdst rorc %0 */",
5322 printf (" rdst = 0x%x\n", rdst
);
5325 #line 745 "rx-decode.opc"
5326 ID(rorc
); DR(rdst
); F__SZC
;
5332 /** 0111 1110 0101 rdst rolc %0 */
5333 #line 742 "rx-decode.opc"
5334 int rdst AU
= op
[1] & 0x0f;
5337 printf ("\033[33m%s\033[0m %02x %02x\n",
5338 "/** 0111 1110 0101 rdst rolc %0 */",
5340 printf (" rdst = 0x%x\n", rdst
);
5343 #line 742 "rx-decode.opc"
5344 ID(rolc
); DR(rdst
); F__SZC
;
5352 /** 0111 1110 10sz rsrc push%s %1 */
5353 #line 378 "rx-decode.opc"
5354 int sz AU
= (op
[1] >> 4) & 0x03;
5355 #line 378 "rx-decode.opc"
5356 int rsrc AU
= op
[1] & 0x0f;
5359 printf ("\033[33m%s\033[0m %02x %02x\n",
5360 "/** 0111 1110 10sz rsrc push%s %1 */",
5362 printf (" sz = 0x%x,", sz
);
5363 printf (" rsrc = 0x%x\n", rsrc
);
5365 SYNTAX("push%s %1");
5366 #line 378 "rx-decode.opc"
5367 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SR(rsrc
); F_____
;
5373 /** 0111 1110 1011 rdst pop %0 */
5374 #line 375 "rx-decode.opc"
5375 int rdst AU
= op
[1] & 0x0f;
5378 printf ("\033[33m%s\033[0m %02x %02x\n",
5379 "/** 0111 1110 1011 rdst pop %0 */",
5381 printf (" rdst = 0x%x\n", rdst
);
5384 #line 375 "rx-decode.opc"
5385 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(rdst
); F_____
;
5392 /** 0111 1110 110 crsrc pushc %1 */
5393 #line 1008 "rx-decode.opc"
5394 int crsrc AU
= op
[1] & 0x1f;
5397 printf ("\033[33m%s\033[0m %02x %02x\n",
5398 "/** 0111 1110 110 crsrc pushc %1 */",
5400 printf (" crsrc = 0x%x\n", crsrc
);
5403 #line 1008 "rx-decode.opc"
5404 ID(mov
); OP(0, RX_Operand_Predec
, 0, 0); SR(crsrc
+ 16);
5411 /** 0111 1110 111 crdst popc %0 */
5412 #line 1005 "rx-decode.opc"
5413 int crdst AU
= op
[1] & 0x1f;
5416 printf ("\033[33m%s\033[0m %02x %02x\n",
5417 "/** 0111 1110 111 crdst popc %0 */",
5419 printf (" crdst = 0x%x\n", crdst
);
5422 #line 1005 "rx-decode.opc"
5423 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(crdst
+ 16);
5427 default: UNSUPPORTED(); break;
5432 switch (op
[1] & 0xff)
5451 /** 0111 1111 0000 rsrc jmp %0 */
5452 #line 795 "rx-decode.opc"
5453 int rsrc AU
= op
[1] & 0x0f;
5456 printf ("\033[33m%s\033[0m %02x %02x\n",
5457 "/** 0111 1111 0000 rsrc jmp %0 */",
5459 printf (" rsrc = 0x%x\n", rsrc
);
5462 #line 795 "rx-decode.opc"
5463 ID(branch
); DR(rsrc
);
5484 /** 0111 1111 0001 rsrc jsr %0 */
5485 #line 798 "rx-decode.opc"
5486 int rsrc AU
= op
[1] & 0x0f;
5489 printf ("\033[33m%s\033[0m %02x %02x\n",
5490 "/** 0111 1111 0001 rsrc jsr %0 */",
5492 printf (" rsrc = 0x%x\n", rsrc
);
5495 #line 798 "rx-decode.opc"
5517 /** 0111 1111 0100 rsrc bra.l %0 */
5518 #line 791 "rx-decode.opc"
5519 int rsrc AU
= op
[1] & 0x0f;
5522 printf ("\033[33m%s\033[0m %02x %02x\n",
5523 "/** 0111 1111 0100 rsrc bra.l %0 */",
5525 printf (" rsrc = 0x%x\n", rsrc
);
5528 #line 791 "rx-decode.opc"
5529 ID(branchrel
); DR(rsrc
);
5551 /** 0111 1111 0101 rsrc bsr.l %0 */
5552 #line 807 "rx-decode.opc"
5553 int rsrc AU
= op
[1] & 0x0f;
5556 printf ("\033[33m%s\033[0m %02x %02x\n",
5557 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5559 printf (" rsrc = 0x%x\n", rsrc
);
5562 #line 807 "rx-decode.opc"
5563 ID(jsrrel
); DR(rsrc
);
5571 /** 0111 1111 1000 00sz suntil%s */
5572 #line 831 "rx-decode.opc"
5573 int sz AU
= op
[1] & 0x03;
5576 printf ("\033[33m%s\033[0m %02x %02x\n",
5577 "/** 0111 1111 1000 00sz suntil%s */",
5579 printf (" sz = 0x%x\n", sz
);
5582 #line 831 "rx-decode.opc"
5583 ID(suntil
); BWL(sz
); F___ZC
;
5589 /** 0111 1111 1000 0011 scmpu */
5592 printf ("\033[33m%s\033[0m %02x %02x\n",
5593 "/** 0111 1111 1000 0011 scmpu */",
5597 #line 822 "rx-decode.opc"
5606 /** 0111 1111 1000 01sz swhile%s */
5607 #line 834 "rx-decode.opc"
5608 int sz AU
= op
[1] & 0x03;
5611 printf ("\033[33m%s\033[0m %02x %02x\n",
5612 "/** 0111 1111 1000 01sz swhile%s */",
5614 printf (" sz = 0x%x\n", sz
);
5617 #line 834 "rx-decode.opc"
5618 ID(swhile
); BWL(sz
); F___ZC
;
5624 /** 0111 1111 1000 0111 smovu */
5627 printf ("\033[33m%s\033[0m %02x %02x\n",
5628 "/** 0111 1111 1000 0111 smovu */",
5632 #line 825 "rx-decode.opc"
5641 /** 0111 1111 1000 10sz sstr%s */
5642 #line 840 "rx-decode.opc"
5643 int sz AU
= op
[1] & 0x03;
5646 printf ("\033[33m%s\033[0m %02x %02x\n",
5647 "/** 0111 1111 1000 10sz sstr%s */",
5649 printf (" sz = 0x%x\n", sz
);
5652 #line 840 "rx-decode.opc"
5655 /*----------------------------------------------------------------------*/
5662 /** 0111 1111 1000 1011 smovb */
5665 printf ("\033[33m%s\033[0m %02x %02x\n",
5666 "/** 0111 1111 1000 1011 smovb */",
5670 #line 828 "rx-decode.opc"
5679 /** 0111 1111 1000 11sz rmpa%s */
5680 #line 846 "rx-decode.opc"
5681 int sz AU
= op
[1] & 0x03;
5684 printf ("\033[33m%s\033[0m %02x %02x\n",
5685 "/** 0111 1111 1000 11sz rmpa%s */",
5687 printf (" sz = 0x%x\n", sz
);
5690 #line 846 "rx-decode.opc"
5691 ID(rmpa
); BWL(sz
); F_OS__
;
5693 /*----------------------------------------------------------------------*/
5700 /** 0111 1111 1000 1111 smovf */
5703 printf ("\033[33m%s\033[0m %02x %02x\n",
5704 "/** 0111 1111 1000 1111 smovf */",
5708 #line 837 "rx-decode.opc"
5715 /** 0111 1111 1001 0011 satr */
5718 printf ("\033[33m%s\033[0m %02x %02x\n",
5719 "/** 0111 1111 1001 0011 satr */",
5723 #line 888 "rx-decode.opc"
5726 /*----------------------------------------------------------------------*/
5733 /** 0111 1111 1001 0100 rtfi */
5736 printf ("\033[33m%s\033[0m %02x %02x\n",
5737 "/** 0111 1111 1001 0100 rtfi */",
5741 #line 1023 "rx-decode.opc"
5748 /** 0111 1111 1001 0101 rte */
5751 printf ("\033[33m%s\033[0m %02x %02x\n",
5752 "/** 0111 1111 1001 0101 rte */",
5756 #line 1026 "rx-decode.opc"
5763 /** 0111 1111 1001 0110 wait */
5766 printf ("\033[33m%s\033[0m %02x %02x\n",
5767 "/** 0111 1111 1001 0110 wait */",
5771 #line 1038 "rx-decode.opc"
5774 /*----------------------------------------------------------------------*/
5796 /** 0111 1111 1010 rdst setpsw %0 */
5797 #line 999 "rx-decode.opc"
5798 int rdst AU
= op
[1] & 0x0f;
5801 printf ("\033[33m%s\033[0m %02x %02x\n",
5802 "/** 0111 1111 1010 rdst setpsw %0 */",
5804 printf (" rdst = 0x%x\n", rdst
);
5806 SYNTAX("setpsw %0");
5807 #line 999 "rx-decode.opc"
5808 ID(setpsw
); DF(rdst
);
5829 /** 0111 1111 1011 rdst clrpsw %0 */
5830 #line 996 "rx-decode.opc"
5831 int rdst AU
= op
[1] & 0x0f;
5834 printf ("\033[33m%s\033[0m %02x %02x\n",
5835 "/** 0111 1111 1011 rdst clrpsw %0 */",
5837 printf (" rdst = 0x%x\n", rdst
);
5839 SYNTAX("clrpsw %0");
5840 #line 996 "rx-decode.opc"
5841 ID(clrpsw
); DF(rdst
);
5845 default: UNSUPPORTED(); break;
5850 switch (op
[1] & 0x00)
5855 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5856 #line 336 "rx-decode.opc"
5857 int sz AU
= (op
[0] >> 4) & 0x03;
5858 #line 336 "rx-decode.opc"
5859 int dsp AU
= op
[0] & 0x07;
5860 #line 336 "rx-decode.opc"
5861 int a AU
= (op
[1] >> 7) & 0x01;
5862 #line 336 "rx-decode.opc"
5863 int dst AU
= (op
[1] >> 4) & 0x07;
5864 #line 336 "rx-decode.opc"
5865 int b AU
= (op
[1] >> 3) & 0x01;
5866 #line 336 "rx-decode.opc"
5867 int src AU
= op
[1] & 0x07;
5870 printf ("\033[33m%s\033[0m %02x %02x\n",
5871 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5873 printf (" sz = 0x%x,", sz
);
5874 printf (" dsp = 0x%x,", dsp
);
5875 printf (" a = 0x%x,", a
);
5876 printf (" dst = 0x%x,", dst
);
5877 printf (" b = 0x%x,", b
);
5878 printf (" src = 0x%x\n", src
);
5880 SYNTAX("mov%s %1, %0");
5881 #line 336 "rx-decode.opc"
5882 ID(mov
); sBWL(sz
); DIs(dst
, dsp
*4+a
*2+b
, sz
); SR(src
); F_____
;
5890 switch (op
[1] & 0x00)
5893 goto op_semantics_39
;
5899 switch (op
[1] & 0x00)
5902 goto op_semantics_39
;
5908 switch (op
[1] & 0x00)
5911 goto op_semantics_39
;
5917 switch (op
[1] & 0x00)
5920 goto op_semantics_39
;
5926 switch (op
[1] & 0x00)
5929 goto op_semantics_39
;
5935 switch (op
[1] & 0x00)
5938 goto op_semantics_39
;
5944 switch (op
[1] & 0x00)
5947 goto op_semantics_39
;
5953 switch (op
[1] & 0x00)
5958 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5959 #line 333 "rx-decode.opc"
5960 int sz AU
= (op
[0] >> 4) & 0x03;
5961 #line 333 "rx-decode.opc"
5962 int dsp AU
= op
[0] & 0x07;
5963 #line 333 "rx-decode.opc"
5964 int a AU
= (op
[1] >> 7) & 0x01;
5965 #line 333 "rx-decode.opc"
5966 int src AU
= (op
[1] >> 4) & 0x07;
5967 #line 333 "rx-decode.opc"
5968 int b AU
= (op
[1] >> 3) & 0x01;
5969 #line 333 "rx-decode.opc"
5970 int dst AU
= op
[1] & 0x07;
5973 printf ("\033[33m%s\033[0m %02x %02x\n",
5974 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5976 printf (" sz = 0x%x,", sz
);
5977 printf (" dsp = 0x%x,", dsp
);
5978 printf (" a = 0x%x,", a
);
5979 printf (" src = 0x%x,", src
);
5980 printf (" b = 0x%x,", b
);
5981 printf (" dst = 0x%x\n", dst
);
5983 SYNTAX("mov%s %1, %0");
5984 #line 333 "rx-decode.opc"
5985 ID(mov
); sBWL(sz
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, sz
); F_____
;
5993 switch (op
[1] & 0x00)
5996 goto op_semantics_40
;
6002 switch (op
[1] & 0x00)
6005 goto op_semantics_40
;
6011 switch (op
[1] & 0x00)
6014 goto op_semantics_40
;
6020 switch (op
[1] & 0x00)
6023 goto op_semantics_40
;
6029 switch (op
[1] & 0x00)
6032 goto op_semantics_40
;
6038 switch (op
[1] & 0x00)
6041 goto op_semantics_40
;
6047 switch (op
[1] & 0x00)
6050 goto op_semantics_40
;
6056 switch (op
[1] & 0x00)
6059 goto op_semantics_39
;
6065 switch (op
[1] & 0x00)
6068 goto op_semantics_39
;
6074 switch (op
[1] & 0x00)
6077 goto op_semantics_39
;
6083 switch (op
[1] & 0x00)
6086 goto op_semantics_39
;
6092 switch (op
[1] & 0x00)
6095 goto op_semantics_39
;
6101 switch (op
[1] & 0x00)
6104 goto op_semantics_39
;
6110 switch (op
[1] & 0x00)
6113 goto op_semantics_39
;
6119 switch (op
[1] & 0x00)
6122 goto op_semantics_39
;
6128 switch (op
[1] & 0x00)
6131 goto op_semantics_40
;
6137 switch (op
[1] & 0x00)
6140 goto op_semantics_40
;
6146 switch (op
[1] & 0x00)
6149 goto op_semantics_40
;
6155 switch (op
[1] & 0x00)
6158 goto op_semantics_40
;
6164 switch (op
[1] & 0x00)
6167 goto op_semantics_40
;
6173 switch (op
[1] & 0x00)
6176 goto op_semantics_40
;
6182 switch (op
[1] & 0x00)
6185 goto op_semantics_40
;
6191 switch (op
[1] & 0x00)
6194 goto op_semantics_40
;
6200 switch (op
[1] & 0x00)
6203 goto op_semantics_39
;
6209 switch (op
[1] & 0x00)
6212 goto op_semantics_39
;
6218 switch (op
[1] & 0x00)
6221 goto op_semantics_39
;
6227 switch (op
[1] & 0x00)
6230 goto op_semantics_39
;
6236 switch (op
[1] & 0x00)
6239 goto op_semantics_39
;
6245 switch (op
[1] & 0x00)
6248 goto op_semantics_39
;
6254 switch (op
[1] & 0x00)
6257 goto op_semantics_39
;
6263 switch (op
[1] & 0x00)
6266 goto op_semantics_39
;
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 /** 1011 w dsp a src b dst movu%s %1, %0 */
6350 #line 356 "rx-decode.opc"
6351 int w AU
= (op
[0] >> 3) & 0x01;
6352 #line 356 "rx-decode.opc"
6353 int dsp AU
= op
[0] & 0x07;
6354 #line 356 "rx-decode.opc"
6355 int a AU
= (op
[1] >> 7) & 0x01;
6356 #line 356 "rx-decode.opc"
6357 int src AU
= (op
[1] >> 4) & 0x07;
6358 #line 356 "rx-decode.opc"
6359 int b AU
= (op
[1] >> 3) & 0x01;
6360 #line 356 "rx-decode.opc"
6361 int dst AU
= op
[1] & 0x07;
6364 printf ("\033[33m%s\033[0m %02x %02x\n",
6365 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6367 printf (" w = 0x%x,", w
);
6368 printf (" dsp = 0x%x,", dsp
);
6369 printf (" a = 0x%x,", a
);
6370 printf (" src = 0x%x,", src
);
6371 printf (" b = 0x%x,", b
);
6372 printf (" dst = 0x%x\n", dst
);
6374 SYNTAX("movu%s %1, %0");
6375 #line 356 "rx-decode.opc"
6376 ID(mov
); uBW(w
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, w
); F_____
;
6384 switch (op
[1] & 0x00)
6387 goto op_semantics_41
;
6393 switch (op
[1] & 0x00)
6396 goto op_semantics_41
;
6402 switch (op
[1] & 0x00)
6405 goto op_semantics_41
;
6411 switch (op
[1] & 0x00)
6414 goto op_semantics_41
;
6420 switch (op
[1] & 0x00)
6423 goto op_semantics_41
;
6429 switch (op
[1] & 0x00)
6432 goto op_semantics_41
;
6438 switch (op
[1] & 0x00)
6441 goto op_semantics_41
;
6447 switch (op
[1] & 0x00)
6450 goto op_semantics_41
;
6456 switch (op
[1] & 0x00)
6459 goto op_semantics_41
;
6465 switch (op
[1] & 0x00)
6468 goto op_semantics_41
;
6474 switch (op
[1] & 0x00)
6477 goto op_semantics_41
;
6483 switch (op
[1] & 0x00)
6486 goto op_semantics_41
;
6492 switch (op
[1] & 0x00)
6495 goto op_semantics_41
;
6501 switch (op
[1] & 0x00)
6504 goto op_semantics_41
;
6510 switch (op
[1] & 0x00)
6513 goto op_semantics_41
;
6519 switch (op
[1] & 0x00)
6524 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6525 #line 314 "rx-decode.opc"
6526 int sz AU
= (op
[0] >> 4) & 0x03;
6527 #line 314 "rx-decode.opc"
6528 int sd AU
= (op
[0] >> 2) & 0x03;
6529 #line 314 "rx-decode.opc"
6530 int ss AU
= op
[0] & 0x03;
6531 #line 314 "rx-decode.opc"
6532 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6533 #line 314 "rx-decode.opc"
6534 int rdst AU
= op
[1] & 0x0f;
6537 printf ("\033[33m%s\033[0m %02x %02x\n",
6538 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6540 printf (" sz = 0x%x,", sz
);
6541 printf (" sd = 0x%x,", sd
);
6542 printf (" ss = 0x%x,", ss
);
6543 printf (" rsrc = 0x%x,", rsrc
);
6544 printf (" rdst = 0x%x\n", rdst
);
6546 SYNTAX("mov%s %1, %0");
6547 #line 314 "rx-decode.opc"
6548 if (sd
== 3 && ss
== 3 && sz
== 2 && rsrc
== 0 && rdst
== 0)
6551 SYNTAX ("nop\t; mov.l\tr0, r0");
6555 ID(mov
); sBWL(sz
); F_____
;
6556 if ((ss
== 3) && (sd
!= 3))
6558 SD(ss
, rdst
, sz
); DD(sd
, rsrc
, sz
);
6562 SD(ss
, rsrc
, sz
); DD(sd
, rdst
, sz
);
6572 switch (op
[1] & 0x00)
6575 goto op_semantics_42
;
6581 switch (op
[1] & 0x00)
6584 goto op_semantics_42
;
6590 switch (op
[1] & 0x00)
6593 goto op_semantics_42
;
6599 switch (op
[1] & 0x00)
6602 goto op_semantics_42
;
6608 switch (op
[1] & 0x00)
6611 goto op_semantics_42
;
6617 switch (op
[1] & 0x00)
6620 goto op_semantics_42
;
6626 switch (op
[1] & 0x00)
6629 goto op_semantics_42
;
6635 switch (op
[1] & 0x00)
6638 goto op_semantics_42
;
6644 switch (op
[1] & 0x00)
6647 goto op_semantics_42
;
6653 switch (op
[1] & 0x00)
6656 goto op_semantics_42
;
6662 switch (op
[1] & 0x00)
6665 goto op_semantics_42
;
6671 switch (op
[1] & 0x00)
6674 goto op_semantics_42
;
6680 switch (op
[1] & 0x00)
6683 goto op_semantics_42
;
6689 switch (op
[1] & 0x00)
6692 goto op_semantics_42
;
6698 switch (op
[1] & 0x00)
6701 goto op_semantics_42
;
6707 switch (op
[1] & 0x00)
6710 goto op_semantics_42
;
6716 switch (op
[1] & 0x00)
6719 goto op_semantics_42
;
6725 switch (op
[1] & 0x00)
6728 goto op_semantics_42
;
6734 switch (op
[1] & 0x00)
6737 goto op_semantics_42
;
6743 switch (op
[1] & 0x00)
6746 goto op_semantics_42
;
6752 switch (op
[1] & 0x00)
6755 goto op_semantics_42
;
6761 switch (op
[1] & 0x00)
6764 goto op_semantics_42
;
6770 switch (op
[1] & 0x00)
6773 goto op_semantics_42
;
6779 switch (op
[1] & 0x00)
6782 goto op_semantics_42
;
6788 switch (op
[1] & 0x00)
6791 goto op_semantics_42
;
6797 switch (op
[1] & 0x00)
6800 goto op_semantics_42
;
6806 switch (op
[1] & 0x00)
6809 goto op_semantics_42
;
6815 switch (op
[1] & 0x00)
6818 goto op_semantics_42
;
6824 switch (op
[1] & 0x00)
6827 goto op_semantics_42
;
6833 switch (op
[1] & 0x00)
6836 goto op_semantics_42
;
6842 switch (op
[1] & 0x00)
6845 goto op_semantics_42
;
6851 switch (op
[1] & 0x00)
6854 goto op_semantics_42
;
6860 switch (op
[1] & 0x00)
6863 goto op_semantics_42
;
6869 switch (op
[1] & 0x00)
6872 goto op_semantics_42
;
6878 switch (op
[1] & 0x00)
6881 goto op_semantics_42
;
6887 switch (op
[1] & 0x00)
6890 goto op_semantics_42
;
6896 switch (op
[1] & 0x00)
6899 goto op_semantics_42
;
6905 switch (op
[1] & 0x00)
6908 goto op_semantics_42
;
6914 switch (op
[1] & 0x00)
6917 goto op_semantics_42
;
6923 switch (op
[1] & 0x00)
6926 goto op_semantics_42
;
6932 switch (op
[1] & 0x00)
6935 goto op_semantics_42
;
6941 switch (op
[1] & 0x00)
6944 goto op_semantics_42
;
6950 switch (op
[1] & 0x00)
6953 goto op_semantics_42
;
6959 switch (op
[1] & 0x00)
6962 goto op_semantics_42
;
6968 switch (op
[1] & 0x00)
6971 goto op_semantics_42
;
6977 switch (op
[1] & 0x00)
6980 goto op_semantics_42
;
6986 switch (op
[1] & 0x00)
6989 goto op_semantics_42
;
6995 switch (op
[1] & 0x08)
7000 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
7001 #line 939 "rx-decode.opc"
7002 int sd AU
= op
[0] & 0x03;
7003 #line 939 "rx-decode.opc"
7004 int rdst AU
= (op
[1] >> 4) & 0x0f;
7005 #line 939 "rx-decode.opc"
7006 int bit AU
= op
[1] & 0x07;
7009 printf ("\033[33m%s\033[0m %02x %02x\n",
7010 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
7012 printf (" sd = 0x%x,", sd
);
7013 printf (" rdst = 0x%x,", rdst
);
7014 printf (" bit = 0x%x\n", bit
);
7016 SYNTAX("bset #%1, %0%S0");
7017 #line 939 "rx-decode.opc"
7018 ID(bset
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
7025 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
7026 #line 951 "rx-decode.opc"
7027 int sd AU
= op
[0] & 0x03;
7028 #line 951 "rx-decode.opc"
7029 int rdst AU
= (op
[1] >> 4) & 0x0f;
7030 #line 951 "rx-decode.opc"
7031 int bit AU
= op
[1] & 0x07;
7034 printf ("\033[33m%s\033[0m %02x %02x\n",
7035 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
7037 printf (" sd = 0x%x,", sd
);
7038 printf (" rdst = 0x%x,", rdst
);
7039 printf (" bit = 0x%x\n", bit
);
7041 SYNTAX("bclr #%1, %0%S0");
7042 #line 951 "rx-decode.opc"
7043 ID(bclr
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
7051 switch (op
[1] & 0x08)
7054 goto op_semantics_43
;
7057 goto op_semantics_44
;
7063 switch (op
[1] & 0x08)
7066 goto op_semantics_43
;
7069 goto op_semantics_44
;
7075 switch (op
[1] & 0x08)
7078 goto op_semantics_43
;
7081 goto op_semantics_44
;
7087 switch (op
[1] & 0x0c)
7093 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
7094 #line 963 "rx-decode.opc"
7095 int sd AU
= op
[0] & 0x03;
7096 #line 963 "rx-decode.opc"
7097 int rdst AU
= (op
[1] >> 4) & 0x0f;
7098 #line 963 "rx-decode.opc"
7099 int bit AU
= op
[1] & 0x07;
7102 printf ("\033[33m%s\033[0m %02x %02x\n",
7103 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
7105 printf (" sd = 0x%x,", sd
);
7106 printf (" rdst = 0x%x,", rdst
);
7107 printf (" bit = 0x%x\n", bit
);
7109 SYNTAX("btst #%2, %1%S1");
7110 #line 963 "rx-decode.opc"
7111 ID(btst
); BWL(BSIZE
); S2C(bit
); SD(sd
, rdst
, BSIZE
); F___ZC
;
7118 /** 1111 01ss rsrc 10sz push%s %1 */
7119 #line 381 "rx-decode.opc"
7120 int ss AU
= op
[0] & 0x03;
7121 #line 381 "rx-decode.opc"
7122 int rsrc AU
= (op
[1] >> 4) & 0x0f;
7123 #line 381 "rx-decode.opc"
7124 int sz AU
= op
[1] & 0x03;
7127 printf ("\033[33m%s\033[0m %02x %02x\n",
7128 "/** 1111 01ss rsrc 10sz push%s %1 */",
7130 printf (" ss = 0x%x,", ss
);
7131 printf (" rsrc = 0x%x,", rsrc
);
7132 printf (" sz = 0x%x\n", sz
);
7134 SYNTAX("push%s %1");
7135 #line 381 "rx-decode.opc"
7136 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SD(ss
, rsrc
, sz
); F_____
;
7138 /*----------------------------------------------------------------------*/
7143 default: UNSUPPORTED(); break;
7148 switch (op
[1] & 0x0c)
7152 goto op_semantics_45
;
7155 goto op_semantics_46
;
7157 default: UNSUPPORTED(); break;
7162 switch (op
[1] & 0x0c)
7166 goto op_semantics_45
;
7169 goto op_semantics_46
;
7171 default: UNSUPPORTED(); break;
7176 switch (op
[1] & 0x0c)
7180 goto op_semantics_45
;
7183 goto op_semantics_46
;
7185 default: UNSUPPORTED(); break;
7190 switch (op
[1] & 0x00)
7195 /** 1111 10sd rdst im sz mov%s #%1, %0 */
7196 #line 292 "rx-decode.opc"
7197 int sd AU
= op
[0] & 0x03;
7198 #line 292 "rx-decode.opc"
7199 int rdst AU
= (op
[1] >> 4) & 0x0f;
7200 #line 292 "rx-decode.opc"
7201 int im AU
= (op
[1] >> 2) & 0x03;
7202 #line 292 "rx-decode.opc"
7203 int sz AU
= op
[1] & 0x03;
7206 printf ("\033[33m%s\033[0m %02x %02x\n",
7207 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7209 printf (" sd = 0x%x,", sd
);
7210 printf (" rdst = 0x%x,", rdst
);
7211 printf (" im = 0x%x,", im
);
7212 printf (" sz = 0x%x\n", sz
);
7214 SYNTAX("mov%s #%1, %0");
7215 #line 292 "rx-decode.opc"
7216 ID(mov
); DD(sd
, rdst
, sz
);
7217 if ((im
== 1 && sz
== 0)
7218 || (im
== 2 && sz
== 1)
7219 || (im
== 0 && sz
== 2))
7237 switch (op
[1] & 0x00)
7240 goto op_semantics_47
;
7246 switch (op
[1] & 0x00)
7249 goto op_semantics_47
;
7255 switch (op
[1] & 0x00)
7258 goto op_semantics_47
;
7264 switch (op
[1] & 0xff)
7268 switch (op
[2] & 0x00)
7272 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7273 #line 555 "rx-decode.opc"
7274 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7275 #line 555 "rx-decode.opc"
7276 int rdst AU
= op
[2] & 0x0f;
7279 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7280 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7281 op
[0], op
[1], op
[2]);
7282 printf (" rsrc = 0x%x,", rsrc
);
7283 printf (" rdst = 0x%x\n", rdst
);
7285 SYNTAX("sbb %1, %0");
7286 #line 555 "rx-decode.opc"
7287 ID(sbb
); SR (rsrc
); DR(rdst
); F_OSZC
;
7289 /* FIXME: only supports .L */
7296 switch (op
[2] & 0x00)
7300 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7301 #line 486 "rx-decode.opc"
7302 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7303 #line 486 "rx-decode.opc"
7304 int rdst AU
= op
[2] & 0x0f;
7307 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7308 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7309 op
[0], op
[1], op
[2]);
7310 printf (" rsrc = 0x%x,", rsrc
);
7311 printf (" rdst = 0x%x\n", rdst
);
7313 SYNTAX("neg %2, %0");
7314 #line 486 "rx-decode.opc"
7315 ID(sub
); DR(rdst
); SC(0); S2R(rsrc
); F_OSZC
;
7317 /*----------------------------------------------------------------------*/
7326 switch (op
[2] & 0x00)
7330 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7331 #line 495 "rx-decode.opc"
7332 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7333 #line 495 "rx-decode.opc"
7334 int rdst AU
= op
[2] & 0x0f;
7337 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7338 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7339 op
[0], op
[1], op
[2]);
7340 printf (" rsrc = 0x%x,", rsrc
);
7341 printf (" rdst = 0x%x\n", rdst
);
7343 SYNTAX("adc %1, %0");
7344 #line 495 "rx-decode.opc"
7345 ID(adc
); SR(rsrc
); DR(rdst
); F_OSZC
;
7353 switch (op
[2] & 0x00)
7357 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7358 #line 568 "rx-decode.opc"
7359 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7360 #line 568 "rx-decode.opc"
7361 int rdst AU
= op
[2] & 0x0f;
7364 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7365 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7366 op
[0], op
[1], op
[2]);
7367 printf (" rsrc = 0x%x,", rsrc
);
7368 printf (" rdst = 0x%x\n", rdst
);
7370 SYNTAX("abs %1, %0");
7371 #line 568 "rx-decode.opc"
7372 ID(abs
); DR(rdst
); SR(rsrc
); F_OSZ_
;
7374 /*----------------------------------------------------------------------*/
7383 switch (op
[2] & 0x00)
7388 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7389 #line 587 "rx-decode.opc"
7390 int ss AU
= op
[1] & 0x03;
7391 #line 587 "rx-decode.opc"
7392 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7393 #line 587 "rx-decode.opc"
7394 int rdst AU
= op
[2] & 0x0f;
7397 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7398 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7399 op
[0], op
[1], op
[2]);
7400 printf (" ss = 0x%x,", ss
);
7401 printf (" rsrc = 0x%x,", rsrc
);
7402 printf (" rdst = 0x%x\n", rdst
);
7404 SYNTAX("max %1%S1, %0");
7405 #line 587 "rx-decode.opc"
7406 if (ss
== 3 && rsrc
== 0 && rdst
== 0)
7409 SYNTAX("nop\t; max\tr0, r0");
7413 ID(max
); SP(ss
, rsrc
); DR(rdst
);
7422 switch (op
[2] & 0x00)
7425 goto op_semantics_48
;
7431 switch (op
[2] & 0x00)
7434 goto op_semantics_48
;
7440 switch (op
[2] & 0x00)
7443 goto op_semantics_48
;
7449 switch (op
[2] & 0x00)
7454 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7455 #line 607 "rx-decode.opc"
7456 int ss AU
= op
[1] & 0x03;
7457 #line 607 "rx-decode.opc"
7458 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7459 #line 607 "rx-decode.opc"
7460 int rdst AU
= op
[2] & 0x0f;
7463 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7464 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7465 op
[0], op
[1], op
[2]);
7466 printf (" ss = 0x%x,", ss
);
7467 printf (" rsrc = 0x%x,", rsrc
);
7468 printf (" rdst = 0x%x\n", rdst
);
7470 SYNTAX("min %1%S1, %0");
7471 #line 607 "rx-decode.opc"
7472 ID(min
); SP(ss
, rsrc
); DR(rdst
);
7480 switch (op
[2] & 0x00)
7483 goto op_semantics_49
;
7489 switch (op
[2] & 0x00)
7492 goto op_semantics_49
;
7498 switch (op
[2] & 0x00)
7501 goto op_semantics_49
;
7507 switch (op
[2] & 0x00)
7512 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7513 #line 665 "rx-decode.opc"
7514 int ss AU
= op
[1] & 0x03;
7515 #line 665 "rx-decode.opc"
7516 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7517 #line 665 "rx-decode.opc"
7518 int rdst AU
= op
[2] & 0x0f;
7521 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7522 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7523 op
[0], op
[1], op
[2]);
7524 printf (" ss = 0x%x,", ss
);
7525 printf (" rsrc = 0x%x,", rsrc
);
7526 printf (" rdst = 0x%x\n", rdst
);
7528 SYNTAX("emul %1%S1, %0");
7529 #line 665 "rx-decode.opc"
7530 ID(emul
); SP(ss
, rsrc
); DR(rdst
);
7538 switch (op
[2] & 0x00)
7541 goto op_semantics_50
;
7547 switch (op
[2] & 0x00)
7550 goto op_semantics_50
;
7556 switch (op
[2] & 0x00)
7559 goto op_semantics_50
;
7565 switch (op
[2] & 0x00)
7570 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7571 #line 677 "rx-decode.opc"
7572 int ss AU
= op
[1] & 0x03;
7573 #line 677 "rx-decode.opc"
7574 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7575 #line 677 "rx-decode.opc"
7576 int rdst AU
= op
[2] & 0x0f;
7579 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7580 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7581 op
[0], op
[1], op
[2]);
7582 printf (" ss = 0x%x,", ss
);
7583 printf (" rsrc = 0x%x,", rsrc
);
7584 printf (" rdst = 0x%x\n", rdst
);
7586 SYNTAX("emulu %1%S1, %0");
7587 #line 677 "rx-decode.opc"
7588 ID(emulu
); SP(ss
, rsrc
); DR(rdst
);
7596 switch (op
[2] & 0x00)
7599 goto op_semantics_51
;
7605 switch (op
[2] & 0x00)
7608 goto op_semantics_51
;
7614 switch (op
[2] & 0x00)
7617 goto op_semantics_51
;
7623 switch (op
[2] & 0x00)
7628 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7629 #line 689 "rx-decode.opc"
7630 int ss AU
= op
[1] & 0x03;
7631 #line 689 "rx-decode.opc"
7632 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7633 #line 689 "rx-decode.opc"
7634 int rdst AU
= op
[2] & 0x0f;
7637 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7638 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7639 op
[0], op
[1], op
[2]);
7640 printf (" ss = 0x%x,", ss
);
7641 printf (" rsrc = 0x%x,", rsrc
);
7642 printf (" rdst = 0x%x\n", rdst
);
7644 SYNTAX("div %1%S1, %0");
7645 #line 689 "rx-decode.opc"
7646 ID(div
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7654 switch (op
[2] & 0x00)
7657 goto op_semantics_52
;
7663 switch (op
[2] & 0x00)
7666 goto op_semantics_52
;
7672 switch (op
[2] & 0x00)
7675 goto op_semantics_52
;
7681 switch (op
[2] & 0x00)
7686 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7687 #line 701 "rx-decode.opc"
7688 int ss AU
= op
[1] & 0x03;
7689 #line 701 "rx-decode.opc"
7690 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7691 #line 701 "rx-decode.opc"
7692 int rdst AU
= op
[2] & 0x0f;
7695 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7696 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7697 op
[0], op
[1], op
[2]);
7698 printf (" ss = 0x%x,", ss
);
7699 printf (" rsrc = 0x%x,", rsrc
);
7700 printf (" rdst = 0x%x\n", rdst
);
7702 SYNTAX("divu %1%S1, %0");
7703 #line 701 "rx-decode.opc"
7704 ID(divu
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7712 switch (op
[2] & 0x00)
7715 goto op_semantics_53
;
7721 switch (op
[2] & 0x00)
7724 goto op_semantics_53
;
7730 switch (op
[2] & 0x00)
7733 goto op_semantics_53
;
7739 switch (op
[2] & 0x00)
7744 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7745 #line 474 "rx-decode.opc"
7746 int ss AU
= op
[1] & 0x03;
7747 #line 474 "rx-decode.opc"
7748 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7749 #line 474 "rx-decode.opc"
7750 int rdst AU
= op
[2] & 0x0f;
7753 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7754 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7755 op
[0], op
[1], op
[2]);
7756 printf (" ss = 0x%x,", ss
);
7757 printf (" rsrc = 0x%x,", rsrc
);
7758 printf (" rdst = 0x%x\n", rdst
);
7760 SYNTAX("tst %1%S1, %2");
7761 #line 474 "rx-decode.opc"
7762 ID(and); SP(ss
, rsrc
); S2R(rdst
); F__SZ_
;
7770 switch (op
[2] & 0x00)
7773 goto op_semantics_54
;
7779 switch (op
[2] & 0x00)
7782 goto op_semantics_54
;
7788 switch (op
[2] & 0x00)
7791 goto op_semantics_54
;
7797 switch (op
[2] & 0x00)
7802 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7803 #line 453 "rx-decode.opc"
7804 int ss AU
= op
[1] & 0x03;
7805 #line 453 "rx-decode.opc"
7806 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7807 #line 453 "rx-decode.opc"
7808 int rdst AU
= op
[2] & 0x0f;
7811 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7812 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7813 op
[0], op
[1], op
[2]);
7814 printf (" ss = 0x%x,", ss
);
7815 printf (" rsrc = 0x%x,", rsrc
);
7816 printf (" rdst = 0x%x\n", rdst
);
7818 SYNTAX("xor %1%S1, %0");
7819 #line 453 "rx-decode.opc"
7820 ID(xor); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
7828 switch (op
[2] & 0x00)
7831 goto op_semantics_55
;
7837 switch (op
[2] & 0x00)
7840 goto op_semantics_55
;
7846 switch (op
[2] & 0x00)
7849 goto op_semantics_55
;
7855 switch (op
[2] & 0x00)
7859 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7860 #line 465 "rx-decode.opc"
7861 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7862 #line 465 "rx-decode.opc"
7863 int rdst AU
= op
[2] & 0x0f;
7866 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7867 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7868 op
[0], op
[1], op
[2]);
7869 printf (" rsrc = 0x%x,", rsrc
);
7870 printf (" rdst = 0x%x\n", rdst
);
7872 SYNTAX("not %1, %0");
7873 #line 465 "rx-decode.opc"
7874 ID(xor); DR(rdst
); SR(rsrc
); S2C(~0); F__SZ_
;
7876 /*----------------------------------------------------------------------*/
7885 switch (op
[2] & 0x00)
7890 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7891 #line 387 "rx-decode.opc"
7892 int ss AU
= op
[1] & 0x03;
7893 #line 387 "rx-decode.opc"
7894 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7895 #line 387 "rx-decode.opc"
7896 int rdst AU
= op
[2] & 0x0f;
7899 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7900 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7901 op
[0], op
[1], op
[2]);
7902 printf (" ss = 0x%x,", ss
);
7903 printf (" rsrc = 0x%x,", rsrc
);
7904 printf (" rdst = 0x%x\n", rdst
);
7906 SYNTAX("xchg %1%S1, %0");
7907 #line 387 "rx-decode.opc"
7908 ID(xchg
); DR(rdst
); SP(ss
, rsrc
);
7916 switch (op
[2] & 0x00)
7919 goto op_semantics_56
;
7925 switch (op
[2] & 0x00)
7928 goto op_semantics_56
;
7934 switch (op
[2] & 0x00)
7937 goto op_semantics_56
;
7943 switch (op
[2] & 0x00)
7948 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7949 #line 930 "rx-decode.opc"
7950 int sd AU
= op
[1] & 0x03;
7951 #line 930 "rx-decode.opc"
7952 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7953 #line 930 "rx-decode.opc"
7954 int rdst AU
= op
[2] & 0x0f;
7957 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7958 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7959 op
[0], op
[1], op
[2]);
7960 printf (" sd = 0x%x,", sd
);
7961 printf (" rsrc = 0x%x,", rsrc
);
7962 printf (" rdst = 0x%x\n", rdst
);
7964 SYNTAX("itof %1%S1, %0");
7965 #line 930 "rx-decode.opc"
7966 ID(itof
); DR (rdst
); SP(sd
, rsrc
); F__SZ_
;
7974 switch (op
[2] & 0x00)
7977 goto op_semantics_57
;
7983 switch (op
[2] & 0x00)
7986 goto op_semantics_57
;
7992 switch (op
[2] & 0x00)
7995 goto op_semantics_57
;
8001 switch (op
[2] & 0x00)
8005 /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
8006 #line 1056 "rx-decode.opc"
8007 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8008 #line 1056 "rx-decode.opc"
8009 int rdst AU
= op
[2] & 0x0f;
8012 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8013 "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
8014 op
[0], op
[1], op
[2]);
8015 printf (" rsrc = 0x%x,", rsrc
);
8016 printf (" rdst = 0x%x\n", rdst
);
8018 SYNTAX("stz %1, %0");
8019 #line 1056 "rx-decode.opc"
8020 ID(stcc
); SR(rsrc
); DR(rdst
); S2cc(RXC_z
);
8028 switch (op
[2] & 0x00)
8032 /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
8033 #line 1059 "rx-decode.opc"
8034 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8035 #line 1059 "rx-decode.opc"
8036 int rdst AU
= op
[2] & 0x0f;
8039 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8040 "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
8041 op
[0], op
[1], op
[2]);
8042 printf (" rsrc = 0x%x,", rsrc
);
8043 printf (" rdst = 0x%x\n", rdst
);
8045 SYNTAX("stnz %1, %0");
8046 #line 1059 "rx-decode.opc"
8047 ID(stcc
); SR(rsrc
); DR(rdst
); S2cc(RXC_nz
);
8055 switch (op
[2] & 0x00)
8060 /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
8061 #line 1116 "rx-decode.opc"
8062 int sd AU
= op
[1] & 0x03;
8063 #line 1116 "rx-decode.opc"
8064 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8065 #line 1116 "rx-decode.opc"
8066 int rdst AU
= op
[2] & 0x0f;
8069 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8070 "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
8071 op
[0], op
[1], op
[2]);
8072 printf (" sd = 0x%x,", sd
);
8073 printf (" rsrc = 0x%x,", rsrc
);
8074 printf (" rdst = 0x%x\n", rdst
);
8076 SYNTAX("utof %1%S1, %0");
8077 #line 1116 "rx-decode.opc"
8078 ID(utof
); DR (rdst
); SP(sd
, rsrc
); F__SZ_
;
8086 switch (op
[2] & 0x00)
8089 goto op_semantics_58
;
8095 switch (op
[2] & 0x00)
8098 goto op_semantics_58
;
8104 switch (op
[2] & 0x00)
8107 goto op_semantics_58
;
8113 switch (op
[2] & 0x00)
8118 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
8119 #line 942 "rx-decode.opc"
8120 int sd AU
= op
[1] & 0x03;
8121 #line 942 "rx-decode.opc"
8122 int rdst AU
= (op
[2] >> 4) & 0x0f;
8123 #line 942 "rx-decode.opc"
8124 int rsrc AU
= op
[2] & 0x0f;
8127 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8128 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
8129 op
[0], op
[1], op
[2]);
8130 printf (" sd = 0x%x,", sd
);
8131 printf (" rdst = 0x%x,", rdst
);
8132 printf (" rsrc = 0x%x\n", rsrc
);
8134 SYNTAX("bset %1, %0%S0");
8135 #line 942 "rx-decode.opc"
8136 ID(bset
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
8137 if (sd
== 3) /* bset reg,reg */
8146 switch (op
[2] & 0x00)
8149 goto op_semantics_59
;
8155 switch (op
[2] & 0x00)
8158 goto op_semantics_59
;
8164 switch (op
[2] & 0x00)
8167 goto op_semantics_59
;
8173 switch (op
[2] & 0x00)
8178 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
8179 #line 954 "rx-decode.opc"
8180 int sd AU
= op
[1] & 0x03;
8181 #line 954 "rx-decode.opc"
8182 int rdst AU
= (op
[2] >> 4) & 0x0f;
8183 #line 954 "rx-decode.opc"
8184 int rsrc AU
= op
[2] & 0x0f;
8187 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8188 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
8189 op
[0], op
[1], op
[2]);
8190 printf (" sd = 0x%x,", sd
);
8191 printf (" rdst = 0x%x,", rdst
);
8192 printf (" rsrc = 0x%x\n", rsrc
);
8194 SYNTAX("bclr %1, %0%S0");
8195 #line 954 "rx-decode.opc"
8196 ID(bclr
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
8197 if (sd
== 3) /* bset reg,reg */
8206 switch (op
[2] & 0x00)
8209 goto op_semantics_60
;
8215 switch (op
[2] & 0x00)
8218 goto op_semantics_60
;
8224 switch (op
[2] & 0x00)
8227 goto op_semantics_60
;
8233 switch (op
[2] & 0x00)
8238 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
8239 #line 966 "rx-decode.opc"
8240 int sd AU
= op
[1] & 0x03;
8241 #line 966 "rx-decode.opc"
8242 int rdst AU
= (op
[2] >> 4) & 0x0f;
8243 #line 966 "rx-decode.opc"
8244 int rsrc AU
= op
[2] & 0x0f;
8247 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8248 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
8249 op
[0], op
[1], op
[2]);
8250 printf (" sd = 0x%x,", sd
);
8251 printf (" rdst = 0x%x,", rdst
);
8252 printf (" rsrc = 0x%x\n", rsrc
);
8254 SYNTAX("btst %2, %1%S1");
8255 #line 966 "rx-decode.opc"
8256 ID(btst
); BWL(BSIZE
); S2R(rsrc
); SD(sd
, rdst
, BSIZE
); F___ZC
;
8257 if (sd
== 3) /* bset reg,reg */
8266 switch (op
[2] & 0x00)
8269 goto op_semantics_61
;
8275 switch (op
[2] & 0x00)
8278 goto op_semantics_61
;
8284 switch (op
[2] & 0x00)
8287 goto op_semantics_61
;
8293 switch (op
[2] & 0x00)
8298 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8299 #line 978 "rx-decode.opc"
8300 int sd AU
= op
[1] & 0x03;
8301 #line 978 "rx-decode.opc"
8302 int rdst AU
= (op
[2] >> 4) & 0x0f;
8303 #line 978 "rx-decode.opc"
8304 int rsrc AU
= op
[2] & 0x0f;
8307 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8308 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8309 op
[0], op
[1], op
[2]);
8310 printf (" sd = 0x%x,", sd
);
8311 printf (" rdst = 0x%x,", rdst
);
8312 printf (" rsrc = 0x%x\n", rsrc
);
8314 SYNTAX("bnot %1, %0%S0");
8315 #line 978 "rx-decode.opc"
8316 ID(bnot
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
);
8317 if (sd
== 3) /* bset reg,reg */
8326 switch (op
[2] & 0x00)
8329 goto op_semantics_62
;
8335 switch (op
[2] & 0x00)
8338 goto op_semantics_62
;
8344 switch (op
[2] & 0x00)
8347 goto op_semantics_62
;
8353 switch (op
[2] & 0x00)
8358 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8359 #line 909 "rx-decode.opc"
8360 int sd AU
= op
[1] & 0x03;
8361 #line 909 "rx-decode.opc"
8362 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8363 #line 909 "rx-decode.opc"
8364 int rdst AU
= op
[2] & 0x0f;
8367 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8368 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8369 op
[0], op
[1], op
[2]);
8370 printf (" sd = 0x%x,", sd
);
8371 printf (" rsrc = 0x%x,", rsrc
);
8372 printf (" rdst = 0x%x\n", rdst
);
8374 SYNTAX("fsub %1%S1, %0");
8375 #line 909 "rx-decode.opc"
8376 ID(fsub
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8384 switch (op
[2] & 0x00)
8387 goto op_semantics_63
;
8393 switch (op
[2] & 0x00)
8396 goto op_semantics_63
;
8402 switch (op
[2] & 0x00)
8405 goto op_semantics_63
;
8411 switch (op
[2] & 0x00)
8416 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8417 #line 903 "rx-decode.opc"
8418 int sd AU
= op
[1] & 0x03;
8419 #line 903 "rx-decode.opc"
8420 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8421 #line 903 "rx-decode.opc"
8422 int rdst AU
= op
[2] & 0x0f;
8425 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8426 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8427 op
[0], op
[1], op
[2]);
8428 printf (" sd = 0x%x,", sd
);
8429 printf (" rsrc = 0x%x,", rsrc
);
8430 printf (" rdst = 0x%x\n", rdst
);
8432 SYNTAX("fcmp %1%S1, %0");
8433 #line 903 "rx-decode.opc"
8434 ID(fcmp
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F_OSZ_
;
8442 switch (op
[2] & 0x00)
8445 goto op_semantics_64
;
8451 switch (op
[2] & 0x00)
8454 goto op_semantics_64
;
8460 switch (op
[2] & 0x00)
8463 goto op_semantics_64
;
8469 switch (op
[2] & 0x00)
8474 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8475 #line 897 "rx-decode.opc"
8476 int sd AU
= op
[1] & 0x03;
8477 #line 897 "rx-decode.opc"
8478 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8479 #line 897 "rx-decode.opc"
8480 int rdst AU
= op
[2] & 0x0f;
8483 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8484 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8485 op
[0], op
[1], op
[2]);
8486 printf (" sd = 0x%x,", sd
);
8487 printf (" rsrc = 0x%x,", rsrc
);
8488 printf (" rdst = 0x%x\n", rdst
);
8490 SYNTAX("fadd %1%S1, %0");
8491 #line 897 "rx-decode.opc"
8492 ID(fadd
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8500 switch (op
[2] & 0x00)
8503 goto op_semantics_65
;
8509 switch (op
[2] & 0x00)
8512 goto op_semantics_65
;
8518 switch (op
[2] & 0x00)
8521 goto op_semantics_65
;
8527 switch (op
[2] & 0x00)
8532 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8533 #line 918 "rx-decode.opc"
8534 int sd AU
= op
[1] & 0x03;
8535 #line 918 "rx-decode.opc"
8536 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8537 #line 918 "rx-decode.opc"
8538 int rdst AU
= op
[2] & 0x0f;
8541 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8542 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8543 op
[0], op
[1], op
[2]);
8544 printf (" sd = 0x%x,", sd
);
8545 printf (" rsrc = 0x%x,", rsrc
);
8546 printf (" rdst = 0x%x\n", rdst
);
8548 SYNTAX("fmul %1%S1, %0");
8549 #line 918 "rx-decode.opc"
8550 ID(fmul
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8558 switch (op
[2] & 0x00)
8561 goto op_semantics_66
;
8567 switch (op
[2] & 0x00)
8570 goto op_semantics_66
;
8576 switch (op
[2] & 0x00)
8579 goto op_semantics_66
;
8585 switch (op
[2] & 0x00)
8590 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8591 #line 924 "rx-decode.opc"
8592 int sd AU
= op
[1] & 0x03;
8593 #line 924 "rx-decode.opc"
8594 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8595 #line 924 "rx-decode.opc"
8596 int rdst AU
= op
[2] & 0x0f;
8599 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8600 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8601 op
[0], op
[1], op
[2]);
8602 printf (" sd = 0x%x,", sd
);
8603 printf (" rsrc = 0x%x,", rsrc
);
8604 printf (" rdst = 0x%x\n", rdst
);
8606 SYNTAX("fdiv %1%S1, %0");
8607 #line 924 "rx-decode.opc"
8608 ID(fdiv
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8616 switch (op
[2] & 0x00)
8619 goto op_semantics_67
;
8625 switch (op
[2] & 0x00)
8628 goto op_semantics_67
;
8634 switch (op
[2] & 0x00)
8637 goto op_semantics_67
;
8643 switch (op
[2] & 0x00)
8648 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8649 #line 912 "rx-decode.opc"
8650 int sd AU
= op
[1] & 0x03;
8651 #line 912 "rx-decode.opc"
8652 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8653 #line 912 "rx-decode.opc"
8654 int rdst AU
= op
[2] & 0x0f;
8657 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8658 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8659 op
[0], op
[1], op
[2]);
8660 printf (" sd = 0x%x,", sd
);
8661 printf (" rsrc = 0x%x,", rsrc
);
8662 printf (" rdst = 0x%x\n", rdst
);
8664 SYNTAX("ftoi %1%S1, %0");
8665 #line 912 "rx-decode.opc"
8666 ID(ftoi
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8674 switch (op
[2] & 0x00)
8677 goto op_semantics_68
;
8683 switch (op
[2] & 0x00)
8686 goto op_semantics_68
;
8692 switch (op
[2] & 0x00)
8695 goto op_semantics_68
;
8701 switch (op
[2] & 0x00)
8706 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8707 #line 927 "rx-decode.opc"
8708 int sd AU
= op
[1] & 0x03;
8709 #line 927 "rx-decode.opc"
8710 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8711 #line 927 "rx-decode.opc"
8712 int rdst AU
= op
[2] & 0x0f;
8715 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8716 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8717 op
[0], op
[1], op
[2]);
8718 printf (" sd = 0x%x,", sd
);
8719 printf (" rsrc = 0x%x,", rsrc
);
8720 printf (" rdst = 0x%x\n", rdst
);
8722 SYNTAX("round %1%S1, %0");
8723 #line 927 "rx-decode.opc"
8724 ID(round
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8732 switch (op
[2] & 0x00)
8735 goto op_semantics_69
;
8741 switch (op
[2] & 0x00)
8744 goto op_semantics_69
;
8750 switch (op
[2] & 0x00)
8753 goto op_semantics_69
;
8759 switch (op
[2] & 0x00)
8764 /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
8765 #line 1110 "rx-decode.opc"
8766 int sd AU
= op
[1] & 0x03;
8767 #line 1110 "rx-decode.opc"
8768 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8769 #line 1110 "rx-decode.opc"
8770 int rdst AU
= op
[2] & 0x0f;
8773 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8774 "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
8775 op
[0], op
[1], op
[2]);
8776 printf (" sd = 0x%x,", sd
);
8777 printf (" rsrc = 0x%x,", rsrc
);
8778 printf (" rdst = 0x%x\n", rdst
);
8780 SYNTAX("fsqrt %1%S1, %0");
8781 #line 1110 "rx-decode.opc"
8782 ID(fsqrt
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8790 switch (op
[2] & 0x00)
8793 goto op_semantics_70
;
8799 switch (op
[2] & 0x00)
8802 goto op_semantics_70
;
8808 switch (op
[2] & 0x00)
8811 goto op_semantics_70
;
8817 switch (op
[2] & 0x00)
8822 /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
8823 #line 1113 "rx-decode.opc"
8824 int sd AU
= op
[1] & 0x03;
8825 #line 1113 "rx-decode.opc"
8826 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8827 #line 1113 "rx-decode.opc"
8828 int rdst AU
= op
[2] & 0x0f;
8831 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8832 "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
8833 op
[0], op
[1], op
[2]);
8834 printf (" sd = 0x%x,", sd
);
8835 printf (" rsrc = 0x%x,", rsrc
);
8836 printf (" rdst = 0x%x\n", rdst
);
8838 SYNTAX("ftou %1%S1, %0");
8839 #line 1113 "rx-decode.opc"
8840 ID(ftou
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8848 switch (op
[2] & 0x00)
8851 goto op_semantics_71
;
8857 switch (op
[2] & 0x00)
8860 goto op_semantics_71
;
8866 switch (op
[2] & 0x00)
8869 goto op_semantics_71
;
8875 switch (op
[2] & 0x00)
8880 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8881 #line 1044 "rx-decode.opc"
8882 int sz AU
= (op
[1] >> 2) & 0x03;
8883 #line 1044 "rx-decode.opc"
8884 int sd AU
= op
[1] & 0x03;
8885 #line 1044 "rx-decode.opc"
8886 int rdst AU
= (op
[2] >> 4) & 0x0f;
8887 #line 1044 "rx-decode.opc"
8888 int cond AU
= op
[2] & 0x0f;
8891 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8892 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8893 op
[0], op
[1], op
[2]);
8894 printf (" sz = 0x%x,", sz
);
8895 printf (" sd = 0x%x,", sd
);
8896 printf (" rdst = 0x%x,", rdst
);
8897 printf (" cond = 0x%x\n", cond
);
8899 SYNTAX("sc%1%s %0");
8900 #line 1044 "rx-decode.opc"
8901 ID(sccnd
); BWL(sz
); DD (sd
, rdst
, sz
); Scc(cond
);
8903 /*----------------------------------------------------------------------*/
8912 switch (op
[2] & 0x00)
8915 goto op_semantics_72
;
8921 switch (op
[2] & 0x00)
8924 goto op_semantics_72
;
8930 switch (op
[2] & 0x00)
8933 goto op_semantics_72
;
8939 switch (op
[2] & 0x00)
8942 goto op_semantics_72
;
8948 switch (op
[2] & 0x00)
8951 goto op_semantics_72
;
8957 switch (op
[2] & 0x00)
8960 goto op_semantics_72
;
8966 switch (op
[2] & 0x00)
8969 goto op_semantics_72
;
8975 switch (op
[2] & 0x00)
8978 goto op_semantics_72
;
8984 switch (op
[2] & 0x00)
8987 goto op_semantics_72
;
8993 switch (op
[2] & 0x00)
8996 goto op_semantics_72
;
9002 switch (op
[2] & 0x00)
9005 goto op_semantics_72
;
9011 switch (op
[2] & 0x0f)
9030 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
9031 #line 987 "rx-decode.opc"
9032 int bit AU
= (op
[1] >> 2) & 0x07;
9033 #line 987 "rx-decode.opc"
9034 int sd AU
= op
[1] & 0x03;
9035 #line 987 "rx-decode.opc"
9036 int rdst AU
= (op
[2] >> 4) & 0x0f;
9037 #line 987 "rx-decode.opc"
9038 int cond AU
= op
[2] & 0x0f;
9041 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9042 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
9043 op
[0], op
[1], op
[2]);
9044 printf (" bit = 0x%x,", bit
);
9045 printf (" sd = 0x%x,", sd
);
9046 printf (" rdst = 0x%x,", rdst
);
9047 printf (" cond = 0x%x\n", cond
);
9049 SYNTAX("bm%2 #%1, %0%S0");
9050 #line 987 "rx-decode.opc"
9051 ID(bmcc
); BWL(BSIZE
); S2cc(cond
); SC(bit
); DD(sd
, rdst
, BSIZE
);
9058 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
9059 #line 975 "rx-decode.opc"
9060 int bit AU
= (op
[1] >> 2) & 0x07;
9061 #line 975 "rx-decode.opc"
9062 int sd AU
= op
[1] & 0x03;
9063 #line 975 "rx-decode.opc"
9064 int rdst AU
= (op
[2] >> 4) & 0x0f;
9067 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9068 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
9069 op
[0], op
[1], op
[2]);
9070 printf (" bit = 0x%x,", bit
);
9071 printf (" sd = 0x%x,", sd
);
9072 printf (" rdst = 0x%x\n", rdst
);
9074 SYNTAX("bnot #%1, %0%S0");
9075 #line 975 "rx-decode.opc"
9076 ID(bnot
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
);
9084 switch (op
[2] & 0x0f)
9101 goto op_semantics_73
;
9104 goto op_semantics_74
;
9110 switch (op
[2] & 0x0f)
9127 goto op_semantics_73
;
9130 goto op_semantics_74
;
9136 switch (op
[2] & 0x0f)
9153 goto op_semantics_73
;
9156 goto op_semantics_74
;
9162 switch (op
[2] & 0x0f)
9179 goto op_semantics_73
;
9182 goto op_semantics_74
;
9188 switch (op
[2] & 0x0f)
9205 goto op_semantics_73
;
9208 goto op_semantics_74
;
9214 switch (op
[2] & 0x0f)
9231 goto op_semantics_73
;
9234 goto op_semantics_74
;
9240 switch (op
[2] & 0x0f)
9257 goto op_semantics_73
;
9260 goto op_semantics_74
;
9266 switch (op
[2] & 0x0f)
9283 goto op_semantics_73
;
9286 goto op_semantics_74
;
9292 switch (op
[2] & 0x0f)
9309 goto op_semantics_73
;
9312 goto op_semantics_74
;
9318 switch (op
[2] & 0x0f)
9335 goto op_semantics_73
;
9338 goto op_semantics_74
;
9344 switch (op
[2] & 0x0f)
9361 goto op_semantics_73
;
9364 goto op_semantics_74
;
9370 switch (op
[2] & 0x0f)
9387 goto op_semantics_73
;
9390 goto op_semantics_74
;
9396 switch (op
[2] & 0x0f)
9413 goto op_semantics_73
;
9416 goto op_semantics_74
;
9422 switch (op
[2] & 0x0f)
9439 goto op_semantics_73
;
9442 goto op_semantics_74
;
9448 switch (op
[2] & 0x0f)
9465 goto op_semantics_73
;
9468 goto op_semantics_74
;
9474 switch (op
[2] & 0x0f)
9491 goto op_semantics_73
;
9494 goto op_semantics_74
;
9500 switch (op
[2] & 0x0f)
9517 goto op_semantics_73
;
9520 goto op_semantics_74
;
9526 switch (op
[2] & 0x0f)
9543 goto op_semantics_73
;
9546 goto op_semantics_74
;
9552 switch (op
[2] & 0x0f)
9569 goto op_semantics_73
;
9572 goto op_semantics_74
;
9578 switch (op
[2] & 0x0f)
9595 goto op_semantics_73
;
9598 goto op_semantics_74
;
9604 switch (op
[2] & 0x0f)
9621 goto op_semantics_73
;
9624 goto op_semantics_74
;
9630 switch (op
[2] & 0x0f)
9647 goto op_semantics_73
;
9650 goto op_semantics_74
;
9656 switch (op
[2] & 0x0f)
9673 goto op_semantics_73
;
9676 goto op_semantics_74
;
9682 switch (op
[2] & 0x0f)
9699 goto op_semantics_73
;
9702 goto op_semantics_74
;
9708 switch (op
[2] & 0x0f)
9725 goto op_semantics_73
;
9728 goto op_semantics_74
;
9734 switch (op
[2] & 0x0f)
9751 goto op_semantics_73
;
9754 goto op_semantics_74
;
9760 switch (op
[2] & 0x0f)
9777 goto op_semantics_73
;
9780 goto op_semantics_74
;
9786 switch (op
[2] & 0x0f)
9803 goto op_semantics_73
;
9806 goto op_semantics_74
;
9812 switch (op
[2] & 0x0f)
9829 goto op_semantics_73
;
9832 goto op_semantics_74
;
9838 switch (op
[2] & 0x0f)
9855 goto op_semantics_73
;
9858 goto op_semantics_74
;
9864 switch (op
[2] & 0x0f)
9881 goto op_semantics_73
;
9884 goto op_semantics_74
;
9888 default: UNSUPPORTED(); break;
9893 switch (op
[1] & 0xff)
9897 switch (op
[2] & 0x00)
9902 /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
9903 #line 852 "rx-decode.opc"
9904 int a AU
= (op
[1] >> 3) & 0x01;
9905 #line 852 "rx-decode.opc"
9906 int srca AU
= (op
[2] >> 4) & 0x0f;
9907 #line 852 "rx-decode.opc"
9908 int srcb AU
= op
[2] & 0x0f;
9911 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9912 "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
9913 op
[0], op
[1], op
[2]);
9914 printf (" a = 0x%x,", a
);
9915 printf (" srca = 0x%x,", srca
);
9916 printf (" srcb = 0x%x\n", srcb
);
9918 SYNTAX("mulhi %1, %2, %0");
9919 #line 852 "rx-decode.opc"
9920 ID(mulhi
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
9928 switch (op
[2] & 0x00)
9933 /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
9934 #line 855 "rx-decode.opc"
9935 int a AU
= (op
[1] >> 3) & 0x01;
9936 #line 855 "rx-decode.opc"
9937 int srca AU
= (op
[2] >> 4) & 0x0f;
9938 #line 855 "rx-decode.opc"
9939 int srcb AU
= op
[2] & 0x0f;
9942 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9943 "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
9944 op
[0], op
[1], op
[2]);
9945 printf (" a = 0x%x,", a
);
9946 printf (" srca = 0x%x,", srca
);
9947 printf (" srcb = 0x%x\n", srcb
);
9949 SYNTAX("mullo %1, %2, %0");
9950 #line 855 "rx-decode.opc"
9951 ID(mullo
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
9959 switch (op
[2] & 0x00)
9964 /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
9965 #line 1083 "rx-decode.opc"
9966 int a AU
= (op
[1] >> 3) & 0x01;
9967 #line 1083 "rx-decode.opc"
9968 int srca AU
= (op
[2] >> 4) & 0x0f;
9969 #line 1083 "rx-decode.opc"
9970 int srcb AU
= op
[2] & 0x0f;
9973 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9974 "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
9975 op
[0], op
[1], op
[2]);
9976 printf (" a = 0x%x,", a
);
9977 printf (" srca = 0x%x,", srca
);
9978 printf (" srcb = 0x%x\n", srcb
);
9980 SYNTAX("mullh %1, %2, %0");
9981 #line 1083 "rx-decode.opc"
9982 ID(mullh
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
9990 switch (op
[2] & 0x00)
9995 /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
9996 #line 1068 "rx-decode.opc"
9997 int a AU
= (op
[1] >> 3) & 0x01;
9998 #line 1068 "rx-decode.opc"
9999 int srca AU
= (op
[2] >> 4) & 0x0f;
10000 #line 1068 "rx-decode.opc"
10001 int srcb AU
= op
[2] & 0x0f;
10004 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10005 "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
10006 op
[0], op
[1], op
[2]);
10007 printf (" a = 0x%x,", a
);
10008 printf (" srca = 0x%x,", srca
);
10009 printf (" srcb = 0x%x\n", srcb
);
10011 SYNTAX("emula %1, %2, %0");
10012 #line 1068 "rx-decode.opc"
10013 ID(emula
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10021 switch (op
[2] & 0x00)
10026 /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
10027 #line 858 "rx-decode.opc"
10028 int a AU
= (op
[1] >> 3) & 0x01;
10029 #line 858 "rx-decode.opc"
10030 int srca AU
= (op
[2] >> 4) & 0x0f;
10031 #line 858 "rx-decode.opc"
10032 int srcb AU
= op
[2] & 0x0f;
10035 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10036 "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
10037 op
[0], op
[1], op
[2]);
10038 printf (" a = 0x%x,", a
);
10039 printf (" srca = 0x%x,", srca
);
10040 printf (" srcb = 0x%x\n", srcb
);
10042 SYNTAX("machi %1, %2, %0");
10043 #line 858 "rx-decode.opc"
10044 ID(machi
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10052 switch (op
[2] & 0x00)
10057 /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
10058 #line 861 "rx-decode.opc"
10059 int a AU
= (op
[1] >> 3) & 0x01;
10060 #line 861 "rx-decode.opc"
10061 int srca AU
= (op
[2] >> 4) & 0x0f;
10062 #line 861 "rx-decode.opc"
10063 int srcb AU
= op
[2] & 0x0f;
10066 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10067 "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
10068 op
[0], op
[1], op
[2]);
10069 printf (" a = 0x%x,", a
);
10070 printf (" srca = 0x%x,", srca
);
10071 printf (" srcb = 0x%x\n", srcb
);
10073 SYNTAX("maclo %1, %2, %0");
10074 #line 861 "rx-decode.opc"
10075 ID(maclo
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10083 switch (op
[2] & 0x00)
10088 /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
10089 #line 1071 "rx-decode.opc"
10090 int a AU
= (op
[1] >> 3) & 0x01;
10091 #line 1071 "rx-decode.opc"
10092 int srca AU
= (op
[2] >> 4) & 0x0f;
10093 #line 1071 "rx-decode.opc"
10094 int srcb AU
= op
[2] & 0x0f;
10097 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10098 "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
10099 op
[0], op
[1], op
[2]);
10100 printf (" a = 0x%x,", a
);
10101 printf (" srca = 0x%x,", srca
);
10102 printf (" srcb = 0x%x\n", srcb
);
10104 SYNTAX("maclh %1, %2, %0");
10105 #line 1071 "rx-decode.opc"
10106 ID(maclh
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10114 switch (op
[2] & 0x00)
10119 /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
10120 #line 1062 "rx-decode.opc"
10121 int a AU
= (op
[1] >> 3) & 0x01;
10122 #line 1062 "rx-decode.opc"
10123 int srca AU
= (op
[2] >> 4) & 0x0f;
10124 #line 1062 "rx-decode.opc"
10125 int srcb AU
= op
[2] & 0x0f;
10128 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10129 "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
10130 op
[0], op
[1], op
[2]);
10131 printf (" a = 0x%x,", a
);
10132 printf (" srca = 0x%x,", srca
);
10133 printf (" srcb = 0x%x\n", srcb
);
10135 SYNTAX("emaca %1, %2, %0");
10136 #line 1062 "rx-decode.opc"
10137 ID(emaca
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10145 switch (op
[2] & 0x00)
10148 goto op_semantics_75
;
10154 switch (op
[2] & 0x00)
10157 goto op_semantics_76
;
10163 switch (op
[2] & 0x00)
10166 goto op_semantics_77
;
10172 switch (op
[2] & 0x00)
10175 goto op_semantics_78
;
10181 switch (op
[2] & 0x00)
10184 goto op_semantics_79
;
10190 switch (op
[2] & 0x00)
10193 goto op_semantics_80
;
10199 switch (op
[2] & 0x00)
10202 goto op_semantics_81
;
10208 switch (op
[2] & 0x00)
10211 goto op_semantics_82
;
10217 switch (op
[2] & 0x70)
10221 /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
10222 #line 864 "rx-decode.opc"
10223 int a AU
= (op
[2] >> 7) & 0x01;
10224 #line 864 "rx-decode.opc"
10225 int rsrc AU
= op
[2] & 0x0f;
10228 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10229 "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
10230 op
[0], op
[1], op
[2]);
10231 printf (" a = 0x%x,", a
);
10232 printf (" rsrc = 0x%x\n", rsrc
);
10234 SYNTAX("mvtachi %1, %0");
10235 #line 864 "rx-decode.opc"
10236 ID(mvtachi
); DR(a
+32); SR(rsrc
); F_____
;
10242 /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
10243 #line 867 "rx-decode.opc"
10244 int a AU
= (op
[2] >> 7) & 0x01;
10245 #line 867 "rx-decode.opc"
10246 int rsrc AU
= op
[2] & 0x0f;
10249 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10250 "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
10251 op
[0], op
[1], op
[2]);
10252 printf (" a = 0x%x,", a
);
10253 printf (" rsrc = 0x%x\n", rsrc
);
10255 SYNTAX("mvtaclo %1, %0");
10256 #line 867 "rx-decode.opc"
10257 ID(mvtaclo
); DR(a
+32); SR(rsrc
); F_____
;
10263 /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
10264 #line 1089 "rx-decode.opc"
10265 int a AU
= (op
[2] >> 7) & 0x01;
10266 #line 1089 "rx-decode.opc"
10267 int rdst AU
= op
[2] & 0x0f;
10270 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10271 "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
10272 op
[0], op
[1], op
[2]);
10273 printf (" a = 0x%x,", a
);
10274 printf (" rdst = 0x%x\n", rdst
);
10276 SYNTAX("mvtacgu %0, %1");
10277 #line 1089 "rx-decode.opc"
10278 ID(mvtacgu
); DR(a
+32); SR(rdst
); F_____
;
10282 default: UNSUPPORTED(); break;
10287 switch (op
[2] & 0x6f)
10291 /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
10292 #line 879 "rx-decode.opc"
10293 int a AU
= (op
[2] >> 7) & 0x01;
10294 #line 879 "rx-decode.opc"
10295 int i AU
= (op
[2] >> 4) & 0x01;
10298 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10299 "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
10300 op
[0], op
[1], op
[2]);
10301 printf (" a = 0x%x,", a
);
10302 printf (" i = 0x%x\n", i
);
10304 SYNTAX("racw #%1, %0");
10305 #line 879 "rx-decode.opc"
10306 ID(racw
); SC(i
+1); DR(a
+32); F_____
;
10308 /*----------------------------------------------------------------------*/
10315 /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
10316 #line 1098 "rx-decode.opc"
10317 int a AU
= (op
[2] >> 7) & 0x01;
10318 #line 1098 "rx-decode.opc"
10319 int i AU
= (op
[2] >> 4) & 0x01;
10322 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10323 "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
10324 op
[0], op
[1], op
[2]);
10325 printf (" a = 0x%x,", a
);
10326 printf (" i = 0x%x\n", i
);
10328 SYNTAX("rdacw #%1, %0");
10329 #line 1098 "rx-decode.opc"
10330 ID(rdacw
); SC(i
+1); DR(a
+32); F_____
;
10334 default: UNSUPPORTED(); break;
10339 switch (op
[2] & 0x6f)
10343 /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
10344 #line 1092 "rx-decode.opc"
10345 int a AU
= (op
[2] >> 7) & 0x01;
10346 #line 1092 "rx-decode.opc"
10347 int i AU
= (op
[2] >> 4) & 0x01;
10350 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10351 "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
10352 op
[0], op
[1], op
[2]);
10353 printf (" a = 0x%x,", a
);
10354 printf (" i = 0x%x\n", i
);
10356 SYNTAX("racl #%1, %0");
10357 #line 1092 "rx-decode.opc"
10358 ID(racl
); SC(i
+1); DR(a
+32); F_____
;
10364 /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
10365 #line 1095 "rx-decode.opc"
10366 int a AU
= (op
[2] >> 7) & 0x01;
10367 #line 1095 "rx-decode.opc"
10368 int i AU
= (op
[2] >> 4) & 0x01;
10371 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10372 "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
10373 op
[0], op
[1], op
[2]);
10374 printf (" a = 0x%x,", a
);
10375 printf (" i = 0x%x\n", i
);
10377 SYNTAX("rdacl #%1, %0");
10378 #line 1095 "rx-decode.opc"
10379 ID(rdacl
); SC(i
+1); DR(a
+32); F_____
;
10383 default: UNSUPPORTED(); break;
10388 switch (op
[2] & 0x30)
10393 /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
10394 #line 870 "rx-decode.opc"
10395 int i AU
= op
[1] & 0x01;
10396 #line 870 "rx-decode.opc"
10397 int a AU
= (op
[2] >> 7) & 0x01;
10398 #line 870 "rx-decode.opc"
10399 int m AU
= (op
[2] >> 6) & 0x01;
10400 #line 870 "rx-decode.opc"
10401 int rdst AU
= op
[2] & 0x0f;
10404 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10405 "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
10406 op
[0], op
[1], op
[2]);
10407 printf (" i = 0x%x,", i
);
10408 printf (" a = 0x%x,", a
);
10409 printf (" m = 0x%x,", m
);
10410 printf (" rdst = 0x%x\n", rdst
);
10412 SYNTAX("mvfachi #%2, %1, %0");
10413 #line 870 "rx-decode.opc"
10414 ID(mvfachi
); S2C(((i
^1)<<1)|m
); SR(a
+32); DR(rdst
); F_____
;
10421 /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
10422 #line 876 "rx-decode.opc"
10423 int i AU
= op
[1] & 0x01;
10424 #line 876 "rx-decode.opc"
10425 int a AU
= (op
[2] >> 7) & 0x01;
10426 #line 876 "rx-decode.opc"
10427 int m AU
= (op
[2] >> 6) & 0x01;
10428 #line 876 "rx-decode.opc"
10429 int rdst AU
= op
[2] & 0x0f;
10432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10433 "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
10434 op
[0], op
[1], op
[2]);
10435 printf (" i = 0x%x,", i
);
10436 printf (" a = 0x%x,", a
);
10437 printf (" m = 0x%x,", m
);
10438 printf (" rdst = 0x%x\n", rdst
);
10440 SYNTAX("mvfaclo #%2, %1, %0");
10441 #line 876 "rx-decode.opc"
10442 ID(mvfaclo
); S2C(((i
^1)<<1)|m
); SR(a
+32); DR(rdst
); F_____
;
10449 /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
10450 #line 873 "rx-decode.opc"
10451 int i AU
= op
[1] & 0x01;
10452 #line 873 "rx-decode.opc"
10453 int a AU
= (op
[2] >> 7) & 0x01;
10454 #line 873 "rx-decode.opc"
10455 int m AU
= (op
[2] >> 6) & 0x01;
10456 #line 873 "rx-decode.opc"
10457 int rdst AU
= op
[2] & 0x0f;
10460 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10461 "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
10462 op
[0], op
[1], op
[2]);
10463 printf (" i = 0x%x,", i
);
10464 printf (" a = 0x%x,", a
);
10465 printf (" m = 0x%x,", m
);
10466 printf (" rdst = 0x%x\n", rdst
);
10468 SYNTAX("mvfacmi #%2, %1, %0");
10469 #line 873 "rx-decode.opc"
10470 ID(mvfacmi
); S2C(((i
^1)<<1)|m
); SR(a
+32); DR(rdst
); F_____
;
10477 /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
10478 #line 1086 "rx-decode.opc"
10479 int i AU
= op
[1] & 0x01;
10480 #line 1086 "rx-decode.opc"
10481 int a AU
= (op
[2] >> 7) & 0x01;
10482 #line 1086 "rx-decode.opc"
10483 int m AU
= (op
[2] >> 6) & 0x01;
10484 #line 1086 "rx-decode.opc"
10485 int rdst AU
= op
[2] & 0x0f;
10488 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10489 "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
10490 op
[0], op
[1], op
[2]);
10491 printf (" i = 0x%x,", i
);
10492 printf (" a = 0x%x,", a
);
10493 printf (" m = 0x%x,", m
);
10494 printf (" rdst = 0x%x\n", rdst
);
10496 SYNTAX("mvfacgu #%2, %1, %0");
10497 #line 1086 "rx-decode.opc"
10498 ID(mvfacgu
); S2C(((i
^1)<<1)|m
); SR(a
+32); DR(rdst
); F_____
;
10506 switch (op
[2] & 0x30)
10509 goto op_semantics_83
;
10512 goto op_semantics_84
;
10515 goto op_semantics_85
;
10518 goto op_semantics_86
;
10524 switch (op
[2] & 0x00)
10529 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
10530 #line 348 "rx-decode.opc"
10531 int p AU
= (op
[1] >> 2) & 0x01;
10532 #line 348 "rx-decode.opc"
10533 int sz AU
= op
[1] & 0x03;
10534 #line 348 "rx-decode.opc"
10535 int rdst AU
= (op
[2] >> 4) & 0x0f;
10536 #line 348 "rx-decode.opc"
10537 int rsrc AU
= op
[2] & 0x0f;
10540 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10541 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
10542 op
[0], op
[1], op
[2]);
10543 printf (" p = 0x%x,", p
);
10544 printf (" sz = 0x%x,", sz
);
10545 printf (" rdst = 0x%x,", rdst
);
10546 printf (" rsrc = 0x%x\n", rsrc
);
10548 SYNTAX("mov%s %1, %0");
10549 #line 348 "rx-decode.opc"
10550 ID(mov
); sBWL (sz
); SR(rsrc
); F_____
;
10551 OP(0, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rdst
, 0);
10559 switch (op
[2] & 0x00)
10562 goto op_semantics_87
;
10568 switch (op
[2] & 0x00)
10571 goto op_semantics_87
;
10577 switch (op
[2] & 0x00)
10580 goto op_semantics_87
;
10586 switch (op
[2] & 0x00)
10589 goto op_semantics_87
;
10595 switch (op
[2] & 0x00)
10598 goto op_semantics_87
;
10604 switch (op
[2] & 0x00)
10608 /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
10609 #line 1050 "rx-decode.opc"
10610 int rdst AU
= (op
[2] >> 4) & 0x0f;
10611 #line 1050 "rx-decode.opc"
10612 int rsrc AU
= op
[2] & 0x0f;
10615 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10616 "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
10617 op
[0], op
[1], op
[2]);
10618 printf (" rdst = 0x%x,", rdst
);
10619 printf (" rsrc = 0x%x\n", rsrc
);
10621 SYNTAX("movco %1, [%0]");
10622 #line 1050 "rx-decode.opc"
10623 ID(movco
); SR(rsrc
); DR(rdst
); F_____
;
10631 switch (op
[2] & 0x00)
10636 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
10637 #line 352 "rx-decode.opc"
10638 int p AU
= (op
[1] >> 2) & 0x01;
10639 #line 352 "rx-decode.opc"
10640 int sz AU
= op
[1] & 0x03;
10641 #line 352 "rx-decode.opc"
10642 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10643 #line 352 "rx-decode.opc"
10644 int rdst AU
= op
[2] & 0x0f;
10647 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10648 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
10649 op
[0], op
[1], op
[2]);
10650 printf (" p = 0x%x,", p
);
10651 printf (" sz = 0x%x,", sz
);
10652 printf (" rsrc = 0x%x,", rsrc
);
10653 printf (" rdst = 0x%x\n", rdst
);
10655 SYNTAX("mov%s %1, %0");
10656 #line 352 "rx-decode.opc"
10657 ID(mov
); sBWL (sz
); DR(rdst
); F_____
;
10658 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
10666 switch (op
[2] & 0x00)
10669 goto op_semantics_88
;
10675 switch (op
[2] & 0x00)
10678 goto op_semantics_88
;
10684 switch (op
[2] & 0x00)
10687 goto op_semantics_88
;
10693 switch (op
[2] & 0x00)
10696 goto op_semantics_88
;
10702 switch (op
[2] & 0x00)
10705 goto op_semantics_88
;
10711 switch (op
[2] & 0x00)
10715 /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
10716 #line 1053 "rx-decode.opc"
10717 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10718 #line 1053 "rx-decode.opc"
10719 int rdst AU
= op
[2] & 0x0f;
10722 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10723 "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
10724 op
[0], op
[1], op
[2]);
10725 printf (" rsrc = 0x%x,", rsrc
);
10726 printf (" rdst = 0x%x\n", rdst
);
10728 SYNTAX("movli [%1], %0");
10729 #line 1053 "rx-decode.opc"
10730 ID(movli
); SR(rsrc
); DR(rdst
); F_____
;
10738 switch (op
[2] & 0x00)
10743 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
10744 #line 362 "rx-decode.opc"
10745 int p AU
= (op
[1] >> 2) & 0x01;
10746 #line 362 "rx-decode.opc"
10747 int sz AU
= op
[1] & 0x03;
10748 #line 362 "rx-decode.opc"
10749 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10750 #line 362 "rx-decode.opc"
10751 int rdst AU
= op
[2] & 0x0f;
10754 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10755 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
10756 op
[0], op
[1], op
[2]);
10757 printf (" p = 0x%x,", p
);
10758 printf (" sz = 0x%x,", sz
);
10759 printf (" rsrc = 0x%x,", rsrc
);
10760 printf (" rdst = 0x%x\n", rdst
);
10762 SYNTAX("movu%s %1, %0");
10763 #line 362 "rx-decode.opc"
10764 ID(mov
); uBW (sz
); DR(rdst
); F_____
;
10765 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
10767 /*----------------------------------------------------------------------*/
10776 switch (op
[2] & 0x00)
10779 goto op_semantics_89
;
10785 switch (op
[2] & 0x00)
10788 goto op_semantics_89
;
10794 switch (op
[2] & 0x00)
10797 goto op_semantics_89
;
10803 switch (op
[2] & 0x00)
10806 goto op_semantics_89
;
10812 switch (op
[2] & 0x00)
10815 goto op_semantics_89
;
10821 switch (op
[2] & 0x00)
10826 /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
10827 #line 1074 "rx-decode.opc"
10828 int a AU
= (op
[1] >> 3) & 0x01;
10829 #line 1074 "rx-decode.opc"
10830 int srca AU
= (op
[2] >> 4) & 0x0f;
10831 #line 1074 "rx-decode.opc"
10832 int srcb AU
= op
[2] & 0x0f;
10835 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10836 "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
10837 op
[0], op
[1], op
[2]);
10838 printf (" a = 0x%x,", a
);
10839 printf (" srca = 0x%x,", srca
);
10840 printf (" srcb = 0x%x\n", srcb
);
10842 SYNTAX("msbhi %1, %2, %0");
10843 #line 1074 "rx-decode.opc"
10844 ID(msbhi
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10852 switch (op
[2] & 0x00)
10857 /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
10858 #line 1080 "rx-decode.opc"
10859 int a AU
= (op
[1] >> 3) & 0x01;
10860 #line 1080 "rx-decode.opc"
10861 int srca AU
= (op
[2] >> 4) & 0x0f;
10862 #line 1080 "rx-decode.opc"
10863 int srcb AU
= op
[2] & 0x0f;
10866 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10867 "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
10868 op
[0], op
[1], op
[2]);
10869 printf (" a = 0x%x,", a
);
10870 printf (" srca = 0x%x,", srca
);
10871 printf (" srcb = 0x%x\n", srcb
);
10873 SYNTAX("msblo %1, %2, %0");
10874 #line 1080 "rx-decode.opc"
10875 ID(msblo
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10883 switch (op
[2] & 0x00)
10888 /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
10889 #line 1077 "rx-decode.opc"
10890 int a AU
= (op
[1] >> 3) & 0x01;
10891 #line 1077 "rx-decode.opc"
10892 int srca AU
= (op
[2] >> 4) & 0x0f;
10893 #line 1077 "rx-decode.opc"
10894 int srcb AU
= op
[2] & 0x0f;
10897 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10898 "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
10899 op
[0], op
[1], op
[2]);
10900 printf (" a = 0x%x,", a
);
10901 printf (" srca = 0x%x,", srca
);
10902 printf (" srcb = 0x%x\n", srcb
);
10904 SYNTAX("msblh %1, %2, %0");
10905 #line 1077 "rx-decode.opc"
10906 ID(msblh
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10914 switch (op
[2] & 0x00)
10919 /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
10920 #line 1065 "rx-decode.opc"
10921 int a AU
= (op
[1] >> 3) & 0x01;
10922 #line 1065 "rx-decode.opc"
10923 int srca AU
= (op
[2] >> 4) & 0x0f;
10924 #line 1065 "rx-decode.opc"
10925 int srcb AU
= op
[2] & 0x0f;
10928 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10929 "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
10930 op
[0], op
[1], op
[2]);
10931 printf (" a = 0x%x,", a
);
10932 printf (" srca = 0x%x,", srca
);
10933 printf (" srcb = 0x%x\n", srcb
);
10935 SYNTAX("emsba %1, %2, %0");
10936 #line 1065 "rx-decode.opc"
10937 ID(emsba
); DR(a
+32); SR(srca
); S2R(srcb
); F_____
;
10945 switch (op
[2] & 0x00)
10948 goto op_semantics_90
;
10954 switch (op
[2] & 0x00)
10957 goto op_semantics_91
;
10963 switch (op
[2] & 0x00)
10966 goto op_semantics_92
;
10972 switch (op
[2] & 0x00)
10975 goto op_semantics_93
;
10981 switch (op
[2] & 0x00)
10985 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
10986 #line 733 "rx-decode.opc"
10987 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10988 #line 733 "rx-decode.opc"
10989 int rdst AU
= op
[2] & 0x0f;
10992 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10993 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
10994 op
[0], op
[1], op
[2]);
10995 printf (" rsrc = 0x%x,", rsrc
);
10996 printf (" rdst = 0x%x\n", rdst
);
10998 SYNTAX("shlr %2, %0");
10999 #line 733 "rx-decode.opc"
11000 ID(shlr
); S2R(rsrc
); SR(rdst
); DR(rdst
); F__SZC
;
11008 switch (op
[2] & 0x00)
11012 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
11013 #line 723 "rx-decode.opc"
11014 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11015 #line 723 "rx-decode.opc"
11016 int rdst AU
= op
[2] & 0x0f;
11019 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11020 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
11021 op
[0], op
[1], op
[2]);
11022 printf (" rsrc = 0x%x,", rsrc
);
11023 printf (" rdst = 0x%x\n", rdst
);
11025 SYNTAX("shar %2, %0");
11026 #line 723 "rx-decode.opc"
11027 ID(shar
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_0SZC
;
11035 switch (op
[2] & 0x00)
11039 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
11040 #line 713 "rx-decode.opc"
11041 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11042 #line 713 "rx-decode.opc"
11043 int rdst AU
= op
[2] & 0x0f;
11046 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11047 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
11048 op
[0], op
[1], op
[2]);
11049 printf (" rsrc = 0x%x,", rsrc
);
11050 printf (" rdst = 0x%x\n", rdst
);
11052 SYNTAX("shll %2, %0");
11053 #line 713 "rx-decode.opc"
11054 ID(shll
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
11062 switch (op
[2] & 0x00)
11066 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
11067 #line 757 "rx-decode.opc"
11068 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11069 #line 757 "rx-decode.opc"
11070 int rdst AU
= op
[2] & 0x0f;
11073 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11074 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
11075 op
[0], op
[1], op
[2]);
11076 printf (" rsrc = 0x%x,", rsrc
);
11077 printf (" rdst = 0x%x\n", rdst
);
11079 SYNTAX("rotr %1, %0");
11080 #line 757 "rx-decode.opc"
11081 ID(rotr
); SR(rsrc
); DR(rdst
); F__SZC
;
11089 switch (op
[2] & 0x00)
11093 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
11094 #line 760 "rx-decode.opc"
11095 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11096 #line 760 "rx-decode.opc"
11097 int rdst AU
= op
[2] & 0x0f;
11100 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11101 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
11102 op
[0], op
[1], op
[2]);
11103 printf (" rsrc = 0x%x,", rsrc
);
11104 printf (" rdst = 0x%x\n", rdst
);
11106 SYNTAX("revw %1, %0");
11107 #line 760 "rx-decode.opc"
11108 ID(revw
); SR(rsrc
); DR(rdst
);
11116 switch (op
[2] & 0x00)
11120 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
11121 #line 751 "rx-decode.opc"
11122 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11123 #line 751 "rx-decode.opc"
11124 int rdst AU
= op
[2] & 0x0f;
11127 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11128 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
11129 op
[0], op
[1], op
[2]);
11130 printf (" rsrc = 0x%x,", rsrc
);
11131 printf (" rdst = 0x%x\n", rdst
);
11133 SYNTAX("rotl %1, %0");
11134 #line 751 "rx-decode.opc"
11135 ID(rotl
); SR(rsrc
); DR(rdst
); F__SZC
;
11143 switch (op
[2] & 0x00)
11147 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
11148 #line 763 "rx-decode.opc"
11149 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11150 #line 763 "rx-decode.opc"
11151 int rdst AU
= op
[2] & 0x0f;
11154 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11155 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
11156 op
[0], op
[1], op
[2]);
11157 printf (" rsrc = 0x%x,", rsrc
);
11158 printf (" rdst = 0x%x\n", rdst
);
11160 SYNTAX("revl %1, %0");
11161 #line 763 "rx-decode.opc"
11162 ID(revl
); SR(rsrc
); DR(rdst
);
11164 /*----------------------------------------------------------------------*/
11173 switch (op
[2] & 0x00)
11178 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
11179 #line 1014 "rx-decode.opc"
11180 int c AU
= op
[1] & 0x01;
11181 #line 1014 "rx-decode.opc"
11182 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11183 #line 1014 "rx-decode.opc"
11184 int rdst AU
= op
[2] & 0x0f;
11187 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11188 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
11189 op
[0], op
[1], op
[2]);
11190 printf (" c = 0x%x,", c
);
11191 printf (" rsrc = 0x%x,", rsrc
);
11192 printf (" rdst = 0x%x\n", rdst
);
11194 SYNTAX("mvtc %1, %0");
11195 #line 1014 "rx-decode.opc"
11196 ID(mov
); SR(rsrc
); DR(c
*16+rdst
+ 16);
11204 switch (op
[2] & 0x00)
11207 goto op_semantics_94
;
11213 switch (op
[2] & 0x00)
11218 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
11219 #line 1017 "rx-decode.opc"
11220 int s AU
= op
[1] & 0x01;
11221 #line 1017 "rx-decode.opc"
11222 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11223 #line 1017 "rx-decode.opc"
11224 int rdst AU
= op
[2] & 0x0f;
11227 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11228 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
11229 op
[0], op
[1], op
[2]);
11230 printf (" s = 0x%x,", s
);
11231 printf (" rsrc = 0x%x,", rsrc
);
11232 printf (" rdst = 0x%x\n", rdst
);
11234 SYNTAX("mvfc %1, %0");
11235 #line 1017 "rx-decode.opc"
11236 ID(mov
); SR((s
*16+rsrc
) + 16); DR(rdst
);
11238 /*----------------------------------------------------------------------*/
11247 switch (op
[2] & 0x00)
11250 goto op_semantics_95
;
11256 switch (op
[2] & 0x00)
11261 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
11262 #line 754 "rx-decode.opc"
11263 int i AU
= op
[1] & 0x01;
11264 #line 754 "rx-decode.opc"
11265 int mmmm AU
= (op
[2] >> 4) & 0x0f;
11266 #line 754 "rx-decode.opc"
11267 int rdst AU
= op
[2] & 0x0f;
11270 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11271 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
11272 op
[0], op
[1], op
[2]);
11273 printf (" i = 0x%x,", i
);
11274 printf (" mmmm = 0x%x,", mmmm
);
11275 printf (" rdst = 0x%x\n", rdst
);
11277 SYNTAX("rotr #%1, %0");
11278 #line 754 "rx-decode.opc"
11279 ID(rotr
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
11287 switch (op
[2] & 0x00)
11290 goto op_semantics_96
;
11296 switch (op
[2] & 0x00)
11301 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
11302 #line 748 "rx-decode.opc"
11303 int i AU
= op
[1] & 0x01;
11304 #line 748 "rx-decode.opc"
11305 int mmmm AU
= (op
[2] >> 4) & 0x0f;
11306 #line 748 "rx-decode.opc"
11307 int rdst AU
= op
[2] & 0x0f;
11310 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11311 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
11312 op
[0], op
[1], op
[2]);
11313 printf (" i = 0x%x,", i
);
11314 printf (" mmmm = 0x%x,", mmmm
);
11315 printf (" rdst = 0x%x\n", rdst
);
11317 SYNTAX("rotl #%1, %0");
11318 #line 748 "rx-decode.opc"
11319 ID(rotl
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
11327 switch (op
[2] & 0x00)
11330 goto op_semantics_97
;
11336 switch (op
[2] & 0xf0)
11341 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
11342 #line 492 "rx-decode.opc"
11343 int im AU
= (op
[1] >> 2) & 0x03;
11344 #line 492 "rx-decode.opc"
11345 int rdst AU
= op
[2] & 0x0f;
11348 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11349 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
11350 op
[0], op
[1], op
[2]);
11351 printf (" im = 0x%x,", im
);
11352 printf (" rdst = 0x%x\n", rdst
);
11354 SYNTAX("adc #%1, %0");
11355 #line 492 "rx-decode.opc"
11356 ID(adc
); SC(IMMex(im
)); DR(rdst
); F_OSZC
;
11363 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
11364 #line 574 "rx-decode.opc"
11365 int im AU
= (op
[1] >> 2) & 0x03;
11366 #line 574 "rx-decode.opc"
11367 int rdst AU
= op
[2] & 0x0f;
11370 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11371 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
11372 op
[0], op
[1], op
[2]);
11373 printf (" im = 0x%x,", im
);
11374 printf (" rdst = 0x%x\n", rdst
);
11376 SYNTAX("max #%1, %0");
11377 #line 574 "rx-decode.opc"
11378 int val
= IMMex (im
);
11379 if (im
== 0 && (unsigned) val
== 0x80000000 && rdst
== 0)
11382 SYNTAX("nop\t; max\t#0x80000000, r0");
11395 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
11396 #line 604 "rx-decode.opc"
11397 int im AU
= (op
[1] >> 2) & 0x03;
11398 #line 604 "rx-decode.opc"
11399 int rdst AU
= op
[2] & 0x0f;
11402 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11403 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
11404 op
[0], op
[1], op
[2]);
11405 printf (" im = 0x%x,", im
);
11406 printf (" rdst = 0x%x\n", rdst
);
11408 SYNTAX("min #%1, %0");
11409 #line 604 "rx-decode.opc"
11410 ID(min
); DR(rdst
); SC(IMMex(im
));
11417 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
11418 #line 662 "rx-decode.opc"
11419 int im AU
= (op
[1] >> 2) & 0x03;
11420 #line 662 "rx-decode.opc"
11421 int rdst AU
= op
[2] & 0x0f;
11424 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11425 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
11426 op
[0], op
[1], op
[2]);
11427 printf (" im = 0x%x,", im
);
11428 printf (" rdst = 0x%x\n", rdst
);
11430 SYNTAX("emul #%1, %0");
11431 #line 662 "rx-decode.opc"
11432 ID(emul
); DR(rdst
); SC(IMMex(im
));
11439 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
11440 #line 674 "rx-decode.opc"
11441 int im AU
= (op
[1] >> 2) & 0x03;
11442 #line 674 "rx-decode.opc"
11443 int rdst AU
= op
[2] & 0x0f;
11446 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11447 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
11448 op
[0], op
[1], op
[2]);
11449 printf (" im = 0x%x,", im
);
11450 printf (" rdst = 0x%x\n", rdst
);
11452 SYNTAX("emulu #%1, %0");
11453 #line 674 "rx-decode.opc"
11454 ID(emulu
); DR(rdst
); SC(IMMex(im
));
11461 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
11462 #line 686 "rx-decode.opc"
11463 int im AU
= (op
[1] >> 2) & 0x03;
11464 #line 686 "rx-decode.opc"
11465 int rdst AU
= op
[2] & 0x0f;
11468 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11469 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
11470 op
[0], op
[1], op
[2]);
11471 printf (" im = 0x%x,", im
);
11472 printf (" rdst = 0x%x\n", rdst
);
11474 SYNTAX("div #%1, %0");
11475 #line 686 "rx-decode.opc"
11476 ID(div
); DR(rdst
); SC(IMMex(im
)); F_O___
;
11483 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
11484 #line 698 "rx-decode.opc"
11485 int im AU
= (op
[1] >> 2) & 0x03;
11486 #line 698 "rx-decode.opc"
11487 int rdst AU
= op
[2] & 0x0f;
11490 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11491 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
11492 op
[0], op
[1], op
[2]);
11493 printf (" im = 0x%x,", im
);
11494 printf (" rdst = 0x%x\n", rdst
);
11496 SYNTAX("divu #%1, %0");
11497 #line 698 "rx-decode.opc"
11498 ID(divu
); DR(rdst
); SC(IMMex(im
)); F_O___
;
11505 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
11506 #line 471 "rx-decode.opc"
11507 int im AU
= (op
[1] >> 2) & 0x03;
11508 #line 471 "rx-decode.opc"
11509 int rdst AU
= op
[2] & 0x0f;
11512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11513 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
11514 op
[0], op
[1], op
[2]);
11515 printf (" im = 0x%x,", im
);
11516 printf (" rdst = 0x%x\n", rdst
);
11518 SYNTAX("tst #%1, %2");
11519 #line 471 "rx-decode.opc"
11520 ID(and); SC(IMMex(im
)); S2R(rdst
); F__SZ_
;
11527 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
11528 #line 450 "rx-decode.opc"
11529 int im AU
= (op
[1] >> 2) & 0x03;
11530 #line 450 "rx-decode.opc"
11531 int rdst AU
= op
[2] & 0x0f;
11534 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11535 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
11536 op
[0], op
[1], op
[2]);
11537 printf (" im = 0x%x,", im
);
11538 printf (" rdst = 0x%x\n", rdst
);
11540 SYNTAX("xor #%1, %0");
11541 #line 450 "rx-decode.opc"
11542 ID(xor); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
11549 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
11550 #line 396 "rx-decode.opc"
11551 int im AU
= (op
[1] >> 2) & 0x03;
11552 #line 396 "rx-decode.opc"
11553 int rdst AU
= op
[2] & 0x0f;
11556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11557 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
11558 op
[0], op
[1], op
[2]);
11559 printf (" im = 0x%x,", im
);
11560 printf (" rdst = 0x%x\n", rdst
);
11562 SYNTAX("stz #%1, %0");
11563 #line 396 "rx-decode.opc"
11564 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_z
);
11571 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
11572 #line 399 "rx-decode.opc"
11573 int im AU
= (op
[1] >> 2) & 0x03;
11574 #line 399 "rx-decode.opc"
11575 int rdst AU
= op
[2] & 0x0f;
11578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11579 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
11580 op
[0], op
[1], op
[2]);
11581 printf (" im = 0x%x,", im
);
11582 printf (" rdst = 0x%x\n", rdst
);
11584 SYNTAX("stnz #%1, %0");
11585 #line 399 "rx-decode.opc"
11586 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_nz
);
11588 /*----------------------------------------------------------------------*/
11593 default: UNSUPPORTED(); break;
11598 switch (op
[2] & 0xf0)
11602 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
11603 #line 906 "rx-decode.opc"
11604 int rdst AU
= op
[2] & 0x0f;
11607 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11608 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
11609 op
[0], op
[1], op
[2]);
11610 printf (" rdst = 0x%x\n", rdst
);
11612 SYNTAX("fsub #%1, %0");
11613 #line 906 "rx-decode.opc"
11614 ID(fsub
); DR(rdst
); SC(IMM(0)); F__SZ_
;
11620 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
11621 #line 900 "rx-decode.opc"
11622 int rdst AU
= op
[2] & 0x0f;
11625 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11626 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
11627 op
[0], op
[1], op
[2]);
11628 printf (" rdst = 0x%x\n", rdst
);
11630 SYNTAX("fcmp #%1, %0");
11631 #line 900 "rx-decode.opc"
11632 ID(fcmp
); DR(rdst
); SC(IMM(0)); F_OSZ_
;
11638 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
11639 #line 894 "rx-decode.opc"
11640 int rdst AU
= op
[2] & 0x0f;
11643 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11644 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
11645 op
[0], op
[1], op
[2]);
11646 printf (" rdst = 0x%x\n", rdst
);
11648 SYNTAX("fadd #%1, %0");
11649 #line 894 "rx-decode.opc"
11650 ID(fadd
); DR(rdst
); SC(IMM(0)); F__SZ_
;
11656 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
11657 #line 915 "rx-decode.opc"
11658 int rdst AU
= op
[2] & 0x0f;
11661 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11662 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
11663 op
[0], op
[1], op
[2]);
11664 printf (" rdst = 0x%x\n", rdst
);
11666 SYNTAX("fmul #%1, %0");
11667 #line 915 "rx-decode.opc"
11668 ID(fmul
); DR(rdst
); SC(IMM(0)); F__SZ_
;
11674 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
11675 #line 921 "rx-decode.opc"
11676 int rdst AU
= op
[2] & 0x0f;
11679 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11680 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
11681 op
[0], op
[1], op
[2]);
11682 printf (" rdst = 0x%x\n", rdst
);
11684 SYNTAX("fdiv #%1, %0");
11685 #line 921 "rx-decode.opc"
11686 ID(fdiv
); DR(rdst
); SC(IMM(0)); F__SZ_
;
11690 default: UNSUPPORTED(); break;
11695 switch (op
[2] & 0xe0)
11700 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
11701 #line 1011 "rx-decode.opc"
11702 int im AU
= (op
[1] >> 2) & 0x03;
11703 #line 1011 "rx-decode.opc"
11704 int crdst AU
= op
[2] & 0x1f;
11707 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11708 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
11709 op
[0], op
[1], op
[2]);
11710 printf (" im = 0x%x,", im
);
11711 printf (" crdst = 0x%x\n", crdst
);
11713 SYNTAX("mvtc #%1, %0");
11714 #line 1011 "rx-decode.opc"
11715 ID(mov
); SC(IMMex(im
)); DR(crdst
+ 16);
11719 default: UNSUPPORTED(); break;
11724 switch (op
[2] & 0xf0)
11727 goto op_semantics_98
;
11730 goto op_semantics_99
;
11733 goto op_semantics_100
;
11736 goto op_semantics_101
;
11739 goto op_semantics_102
;
11742 goto op_semantics_103
;
11745 goto op_semantics_104
;
11748 goto op_semantics_105
;
11751 goto op_semantics_106
;
11754 goto op_semantics_107
;
11757 goto op_semantics_108
;
11759 default: UNSUPPORTED(); break;
11764 switch (op
[2] & 0xe0)
11767 goto op_semantics_109
;
11769 default: UNSUPPORTED(); break;
11774 switch (op
[2] & 0xf0)
11777 goto op_semantics_98
;
11780 goto op_semantics_99
;
11783 goto op_semantics_100
;
11786 goto op_semantics_101
;
11789 goto op_semantics_102
;
11792 goto op_semantics_103
;
11795 goto op_semantics_104
;
11798 goto op_semantics_105
;
11801 goto op_semantics_106
;
11804 goto op_semantics_107
;
11807 goto op_semantics_108
;
11809 default: UNSUPPORTED(); break;
11814 switch (op
[2] & 0xe0)
11817 goto op_semantics_109
;
11819 default: UNSUPPORTED(); break;
11824 switch (op
[2] & 0xf0)
11827 goto op_semantics_98
;
11830 goto op_semantics_99
;
11833 goto op_semantics_100
;
11836 goto op_semantics_101
;
11839 goto op_semantics_102
;
11842 goto op_semantics_103
;
11845 goto op_semantics_104
;
11848 goto op_semantics_105
;
11851 goto op_semantics_106
;
11854 goto op_semantics_107
;
11857 goto op_semantics_108
;
11859 default: UNSUPPORTED(); break;
11864 switch (op
[2] & 0xe0)
11867 goto op_semantics_109
;
11869 default: UNSUPPORTED(); break;
11874 switch (op
[2] & 0x00)
11879 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
11880 #line 736 "rx-decode.opc"
11881 int immmm AU
= op
[1] & 0x1f;
11882 #line 736 "rx-decode.opc"
11883 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11884 #line 736 "rx-decode.opc"
11885 int rdst AU
= op
[2] & 0x0f;
11888 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11889 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
11890 op
[0], op
[1], op
[2]);
11891 printf (" immmm = 0x%x,", immmm
);
11892 printf (" rsrc = 0x%x,", rsrc
);
11893 printf (" rdst = 0x%x\n", rdst
);
11895 SYNTAX("shlr #%2, %1, %0");
11896 #line 736 "rx-decode.opc"
11897 ID(shlr
); S2C(immmm
); SR(rsrc
); DR(rdst
); F__SZC
;
11899 /*----------------------------------------------------------------------*/
11908 switch (op
[2] & 0x00)
11911 goto op_semantics_110
;
11917 switch (op
[2] & 0x00)
11920 goto op_semantics_110
;
11926 switch (op
[2] & 0x00)
11929 goto op_semantics_110
;
11935 switch (op
[2] & 0x00)
11938 goto op_semantics_110
;
11944 switch (op
[2] & 0x00)
11947 goto op_semantics_110
;
11953 switch (op
[2] & 0x00)
11956 goto op_semantics_110
;
11962 switch (op
[2] & 0x00)
11965 goto op_semantics_110
;
11971 switch (op
[2] & 0x00)
11974 goto op_semantics_110
;
11980 switch (op
[2] & 0x00)
11983 goto op_semantics_110
;
11989 switch (op
[2] & 0x00)
11992 goto op_semantics_110
;
11998 switch (op
[2] & 0x00)
12001 goto op_semantics_110
;
12007 switch (op
[2] & 0x00)
12010 goto op_semantics_110
;
12016 switch (op
[2] & 0x00)
12019 goto op_semantics_110
;
12025 switch (op
[2] & 0x00)
12028 goto op_semantics_110
;
12034 switch (op
[2] & 0x00)
12037 goto op_semantics_110
;
12043 switch (op
[2] & 0x00)
12046 goto op_semantics_110
;
12052 switch (op
[2] & 0x00)
12055 goto op_semantics_110
;
12061 switch (op
[2] & 0x00)
12064 goto op_semantics_110
;
12070 switch (op
[2] & 0x00)
12073 goto op_semantics_110
;
12079 switch (op
[2] & 0x00)
12082 goto op_semantics_110
;
12088 switch (op
[2] & 0x00)
12091 goto op_semantics_110
;
12097 switch (op
[2] & 0x00)
12100 goto op_semantics_110
;
12106 switch (op
[2] & 0x00)
12109 goto op_semantics_110
;
12115 switch (op
[2] & 0x00)
12118 goto op_semantics_110
;
12124 switch (op
[2] & 0x00)
12127 goto op_semantics_110
;
12133 switch (op
[2] & 0x00)
12136 goto op_semantics_110
;
12142 switch (op
[2] & 0x00)
12145 goto op_semantics_110
;
12151 switch (op
[2] & 0x00)
12154 goto op_semantics_110
;
12160 switch (op
[2] & 0x00)
12163 goto op_semantics_110
;
12169 switch (op
[2] & 0x00)
12172 goto op_semantics_110
;
12178 switch (op
[2] & 0x00)
12181 goto op_semantics_110
;
12187 switch (op
[2] & 0x00)
12192 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
12193 #line 726 "rx-decode.opc"
12194 int immmm AU
= op
[1] & 0x1f;
12195 #line 726 "rx-decode.opc"
12196 int rsrc AU
= (op
[2] >> 4) & 0x0f;
12197 #line 726 "rx-decode.opc"
12198 int rdst AU
= op
[2] & 0x0f;
12201 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12202 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
12203 op
[0], op
[1], op
[2]);
12204 printf (" immmm = 0x%x,", immmm
);
12205 printf (" rsrc = 0x%x,", rsrc
);
12206 printf (" rdst = 0x%x\n", rdst
);
12208 SYNTAX("shar #%2, %1, %0");
12209 #line 726 "rx-decode.opc"
12210 ID(shar
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_0SZC
;
12219 switch (op
[2] & 0x00)
12222 goto op_semantics_111
;
12228 switch (op
[2] & 0x00)
12231 goto op_semantics_111
;
12237 switch (op
[2] & 0x00)
12240 goto op_semantics_111
;
12246 switch (op
[2] & 0x00)
12249 goto op_semantics_111
;
12255 switch (op
[2] & 0x00)
12258 goto op_semantics_111
;
12264 switch (op
[2] & 0x00)
12267 goto op_semantics_111
;
12273 switch (op
[2] & 0x00)
12276 goto op_semantics_111
;
12282 switch (op
[2] & 0x00)
12285 goto op_semantics_111
;
12291 switch (op
[2] & 0x00)
12294 goto op_semantics_111
;
12300 switch (op
[2] & 0x00)
12303 goto op_semantics_111
;
12309 switch (op
[2] & 0x00)
12312 goto op_semantics_111
;
12318 switch (op
[2] & 0x00)
12321 goto op_semantics_111
;
12327 switch (op
[2] & 0x00)
12330 goto op_semantics_111
;
12336 switch (op
[2] & 0x00)
12339 goto op_semantics_111
;
12345 switch (op
[2] & 0x00)
12348 goto op_semantics_111
;
12354 switch (op
[2] & 0x00)
12357 goto op_semantics_111
;
12363 switch (op
[2] & 0x00)
12366 goto op_semantics_111
;
12372 switch (op
[2] & 0x00)
12375 goto op_semantics_111
;
12381 switch (op
[2] & 0x00)
12384 goto op_semantics_111
;
12390 switch (op
[2] & 0x00)
12393 goto op_semantics_111
;
12399 switch (op
[2] & 0x00)
12402 goto op_semantics_111
;
12408 switch (op
[2] & 0x00)
12411 goto op_semantics_111
;
12417 switch (op
[2] & 0x00)
12420 goto op_semantics_111
;
12426 switch (op
[2] & 0x00)
12429 goto op_semantics_111
;
12435 switch (op
[2] & 0x00)
12438 goto op_semantics_111
;
12444 switch (op
[2] & 0x00)
12447 goto op_semantics_111
;
12453 switch (op
[2] & 0x00)
12456 goto op_semantics_111
;
12462 switch (op
[2] & 0x00)
12465 goto op_semantics_111
;
12471 switch (op
[2] & 0x00)
12474 goto op_semantics_111
;
12480 switch (op
[2] & 0x00)
12483 goto op_semantics_111
;
12489 switch (op
[2] & 0x00)
12492 goto op_semantics_111
;
12498 switch (op
[2] & 0x00)
12503 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
12504 #line 716 "rx-decode.opc"
12505 int immmm AU
= op
[1] & 0x1f;
12506 #line 716 "rx-decode.opc"
12507 int rsrc AU
= (op
[2] >> 4) & 0x0f;
12508 #line 716 "rx-decode.opc"
12509 int rdst AU
= op
[2] & 0x0f;
12512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12513 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
12514 op
[0], op
[1], op
[2]);
12515 printf (" immmm = 0x%x,", immmm
);
12516 printf (" rsrc = 0x%x,", rsrc
);
12517 printf (" rdst = 0x%x\n", rdst
);
12519 SYNTAX("shll #%2, %1, %0");
12520 #line 716 "rx-decode.opc"
12521 ID(shll
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_OSZC
;
12530 switch (op
[2] & 0x00)
12533 goto op_semantics_112
;
12539 switch (op
[2] & 0x00)
12542 goto op_semantics_112
;
12548 switch (op
[2] & 0x00)
12551 goto op_semantics_112
;
12557 switch (op
[2] & 0x00)
12560 goto op_semantics_112
;
12566 switch (op
[2] & 0x00)
12569 goto op_semantics_112
;
12575 switch (op
[2] & 0x00)
12578 goto op_semantics_112
;
12584 switch (op
[2] & 0x00)
12587 goto op_semantics_112
;
12593 switch (op
[2] & 0x00)
12596 goto op_semantics_112
;
12602 switch (op
[2] & 0x00)
12605 goto op_semantics_112
;
12611 switch (op
[2] & 0x00)
12614 goto op_semantics_112
;
12620 switch (op
[2] & 0x00)
12623 goto op_semantics_112
;
12629 switch (op
[2] & 0x00)
12632 goto op_semantics_112
;
12638 switch (op
[2] & 0x00)
12641 goto op_semantics_112
;
12647 switch (op
[2] & 0x00)
12650 goto op_semantics_112
;
12656 switch (op
[2] & 0x00)
12659 goto op_semantics_112
;
12665 switch (op
[2] & 0x00)
12668 goto op_semantics_112
;
12674 switch (op
[2] & 0x00)
12677 goto op_semantics_112
;
12683 switch (op
[2] & 0x00)
12686 goto op_semantics_112
;
12692 switch (op
[2] & 0x00)
12695 goto op_semantics_112
;
12701 switch (op
[2] & 0x00)
12704 goto op_semantics_112
;
12710 switch (op
[2] & 0x00)
12713 goto op_semantics_112
;
12719 switch (op
[2] & 0x00)
12722 goto op_semantics_112
;
12728 switch (op
[2] & 0x00)
12731 goto op_semantics_112
;
12737 switch (op
[2] & 0x00)
12740 goto op_semantics_112
;
12746 switch (op
[2] & 0x00)
12749 goto op_semantics_112
;
12755 switch (op
[2] & 0x00)
12758 goto op_semantics_112
;
12764 switch (op
[2] & 0x00)
12767 goto op_semantics_112
;
12773 switch (op
[2] & 0x00)
12776 goto op_semantics_112
;
12782 switch (op
[2] & 0x00)
12785 goto op_semantics_112
;
12791 switch (op
[2] & 0x00)
12794 goto op_semantics_112
;
12800 switch (op
[2] & 0x00)
12803 goto op_semantics_112
;
12809 switch (op
[2] & 0xf0)
12828 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
12829 #line 990 "rx-decode.opc"
12830 int bittt AU
= op
[1] & 0x1f;
12831 #line 990 "rx-decode.opc"
12832 int cond AU
= (op
[2] >> 4) & 0x0f;
12833 #line 990 "rx-decode.opc"
12834 int rdst AU
= op
[2] & 0x0f;
12837 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12838 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
12839 op
[0], op
[1], op
[2]);
12840 printf (" bittt = 0x%x,", bittt
);
12841 printf (" cond = 0x%x,", cond
);
12842 printf (" rdst = 0x%x\n", rdst
);
12844 SYNTAX("bm%2 #%1, %0%S0");
12845 #line 990 "rx-decode.opc"
12846 ID(bmcc
); BWL(LSIZE
); S2cc(cond
); SC(bittt
); DR(rdst
);
12848 /*----------------------------------------------------------------------*/
12849 /* CONTROL REGISTERS */
12856 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
12857 #line 983 "rx-decode.opc"
12858 int bittt AU
= op
[1] & 0x1f;
12859 #line 983 "rx-decode.opc"
12860 int rdst AU
= op
[2] & 0x0f;
12863 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12864 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
12865 op
[0], op
[1], op
[2]);
12866 printf (" bittt = 0x%x,", bittt
);
12867 printf (" rdst = 0x%x\n", rdst
);
12869 SYNTAX("bnot #%1, %0");
12870 #line 983 "rx-decode.opc"
12871 ID(bnot
); BWL(LSIZE
); SC(bittt
); DR(rdst
);
12880 switch (op
[2] & 0xf0)
12897 goto op_semantics_113
;
12900 goto op_semantics_114
;
12906 switch (op
[2] & 0xf0)
12923 goto op_semantics_113
;
12926 goto op_semantics_114
;
12932 switch (op
[2] & 0xf0)
12949 goto op_semantics_113
;
12952 goto op_semantics_114
;
12958 switch (op
[2] & 0xf0)
12975 goto op_semantics_113
;
12978 goto op_semantics_114
;
12984 switch (op
[2] & 0xf0)
13001 goto op_semantics_113
;
13004 goto op_semantics_114
;
13010 switch (op
[2] & 0xf0)
13027 goto op_semantics_113
;
13030 goto op_semantics_114
;
13036 switch (op
[2] & 0xf0)
13053 goto op_semantics_113
;
13056 goto op_semantics_114
;
13062 switch (op
[2] & 0xf0)
13079 goto op_semantics_113
;
13082 goto op_semantics_114
;
13088 switch (op
[2] & 0xf0)
13105 goto op_semantics_113
;
13108 goto op_semantics_114
;
13114 switch (op
[2] & 0xf0)
13131 goto op_semantics_113
;
13134 goto op_semantics_114
;
13140 switch (op
[2] & 0xf0)
13157 goto op_semantics_113
;
13160 goto op_semantics_114
;
13166 switch (op
[2] & 0xf0)
13183 goto op_semantics_113
;
13186 goto op_semantics_114
;
13192 switch (op
[2] & 0xf0)
13209 goto op_semantics_113
;
13212 goto op_semantics_114
;
13218 switch (op
[2] & 0xf0)
13235 goto op_semantics_113
;
13238 goto op_semantics_114
;
13244 switch (op
[2] & 0xf0)
13261 goto op_semantics_113
;
13264 goto op_semantics_114
;
13270 switch (op
[2] & 0xf0)
13287 goto op_semantics_113
;
13290 goto op_semantics_114
;
13296 switch (op
[2] & 0xf0)
13313 goto op_semantics_113
;
13316 goto op_semantics_114
;
13322 switch (op
[2] & 0xf0)
13339 goto op_semantics_113
;
13342 goto op_semantics_114
;
13348 switch (op
[2] & 0xf0)
13365 goto op_semantics_113
;
13368 goto op_semantics_114
;
13374 switch (op
[2] & 0xf0)
13391 goto op_semantics_113
;
13394 goto op_semantics_114
;
13400 switch (op
[2] & 0xf0)
13417 goto op_semantics_113
;
13420 goto op_semantics_114
;
13426 switch (op
[2] & 0xf0)
13443 goto op_semantics_113
;
13446 goto op_semantics_114
;
13452 switch (op
[2] & 0xf0)
13469 goto op_semantics_113
;
13472 goto op_semantics_114
;
13478 switch (op
[2] & 0xf0)
13495 goto op_semantics_113
;
13498 goto op_semantics_114
;
13504 switch (op
[2] & 0xf0)
13521 goto op_semantics_113
;
13524 goto op_semantics_114
;
13530 switch (op
[2] & 0xf0)
13547 goto op_semantics_113
;
13550 goto op_semantics_114
;
13556 switch (op
[2] & 0xf0)
13573 goto op_semantics_113
;
13576 goto op_semantics_114
;
13582 switch (op
[2] & 0xf0)
13599 goto op_semantics_113
;
13602 goto op_semantics_114
;
13608 switch (op
[2] & 0xf0)
13625 goto op_semantics_113
;
13628 goto op_semantics_114
;
13634 switch (op
[2] & 0xf0)
13651 goto op_semantics_113
;
13654 goto op_semantics_114
;
13660 switch (op
[2] & 0xf0)
13677 goto op_semantics_113
;
13680 goto op_semantics_114
;
13684 default: UNSUPPORTED(); break;
13689 switch (op
[1] & 0xff)
13693 switch (op
[2] & 0x00)
13698 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
13699 #line 342 "rx-decode.opc"
13700 int sz AU
= (op
[1] >> 4) & 0x03;
13701 #line 342 "rx-decode.opc"
13702 int isrc AU
= op
[1] & 0x0f;
13703 #line 342 "rx-decode.opc"
13704 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13705 #line 342 "rx-decode.opc"
13706 int rdst AU
= op
[2] & 0x0f;
13709 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13710 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
13711 op
[0], op
[1], op
[2]);
13712 printf (" sz = 0x%x,", sz
);
13713 printf (" isrc = 0x%x,", isrc
);
13714 printf (" bsrc = 0x%x,", bsrc
);
13715 printf (" rdst = 0x%x\n", rdst
);
13717 SYNTAX("mov%s %0, [%1, %2]");
13718 #line 342 "rx-decode.opc"
13719 ID(movbir
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
13727 switch (op
[2] & 0x00)
13730 goto op_semantics_115
;
13736 switch (op
[2] & 0x00)
13739 goto op_semantics_115
;
13745 switch (op
[2] & 0x00)
13748 goto op_semantics_115
;
13754 switch (op
[2] & 0x00)
13757 goto op_semantics_115
;
13763 switch (op
[2] & 0x00)
13766 goto op_semantics_115
;
13772 switch (op
[2] & 0x00)
13775 goto op_semantics_115
;
13781 switch (op
[2] & 0x00)
13784 goto op_semantics_115
;
13790 switch (op
[2] & 0x00)
13793 goto op_semantics_115
;
13799 switch (op
[2] & 0x00)
13802 goto op_semantics_115
;
13808 switch (op
[2] & 0x00)
13811 goto op_semantics_115
;
13817 switch (op
[2] & 0x00)
13820 goto op_semantics_115
;
13826 switch (op
[2] & 0x00)
13829 goto op_semantics_115
;
13835 switch (op
[2] & 0x00)
13838 goto op_semantics_115
;
13844 switch (op
[2] & 0x00)
13847 goto op_semantics_115
;
13853 switch (op
[2] & 0x00)
13856 goto op_semantics_115
;
13862 switch (op
[2] & 0x00)
13865 goto op_semantics_115
;
13871 switch (op
[2] & 0x00)
13874 goto op_semantics_115
;
13880 switch (op
[2] & 0x00)
13883 goto op_semantics_115
;
13889 switch (op
[2] & 0x00)
13892 goto op_semantics_115
;
13898 switch (op
[2] & 0x00)
13901 goto op_semantics_115
;
13907 switch (op
[2] & 0x00)
13910 goto op_semantics_115
;
13916 switch (op
[2] & 0x00)
13919 goto op_semantics_115
;
13925 switch (op
[2] & 0x00)
13928 goto op_semantics_115
;
13934 switch (op
[2] & 0x00)
13937 goto op_semantics_115
;
13943 switch (op
[2] & 0x00)
13946 goto op_semantics_115
;
13952 switch (op
[2] & 0x00)
13955 goto op_semantics_115
;
13961 switch (op
[2] & 0x00)
13964 goto op_semantics_115
;
13970 switch (op
[2] & 0x00)
13973 goto op_semantics_115
;
13979 switch (op
[2] & 0x00)
13982 goto op_semantics_115
;
13988 switch (op
[2] & 0x00)
13991 goto op_semantics_115
;
13997 switch (op
[2] & 0x00)
14000 goto op_semantics_115
;
14006 switch (op
[2] & 0x00)
14009 goto op_semantics_115
;
14015 switch (op
[2] & 0x00)
14018 goto op_semantics_115
;
14024 switch (op
[2] & 0x00)
14027 goto op_semantics_115
;
14033 switch (op
[2] & 0x00)
14036 goto op_semantics_115
;
14042 switch (op
[2] & 0x00)
14045 goto op_semantics_115
;
14051 switch (op
[2] & 0x00)
14054 goto op_semantics_115
;
14060 switch (op
[2] & 0x00)
14063 goto op_semantics_115
;
14069 switch (op
[2] & 0x00)
14072 goto op_semantics_115
;
14078 switch (op
[2] & 0x00)
14081 goto op_semantics_115
;
14087 switch (op
[2] & 0x00)
14090 goto op_semantics_115
;
14096 switch (op
[2] & 0x00)
14099 goto op_semantics_115
;
14105 switch (op
[2] & 0x00)
14108 goto op_semantics_115
;
14114 switch (op
[2] & 0x00)
14117 goto op_semantics_115
;
14123 switch (op
[2] & 0x00)
14126 goto op_semantics_115
;
14132 switch (op
[2] & 0x00)
14135 goto op_semantics_115
;
14141 switch (op
[2] & 0x00)
14144 goto op_semantics_115
;
14150 switch (op
[2] & 0x00)
14155 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
14156 #line 339 "rx-decode.opc"
14157 int sz AU
= (op
[1] >> 4) & 0x03;
14158 #line 339 "rx-decode.opc"
14159 int isrc AU
= op
[1] & 0x0f;
14160 #line 339 "rx-decode.opc"
14161 int bsrc AU
= (op
[2] >> 4) & 0x0f;
14162 #line 339 "rx-decode.opc"
14163 int rdst AU
= op
[2] & 0x0f;
14166 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14167 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
14168 op
[0], op
[1], op
[2]);
14169 printf (" sz = 0x%x,", sz
);
14170 printf (" isrc = 0x%x,", isrc
);
14171 printf (" bsrc = 0x%x,", bsrc
);
14172 printf (" rdst = 0x%x\n", rdst
);
14174 SYNTAX("mov%s [%1, %2], %0");
14175 #line 339 "rx-decode.opc"
14176 ID(movbi
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
14184 switch (op
[2] & 0x00)
14187 goto op_semantics_116
;
14193 switch (op
[2] & 0x00)
14196 goto op_semantics_116
;
14202 switch (op
[2] & 0x00)
14205 goto op_semantics_116
;
14211 switch (op
[2] & 0x00)
14214 goto op_semantics_116
;
14220 switch (op
[2] & 0x00)
14223 goto op_semantics_116
;
14229 switch (op
[2] & 0x00)
14232 goto op_semantics_116
;
14238 switch (op
[2] & 0x00)
14241 goto op_semantics_116
;
14247 switch (op
[2] & 0x00)
14250 goto op_semantics_116
;
14256 switch (op
[2] & 0x00)
14259 goto op_semantics_116
;
14265 switch (op
[2] & 0x00)
14268 goto op_semantics_116
;
14274 switch (op
[2] & 0x00)
14277 goto op_semantics_116
;
14283 switch (op
[2] & 0x00)
14286 goto op_semantics_116
;
14292 switch (op
[2] & 0x00)
14295 goto op_semantics_116
;
14301 switch (op
[2] & 0x00)
14304 goto op_semantics_116
;
14310 switch (op
[2] & 0x00)
14313 goto op_semantics_116
;
14319 switch (op
[2] & 0x00)
14322 goto op_semantics_116
;
14328 switch (op
[2] & 0x00)
14331 goto op_semantics_116
;
14337 switch (op
[2] & 0x00)
14340 goto op_semantics_116
;
14346 switch (op
[2] & 0x00)
14349 goto op_semantics_116
;
14355 switch (op
[2] & 0x00)
14358 goto op_semantics_116
;
14364 switch (op
[2] & 0x00)
14367 goto op_semantics_116
;
14373 switch (op
[2] & 0x00)
14376 goto op_semantics_116
;
14382 switch (op
[2] & 0x00)
14385 goto op_semantics_116
;
14391 switch (op
[2] & 0x00)
14394 goto op_semantics_116
;
14400 switch (op
[2] & 0x00)
14403 goto op_semantics_116
;
14409 switch (op
[2] & 0x00)
14412 goto op_semantics_116
;
14418 switch (op
[2] & 0x00)
14421 goto op_semantics_116
;
14427 switch (op
[2] & 0x00)
14430 goto op_semantics_116
;
14436 switch (op
[2] & 0x00)
14439 goto op_semantics_116
;
14445 switch (op
[2] & 0x00)
14448 goto op_semantics_116
;
14454 switch (op
[2] & 0x00)
14457 goto op_semantics_116
;
14463 switch (op
[2] & 0x00)
14466 goto op_semantics_116
;
14472 switch (op
[2] & 0x00)
14475 goto op_semantics_116
;
14481 switch (op
[2] & 0x00)
14484 goto op_semantics_116
;
14490 switch (op
[2] & 0x00)
14493 goto op_semantics_116
;
14499 switch (op
[2] & 0x00)
14502 goto op_semantics_116
;
14508 switch (op
[2] & 0x00)
14511 goto op_semantics_116
;
14517 switch (op
[2] & 0x00)
14520 goto op_semantics_116
;
14526 switch (op
[2] & 0x00)
14529 goto op_semantics_116
;
14535 switch (op
[2] & 0x00)
14538 goto op_semantics_116
;
14544 switch (op
[2] & 0x00)
14547 goto op_semantics_116
;
14553 switch (op
[2] & 0x00)
14556 goto op_semantics_116
;
14562 switch (op
[2] & 0x00)
14565 goto op_semantics_116
;
14571 switch (op
[2] & 0x00)
14574 goto op_semantics_116
;
14580 switch (op
[2] & 0x00)
14583 goto op_semantics_116
;
14589 switch (op
[2] & 0x00)
14592 goto op_semantics_116
;
14598 switch (op
[2] & 0x00)
14601 goto op_semantics_116
;
14607 switch (op
[2] & 0x00)
14612 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
14613 #line 345 "rx-decode.opc"
14614 int sz AU
= (op
[1] >> 4) & 0x03;
14615 #line 345 "rx-decode.opc"
14616 int isrc AU
= op
[1] & 0x0f;
14617 #line 345 "rx-decode.opc"
14618 int bsrc AU
= (op
[2] >> 4) & 0x0f;
14619 #line 345 "rx-decode.opc"
14620 int rdst AU
= op
[2] & 0x0f;
14623 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14624 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
14625 op
[0], op
[1], op
[2]);
14626 printf (" sz = 0x%x,", sz
);
14627 printf (" isrc = 0x%x,", isrc
);
14628 printf (" bsrc = 0x%x,", bsrc
);
14629 printf (" rdst = 0x%x\n", rdst
);
14631 SYNTAX("movu%s [%1, %2], %0");
14632 #line 345 "rx-decode.opc"
14633 ID(movbi
); uBW(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
14641 switch (op
[2] & 0x00)
14644 goto op_semantics_117
;
14650 switch (op
[2] & 0x00)
14653 goto op_semantics_117
;
14659 switch (op
[2] & 0x00)
14662 goto op_semantics_117
;
14668 switch (op
[2] & 0x00)
14671 goto op_semantics_117
;
14677 switch (op
[2] & 0x00)
14680 goto op_semantics_117
;
14686 switch (op
[2] & 0x00)
14689 goto op_semantics_117
;
14695 switch (op
[2] & 0x00)
14698 goto op_semantics_117
;
14704 switch (op
[2] & 0x00)
14707 goto op_semantics_117
;
14713 switch (op
[2] & 0x00)
14716 goto op_semantics_117
;
14722 switch (op
[2] & 0x00)
14725 goto op_semantics_117
;
14731 switch (op
[2] & 0x00)
14734 goto op_semantics_117
;
14740 switch (op
[2] & 0x00)
14743 goto op_semantics_117
;
14749 switch (op
[2] & 0x00)
14752 goto op_semantics_117
;
14758 switch (op
[2] & 0x00)
14761 goto op_semantics_117
;
14767 switch (op
[2] & 0x00)
14770 goto op_semantics_117
;
14776 switch (op
[2] & 0x00)
14779 goto op_semantics_117
;
14785 switch (op
[2] & 0x00)
14788 goto op_semantics_117
;
14794 switch (op
[2] & 0x00)
14797 goto op_semantics_117
;
14803 switch (op
[2] & 0x00)
14806 goto op_semantics_117
;
14812 switch (op
[2] & 0x00)
14815 goto op_semantics_117
;
14821 switch (op
[2] & 0x00)
14824 goto op_semantics_117
;
14830 switch (op
[2] & 0x00)
14833 goto op_semantics_117
;
14839 switch (op
[2] & 0x00)
14842 goto op_semantics_117
;
14848 switch (op
[2] & 0x00)
14851 goto op_semantics_117
;
14857 switch (op
[2] & 0x00)
14860 goto op_semantics_117
;
14866 switch (op
[2] & 0x00)
14869 goto op_semantics_117
;
14875 switch (op
[2] & 0x00)
14878 goto op_semantics_117
;
14884 switch (op
[2] & 0x00)
14887 goto op_semantics_117
;
14893 switch (op
[2] & 0x00)
14896 goto op_semantics_117
;
14902 switch (op
[2] & 0x00)
14905 goto op_semantics_117
;
14911 switch (op
[2] & 0x00)
14914 goto op_semantics_117
;
14920 switch (op
[2] & 0x00)
14923 goto op_semantics_117
;
14929 switch (op
[2] & 0x00)
14932 goto op_semantics_117
;
14938 switch (op
[2] & 0x00)
14941 goto op_semantics_117
;
14947 switch (op
[2] & 0x00)
14950 goto op_semantics_117
;
14956 switch (op
[2] & 0x00)
14959 goto op_semantics_117
;
14965 switch (op
[2] & 0x00)
14968 goto op_semantics_117
;
14974 switch (op
[2] & 0x00)
14977 goto op_semantics_117
;
14983 switch (op
[2] & 0x00)
14986 goto op_semantics_117
;
14992 switch (op
[2] & 0x00)
14995 goto op_semantics_117
;
15001 switch (op
[2] & 0x00)
15004 goto op_semantics_117
;
15010 switch (op
[2] & 0x00)
15013 goto op_semantics_117
;
15019 switch (op
[2] & 0x00)
15022 goto op_semantics_117
;
15028 switch (op
[2] & 0x00)
15031 goto op_semantics_117
;
15037 switch (op
[2] & 0x00)
15040 goto op_semantics_117
;
15046 switch (op
[2] & 0x00)
15049 goto op_semantics_117
;
15055 switch (op
[2] & 0x00)
15058 goto op_semantics_117
;
15062 default: UNSUPPORTED(); break;
15067 switch (op
[1] & 0xff)
15071 switch (op
[2] & 0x00)
15076 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
15077 #line 549 "rx-decode.opc"
15078 int rdst AU
= op
[1] & 0x0f;
15079 #line 549 "rx-decode.opc"
15080 int srca AU
= (op
[2] >> 4) & 0x0f;
15081 #line 549 "rx-decode.opc"
15082 int srcb AU
= op
[2] & 0x0f;
15085 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15086 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
15087 op
[0], op
[1], op
[2]);
15088 printf (" rdst = 0x%x,", rdst
);
15089 printf (" srca = 0x%x,", srca
);
15090 printf (" srcb = 0x%x\n", srcb
);
15092 SYNTAX("sub %2, %1, %0");
15093 #line 549 "rx-decode.opc"
15094 ID(sub
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
15096 /*----------------------------------------------------------------------*/
15105 switch (op
[2] & 0x00)
15108 goto op_semantics_118
;
15114 switch (op
[2] & 0x00)
15117 goto op_semantics_118
;
15123 switch (op
[2] & 0x00)
15126 goto op_semantics_118
;
15132 switch (op
[2] & 0x00)
15135 goto op_semantics_118
;
15141 switch (op
[2] & 0x00)
15144 goto op_semantics_118
;
15150 switch (op
[2] & 0x00)
15153 goto op_semantics_118
;
15159 switch (op
[2] & 0x00)
15162 goto op_semantics_118
;
15168 switch (op
[2] & 0x00)
15171 goto op_semantics_118
;
15177 switch (op
[2] & 0x00)
15180 goto op_semantics_118
;
15186 switch (op
[2] & 0x00)
15189 goto op_semantics_118
;
15195 switch (op
[2] & 0x00)
15198 goto op_semantics_118
;
15204 switch (op
[2] & 0x00)
15207 goto op_semantics_118
;
15213 switch (op
[2] & 0x00)
15216 goto op_semantics_118
;
15222 switch (op
[2] & 0x00)
15225 goto op_semantics_118
;
15231 switch (op
[2] & 0x00)
15234 goto op_semantics_118
;
15240 switch (op
[2] & 0x00)
15245 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
15246 #line 516 "rx-decode.opc"
15247 int rdst AU
= op
[1] & 0x0f;
15248 #line 516 "rx-decode.opc"
15249 int srca AU
= (op
[2] >> 4) & 0x0f;
15250 #line 516 "rx-decode.opc"
15251 int srcb AU
= op
[2] & 0x0f;
15254 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15255 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
15256 op
[0], op
[1], op
[2]);
15257 printf (" rdst = 0x%x,", rdst
);
15258 printf (" srca = 0x%x,", srca
);
15259 printf (" srcb = 0x%x\n", srcb
);
15261 SYNTAX("add %2, %1, %0");
15262 #line 516 "rx-decode.opc"
15263 ID(add
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
15265 /*----------------------------------------------------------------------*/
15274 switch (op
[2] & 0x00)
15277 goto op_semantics_119
;
15283 switch (op
[2] & 0x00)
15286 goto op_semantics_119
;
15292 switch (op
[2] & 0x00)
15295 goto op_semantics_119
;
15301 switch (op
[2] & 0x00)
15304 goto op_semantics_119
;
15310 switch (op
[2] & 0x00)
15313 goto op_semantics_119
;
15319 switch (op
[2] & 0x00)
15322 goto op_semantics_119
;
15328 switch (op
[2] & 0x00)
15331 goto op_semantics_119
;
15337 switch (op
[2] & 0x00)
15340 goto op_semantics_119
;
15346 switch (op
[2] & 0x00)
15349 goto op_semantics_119
;
15355 switch (op
[2] & 0x00)
15358 goto op_semantics_119
;
15364 switch (op
[2] & 0x00)
15367 goto op_semantics_119
;
15373 switch (op
[2] & 0x00)
15376 goto op_semantics_119
;
15382 switch (op
[2] & 0x00)
15385 goto op_semantics_119
;
15391 switch (op
[2] & 0x00)
15394 goto op_semantics_119
;
15400 switch (op
[2] & 0x00)
15403 goto op_semantics_119
;
15409 switch (op
[2] & 0x00)
15414 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
15415 #line 656 "rx-decode.opc"
15416 int rdst AU
= op
[1] & 0x0f;
15417 #line 656 "rx-decode.opc"
15418 int srca AU
= (op
[2] >> 4) & 0x0f;
15419 #line 656 "rx-decode.opc"
15420 int srcb AU
= op
[2] & 0x0f;
15423 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15424 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
15425 op
[0], op
[1], op
[2]);
15426 printf (" rdst = 0x%x,", rdst
);
15427 printf (" srca = 0x%x,", srca
);
15428 printf (" srcb = 0x%x\n", srcb
);
15430 SYNTAX("mul %2, %1, %0");
15431 #line 656 "rx-decode.opc"
15432 ID(mul
); DR(rdst
); SR(srcb
); S2R(srca
); F_____
;
15434 /*----------------------------------------------------------------------*/
15443 switch (op
[2] & 0x00)
15446 goto op_semantics_120
;
15452 switch (op
[2] & 0x00)
15455 goto op_semantics_120
;
15461 switch (op
[2] & 0x00)
15464 goto op_semantics_120
;
15470 switch (op
[2] & 0x00)
15473 goto op_semantics_120
;
15479 switch (op
[2] & 0x00)
15482 goto op_semantics_120
;
15488 switch (op
[2] & 0x00)
15491 goto op_semantics_120
;
15497 switch (op
[2] & 0x00)
15500 goto op_semantics_120
;
15506 switch (op
[2] & 0x00)
15509 goto op_semantics_120
;
15515 switch (op
[2] & 0x00)
15518 goto op_semantics_120
;
15524 switch (op
[2] & 0x00)
15527 goto op_semantics_120
;
15533 switch (op
[2] & 0x00)
15536 goto op_semantics_120
;
15542 switch (op
[2] & 0x00)
15545 goto op_semantics_120
;
15551 switch (op
[2] & 0x00)
15554 goto op_semantics_120
;
15560 switch (op
[2] & 0x00)
15563 goto op_semantics_120
;
15569 switch (op
[2] & 0x00)
15572 goto op_semantics_120
;
15578 switch (op
[2] & 0x00)
15583 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
15584 #line 426 "rx-decode.opc"
15585 int rdst AU
= op
[1] & 0x0f;
15586 #line 426 "rx-decode.opc"
15587 int srca AU
= (op
[2] >> 4) & 0x0f;
15588 #line 426 "rx-decode.opc"
15589 int srcb AU
= op
[2] & 0x0f;
15592 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15593 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
15594 op
[0], op
[1], op
[2]);
15595 printf (" rdst = 0x%x,", rdst
);
15596 printf (" srca = 0x%x,", srca
);
15597 printf (" srcb = 0x%x\n", srcb
);
15599 SYNTAX("and %2, %1, %0");
15600 #line 426 "rx-decode.opc"
15601 ID(and); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
15603 /*----------------------------------------------------------------------*/
15612 switch (op
[2] & 0x00)
15615 goto op_semantics_121
;
15621 switch (op
[2] & 0x00)
15624 goto op_semantics_121
;
15630 switch (op
[2] & 0x00)
15633 goto op_semantics_121
;
15639 switch (op
[2] & 0x00)
15642 goto op_semantics_121
;
15648 switch (op
[2] & 0x00)
15651 goto op_semantics_121
;
15657 switch (op
[2] & 0x00)
15660 goto op_semantics_121
;
15666 switch (op
[2] & 0x00)
15669 goto op_semantics_121
;
15675 switch (op
[2] & 0x00)
15678 goto op_semantics_121
;
15684 switch (op
[2] & 0x00)
15687 goto op_semantics_121
;
15693 switch (op
[2] & 0x00)
15696 goto op_semantics_121
;
15702 switch (op
[2] & 0x00)
15705 goto op_semantics_121
;
15711 switch (op
[2] & 0x00)
15714 goto op_semantics_121
;
15720 switch (op
[2] & 0x00)
15723 goto op_semantics_121
;
15729 switch (op
[2] & 0x00)
15732 goto op_semantics_121
;
15738 switch (op
[2] & 0x00)
15741 goto op_semantics_121
;
15747 switch (op
[2] & 0x00)
15752 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
15753 #line 444 "rx-decode.opc"
15754 int rdst AU
= op
[1] & 0x0f;
15755 #line 444 "rx-decode.opc"
15756 int srca AU
= (op
[2] >> 4) & 0x0f;
15757 #line 444 "rx-decode.opc"
15758 int srcb AU
= op
[2] & 0x0f;
15761 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15762 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
15763 op
[0], op
[1], op
[2]);
15764 printf (" rdst = 0x%x,", rdst
);
15765 printf (" srca = 0x%x,", srca
);
15766 printf (" srcb = 0x%x\n", srcb
);
15768 SYNTAX("or %2, %1, %0");
15769 #line 444 "rx-decode.opc"
15770 ID(or); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
15772 /*----------------------------------------------------------------------*/
15781 switch (op
[2] & 0x00)
15784 goto op_semantics_122
;
15790 switch (op
[2] & 0x00)
15793 goto op_semantics_122
;
15799 switch (op
[2] & 0x00)
15802 goto op_semantics_122
;
15808 switch (op
[2] & 0x00)
15811 goto op_semantics_122
;
15817 switch (op
[2] & 0x00)
15820 goto op_semantics_122
;
15826 switch (op
[2] & 0x00)
15829 goto op_semantics_122
;
15835 switch (op
[2] & 0x00)
15838 goto op_semantics_122
;
15844 switch (op
[2] & 0x00)
15847 goto op_semantics_122
;
15853 switch (op
[2] & 0x00)
15856 goto op_semantics_122
;
15862 switch (op
[2] & 0x00)
15865 goto op_semantics_122
;
15871 switch (op
[2] & 0x00)
15874 goto op_semantics_122
;
15880 switch (op
[2] & 0x00)
15883 goto op_semantics_122
;
15889 switch (op
[2] & 0x00)
15892 goto op_semantics_122
;
15898 switch (op
[2] & 0x00)
15901 goto op_semantics_122
;
15907 switch (op
[2] & 0x00)
15910 goto op_semantics_122
;
15916 switch (op
[2] & 0x00)
15921 /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
15922 #line 1104 "rx-decode.opc"
15923 int rdst AU
= op
[1] & 0x0f;
15924 #line 1104 "rx-decode.opc"
15925 int srca AU
= (op
[2] >> 4) & 0x0f;
15926 #line 1104 "rx-decode.opc"
15927 int srcb AU
= op
[2] & 0x0f;
15930 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15931 "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
15932 op
[0], op
[1], op
[2]);
15933 printf (" rdst = 0x%x,", rdst
);
15934 printf (" srca = 0x%x,", srca
);
15935 printf (" srcb = 0x%x\n", srcb
);
15937 SYNTAX("fsub %2, %1, %0");
15938 #line 1104 "rx-decode.opc"
15939 ID(fsub
); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
15947 switch (op
[2] & 0x00)
15950 goto op_semantics_123
;
15956 switch (op
[2] & 0x00)
15959 goto op_semantics_123
;
15965 switch (op
[2] & 0x00)
15968 goto op_semantics_123
;
15974 switch (op
[2] & 0x00)
15977 goto op_semantics_123
;
15983 switch (op
[2] & 0x00)
15986 goto op_semantics_123
;
15992 switch (op
[2] & 0x00)
15995 goto op_semantics_123
;
16001 switch (op
[2] & 0x00)
16004 goto op_semantics_123
;
16010 switch (op
[2] & 0x00)
16013 goto op_semantics_123
;
16019 switch (op
[2] & 0x00)
16022 goto op_semantics_123
;
16028 switch (op
[2] & 0x00)
16031 goto op_semantics_123
;
16037 switch (op
[2] & 0x00)
16040 goto op_semantics_123
;
16046 switch (op
[2] & 0x00)
16049 goto op_semantics_123
;
16055 switch (op
[2] & 0x00)
16058 goto op_semantics_123
;
16064 switch (op
[2] & 0x00)
16067 goto op_semantics_123
;
16073 switch (op
[2] & 0x00)
16076 goto op_semantics_123
;
16082 switch (op
[2] & 0x00)
16087 /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
16088 #line 1101 "rx-decode.opc"
16089 int rdst AU
= op
[1] & 0x0f;
16090 #line 1101 "rx-decode.opc"
16091 int srca AU
= (op
[2] >> 4) & 0x0f;
16092 #line 1101 "rx-decode.opc"
16093 int srcb AU
= op
[2] & 0x0f;
16096 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16097 "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
16098 op
[0], op
[1], op
[2]);
16099 printf (" rdst = 0x%x,", rdst
);
16100 printf (" srca = 0x%x,", srca
);
16101 printf (" srcb = 0x%x\n", srcb
);
16103 SYNTAX("fadd %2, %1, %0");
16104 #line 1101 "rx-decode.opc"
16105 ID(fadd
); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
16113 switch (op
[2] & 0x00)
16116 goto op_semantics_124
;
16122 switch (op
[2] & 0x00)
16125 goto op_semantics_124
;
16131 switch (op
[2] & 0x00)
16134 goto op_semantics_124
;
16140 switch (op
[2] & 0x00)
16143 goto op_semantics_124
;
16149 switch (op
[2] & 0x00)
16152 goto op_semantics_124
;
16158 switch (op
[2] & 0x00)
16161 goto op_semantics_124
;
16167 switch (op
[2] & 0x00)
16170 goto op_semantics_124
;
16176 switch (op
[2] & 0x00)
16179 goto op_semantics_124
;
16185 switch (op
[2] & 0x00)
16188 goto op_semantics_124
;
16194 switch (op
[2] & 0x00)
16197 goto op_semantics_124
;
16203 switch (op
[2] & 0x00)
16206 goto op_semantics_124
;
16212 switch (op
[2] & 0x00)
16215 goto op_semantics_124
;
16221 switch (op
[2] & 0x00)
16224 goto op_semantics_124
;
16230 switch (op
[2] & 0x00)
16233 goto op_semantics_124
;
16239 switch (op
[2] & 0x00)
16242 goto op_semantics_124
;
16248 switch (op
[2] & 0x00)
16253 /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
16254 #line 1107 "rx-decode.opc"
16255 int rdst AU
= op
[1] & 0x0f;
16256 #line 1107 "rx-decode.opc"
16257 int srca AU
= (op
[2] >> 4) & 0x0f;
16258 #line 1107 "rx-decode.opc"
16259 int srcb AU
= op
[2] & 0x0f;
16262 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16263 "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
16264 op
[0], op
[1], op
[2]);
16265 printf (" rdst = 0x%x,", rdst
);
16266 printf (" srca = 0x%x,", srca
);
16267 printf (" srcb = 0x%x\n", srcb
);
16269 SYNTAX("fmul %2, %1, %0");
16270 #line 1107 "rx-decode.opc"
16271 ID(fmul
); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
16279 switch (op
[2] & 0x00)
16282 goto op_semantics_125
;
16288 switch (op
[2] & 0x00)
16291 goto op_semantics_125
;
16297 switch (op
[2] & 0x00)
16300 goto op_semantics_125
;
16306 switch (op
[2] & 0x00)
16309 goto op_semantics_125
;
16315 switch (op
[2] & 0x00)
16318 goto op_semantics_125
;
16324 switch (op
[2] & 0x00)
16327 goto op_semantics_125
;
16333 switch (op
[2] & 0x00)
16336 goto op_semantics_125
;
16342 switch (op
[2] & 0x00)
16345 goto op_semantics_125
;
16351 switch (op
[2] & 0x00)
16354 goto op_semantics_125
;
16360 switch (op
[2] & 0x00)
16363 goto op_semantics_125
;
16369 switch (op
[2] & 0x00)
16372 goto op_semantics_125
;
16378 switch (op
[2] & 0x00)
16381 goto op_semantics_125
;
16387 switch (op
[2] & 0x00)
16390 goto op_semantics_125
;
16396 switch (op
[2] & 0x00)
16399 goto op_semantics_125
;
16405 switch (op
[2] & 0x00)
16408 goto op_semantics_125
;
16412 default: UNSUPPORTED(); break;
16415 default: UNSUPPORTED(); break;
16417 #line 1122 "rx-decode.opc"
16419 return rx
->n_bytes
;
This page took 0.44751 seconds and 4 git commands to generate.