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