1 #line 1 "rx-decode.opc"
3 /* Copyright 2012 Free Software Foundation, Inc.
4 Contributed by Red Hat.
7 This file is part of the GNU opcodes library.
9 This library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 MA 02110-1301, USA. */
29 #include "opcode/rx.h"
31 #define RX_OPCODE_BIG_ENDIAN 0
35 RX_Opcode_Decoded
* rx
;
36 int (* getbyte
)(void *);
47 /* These are for when the upper bits are "don't care" or "undefined". */
77 #define ID(x) rx->id = RXO_##x
78 #define OP(n,t,r,a) (rx->op[n].type = t, \
80 rx->op[n].addend = a )
81 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
84 /* This is for the BWL and BW bitfields. */
85 static int SCALE
[] = { 1, 2, 4 };
86 /* This is for the prefix size enum. */
87 static int PSCALE
[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
89 static int flagmap
[] = {0, 1, 2, 3, 0, 0, 0, 0,
90 16, 17, 0, 0, 0, 0, 0, 0 };
92 static int dsp3map
[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
95 *C a constant (immediate) c
97 *I Register indirect, no offset
98 *Is Register indirect, with offset
99 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
100 *P standard displacement: type (r,[r]), reg, assumes UByte
101 *Pm memex displacement: type (r,[r]), reg, memex code
102 *cc condition code. */
104 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
105 #define DR(r) OP (0, RX_Operand_Register, r, 0)
106 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
107 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
108 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
109 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
111 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
112 #define SR(r) OP (1, RX_Operand_Register, r, 0)
113 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
114 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
115 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
116 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
117 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
118 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
119 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
121 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
122 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
123 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
124 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
125 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
126 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
127 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
128 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
130 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
131 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
132 #define uBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubwl[sz]
133 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
135 #define F(f) store_flags(rx, f)
137 #define AU ATTRIBUTE_UNUSED
138 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
140 #define SYNTAX(x) rx->syntax = x
142 #define UNSUPPORTED() \
143 rx->syntax = "*unknown*"
145 #define IMM(sf) immediate (sf, 0, ld)
146 #define IMMex(sf) immediate (sf, 1, ld)
149 immediate (int sfield
, int ex
, LocalData
* ld
)
151 unsigned long i
= 0, j
;
155 #define B ((unsigned long) GETBYTE())
157 #if RX_OPCODE_BIG_ENDIAN
159 if (ex
&& (i
& 0x80))
170 if (ex
&& (j
& 0x80))
176 #if RX_OPCODE_BIG_ENDIAN
185 if (ex
&& (i
& 0x800000))
189 #if RX_OPCODE_BIG_ENDIAN
196 if (ex
&& (i
& 0x8000))
201 if (ex
&& (i
& 0x80))
211 rx_disp (int n
, int type
, int reg
, int size
, LocalData
* ld
)
215 ld
->rx
->op
[n
].reg
= reg
;
219 ld
->rx
->op
[n
].type
= RX_Operand_Register
;
222 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
223 ld
->rx
->op
[n
].addend
= 0;
226 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
228 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
231 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
233 #if RX_OPCODE_BIG_ENDIAN
234 disp
= disp
* 256 + GETBYTE ();
236 disp
= disp
+ GETBYTE () * 256;
238 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
251 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
252 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
253 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
254 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
255 #define F_O___ rx->flags_0 = rx->flags_s = xO;
256 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
257 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
258 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
261 rx_decode_opcode (unsigned long pc AU
,
262 RX_Opcode_Decoded
* rx
,
263 int (* getbyte
)(void *),
266 LocalData lds
, * ld
= &lds
;
267 unsigned char op
[20] = {0};
270 lds
.getbyte
= getbyte
;
274 memset (rx
, 0, sizeof (*rx
));
278 /*----------------------------------------------------------------------*/
282 switch (op
[0] & 0xff)
289 printf ("\033[33m%s\033[0m %02x\n",
290 "/** 0000 0000 brk */",
294 #line 976 "rx-decode.opc"
304 printf ("\033[33m%s\033[0m %02x\n",
305 "/** 0000 0001 dbt */",
309 #line 979 "rx-decode.opc"
319 printf ("\033[33m%s\033[0m %02x\n",
320 "/** 0000 0010 rts */",
324 #line 765 "rx-decode.opc"
327 /*----------------------------------------------------------------------*/
337 printf ("\033[33m%s\033[0m %02x\n",
338 "/** 0000 0011 nop */",
342 #line 771 "rx-decode.opc"
345 /*----------------------------------------------------------------------*/
346 /* STRING FUNCTIONS */
352 /** 0000 0100 bra.a %a0 */
355 printf ("\033[33m%s\033[0m %02x\n",
356 "/** 0000 0100 bra.a %a0 */",
360 #line 743 "rx-decode.opc"
361 ID(branch
); DC(pc
+ IMMex(3));
367 /** 0000 0101 bsr.a %a0 */
370 printf ("\033[33m%s\033[0m %02x\n",
371 "/** 0000 0101 bsr.a %a0 */",
375 #line 759 "rx-decode.opc"
376 ID(jsr
); DC(pc
+ IMMex(3));
382 switch (op
[1] & 0xff)
386 switch (op
[2] & 0x00)
391 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
392 #line 539 "rx-decode.opc"
393 int mx AU
= (op
[1] >> 6) & 0x03;
394 #line 539 "rx-decode.opc"
395 int ss AU
= op
[1] & 0x03;
396 #line 539 "rx-decode.opc"
397 int rsrc AU
= (op
[2] >> 4) & 0x0f;
398 #line 539 "rx-decode.opc"
399 int rdst AU
= op
[2] & 0x0f;
402 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
403 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
404 op
[0], op
[1], op
[2]);
405 printf (" mx = 0x%x,", mx
);
406 printf (" ss = 0x%x,", ss
);
407 printf (" rsrc = 0x%x,", rsrc
);
408 printf (" rdst = 0x%x\n", rdst
);
410 SYNTAX("sub %2%S2, %1");
411 #line 539 "rx-decode.opc"
412 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); DR(rdst
); F_OSZC
;
420 switch (op
[2] & 0x00)
429 switch (op
[2] & 0x00)
438 switch (op
[2] & 0x00)
447 switch (op
[2] & 0x00)
452 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
453 #line 527 "rx-decode.opc"
454 int mx AU
= (op
[1] >> 6) & 0x03;
455 #line 527 "rx-decode.opc"
456 int ss AU
= op
[1] & 0x03;
457 #line 527 "rx-decode.opc"
458 int rsrc AU
= (op
[2] >> 4) & 0x0f;
459 #line 527 "rx-decode.opc"
460 int rdst AU
= op
[2] & 0x0f;
463 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
464 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
465 op
[0], op
[1], op
[2]);
466 printf (" mx = 0x%x,", mx
);
467 printf (" ss = 0x%x,", ss
);
468 printf (" rsrc = 0x%x,", rsrc
);
469 printf (" rdst = 0x%x\n", rdst
);
471 SYNTAX("cmp %2%S2, %1");
472 #line 527 "rx-decode.opc"
473 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); F_OSZC
;
475 /*----------------------------------------------------------------------*/
484 switch (op
[2] & 0x00)
493 switch (op
[2] & 0x00)
502 switch (op
[2] & 0x00)
511 switch (op
[2] & 0x00)
516 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
517 #line 503 "rx-decode.opc"
518 int mx AU
= (op
[1] >> 6) & 0x03;
519 #line 503 "rx-decode.opc"
520 int ss AU
= op
[1] & 0x03;
521 #line 503 "rx-decode.opc"
522 int rsrc AU
= (op
[2] >> 4) & 0x0f;
523 #line 503 "rx-decode.opc"
524 int rdst AU
= op
[2] & 0x0f;
527 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
528 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
529 op
[0], op
[1], op
[2]);
530 printf (" mx = 0x%x,", mx
);
531 printf (" ss = 0x%x,", ss
);
532 printf (" rsrc = 0x%x,", rsrc
);
533 printf (" rdst = 0x%x\n", rdst
);
535 SYNTAX("add %1%S1, %0");
536 #line 503 "rx-decode.opc"
537 ID(add
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_OSZC
;
545 switch (op
[2] & 0x00)
554 switch (op
[2] & 0x00)
563 switch (op
[2] & 0x00)
572 switch (op
[2] & 0x00)
577 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
578 #line 608 "rx-decode.opc"
579 int mx AU
= (op
[1] >> 6) & 0x03;
580 #line 608 "rx-decode.opc"
581 int ss AU
= op
[1] & 0x03;
582 #line 608 "rx-decode.opc"
583 int rsrc AU
= (op
[2] >> 4) & 0x0f;
584 #line 608 "rx-decode.opc"
585 int rdst AU
= op
[2] & 0x0f;
588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
589 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
590 op
[0], op
[1], op
[2]);
591 printf (" mx = 0x%x,", mx
);
592 printf (" ss = 0x%x,", ss
);
593 printf (" rsrc = 0x%x,", rsrc
);
594 printf (" rdst = 0x%x\n", rdst
);
596 SYNTAX("mul %1%S1, %0");
597 #line 608 "rx-decode.opc"
598 ID(mul
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_____
;
606 switch (op
[2] & 0x00)
615 switch (op
[2] & 0x00)
624 switch (op
[2] & 0x00)
633 switch (op
[2] & 0x00)
638 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
639 #line 416 "rx-decode.opc"
640 int mx AU
= (op
[1] >> 6) & 0x03;
641 #line 416 "rx-decode.opc"
642 int ss AU
= op
[1] & 0x03;
643 #line 416 "rx-decode.opc"
644 int rsrc AU
= (op
[2] >> 4) & 0x0f;
645 #line 416 "rx-decode.opc"
646 int rdst AU
= op
[2] & 0x0f;
649 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
650 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
651 op
[0], op
[1], op
[2]);
652 printf (" mx = 0x%x,", mx
);
653 printf (" ss = 0x%x,", ss
);
654 printf (" rsrc = 0x%x,", rsrc
);
655 printf (" rdst = 0x%x\n", rdst
);
657 SYNTAX("and %1%S1, %0");
658 #line 416 "rx-decode.opc"
659 ID(and); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
667 switch (op
[2] & 0x00)
676 switch (op
[2] & 0x00)
685 switch (op
[2] & 0x00)
694 switch (op
[2] & 0x00)
699 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
700 #line 434 "rx-decode.opc"
701 int mx AU
= (op
[1] >> 6) & 0x03;
702 #line 434 "rx-decode.opc"
703 int ss AU
= op
[1] & 0x03;
704 #line 434 "rx-decode.opc"
705 int rsrc AU
= (op
[2] >> 4) & 0x0f;
706 #line 434 "rx-decode.opc"
707 int rdst AU
= op
[2] & 0x0f;
710 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
711 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
712 op
[0], op
[1], op
[2]);
713 printf (" mx = 0x%x,", mx
);
714 printf (" ss = 0x%x,", ss
);
715 printf (" rsrc = 0x%x,", rsrc
);
716 printf (" rdst = 0x%x\n", rdst
);
718 SYNTAX("or %1%S1, %0");
719 #line 434 "rx-decode.opc"
720 ID(or); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
728 switch (op
[2] & 0x00)
737 switch (op
[2] & 0x00)
746 switch (op
[2] & 0x00)
755 switch (op
[2] & 0xff)
759 switch (op
[3] & 0x00)
764 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
765 #line 552 "rx-decode.opc"
766 int mx AU
= (op
[1] >> 6) & 0x03;
767 #line 552 "rx-decode.opc"
768 int sp AU
= op
[1] & 0x03;
769 #line 552 "rx-decode.opc"
770 int rsrc AU
= (op
[3] >> 4) & 0x0f;
771 #line 552 "rx-decode.opc"
772 int rdst AU
= op
[3] & 0x0f;
775 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
776 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
777 op
[0], op
[1], op
[2], op
[3]);
778 printf (" mx = 0x%x,", mx
);
779 printf (" sp = 0x%x,", sp
);
780 printf (" rsrc = 0x%x,", rsrc
);
781 printf (" rdst = 0x%x\n", rdst
);
783 SYNTAX("sbb %1%S1, %0");
784 #line 552 "rx-decode.opc"
785 ID(sbb
); SPm(sp
, rsrc
, mx
); DR(rdst
); F_OSZC
;
787 /*----------------------------------------------------------------------*/
796 switch (op
[3] & 0x00)
801 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
802 #line 581 "rx-decode.opc"
803 int mx AU
= (op
[1] >> 6) & 0x03;
804 #line 581 "rx-decode.opc"
805 int ss AU
= op
[1] & 0x03;
806 #line 581 "rx-decode.opc"
807 int rsrc AU
= (op
[3] >> 4) & 0x0f;
808 #line 581 "rx-decode.opc"
809 int rdst AU
= op
[3] & 0x0f;
812 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
813 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
814 op
[0], op
[1], op
[2], op
[3]);
815 printf (" mx = 0x%x,", mx
);
816 printf (" ss = 0x%x,", ss
);
817 printf (" rsrc = 0x%x,", rsrc
);
818 printf (" rdst = 0x%x\n", rdst
);
820 SYNTAX("max %1%S1, %0");
821 #line 581 "rx-decode.opc"
822 ID(max
); SPm(ss
, rsrc
, mx
); DR(rdst
);
824 /*----------------------------------------------------------------------*/
833 switch (op
[3] & 0x00)
838 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
839 #line 593 "rx-decode.opc"
840 int mx AU
= (op
[1] >> 6) & 0x03;
841 #line 593 "rx-decode.opc"
842 int ss AU
= op
[1] & 0x03;
843 #line 593 "rx-decode.opc"
844 int rsrc AU
= (op
[3] >> 4) & 0x0f;
845 #line 593 "rx-decode.opc"
846 int rdst AU
= op
[3] & 0x0f;
849 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
850 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
851 op
[0], op
[1], op
[2], op
[3]);
852 printf (" mx = 0x%x,", mx
);
853 printf (" ss = 0x%x,", ss
);
854 printf (" rsrc = 0x%x,", rsrc
);
855 printf (" rdst = 0x%x\n", rdst
);
857 SYNTAX("min %1%S1, %0");
858 #line 593 "rx-decode.opc"
859 ID(min
); SPm(ss
, rsrc
, mx
); DR(rdst
);
861 /*----------------------------------------------------------------------*/
870 switch (op
[3] & 0x00)
875 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
876 #line 623 "rx-decode.opc"
877 int mx AU
= (op
[1] >> 6) & 0x03;
878 #line 623 "rx-decode.opc"
879 int ss AU
= op
[1] & 0x03;
880 #line 623 "rx-decode.opc"
881 int rsrc AU
= (op
[3] >> 4) & 0x0f;
882 #line 623 "rx-decode.opc"
883 int rdst AU
= op
[3] & 0x0f;
886 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
887 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
888 op
[0], op
[1], op
[2], op
[3]);
889 printf (" mx = 0x%x,", mx
);
890 printf (" ss = 0x%x,", ss
);
891 printf (" rsrc = 0x%x,", rsrc
);
892 printf (" rdst = 0x%x\n", rdst
);
894 SYNTAX("emul %1%S1, %0");
895 #line 623 "rx-decode.opc"
896 ID(emul
); SPm(ss
, rsrc
, mx
); DR(rdst
);
898 /*----------------------------------------------------------------------*/
907 switch (op
[3] & 0x00)
912 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
913 #line 635 "rx-decode.opc"
914 int mx AU
= (op
[1] >> 6) & 0x03;
915 #line 635 "rx-decode.opc"
916 int ss AU
= op
[1] & 0x03;
917 #line 635 "rx-decode.opc"
918 int rsrc AU
= (op
[3] >> 4) & 0x0f;
919 #line 635 "rx-decode.opc"
920 int rdst AU
= op
[3] & 0x0f;
923 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
924 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
925 op
[0], op
[1], op
[2], op
[3]);
926 printf (" mx = 0x%x,", mx
);
927 printf (" ss = 0x%x,", ss
);
928 printf (" rsrc = 0x%x,", rsrc
);
929 printf (" rdst = 0x%x\n", rdst
);
931 SYNTAX("emulu %1%S1, %0");
932 #line 635 "rx-decode.opc"
933 ID(emulu
); SPm(ss
, rsrc
, mx
); DR(rdst
);
935 /*----------------------------------------------------------------------*/
944 switch (op
[3] & 0x00)
949 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
950 #line 647 "rx-decode.opc"
951 int mx AU
= (op
[1] >> 6) & 0x03;
952 #line 647 "rx-decode.opc"
953 int ss AU
= op
[1] & 0x03;
954 #line 647 "rx-decode.opc"
955 int rsrc AU
= (op
[3] >> 4) & 0x0f;
956 #line 647 "rx-decode.opc"
957 int rdst AU
= op
[3] & 0x0f;
960 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
961 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
962 op
[0], op
[1], op
[2], op
[3]);
963 printf (" mx = 0x%x,", mx
);
964 printf (" ss = 0x%x,", ss
);
965 printf (" rsrc = 0x%x,", rsrc
);
966 printf (" rdst = 0x%x\n", rdst
);
968 SYNTAX("div %1%S1, %0");
969 #line 647 "rx-decode.opc"
970 ID(div
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
972 /*----------------------------------------------------------------------*/
981 switch (op
[3] & 0x00)
986 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
987 #line 659 "rx-decode.opc"
988 int mx AU
= (op
[1] >> 6) & 0x03;
989 #line 659 "rx-decode.opc"
990 int ss AU
= op
[1] & 0x03;
991 #line 659 "rx-decode.opc"
992 int rsrc AU
= (op
[3] >> 4) & 0x0f;
993 #line 659 "rx-decode.opc"
994 int rdst AU
= op
[3] & 0x0f;
997 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
998 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
999 op
[0], op
[1], op
[2], op
[3]);
1000 printf (" mx = 0x%x,", mx
);
1001 printf (" ss = 0x%x,", ss
);
1002 printf (" rsrc = 0x%x,", rsrc
);
1003 printf (" rdst = 0x%x\n", rdst
);
1005 SYNTAX("divu %1%S1, %0");
1006 #line 659 "rx-decode.opc"
1007 ID(divu
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
1009 /*----------------------------------------------------------------------*/
1018 switch (op
[3] & 0x00)
1023 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1024 #line 470 "rx-decode.opc"
1025 int mx AU
= (op
[1] >> 6) & 0x03;
1026 #line 470 "rx-decode.opc"
1027 int ss AU
= op
[1] & 0x03;
1028 #line 470 "rx-decode.opc"
1029 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1030 #line 470 "rx-decode.opc"
1031 int rdst AU
= op
[3] & 0x0f;
1034 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1035 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1036 op
[0], op
[1], op
[2], op
[3]);
1037 printf (" mx = 0x%x,", mx
);
1038 printf (" ss = 0x%x,", ss
);
1039 printf (" rsrc = 0x%x,", rsrc
);
1040 printf (" rdst = 0x%x\n", rdst
);
1042 SYNTAX("tst %1%S1, %2");
1043 #line 470 "rx-decode.opc"
1044 ID(and); SPm(ss
, rsrc
, mx
); S2R(rdst
); F__SZ_
;
1046 /*----------------------------------------------------------------------*/
1055 switch (op
[3] & 0x00)
1060 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1061 #line 449 "rx-decode.opc"
1062 int mx AU
= (op
[1] >> 6) & 0x03;
1063 #line 449 "rx-decode.opc"
1064 int ss AU
= op
[1] & 0x03;
1065 #line 449 "rx-decode.opc"
1066 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1067 #line 449 "rx-decode.opc"
1068 int rdst AU
= op
[3] & 0x0f;
1071 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1072 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1073 op
[0], op
[1], op
[2], op
[3]);
1074 printf (" mx = 0x%x,", mx
);
1075 printf (" ss = 0x%x,", ss
);
1076 printf (" rsrc = 0x%x,", rsrc
);
1077 printf (" rdst = 0x%x\n", rdst
);
1079 SYNTAX("xor %1%S1, %0");
1080 #line 449 "rx-decode.opc"
1081 ID(xor); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
1083 /*----------------------------------------------------------------------*/
1092 switch (op
[3] & 0x00)
1097 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1098 #line 383 "rx-decode.opc"
1099 int mx AU
= (op
[1] >> 6) & 0x03;
1100 #line 383 "rx-decode.opc"
1101 int ss AU
= op
[1] & 0x03;
1102 #line 383 "rx-decode.opc"
1103 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1104 #line 383 "rx-decode.opc"
1105 int rdst AU
= op
[3] & 0x0f;
1108 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1109 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1110 op
[0], op
[1], op
[2], op
[3]);
1111 printf (" mx = 0x%x,", mx
);
1112 printf (" ss = 0x%x,", ss
);
1113 printf (" rsrc = 0x%x,", rsrc
);
1114 printf (" rdst = 0x%x\n", rdst
);
1116 SYNTAX("xchg %1%S1, %0");
1117 #line 383 "rx-decode.opc"
1118 ID(xchg
); DR(rdst
); SPm(ss
, rsrc
, mx
);
1120 /*----------------------------------------------------------------------*/
1129 switch (op
[3] & 0x00)
1134 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1135 #line 888 "rx-decode.opc"
1136 int mx AU
= (op
[1] >> 6) & 0x03;
1137 #line 888 "rx-decode.opc"
1138 int sd AU
= op
[1] & 0x03;
1139 #line 888 "rx-decode.opc"
1140 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1141 #line 888 "rx-decode.opc"
1142 int rdst AU
= op
[3] & 0x0f;
1145 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1146 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1147 op
[0], op
[1], op
[2], op
[3]);
1148 printf (" mx = 0x%x,", mx
);
1149 printf (" sd = 0x%x,", sd
);
1150 printf (" rsrc = 0x%x,", rsrc
);
1151 printf (" rdst = 0x%x\n", rdst
);
1153 SYNTAX("itof %1%S1, %0");
1154 #line 888 "rx-decode.opc"
1155 ID(itof
); DR (rdst
); SPm(sd
, rsrc
, mx
); F__SZ_
;
1157 /*----------------------------------------------------------------------*/
1164 default: UNSUPPORTED(); break;
1169 switch (op
[2] & 0xff)
1173 switch (op
[3] & 0x00)
1176 goto op_semantics_7
;
1182 switch (op
[3] & 0x00)
1185 goto op_semantics_8
;
1191 switch (op
[3] & 0x00)
1194 goto op_semantics_9
;
1200 switch (op
[3] & 0x00)
1203 goto op_semantics_10
;
1209 switch (op
[3] & 0x00)
1212 goto op_semantics_11
;
1218 switch (op
[3] & 0x00)
1221 goto op_semantics_12
;
1227 switch (op
[3] & 0x00)
1230 goto op_semantics_13
;
1236 switch (op
[3] & 0x00)
1239 goto op_semantics_14
;
1245 switch (op
[3] & 0x00)
1248 goto op_semantics_15
;
1254 switch (op
[3] & 0x00)
1257 goto op_semantics_16
;
1263 switch (op
[3] & 0x00)
1266 goto op_semantics_17
;
1270 default: UNSUPPORTED(); break;
1275 switch (op
[2] & 0xff)
1279 switch (op
[3] & 0x00)
1282 goto op_semantics_7
;
1288 switch (op
[3] & 0x00)
1291 goto op_semantics_8
;
1297 switch (op
[3] & 0x00)
1300 goto op_semantics_9
;
1306 switch (op
[3] & 0x00)
1309 goto op_semantics_10
;
1315 switch (op
[3] & 0x00)
1318 goto op_semantics_11
;
1324 switch (op
[3] & 0x00)
1327 goto op_semantics_12
;
1333 switch (op
[3] & 0x00)
1336 goto op_semantics_13
;
1342 switch (op
[3] & 0x00)
1345 goto op_semantics_14
;
1351 switch (op
[3] & 0x00)
1354 goto op_semantics_15
;
1360 switch (op
[3] & 0x00)
1363 goto op_semantics_16
;
1369 switch (op
[3] & 0x00)
1372 goto op_semantics_17
;
1376 default: UNSUPPORTED(); break;
1381 switch (op
[2] & 0xff)
1385 switch (op
[3] & 0x00)
1388 goto op_semantics_7
;
1394 switch (op
[3] & 0x00)
1397 goto op_semantics_8
;
1403 switch (op
[3] & 0x00)
1406 goto op_semantics_9
;
1412 switch (op
[3] & 0x00)
1415 goto op_semantics_10
;
1421 switch (op
[3] & 0x00)
1424 goto op_semantics_11
;
1430 switch (op
[3] & 0x00)
1433 goto op_semantics_12
;
1439 switch (op
[3] & 0x00)
1442 goto op_semantics_13
;
1448 switch (op
[3] & 0x00)
1451 goto op_semantics_14
;
1457 switch (op
[3] & 0x00)
1460 goto op_semantics_15
;
1466 switch (op
[3] & 0x00)
1469 goto op_semantics_16
;
1475 switch (op
[3] & 0x00)
1478 goto op_semantics_17
;
1482 default: UNSUPPORTED(); break;
1487 switch (op
[2] & 0x00)
1490 goto op_semantics_1
;
1496 switch (op
[2] & 0x00)
1499 goto op_semantics_1
;
1505 switch (op
[2] & 0x00)
1508 goto op_semantics_1
;
1514 switch (op
[2] & 0x00)
1517 goto op_semantics_1
;
1523 switch (op
[2] & 0x00)
1526 goto op_semantics_2
;
1532 switch (op
[2] & 0x00)
1535 goto op_semantics_2
;
1541 switch (op
[2] & 0x00)
1544 goto op_semantics_2
;
1550 switch (op
[2] & 0x00)
1553 goto op_semantics_2
;
1559 switch (op
[2] & 0x00)
1562 goto op_semantics_3
;
1568 switch (op
[2] & 0x00)
1571 goto op_semantics_3
;
1577 switch (op
[2] & 0x00)
1580 goto op_semantics_3
;
1586 switch (op
[2] & 0x00)
1589 goto op_semantics_3
;
1595 switch (op
[2] & 0x00)
1598 goto op_semantics_4
;
1604 switch (op
[2] & 0x00)
1607 goto op_semantics_4
;
1613 switch (op
[2] & 0x00)
1616 goto op_semantics_4
;
1622 switch (op
[2] & 0x00)
1625 goto op_semantics_4
;
1631 switch (op
[2] & 0x00)
1634 goto op_semantics_5
;
1640 switch (op
[2] & 0x00)
1643 goto op_semantics_5
;
1649 switch (op
[2] & 0x00)
1652 goto op_semantics_5
;
1658 switch (op
[2] & 0x00)
1661 goto op_semantics_5
;
1667 switch (op
[2] & 0x00)
1670 goto op_semantics_6
;
1676 switch (op
[2] & 0x00)
1679 goto op_semantics_6
;
1685 switch (op
[2] & 0x00)
1688 goto op_semantics_6
;
1694 switch (op
[2] & 0x00)
1697 goto op_semantics_6
;
1703 switch (op
[2] & 0xff)
1707 switch (op
[3] & 0x00)
1710 goto op_semantics_7
;
1716 switch (op
[3] & 0x00)
1719 goto op_semantics_8
;
1725 switch (op
[3] & 0x00)
1728 goto op_semantics_9
;
1734 switch (op
[3] & 0x00)
1737 goto op_semantics_10
;
1743 switch (op
[3] & 0x00)
1746 goto op_semantics_11
;
1752 switch (op
[3] & 0x00)
1755 goto op_semantics_12
;
1761 switch (op
[3] & 0x00)
1764 goto op_semantics_13
;
1770 switch (op
[3] & 0x00)
1773 goto op_semantics_14
;
1779 switch (op
[3] & 0x00)
1782 goto op_semantics_15
;
1788 switch (op
[3] & 0x00)
1791 goto op_semantics_16
;
1797 switch (op
[3] & 0x00)
1800 goto op_semantics_17
;
1804 default: UNSUPPORTED(); break;
1809 switch (op
[2] & 0xff)
1813 switch (op
[3] & 0x00)
1816 goto op_semantics_7
;
1822 switch (op
[3] & 0x00)
1825 goto op_semantics_8
;
1831 switch (op
[3] & 0x00)
1834 goto op_semantics_9
;
1840 switch (op
[3] & 0x00)
1843 goto op_semantics_10
;
1849 switch (op
[3] & 0x00)
1852 goto op_semantics_11
;
1858 switch (op
[3] & 0x00)
1861 goto op_semantics_12
;
1867 switch (op
[3] & 0x00)
1870 goto op_semantics_13
;
1876 switch (op
[3] & 0x00)
1879 goto op_semantics_14
;
1885 switch (op
[3] & 0x00)
1888 goto op_semantics_15
;
1894 switch (op
[3] & 0x00)
1897 goto op_semantics_16
;
1903 switch (op
[3] & 0x00)
1906 goto op_semantics_17
;
1910 default: UNSUPPORTED(); break;
1915 switch (op
[2] & 0xff)
1919 switch (op
[3] & 0x00)
1922 goto op_semantics_7
;
1928 switch (op
[3] & 0x00)
1931 goto op_semantics_8
;
1937 switch (op
[3] & 0x00)
1940 goto op_semantics_9
;
1946 switch (op
[3] & 0x00)
1949 goto op_semantics_10
;
1955 switch (op
[3] & 0x00)
1958 goto op_semantics_11
;
1964 switch (op
[3] & 0x00)
1967 goto op_semantics_12
;
1973 switch (op
[3] & 0x00)
1976 goto op_semantics_13
;
1982 switch (op
[3] & 0x00)
1985 goto op_semantics_14
;
1991 switch (op
[3] & 0x00)
1994 goto op_semantics_15
;
2000 switch (op
[3] & 0x00)
2003 goto op_semantics_16
;
2009 switch (op
[3] & 0x00)
2012 goto op_semantics_17
;
2016 default: UNSUPPORTED(); break;
2021 switch (op
[2] & 0xff)
2025 switch (op
[3] & 0x00)
2028 goto op_semantics_7
;
2034 switch (op
[3] & 0x00)
2037 goto op_semantics_8
;
2043 switch (op
[3] & 0x00)
2046 goto op_semantics_9
;
2052 switch (op
[3] & 0x00)
2055 goto op_semantics_10
;
2061 switch (op
[3] & 0x00)
2064 goto op_semantics_11
;
2070 switch (op
[3] & 0x00)
2073 goto op_semantics_12
;
2079 switch (op
[3] & 0x00)
2082 goto op_semantics_13
;
2088 switch (op
[3] & 0x00)
2091 goto op_semantics_14
;
2097 switch (op
[3] & 0x00)
2100 goto op_semantics_15
;
2106 switch (op
[3] & 0x00)
2109 goto op_semantics_16
;
2115 switch (op
[3] & 0x00)
2118 goto op_semantics_17
;
2122 default: UNSUPPORTED(); break;
2127 switch (op
[2] & 0x00)
2130 goto op_semantics_1
;
2136 switch (op
[2] & 0x00)
2139 goto op_semantics_1
;
2145 switch (op
[2] & 0x00)
2148 goto op_semantics_1
;
2154 switch (op
[2] & 0x00)
2157 goto op_semantics_1
;
2163 switch (op
[2] & 0x00)
2166 goto op_semantics_2
;
2172 switch (op
[2] & 0x00)
2175 goto op_semantics_2
;
2181 switch (op
[2] & 0x00)
2184 goto op_semantics_2
;
2190 switch (op
[2] & 0x00)
2193 goto op_semantics_2
;
2199 switch (op
[2] & 0x00)
2202 goto op_semantics_3
;
2208 switch (op
[2] & 0x00)
2211 goto op_semantics_3
;
2217 switch (op
[2] & 0x00)
2220 goto op_semantics_3
;
2226 switch (op
[2] & 0x00)
2229 goto op_semantics_3
;
2235 switch (op
[2] & 0x00)
2238 goto op_semantics_4
;
2244 switch (op
[2] & 0x00)
2247 goto op_semantics_4
;
2253 switch (op
[2] & 0x00)
2256 goto op_semantics_4
;
2262 switch (op
[2] & 0x00)
2265 goto op_semantics_4
;
2271 switch (op
[2] & 0x00)
2274 goto op_semantics_5
;
2280 switch (op
[2] & 0x00)
2283 goto op_semantics_5
;
2289 switch (op
[2] & 0x00)
2292 goto op_semantics_5
;
2298 switch (op
[2] & 0x00)
2301 goto op_semantics_5
;
2307 switch (op
[2] & 0x00)
2310 goto op_semantics_6
;
2316 switch (op
[2] & 0x00)
2319 goto op_semantics_6
;
2325 switch (op
[2] & 0x00)
2328 goto op_semantics_6
;
2334 switch (op
[2] & 0x00)
2337 goto op_semantics_6
;
2343 switch (op
[2] & 0xff)
2347 switch (op
[3] & 0x00)
2350 goto op_semantics_7
;
2356 switch (op
[3] & 0x00)
2361 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2362 #line 491 "rx-decode.opc"
2363 int ss AU
= op
[1] & 0x03;
2364 #line 491 "rx-decode.opc"
2365 int rsrc AU
= (op
[3] >> 4) & 0x0f;
2366 #line 491 "rx-decode.opc"
2367 int rdst AU
= op
[3] & 0x0f;
2370 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2371 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2372 op
[0], op
[1], op
[2], op
[3]);
2373 printf (" ss = 0x%x,", ss
);
2374 printf (" rsrc = 0x%x,", rsrc
);
2375 printf (" rdst = 0x%x\n", rdst
);
2377 SYNTAX("adc %1%S1, %0");
2378 #line 491 "rx-decode.opc"
2379 ID(adc
); SPm(ss
, rsrc
, 2); DR(rdst
); F_OSZC
;
2381 /*----------------------------------------------------------------------*/
2390 switch (op
[3] & 0x00)
2393 goto op_semantics_8
;
2399 switch (op
[3] & 0x00)
2402 goto op_semantics_9
;
2408 switch (op
[3] & 0x00)
2411 goto op_semantics_10
;
2417 switch (op
[3] & 0x00)
2420 goto op_semantics_11
;
2426 switch (op
[3] & 0x00)
2429 goto op_semantics_12
;
2435 switch (op
[3] & 0x00)
2438 goto op_semantics_13
;
2444 switch (op
[3] & 0x00)
2447 goto op_semantics_14
;
2453 switch (op
[3] & 0x00)
2456 goto op_semantics_15
;
2462 switch (op
[3] & 0x00)
2465 goto op_semantics_16
;
2471 switch (op
[3] & 0x00)
2474 goto op_semantics_17
;
2478 default: UNSUPPORTED(); break;
2483 switch (op
[2] & 0xff)
2487 switch (op
[3] & 0x00)
2490 goto op_semantics_7
;
2496 switch (op
[3] & 0x00)
2499 goto op_semantics_18
;
2505 switch (op
[3] & 0x00)
2508 goto op_semantics_8
;
2514 switch (op
[3] & 0x00)
2517 goto op_semantics_9
;
2523 switch (op
[3] & 0x00)
2526 goto op_semantics_10
;
2532 switch (op
[3] & 0x00)
2535 goto op_semantics_11
;
2541 switch (op
[3] & 0x00)
2544 goto op_semantics_12
;
2550 switch (op
[3] & 0x00)
2553 goto op_semantics_13
;
2559 switch (op
[3] & 0x00)
2562 goto op_semantics_14
;
2568 switch (op
[3] & 0x00)
2571 goto op_semantics_15
;
2577 switch (op
[3] & 0x00)
2580 goto op_semantics_16
;
2586 switch (op
[3] & 0x00)
2589 goto op_semantics_17
;
2593 default: UNSUPPORTED(); break;
2598 switch (op
[2] & 0xff)
2602 switch (op
[3] & 0x00)
2605 goto op_semantics_7
;
2611 switch (op
[3] & 0x00)
2614 goto op_semantics_18
;
2620 switch (op
[3] & 0x00)
2623 goto op_semantics_8
;
2629 switch (op
[3] & 0x00)
2632 goto op_semantics_9
;
2638 switch (op
[3] & 0x00)
2641 goto op_semantics_10
;
2647 switch (op
[3] & 0x00)
2650 goto op_semantics_11
;
2656 switch (op
[3] & 0x00)
2659 goto op_semantics_12
;
2665 switch (op
[3] & 0x00)
2668 goto op_semantics_13
;
2674 switch (op
[3] & 0x00)
2677 goto op_semantics_14
;
2683 switch (op
[3] & 0x00)
2686 goto op_semantics_15
;
2692 switch (op
[3] & 0x00)
2695 goto op_semantics_16
;
2701 switch (op
[3] & 0x00)
2704 goto op_semantics_17
;
2708 default: UNSUPPORTED(); break;
2713 switch (op
[2] & 0xff)
2717 switch (op
[3] & 0x00)
2720 goto op_semantics_7
;
2726 switch (op
[3] & 0x00)
2729 goto op_semantics_18
;
2735 switch (op
[3] & 0x00)
2738 goto op_semantics_8
;
2744 switch (op
[3] & 0x00)
2747 goto op_semantics_9
;
2753 switch (op
[3] & 0x00)
2756 goto op_semantics_10
;
2762 switch (op
[3] & 0x00)
2765 goto op_semantics_11
;
2771 switch (op
[3] & 0x00)
2774 goto op_semantics_12
;
2780 switch (op
[3] & 0x00)
2783 goto op_semantics_13
;
2789 switch (op
[3] & 0x00)
2792 goto op_semantics_14
;
2798 switch (op
[3] & 0x00)
2801 goto op_semantics_15
;
2807 switch (op
[3] & 0x00)
2810 goto op_semantics_16
;
2816 switch (op
[3] & 0x00)
2819 goto op_semantics_17
;
2823 default: UNSUPPORTED(); break;
2828 switch (op
[2] & 0x00)
2831 goto op_semantics_1
;
2837 switch (op
[2] & 0x00)
2840 goto op_semantics_1
;
2846 switch (op
[2] & 0x00)
2849 goto op_semantics_1
;
2855 switch (op
[2] & 0x00)
2858 goto op_semantics_1
;
2864 switch (op
[2] & 0x00)
2867 goto op_semantics_2
;
2873 switch (op
[2] & 0x00)
2876 goto op_semantics_2
;
2882 switch (op
[2] & 0x00)
2885 goto op_semantics_2
;
2891 switch (op
[2] & 0x00)
2894 goto op_semantics_2
;
2900 switch (op
[2] & 0x00)
2903 goto op_semantics_3
;
2909 switch (op
[2] & 0x00)
2912 goto op_semantics_3
;
2918 switch (op
[2] & 0x00)
2921 goto op_semantics_3
;
2927 switch (op
[2] & 0x00)
2930 goto op_semantics_3
;
2936 switch (op
[2] & 0x00)
2939 goto op_semantics_4
;
2945 switch (op
[2] & 0x00)
2948 goto op_semantics_4
;
2954 switch (op
[2] & 0x00)
2957 goto op_semantics_4
;
2963 switch (op
[2] & 0x00)
2966 goto op_semantics_4
;
2972 switch (op
[2] & 0x00)
2975 goto op_semantics_5
;
2981 switch (op
[2] & 0x00)
2984 goto op_semantics_5
;
2990 switch (op
[2] & 0x00)
2993 goto op_semantics_5
;
2999 switch (op
[2] & 0x00)
3002 goto op_semantics_5
;
3008 switch (op
[2] & 0x00)
3011 goto op_semantics_6
;
3017 switch (op
[2] & 0x00)
3020 goto op_semantics_6
;
3026 switch (op
[2] & 0x00)
3029 goto op_semantics_6
;
3035 switch (op
[2] & 0x00)
3038 goto op_semantics_6
;
3044 switch (op
[2] & 0xff)
3048 switch (op
[3] & 0x00)
3051 goto op_semantics_7
;
3057 switch (op
[3] & 0x00)
3060 goto op_semantics_8
;
3066 switch (op
[3] & 0x00)
3069 goto op_semantics_9
;
3075 switch (op
[3] & 0x00)
3078 goto op_semantics_10
;
3084 switch (op
[3] & 0x00)
3087 goto op_semantics_11
;
3093 switch (op
[3] & 0x00)
3096 goto op_semantics_12
;
3102 switch (op
[3] & 0x00)
3105 goto op_semantics_13
;
3111 switch (op
[3] & 0x00)
3114 goto op_semantics_14
;
3120 switch (op
[3] & 0x00)
3123 goto op_semantics_15
;
3129 switch (op
[3] & 0x00)
3132 goto op_semantics_16
;
3138 switch (op
[3] & 0x00)
3141 goto op_semantics_17
;
3145 default: UNSUPPORTED(); break;
3150 switch (op
[2] & 0xff)
3154 switch (op
[3] & 0x00)
3157 goto op_semantics_7
;
3163 switch (op
[3] & 0x00)
3166 goto op_semantics_8
;
3172 switch (op
[3] & 0x00)
3175 goto op_semantics_9
;
3181 switch (op
[3] & 0x00)
3184 goto op_semantics_10
;
3190 switch (op
[3] & 0x00)
3193 goto op_semantics_11
;
3199 switch (op
[3] & 0x00)
3202 goto op_semantics_12
;
3208 switch (op
[3] & 0x00)
3211 goto op_semantics_13
;
3217 switch (op
[3] & 0x00)
3220 goto op_semantics_14
;
3226 switch (op
[3] & 0x00)
3229 goto op_semantics_15
;
3235 switch (op
[3] & 0x00)
3238 goto op_semantics_16
;
3244 switch (op
[3] & 0x00)
3247 goto op_semantics_17
;
3251 default: UNSUPPORTED(); break;
3256 switch (op
[2] & 0xff)
3260 switch (op
[3] & 0x00)
3263 goto op_semantics_7
;
3269 switch (op
[3] & 0x00)
3272 goto op_semantics_8
;
3278 switch (op
[3] & 0x00)
3281 goto op_semantics_9
;
3287 switch (op
[3] & 0x00)
3290 goto op_semantics_10
;
3296 switch (op
[3] & 0x00)
3299 goto op_semantics_11
;
3305 switch (op
[3] & 0x00)
3308 goto op_semantics_12
;
3314 switch (op
[3] & 0x00)
3317 goto op_semantics_13
;
3323 switch (op
[3] & 0x00)
3326 goto op_semantics_14
;
3332 switch (op
[3] & 0x00)
3335 goto op_semantics_15
;
3341 switch (op
[3] & 0x00)
3344 goto op_semantics_16
;
3350 switch (op
[3] & 0x00)
3353 goto op_semantics_17
;
3357 default: UNSUPPORTED(); break;
3362 switch (op
[2] & 0xff)
3366 switch (op
[3] & 0x00)
3369 goto op_semantics_7
;
3375 switch (op
[3] & 0x00)
3378 goto op_semantics_8
;
3384 switch (op
[3] & 0x00)
3387 goto op_semantics_9
;
3393 switch (op
[3] & 0x00)
3396 goto op_semantics_10
;
3402 switch (op
[3] & 0x00)
3405 goto op_semantics_11
;
3411 switch (op
[3] & 0x00)
3414 goto op_semantics_12
;
3420 switch (op
[3] & 0x00)
3423 goto op_semantics_13
;
3429 switch (op
[3] & 0x00)
3432 goto op_semantics_14
;
3438 switch (op
[3] & 0x00)
3441 goto op_semantics_15
;
3447 switch (op
[3] & 0x00)
3450 goto op_semantics_16
;
3456 switch (op
[3] & 0x00)
3459 goto op_semantics_17
;
3463 default: UNSUPPORTED(); break;
3466 default: UNSUPPORTED(); break;
3478 /** 0000 1dsp bra.s %a0 */
3479 #line 734 "rx-decode.opc"
3480 int dsp AU
= op
[0] & 0x07;
3483 printf ("\033[33m%s\033[0m %02x\n",
3484 "/** 0000 1dsp bra.s %a0 */",
3486 printf (" dsp = 0x%x\n", dsp
);
3488 SYNTAX("bra.s %a0");
3489 #line 734 "rx-decode.opc"
3490 ID(branch
); DC(pc
+ dsp3map
[dsp
]);
3511 /** 0001 n dsp b%1.s %a0 */
3512 #line 724 "rx-decode.opc"
3513 int n AU
= (op
[0] >> 3) & 0x01;
3514 #line 724 "rx-decode.opc"
3515 int dsp AU
= op
[0] & 0x07;
3518 printf ("\033[33m%s\033[0m %02x\n",
3519 "/** 0001 n dsp b%1.s %a0 */",
3521 printf (" n = 0x%x,", n
);
3522 printf (" dsp = 0x%x\n", dsp
);
3524 SYNTAX("b%1.s %a0");
3525 #line 724 "rx-decode.opc"
3526 ID(branch
); Scc(n
); DC(pc
+ dsp3map
[dsp
]);
3546 /** 0010 cond b%1.b %a0 */
3547 #line 727 "rx-decode.opc"
3548 int cond AU
= op
[0] & 0x0f;
3551 printf ("\033[33m%s\033[0m %02x\n",
3552 "/** 0010 cond b%1.b %a0 */",
3554 printf (" cond = 0x%x\n", cond
);
3556 SYNTAX("b%1.b %a0");
3557 #line 727 "rx-decode.opc"
3558 ID(branch
); Scc(cond
); DC(pc
+ IMMex (1));
3564 /** 0010 1110 bra.b %a0 */
3567 printf ("\033[33m%s\033[0m %02x\n",
3568 "/** 0010 1110 bra.b %a0 */",
3571 SYNTAX("bra.b %a0");
3572 #line 737 "rx-decode.opc"
3573 ID(branch
); DC(pc
+ IMMex(1));
3579 /** 0011 1000 bra.w %a0 */
3582 printf ("\033[33m%s\033[0m %02x\n",
3583 "/** 0011 1000 bra.w %a0 */",
3586 SYNTAX("bra.w %a0");
3587 #line 740 "rx-decode.opc"
3588 ID(branch
); DC(pc
+ IMMex(2));
3594 /** 0011 1001 bsr.w %a0 */
3597 printf ("\033[33m%s\033[0m %02x\n",
3598 "/** 0011 1001 bsr.w %a0 */",
3601 SYNTAX("bsr.w %a0");
3602 #line 756 "rx-decode.opc"
3603 ID(jsr
); DC(pc
+ IMMex(2));
3610 /** 0011 101c b%1.w %a0 */
3611 #line 730 "rx-decode.opc"
3612 int c AU
= op
[0] & 0x01;
3615 printf ("\033[33m%s\033[0m %02x\n",
3616 "/** 0011 101c b%1.w %a0 */",
3618 printf (" c = 0x%x\n", c
);
3620 SYNTAX("b%1.w %a0");
3621 #line 730 "rx-decode.opc"
3622 ID(branch
); Scc(c
); DC(pc
+ IMMex (2));
3629 switch (op
[1] & 0x00)
3634 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3635 #line 304 "rx-decode.opc"
3636 int sz AU
= op
[0] & 0x03;
3637 #line 304 "rx-decode.opc"
3638 int d AU
= (op
[1] >> 7) & 0x01;
3639 #line 304 "rx-decode.opc"
3640 int dst AU
= (op
[1] >> 4) & 0x07;
3641 #line 304 "rx-decode.opc"
3642 int sppp AU
= op
[1] & 0x0f;
3645 printf ("\033[33m%s\033[0m %02x %02x\n",
3646 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3648 printf (" sz = 0x%x,", sz
);
3649 printf (" d = 0x%x,", d
);
3650 printf (" dst = 0x%x,", dst
);
3651 printf (" sppp = 0x%x\n", sppp
);
3653 SYNTAX("mov%s #%1, %0");
3654 #line 304 "rx-decode.opc"
3655 ID(mov
); sBWL (sz
); DIs(dst
, d
*16+sppp
, sz
); SC(IMM(1)); F_____
;
3663 switch (op
[1] & 0x00)
3666 goto op_semantics_19
;
3672 switch (op
[1] & 0x00)
3675 goto op_semantics_19
;
3681 switch (op
[1] & 0x00)
3685 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3686 #line 401 "rx-decode.opc"
3687 int rega AU
= (op
[1] >> 4) & 0x0f;
3688 #line 401 "rx-decode.opc"
3689 int regb AU
= op
[1] & 0x0f;
3692 printf ("\033[33m%s\033[0m %02x %02x\n",
3693 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3695 printf (" rega = 0x%x,", rega
);
3696 printf (" regb = 0x%x\n", regb
);
3698 SYNTAX("rtsd #%1, %2-%0");
3699 #line 401 "rx-decode.opc"
3700 ID(rtsd
); SC(IMM(1) * 4); S2R(rega
); DR(regb
);
3702 /*----------------------------------------------------------------------*/
3711 switch (op
[1] & 0x00)
3716 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3717 #line 536 "rx-decode.opc"
3718 int ss AU
= op
[0] & 0x03;
3719 #line 536 "rx-decode.opc"
3720 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3721 #line 536 "rx-decode.opc"
3722 int rdst AU
= op
[1] & 0x0f;
3725 printf ("\033[33m%s\033[0m %02x %02x\n",
3726 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3728 printf (" ss = 0x%x,", ss
);
3729 printf (" rsrc = 0x%x,", rsrc
);
3730 printf (" rdst = 0x%x\n", rdst
);
3732 SYNTAX("sub %2%S2, %1");
3733 #line 536 "rx-decode.opc"
3734 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
3742 switch (op
[1] & 0x00)
3745 goto op_semantics_20
;
3751 switch (op
[1] & 0x00)
3754 goto op_semantics_20
;
3760 switch (op
[1] & 0x00)
3763 goto op_semantics_20
;
3769 switch (op
[1] & 0x00)
3774 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3775 #line 524 "rx-decode.opc"
3776 int ss AU
= op
[0] & 0x03;
3777 #line 524 "rx-decode.opc"
3778 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3779 #line 524 "rx-decode.opc"
3780 int rdst AU
= op
[1] & 0x0f;
3783 printf ("\033[33m%s\033[0m %02x %02x\n",
3784 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3786 printf (" ss = 0x%x,", ss
);
3787 printf (" rsrc = 0x%x,", rsrc
);
3788 printf (" rdst = 0x%x\n", rdst
);
3790 SYNTAX("cmp %2%S2, %1");
3791 #line 524 "rx-decode.opc"
3792 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); F_OSZC
;
3800 switch (op
[1] & 0x00)
3803 goto op_semantics_21
;
3809 switch (op
[1] & 0x00)
3812 goto op_semantics_21
;
3818 switch (op
[1] & 0x00)
3821 goto op_semantics_21
;
3827 switch (op
[1] & 0x00)
3832 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3833 #line 500 "rx-decode.opc"
3834 int ss AU
= op
[0] & 0x03;
3835 #line 500 "rx-decode.opc"
3836 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3837 #line 500 "rx-decode.opc"
3838 int rdst AU
= op
[1] & 0x0f;
3841 printf ("\033[33m%s\033[0m %02x %02x\n",
3842 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3844 printf (" ss = 0x%x,", ss
);
3845 printf (" rsrc = 0x%x,", rsrc
);
3846 printf (" rdst = 0x%x\n", rdst
);
3848 SYNTAX("add %1%S1, %0");
3849 #line 500 "rx-decode.opc"
3850 ID(add
); SP(ss
, rsrc
); DR(rdst
); F_OSZC
;
3858 switch (op
[1] & 0x00)
3861 goto op_semantics_22
;
3867 switch (op
[1] & 0x00)
3870 goto op_semantics_22
;
3876 switch (op
[1] & 0x00)
3879 goto op_semantics_22
;
3885 switch (op
[1] & 0x00)
3890 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3891 #line 605 "rx-decode.opc"
3892 int ss AU
= op
[0] & 0x03;
3893 #line 605 "rx-decode.opc"
3894 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3895 #line 605 "rx-decode.opc"
3896 int rdst AU
= op
[1] & 0x0f;
3899 printf ("\033[33m%s\033[0m %02x %02x\n",
3900 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3902 printf (" ss = 0x%x,", ss
);
3903 printf (" rsrc = 0x%x,", rsrc
);
3904 printf (" rdst = 0x%x\n", rdst
);
3906 SYNTAX("mul %1%S1, %0");
3907 #line 605 "rx-decode.opc"
3908 ID(mul
); SP(ss
, rsrc
); DR(rdst
); F_____
;
3916 switch (op
[1] & 0x00)
3919 goto op_semantics_23
;
3925 switch (op
[1] & 0x00)
3928 goto op_semantics_23
;
3934 switch (op
[1] & 0x00)
3937 goto op_semantics_23
;
3943 switch (op
[1] & 0x00)
3948 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3949 #line 413 "rx-decode.opc"
3950 int ss AU
= op
[0] & 0x03;
3951 #line 413 "rx-decode.opc"
3952 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3953 #line 413 "rx-decode.opc"
3954 int rdst AU
= op
[1] & 0x0f;
3957 printf ("\033[33m%s\033[0m %02x %02x\n",
3958 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3960 printf (" ss = 0x%x,", ss
);
3961 printf (" rsrc = 0x%x,", rsrc
);
3962 printf (" rdst = 0x%x\n", rdst
);
3964 SYNTAX("and %1%S1, %0");
3965 #line 413 "rx-decode.opc"
3966 ID(and); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
3974 switch (op
[1] & 0x00)
3977 goto op_semantics_24
;
3983 switch (op
[1] & 0x00)
3986 goto op_semantics_24
;
3992 switch (op
[1] & 0x00)
3995 goto op_semantics_24
;
4001 switch (op
[1] & 0x00)
4006 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4007 #line 431 "rx-decode.opc"
4008 int ss AU
= op
[0] & 0x03;
4009 #line 431 "rx-decode.opc"
4010 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4011 #line 431 "rx-decode.opc"
4012 int rdst AU
= op
[1] & 0x0f;
4015 printf ("\033[33m%s\033[0m %02x %02x\n",
4016 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4018 printf (" ss = 0x%x,", ss
);
4019 printf (" rsrc = 0x%x,", rsrc
);
4020 printf (" rdst = 0x%x\n", rdst
);
4022 SYNTAX("or %1%S1, %0");
4023 #line 431 "rx-decode.opc"
4024 ID(or); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
4032 switch (op
[1] & 0x00)
4035 goto op_semantics_25
;
4041 switch (op
[1] & 0x00)
4044 goto op_semantics_25
;
4050 switch (op
[1] & 0x00)
4053 goto op_semantics_25
;
4059 switch (op
[1] & 0x00)
4064 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4065 #line 352 "rx-decode.opc"
4066 int s AU
= (op
[0] >> 2) & 0x01;
4067 #line 352 "rx-decode.opc"
4068 int ss AU
= op
[0] & 0x03;
4069 #line 352 "rx-decode.opc"
4070 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4071 #line 352 "rx-decode.opc"
4072 int rdst AU
= op
[1] & 0x0f;
4075 printf ("\033[33m%s\033[0m %02x %02x\n",
4076 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4078 printf (" s = 0x%x,", s
);
4079 printf (" ss = 0x%x,", ss
);
4080 printf (" rsrc = 0x%x,", rsrc
);
4081 printf (" rdst = 0x%x\n", rdst
);
4083 SYNTAX("movu%s %1, %0");
4084 #line 352 "rx-decode.opc"
4085 ID(mov
); uBWL(s
); SD(ss
, rsrc
, s
); DR(rdst
); F_____
;
4093 switch (op
[1] & 0x00)
4096 goto op_semantics_26
;
4102 switch (op
[1] & 0x00)
4105 goto op_semantics_26
;
4111 switch (op
[1] & 0x00)
4114 goto op_semantics_26
;
4120 switch (op
[1] & 0x00)
4123 goto op_semantics_26
;
4129 switch (op
[1] & 0x00)
4132 goto op_semantics_26
;
4138 switch (op
[1] & 0x00)
4141 goto op_semantics_26
;
4147 switch (op
[1] & 0x00)
4150 goto op_semantics_26
;
4156 switch (op
[1] & 0x00)
4160 /** 0110 0000 immm rdst sub #%2, %0 */
4161 #line 533 "rx-decode.opc"
4162 int immm AU
= (op
[1] >> 4) & 0x0f;
4163 #line 533 "rx-decode.opc"
4164 int rdst AU
= op
[1] & 0x0f;
4167 printf ("\033[33m%s\033[0m %02x %02x\n",
4168 "/** 0110 0000 immm rdst sub #%2, %0 */",
4170 printf (" immm = 0x%x,", immm
);
4171 printf (" rdst = 0x%x\n", rdst
);
4173 SYNTAX("sub #%2, %0");
4174 #line 533 "rx-decode.opc"
4175 ID(sub
); S2C(immm
); SR(rdst
); DR(rdst
); F_OSZC
;
4183 switch (op
[1] & 0x00)
4187 /** 0110 0001 immm rdst cmp #%2, %1 */
4188 #line 515 "rx-decode.opc"
4189 int immm AU
= (op
[1] >> 4) & 0x0f;
4190 #line 515 "rx-decode.opc"
4191 int rdst AU
= op
[1] & 0x0f;
4194 printf ("\033[33m%s\033[0m %02x %02x\n",
4195 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4197 printf (" immm = 0x%x,", immm
);
4198 printf (" rdst = 0x%x\n", rdst
);
4200 SYNTAX("cmp #%2, %1");
4201 #line 515 "rx-decode.opc"
4202 ID(sub
); S2C(immm
); SR(rdst
); F_OSZC
;
4210 switch (op
[1] & 0x00)
4214 /** 0110 0010 immm rdst add #%1, %0 */
4215 #line 497 "rx-decode.opc"
4216 int immm AU
= (op
[1] >> 4) & 0x0f;
4217 #line 497 "rx-decode.opc"
4218 int rdst AU
= op
[1] & 0x0f;
4221 printf ("\033[33m%s\033[0m %02x %02x\n",
4222 "/** 0110 0010 immm rdst add #%1, %0 */",
4224 printf (" immm = 0x%x,", immm
);
4225 printf (" rdst = 0x%x\n", rdst
);
4227 SYNTAX("add #%1, %0");
4228 #line 497 "rx-decode.opc"
4229 ID(add
); SC(immm
); DR(rdst
); F_OSZC
;
4237 switch (op
[1] & 0x00)
4241 /** 0110 0011 immm rdst mul #%1, %0 */
4242 #line 599 "rx-decode.opc"
4243 int immm AU
= (op
[1] >> 4) & 0x0f;
4244 #line 599 "rx-decode.opc"
4245 int rdst AU
= op
[1] & 0x0f;
4248 printf ("\033[33m%s\033[0m %02x %02x\n",
4249 "/** 0110 0011 immm rdst mul #%1, %0 */",
4251 printf (" immm = 0x%x,", immm
);
4252 printf (" rdst = 0x%x\n", rdst
);
4254 SYNTAX("mul #%1, %0");
4255 #line 599 "rx-decode.opc"
4256 ID(mul
); DR(rdst
); SC(immm
); F_____
;
4264 switch (op
[1] & 0x00)
4268 /** 0110 0100 immm rdst and #%1, %0 */
4269 #line 407 "rx-decode.opc"
4270 int immm AU
= (op
[1] >> 4) & 0x0f;
4271 #line 407 "rx-decode.opc"
4272 int rdst AU
= op
[1] & 0x0f;
4275 printf ("\033[33m%s\033[0m %02x %02x\n",
4276 "/** 0110 0100 immm rdst and #%1, %0 */",
4278 printf (" immm = 0x%x,", immm
);
4279 printf (" rdst = 0x%x\n", rdst
);
4281 SYNTAX("and #%1, %0");
4282 #line 407 "rx-decode.opc"
4283 ID(and); SC(immm
); DR(rdst
); F__SZ_
;
4291 switch (op
[1] & 0x00)
4295 /** 0110 0101 immm rdst or #%1, %0 */
4296 #line 425 "rx-decode.opc"
4297 int immm AU
= (op
[1] >> 4) & 0x0f;
4298 #line 425 "rx-decode.opc"
4299 int rdst AU
= op
[1] & 0x0f;
4302 printf ("\033[33m%s\033[0m %02x %02x\n",
4303 "/** 0110 0101 immm rdst or #%1, %0 */",
4305 printf (" immm = 0x%x,", immm
);
4306 printf (" rdst = 0x%x\n", rdst
);
4308 SYNTAX("or #%1, %0");
4309 #line 425 "rx-decode.opc"
4310 ID(or); SC(immm
); DR(rdst
); F__SZ_
;
4318 switch (op
[1] & 0x00)
4322 /** 0110 0110 immm rdst mov%s #%1, %0 */
4323 #line 301 "rx-decode.opc"
4324 int immm AU
= (op
[1] >> 4) & 0x0f;
4325 #line 301 "rx-decode.opc"
4326 int rdst AU
= op
[1] & 0x0f;
4329 printf ("\033[33m%s\033[0m %02x %02x\n",
4330 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4332 printf (" immm = 0x%x,", immm
);
4333 printf (" rdst = 0x%x\n", rdst
);
4335 SYNTAX("mov%s #%1, %0");
4336 #line 301 "rx-decode.opc"
4337 ID(mov
); DR(rdst
); SC(immm
); F_____
;
4345 /** 0110 0111 rtsd #%1 */
4348 printf ("\033[33m%s\033[0m %02x\n",
4349 "/** 0110 0111 rtsd #%1 */",
4353 #line 398 "rx-decode.opc"
4354 ID(rtsd
); SC(IMM(1) * 4);
4360 switch (op
[1] & 0x00)
4365 /** 0110 100i mmmm rdst shlr #%2, %0 */
4366 #line 685 "rx-decode.opc"
4367 int i AU
= op
[0] & 0x01;
4368 #line 685 "rx-decode.opc"
4369 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4370 #line 685 "rx-decode.opc"
4371 int rdst AU
= op
[1] & 0x0f;
4374 printf ("\033[33m%s\033[0m %02x %02x\n",
4375 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4377 printf (" i = 0x%x,", i
);
4378 printf (" mmmm = 0x%x,", mmmm
);
4379 printf (" rdst = 0x%x\n", rdst
);
4381 SYNTAX("shlr #%2, %0");
4382 #line 685 "rx-decode.opc"
4383 ID(shlr
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F__SZC
;
4391 switch (op
[1] & 0x00)
4394 goto op_semantics_27
;
4400 switch (op
[1] & 0x00)
4405 /** 0110 101i mmmm rdst shar #%2, %0 */
4406 #line 675 "rx-decode.opc"
4407 int i AU
= op
[0] & 0x01;
4408 #line 675 "rx-decode.opc"
4409 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4410 #line 675 "rx-decode.opc"
4411 int rdst AU
= op
[1] & 0x0f;
4414 printf ("\033[33m%s\033[0m %02x %02x\n",
4415 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4417 printf (" i = 0x%x,", i
);
4418 printf (" mmmm = 0x%x,", mmmm
);
4419 printf (" rdst = 0x%x\n", rdst
);
4421 SYNTAX("shar #%2, %0");
4422 #line 675 "rx-decode.opc"
4423 ID(shar
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_0SZC
;
4431 switch (op
[1] & 0x00)
4434 goto op_semantics_28
;
4440 switch (op
[1] & 0x00)
4445 /** 0110 110i mmmm rdst shll #%2, %0 */
4446 #line 665 "rx-decode.opc"
4447 int i AU
= op
[0] & 0x01;
4448 #line 665 "rx-decode.opc"
4449 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4450 #line 665 "rx-decode.opc"
4451 int rdst AU
= op
[1] & 0x0f;
4454 printf ("\033[33m%s\033[0m %02x %02x\n",
4455 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4457 printf (" i = 0x%x,", i
);
4458 printf (" mmmm = 0x%x,", mmmm
);
4459 printf (" rdst = 0x%x\n", rdst
);
4461 SYNTAX("shll #%2, %0");
4462 #line 665 "rx-decode.opc"
4463 ID(shll
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_OSZC
;
4471 switch (op
[1] & 0x00)
4474 goto op_semantics_29
;
4480 switch (op
[1] & 0x00)
4484 /** 0110 1110 dsta dstb pushm %1-%2 */
4485 #line 365 "rx-decode.opc"
4486 int dsta AU
= (op
[1] >> 4) & 0x0f;
4487 #line 365 "rx-decode.opc"
4488 int dstb AU
= op
[1] & 0x0f;
4491 printf ("\033[33m%s\033[0m %02x %02x\n",
4492 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4494 printf (" dsta = 0x%x,", dsta
);
4495 printf (" dstb = 0x%x\n", dstb
);
4497 SYNTAX("pushm %1-%2");
4498 #line 365 "rx-decode.opc"
4499 ID(pushm
); SR(dsta
); S2R(dstb
); F_____
;
4507 switch (op
[1] & 0x00)
4511 /** 0110 1111 dsta dstb popm %1-%2 */
4512 #line 362 "rx-decode.opc"
4513 int dsta AU
= (op
[1] >> 4) & 0x0f;
4514 #line 362 "rx-decode.opc"
4515 int dstb AU
= op
[1] & 0x0f;
4518 printf ("\033[33m%s\033[0m %02x %02x\n",
4519 "/** 0110 1111 dsta dstb popm %1-%2 */",
4521 printf (" dsta = 0x%x,", dsta
);
4522 printf (" dstb = 0x%x\n", dstb
);
4524 SYNTAX("popm %1-%2");
4525 #line 362 "rx-decode.opc"
4526 ID(popm
); SR(dsta
); S2R(dstb
); F_____
;
4534 switch (op
[1] & 0x00)
4539 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4540 #line 506 "rx-decode.opc"
4541 int im AU
= op
[0] & 0x03;
4542 #line 506 "rx-decode.opc"
4543 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4544 #line 506 "rx-decode.opc"
4545 int rdst AU
= op
[1] & 0x0f;
4548 printf ("\033[33m%s\033[0m %02x %02x\n",
4549 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4551 printf (" im = 0x%x,", im
);
4552 printf (" rsrc = 0x%x,", rsrc
);
4553 printf (" rdst = 0x%x\n", rdst
);
4555 SYNTAX("add #%1, %2, %0");
4556 #line 506 "rx-decode.opc"
4557 ID(add
); SC(IMMex(im
)); S2R(rsrc
); DR(rdst
); F_OSZC
;
4565 switch (op
[1] & 0x00)
4568 goto op_semantics_30
;
4574 switch (op
[1] & 0x00)
4577 goto op_semantics_30
;
4583 switch (op
[1] & 0x00)
4586 goto op_semantics_30
;
4592 switch (op
[1] & 0xf0)
4597 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4598 #line 518 "rx-decode.opc"
4599 int im AU
= op
[0] & 0x03;
4600 #line 518 "rx-decode.opc"
4601 int rsrc AU
= op
[1] & 0x0f;
4604 printf ("\033[33m%s\033[0m %02x %02x\n",
4605 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4607 printf (" im = 0x%x,", im
);
4608 printf (" rsrc = 0x%x\n", rsrc
);
4610 SYNTAX("cmp #%2, %1%S1");
4611 #line 518 "rx-decode.opc"
4612 ID(sub
); SR(rsrc
); S2C(IMMex(im
)); F_OSZC
;
4619 /** 0111 01im 0001rdst mul #%1, %0 */
4620 #line 602 "rx-decode.opc"
4621 int im AU
= op
[0] & 0x03;
4622 #line 602 "rx-decode.opc"
4623 int rdst AU
= op
[1] & 0x0f;
4626 printf ("\033[33m%s\033[0m %02x %02x\n",
4627 "/** 0111 01im 0001rdst mul #%1, %0 */",
4629 printf (" im = 0x%x,", im
);
4630 printf (" rdst = 0x%x\n", rdst
);
4632 SYNTAX("mul #%1, %0");
4633 #line 602 "rx-decode.opc"
4634 ID(mul
); DR(rdst
); SC(IMMex(im
)); F_____
;
4641 /** 0111 01im 0010 rdst and #%1, %0 */
4642 #line 410 "rx-decode.opc"
4643 int im AU
= op
[0] & 0x03;
4644 #line 410 "rx-decode.opc"
4645 int rdst AU
= op
[1] & 0x0f;
4648 printf ("\033[33m%s\033[0m %02x %02x\n",
4649 "/** 0111 01im 0010 rdst and #%1, %0 */",
4651 printf (" im = 0x%x,", im
);
4652 printf (" rdst = 0x%x\n", rdst
);
4654 SYNTAX("and #%1, %0");
4655 #line 410 "rx-decode.opc"
4656 ID(and); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4663 /** 0111 01im 0011 rdst or #%1, %0 */
4664 #line 428 "rx-decode.opc"
4665 int im AU
= op
[0] & 0x03;
4666 #line 428 "rx-decode.opc"
4667 int rdst AU
= op
[1] & 0x0f;
4670 printf ("\033[33m%s\033[0m %02x %02x\n",
4671 "/** 0111 01im 0011 rdst or #%1, %0 */",
4673 printf (" im = 0x%x,", im
);
4674 printf (" rdst = 0x%x\n", rdst
);
4676 SYNTAX("or #%1, %0");
4677 #line 428 "rx-decode.opc"
4678 ID(or); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4682 default: UNSUPPORTED(); break;
4687 switch (op
[1] & 0xff)
4705 goto op_semantics_31
;
4723 goto op_semantics_32
;
4741 goto op_semantics_33
;
4759 goto op_semantics_34
;
4778 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4779 #line 282 "rx-decode.opc"
4780 int rdst AU
= op
[1] & 0x0f;
4783 printf ("\033[33m%s\033[0m %02x %02x\n",
4784 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4786 printf (" rdst = 0x%x\n", rdst
);
4788 SYNTAX("mov%s #%1, %0");
4789 #line 282 "rx-decode.opc"
4790 ID(mov
); DR(rdst
); SC(IMM (1)); F_____
;
4811 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4812 #line 521 "rx-decode.opc"
4813 int rsrc AU
= op
[1] & 0x0f;
4816 printf ("\033[33m%s\033[0m %02x %02x\n",
4817 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4819 printf (" rsrc = 0x%x\n", rsrc
);
4821 SYNTAX("cmp #%2, %1");
4822 #line 521 "rx-decode.opc"
4823 ID(sub
); SR(rsrc
); S2C(IMM(1)); F_OSZC
;
4829 /** 0111 0101 0110 0000 int #%1 */
4832 printf ("\033[33m%s\033[0m %02x %02x\n",
4833 "/** 0111 0101 0110 0000 int #%1 */",
4837 #line 982 "rx-decode.opc"
4838 ID(int); SC(IMM(1));
4844 switch (op
[2] & 0xf0)
4848 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4849 #line 949 "rx-decode.opc"
4850 int immm AU
= op
[2] & 0x0f;
4853 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4854 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4855 op
[0], op
[1], op
[2]);
4856 printf (" immm = 0x%x\n", immm
);
4858 SYNTAX("mvtipl #%1");
4859 #line 949 "rx-decode.opc"
4860 ID(mvtipl
); SC(immm
);
4864 default: UNSUPPORTED(); break;
4867 default: UNSUPPORTED(); break;
4872 switch (op
[1] & 0xf0)
4875 goto op_semantics_31
;
4878 goto op_semantics_32
;
4881 goto op_semantics_33
;
4884 goto op_semantics_34
;
4886 default: UNSUPPORTED(); break;
4891 switch (op
[1] & 0xf0)
4894 goto op_semantics_31
;
4897 goto op_semantics_32
;
4900 goto op_semantics_33
;
4903 goto op_semantics_34
;
4905 default: UNSUPPORTED(); break;
4910 switch (op
[1] & 0x00)
4915 /** 0111 100b ittt rdst bset #%1, %0 */
4916 #line 900 "rx-decode.opc"
4917 int b AU
= op
[0] & 0x01;
4918 #line 900 "rx-decode.opc"
4919 int ittt AU
= (op
[1] >> 4) & 0x0f;
4920 #line 900 "rx-decode.opc"
4921 int rdst AU
= op
[1] & 0x0f;
4924 printf ("\033[33m%s\033[0m %02x %02x\n",
4925 "/** 0111 100b ittt rdst bset #%1, %0 */",
4927 printf (" b = 0x%x,", b
);
4928 printf (" ittt = 0x%x,", ittt
);
4929 printf (" rdst = 0x%x\n", rdst
);
4931 SYNTAX("bset #%1, %0");
4932 #line 900 "rx-decode.opc"
4933 ID(bset
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
4942 switch (op
[1] & 0x00)
4945 goto op_semantics_35
;
4951 switch (op
[1] & 0x00)
4956 /** 0111 101b ittt rdst bclr #%1, %0 */
4957 #line 910 "rx-decode.opc"
4958 int b AU
= op
[0] & 0x01;
4959 #line 910 "rx-decode.opc"
4960 int ittt AU
= (op
[1] >> 4) & 0x0f;
4961 #line 910 "rx-decode.opc"
4962 int rdst AU
= op
[1] & 0x0f;
4965 printf ("\033[33m%s\033[0m %02x %02x\n",
4966 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4968 printf (" b = 0x%x,", b
);
4969 printf (" ittt = 0x%x,", ittt
);
4970 printf (" rdst = 0x%x\n", rdst
);
4972 SYNTAX("bclr #%1, %0");
4973 #line 910 "rx-decode.opc"
4974 ID(bclr
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
4983 switch (op
[1] & 0x00)
4986 goto op_semantics_36
;
4992 switch (op
[1] & 0x00)
4997 /** 0111 110b ittt rdst btst #%2, %1 */
4998 #line 920 "rx-decode.opc"
4999 int b AU
= op
[0] & 0x01;
5000 #line 920 "rx-decode.opc"
5001 int ittt AU
= (op
[1] >> 4) & 0x0f;
5002 #line 920 "rx-decode.opc"
5003 int rdst AU
= op
[1] & 0x0f;
5006 printf ("\033[33m%s\033[0m %02x %02x\n",
5007 "/** 0111 110b ittt rdst btst #%2, %1 */",
5009 printf (" b = 0x%x,", b
);
5010 printf (" ittt = 0x%x,", ittt
);
5011 printf (" rdst = 0x%x\n", rdst
);
5013 SYNTAX("btst #%2, %1");
5014 #line 920 "rx-decode.opc"
5015 ID(btst
); BWL(LSIZE
); S2C(b
*16+ittt
); SR(rdst
); F___ZC
;
5024 switch (op
[1] & 0x00)
5027 goto op_semantics_37
;
5033 switch (op
[1] & 0xf0)
5037 /** 0111 1110 0000 rdst not %0 */
5038 #line 455 "rx-decode.opc"
5039 int rdst AU
= op
[1] & 0x0f;
5042 printf ("\033[33m%s\033[0m %02x %02x\n",
5043 "/** 0111 1110 0000 rdst not %0 */",
5045 printf (" rdst = 0x%x\n", rdst
);
5048 #line 455 "rx-decode.opc"
5049 ID(xor); DR(rdst
); SR(rdst
); S2C(~0); F__SZ_
;
5055 /** 0111 1110 0001 rdst neg %0 */
5056 #line 476 "rx-decode.opc"
5057 int rdst AU
= op
[1] & 0x0f;
5060 printf ("\033[33m%s\033[0m %02x %02x\n",
5061 "/** 0111 1110 0001 rdst neg %0 */",
5063 printf (" rdst = 0x%x\n", rdst
);
5066 #line 476 "rx-decode.opc"
5067 ID(sub
); DR(rdst
); SC(0); S2R(rdst
); F_OSZC
;
5073 /** 0111 1110 0010 rdst abs %0 */
5074 #line 558 "rx-decode.opc"
5075 int rdst AU
= op
[1] & 0x0f;
5078 printf ("\033[33m%s\033[0m %02x %02x\n",
5079 "/** 0111 1110 0010 rdst abs %0 */",
5081 printf (" rdst = 0x%x\n", rdst
);
5084 #line 558 "rx-decode.opc"
5085 ID(abs
); DR(rdst
); SR(rdst
); F_OSZ_
;
5091 /** 0111 1110 0011 rdst sat %0 */
5092 #line 840 "rx-decode.opc"
5093 int rdst AU
= op
[1] & 0x0f;
5096 printf ("\033[33m%s\033[0m %02x %02x\n",
5097 "/** 0111 1110 0011 rdst sat %0 */",
5099 printf (" rdst = 0x%x\n", rdst
);
5102 #line 840 "rx-decode.opc"
5109 /** 0111 1110 0100 rdst rorc %0 */
5110 #line 700 "rx-decode.opc"
5111 int rdst AU
= op
[1] & 0x0f;
5114 printf ("\033[33m%s\033[0m %02x %02x\n",
5115 "/** 0111 1110 0100 rdst rorc %0 */",
5117 printf (" rdst = 0x%x\n", rdst
);
5120 #line 700 "rx-decode.opc"
5121 ID(rorc
); DR(rdst
); F__SZC
;
5127 /** 0111 1110 0101 rdst rolc %0 */
5128 #line 697 "rx-decode.opc"
5129 int rdst AU
= op
[1] & 0x0f;
5132 printf ("\033[33m%s\033[0m %02x %02x\n",
5133 "/** 0111 1110 0101 rdst rolc %0 */",
5135 printf (" rdst = 0x%x\n", rdst
);
5138 #line 697 "rx-decode.opc"
5139 ID(rolc
); DR(rdst
); F__SZC
;
5147 /** 0111 1110 10sz rsrc push%s %1 */
5148 #line 371 "rx-decode.opc"
5149 int sz AU
= (op
[1] >> 4) & 0x03;
5150 #line 371 "rx-decode.opc"
5151 int rsrc AU
= op
[1] & 0x0f;
5154 printf ("\033[33m%s\033[0m %02x %02x\n",
5155 "/** 0111 1110 10sz rsrc push%s %1 */",
5157 printf (" sz = 0x%x,", sz
);
5158 printf (" rsrc = 0x%x\n", rsrc
);
5160 SYNTAX("push%s %1");
5161 #line 371 "rx-decode.opc"
5162 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SR(rsrc
); F_____
;
5168 /** 0111 1110 1011 rdst pop %0 */
5169 #line 368 "rx-decode.opc"
5170 int rdst AU
= op
[1] & 0x0f;
5173 printf ("\033[33m%s\033[0m %02x %02x\n",
5174 "/** 0111 1110 1011 rdst pop %0 */",
5176 printf (" rdst = 0x%x\n", rdst
);
5179 #line 368 "rx-decode.opc"
5180 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(rdst
); F_____
;
5187 /** 0111 1110 110 crsrc pushc %1 */
5188 #line 955 "rx-decode.opc"
5189 int crsrc AU
= op
[1] & 0x1f;
5192 printf ("\033[33m%s\033[0m %02x %02x\n",
5193 "/** 0111 1110 110 crsrc pushc %1 */",
5195 printf (" crsrc = 0x%x\n", crsrc
);
5198 #line 955 "rx-decode.opc"
5199 ID(mov
); OP(0, RX_Operand_Predec
, 0, 0); SR(crsrc
+ 16);
5206 /** 0111 1110 111 crdst popc %0 */
5207 #line 952 "rx-decode.opc"
5208 int crdst AU
= op
[1] & 0x1f;
5211 printf ("\033[33m%s\033[0m %02x %02x\n",
5212 "/** 0111 1110 111 crdst popc %0 */",
5214 printf (" crdst = 0x%x\n", crdst
);
5217 #line 952 "rx-decode.opc"
5218 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(crdst
+ 16);
5222 default: UNSUPPORTED(); break;
5227 switch (op
[1] & 0xff)
5246 /** 0111 1111 0000 rsrc jmp %0 */
5247 #line 750 "rx-decode.opc"
5248 int rsrc AU
= op
[1] & 0x0f;
5251 printf ("\033[33m%s\033[0m %02x %02x\n",
5252 "/** 0111 1111 0000 rsrc jmp %0 */",
5254 printf (" rsrc = 0x%x\n", rsrc
);
5257 #line 750 "rx-decode.opc"
5258 ID(branch
); DR(rsrc
);
5279 /** 0111 1111 0001 rsrc jsr %0 */
5280 #line 753 "rx-decode.opc"
5281 int rsrc AU
= op
[1] & 0x0f;
5284 printf ("\033[33m%s\033[0m %02x %02x\n",
5285 "/** 0111 1111 0001 rsrc jsr %0 */",
5287 printf (" rsrc = 0x%x\n", rsrc
);
5290 #line 753 "rx-decode.opc"
5312 /** 0111 1111 0100 rsrc bra.l %0 */
5313 #line 746 "rx-decode.opc"
5314 int rsrc AU
= op
[1] & 0x0f;
5317 printf ("\033[33m%s\033[0m %02x %02x\n",
5318 "/** 0111 1111 0100 rsrc bra.l %0 */",
5320 printf (" rsrc = 0x%x\n", rsrc
);
5323 #line 746 "rx-decode.opc"
5324 ID(branchrel
); DR(rsrc
);
5346 /** 0111 1111 0101 rsrc bsr.l %0 */
5347 #line 762 "rx-decode.opc"
5348 int rsrc AU
= op
[1] & 0x0f;
5351 printf ("\033[33m%s\033[0m %02x %02x\n",
5352 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5354 printf (" rsrc = 0x%x\n", rsrc
);
5357 #line 762 "rx-decode.opc"
5358 ID(jsrrel
); DR(rsrc
);
5366 /** 0111 1111 1000 00sz suntil%s */
5367 #line 786 "rx-decode.opc"
5368 int sz AU
= op
[1] & 0x03;
5371 printf ("\033[33m%s\033[0m %02x %02x\n",
5372 "/** 0111 1111 1000 00sz suntil%s */",
5374 printf (" sz = 0x%x\n", sz
);
5377 #line 786 "rx-decode.opc"
5378 ID(suntil
); BWL(sz
); F___ZC
;
5384 /** 0111 1111 1000 0011 scmpu */
5387 printf ("\033[33m%s\033[0m %02x %02x\n",
5388 "/** 0111 1111 1000 0011 scmpu */",
5392 #line 777 "rx-decode.opc"
5401 /** 0111 1111 1000 01sz swhile%s */
5402 #line 789 "rx-decode.opc"
5403 int sz AU
= op
[1] & 0x03;
5406 printf ("\033[33m%s\033[0m %02x %02x\n",
5407 "/** 0111 1111 1000 01sz swhile%s */",
5409 printf (" sz = 0x%x\n", sz
);
5412 #line 789 "rx-decode.opc"
5413 ID(swhile
); BWL(sz
); F___ZC
;
5419 /** 0111 1111 1000 0111 smovu */
5422 printf ("\033[33m%s\033[0m %02x %02x\n",
5423 "/** 0111 1111 1000 0111 smovu */",
5427 #line 780 "rx-decode.opc"
5436 /** 0111 1111 1000 10sz sstr%s */
5437 #line 795 "rx-decode.opc"
5438 int sz AU
= op
[1] & 0x03;
5441 printf ("\033[33m%s\033[0m %02x %02x\n",
5442 "/** 0111 1111 1000 10sz sstr%s */",
5444 printf (" sz = 0x%x\n", sz
);
5447 #line 795 "rx-decode.opc"
5450 /*----------------------------------------------------------------------*/
5457 /** 0111 1111 1000 1011 smovb */
5460 printf ("\033[33m%s\033[0m %02x %02x\n",
5461 "/** 0111 1111 1000 1011 smovb */",
5465 #line 783 "rx-decode.opc"
5474 /** 0111 1111 1000 11sz rmpa%s */
5475 #line 801 "rx-decode.opc"
5476 int sz AU
= op
[1] & 0x03;
5479 printf ("\033[33m%s\033[0m %02x %02x\n",
5480 "/** 0111 1111 1000 11sz rmpa%s */",
5482 printf (" sz = 0x%x\n", sz
);
5485 #line 801 "rx-decode.opc"
5486 ID(rmpa
); BWL(sz
); F_OS__
;
5488 /*----------------------------------------------------------------------*/
5495 /** 0111 1111 1000 1111 smovf */
5498 printf ("\033[33m%s\033[0m %02x %02x\n",
5499 "/** 0111 1111 1000 1111 smovf */",
5503 #line 792 "rx-decode.opc"
5510 /** 0111 1111 1001 0011 satr */
5513 printf ("\033[33m%s\033[0m %02x %02x\n",
5514 "/** 0111 1111 1001 0011 satr */",
5518 #line 843 "rx-decode.opc"
5521 /*----------------------------------------------------------------------*/
5528 /** 0111 1111 1001 0100 rtfi */
5531 printf ("\033[33m%s\033[0m %02x %02x\n",
5532 "/** 0111 1111 1001 0100 rtfi */",
5536 #line 970 "rx-decode.opc"
5543 /** 0111 1111 1001 0101 rte */
5546 printf ("\033[33m%s\033[0m %02x %02x\n",
5547 "/** 0111 1111 1001 0101 rte */",
5551 #line 973 "rx-decode.opc"
5558 /** 0111 1111 1001 0110 wait */
5561 printf ("\033[33m%s\033[0m %02x %02x\n",
5562 "/** 0111 1111 1001 0110 wait */",
5566 #line 985 "rx-decode.opc"
5569 /*----------------------------------------------------------------------*/
5591 /** 0111 1111 1010 rdst setpsw %0 */
5592 #line 946 "rx-decode.opc"
5593 int rdst AU
= op
[1] & 0x0f;
5596 printf ("\033[33m%s\033[0m %02x %02x\n",
5597 "/** 0111 1111 1010 rdst setpsw %0 */",
5599 printf (" rdst = 0x%x\n", rdst
);
5601 SYNTAX("setpsw %0");
5602 #line 946 "rx-decode.opc"
5603 ID(setpsw
); DF(rdst
);
5624 /** 0111 1111 1011 rdst clrpsw %0 */
5625 #line 943 "rx-decode.opc"
5626 int rdst AU
= op
[1] & 0x0f;
5629 printf ("\033[33m%s\033[0m %02x %02x\n",
5630 "/** 0111 1111 1011 rdst clrpsw %0 */",
5632 printf (" rdst = 0x%x\n", rdst
);
5634 SYNTAX("clrpsw %0");
5635 #line 943 "rx-decode.opc"
5636 ID(clrpsw
); DF(rdst
);
5640 default: UNSUPPORTED(); break;
5645 switch (op
[1] & 0x00)
5650 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5651 #line 329 "rx-decode.opc"
5652 int sz AU
= (op
[0] >> 4) & 0x03;
5653 #line 329 "rx-decode.opc"
5654 int dsp AU
= op
[0] & 0x07;
5655 #line 329 "rx-decode.opc"
5656 int a AU
= (op
[1] >> 7) & 0x01;
5657 #line 329 "rx-decode.opc"
5658 int dst AU
= (op
[1] >> 4) & 0x07;
5659 #line 329 "rx-decode.opc"
5660 int b AU
= (op
[1] >> 3) & 0x01;
5661 #line 329 "rx-decode.opc"
5662 int src AU
= op
[1] & 0x07;
5665 printf ("\033[33m%s\033[0m %02x %02x\n",
5666 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5668 printf (" sz = 0x%x,", sz
);
5669 printf (" dsp = 0x%x,", dsp
);
5670 printf (" a = 0x%x,", a
);
5671 printf (" dst = 0x%x,", dst
);
5672 printf (" b = 0x%x,", b
);
5673 printf (" src = 0x%x\n", src
);
5675 SYNTAX("mov%s %1, %0");
5676 #line 329 "rx-decode.opc"
5677 ID(mov
); sBWL(sz
); DIs(dst
, dsp
*4+a
*2+b
, sz
); SR(src
); F_____
;
5685 switch (op
[1] & 0x00)
5688 goto op_semantics_38
;
5694 switch (op
[1] & 0x00)
5697 goto op_semantics_38
;
5703 switch (op
[1] & 0x00)
5706 goto op_semantics_38
;
5712 switch (op
[1] & 0x00)
5715 goto op_semantics_38
;
5721 switch (op
[1] & 0x00)
5724 goto op_semantics_38
;
5730 switch (op
[1] & 0x00)
5733 goto op_semantics_38
;
5739 switch (op
[1] & 0x00)
5742 goto op_semantics_38
;
5748 switch (op
[1] & 0x00)
5753 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5754 #line 326 "rx-decode.opc"
5755 int sz AU
= (op
[0] >> 4) & 0x03;
5756 #line 326 "rx-decode.opc"
5757 int dsp AU
= op
[0] & 0x07;
5758 #line 326 "rx-decode.opc"
5759 int a AU
= (op
[1] >> 7) & 0x01;
5760 #line 326 "rx-decode.opc"
5761 int src AU
= (op
[1] >> 4) & 0x07;
5762 #line 326 "rx-decode.opc"
5763 int b AU
= (op
[1] >> 3) & 0x01;
5764 #line 326 "rx-decode.opc"
5765 int dst AU
= op
[1] & 0x07;
5768 printf ("\033[33m%s\033[0m %02x %02x\n",
5769 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5771 printf (" sz = 0x%x,", sz
);
5772 printf (" dsp = 0x%x,", dsp
);
5773 printf (" a = 0x%x,", a
);
5774 printf (" src = 0x%x,", src
);
5775 printf (" b = 0x%x,", b
);
5776 printf (" dst = 0x%x\n", dst
);
5778 SYNTAX("mov%s %1, %0");
5779 #line 326 "rx-decode.opc"
5780 ID(mov
); sBWL(sz
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, sz
); F_____
;
5788 switch (op
[1] & 0x00)
5791 goto op_semantics_39
;
5797 switch (op
[1] & 0x00)
5800 goto op_semantics_39
;
5806 switch (op
[1] & 0x00)
5809 goto op_semantics_39
;
5815 switch (op
[1] & 0x00)
5818 goto op_semantics_39
;
5824 switch (op
[1] & 0x00)
5827 goto op_semantics_39
;
5833 switch (op
[1] & 0x00)
5836 goto op_semantics_39
;
5842 switch (op
[1] & 0x00)
5845 goto op_semantics_39
;
5851 switch (op
[1] & 0x00)
5854 goto op_semantics_38
;
5860 switch (op
[1] & 0x00)
5863 goto op_semantics_38
;
5869 switch (op
[1] & 0x00)
5872 goto op_semantics_38
;
5878 switch (op
[1] & 0x00)
5881 goto op_semantics_38
;
5887 switch (op
[1] & 0x00)
5890 goto op_semantics_38
;
5896 switch (op
[1] & 0x00)
5899 goto op_semantics_38
;
5905 switch (op
[1] & 0x00)
5908 goto op_semantics_38
;
5914 switch (op
[1] & 0x00)
5917 goto op_semantics_38
;
5923 switch (op
[1] & 0x00)
5926 goto op_semantics_39
;
5932 switch (op
[1] & 0x00)
5935 goto op_semantics_39
;
5941 switch (op
[1] & 0x00)
5944 goto op_semantics_39
;
5950 switch (op
[1] & 0x00)
5953 goto op_semantics_39
;
5959 switch (op
[1] & 0x00)
5962 goto op_semantics_39
;
5968 switch (op
[1] & 0x00)
5971 goto op_semantics_39
;
5977 switch (op
[1] & 0x00)
5980 goto op_semantics_39
;
5986 switch (op
[1] & 0x00)
5989 goto op_semantics_39
;
5995 switch (op
[1] & 0x00)
5998 goto op_semantics_38
;
6004 switch (op
[1] & 0x00)
6007 goto op_semantics_38
;
6013 switch (op
[1] & 0x00)
6016 goto op_semantics_38
;
6022 switch (op
[1] & 0x00)
6025 goto op_semantics_38
;
6031 switch (op
[1] & 0x00)
6034 goto op_semantics_38
;
6040 switch (op
[1] & 0x00)
6043 goto op_semantics_38
;
6049 switch (op
[1] & 0x00)
6052 goto op_semantics_38
;
6058 switch (op
[1] & 0x00)
6061 goto op_semantics_38
;
6067 switch (op
[1] & 0x00)
6070 goto op_semantics_39
;
6076 switch (op
[1] & 0x00)
6079 goto op_semantics_39
;
6085 switch (op
[1] & 0x00)
6088 goto op_semantics_39
;
6094 switch (op
[1] & 0x00)
6097 goto op_semantics_39
;
6103 switch (op
[1] & 0x00)
6106 goto op_semantics_39
;
6112 switch (op
[1] & 0x00)
6115 goto op_semantics_39
;
6121 switch (op
[1] & 0x00)
6124 goto op_semantics_39
;
6130 switch (op
[1] & 0x00)
6133 goto op_semantics_39
;
6139 switch (op
[1] & 0x00)
6144 /** 1011 w dsp a src b dst movu%s %1, %0 */
6145 #line 349 "rx-decode.opc"
6146 int w AU
= (op
[0] >> 3) & 0x01;
6147 #line 349 "rx-decode.opc"
6148 int dsp AU
= op
[0] & 0x07;
6149 #line 349 "rx-decode.opc"
6150 int a AU
= (op
[1] >> 7) & 0x01;
6151 #line 349 "rx-decode.opc"
6152 int src AU
= (op
[1] >> 4) & 0x07;
6153 #line 349 "rx-decode.opc"
6154 int b AU
= (op
[1] >> 3) & 0x01;
6155 #line 349 "rx-decode.opc"
6156 int dst AU
= op
[1] & 0x07;
6159 printf ("\033[33m%s\033[0m %02x %02x\n",
6160 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6162 printf (" w = 0x%x,", w
);
6163 printf (" dsp = 0x%x,", dsp
);
6164 printf (" a = 0x%x,", a
);
6165 printf (" src = 0x%x,", src
);
6166 printf (" b = 0x%x,", b
);
6167 printf (" dst = 0x%x\n", dst
);
6169 SYNTAX("movu%s %1, %0");
6170 #line 349 "rx-decode.opc"
6171 ID(mov
); uBWL(w
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, w
); F_____
;
6179 switch (op
[1] & 0x00)
6182 goto op_semantics_40
;
6188 switch (op
[1] & 0x00)
6191 goto op_semantics_40
;
6197 switch (op
[1] & 0x00)
6200 goto op_semantics_40
;
6206 switch (op
[1] & 0x00)
6209 goto op_semantics_40
;
6215 switch (op
[1] & 0x00)
6218 goto op_semantics_40
;
6224 switch (op
[1] & 0x00)
6227 goto op_semantics_40
;
6233 switch (op
[1] & 0x00)
6236 goto op_semantics_40
;
6242 switch (op
[1] & 0x00)
6245 goto op_semantics_40
;
6251 switch (op
[1] & 0x00)
6254 goto op_semantics_40
;
6260 switch (op
[1] & 0x00)
6263 goto op_semantics_40
;
6269 switch (op
[1] & 0x00)
6272 goto op_semantics_40
;
6278 switch (op
[1] & 0x00)
6281 goto op_semantics_40
;
6287 switch (op
[1] & 0x00)
6290 goto op_semantics_40
;
6296 switch (op
[1] & 0x00)
6299 goto op_semantics_40
;
6305 switch (op
[1] & 0x00)
6308 goto op_semantics_40
;
6314 switch (op
[1] & 0x00)
6319 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6320 #line 307 "rx-decode.opc"
6321 int sz AU
= (op
[0] >> 4) & 0x03;
6322 #line 307 "rx-decode.opc"
6323 int sd AU
= (op
[0] >> 2) & 0x03;
6324 #line 307 "rx-decode.opc"
6325 int ss AU
= op
[0] & 0x03;
6326 #line 307 "rx-decode.opc"
6327 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6328 #line 307 "rx-decode.opc"
6329 int rdst AU
= op
[1] & 0x0f;
6332 printf ("\033[33m%s\033[0m %02x %02x\n",
6333 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6335 printf (" sz = 0x%x,", sz
);
6336 printf (" sd = 0x%x,", sd
);
6337 printf (" ss = 0x%x,", ss
);
6338 printf (" rsrc = 0x%x,", rsrc
);
6339 printf (" rdst = 0x%x\n", rdst
);
6341 SYNTAX("mov%s %1, %0");
6342 #line 307 "rx-decode.opc"
6343 if (ss
== 3 && sz
== 2 && rsrc
== 0 && rdst
== 0)
6350 ID(mov
); sBWL(sz
); F_____
;
6351 if ((ss
== 3) && (sd
!= 3))
6353 SD(ss
, rdst
, sz
); DD(sd
, rsrc
, sz
);
6357 SD(ss
, rsrc
, sz
); DD(sd
, rdst
, sz
);
6367 switch (op
[1] & 0x00)
6370 goto op_semantics_41
;
6376 switch (op
[1] & 0x00)
6379 goto op_semantics_41
;
6385 switch (op
[1] & 0x00)
6388 goto op_semantics_41
;
6394 switch (op
[1] & 0x00)
6397 goto op_semantics_41
;
6403 switch (op
[1] & 0x00)
6406 goto op_semantics_41
;
6412 switch (op
[1] & 0x00)
6415 goto op_semantics_41
;
6421 switch (op
[1] & 0x00)
6424 goto op_semantics_41
;
6430 switch (op
[1] & 0x00)
6433 goto op_semantics_41
;
6439 switch (op
[1] & 0x00)
6442 goto op_semantics_41
;
6448 switch (op
[1] & 0x00)
6451 goto op_semantics_41
;
6457 switch (op
[1] & 0x00)
6460 goto op_semantics_41
;
6466 switch (op
[1] & 0x00)
6469 goto op_semantics_41
;
6475 switch (op
[1] & 0x00)
6478 goto op_semantics_41
;
6484 switch (op
[1] & 0x00)
6487 goto op_semantics_41
;
6493 switch (op
[1] & 0x00)
6496 goto op_semantics_41
;
6502 switch (op
[1] & 0x00)
6505 goto op_semantics_41
;
6511 switch (op
[1] & 0x00)
6514 goto op_semantics_41
;
6520 switch (op
[1] & 0x00)
6523 goto op_semantics_41
;
6529 switch (op
[1] & 0x00)
6532 goto op_semantics_41
;
6538 switch (op
[1] & 0x00)
6541 goto op_semantics_41
;
6547 switch (op
[1] & 0x00)
6550 goto op_semantics_41
;
6556 switch (op
[1] & 0x00)
6559 goto op_semantics_41
;
6565 switch (op
[1] & 0x00)
6568 goto op_semantics_41
;
6574 switch (op
[1] & 0x00)
6577 goto op_semantics_41
;
6583 switch (op
[1] & 0x00)
6586 goto op_semantics_41
;
6592 switch (op
[1] & 0x00)
6595 goto op_semantics_41
;
6601 switch (op
[1] & 0x00)
6604 goto op_semantics_41
;
6610 switch (op
[1] & 0x00)
6613 goto op_semantics_41
;
6619 switch (op
[1] & 0x00)
6622 goto op_semantics_41
;
6628 switch (op
[1] & 0x00)
6631 goto op_semantics_41
;
6637 switch (op
[1] & 0x00)
6640 goto op_semantics_41
;
6646 switch (op
[1] & 0x00)
6649 goto op_semantics_41
;
6655 switch (op
[1] & 0x00)
6658 goto op_semantics_41
;
6664 switch (op
[1] & 0x00)
6667 goto op_semantics_41
;
6673 switch (op
[1] & 0x00)
6676 goto op_semantics_41
;
6682 switch (op
[1] & 0x00)
6685 goto op_semantics_41
;
6691 switch (op
[1] & 0x00)
6694 goto op_semantics_41
;
6700 switch (op
[1] & 0x00)
6703 goto op_semantics_41
;
6709 switch (op
[1] & 0x00)
6712 goto op_semantics_41
;
6718 switch (op
[1] & 0x00)
6721 goto op_semantics_41
;
6727 switch (op
[1] & 0x00)
6730 goto op_semantics_41
;
6736 switch (op
[1] & 0x00)
6739 goto op_semantics_41
;
6745 switch (op
[1] & 0x00)
6748 goto op_semantics_41
;
6754 switch (op
[1] & 0x00)
6757 goto op_semantics_41
;
6763 switch (op
[1] & 0x00)
6766 goto op_semantics_41
;
6772 switch (op
[1] & 0x00)
6775 goto op_semantics_41
;
6781 switch (op
[1] & 0x00)
6784 goto op_semantics_41
;
6790 switch (op
[1] & 0x08)
6795 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6796 #line 894 "rx-decode.opc"
6797 int sd AU
= op
[0] & 0x03;
6798 #line 894 "rx-decode.opc"
6799 int rdst AU
= (op
[1] >> 4) & 0x0f;
6800 #line 894 "rx-decode.opc"
6801 int bit AU
= op
[1] & 0x07;
6804 printf ("\033[33m%s\033[0m %02x %02x\n",
6805 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6807 printf (" sd = 0x%x,", sd
);
6808 printf (" rdst = 0x%x,", rdst
);
6809 printf (" bit = 0x%x\n", bit
);
6811 SYNTAX("bset #%1, %0%S0");
6812 #line 894 "rx-decode.opc"
6813 ID(bset
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
6820 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6821 #line 904 "rx-decode.opc"
6822 int sd AU
= op
[0] & 0x03;
6823 #line 904 "rx-decode.opc"
6824 int rdst AU
= (op
[1] >> 4) & 0x0f;
6825 #line 904 "rx-decode.opc"
6826 int bit AU
= op
[1] & 0x07;
6829 printf ("\033[33m%s\033[0m %02x %02x\n",
6830 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6832 printf (" sd = 0x%x,", sd
);
6833 printf (" rdst = 0x%x,", rdst
);
6834 printf (" bit = 0x%x\n", bit
);
6836 SYNTAX("bclr #%1, %0%S0");
6837 #line 904 "rx-decode.opc"
6838 ID(bclr
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
6846 switch (op
[1] & 0x08)
6849 goto op_semantics_42
;
6852 goto op_semantics_43
;
6858 switch (op
[1] & 0x08)
6861 goto op_semantics_42
;
6864 goto op_semantics_43
;
6870 switch (op
[1] & 0x08)
6873 goto op_semantics_42
;
6876 goto op_semantics_43
;
6882 switch (op
[1] & 0x0c)
6888 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6889 #line 914 "rx-decode.opc"
6890 int sd AU
= op
[0] & 0x03;
6891 #line 914 "rx-decode.opc"
6892 int rdst AU
= (op
[1] >> 4) & 0x0f;
6893 #line 914 "rx-decode.opc"
6894 int bit AU
= op
[1] & 0x07;
6897 printf ("\033[33m%s\033[0m %02x %02x\n",
6898 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6900 printf (" sd = 0x%x,", sd
);
6901 printf (" rdst = 0x%x,", rdst
);
6902 printf (" bit = 0x%x\n", bit
);
6904 SYNTAX("btst #%2, %1%S1");
6905 #line 914 "rx-decode.opc"
6906 ID(btst
); BWL(BSIZE
); S2C(bit
); SD(sd
, rdst
, BSIZE
); F___ZC
;
6913 /** 1111 01ss rsrc 10sz push%s %1 */
6914 #line 374 "rx-decode.opc"
6915 int ss AU
= op
[0] & 0x03;
6916 #line 374 "rx-decode.opc"
6917 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6918 #line 374 "rx-decode.opc"
6919 int sz AU
= op
[1] & 0x03;
6922 printf ("\033[33m%s\033[0m %02x %02x\n",
6923 "/** 1111 01ss rsrc 10sz push%s %1 */",
6925 printf (" ss = 0x%x,", ss
);
6926 printf (" rsrc = 0x%x,", rsrc
);
6927 printf (" sz = 0x%x\n", sz
);
6929 SYNTAX("push%s %1");
6930 #line 374 "rx-decode.opc"
6931 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SD(ss
, rsrc
, sz
); F_____
;
6933 /*----------------------------------------------------------------------*/
6938 default: UNSUPPORTED(); break;
6943 switch (op
[1] & 0x0c)
6947 goto op_semantics_44
;
6950 goto op_semantics_45
;
6952 default: UNSUPPORTED(); break;
6957 switch (op
[1] & 0x0c)
6961 goto op_semantics_44
;
6964 goto op_semantics_45
;
6966 default: UNSUPPORTED(); break;
6971 switch (op
[1] & 0x0c)
6975 goto op_semantics_44
;
6978 goto op_semantics_45
;
6980 default: UNSUPPORTED(); break;
6985 switch (op
[1] & 0x00)
6990 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6991 #line 285 "rx-decode.opc"
6992 int sd AU
= op
[0] & 0x03;
6993 #line 285 "rx-decode.opc"
6994 int rdst AU
= (op
[1] >> 4) & 0x0f;
6995 #line 285 "rx-decode.opc"
6996 int im AU
= (op
[1] >> 2) & 0x03;
6997 #line 285 "rx-decode.opc"
6998 int sz AU
= op
[1] & 0x03;
7001 printf ("\033[33m%s\033[0m %02x %02x\n",
7002 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7004 printf (" sd = 0x%x,", sd
);
7005 printf (" rdst = 0x%x,", rdst
);
7006 printf (" im = 0x%x,", im
);
7007 printf (" sz = 0x%x\n", sz
);
7009 SYNTAX("mov%s #%1, %0");
7010 #line 285 "rx-decode.opc"
7011 ID(mov
); DD(sd
, rdst
, sz
);
7012 if ((im
== 1 && sz
== 0)
7013 || (im
== 2 && sz
== 1)
7014 || (im
== 0 && sz
== 2))
7032 switch (op
[1] & 0x00)
7035 goto op_semantics_46
;
7041 switch (op
[1] & 0x00)
7044 goto op_semantics_46
;
7050 switch (op
[1] & 0x00)
7053 goto op_semantics_46
;
7059 switch (op
[1] & 0xff)
7063 switch (op
[2] & 0x00)
7067 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7068 #line 548 "rx-decode.opc"
7069 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7070 #line 548 "rx-decode.opc"
7071 int rdst AU
= op
[2] & 0x0f;
7074 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7075 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7076 op
[0], op
[1], op
[2]);
7077 printf (" rsrc = 0x%x,", rsrc
);
7078 printf (" rdst = 0x%x\n", rdst
);
7080 SYNTAX("sbb %1, %0");
7081 #line 548 "rx-decode.opc"
7082 ID(sbb
); SR (rsrc
); DR(rdst
); F_OSZC
;
7084 /* FIXME: only supports .L */
7091 switch (op
[2] & 0x00)
7095 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7096 #line 479 "rx-decode.opc"
7097 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7098 #line 479 "rx-decode.opc"
7099 int rdst AU
= op
[2] & 0x0f;
7102 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7103 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7104 op
[0], op
[1], op
[2]);
7105 printf (" rsrc = 0x%x,", rsrc
);
7106 printf (" rdst = 0x%x\n", rdst
);
7108 SYNTAX("neg %2, %0");
7109 #line 479 "rx-decode.opc"
7110 ID(sub
); DR(rdst
); SC(0); S2R(rsrc
); F_OSZC
;
7112 /*----------------------------------------------------------------------*/
7121 switch (op
[2] & 0x00)
7125 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7126 #line 488 "rx-decode.opc"
7127 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7128 #line 488 "rx-decode.opc"
7129 int rdst AU
= op
[2] & 0x0f;
7132 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7133 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7134 op
[0], op
[1], op
[2]);
7135 printf (" rsrc = 0x%x,", rsrc
);
7136 printf (" rdst = 0x%x\n", rdst
);
7138 SYNTAX("adc %1, %0");
7139 #line 488 "rx-decode.opc"
7140 ID(adc
); SR(rsrc
); DR(rdst
); F_OSZC
;
7148 switch (op
[2] & 0x00)
7152 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7153 #line 561 "rx-decode.opc"
7154 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7155 #line 561 "rx-decode.opc"
7156 int rdst AU
= op
[2] & 0x0f;
7159 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7160 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7161 op
[0], op
[1], op
[2]);
7162 printf (" rsrc = 0x%x,", rsrc
);
7163 printf (" rdst = 0x%x\n", rdst
);
7165 SYNTAX("abs %1, %0");
7166 #line 561 "rx-decode.opc"
7167 ID(abs
); DR(rdst
); SR(rsrc
); F_OSZ_
;
7169 /*----------------------------------------------------------------------*/
7178 switch (op
[2] & 0x00)
7183 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7184 #line 570 "rx-decode.opc"
7185 int ss AU
= op
[1] & 0x03;
7186 #line 570 "rx-decode.opc"
7187 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7188 #line 570 "rx-decode.opc"
7189 int rdst AU
= op
[2] & 0x0f;
7192 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7193 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7194 op
[0], op
[1], op
[2]);
7195 printf (" ss = 0x%x,", ss
);
7196 printf (" rsrc = 0x%x,", rsrc
);
7197 printf (" rdst = 0x%x\n", rdst
);
7199 SYNTAX("max %1%S1, %0");
7200 #line 570 "rx-decode.opc"
7201 if (ss
== 3 && rsrc
== 0 && rdst
== 0)
7208 ID(max
); SP(ss
, rsrc
); DR(rdst
);
7217 switch (op
[2] & 0x00)
7220 goto op_semantics_47
;
7226 switch (op
[2] & 0x00)
7229 goto op_semantics_47
;
7235 switch (op
[2] & 0x00)
7238 goto op_semantics_47
;
7244 switch (op
[2] & 0x00)
7249 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7250 #line 590 "rx-decode.opc"
7251 int ss AU
= op
[1] & 0x03;
7252 #line 590 "rx-decode.opc"
7253 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7254 #line 590 "rx-decode.opc"
7255 int rdst AU
= op
[2] & 0x0f;
7258 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7259 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7260 op
[0], op
[1], op
[2]);
7261 printf (" ss = 0x%x,", ss
);
7262 printf (" rsrc = 0x%x,", rsrc
);
7263 printf (" rdst = 0x%x\n", rdst
);
7265 SYNTAX("min %1%S1, %0");
7266 #line 590 "rx-decode.opc"
7267 ID(min
); SP(ss
, rsrc
); DR(rdst
);
7275 switch (op
[2] & 0x00)
7278 goto op_semantics_48
;
7284 switch (op
[2] & 0x00)
7287 goto op_semantics_48
;
7293 switch (op
[2] & 0x00)
7296 goto op_semantics_48
;
7302 switch (op
[2] & 0x00)
7307 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7308 #line 620 "rx-decode.opc"
7309 int ss AU
= op
[1] & 0x03;
7310 #line 620 "rx-decode.opc"
7311 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7312 #line 620 "rx-decode.opc"
7313 int rdst AU
= op
[2] & 0x0f;
7316 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7317 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7318 op
[0], op
[1], op
[2]);
7319 printf (" ss = 0x%x,", ss
);
7320 printf (" rsrc = 0x%x,", rsrc
);
7321 printf (" rdst = 0x%x\n", rdst
);
7323 SYNTAX("emul %1%S1, %0");
7324 #line 620 "rx-decode.opc"
7325 ID(emul
); SP(ss
, rsrc
); DR(rdst
);
7333 switch (op
[2] & 0x00)
7336 goto op_semantics_49
;
7342 switch (op
[2] & 0x00)
7345 goto op_semantics_49
;
7351 switch (op
[2] & 0x00)
7354 goto op_semantics_49
;
7360 switch (op
[2] & 0x00)
7365 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7366 #line 632 "rx-decode.opc"
7367 int ss AU
= op
[1] & 0x03;
7368 #line 632 "rx-decode.opc"
7369 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7370 #line 632 "rx-decode.opc"
7371 int rdst AU
= op
[2] & 0x0f;
7374 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7375 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7376 op
[0], op
[1], op
[2]);
7377 printf (" ss = 0x%x,", ss
);
7378 printf (" rsrc = 0x%x,", rsrc
);
7379 printf (" rdst = 0x%x\n", rdst
);
7381 SYNTAX("emulu %1%S1, %0");
7382 #line 632 "rx-decode.opc"
7383 ID(emulu
); SP(ss
, rsrc
); DR(rdst
);
7391 switch (op
[2] & 0x00)
7394 goto op_semantics_50
;
7400 switch (op
[2] & 0x00)
7403 goto op_semantics_50
;
7409 switch (op
[2] & 0x00)
7412 goto op_semantics_50
;
7418 switch (op
[2] & 0x00)
7423 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7424 #line 644 "rx-decode.opc"
7425 int ss AU
= op
[1] & 0x03;
7426 #line 644 "rx-decode.opc"
7427 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7428 #line 644 "rx-decode.opc"
7429 int rdst AU
= op
[2] & 0x0f;
7432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7433 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7434 op
[0], op
[1], op
[2]);
7435 printf (" ss = 0x%x,", ss
);
7436 printf (" rsrc = 0x%x,", rsrc
);
7437 printf (" rdst = 0x%x\n", rdst
);
7439 SYNTAX("div %1%S1, %0");
7440 #line 644 "rx-decode.opc"
7441 ID(div
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7449 switch (op
[2] & 0x00)
7452 goto op_semantics_51
;
7458 switch (op
[2] & 0x00)
7461 goto op_semantics_51
;
7467 switch (op
[2] & 0x00)
7470 goto op_semantics_51
;
7476 switch (op
[2] & 0x00)
7481 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7482 #line 656 "rx-decode.opc"
7483 int ss AU
= op
[1] & 0x03;
7484 #line 656 "rx-decode.opc"
7485 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7486 #line 656 "rx-decode.opc"
7487 int rdst AU
= op
[2] & 0x0f;
7490 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7491 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7492 op
[0], op
[1], op
[2]);
7493 printf (" ss = 0x%x,", ss
);
7494 printf (" rsrc = 0x%x,", rsrc
);
7495 printf (" rdst = 0x%x\n", rdst
);
7497 SYNTAX("divu %1%S1, %0");
7498 #line 656 "rx-decode.opc"
7499 ID(divu
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7507 switch (op
[2] & 0x00)
7510 goto op_semantics_52
;
7516 switch (op
[2] & 0x00)
7519 goto op_semantics_52
;
7525 switch (op
[2] & 0x00)
7528 goto op_semantics_52
;
7534 switch (op
[2] & 0x00)
7539 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7540 #line 467 "rx-decode.opc"
7541 int ss AU
= op
[1] & 0x03;
7542 #line 467 "rx-decode.opc"
7543 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7544 #line 467 "rx-decode.opc"
7545 int rdst AU
= op
[2] & 0x0f;
7548 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7549 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7550 op
[0], op
[1], op
[2]);
7551 printf (" ss = 0x%x,", ss
);
7552 printf (" rsrc = 0x%x,", rsrc
);
7553 printf (" rdst = 0x%x\n", rdst
);
7555 SYNTAX("tst %1%S1, %2");
7556 #line 467 "rx-decode.opc"
7557 ID(and); SP(ss
, rsrc
); S2R(rdst
); F__SZ_
;
7565 switch (op
[2] & 0x00)
7568 goto op_semantics_53
;
7574 switch (op
[2] & 0x00)
7577 goto op_semantics_53
;
7583 switch (op
[2] & 0x00)
7586 goto op_semantics_53
;
7592 switch (op
[2] & 0x00)
7597 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7598 #line 446 "rx-decode.opc"
7599 int ss AU
= op
[1] & 0x03;
7600 #line 446 "rx-decode.opc"
7601 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7602 #line 446 "rx-decode.opc"
7603 int rdst AU
= op
[2] & 0x0f;
7606 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7607 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7608 op
[0], op
[1], op
[2]);
7609 printf (" ss = 0x%x,", ss
);
7610 printf (" rsrc = 0x%x,", rsrc
);
7611 printf (" rdst = 0x%x\n", rdst
);
7613 SYNTAX("xor %1%S1, %0");
7614 #line 446 "rx-decode.opc"
7615 ID(xor); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
7623 switch (op
[2] & 0x00)
7626 goto op_semantics_54
;
7632 switch (op
[2] & 0x00)
7635 goto op_semantics_54
;
7641 switch (op
[2] & 0x00)
7644 goto op_semantics_54
;
7650 switch (op
[2] & 0x00)
7654 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7655 #line 458 "rx-decode.opc"
7656 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7657 #line 458 "rx-decode.opc"
7658 int rdst AU
= op
[2] & 0x0f;
7661 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7662 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7663 op
[0], op
[1], op
[2]);
7664 printf (" rsrc = 0x%x,", rsrc
);
7665 printf (" rdst = 0x%x\n", rdst
);
7667 SYNTAX("not %1, %0");
7668 #line 458 "rx-decode.opc"
7669 ID(xor); DR(rdst
); SR(rsrc
); S2C(~0); F__SZ_
;
7671 /*----------------------------------------------------------------------*/
7680 switch (op
[2] & 0x00)
7685 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7686 #line 380 "rx-decode.opc"
7687 int ss AU
= op
[1] & 0x03;
7688 #line 380 "rx-decode.opc"
7689 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7690 #line 380 "rx-decode.opc"
7691 int rdst AU
= op
[2] & 0x0f;
7694 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7695 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7696 op
[0], op
[1], op
[2]);
7697 printf (" ss = 0x%x,", ss
);
7698 printf (" rsrc = 0x%x,", rsrc
);
7699 printf (" rdst = 0x%x\n", rdst
);
7701 SYNTAX("xchg %1%S1, %0");
7702 #line 380 "rx-decode.opc"
7703 ID(xchg
); DR(rdst
); SP(ss
, rsrc
);
7711 switch (op
[2] & 0x00)
7714 goto op_semantics_55
;
7720 switch (op
[2] & 0x00)
7723 goto op_semantics_55
;
7729 switch (op
[2] & 0x00)
7732 goto op_semantics_55
;
7738 switch (op
[2] & 0x00)
7743 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7744 #line 885 "rx-decode.opc"
7745 int sd AU
= op
[1] & 0x03;
7746 #line 885 "rx-decode.opc"
7747 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7748 #line 885 "rx-decode.opc"
7749 int rdst AU
= op
[2] & 0x0f;
7752 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7753 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7754 op
[0], op
[1], op
[2]);
7755 printf (" sd = 0x%x,", sd
);
7756 printf (" rsrc = 0x%x,", rsrc
);
7757 printf (" rdst = 0x%x\n", rdst
);
7759 SYNTAX("itof %1%S1, %0");
7760 #line 885 "rx-decode.opc"
7761 ID(itof
); DR (rdst
); SP(sd
, rsrc
); F__SZ_
;
7769 switch (op
[2] & 0x00)
7772 goto op_semantics_56
;
7778 switch (op
[2] & 0x00)
7781 goto op_semantics_56
;
7787 switch (op
[2] & 0x00)
7790 goto op_semantics_56
;
7796 switch (op
[2] & 0x00)
7801 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7802 #line 897 "rx-decode.opc"
7803 int sd AU
= op
[1] & 0x03;
7804 #line 897 "rx-decode.opc"
7805 int rdst AU
= (op
[2] >> 4) & 0x0f;
7806 #line 897 "rx-decode.opc"
7807 int rsrc AU
= op
[2] & 0x0f;
7810 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7811 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7812 op
[0], op
[1], op
[2]);
7813 printf (" sd = 0x%x,", sd
);
7814 printf (" rdst = 0x%x,", rdst
);
7815 printf (" rsrc = 0x%x\n", rsrc
);
7817 SYNTAX("bset %1, %0%S0");
7818 #line 897 "rx-decode.opc"
7819 ID(bset
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
7827 switch (op
[2] & 0x00)
7830 goto op_semantics_57
;
7836 switch (op
[2] & 0x00)
7839 goto op_semantics_57
;
7845 switch (op
[2] & 0x00)
7848 goto op_semantics_57
;
7854 switch (op
[2] & 0x00)
7859 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7860 #line 907 "rx-decode.opc"
7861 int sd AU
= op
[1] & 0x03;
7862 #line 907 "rx-decode.opc"
7863 int rdst AU
= (op
[2] >> 4) & 0x0f;
7864 #line 907 "rx-decode.opc"
7865 int rsrc AU
= op
[2] & 0x0f;
7868 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7869 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7870 op
[0], op
[1], op
[2]);
7871 printf (" sd = 0x%x,", sd
);
7872 printf (" rdst = 0x%x,", rdst
);
7873 printf (" rsrc = 0x%x\n", rsrc
);
7875 SYNTAX("bclr %1, %0%S0");
7876 #line 907 "rx-decode.opc"
7877 ID(bclr
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
7885 switch (op
[2] & 0x00)
7888 goto op_semantics_58
;
7894 switch (op
[2] & 0x00)
7897 goto op_semantics_58
;
7903 switch (op
[2] & 0x00)
7906 goto op_semantics_58
;
7912 switch (op
[2] & 0x00)
7917 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7918 #line 917 "rx-decode.opc"
7919 int sd AU
= op
[1] & 0x03;
7920 #line 917 "rx-decode.opc"
7921 int rdst AU
= (op
[2] >> 4) & 0x0f;
7922 #line 917 "rx-decode.opc"
7923 int rsrc AU
= op
[2] & 0x0f;
7926 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7927 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7928 op
[0], op
[1], op
[2]);
7929 printf (" sd = 0x%x,", sd
);
7930 printf (" rdst = 0x%x,", rdst
);
7931 printf (" rsrc = 0x%x\n", rsrc
);
7933 SYNTAX("btst %2, %1%S1");
7934 #line 917 "rx-decode.opc"
7935 ID(btst
); BWL(BSIZE
); S2R(rsrc
); SD(sd
, rdst
, BSIZE
); F___ZC
;
7943 switch (op
[2] & 0x00)
7946 goto op_semantics_59
;
7952 switch (op
[2] & 0x00)
7955 goto op_semantics_59
;
7961 switch (op
[2] & 0x00)
7964 goto op_semantics_59
;
7970 switch (op
[2] & 0x00)
7975 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7976 #line 927 "rx-decode.opc"
7977 int sd AU
= op
[1] & 0x03;
7978 #line 927 "rx-decode.opc"
7979 int rdst AU
= (op
[2] >> 4) & 0x0f;
7980 #line 927 "rx-decode.opc"
7981 int rsrc AU
= op
[2] & 0x0f;
7984 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7985 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7986 op
[0], op
[1], op
[2]);
7987 printf (" sd = 0x%x,", sd
);
7988 printf (" rdst = 0x%x,", rdst
);
7989 printf (" rsrc = 0x%x\n", rsrc
);
7991 SYNTAX("bnot %1, %0%S0");
7992 #line 927 "rx-decode.opc"
7993 ID(bnot
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
);
8001 switch (op
[2] & 0x00)
8004 goto op_semantics_60
;
8010 switch (op
[2] & 0x00)
8013 goto op_semantics_60
;
8019 switch (op
[2] & 0x00)
8022 goto op_semantics_60
;
8028 switch (op
[2] & 0x00)
8033 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8034 #line 864 "rx-decode.opc"
8035 int sd AU
= op
[1] & 0x03;
8036 #line 864 "rx-decode.opc"
8037 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8038 #line 864 "rx-decode.opc"
8039 int rdst AU
= op
[2] & 0x0f;
8042 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8043 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8044 op
[0], op
[1], op
[2]);
8045 printf (" sd = 0x%x,", sd
);
8046 printf (" rsrc = 0x%x,", rsrc
);
8047 printf (" rdst = 0x%x\n", rdst
);
8049 SYNTAX("fsub %1%S1, %0");
8050 #line 864 "rx-decode.opc"
8051 ID(fsub
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8059 switch (op
[2] & 0x00)
8062 goto op_semantics_61
;
8068 switch (op
[2] & 0x00)
8071 goto op_semantics_61
;
8077 switch (op
[2] & 0x00)
8080 goto op_semantics_61
;
8086 switch (op
[2] & 0x00)
8091 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8092 #line 858 "rx-decode.opc"
8093 int sd AU
= op
[1] & 0x03;
8094 #line 858 "rx-decode.opc"
8095 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8096 #line 858 "rx-decode.opc"
8097 int rdst AU
= op
[2] & 0x0f;
8100 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8101 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8102 op
[0], op
[1], op
[2]);
8103 printf (" sd = 0x%x,", sd
);
8104 printf (" rsrc = 0x%x,", rsrc
);
8105 printf (" rdst = 0x%x\n", rdst
);
8107 SYNTAX("fcmp %1%S1, %0");
8108 #line 858 "rx-decode.opc"
8109 ID(fcmp
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F_OSZ_
;
8117 switch (op
[2] & 0x00)
8120 goto op_semantics_62
;
8126 switch (op
[2] & 0x00)
8129 goto op_semantics_62
;
8135 switch (op
[2] & 0x00)
8138 goto op_semantics_62
;
8144 switch (op
[2] & 0x00)
8149 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8150 #line 852 "rx-decode.opc"
8151 int sd AU
= op
[1] & 0x03;
8152 #line 852 "rx-decode.opc"
8153 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8154 #line 852 "rx-decode.opc"
8155 int rdst AU
= op
[2] & 0x0f;
8158 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8159 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8160 op
[0], op
[1], op
[2]);
8161 printf (" sd = 0x%x,", sd
);
8162 printf (" rsrc = 0x%x,", rsrc
);
8163 printf (" rdst = 0x%x\n", rdst
);
8165 SYNTAX("fadd %1%S1, %0");
8166 #line 852 "rx-decode.opc"
8167 ID(fadd
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8175 switch (op
[2] & 0x00)
8178 goto op_semantics_63
;
8184 switch (op
[2] & 0x00)
8187 goto op_semantics_63
;
8193 switch (op
[2] & 0x00)
8196 goto op_semantics_63
;
8202 switch (op
[2] & 0x00)
8207 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8208 #line 873 "rx-decode.opc"
8209 int sd AU
= op
[1] & 0x03;
8210 #line 873 "rx-decode.opc"
8211 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8212 #line 873 "rx-decode.opc"
8213 int rdst AU
= op
[2] & 0x0f;
8216 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8217 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8218 op
[0], op
[1], op
[2]);
8219 printf (" sd = 0x%x,", sd
);
8220 printf (" rsrc = 0x%x,", rsrc
);
8221 printf (" rdst = 0x%x\n", rdst
);
8223 SYNTAX("fmul %1%S1, %0");
8224 #line 873 "rx-decode.opc"
8225 ID(fmul
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8233 switch (op
[2] & 0x00)
8236 goto op_semantics_64
;
8242 switch (op
[2] & 0x00)
8245 goto op_semantics_64
;
8251 switch (op
[2] & 0x00)
8254 goto op_semantics_64
;
8260 switch (op
[2] & 0x00)
8265 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8266 #line 879 "rx-decode.opc"
8267 int sd AU
= op
[1] & 0x03;
8268 #line 879 "rx-decode.opc"
8269 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8270 #line 879 "rx-decode.opc"
8271 int rdst AU
= op
[2] & 0x0f;
8274 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8275 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8276 op
[0], op
[1], op
[2]);
8277 printf (" sd = 0x%x,", sd
);
8278 printf (" rsrc = 0x%x,", rsrc
);
8279 printf (" rdst = 0x%x\n", rdst
);
8281 SYNTAX("fdiv %1%S1, %0");
8282 #line 879 "rx-decode.opc"
8283 ID(fdiv
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8291 switch (op
[2] & 0x00)
8294 goto op_semantics_65
;
8300 switch (op
[2] & 0x00)
8303 goto op_semantics_65
;
8309 switch (op
[2] & 0x00)
8312 goto op_semantics_65
;
8318 switch (op
[2] & 0x00)
8323 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8324 #line 867 "rx-decode.opc"
8325 int sd AU
= op
[1] & 0x03;
8326 #line 867 "rx-decode.opc"
8327 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8328 #line 867 "rx-decode.opc"
8329 int rdst AU
= op
[2] & 0x0f;
8332 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8333 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8334 op
[0], op
[1], op
[2]);
8335 printf (" sd = 0x%x,", sd
);
8336 printf (" rsrc = 0x%x,", rsrc
);
8337 printf (" rdst = 0x%x\n", rdst
);
8339 SYNTAX("ftoi %1%S1, %0");
8340 #line 867 "rx-decode.opc"
8341 ID(ftoi
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8349 switch (op
[2] & 0x00)
8352 goto op_semantics_66
;
8358 switch (op
[2] & 0x00)
8361 goto op_semantics_66
;
8367 switch (op
[2] & 0x00)
8370 goto op_semantics_66
;
8376 switch (op
[2] & 0x00)
8381 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8382 #line 882 "rx-decode.opc"
8383 int sd AU
= op
[1] & 0x03;
8384 #line 882 "rx-decode.opc"
8385 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8386 #line 882 "rx-decode.opc"
8387 int rdst AU
= op
[2] & 0x0f;
8390 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8391 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8392 op
[0], op
[1], op
[2]);
8393 printf (" sd = 0x%x,", sd
);
8394 printf (" rsrc = 0x%x,", rsrc
);
8395 printf (" rdst = 0x%x\n", rdst
);
8397 SYNTAX("round %1%S1, %0");
8398 #line 882 "rx-decode.opc"
8399 ID(round
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8407 switch (op
[2] & 0x00)
8410 goto op_semantics_67
;
8416 switch (op
[2] & 0x00)
8419 goto op_semantics_67
;
8425 switch (op
[2] & 0x00)
8428 goto op_semantics_67
;
8434 switch (op
[2] & 0x00)
8439 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8440 #line 991 "rx-decode.opc"
8441 int sz AU
= (op
[1] >> 2) & 0x03;
8442 #line 991 "rx-decode.opc"
8443 int sd AU
= op
[1] & 0x03;
8444 #line 991 "rx-decode.opc"
8445 int rdst AU
= (op
[2] >> 4) & 0x0f;
8446 #line 991 "rx-decode.opc"
8447 int cond AU
= op
[2] & 0x0f;
8450 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8451 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8452 op
[0], op
[1], op
[2]);
8453 printf (" sz = 0x%x,", sz
);
8454 printf (" sd = 0x%x,", sd
);
8455 printf (" rdst = 0x%x,", rdst
);
8456 printf (" cond = 0x%x\n", cond
);
8458 SYNTAX("sc%1%s %0");
8459 #line 991 "rx-decode.opc"
8460 ID(sccnd
); BWL(sz
); DD (sd
, rdst
, sz
); Scc(cond
);
8468 switch (op
[2] & 0x00)
8471 goto op_semantics_68
;
8477 switch (op
[2] & 0x00)
8480 goto op_semantics_68
;
8486 switch (op
[2] & 0x00)
8489 goto op_semantics_68
;
8495 switch (op
[2] & 0x00)
8498 goto op_semantics_68
;
8504 switch (op
[2] & 0x00)
8507 goto op_semantics_68
;
8513 switch (op
[2] & 0x00)
8516 goto op_semantics_68
;
8522 switch (op
[2] & 0x00)
8525 goto op_semantics_68
;
8531 switch (op
[2] & 0x00)
8534 goto op_semantics_68
;
8540 switch (op
[2] & 0x00)
8543 goto op_semantics_68
;
8549 switch (op
[2] & 0x00)
8552 goto op_semantics_68
;
8558 switch (op
[2] & 0x00)
8561 goto op_semantics_68
;
8567 switch (op
[2] & 0x0f)
8586 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8587 #line 934 "rx-decode.opc"
8588 int bit AU
= (op
[1] >> 2) & 0x07;
8589 #line 934 "rx-decode.opc"
8590 int sd AU
= op
[1] & 0x03;
8591 #line 934 "rx-decode.opc"
8592 int rdst AU
= (op
[2] >> 4) & 0x0f;
8593 #line 934 "rx-decode.opc"
8594 int cond AU
= op
[2] & 0x0f;
8597 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8598 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8599 op
[0], op
[1], op
[2]);
8600 printf (" bit = 0x%x,", bit
);
8601 printf (" sd = 0x%x,", sd
);
8602 printf (" rdst = 0x%x,", rdst
);
8603 printf (" cond = 0x%x\n", cond
);
8605 SYNTAX("bm%2 #%1, %0%S0");
8606 #line 934 "rx-decode.opc"
8607 ID(bmcc
); BWL(BSIZE
); S2cc(cond
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8614 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8615 #line 924 "rx-decode.opc"
8616 int bit AU
= (op
[1] >> 2) & 0x07;
8617 #line 924 "rx-decode.opc"
8618 int sd AU
= op
[1] & 0x03;
8619 #line 924 "rx-decode.opc"
8620 int rdst AU
= (op
[2] >> 4) & 0x0f;
8623 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8624 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8625 op
[0], op
[1], op
[2]);
8626 printf (" bit = 0x%x,", bit
);
8627 printf (" sd = 0x%x,", sd
);
8628 printf (" rdst = 0x%x\n", rdst
);
8630 SYNTAX("bnot #%1, %0%S0");
8631 #line 924 "rx-decode.opc"
8632 ID(bnot
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8640 switch (op
[2] & 0x0f)
8657 goto op_semantics_69
;
8660 goto op_semantics_70
;
8666 switch (op
[2] & 0x0f)
8683 goto op_semantics_69
;
8686 goto op_semantics_70
;
8692 switch (op
[2] & 0x0f)
8709 goto op_semantics_69
;
8712 goto op_semantics_70
;
8718 switch (op
[2] & 0x0f)
8735 goto op_semantics_69
;
8738 goto op_semantics_70
;
8744 switch (op
[2] & 0x0f)
8761 goto op_semantics_69
;
8764 goto op_semantics_70
;
8770 switch (op
[2] & 0x0f)
8787 goto op_semantics_69
;
8790 goto op_semantics_70
;
8796 switch (op
[2] & 0x0f)
8813 goto op_semantics_69
;
8816 goto op_semantics_70
;
8822 switch (op
[2] & 0x0f)
8839 goto op_semantics_69
;
8842 goto op_semantics_70
;
8848 switch (op
[2] & 0x0f)
8865 goto op_semantics_69
;
8868 goto op_semantics_70
;
8874 switch (op
[2] & 0x0f)
8891 goto op_semantics_69
;
8894 goto op_semantics_70
;
8900 switch (op
[2] & 0x0f)
8917 goto op_semantics_69
;
8920 goto op_semantics_70
;
8926 switch (op
[2] & 0x0f)
8943 goto op_semantics_69
;
8946 goto op_semantics_70
;
8952 switch (op
[2] & 0x0f)
8969 goto op_semantics_69
;
8972 goto op_semantics_70
;
8978 switch (op
[2] & 0x0f)
8995 goto op_semantics_69
;
8998 goto op_semantics_70
;
9004 switch (op
[2] & 0x0f)
9021 goto op_semantics_69
;
9024 goto op_semantics_70
;
9030 switch (op
[2] & 0x0f)
9047 goto op_semantics_69
;
9050 goto op_semantics_70
;
9056 switch (op
[2] & 0x0f)
9073 goto op_semantics_69
;
9076 goto op_semantics_70
;
9082 switch (op
[2] & 0x0f)
9099 goto op_semantics_69
;
9102 goto op_semantics_70
;
9108 switch (op
[2] & 0x0f)
9125 goto op_semantics_69
;
9128 goto op_semantics_70
;
9134 switch (op
[2] & 0x0f)
9151 goto op_semantics_69
;
9154 goto op_semantics_70
;
9160 switch (op
[2] & 0x0f)
9177 goto op_semantics_69
;
9180 goto op_semantics_70
;
9186 switch (op
[2] & 0x0f)
9203 goto op_semantics_69
;
9206 goto op_semantics_70
;
9212 switch (op
[2] & 0x0f)
9229 goto op_semantics_69
;
9232 goto op_semantics_70
;
9238 switch (op
[2] & 0x0f)
9255 goto op_semantics_69
;
9258 goto op_semantics_70
;
9264 switch (op
[2] & 0x0f)
9281 goto op_semantics_69
;
9284 goto op_semantics_70
;
9290 switch (op
[2] & 0x0f)
9307 goto op_semantics_69
;
9310 goto op_semantics_70
;
9316 switch (op
[2] & 0x0f)
9333 goto op_semantics_69
;
9336 goto op_semantics_70
;
9342 switch (op
[2] & 0x0f)
9359 goto op_semantics_69
;
9362 goto op_semantics_70
;
9368 switch (op
[2] & 0x0f)
9385 goto op_semantics_69
;
9388 goto op_semantics_70
;
9394 switch (op
[2] & 0x0f)
9411 goto op_semantics_69
;
9414 goto op_semantics_70
;
9420 switch (op
[2] & 0x0f)
9437 goto op_semantics_69
;
9440 goto op_semantics_70
;
9444 default: UNSUPPORTED(); break;
9449 switch (op
[1] & 0xff)
9453 switch (op
[2] & 0x00)
9457 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9458 #line 807 "rx-decode.opc"
9459 int srca AU
= (op
[2] >> 4) & 0x0f;
9460 #line 807 "rx-decode.opc"
9461 int srcb AU
= op
[2] & 0x0f;
9464 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9465 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9466 op
[0], op
[1], op
[2]);
9467 printf (" srca = 0x%x,", srca
);
9468 printf (" srcb = 0x%x\n", srcb
);
9470 SYNTAX("mulhi %1, %2");
9471 #line 807 "rx-decode.opc"
9472 ID(mulhi
); SR(srca
); S2R(srcb
); F_____
;
9480 switch (op
[2] & 0x00)
9484 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9485 #line 810 "rx-decode.opc"
9486 int srca AU
= (op
[2] >> 4) & 0x0f;
9487 #line 810 "rx-decode.opc"
9488 int srcb AU
= op
[2] & 0x0f;
9491 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9492 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9493 op
[0], op
[1], op
[2]);
9494 printf (" srca = 0x%x,", srca
);
9495 printf (" srcb = 0x%x\n", srcb
);
9497 SYNTAX("mullo %1, %2");
9498 #line 810 "rx-decode.opc"
9499 ID(mullo
); SR(srca
); S2R(srcb
); F_____
;
9507 switch (op
[2] & 0x00)
9511 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9512 #line 813 "rx-decode.opc"
9513 int srca AU
= (op
[2] >> 4) & 0x0f;
9514 #line 813 "rx-decode.opc"
9515 int srcb AU
= op
[2] & 0x0f;
9518 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9519 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9520 op
[0], op
[1], op
[2]);
9521 printf (" srca = 0x%x,", srca
);
9522 printf (" srcb = 0x%x\n", srcb
);
9524 SYNTAX("machi %1, %2");
9525 #line 813 "rx-decode.opc"
9526 ID(machi
); SR(srca
); S2R(srcb
); F_____
;
9534 switch (op
[2] & 0x00)
9538 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9539 #line 816 "rx-decode.opc"
9540 int srca AU
= (op
[2] >> 4) & 0x0f;
9541 #line 816 "rx-decode.opc"
9542 int srcb AU
= op
[2] & 0x0f;
9545 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9546 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9547 op
[0], op
[1], op
[2]);
9548 printf (" srca = 0x%x,", srca
);
9549 printf (" srcb = 0x%x\n", srcb
);
9551 SYNTAX("maclo %1, %2");
9552 #line 816 "rx-decode.opc"
9553 ID(maclo
); SR(srca
); S2R(srcb
); F_____
;
9561 switch (op
[2] & 0xf0)
9565 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9566 #line 819 "rx-decode.opc"
9567 int rsrc AU
= op
[2] & 0x0f;
9570 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9571 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9572 op
[0], op
[1], op
[2]);
9573 printf (" rsrc = 0x%x\n", rsrc
);
9575 SYNTAX("mvtachi %1");
9576 #line 819 "rx-decode.opc"
9577 ID(mvtachi
); SR(rsrc
); F_____
;
9583 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9584 #line 822 "rx-decode.opc"
9585 int rsrc AU
= op
[2] & 0x0f;
9588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9589 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9590 op
[0], op
[1], op
[2]);
9591 printf (" rsrc = 0x%x\n", rsrc
);
9593 SYNTAX("mvtaclo %1");
9594 #line 822 "rx-decode.opc"
9595 ID(mvtaclo
); SR(rsrc
); F_____
;
9599 default: UNSUPPORTED(); break;
9604 switch (op
[2] & 0xef)
9608 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9609 #line 834 "rx-decode.opc"
9610 int i AU
= (op
[2] >> 4) & 0x01;
9613 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9614 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9615 op
[0], op
[1], op
[2]);
9616 printf (" i = 0x%x\n", i
);
9619 #line 834 "rx-decode.opc"
9620 ID(racw
); SC(i
+1); F_____
;
9622 /*----------------------------------------------------------------------*/
9627 default: UNSUPPORTED(); break;
9632 switch (op
[2] & 0xf0)
9636 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9637 #line 825 "rx-decode.opc"
9638 int rdst AU
= op
[2] & 0x0f;
9641 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9642 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9643 op
[0], op
[1], op
[2]);
9644 printf (" rdst = 0x%x\n", rdst
);
9646 SYNTAX("mvfachi %0");
9647 #line 825 "rx-decode.opc"
9648 ID(mvfachi
); DR(rdst
); F_____
;
9654 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9655 #line 831 "rx-decode.opc"
9656 int rdst AU
= op
[2] & 0x0f;
9659 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9660 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9661 op
[0], op
[1], op
[2]);
9662 printf (" rdst = 0x%x\n", rdst
);
9664 SYNTAX("mvfaclo %0");
9665 #line 831 "rx-decode.opc"
9666 ID(mvfaclo
); DR(rdst
); F_____
;
9672 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9673 #line 828 "rx-decode.opc"
9674 int rdst AU
= op
[2] & 0x0f;
9677 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9678 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9679 op
[0], op
[1], op
[2]);
9680 printf (" rdst = 0x%x\n", rdst
);
9682 SYNTAX("mvfacmi %0");
9683 #line 828 "rx-decode.opc"
9684 ID(mvfacmi
); DR(rdst
); F_____
;
9688 default: UNSUPPORTED(); break;
9693 switch (op
[2] & 0x00)
9698 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9699 #line 341 "rx-decode.opc"
9700 int p AU
= (op
[1] >> 2) & 0x01;
9701 #line 341 "rx-decode.opc"
9702 int sz AU
= op
[1] & 0x03;
9703 #line 341 "rx-decode.opc"
9704 int rdst AU
= (op
[2] >> 4) & 0x0f;
9705 #line 341 "rx-decode.opc"
9706 int rsrc AU
= op
[2] & 0x0f;
9709 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9710 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9711 op
[0], op
[1], op
[2]);
9712 printf (" p = 0x%x,", p
);
9713 printf (" sz = 0x%x,", sz
);
9714 printf (" rdst = 0x%x,", rdst
);
9715 printf (" rsrc = 0x%x\n", rsrc
);
9717 SYNTAX("mov%s %1, %0");
9718 #line 341 "rx-decode.opc"
9719 ID(mov
); sBWL (sz
); SR(rsrc
); F_____
;
9720 OP(0, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rdst
, 0);
9728 switch (op
[2] & 0x00)
9731 goto op_semantics_71
;
9737 switch (op
[2] & 0x00)
9740 goto op_semantics_71
;
9746 switch (op
[2] & 0x00)
9749 goto op_semantics_71
;
9755 switch (op
[2] & 0x00)
9758 goto op_semantics_71
;
9764 switch (op
[2] & 0x00)
9767 goto op_semantics_71
;
9773 switch (op
[2] & 0x00)
9778 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9779 #line 345 "rx-decode.opc"
9780 int p AU
= (op
[1] >> 2) & 0x01;
9781 #line 345 "rx-decode.opc"
9782 int sz AU
= op
[1] & 0x03;
9783 #line 345 "rx-decode.opc"
9784 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9785 #line 345 "rx-decode.opc"
9786 int rdst AU
= op
[2] & 0x0f;
9789 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9790 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9791 op
[0], op
[1], op
[2]);
9792 printf (" p = 0x%x,", p
);
9793 printf (" sz = 0x%x,", sz
);
9794 printf (" rsrc = 0x%x,", rsrc
);
9795 printf (" rdst = 0x%x\n", rdst
);
9797 SYNTAX("mov%s %1, %0");
9798 #line 345 "rx-decode.opc"
9799 ID(mov
); sBWL (sz
); DR(rdst
); F_____
;
9800 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9808 switch (op
[2] & 0x00)
9811 goto op_semantics_72
;
9817 switch (op
[2] & 0x00)
9820 goto op_semantics_72
;
9826 switch (op
[2] & 0x00)
9829 goto op_semantics_72
;
9835 switch (op
[2] & 0x00)
9838 goto op_semantics_72
;
9844 switch (op
[2] & 0x00)
9847 goto op_semantics_72
;
9853 switch (op
[2] & 0x00)
9858 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9859 #line 355 "rx-decode.opc"
9860 int p AU
= (op
[1] >> 2) & 0x01;
9861 #line 355 "rx-decode.opc"
9862 int sz AU
= op
[1] & 0x03;
9863 #line 355 "rx-decode.opc"
9864 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9865 #line 355 "rx-decode.opc"
9866 int rdst AU
= op
[2] & 0x0f;
9869 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9870 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9871 op
[0], op
[1], op
[2]);
9872 printf (" p = 0x%x,", p
);
9873 printf (" sz = 0x%x,", sz
);
9874 printf (" rsrc = 0x%x,", rsrc
);
9875 printf (" rdst = 0x%x\n", rdst
);
9877 SYNTAX("movu%s %1, %0");
9878 #line 355 "rx-decode.opc"
9879 ID(mov
); uBWL (sz
); DR(rdst
); F_____
;
9880 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9882 /*----------------------------------------------------------------------*/
9891 switch (op
[2] & 0x00)
9894 goto op_semantics_73
;
9900 switch (op
[2] & 0x00)
9903 goto op_semantics_73
;
9909 switch (op
[2] & 0x00)
9912 goto op_semantics_73
;
9918 switch (op
[2] & 0x00)
9921 goto op_semantics_73
;
9927 switch (op
[2] & 0x00)
9930 goto op_semantics_73
;
9936 switch (op
[2] & 0x00)
9940 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9941 #line 688 "rx-decode.opc"
9942 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9943 #line 688 "rx-decode.opc"
9944 int rdst AU
= op
[2] & 0x0f;
9947 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9948 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9949 op
[0], op
[1], op
[2]);
9950 printf (" rsrc = 0x%x,", rsrc
);
9951 printf (" rdst = 0x%x\n", rdst
);
9953 SYNTAX("shlr %2, %0");
9954 #line 688 "rx-decode.opc"
9955 ID(shlr
); S2R(rsrc
); SR(rdst
); DR(rdst
); F__SZC
;
9963 switch (op
[2] & 0x00)
9967 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9968 #line 678 "rx-decode.opc"
9969 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9970 #line 678 "rx-decode.opc"
9971 int rdst AU
= op
[2] & 0x0f;
9974 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9975 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9976 op
[0], op
[1], op
[2]);
9977 printf (" rsrc = 0x%x,", rsrc
);
9978 printf (" rdst = 0x%x\n", rdst
);
9980 SYNTAX("shar %2, %0");
9981 #line 678 "rx-decode.opc"
9982 ID(shar
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_0SZC
;
9990 switch (op
[2] & 0x00)
9994 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
9995 #line 668 "rx-decode.opc"
9996 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9997 #line 668 "rx-decode.opc"
9998 int rdst AU
= op
[2] & 0x0f;
10001 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10002 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
10003 op
[0], op
[1], op
[2]);
10004 printf (" rsrc = 0x%x,", rsrc
);
10005 printf (" rdst = 0x%x\n", rdst
);
10007 SYNTAX("shll %2, %0");
10008 #line 668 "rx-decode.opc"
10009 ID(shll
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
10017 switch (op
[2] & 0x00)
10021 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
10022 #line 712 "rx-decode.opc"
10023 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10024 #line 712 "rx-decode.opc"
10025 int rdst AU
= op
[2] & 0x0f;
10028 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10029 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
10030 op
[0], op
[1], op
[2]);
10031 printf (" rsrc = 0x%x,", rsrc
);
10032 printf (" rdst = 0x%x\n", rdst
);
10034 SYNTAX("rotr %1, %0");
10035 #line 712 "rx-decode.opc"
10036 ID(rotr
); SR(rsrc
); DR(rdst
); F__SZC
;
10044 switch (op
[2] & 0x00)
10048 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10049 #line 715 "rx-decode.opc"
10050 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10051 #line 715 "rx-decode.opc"
10052 int rdst AU
= op
[2] & 0x0f;
10055 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10056 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10057 op
[0], op
[1], op
[2]);
10058 printf (" rsrc = 0x%x,", rsrc
);
10059 printf (" rdst = 0x%x\n", rdst
);
10061 SYNTAX("revw %1, %0");
10062 #line 715 "rx-decode.opc"
10063 ID(revw
); SR(rsrc
); DR(rdst
);
10071 switch (op
[2] & 0x00)
10075 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10076 #line 706 "rx-decode.opc"
10077 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10078 #line 706 "rx-decode.opc"
10079 int rdst AU
= op
[2] & 0x0f;
10082 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10083 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10084 op
[0], op
[1], op
[2]);
10085 printf (" rsrc = 0x%x,", rsrc
);
10086 printf (" rdst = 0x%x\n", rdst
);
10088 SYNTAX("rotl %1, %0");
10089 #line 706 "rx-decode.opc"
10090 ID(rotl
); SR(rsrc
); DR(rdst
); F__SZC
;
10098 switch (op
[2] & 0x00)
10102 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10103 #line 718 "rx-decode.opc"
10104 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10105 #line 718 "rx-decode.opc"
10106 int rdst AU
= op
[2] & 0x0f;
10109 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10110 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10111 op
[0], op
[1], op
[2]);
10112 printf (" rsrc = 0x%x,", rsrc
);
10113 printf (" rdst = 0x%x\n", rdst
);
10115 SYNTAX("revl %1, %0");
10116 #line 718 "rx-decode.opc"
10117 ID(revl
); SR(rsrc
); DR(rdst
);
10119 /*----------------------------------------------------------------------*/
10128 switch (op
[2] & 0x00)
10133 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10134 #line 961 "rx-decode.opc"
10135 int c AU
= op
[1] & 0x01;
10136 #line 961 "rx-decode.opc"
10137 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10138 #line 961 "rx-decode.opc"
10139 int rdst AU
= op
[2] & 0x0f;
10142 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10143 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10144 op
[0], op
[1], op
[2]);
10145 printf (" c = 0x%x,", c
);
10146 printf (" rsrc = 0x%x,", rsrc
);
10147 printf (" rdst = 0x%x\n", rdst
);
10149 SYNTAX("mvtc %1, %0");
10150 #line 961 "rx-decode.opc"
10151 ID(mov
); SR(rsrc
); DR(c
*16+rdst
+ 16);
10159 switch (op
[2] & 0x00)
10162 goto op_semantics_74
;
10168 switch (op
[2] & 0x00)
10173 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10174 #line 964 "rx-decode.opc"
10175 int s AU
= op
[1] & 0x01;
10176 #line 964 "rx-decode.opc"
10177 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10178 #line 964 "rx-decode.opc"
10179 int rdst AU
= op
[2] & 0x0f;
10182 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10183 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10184 op
[0], op
[1], op
[2]);
10185 printf (" s = 0x%x,", s
);
10186 printf (" rsrc = 0x%x,", rsrc
);
10187 printf (" rdst = 0x%x\n", rdst
);
10189 SYNTAX("mvfc %1, %0");
10190 #line 964 "rx-decode.opc"
10191 ID(mov
); SR((s
*16+rsrc
) + 16); DR(rdst
);
10193 /*----------------------------------------------------------------------*/
10202 switch (op
[2] & 0x00)
10205 goto op_semantics_75
;
10211 switch (op
[2] & 0x00)
10216 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10217 #line 709 "rx-decode.opc"
10218 int i AU
= op
[1] & 0x01;
10219 #line 709 "rx-decode.opc"
10220 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10221 #line 709 "rx-decode.opc"
10222 int rdst AU
= op
[2] & 0x0f;
10225 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10226 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10227 op
[0], op
[1], op
[2]);
10228 printf (" i = 0x%x,", i
);
10229 printf (" mmmm = 0x%x,", mmmm
);
10230 printf (" rdst = 0x%x\n", rdst
);
10232 SYNTAX("rotr #%1, %0");
10233 #line 709 "rx-decode.opc"
10234 ID(rotr
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
10242 switch (op
[2] & 0x00)
10245 goto op_semantics_76
;
10251 switch (op
[2] & 0x00)
10256 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10257 #line 703 "rx-decode.opc"
10258 int i AU
= op
[1] & 0x01;
10259 #line 703 "rx-decode.opc"
10260 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10261 #line 703 "rx-decode.opc"
10262 int rdst AU
= op
[2] & 0x0f;
10265 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10266 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10267 op
[0], op
[1], op
[2]);
10268 printf (" i = 0x%x,", i
);
10269 printf (" mmmm = 0x%x,", mmmm
);
10270 printf (" rdst = 0x%x\n", rdst
);
10272 SYNTAX("rotl #%1, %0");
10273 #line 703 "rx-decode.opc"
10274 ID(rotl
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
10282 switch (op
[2] & 0x00)
10285 goto op_semantics_77
;
10291 switch (op
[2] & 0xf0)
10296 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10297 #line 485 "rx-decode.opc"
10298 int im AU
= (op
[1] >> 2) & 0x03;
10299 #line 485 "rx-decode.opc"
10300 int rdst AU
= op
[2] & 0x0f;
10303 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10304 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10305 op
[0], op
[1], op
[2]);
10306 printf (" im = 0x%x,", im
);
10307 printf (" rdst = 0x%x\n", rdst
);
10309 SYNTAX("adc #%1, %0");
10310 #line 485 "rx-decode.opc"
10311 ID(adc
); SC(IMMex(im
)); DR(rdst
); F_OSZC
;
10318 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10319 #line 567 "rx-decode.opc"
10320 int im AU
= (op
[1] >> 2) & 0x03;
10321 #line 567 "rx-decode.opc"
10322 int rdst AU
= op
[2] & 0x0f;
10325 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10326 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10327 op
[0], op
[1], op
[2]);
10328 printf (" im = 0x%x,", im
);
10329 printf (" rdst = 0x%x\n", rdst
);
10331 SYNTAX("max #%1, %0");
10332 #line 567 "rx-decode.opc"
10333 ID(max
); DR(rdst
); SC(IMMex(im
));
10340 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10341 #line 587 "rx-decode.opc"
10342 int im AU
= (op
[1] >> 2) & 0x03;
10343 #line 587 "rx-decode.opc"
10344 int rdst AU
= op
[2] & 0x0f;
10347 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10348 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10349 op
[0], op
[1], op
[2]);
10350 printf (" im = 0x%x,", im
);
10351 printf (" rdst = 0x%x\n", rdst
);
10353 SYNTAX("min #%1, %0");
10354 #line 587 "rx-decode.opc"
10355 ID(min
); DR(rdst
); SC(IMMex(im
));
10362 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10363 #line 617 "rx-decode.opc"
10364 int im AU
= (op
[1] >> 2) & 0x03;
10365 #line 617 "rx-decode.opc"
10366 int rdst AU
= op
[2] & 0x0f;
10369 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10370 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10371 op
[0], op
[1], op
[2]);
10372 printf (" im = 0x%x,", im
);
10373 printf (" rdst = 0x%x\n", rdst
);
10375 SYNTAX("emul #%1, %0");
10376 #line 617 "rx-decode.opc"
10377 ID(emul
); DR(rdst
); SC(IMMex(im
));
10384 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10385 #line 629 "rx-decode.opc"
10386 int im AU
= (op
[1] >> 2) & 0x03;
10387 #line 629 "rx-decode.opc"
10388 int rdst AU
= op
[2] & 0x0f;
10391 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10392 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10393 op
[0], op
[1], op
[2]);
10394 printf (" im = 0x%x,", im
);
10395 printf (" rdst = 0x%x\n", rdst
);
10397 SYNTAX("emulu #%1, %0");
10398 #line 629 "rx-decode.opc"
10399 ID(emulu
); DR(rdst
); SC(IMMex(im
));
10406 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10407 #line 641 "rx-decode.opc"
10408 int im AU
= (op
[1] >> 2) & 0x03;
10409 #line 641 "rx-decode.opc"
10410 int rdst AU
= op
[2] & 0x0f;
10413 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10414 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10415 op
[0], op
[1], op
[2]);
10416 printf (" im = 0x%x,", im
);
10417 printf (" rdst = 0x%x\n", rdst
);
10419 SYNTAX("div #%1, %0");
10420 #line 641 "rx-decode.opc"
10421 ID(div
); DR(rdst
); SC(IMMex(im
)); F_O___
;
10428 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10429 #line 653 "rx-decode.opc"
10430 int im AU
= (op
[1] >> 2) & 0x03;
10431 #line 653 "rx-decode.opc"
10432 int rdst AU
= op
[2] & 0x0f;
10435 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10436 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10437 op
[0], op
[1], op
[2]);
10438 printf (" im = 0x%x,", im
);
10439 printf (" rdst = 0x%x\n", rdst
);
10441 SYNTAX("divu #%1, %0");
10442 #line 653 "rx-decode.opc"
10443 ID(divu
); DR(rdst
); SC(IMMex(im
)); F_O___
;
10450 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10451 #line 464 "rx-decode.opc"
10452 int im AU
= (op
[1] >> 2) & 0x03;
10453 #line 464 "rx-decode.opc"
10454 int rdst AU
= op
[2] & 0x0f;
10457 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10458 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10459 op
[0], op
[1], op
[2]);
10460 printf (" im = 0x%x,", im
);
10461 printf (" rdst = 0x%x\n", rdst
);
10463 SYNTAX("tst #%1, %2");
10464 #line 464 "rx-decode.opc"
10465 ID(and); SC(IMMex(im
)); S2R(rdst
); F__SZ_
;
10472 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10473 #line 443 "rx-decode.opc"
10474 int im AU
= (op
[1] >> 2) & 0x03;
10475 #line 443 "rx-decode.opc"
10476 int rdst AU
= op
[2] & 0x0f;
10479 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10480 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10481 op
[0], op
[1], op
[2]);
10482 printf (" im = 0x%x,", im
);
10483 printf (" rdst = 0x%x\n", rdst
);
10485 SYNTAX("xor #%1, %0");
10486 #line 443 "rx-decode.opc"
10487 ID(xor); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
10494 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10495 #line 389 "rx-decode.opc"
10496 int im AU
= (op
[1] >> 2) & 0x03;
10497 #line 389 "rx-decode.opc"
10498 int rdst AU
= op
[2] & 0x0f;
10501 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10502 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10503 op
[0], op
[1], op
[2]);
10504 printf (" im = 0x%x,", im
);
10505 printf (" rdst = 0x%x\n", rdst
);
10507 SYNTAX("stz #%1, %0");
10508 #line 389 "rx-decode.opc"
10509 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_z
);
10516 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10517 #line 392 "rx-decode.opc"
10518 int im AU
= (op
[1] >> 2) & 0x03;
10519 #line 392 "rx-decode.opc"
10520 int rdst AU
= op
[2] & 0x0f;
10523 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10524 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10525 op
[0], op
[1], op
[2]);
10526 printf (" im = 0x%x,", im
);
10527 printf (" rdst = 0x%x\n", rdst
);
10529 SYNTAX("stnz #%1, %0");
10530 #line 392 "rx-decode.opc"
10531 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_nz
);
10533 /*----------------------------------------------------------------------*/
10538 default: UNSUPPORTED(); break;
10543 switch (op
[2] & 0xf0)
10547 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10548 #line 861 "rx-decode.opc"
10549 int rdst AU
= op
[2] & 0x0f;
10552 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10553 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10554 op
[0], op
[1], op
[2]);
10555 printf (" rdst = 0x%x\n", rdst
);
10557 SYNTAX("fsub #%1, %0");
10558 #line 861 "rx-decode.opc"
10559 ID(fsub
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10565 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10566 #line 855 "rx-decode.opc"
10567 int rdst AU
= op
[2] & 0x0f;
10570 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10571 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10572 op
[0], op
[1], op
[2]);
10573 printf (" rdst = 0x%x\n", rdst
);
10575 SYNTAX("fcmp #%1, %0");
10576 #line 855 "rx-decode.opc"
10577 ID(fcmp
); DR(rdst
); SC(IMM(0)); F_OSZ_
;
10583 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10584 #line 849 "rx-decode.opc"
10585 int rdst AU
= op
[2] & 0x0f;
10588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10589 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10590 op
[0], op
[1], op
[2]);
10591 printf (" rdst = 0x%x\n", rdst
);
10593 SYNTAX("fadd #%1, %0");
10594 #line 849 "rx-decode.opc"
10595 ID(fadd
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10601 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10602 #line 870 "rx-decode.opc"
10603 int rdst AU
= op
[2] & 0x0f;
10606 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10607 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10608 op
[0], op
[1], op
[2]);
10609 printf (" rdst = 0x%x\n", rdst
);
10611 SYNTAX("fmul #%1, %0");
10612 #line 870 "rx-decode.opc"
10613 ID(fmul
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10619 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10620 #line 876 "rx-decode.opc"
10621 int rdst AU
= op
[2] & 0x0f;
10624 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10625 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10626 op
[0], op
[1], op
[2]);
10627 printf (" rdst = 0x%x\n", rdst
);
10629 SYNTAX("fdiv #%1, %0");
10630 #line 876 "rx-decode.opc"
10631 ID(fdiv
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10635 default: UNSUPPORTED(); break;
10640 switch (op
[2] & 0xe0)
10645 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10646 #line 958 "rx-decode.opc"
10647 int im AU
= (op
[1] >> 2) & 0x03;
10648 #line 958 "rx-decode.opc"
10649 int crdst AU
= op
[2] & 0x1f;
10652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10653 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10654 op
[0], op
[1], op
[2]);
10655 printf (" im = 0x%x,", im
);
10656 printf (" crdst = 0x%x\n", crdst
);
10658 SYNTAX("mvtc #%1, %0");
10659 #line 958 "rx-decode.opc"
10660 ID(mov
); SC(IMMex(im
)); DR(crdst
+ 16);
10664 default: UNSUPPORTED(); break;
10669 switch (op
[2] & 0xf0)
10672 goto op_semantics_78
;
10675 goto op_semantics_79
;
10678 goto op_semantics_80
;
10681 goto op_semantics_81
;
10684 goto op_semantics_82
;
10687 goto op_semantics_83
;
10690 goto op_semantics_84
;
10693 goto op_semantics_85
;
10696 goto op_semantics_86
;
10699 goto op_semantics_87
;
10702 goto op_semantics_88
;
10704 default: UNSUPPORTED(); break;
10709 switch (op
[2] & 0xe0)
10712 goto op_semantics_89
;
10714 default: UNSUPPORTED(); break;
10719 switch (op
[2] & 0xf0)
10722 goto op_semantics_78
;
10725 goto op_semantics_79
;
10728 goto op_semantics_80
;
10731 goto op_semantics_81
;
10734 goto op_semantics_82
;
10737 goto op_semantics_83
;
10740 goto op_semantics_84
;
10743 goto op_semantics_85
;
10746 goto op_semantics_86
;
10749 goto op_semantics_87
;
10752 goto op_semantics_88
;
10754 default: UNSUPPORTED(); break;
10759 switch (op
[2] & 0xe0)
10762 goto op_semantics_89
;
10764 default: UNSUPPORTED(); break;
10769 switch (op
[2] & 0xf0)
10772 goto op_semantics_78
;
10775 goto op_semantics_79
;
10778 goto op_semantics_80
;
10781 goto op_semantics_81
;
10784 goto op_semantics_82
;
10787 goto op_semantics_83
;
10790 goto op_semantics_84
;
10793 goto op_semantics_85
;
10796 goto op_semantics_86
;
10799 goto op_semantics_87
;
10802 goto op_semantics_88
;
10804 default: UNSUPPORTED(); break;
10809 switch (op
[2] & 0xe0)
10812 goto op_semantics_89
;
10814 default: UNSUPPORTED(); break;
10819 switch (op
[2] & 0x00)
10824 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10825 #line 691 "rx-decode.opc"
10826 int immmm AU
= op
[1] & 0x1f;
10827 #line 691 "rx-decode.opc"
10828 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10829 #line 691 "rx-decode.opc"
10830 int rdst AU
= op
[2] & 0x0f;
10833 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10834 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10835 op
[0], op
[1], op
[2]);
10836 printf (" immmm = 0x%x,", immmm
);
10837 printf (" rsrc = 0x%x,", rsrc
);
10838 printf (" rdst = 0x%x\n", rdst
);
10840 SYNTAX("shlr #%2, %1, %0");
10841 #line 691 "rx-decode.opc"
10842 ID(shlr
); S2C(immmm
); SR(rsrc
); DR(rdst
); F__SZC
;
10844 /*----------------------------------------------------------------------*/
10853 switch (op
[2] & 0x00)
10856 goto op_semantics_90
;
10862 switch (op
[2] & 0x00)
10865 goto op_semantics_90
;
10871 switch (op
[2] & 0x00)
10874 goto op_semantics_90
;
10880 switch (op
[2] & 0x00)
10883 goto op_semantics_90
;
10889 switch (op
[2] & 0x00)
10892 goto op_semantics_90
;
10898 switch (op
[2] & 0x00)
10901 goto op_semantics_90
;
10907 switch (op
[2] & 0x00)
10910 goto op_semantics_90
;
10916 switch (op
[2] & 0x00)
10919 goto op_semantics_90
;
10925 switch (op
[2] & 0x00)
10928 goto op_semantics_90
;
10934 switch (op
[2] & 0x00)
10937 goto op_semantics_90
;
10943 switch (op
[2] & 0x00)
10946 goto op_semantics_90
;
10952 switch (op
[2] & 0x00)
10955 goto op_semantics_90
;
10961 switch (op
[2] & 0x00)
10964 goto op_semantics_90
;
10970 switch (op
[2] & 0x00)
10973 goto op_semantics_90
;
10979 switch (op
[2] & 0x00)
10982 goto op_semantics_90
;
10988 switch (op
[2] & 0x00)
10991 goto op_semantics_90
;
10997 switch (op
[2] & 0x00)
11000 goto op_semantics_90
;
11006 switch (op
[2] & 0x00)
11009 goto op_semantics_90
;
11015 switch (op
[2] & 0x00)
11018 goto op_semantics_90
;
11024 switch (op
[2] & 0x00)
11027 goto op_semantics_90
;
11033 switch (op
[2] & 0x00)
11036 goto op_semantics_90
;
11042 switch (op
[2] & 0x00)
11045 goto op_semantics_90
;
11051 switch (op
[2] & 0x00)
11054 goto op_semantics_90
;
11060 switch (op
[2] & 0x00)
11063 goto op_semantics_90
;
11069 switch (op
[2] & 0x00)
11072 goto op_semantics_90
;
11078 switch (op
[2] & 0x00)
11081 goto op_semantics_90
;
11087 switch (op
[2] & 0x00)
11090 goto op_semantics_90
;
11096 switch (op
[2] & 0x00)
11099 goto op_semantics_90
;
11105 switch (op
[2] & 0x00)
11108 goto op_semantics_90
;
11114 switch (op
[2] & 0x00)
11117 goto op_semantics_90
;
11123 switch (op
[2] & 0x00)
11126 goto op_semantics_90
;
11132 switch (op
[2] & 0x00)
11137 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11138 #line 681 "rx-decode.opc"
11139 int immmm AU
= op
[1] & 0x1f;
11140 #line 681 "rx-decode.opc"
11141 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11142 #line 681 "rx-decode.opc"
11143 int rdst AU
= op
[2] & 0x0f;
11146 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11147 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11148 op
[0], op
[1], op
[2]);
11149 printf (" immmm = 0x%x,", immmm
);
11150 printf (" rsrc = 0x%x,", rsrc
);
11151 printf (" rdst = 0x%x\n", rdst
);
11153 SYNTAX("shar #%2, %1, %0");
11154 #line 681 "rx-decode.opc"
11155 ID(shar
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_0SZC
;
11164 switch (op
[2] & 0x00)
11167 goto op_semantics_91
;
11173 switch (op
[2] & 0x00)
11176 goto op_semantics_91
;
11182 switch (op
[2] & 0x00)
11185 goto op_semantics_91
;
11191 switch (op
[2] & 0x00)
11194 goto op_semantics_91
;
11200 switch (op
[2] & 0x00)
11203 goto op_semantics_91
;
11209 switch (op
[2] & 0x00)
11212 goto op_semantics_91
;
11218 switch (op
[2] & 0x00)
11221 goto op_semantics_91
;
11227 switch (op
[2] & 0x00)
11230 goto op_semantics_91
;
11236 switch (op
[2] & 0x00)
11239 goto op_semantics_91
;
11245 switch (op
[2] & 0x00)
11248 goto op_semantics_91
;
11254 switch (op
[2] & 0x00)
11257 goto op_semantics_91
;
11263 switch (op
[2] & 0x00)
11266 goto op_semantics_91
;
11272 switch (op
[2] & 0x00)
11275 goto op_semantics_91
;
11281 switch (op
[2] & 0x00)
11284 goto op_semantics_91
;
11290 switch (op
[2] & 0x00)
11293 goto op_semantics_91
;
11299 switch (op
[2] & 0x00)
11302 goto op_semantics_91
;
11308 switch (op
[2] & 0x00)
11311 goto op_semantics_91
;
11317 switch (op
[2] & 0x00)
11320 goto op_semantics_91
;
11326 switch (op
[2] & 0x00)
11329 goto op_semantics_91
;
11335 switch (op
[2] & 0x00)
11338 goto op_semantics_91
;
11344 switch (op
[2] & 0x00)
11347 goto op_semantics_91
;
11353 switch (op
[2] & 0x00)
11356 goto op_semantics_91
;
11362 switch (op
[2] & 0x00)
11365 goto op_semantics_91
;
11371 switch (op
[2] & 0x00)
11374 goto op_semantics_91
;
11380 switch (op
[2] & 0x00)
11383 goto op_semantics_91
;
11389 switch (op
[2] & 0x00)
11392 goto op_semantics_91
;
11398 switch (op
[2] & 0x00)
11401 goto op_semantics_91
;
11407 switch (op
[2] & 0x00)
11410 goto op_semantics_91
;
11416 switch (op
[2] & 0x00)
11419 goto op_semantics_91
;
11425 switch (op
[2] & 0x00)
11428 goto op_semantics_91
;
11434 switch (op
[2] & 0x00)
11437 goto op_semantics_91
;
11443 switch (op
[2] & 0x00)
11448 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11449 #line 671 "rx-decode.opc"
11450 int immmm AU
= op
[1] & 0x1f;
11451 #line 671 "rx-decode.opc"
11452 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11453 #line 671 "rx-decode.opc"
11454 int rdst AU
= op
[2] & 0x0f;
11457 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11458 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11459 op
[0], op
[1], op
[2]);
11460 printf (" immmm = 0x%x,", immmm
);
11461 printf (" rsrc = 0x%x,", rsrc
);
11462 printf (" rdst = 0x%x\n", rdst
);
11464 SYNTAX("shll #%2, %1, %0");
11465 #line 671 "rx-decode.opc"
11466 ID(shll
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_OSZC
;
11475 switch (op
[2] & 0x00)
11478 goto op_semantics_92
;
11484 switch (op
[2] & 0x00)
11487 goto op_semantics_92
;
11493 switch (op
[2] & 0x00)
11496 goto op_semantics_92
;
11502 switch (op
[2] & 0x00)
11505 goto op_semantics_92
;
11511 switch (op
[2] & 0x00)
11514 goto op_semantics_92
;
11520 switch (op
[2] & 0x00)
11523 goto op_semantics_92
;
11529 switch (op
[2] & 0x00)
11532 goto op_semantics_92
;
11538 switch (op
[2] & 0x00)
11541 goto op_semantics_92
;
11547 switch (op
[2] & 0x00)
11550 goto op_semantics_92
;
11556 switch (op
[2] & 0x00)
11559 goto op_semantics_92
;
11565 switch (op
[2] & 0x00)
11568 goto op_semantics_92
;
11574 switch (op
[2] & 0x00)
11577 goto op_semantics_92
;
11583 switch (op
[2] & 0x00)
11586 goto op_semantics_92
;
11592 switch (op
[2] & 0x00)
11595 goto op_semantics_92
;
11601 switch (op
[2] & 0x00)
11604 goto op_semantics_92
;
11610 switch (op
[2] & 0x00)
11613 goto op_semantics_92
;
11619 switch (op
[2] & 0x00)
11622 goto op_semantics_92
;
11628 switch (op
[2] & 0x00)
11631 goto op_semantics_92
;
11637 switch (op
[2] & 0x00)
11640 goto op_semantics_92
;
11646 switch (op
[2] & 0x00)
11649 goto op_semantics_92
;
11655 switch (op
[2] & 0x00)
11658 goto op_semantics_92
;
11664 switch (op
[2] & 0x00)
11667 goto op_semantics_92
;
11673 switch (op
[2] & 0x00)
11676 goto op_semantics_92
;
11682 switch (op
[2] & 0x00)
11685 goto op_semantics_92
;
11691 switch (op
[2] & 0x00)
11694 goto op_semantics_92
;
11700 switch (op
[2] & 0x00)
11703 goto op_semantics_92
;
11709 switch (op
[2] & 0x00)
11712 goto op_semantics_92
;
11718 switch (op
[2] & 0x00)
11721 goto op_semantics_92
;
11727 switch (op
[2] & 0x00)
11730 goto op_semantics_92
;
11736 switch (op
[2] & 0x00)
11739 goto op_semantics_92
;
11745 switch (op
[2] & 0x00)
11748 goto op_semantics_92
;
11754 switch (op
[2] & 0xf0)
11773 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11774 #line 937 "rx-decode.opc"
11775 int bittt AU
= op
[1] & 0x1f;
11776 #line 937 "rx-decode.opc"
11777 int cond AU
= (op
[2] >> 4) & 0x0f;
11778 #line 937 "rx-decode.opc"
11779 int rdst AU
= op
[2] & 0x0f;
11782 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11783 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11784 op
[0], op
[1], op
[2]);
11785 printf (" bittt = 0x%x,", bittt
);
11786 printf (" cond = 0x%x,", cond
);
11787 printf (" rdst = 0x%x\n", rdst
);
11789 SYNTAX("bm%2 #%1, %0%S0");
11790 #line 937 "rx-decode.opc"
11791 ID(bmcc
); BWL(LSIZE
); S2cc(cond
); SC(bittt
); DR(rdst
);
11793 /*----------------------------------------------------------------------*/
11794 /* CONTROL REGISTERS */
11801 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11802 #line 930 "rx-decode.opc"
11803 int bittt AU
= op
[1] & 0x1f;
11804 #line 930 "rx-decode.opc"
11805 int rdst AU
= op
[2] & 0x0f;
11808 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11809 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11810 op
[0], op
[1], op
[2]);
11811 printf (" bittt = 0x%x,", bittt
);
11812 printf (" rdst = 0x%x\n", rdst
);
11814 SYNTAX("bnot #%1, %0");
11815 #line 930 "rx-decode.opc"
11816 ID(bnot
); BWL(LSIZE
); SC(bittt
); DR(rdst
);
11825 switch (op
[2] & 0xf0)
11842 goto op_semantics_93
;
11845 goto op_semantics_94
;
11851 switch (op
[2] & 0xf0)
11868 goto op_semantics_93
;
11871 goto op_semantics_94
;
11877 switch (op
[2] & 0xf0)
11894 goto op_semantics_93
;
11897 goto op_semantics_94
;
11903 switch (op
[2] & 0xf0)
11920 goto op_semantics_93
;
11923 goto op_semantics_94
;
11929 switch (op
[2] & 0xf0)
11946 goto op_semantics_93
;
11949 goto op_semantics_94
;
11955 switch (op
[2] & 0xf0)
11972 goto op_semantics_93
;
11975 goto op_semantics_94
;
11981 switch (op
[2] & 0xf0)
11998 goto op_semantics_93
;
12001 goto op_semantics_94
;
12007 switch (op
[2] & 0xf0)
12024 goto op_semantics_93
;
12027 goto op_semantics_94
;
12033 switch (op
[2] & 0xf0)
12050 goto op_semantics_93
;
12053 goto op_semantics_94
;
12059 switch (op
[2] & 0xf0)
12076 goto op_semantics_93
;
12079 goto op_semantics_94
;
12085 switch (op
[2] & 0xf0)
12102 goto op_semantics_93
;
12105 goto op_semantics_94
;
12111 switch (op
[2] & 0xf0)
12128 goto op_semantics_93
;
12131 goto op_semantics_94
;
12137 switch (op
[2] & 0xf0)
12154 goto op_semantics_93
;
12157 goto op_semantics_94
;
12163 switch (op
[2] & 0xf0)
12180 goto op_semantics_93
;
12183 goto op_semantics_94
;
12189 switch (op
[2] & 0xf0)
12206 goto op_semantics_93
;
12209 goto op_semantics_94
;
12215 switch (op
[2] & 0xf0)
12232 goto op_semantics_93
;
12235 goto op_semantics_94
;
12241 switch (op
[2] & 0xf0)
12258 goto op_semantics_93
;
12261 goto op_semantics_94
;
12267 switch (op
[2] & 0xf0)
12284 goto op_semantics_93
;
12287 goto op_semantics_94
;
12293 switch (op
[2] & 0xf0)
12310 goto op_semantics_93
;
12313 goto op_semantics_94
;
12319 switch (op
[2] & 0xf0)
12336 goto op_semantics_93
;
12339 goto op_semantics_94
;
12345 switch (op
[2] & 0xf0)
12362 goto op_semantics_93
;
12365 goto op_semantics_94
;
12371 switch (op
[2] & 0xf0)
12388 goto op_semantics_93
;
12391 goto op_semantics_94
;
12397 switch (op
[2] & 0xf0)
12414 goto op_semantics_93
;
12417 goto op_semantics_94
;
12423 switch (op
[2] & 0xf0)
12440 goto op_semantics_93
;
12443 goto op_semantics_94
;
12449 switch (op
[2] & 0xf0)
12466 goto op_semantics_93
;
12469 goto op_semantics_94
;
12475 switch (op
[2] & 0xf0)
12492 goto op_semantics_93
;
12495 goto op_semantics_94
;
12501 switch (op
[2] & 0xf0)
12518 goto op_semantics_93
;
12521 goto op_semantics_94
;
12527 switch (op
[2] & 0xf0)
12544 goto op_semantics_93
;
12547 goto op_semantics_94
;
12553 switch (op
[2] & 0xf0)
12570 goto op_semantics_93
;
12573 goto op_semantics_94
;
12579 switch (op
[2] & 0xf0)
12596 goto op_semantics_93
;
12599 goto op_semantics_94
;
12605 switch (op
[2] & 0xf0)
12622 goto op_semantics_93
;
12625 goto op_semantics_94
;
12629 default: UNSUPPORTED(); break;
12634 switch (op
[1] & 0xff)
12638 switch (op
[2] & 0x00)
12643 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12644 #line 335 "rx-decode.opc"
12645 int sz AU
= (op
[1] >> 4) & 0x03;
12646 #line 335 "rx-decode.opc"
12647 int isrc AU
= op
[1] & 0x0f;
12648 #line 335 "rx-decode.opc"
12649 int bsrc AU
= (op
[2] >> 4) & 0x0f;
12650 #line 335 "rx-decode.opc"
12651 int rdst AU
= op
[2] & 0x0f;
12654 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12655 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12656 op
[0], op
[1], op
[2]);
12657 printf (" sz = 0x%x,", sz
);
12658 printf (" isrc = 0x%x,", isrc
);
12659 printf (" bsrc = 0x%x,", bsrc
);
12660 printf (" rdst = 0x%x\n", rdst
);
12662 SYNTAX("mov%s %0, [%1, %2]");
12663 #line 335 "rx-decode.opc"
12664 ID(movbir
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
12672 switch (op
[2] & 0x00)
12675 goto op_semantics_95
;
12681 switch (op
[2] & 0x00)
12684 goto op_semantics_95
;
12690 switch (op
[2] & 0x00)
12693 goto op_semantics_95
;
12699 switch (op
[2] & 0x00)
12702 goto op_semantics_95
;
12708 switch (op
[2] & 0x00)
12711 goto op_semantics_95
;
12717 switch (op
[2] & 0x00)
12720 goto op_semantics_95
;
12726 switch (op
[2] & 0x00)
12729 goto op_semantics_95
;
12735 switch (op
[2] & 0x00)
12738 goto op_semantics_95
;
12744 switch (op
[2] & 0x00)
12747 goto op_semantics_95
;
12753 switch (op
[2] & 0x00)
12756 goto op_semantics_95
;
12762 switch (op
[2] & 0x00)
12765 goto op_semantics_95
;
12771 switch (op
[2] & 0x00)
12774 goto op_semantics_95
;
12780 switch (op
[2] & 0x00)
12783 goto op_semantics_95
;
12789 switch (op
[2] & 0x00)
12792 goto op_semantics_95
;
12798 switch (op
[2] & 0x00)
12801 goto op_semantics_95
;
12807 switch (op
[2] & 0x00)
12810 goto op_semantics_95
;
12816 switch (op
[2] & 0x00)
12819 goto op_semantics_95
;
12825 switch (op
[2] & 0x00)
12828 goto op_semantics_95
;
12834 switch (op
[2] & 0x00)
12837 goto op_semantics_95
;
12843 switch (op
[2] & 0x00)
12846 goto op_semantics_95
;
12852 switch (op
[2] & 0x00)
12855 goto op_semantics_95
;
12861 switch (op
[2] & 0x00)
12864 goto op_semantics_95
;
12870 switch (op
[2] & 0x00)
12873 goto op_semantics_95
;
12879 switch (op
[2] & 0x00)
12882 goto op_semantics_95
;
12888 switch (op
[2] & 0x00)
12891 goto op_semantics_95
;
12897 switch (op
[2] & 0x00)
12900 goto op_semantics_95
;
12906 switch (op
[2] & 0x00)
12909 goto op_semantics_95
;
12915 switch (op
[2] & 0x00)
12918 goto op_semantics_95
;
12924 switch (op
[2] & 0x00)
12927 goto op_semantics_95
;
12933 switch (op
[2] & 0x00)
12936 goto op_semantics_95
;
12942 switch (op
[2] & 0x00)
12945 goto op_semantics_95
;
12951 switch (op
[2] & 0x00)
12954 goto op_semantics_95
;
12960 switch (op
[2] & 0x00)
12963 goto op_semantics_95
;
12969 switch (op
[2] & 0x00)
12972 goto op_semantics_95
;
12978 switch (op
[2] & 0x00)
12981 goto op_semantics_95
;
12987 switch (op
[2] & 0x00)
12990 goto op_semantics_95
;
12996 switch (op
[2] & 0x00)
12999 goto op_semantics_95
;
13005 switch (op
[2] & 0x00)
13008 goto op_semantics_95
;
13014 switch (op
[2] & 0x00)
13017 goto op_semantics_95
;
13023 switch (op
[2] & 0x00)
13026 goto op_semantics_95
;
13032 switch (op
[2] & 0x00)
13035 goto op_semantics_95
;
13041 switch (op
[2] & 0x00)
13044 goto op_semantics_95
;
13050 switch (op
[2] & 0x00)
13053 goto op_semantics_95
;
13059 switch (op
[2] & 0x00)
13062 goto op_semantics_95
;
13068 switch (op
[2] & 0x00)
13071 goto op_semantics_95
;
13077 switch (op
[2] & 0x00)
13080 goto op_semantics_95
;
13086 switch (op
[2] & 0x00)
13089 goto op_semantics_95
;
13095 switch (op
[2] & 0x00)
13100 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13101 #line 332 "rx-decode.opc"
13102 int sz AU
= (op
[1] >> 4) & 0x03;
13103 #line 332 "rx-decode.opc"
13104 int isrc AU
= op
[1] & 0x0f;
13105 #line 332 "rx-decode.opc"
13106 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13107 #line 332 "rx-decode.opc"
13108 int rdst AU
= op
[2] & 0x0f;
13111 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13112 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13113 op
[0], op
[1], op
[2]);
13114 printf (" sz = 0x%x,", sz
);
13115 printf (" isrc = 0x%x,", isrc
);
13116 printf (" bsrc = 0x%x,", bsrc
);
13117 printf (" rdst = 0x%x\n", rdst
);
13119 SYNTAX("mov%s [%1, %2], %0");
13120 #line 332 "rx-decode.opc"
13121 ID(movbi
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
13129 switch (op
[2] & 0x00)
13132 goto op_semantics_96
;
13138 switch (op
[2] & 0x00)
13141 goto op_semantics_96
;
13147 switch (op
[2] & 0x00)
13150 goto op_semantics_96
;
13156 switch (op
[2] & 0x00)
13159 goto op_semantics_96
;
13165 switch (op
[2] & 0x00)
13168 goto op_semantics_96
;
13174 switch (op
[2] & 0x00)
13177 goto op_semantics_96
;
13183 switch (op
[2] & 0x00)
13186 goto op_semantics_96
;
13192 switch (op
[2] & 0x00)
13195 goto op_semantics_96
;
13201 switch (op
[2] & 0x00)
13204 goto op_semantics_96
;
13210 switch (op
[2] & 0x00)
13213 goto op_semantics_96
;
13219 switch (op
[2] & 0x00)
13222 goto op_semantics_96
;
13228 switch (op
[2] & 0x00)
13231 goto op_semantics_96
;
13237 switch (op
[2] & 0x00)
13240 goto op_semantics_96
;
13246 switch (op
[2] & 0x00)
13249 goto op_semantics_96
;
13255 switch (op
[2] & 0x00)
13258 goto op_semantics_96
;
13264 switch (op
[2] & 0x00)
13267 goto op_semantics_96
;
13273 switch (op
[2] & 0x00)
13276 goto op_semantics_96
;
13282 switch (op
[2] & 0x00)
13285 goto op_semantics_96
;
13291 switch (op
[2] & 0x00)
13294 goto op_semantics_96
;
13300 switch (op
[2] & 0x00)
13303 goto op_semantics_96
;
13309 switch (op
[2] & 0x00)
13312 goto op_semantics_96
;
13318 switch (op
[2] & 0x00)
13321 goto op_semantics_96
;
13327 switch (op
[2] & 0x00)
13330 goto op_semantics_96
;
13336 switch (op
[2] & 0x00)
13339 goto op_semantics_96
;
13345 switch (op
[2] & 0x00)
13348 goto op_semantics_96
;
13354 switch (op
[2] & 0x00)
13357 goto op_semantics_96
;
13363 switch (op
[2] & 0x00)
13366 goto op_semantics_96
;
13372 switch (op
[2] & 0x00)
13375 goto op_semantics_96
;
13381 switch (op
[2] & 0x00)
13384 goto op_semantics_96
;
13390 switch (op
[2] & 0x00)
13393 goto op_semantics_96
;
13399 switch (op
[2] & 0x00)
13402 goto op_semantics_96
;
13408 switch (op
[2] & 0x00)
13411 goto op_semantics_96
;
13417 switch (op
[2] & 0x00)
13420 goto op_semantics_96
;
13426 switch (op
[2] & 0x00)
13429 goto op_semantics_96
;
13435 switch (op
[2] & 0x00)
13438 goto op_semantics_96
;
13444 switch (op
[2] & 0x00)
13447 goto op_semantics_96
;
13453 switch (op
[2] & 0x00)
13456 goto op_semantics_96
;
13462 switch (op
[2] & 0x00)
13465 goto op_semantics_96
;
13471 switch (op
[2] & 0x00)
13474 goto op_semantics_96
;
13480 switch (op
[2] & 0x00)
13483 goto op_semantics_96
;
13489 switch (op
[2] & 0x00)
13492 goto op_semantics_96
;
13498 switch (op
[2] & 0x00)
13501 goto op_semantics_96
;
13507 switch (op
[2] & 0x00)
13510 goto op_semantics_96
;
13516 switch (op
[2] & 0x00)
13519 goto op_semantics_96
;
13525 switch (op
[2] & 0x00)
13528 goto op_semantics_96
;
13534 switch (op
[2] & 0x00)
13537 goto op_semantics_96
;
13543 switch (op
[2] & 0x00)
13546 goto op_semantics_96
;
13552 switch (op
[2] & 0x00)
13557 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13558 #line 338 "rx-decode.opc"
13559 int sz AU
= (op
[1] >> 4) & 0x03;
13560 #line 338 "rx-decode.opc"
13561 int isrc AU
= op
[1] & 0x0f;
13562 #line 338 "rx-decode.opc"
13563 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13564 #line 338 "rx-decode.opc"
13565 int rdst AU
= op
[2] & 0x0f;
13568 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13569 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13570 op
[0], op
[1], op
[2]);
13571 printf (" sz = 0x%x,", sz
);
13572 printf (" isrc = 0x%x,", isrc
);
13573 printf (" bsrc = 0x%x,", bsrc
);
13574 printf (" rdst = 0x%x\n", rdst
);
13576 SYNTAX("movu%s [%1, %2], %0");
13577 #line 338 "rx-decode.opc"
13578 ID(movbi
); uBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
13586 switch (op
[2] & 0x00)
13589 goto op_semantics_97
;
13595 switch (op
[2] & 0x00)
13598 goto op_semantics_97
;
13604 switch (op
[2] & 0x00)
13607 goto op_semantics_97
;
13613 switch (op
[2] & 0x00)
13616 goto op_semantics_97
;
13622 switch (op
[2] & 0x00)
13625 goto op_semantics_97
;
13631 switch (op
[2] & 0x00)
13634 goto op_semantics_97
;
13640 switch (op
[2] & 0x00)
13643 goto op_semantics_97
;
13649 switch (op
[2] & 0x00)
13652 goto op_semantics_97
;
13658 switch (op
[2] & 0x00)
13661 goto op_semantics_97
;
13667 switch (op
[2] & 0x00)
13670 goto op_semantics_97
;
13676 switch (op
[2] & 0x00)
13679 goto op_semantics_97
;
13685 switch (op
[2] & 0x00)
13688 goto op_semantics_97
;
13694 switch (op
[2] & 0x00)
13697 goto op_semantics_97
;
13703 switch (op
[2] & 0x00)
13706 goto op_semantics_97
;
13712 switch (op
[2] & 0x00)
13715 goto op_semantics_97
;
13721 switch (op
[2] & 0x00)
13724 goto op_semantics_97
;
13730 switch (op
[2] & 0x00)
13733 goto op_semantics_97
;
13739 switch (op
[2] & 0x00)
13742 goto op_semantics_97
;
13748 switch (op
[2] & 0x00)
13751 goto op_semantics_97
;
13757 switch (op
[2] & 0x00)
13760 goto op_semantics_97
;
13766 switch (op
[2] & 0x00)
13769 goto op_semantics_97
;
13775 switch (op
[2] & 0x00)
13778 goto op_semantics_97
;
13784 switch (op
[2] & 0x00)
13787 goto op_semantics_97
;
13793 switch (op
[2] & 0x00)
13796 goto op_semantics_97
;
13802 switch (op
[2] & 0x00)
13805 goto op_semantics_97
;
13811 switch (op
[2] & 0x00)
13814 goto op_semantics_97
;
13820 switch (op
[2] & 0x00)
13823 goto op_semantics_97
;
13829 switch (op
[2] & 0x00)
13832 goto op_semantics_97
;
13838 switch (op
[2] & 0x00)
13841 goto op_semantics_97
;
13847 switch (op
[2] & 0x00)
13850 goto op_semantics_97
;
13856 switch (op
[2] & 0x00)
13859 goto op_semantics_97
;
13865 switch (op
[2] & 0x00)
13868 goto op_semantics_97
;
13874 switch (op
[2] & 0x00)
13877 goto op_semantics_97
;
13883 switch (op
[2] & 0x00)
13886 goto op_semantics_97
;
13892 switch (op
[2] & 0x00)
13895 goto op_semantics_97
;
13901 switch (op
[2] & 0x00)
13904 goto op_semantics_97
;
13910 switch (op
[2] & 0x00)
13913 goto op_semantics_97
;
13919 switch (op
[2] & 0x00)
13922 goto op_semantics_97
;
13928 switch (op
[2] & 0x00)
13931 goto op_semantics_97
;
13937 switch (op
[2] & 0x00)
13940 goto op_semantics_97
;
13946 switch (op
[2] & 0x00)
13949 goto op_semantics_97
;
13955 switch (op
[2] & 0x00)
13958 goto op_semantics_97
;
13964 switch (op
[2] & 0x00)
13967 goto op_semantics_97
;
13973 switch (op
[2] & 0x00)
13976 goto op_semantics_97
;
13982 switch (op
[2] & 0x00)
13985 goto op_semantics_97
;
13991 switch (op
[2] & 0x00)
13994 goto op_semantics_97
;
14000 switch (op
[2] & 0x00)
14003 goto op_semantics_97
;
14007 default: UNSUPPORTED(); break;
14012 switch (op
[1] & 0xff)
14016 switch (op
[2] & 0x00)
14021 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
14022 #line 542 "rx-decode.opc"
14023 int rdst AU
= op
[1] & 0x0f;
14024 #line 542 "rx-decode.opc"
14025 int srca AU
= (op
[2] >> 4) & 0x0f;
14026 #line 542 "rx-decode.opc"
14027 int srcb AU
= op
[2] & 0x0f;
14030 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14031 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
14032 op
[0], op
[1], op
[2]);
14033 printf (" rdst = 0x%x,", rdst
);
14034 printf (" srca = 0x%x,", srca
);
14035 printf (" srcb = 0x%x\n", srcb
);
14037 SYNTAX("sub %2, %1, %0");
14038 #line 542 "rx-decode.opc"
14039 ID(sub
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
14041 /*----------------------------------------------------------------------*/
14050 switch (op
[2] & 0x00)
14053 goto op_semantics_98
;
14059 switch (op
[2] & 0x00)
14062 goto op_semantics_98
;
14068 switch (op
[2] & 0x00)
14071 goto op_semantics_98
;
14077 switch (op
[2] & 0x00)
14080 goto op_semantics_98
;
14086 switch (op
[2] & 0x00)
14089 goto op_semantics_98
;
14095 switch (op
[2] & 0x00)
14098 goto op_semantics_98
;
14104 switch (op
[2] & 0x00)
14107 goto op_semantics_98
;
14113 switch (op
[2] & 0x00)
14116 goto op_semantics_98
;
14122 switch (op
[2] & 0x00)
14125 goto op_semantics_98
;
14131 switch (op
[2] & 0x00)
14134 goto op_semantics_98
;
14140 switch (op
[2] & 0x00)
14143 goto op_semantics_98
;
14149 switch (op
[2] & 0x00)
14152 goto op_semantics_98
;
14158 switch (op
[2] & 0x00)
14161 goto op_semantics_98
;
14167 switch (op
[2] & 0x00)
14170 goto op_semantics_98
;
14176 switch (op
[2] & 0x00)
14179 goto op_semantics_98
;
14185 switch (op
[2] & 0x00)
14190 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14191 #line 509 "rx-decode.opc"
14192 int rdst AU
= op
[1] & 0x0f;
14193 #line 509 "rx-decode.opc"
14194 int srca AU
= (op
[2] >> 4) & 0x0f;
14195 #line 509 "rx-decode.opc"
14196 int srcb AU
= op
[2] & 0x0f;
14199 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14200 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14201 op
[0], op
[1], op
[2]);
14202 printf (" rdst = 0x%x,", rdst
);
14203 printf (" srca = 0x%x,", srca
);
14204 printf (" srcb = 0x%x\n", srcb
);
14206 SYNTAX("add %2, %1, %0");
14207 #line 509 "rx-decode.opc"
14208 ID(add
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
14210 /*----------------------------------------------------------------------*/
14219 switch (op
[2] & 0x00)
14222 goto op_semantics_99
;
14228 switch (op
[2] & 0x00)
14231 goto op_semantics_99
;
14237 switch (op
[2] & 0x00)
14240 goto op_semantics_99
;
14246 switch (op
[2] & 0x00)
14249 goto op_semantics_99
;
14255 switch (op
[2] & 0x00)
14258 goto op_semantics_99
;
14264 switch (op
[2] & 0x00)
14267 goto op_semantics_99
;
14273 switch (op
[2] & 0x00)
14276 goto op_semantics_99
;
14282 switch (op
[2] & 0x00)
14285 goto op_semantics_99
;
14291 switch (op
[2] & 0x00)
14294 goto op_semantics_99
;
14300 switch (op
[2] & 0x00)
14303 goto op_semantics_99
;
14309 switch (op
[2] & 0x00)
14312 goto op_semantics_99
;
14318 switch (op
[2] & 0x00)
14321 goto op_semantics_99
;
14327 switch (op
[2] & 0x00)
14330 goto op_semantics_99
;
14336 switch (op
[2] & 0x00)
14339 goto op_semantics_99
;
14345 switch (op
[2] & 0x00)
14348 goto op_semantics_99
;
14354 switch (op
[2] & 0x00)
14359 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14360 #line 611 "rx-decode.opc"
14361 int rdst AU
= op
[1] & 0x0f;
14362 #line 611 "rx-decode.opc"
14363 int srca AU
= (op
[2] >> 4) & 0x0f;
14364 #line 611 "rx-decode.opc"
14365 int srcb AU
= op
[2] & 0x0f;
14368 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14369 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14370 op
[0], op
[1], op
[2]);
14371 printf (" rdst = 0x%x,", rdst
);
14372 printf (" srca = 0x%x,", srca
);
14373 printf (" srcb = 0x%x\n", srcb
);
14375 SYNTAX("mul %2, %1, %0");
14376 #line 611 "rx-decode.opc"
14377 ID(mul
); DR(rdst
); SR(srcb
); S2R(srca
); F_____
;
14379 /*----------------------------------------------------------------------*/
14388 switch (op
[2] & 0x00)
14391 goto op_semantics_100
;
14397 switch (op
[2] & 0x00)
14400 goto op_semantics_100
;
14406 switch (op
[2] & 0x00)
14409 goto op_semantics_100
;
14415 switch (op
[2] & 0x00)
14418 goto op_semantics_100
;
14424 switch (op
[2] & 0x00)
14427 goto op_semantics_100
;
14433 switch (op
[2] & 0x00)
14436 goto op_semantics_100
;
14442 switch (op
[2] & 0x00)
14445 goto op_semantics_100
;
14451 switch (op
[2] & 0x00)
14454 goto op_semantics_100
;
14460 switch (op
[2] & 0x00)
14463 goto op_semantics_100
;
14469 switch (op
[2] & 0x00)
14472 goto op_semantics_100
;
14478 switch (op
[2] & 0x00)
14481 goto op_semantics_100
;
14487 switch (op
[2] & 0x00)
14490 goto op_semantics_100
;
14496 switch (op
[2] & 0x00)
14499 goto op_semantics_100
;
14505 switch (op
[2] & 0x00)
14508 goto op_semantics_100
;
14514 switch (op
[2] & 0x00)
14517 goto op_semantics_100
;
14523 switch (op
[2] & 0x00)
14528 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14529 #line 419 "rx-decode.opc"
14530 int rdst AU
= op
[1] & 0x0f;
14531 #line 419 "rx-decode.opc"
14532 int srca AU
= (op
[2] >> 4) & 0x0f;
14533 #line 419 "rx-decode.opc"
14534 int srcb AU
= op
[2] & 0x0f;
14537 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14538 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14539 op
[0], op
[1], op
[2]);
14540 printf (" rdst = 0x%x,", rdst
);
14541 printf (" srca = 0x%x,", srca
);
14542 printf (" srcb = 0x%x\n", srcb
);
14544 SYNTAX("and %2, %1, %0");
14545 #line 419 "rx-decode.opc"
14546 ID(and); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
14548 /*----------------------------------------------------------------------*/
14557 switch (op
[2] & 0x00)
14560 goto op_semantics_101
;
14566 switch (op
[2] & 0x00)
14569 goto op_semantics_101
;
14575 switch (op
[2] & 0x00)
14578 goto op_semantics_101
;
14584 switch (op
[2] & 0x00)
14587 goto op_semantics_101
;
14593 switch (op
[2] & 0x00)
14596 goto op_semantics_101
;
14602 switch (op
[2] & 0x00)
14605 goto op_semantics_101
;
14611 switch (op
[2] & 0x00)
14614 goto op_semantics_101
;
14620 switch (op
[2] & 0x00)
14623 goto op_semantics_101
;
14629 switch (op
[2] & 0x00)
14632 goto op_semantics_101
;
14638 switch (op
[2] & 0x00)
14641 goto op_semantics_101
;
14647 switch (op
[2] & 0x00)
14650 goto op_semantics_101
;
14656 switch (op
[2] & 0x00)
14659 goto op_semantics_101
;
14665 switch (op
[2] & 0x00)
14668 goto op_semantics_101
;
14674 switch (op
[2] & 0x00)
14677 goto op_semantics_101
;
14683 switch (op
[2] & 0x00)
14686 goto op_semantics_101
;
14692 switch (op
[2] & 0x00)
14697 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14698 #line 437 "rx-decode.opc"
14699 int rdst AU
= op
[1] & 0x0f;
14700 #line 437 "rx-decode.opc"
14701 int srca AU
= (op
[2] >> 4) & 0x0f;
14702 #line 437 "rx-decode.opc"
14703 int srcb AU
= op
[2] & 0x0f;
14706 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14707 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14708 op
[0], op
[1], op
[2]);
14709 printf (" rdst = 0x%x,", rdst
);
14710 printf (" srca = 0x%x,", srca
);
14711 printf (" srcb = 0x%x\n", srcb
);
14713 SYNTAX("or %2, %1, %0");
14714 #line 437 "rx-decode.opc"
14715 ID(or); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
14717 /*----------------------------------------------------------------------*/
14726 switch (op
[2] & 0x00)
14729 goto op_semantics_102
;
14735 switch (op
[2] & 0x00)
14738 goto op_semantics_102
;
14744 switch (op
[2] & 0x00)
14747 goto op_semantics_102
;
14753 switch (op
[2] & 0x00)
14756 goto op_semantics_102
;
14762 switch (op
[2] & 0x00)
14765 goto op_semantics_102
;
14771 switch (op
[2] & 0x00)
14774 goto op_semantics_102
;
14780 switch (op
[2] & 0x00)
14783 goto op_semantics_102
;
14789 switch (op
[2] & 0x00)
14792 goto op_semantics_102
;
14798 switch (op
[2] & 0x00)
14801 goto op_semantics_102
;
14807 switch (op
[2] & 0x00)
14810 goto op_semantics_102
;
14816 switch (op
[2] & 0x00)
14819 goto op_semantics_102
;
14825 switch (op
[2] & 0x00)
14828 goto op_semantics_102
;
14834 switch (op
[2] & 0x00)
14837 goto op_semantics_102
;
14843 switch (op
[2] & 0x00)
14846 goto op_semantics_102
;
14852 switch (op
[2] & 0x00)
14855 goto op_semantics_102
;
14859 default: UNSUPPORTED(); break;
14862 default: UNSUPPORTED(); break;
14864 #line 994 "rx-decode.opc"
14866 return rx
->n_bytes
;
This page took 0.391177 seconds and 4 git commands to generate.