1 #line 1 "rx-decode.opc"
11 #define RX_OPCODE_BIG_ENDIAN 0
15 RX_Opcode_Decoded
* rx
;
16 int (* getbyte
)(void *);
27 /* These are for when the upper bits are "don't care" or "undefined". */
57 #define ID(x) rx->id = RXO_##x
58 #define OP(n,t,r,a) (rx->op[n].type = t, \
60 rx->op[n].addend = a )
61 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
64 /* This is for the BWL and BW bitfields. */
65 static int SCALE
[] = { 1, 2, 4 };
66 /* This is for the prefix size enum. */
67 static int PSCALE
[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
69 static int flagmap
[] = {0, 1, 2, 3, 0, 0, 0, 0,
70 16, 17, 0, 0, 0, 0, 0, 0 };
72 static int dsp3map
[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
75 *C a constant (immediate) c
77 *I Register indirect, no offset
78 *Is Register indirect, with offset
79 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
80 *P standard displacement: type (r,[r]), reg, assumes UByte
81 *Pm memex displacement: type (r,[r]), reg, memex code
82 *cc condition code. */
84 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
85 #define DR(r) OP (0, RX_Operand_Register, r, 0)
86 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
87 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
88 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
89 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
91 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
92 #define SR(r) OP (1, RX_Operand_Register, r, 0)
93 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
94 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
95 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
96 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
97 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
98 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
99 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
101 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
102 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
103 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
104 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
105 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
106 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
107 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
108 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
110 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
111 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
112 #define uBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubwl[sz]
113 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
115 #define F(f) store_flags(rx, f)
117 #define AU ATTRIBUTE_UNUSED
118 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
120 #define SYNTAX(x) rx->syntax = x
122 #define UNSUPPORTED() \
123 rx->syntax = "*unknown*"
125 #define IMM(sf) immediate (sf, 0, ld)
126 #define IMMex(sf) immediate (sf, 1, ld)
129 immediate (int sfield
, int ex
, LocalData
* ld
)
131 unsigned long i
= 0, j
;
135 #define B ((unsigned long) GETBYTE())
137 #if RX_OPCODE_BIG_ENDIAN
139 if (ex
&& (i
& 0x80))
150 if (ex
&& (j
& 0x80))
156 #if RX_OPCODE_BIG_ENDIAN
165 if (ex
&& (i
& 0x800000))
169 #if RX_OPCODE_BIG_ENDIAN
176 if (ex
&& (i
& 0x8000))
181 if (ex
&& (i
& 0x80))
191 rx_disp (int n
, int type
, int reg
, int size
, LocalData
* ld
)
195 ld
->rx
->op
[n
].reg
= reg
;
199 ld
->rx
->op
[n
].type
= RX_Operand_Register
;
202 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
203 ld
->rx
->op
[n
].addend
= 0;
206 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
208 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
211 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
213 #if RX_OPCODE_BIG_ENDIAN
214 disp
= disp
* 256 + GETBYTE ();
216 disp
= disp
+ GETBYTE () * 256;
218 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
231 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
232 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
233 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
234 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
235 #define F_O___ rx->flags_0 = rx->flags_s = xO;
236 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
237 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
238 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
241 rx_decode_opcode (unsigned long pc AU
,
242 RX_Opcode_Decoded
* rx
,
243 int (* getbyte
)(void *),
246 LocalData lds
, * ld
= &lds
;
247 unsigned char op
[20] = {0};
250 lds
.getbyte
= getbyte
;
254 memset (rx
, 0, sizeof (*rx
));
258 /*----------------------------------------------------------------------*/
262 switch (op
[0] & 0xff)
269 printf ("\033[33m%s\033[0m %02x\n",
270 "/** 0000 0000 brk */",
274 #line 941 "rx-decode.opc"
284 printf ("\033[33m%s\033[0m %02x\n",
285 "/** 0000 0001 dbt */",
289 #line 944 "rx-decode.opc"
299 printf ("\033[33m%s\033[0m %02x\n",
300 "/** 0000 0010 rts */",
304 #line 730 "rx-decode.opc"
307 /*----------------------------------------------------------------------*/
317 printf ("\033[33m%s\033[0m %02x\n",
318 "/** 0000 0011 nop */",
322 #line 736 "rx-decode.opc"
325 /*----------------------------------------------------------------------*/
326 /* STRING FUNCTIONS */
332 /** 0000 0100 bra.a %a0 */
335 printf ("\033[33m%s\033[0m %02x\n",
336 "/** 0000 0100 bra.a %a0 */",
340 #line 708 "rx-decode.opc"
341 ID(branch
); DC(pc
+ IMMex(3));
347 /** 0000 0101 bsr.a %a0 */
350 printf ("\033[33m%s\033[0m %02x\n",
351 "/** 0000 0101 bsr.a %a0 */",
355 #line 724 "rx-decode.opc"
356 ID(jsr
); DC(pc
+ IMMex(3));
362 switch (op
[1] & 0xff)
366 switch (op
[2] & 0x00)
371 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
372 #line 505 "rx-decode.opc"
373 int mx AU
= (op
[1] >> 6) & 0x03;
374 #line 505 "rx-decode.opc"
375 int ss AU
= op
[1] & 0x03;
376 #line 505 "rx-decode.opc"
377 int rsrc AU
= (op
[2] >> 4) & 0x0f;
378 #line 505 "rx-decode.opc"
379 int rdst AU
= op
[2] & 0x0f;
382 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
383 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
384 op
[0], op
[1], op
[2]);
385 printf (" mx = 0x%x,", mx
);
386 printf (" ss = 0x%x,", ss
);
387 printf (" rsrc = 0x%x,", rsrc
);
388 printf (" rdst = 0x%x\n", rdst
);
390 SYNTAX("sub %2%S2, %1");
391 #line 505 "rx-decode.opc"
392 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); DR(rdst
); F_OSZC
;
400 switch (op
[2] & 0x00)
409 switch (op
[2] & 0x00)
418 switch (op
[2] & 0x00)
427 switch (op
[2] & 0x00)
432 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
433 #line 493 "rx-decode.opc"
434 int mx AU
= (op
[1] >> 6) & 0x03;
435 #line 493 "rx-decode.opc"
436 int ss AU
= op
[1] & 0x03;
437 #line 493 "rx-decode.opc"
438 int rsrc AU
= (op
[2] >> 4) & 0x0f;
439 #line 493 "rx-decode.opc"
440 int rdst AU
= op
[2] & 0x0f;
443 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
444 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
445 op
[0], op
[1], op
[2]);
446 printf (" mx = 0x%x,", mx
);
447 printf (" ss = 0x%x,", ss
);
448 printf (" rsrc = 0x%x,", rsrc
);
449 printf (" rdst = 0x%x\n", rdst
);
451 SYNTAX("cmp %2%S2, %1");
452 #line 493 "rx-decode.opc"
453 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); F_OSZC
;
455 /*----------------------------------------------------------------------*/
464 switch (op
[2] & 0x00)
473 switch (op
[2] & 0x00)
482 switch (op
[2] & 0x00)
491 switch (op
[2] & 0x00)
496 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
497 #line 469 "rx-decode.opc"
498 int mx AU
= (op
[1] >> 6) & 0x03;
499 #line 469 "rx-decode.opc"
500 int ss AU
= op
[1] & 0x03;
501 #line 469 "rx-decode.opc"
502 int rsrc AU
= (op
[2] >> 4) & 0x0f;
503 #line 469 "rx-decode.opc"
504 int rdst AU
= op
[2] & 0x0f;
507 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
508 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
509 op
[0], op
[1], op
[2]);
510 printf (" mx = 0x%x,", mx
);
511 printf (" ss = 0x%x,", ss
);
512 printf (" rsrc = 0x%x,", rsrc
);
513 printf (" rdst = 0x%x\n", rdst
);
515 SYNTAX("add %1%S1, %0");
516 #line 469 "rx-decode.opc"
517 ID(add
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_OSZC
;
525 switch (op
[2] & 0x00)
534 switch (op
[2] & 0x00)
543 switch (op
[2] & 0x00)
552 switch (op
[2] & 0x00)
557 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
558 #line 573 "rx-decode.opc"
559 int mx AU
= (op
[1] >> 6) & 0x03;
560 #line 573 "rx-decode.opc"
561 int ss AU
= op
[1] & 0x03;
562 #line 573 "rx-decode.opc"
563 int rsrc AU
= (op
[2] >> 4) & 0x0f;
564 #line 573 "rx-decode.opc"
565 int rdst AU
= op
[2] & 0x0f;
568 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
569 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
570 op
[0], op
[1], op
[2]);
571 printf (" mx = 0x%x,", mx
);
572 printf (" ss = 0x%x,", ss
);
573 printf (" rsrc = 0x%x,", rsrc
);
574 printf (" rdst = 0x%x\n", rdst
);
576 SYNTAX("mul %1%S1, %0");
577 #line 573 "rx-decode.opc"
578 ID(mul
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_____
;
586 switch (op
[2] & 0x00)
595 switch (op
[2] & 0x00)
604 switch (op
[2] & 0x00)
613 switch (op
[2] & 0x00)
618 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
619 #line 382 "rx-decode.opc"
620 int mx AU
= (op
[1] >> 6) & 0x03;
621 #line 382 "rx-decode.opc"
622 int ss AU
= op
[1] & 0x03;
623 #line 382 "rx-decode.opc"
624 int rsrc AU
= (op
[2] >> 4) & 0x0f;
625 #line 382 "rx-decode.opc"
626 int rdst AU
= op
[2] & 0x0f;
629 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
630 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
631 op
[0], op
[1], op
[2]);
632 printf (" mx = 0x%x,", mx
);
633 printf (" ss = 0x%x,", ss
);
634 printf (" rsrc = 0x%x,", rsrc
);
635 printf (" rdst = 0x%x\n", rdst
);
637 SYNTAX("and %1%S1, %0");
638 #line 382 "rx-decode.opc"
639 ID(and); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
647 switch (op
[2] & 0x00)
656 switch (op
[2] & 0x00)
665 switch (op
[2] & 0x00)
674 switch (op
[2] & 0x00)
679 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
680 #line 400 "rx-decode.opc"
681 int mx AU
= (op
[1] >> 6) & 0x03;
682 #line 400 "rx-decode.opc"
683 int ss AU
= op
[1] & 0x03;
684 #line 400 "rx-decode.opc"
685 int rsrc AU
= (op
[2] >> 4) & 0x0f;
686 #line 400 "rx-decode.opc"
687 int rdst AU
= op
[2] & 0x0f;
690 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
691 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
692 op
[0], op
[1], op
[2]);
693 printf (" mx = 0x%x,", mx
);
694 printf (" ss = 0x%x,", ss
);
695 printf (" rsrc = 0x%x,", rsrc
);
696 printf (" rdst = 0x%x\n", rdst
);
698 SYNTAX("or %1%S1, %0");
699 #line 400 "rx-decode.opc"
700 ID(or); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
708 switch (op
[2] & 0x00)
717 switch (op
[2] & 0x00)
726 switch (op
[2] & 0x00)
735 switch (op
[2] & 0xff)
739 switch (op
[3] & 0x00)
744 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
745 #line 518 "rx-decode.opc"
746 int mx AU
= (op
[1] >> 6) & 0x03;
747 #line 518 "rx-decode.opc"
748 int sp AU
= op
[1] & 0x03;
749 #line 518 "rx-decode.opc"
750 int rsrc AU
= (op
[3] >> 4) & 0x0f;
751 #line 518 "rx-decode.opc"
752 int rdst AU
= op
[3] & 0x0f;
755 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
756 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
757 op
[0], op
[1], op
[2], op
[3]);
758 printf (" mx = 0x%x,", mx
);
759 printf (" sp = 0x%x,", sp
);
760 printf (" rsrc = 0x%x,", rsrc
);
761 printf (" rdst = 0x%x\n", rdst
);
763 SYNTAX("sbb %1%S1, %0");
764 #line 518 "rx-decode.opc"
765 ID(sbb
); SPm(sp
, rsrc
, mx
); DR(rdst
); F_OSZC
;
767 /*----------------------------------------------------------------------*/
776 switch (op
[3] & 0x00)
781 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
782 #line 546 "rx-decode.opc"
783 int mx AU
= (op
[1] >> 6) & 0x03;
784 #line 546 "rx-decode.opc"
785 int ss AU
= op
[1] & 0x03;
786 #line 546 "rx-decode.opc"
787 int rsrc AU
= (op
[3] >> 4) & 0x0f;
788 #line 546 "rx-decode.opc"
789 int rdst AU
= op
[3] & 0x0f;
792 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
793 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
794 op
[0], op
[1], op
[2], op
[3]);
795 printf (" mx = 0x%x,", mx
);
796 printf (" ss = 0x%x,", ss
);
797 printf (" rsrc = 0x%x,", rsrc
);
798 printf (" rdst = 0x%x\n", rdst
);
800 SYNTAX("max %1%S1, %0");
801 #line 546 "rx-decode.opc"
802 ID(max
); SPm(ss
, rsrc
, mx
); DR(rdst
);
804 /*----------------------------------------------------------------------*/
813 switch (op
[3] & 0x00)
818 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
819 #line 558 "rx-decode.opc"
820 int mx AU
= (op
[1] >> 6) & 0x03;
821 #line 558 "rx-decode.opc"
822 int ss AU
= op
[1] & 0x03;
823 #line 558 "rx-decode.opc"
824 int rsrc AU
= (op
[3] >> 4) & 0x0f;
825 #line 558 "rx-decode.opc"
826 int rdst AU
= op
[3] & 0x0f;
829 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
830 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
831 op
[0], op
[1], op
[2], op
[3]);
832 printf (" mx = 0x%x,", mx
);
833 printf (" ss = 0x%x,", ss
);
834 printf (" rsrc = 0x%x,", rsrc
);
835 printf (" rdst = 0x%x\n", rdst
);
837 SYNTAX("min %1%S1, %0");
838 #line 558 "rx-decode.opc"
839 ID(min
); SPm(ss
, rsrc
, mx
); DR(rdst
);
841 /*----------------------------------------------------------------------*/
850 switch (op
[3] & 0x00)
855 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
856 #line 588 "rx-decode.opc"
857 int mx AU
= (op
[1] >> 6) & 0x03;
858 #line 588 "rx-decode.opc"
859 int ss AU
= op
[1] & 0x03;
860 #line 588 "rx-decode.opc"
861 int rsrc AU
= (op
[3] >> 4) & 0x0f;
862 #line 588 "rx-decode.opc"
863 int rdst AU
= op
[3] & 0x0f;
866 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
867 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
868 op
[0], op
[1], op
[2], op
[3]);
869 printf (" mx = 0x%x,", mx
);
870 printf (" ss = 0x%x,", ss
);
871 printf (" rsrc = 0x%x,", rsrc
);
872 printf (" rdst = 0x%x\n", rdst
);
874 SYNTAX("emul %1%S1, %0");
875 #line 588 "rx-decode.opc"
876 ID(emul
); SPm(ss
, rsrc
, mx
); DR(rdst
);
878 /*----------------------------------------------------------------------*/
887 switch (op
[3] & 0x00)
892 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
893 #line 600 "rx-decode.opc"
894 int mx AU
= (op
[1] >> 6) & 0x03;
895 #line 600 "rx-decode.opc"
896 int ss AU
= op
[1] & 0x03;
897 #line 600 "rx-decode.opc"
898 int rsrc AU
= (op
[3] >> 4) & 0x0f;
899 #line 600 "rx-decode.opc"
900 int rdst AU
= op
[3] & 0x0f;
903 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
904 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
905 op
[0], op
[1], op
[2], op
[3]);
906 printf (" mx = 0x%x,", mx
);
907 printf (" ss = 0x%x,", ss
);
908 printf (" rsrc = 0x%x,", rsrc
);
909 printf (" rdst = 0x%x\n", rdst
);
911 SYNTAX("emulu %1%S1, %0");
912 #line 600 "rx-decode.opc"
913 ID(emulu
); SPm(ss
, rsrc
, mx
); DR(rdst
);
915 /*----------------------------------------------------------------------*/
924 switch (op
[3] & 0x00)
929 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
930 #line 612 "rx-decode.opc"
931 int mx AU
= (op
[1] >> 6) & 0x03;
932 #line 612 "rx-decode.opc"
933 int ss AU
= op
[1] & 0x03;
934 #line 612 "rx-decode.opc"
935 int rsrc AU
= (op
[3] >> 4) & 0x0f;
936 #line 612 "rx-decode.opc"
937 int rdst AU
= op
[3] & 0x0f;
940 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
941 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
942 op
[0], op
[1], op
[2], op
[3]);
943 printf (" mx = 0x%x,", mx
);
944 printf (" ss = 0x%x,", ss
);
945 printf (" rsrc = 0x%x,", rsrc
);
946 printf (" rdst = 0x%x\n", rdst
);
948 SYNTAX("div %1%S1, %0");
949 #line 612 "rx-decode.opc"
950 ID(div
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
952 /*----------------------------------------------------------------------*/
961 switch (op
[3] & 0x00)
966 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
967 #line 624 "rx-decode.opc"
968 int mx AU
= (op
[1] >> 6) & 0x03;
969 #line 624 "rx-decode.opc"
970 int ss AU
= op
[1] & 0x03;
971 #line 624 "rx-decode.opc"
972 int rsrc AU
= (op
[3] >> 4) & 0x0f;
973 #line 624 "rx-decode.opc"
974 int rdst AU
= op
[3] & 0x0f;
977 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
978 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
979 op
[0], op
[1], op
[2], op
[3]);
980 printf (" mx = 0x%x,", mx
);
981 printf (" ss = 0x%x,", ss
);
982 printf (" rsrc = 0x%x,", rsrc
);
983 printf (" rdst = 0x%x\n", rdst
);
985 SYNTAX("divu %1%S1, %0");
986 #line 624 "rx-decode.opc"
987 ID(divu
); SPm(ss
, rsrc
, mx
); DR(rdst
); F_O___
;
989 /*----------------------------------------------------------------------*/
998 switch (op
[3] & 0x00)
1003 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1004 #line 436 "rx-decode.opc"
1005 int mx AU
= (op
[1] >> 6) & 0x03;
1006 #line 436 "rx-decode.opc"
1007 int ss AU
= op
[1] & 0x03;
1008 #line 436 "rx-decode.opc"
1009 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1010 #line 436 "rx-decode.opc"
1011 int rdst AU
= op
[3] & 0x0f;
1014 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1015 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1016 op
[0], op
[1], op
[2], op
[3]);
1017 printf (" mx = 0x%x,", mx
);
1018 printf (" ss = 0x%x,", ss
);
1019 printf (" rsrc = 0x%x,", rsrc
);
1020 printf (" rdst = 0x%x\n", rdst
);
1022 SYNTAX("tst %1%S1, %2");
1023 #line 436 "rx-decode.opc"
1024 ID(and); SPm(ss
, rsrc
, mx
); S2R(rdst
); F__SZ_
;
1026 /*----------------------------------------------------------------------*/
1035 switch (op
[3] & 0x00)
1040 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1041 #line 415 "rx-decode.opc"
1042 int mx AU
= (op
[1] >> 6) & 0x03;
1043 #line 415 "rx-decode.opc"
1044 int ss AU
= op
[1] & 0x03;
1045 #line 415 "rx-decode.opc"
1046 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1047 #line 415 "rx-decode.opc"
1048 int rdst AU
= op
[3] & 0x0f;
1051 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1052 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1053 op
[0], op
[1], op
[2], op
[3]);
1054 printf (" mx = 0x%x,", mx
);
1055 printf (" ss = 0x%x,", ss
);
1056 printf (" rsrc = 0x%x,", rsrc
);
1057 printf (" rdst = 0x%x\n", rdst
);
1059 SYNTAX("xor %1%S1, %0");
1060 #line 415 "rx-decode.opc"
1061 ID(xor); SPm(ss
, rsrc
, mx
); DR(rdst
); F__SZ_
;
1063 /*----------------------------------------------------------------------*/
1072 switch (op
[3] & 0x00)
1077 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1078 #line 349 "rx-decode.opc"
1079 int mx AU
= (op
[1] >> 6) & 0x03;
1080 #line 349 "rx-decode.opc"
1081 int ss AU
= op
[1] & 0x03;
1082 #line 349 "rx-decode.opc"
1083 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1084 #line 349 "rx-decode.opc"
1085 int rdst AU
= op
[3] & 0x0f;
1088 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1089 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1090 op
[0], op
[1], op
[2], op
[3]);
1091 printf (" mx = 0x%x,", mx
);
1092 printf (" ss = 0x%x,", ss
);
1093 printf (" rsrc = 0x%x,", rsrc
);
1094 printf (" rdst = 0x%x\n", rdst
);
1096 SYNTAX("xchg %1%S1, %0");
1097 #line 349 "rx-decode.opc"
1098 ID(xchg
); DR(rdst
); SPm(ss
, rsrc
, mx
);
1100 /*----------------------------------------------------------------------*/
1109 switch (op
[3] & 0x00)
1114 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1115 #line 853 "rx-decode.opc"
1116 int mx AU
= (op
[1] >> 6) & 0x03;
1117 #line 853 "rx-decode.opc"
1118 int sd AU
= op
[1] & 0x03;
1119 #line 853 "rx-decode.opc"
1120 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1121 #line 853 "rx-decode.opc"
1122 int rdst AU
= op
[3] & 0x0f;
1125 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1126 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1127 op
[0], op
[1], op
[2], op
[3]);
1128 printf (" mx = 0x%x,", mx
);
1129 printf (" sd = 0x%x,", sd
);
1130 printf (" rsrc = 0x%x,", rsrc
);
1131 printf (" rdst = 0x%x\n", rdst
);
1133 SYNTAX("itof %1%S1, %0");
1134 #line 853 "rx-decode.opc"
1135 ID(itof
); DR (rdst
); SPm(sd
, rsrc
, mx
); F__SZ_
;
1137 /*----------------------------------------------------------------------*/
1144 default: UNSUPPORTED(); break;
1149 switch (op
[2] & 0xff)
1153 switch (op
[3] & 0x00)
1156 goto op_semantics_7
;
1162 switch (op
[3] & 0x00)
1165 goto op_semantics_8
;
1171 switch (op
[3] & 0x00)
1174 goto op_semantics_9
;
1180 switch (op
[3] & 0x00)
1183 goto op_semantics_10
;
1189 switch (op
[3] & 0x00)
1192 goto op_semantics_11
;
1198 switch (op
[3] & 0x00)
1201 goto op_semantics_12
;
1207 switch (op
[3] & 0x00)
1210 goto op_semantics_13
;
1216 switch (op
[3] & 0x00)
1219 goto op_semantics_14
;
1225 switch (op
[3] & 0x00)
1228 goto op_semantics_15
;
1234 switch (op
[3] & 0x00)
1237 goto op_semantics_16
;
1243 switch (op
[3] & 0x00)
1246 goto op_semantics_17
;
1250 default: UNSUPPORTED(); break;
1255 switch (op
[2] & 0xff)
1259 switch (op
[3] & 0x00)
1262 goto op_semantics_7
;
1268 switch (op
[3] & 0x00)
1271 goto op_semantics_8
;
1277 switch (op
[3] & 0x00)
1280 goto op_semantics_9
;
1286 switch (op
[3] & 0x00)
1289 goto op_semantics_10
;
1295 switch (op
[3] & 0x00)
1298 goto op_semantics_11
;
1304 switch (op
[3] & 0x00)
1307 goto op_semantics_12
;
1313 switch (op
[3] & 0x00)
1316 goto op_semantics_13
;
1322 switch (op
[3] & 0x00)
1325 goto op_semantics_14
;
1331 switch (op
[3] & 0x00)
1334 goto op_semantics_15
;
1340 switch (op
[3] & 0x00)
1343 goto op_semantics_16
;
1349 switch (op
[3] & 0x00)
1352 goto op_semantics_17
;
1356 default: UNSUPPORTED(); break;
1361 switch (op
[2] & 0xff)
1365 switch (op
[3] & 0x00)
1368 goto op_semantics_7
;
1374 switch (op
[3] & 0x00)
1377 goto op_semantics_8
;
1383 switch (op
[3] & 0x00)
1386 goto op_semantics_9
;
1392 switch (op
[3] & 0x00)
1395 goto op_semantics_10
;
1401 switch (op
[3] & 0x00)
1404 goto op_semantics_11
;
1410 switch (op
[3] & 0x00)
1413 goto op_semantics_12
;
1419 switch (op
[3] & 0x00)
1422 goto op_semantics_13
;
1428 switch (op
[3] & 0x00)
1431 goto op_semantics_14
;
1437 switch (op
[3] & 0x00)
1440 goto op_semantics_15
;
1446 switch (op
[3] & 0x00)
1449 goto op_semantics_16
;
1455 switch (op
[3] & 0x00)
1458 goto op_semantics_17
;
1462 default: UNSUPPORTED(); break;
1467 switch (op
[2] & 0x00)
1470 goto op_semantics_1
;
1476 switch (op
[2] & 0x00)
1479 goto op_semantics_1
;
1485 switch (op
[2] & 0x00)
1488 goto op_semantics_1
;
1494 switch (op
[2] & 0x00)
1497 goto op_semantics_1
;
1503 switch (op
[2] & 0x00)
1506 goto op_semantics_2
;
1512 switch (op
[2] & 0x00)
1515 goto op_semantics_2
;
1521 switch (op
[2] & 0x00)
1524 goto op_semantics_2
;
1530 switch (op
[2] & 0x00)
1533 goto op_semantics_2
;
1539 switch (op
[2] & 0x00)
1542 goto op_semantics_3
;
1548 switch (op
[2] & 0x00)
1551 goto op_semantics_3
;
1557 switch (op
[2] & 0x00)
1560 goto op_semantics_3
;
1566 switch (op
[2] & 0x00)
1569 goto op_semantics_3
;
1575 switch (op
[2] & 0x00)
1578 goto op_semantics_4
;
1584 switch (op
[2] & 0x00)
1587 goto op_semantics_4
;
1593 switch (op
[2] & 0x00)
1596 goto op_semantics_4
;
1602 switch (op
[2] & 0x00)
1605 goto op_semantics_4
;
1611 switch (op
[2] & 0x00)
1614 goto op_semantics_5
;
1620 switch (op
[2] & 0x00)
1623 goto op_semantics_5
;
1629 switch (op
[2] & 0x00)
1632 goto op_semantics_5
;
1638 switch (op
[2] & 0x00)
1641 goto op_semantics_5
;
1647 switch (op
[2] & 0x00)
1650 goto op_semantics_6
;
1656 switch (op
[2] & 0x00)
1659 goto op_semantics_6
;
1665 switch (op
[2] & 0x00)
1668 goto op_semantics_6
;
1674 switch (op
[2] & 0x00)
1677 goto op_semantics_6
;
1683 switch (op
[2] & 0xff)
1687 switch (op
[3] & 0x00)
1690 goto op_semantics_7
;
1696 switch (op
[3] & 0x00)
1699 goto op_semantics_8
;
1705 switch (op
[3] & 0x00)
1708 goto op_semantics_9
;
1714 switch (op
[3] & 0x00)
1717 goto op_semantics_10
;
1723 switch (op
[3] & 0x00)
1726 goto op_semantics_11
;
1732 switch (op
[3] & 0x00)
1735 goto op_semantics_12
;
1741 switch (op
[3] & 0x00)
1744 goto op_semantics_13
;
1750 switch (op
[3] & 0x00)
1753 goto op_semantics_14
;
1759 switch (op
[3] & 0x00)
1762 goto op_semantics_15
;
1768 switch (op
[3] & 0x00)
1771 goto op_semantics_16
;
1777 switch (op
[3] & 0x00)
1780 goto op_semantics_17
;
1784 default: UNSUPPORTED(); break;
1789 switch (op
[2] & 0xff)
1793 switch (op
[3] & 0x00)
1796 goto op_semantics_7
;
1802 switch (op
[3] & 0x00)
1805 goto op_semantics_8
;
1811 switch (op
[3] & 0x00)
1814 goto op_semantics_9
;
1820 switch (op
[3] & 0x00)
1823 goto op_semantics_10
;
1829 switch (op
[3] & 0x00)
1832 goto op_semantics_11
;
1838 switch (op
[3] & 0x00)
1841 goto op_semantics_12
;
1847 switch (op
[3] & 0x00)
1850 goto op_semantics_13
;
1856 switch (op
[3] & 0x00)
1859 goto op_semantics_14
;
1865 switch (op
[3] & 0x00)
1868 goto op_semantics_15
;
1874 switch (op
[3] & 0x00)
1877 goto op_semantics_16
;
1883 switch (op
[3] & 0x00)
1886 goto op_semantics_17
;
1890 default: UNSUPPORTED(); break;
1895 switch (op
[2] & 0xff)
1899 switch (op
[3] & 0x00)
1902 goto op_semantics_7
;
1908 switch (op
[3] & 0x00)
1911 goto op_semantics_8
;
1917 switch (op
[3] & 0x00)
1920 goto op_semantics_9
;
1926 switch (op
[3] & 0x00)
1929 goto op_semantics_10
;
1935 switch (op
[3] & 0x00)
1938 goto op_semantics_11
;
1944 switch (op
[3] & 0x00)
1947 goto op_semantics_12
;
1953 switch (op
[3] & 0x00)
1956 goto op_semantics_13
;
1962 switch (op
[3] & 0x00)
1965 goto op_semantics_14
;
1971 switch (op
[3] & 0x00)
1974 goto op_semantics_15
;
1980 switch (op
[3] & 0x00)
1983 goto op_semantics_16
;
1989 switch (op
[3] & 0x00)
1992 goto op_semantics_17
;
1996 default: UNSUPPORTED(); break;
2001 switch (op
[2] & 0xff)
2005 switch (op
[3] & 0x00)
2008 goto op_semantics_7
;
2014 switch (op
[3] & 0x00)
2017 goto op_semantics_8
;
2023 switch (op
[3] & 0x00)
2026 goto op_semantics_9
;
2032 switch (op
[3] & 0x00)
2035 goto op_semantics_10
;
2041 switch (op
[3] & 0x00)
2044 goto op_semantics_11
;
2050 switch (op
[3] & 0x00)
2053 goto op_semantics_12
;
2059 switch (op
[3] & 0x00)
2062 goto op_semantics_13
;
2068 switch (op
[3] & 0x00)
2071 goto op_semantics_14
;
2077 switch (op
[3] & 0x00)
2080 goto op_semantics_15
;
2086 switch (op
[3] & 0x00)
2089 goto op_semantics_16
;
2095 switch (op
[3] & 0x00)
2098 goto op_semantics_17
;
2102 default: UNSUPPORTED(); break;
2107 switch (op
[2] & 0x00)
2110 goto op_semantics_1
;
2116 switch (op
[2] & 0x00)
2119 goto op_semantics_1
;
2125 switch (op
[2] & 0x00)
2128 goto op_semantics_1
;
2134 switch (op
[2] & 0x00)
2137 goto op_semantics_1
;
2143 switch (op
[2] & 0x00)
2146 goto op_semantics_2
;
2152 switch (op
[2] & 0x00)
2155 goto op_semantics_2
;
2161 switch (op
[2] & 0x00)
2164 goto op_semantics_2
;
2170 switch (op
[2] & 0x00)
2173 goto op_semantics_2
;
2179 switch (op
[2] & 0x00)
2182 goto op_semantics_3
;
2188 switch (op
[2] & 0x00)
2191 goto op_semantics_3
;
2197 switch (op
[2] & 0x00)
2200 goto op_semantics_3
;
2206 switch (op
[2] & 0x00)
2209 goto op_semantics_3
;
2215 switch (op
[2] & 0x00)
2218 goto op_semantics_4
;
2224 switch (op
[2] & 0x00)
2227 goto op_semantics_4
;
2233 switch (op
[2] & 0x00)
2236 goto op_semantics_4
;
2242 switch (op
[2] & 0x00)
2245 goto op_semantics_4
;
2251 switch (op
[2] & 0x00)
2254 goto op_semantics_5
;
2260 switch (op
[2] & 0x00)
2263 goto op_semantics_5
;
2269 switch (op
[2] & 0x00)
2272 goto op_semantics_5
;
2278 switch (op
[2] & 0x00)
2281 goto op_semantics_5
;
2287 switch (op
[2] & 0x00)
2290 goto op_semantics_6
;
2296 switch (op
[2] & 0x00)
2299 goto op_semantics_6
;
2305 switch (op
[2] & 0x00)
2308 goto op_semantics_6
;
2314 switch (op
[2] & 0x00)
2317 goto op_semantics_6
;
2323 switch (op
[2] & 0xff)
2327 switch (op
[3] & 0x00)
2330 goto op_semantics_7
;
2336 switch (op
[3] & 0x00)
2341 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2342 #line 457 "rx-decode.opc"
2343 int ss AU
= op
[1] & 0x03;
2344 #line 457 "rx-decode.opc"
2345 int rsrc AU
= (op
[3] >> 4) & 0x0f;
2346 #line 457 "rx-decode.opc"
2347 int rdst AU
= op
[3] & 0x0f;
2350 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2351 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2352 op
[0], op
[1], op
[2], op
[3]);
2353 printf (" ss = 0x%x,", ss
);
2354 printf (" rsrc = 0x%x,", rsrc
);
2355 printf (" rdst = 0x%x\n", rdst
);
2357 SYNTAX("adc %1%S1, %0");
2358 #line 457 "rx-decode.opc"
2359 ID(adc
); SPm(ss
, rsrc
, 2); DR(rdst
); F_OSZC
;
2361 /*----------------------------------------------------------------------*/
2370 switch (op
[3] & 0x00)
2373 goto op_semantics_8
;
2379 switch (op
[3] & 0x00)
2382 goto op_semantics_9
;
2388 switch (op
[3] & 0x00)
2391 goto op_semantics_10
;
2397 switch (op
[3] & 0x00)
2400 goto op_semantics_11
;
2406 switch (op
[3] & 0x00)
2409 goto op_semantics_12
;
2415 switch (op
[3] & 0x00)
2418 goto op_semantics_13
;
2424 switch (op
[3] & 0x00)
2427 goto op_semantics_14
;
2433 switch (op
[3] & 0x00)
2436 goto op_semantics_15
;
2442 switch (op
[3] & 0x00)
2445 goto op_semantics_16
;
2451 switch (op
[3] & 0x00)
2454 goto op_semantics_17
;
2458 default: UNSUPPORTED(); break;
2463 switch (op
[2] & 0xff)
2467 switch (op
[3] & 0x00)
2470 goto op_semantics_7
;
2476 switch (op
[3] & 0x00)
2479 goto op_semantics_18
;
2485 switch (op
[3] & 0x00)
2488 goto op_semantics_8
;
2494 switch (op
[3] & 0x00)
2497 goto op_semantics_9
;
2503 switch (op
[3] & 0x00)
2506 goto op_semantics_10
;
2512 switch (op
[3] & 0x00)
2515 goto op_semantics_11
;
2521 switch (op
[3] & 0x00)
2524 goto op_semantics_12
;
2530 switch (op
[3] & 0x00)
2533 goto op_semantics_13
;
2539 switch (op
[3] & 0x00)
2542 goto op_semantics_14
;
2548 switch (op
[3] & 0x00)
2551 goto op_semantics_15
;
2557 switch (op
[3] & 0x00)
2560 goto op_semantics_16
;
2566 switch (op
[3] & 0x00)
2569 goto op_semantics_17
;
2573 default: UNSUPPORTED(); break;
2578 switch (op
[2] & 0xff)
2582 switch (op
[3] & 0x00)
2585 goto op_semantics_7
;
2591 switch (op
[3] & 0x00)
2594 goto op_semantics_18
;
2600 switch (op
[3] & 0x00)
2603 goto op_semantics_8
;
2609 switch (op
[3] & 0x00)
2612 goto op_semantics_9
;
2618 switch (op
[3] & 0x00)
2621 goto op_semantics_10
;
2627 switch (op
[3] & 0x00)
2630 goto op_semantics_11
;
2636 switch (op
[3] & 0x00)
2639 goto op_semantics_12
;
2645 switch (op
[3] & 0x00)
2648 goto op_semantics_13
;
2654 switch (op
[3] & 0x00)
2657 goto op_semantics_14
;
2663 switch (op
[3] & 0x00)
2666 goto op_semantics_15
;
2672 switch (op
[3] & 0x00)
2675 goto op_semantics_16
;
2681 switch (op
[3] & 0x00)
2684 goto op_semantics_17
;
2688 default: UNSUPPORTED(); break;
2693 switch (op
[2] & 0xff)
2697 switch (op
[3] & 0x00)
2700 goto op_semantics_7
;
2706 switch (op
[3] & 0x00)
2709 goto op_semantics_18
;
2715 switch (op
[3] & 0x00)
2718 goto op_semantics_8
;
2724 switch (op
[3] & 0x00)
2727 goto op_semantics_9
;
2733 switch (op
[3] & 0x00)
2736 goto op_semantics_10
;
2742 switch (op
[3] & 0x00)
2745 goto op_semantics_11
;
2751 switch (op
[3] & 0x00)
2754 goto op_semantics_12
;
2760 switch (op
[3] & 0x00)
2763 goto op_semantics_13
;
2769 switch (op
[3] & 0x00)
2772 goto op_semantics_14
;
2778 switch (op
[3] & 0x00)
2781 goto op_semantics_15
;
2787 switch (op
[3] & 0x00)
2790 goto op_semantics_16
;
2796 switch (op
[3] & 0x00)
2799 goto op_semantics_17
;
2803 default: UNSUPPORTED(); break;
2808 switch (op
[2] & 0x00)
2811 goto op_semantics_1
;
2817 switch (op
[2] & 0x00)
2820 goto op_semantics_1
;
2826 switch (op
[2] & 0x00)
2829 goto op_semantics_1
;
2835 switch (op
[2] & 0x00)
2838 goto op_semantics_1
;
2844 switch (op
[2] & 0x00)
2847 goto op_semantics_2
;
2853 switch (op
[2] & 0x00)
2856 goto op_semantics_2
;
2862 switch (op
[2] & 0x00)
2865 goto op_semantics_2
;
2871 switch (op
[2] & 0x00)
2874 goto op_semantics_2
;
2880 switch (op
[2] & 0x00)
2883 goto op_semantics_3
;
2889 switch (op
[2] & 0x00)
2892 goto op_semantics_3
;
2898 switch (op
[2] & 0x00)
2901 goto op_semantics_3
;
2907 switch (op
[2] & 0x00)
2910 goto op_semantics_3
;
2916 switch (op
[2] & 0x00)
2919 goto op_semantics_4
;
2925 switch (op
[2] & 0x00)
2928 goto op_semantics_4
;
2934 switch (op
[2] & 0x00)
2937 goto op_semantics_4
;
2943 switch (op
[2] & 0x00)
2946 goto op_semantics_4
;
2952 switch (op
[2] & 0x00)
2955 goto op_semantics_5
;
2961 switch (op
[2] & 0x00)
2964 goto op_semantics_5
;
2970 switch (op
[2] & 0x00)
2973 goto op_semantics_5
;
2979 switch (op
[2] & 0x00)
2982 goto op_semantics_5
;
2988 switch (op
[2] & 0x00)
2991 goto op_semantics_6
;
2997 switch (op
[2] & 0x00)
3000 goto op_semantics_6
;
3006 switch (op
[2] & 0x00)
3009 goto op_semantics_6
;
3015 switch (op
[2] & 0x00)
3018 goto op_semantics_6
;
3024 switch (op
[2] & 0xff)
3028 switch (op
[3] & 0x00)
3031 goto op_semantics_7
;
3037 switch (op
[3] & 0x00)
3040 goto op_semantics_8
;
3046 switch (op
[3] & 0x00)
3049 goto op_semantics_9
;
3055 switch (op
[3] & 0x00)
3058 goto op_semantics_10
;
3064 switch (op
[3] & 0x00)
3067 goto op_semantics_11
;
3073 switch (op
[3] & 0x00)
3076 goto op_semantics_12
;
3082 switch (op
[3] & 0x00)
3085 goto op_semantics_13
;
3091 switch (op
[3] & 0x00)
3094 goto op_semantics_14
;
3100 switch (op
[3] & 0x00)
3103 goto op_semantics_15
;
3109 switch (op
[3] & 0x00)
3112 goto op_semantics_16
;
3118 switch (op
[3] & 0x00)
3121 goto op_semantics_17
;
3125 default: UNSUPPORTED(); break;
3130 switch (op
[2] & 0xff)
3134 switch (op
[3] & 0x00)
3137 goto op_semantics_7
;
3143 switch (op
[3] & 0x00)
3146 goto op_semantics_8
;
3152 switch (op
[3] & 0x00)
3155 goto op_semantics_9
;
3161 switch (op
[3] & 0x00)
3164 goto op_semantics_10
;
3170 switch (op
[3] & 0x00)
3173 goto op_semantics_11
;
3179 switch (op
[3] & 0x00)
3182 goto op_semantics_12
;
3188 switch (op
[3] & 0x00)
3191 goto op_semantics_13
;
3197 switch (op
[3] & 0x00)
3200 goto op_semantics_14
;
3206 switch (op
[3] & 0x00)
3209 goto op_semantics_15
;
3215 switch (op
[3] & 0x00)
3218 goto op_semantics_16
;
3224 switch (op
[3] & 0x00)
3227 goto op_semantics_17
;
3231 default: UNSUPPORTED(); break;
3236 switch (op
[2] & 0xff)
3240 switch (op
[3] & 0x00)
3243 goto op_semantics_7
;
3249 switch (op
[3] & 0x00)
3252 goto op_semantics_8
;
3258 switch (op
[3] & 0x00)
3261 goto op_semantics_9
;
3267 switch (op
[3] & 0x00)
3270 goto op_semantics_10
;
3276 switch (op
[3] & 0x00)
3279 goto op_semantics_11
;
3285 switch (op
[3] & 0x00)
3288 goto op_semantics_12
;
3294 switch (op
[3] & 0x00)
3297 goto op_semantics_13
;
3303 switch (op
[3] & 0x00)
3306 goto op_semantics_14
;
3312 switch (op
[3] & 0x00)
3315 goto op_semantics_15
;
3321 switch (op
[3] & 0x00)
3324 goto op_semantics_16
;
3330 switch (op
[3] & 0x00)
3333 goto op_semantics_17
;
3337 default: UNSUPPORTED(); break;
3342 switch (op
[2] & 0xff)
3346 switch (op
[3] & 0x00)
3349 goto op_semantics_7
;
3355 switch (op
[3] & 0x00)
3358 goto op_semantics_8
;
3364 switch (op
[3] & 0x00)
3367 goto op_semantics_9
;
3373 switch (op
[3] & 0x00)
3376 goto op_semantics_10
;
3382 switch (op
[3] & 0x00)
3385 goto op_semantics_11
;
3391 switch (op
[3] & 0x00)
3394 goto op_semantics_12
;
3400 switch (op
[3] & 0x00)
3403 goto op_semantics_13
;
3409 switch (op
[3] & 0x00)
3412 goto op_semantics_14
;
3418 switch (op
[3] & 0x00)
3421 goto op_semantics_15
;
3427 switch (op
[3] & 0x00)
3430 goto op_semantics_16
;
3436 switch (op
[3] & 0x00)
3439 goto op_semantics_17
;
3443 default: UNSUPPORTED(); break;
3446 default: UNSUPPORTED(); break;
3458 /** 0000 1dsp bra.s %a0 */
3459 #line 699 "rx-decode.opc"
3460 int dsp AU
= op
[0] & 0x07;
3463 printf ("\033[33m%s\033[0m %02x\n",
3464 "/** 0000 1dsp bra.s %a0 */",
3466 printf (" dsp = 0x%x\n", dsp
);
3468 SYNTAX("bra.s %a0");
3469 #line 699 "rx-decode.opc"
3470 ID(branch
); DC(pc
+ dsp3map
[dsp
]);
3491 /** 0001 n dsp b%1.s %a0 */
3492 #line 689 "rx-decode.opc"
3493 int n AU
= (op
[0] >> 3) & 0x01;
3494 #line 689 "rx-decode.opc"
3495 int dsp AU
= op
[0] & 0x07;
3498 printf ("\033[33m%s\033[0m %02x\n",
3499 "/** 0001 n dsp b%1.s %a0 */",
3501 printf (" n = 0x%x,", n
);
3502 printf (" dsp = 0x%x\n", dsp
);
3504 SYNTAX("b%1.s %a0");
3505 #line 689 "rx-decode.opc"
3506 ID(branch
); Scc(n
); DC(pc
+ dsp3map
[dsp
]);
3526 /** 0010 cond b%1.b %a0 */
3527 #line 692 "rx-decode.opc"
3528 int cond AU
= op
[0] & 0x0f;
3531 printf ("\033[33m%s\033[0m %02x\n",
3532 "/** 0010 cond b%1.b %a0 */",
3534 printf (" cond = 0x%x\n", cond
);
3536 SYNTAX("b%1.b %a0");
3537 #line 692 "rx-decode.opc"
3538 ID(branch
); Scc(cond
); DC(pc
+ IMMex (1));
3544 /** 0010 1110 bra.b %a0 */
3547 printf ("\033[33m%s\033[0m %02x\n",
3548 "/** 0010 1110 bra.b %a0 */",
3551 SYNTAX("bra.b %a0");
3552 #line 702 "rx-decode.opc"
3553 ID(branch
); DC(pc
+ IMMex(1));
3559 /** 0011 1000 bra.w %a0 */
3562 printf ("\033[33m%s\033[0m %02x\n",
3563 "/** 0011 1000 bra.w %a0 */",
3566 SYNTAX("bra.w %a0");
3567 #line 705 "rx-decode.opc"
3568 ID(branch
); DC(pc
+ IMMex(2));
3574 /** 0011 1001 bsr.w %a0 */
3577 printf ("\033[33m%s\033[0m %02x\n",
3578 "/** 0011 1001 bsr.w %a0 */",
3581 SYNTAX("bsr.w %a0");
3582 #line 721 "rx-decode.opc"
3583 ID(jsr
); DC(pc
+ IMMex(2));
3590 /** 0011 101c b%1.w %a0 */
3591 #line 695 "rx-decode.opc"
3592 int c AU
= op
[0] & 0x01;
3595 printf ("\033[33m%s\033[0m %02x\n",
3596 "/** 0011 101c b%1.w %a0 */",
3598 printf (" c = 0x%x\n", c
);
3600 SYNTAX("b%1.w %a0");
3601 #line 695 "rx-decode.opc"
3602 ID(branch
); Scc(c
); DC(pc
+ IMMex (2));
3609 switch (op
[1] & 0x00)
3614 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3615 #line 271 "rx-decode.opc"
3616 int sz AU
= op
[0] & 0x03;
3617 #line 271 "rx-decode.opc"
3618 int d AU
= (op
[1] >> 7) & 0x01;
3619 #line 271 "rx-decode.opc"
3620 int dst AU
= (op
[1] >> 4) & 0x07;
3621 #line 271 "rx-decode.opc"
3622 int sppp AU
= op
[1] & 0x0f;
3625 printf ("\033[33m%s\033[0m %02x %02x\n",
3626 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3628 printf (" sz = 0x%x,", sz
);
3629 printf (" d = 0x%x,", d
);
3630 printf (" dst = 0x%x,", dst
);
3631 printf (" sppp = 0x%x\n", sppp
);
3633 SYNTAX("mov%s #%1, %0");
3634 #line 271 "rx-decode.opc"
3635 ID(mov
); sBWL (sz
); DIs(dst
, d
*16+sppp
, sz
); SC(IMM(1)); F_____
;
3643 switch (op
[1] & 0x00)
3646 goto op_semantics_19
;
3652 switch (op
[1] & 0x00)
3655 goto op_semantics_19
;
3661 switch (op
[1] & 0x00)
3665 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3666 #line 367 "rx-decode.opc"
3667 int rega AU
= (op
[1] >> 4) & 0x0f;
3668 #line 367 "rx-decode.opc"
3669 int regb AU
= op
[1] & 0x0f;
3672 printf ("\033[33m%s\033[0m %02x %02x\n",
3673 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3675 printf (" rega = 0x%x,", rega
);
3676 printf (" regb = 0x%x\n", regb
);
3678 SYNTAX("rtsd #%1, %2-%0");
3679 #line 367 "rx-decode.opc"
3680 ID(rtsd
); SC(IMM(1) * 4); S2R(rega
); DR(regb
);
3682 /*----------------------------------------------------------------------*/
3691 switch (op
[1] & 0x00)
3696 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3697 #line 502 "rx-decode.opc"
3698 int ss AU
= op
[0] & 0x03;
3699 #line 502 "rx-decode.opc"
3700 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3701 #line 502 "rx-decode.opc"
3702 int rdst AU
= op
[1] & 0x0f;
3705 printf ("\033[33m%s\033[0m %02x %02x\n",
3706 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3708 printf (" ss = 0x%x,", ss
);
3709 printf (" rsrc = 0x%x,", rsrc
);
3710 printf (" rdst = 0x%x\n", rdst
);
3712 SYNTAX("sub %2%S2, %1");
3713 #line 502 "rx-decode.opc"
3714 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
3722 switch (op
[1] & 0x00)
3725 goto op_semantics_20
;
3731 switch (op
[1] & 0x00)
3734 goto op_semantics_20
;
3740 switch (op
[1] & 0x00)
3743 goto op_semantics_20
;
3749 switch (op
[1] & 0x00)
3754 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3755 #line 490 "rx-decode.opc"
3756 int ss AU
= op
[0] & 0x03;
3757 #line 490 "rx-decode.opc"
3758 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3759 #line 490 "rx-decode.opc"
3760 int rdst AU
= op
[1] & 0x0f;
3763 printf ("\033[33m%s\033[0m %02x %02x\n",
3764 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3766 printf (" ss = 0x%x,", ss
);
3767 printf (" rsrc = 0x%x,", rsrc
);
3768 printf (" rdst = 0x%x\n", rdst
);
3770 SYNTAX("cmp %2%S2, %1");
3771 #line 490 "rx-decode.opc"
3772 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); F_OSZC
;
3780 switch (op
[1] & 0x00)
3783 goto op_semantics_21
;
3789 switch (op
[1] & 0x00)
3792 goto op_semantics_21
;
3798 switch (op
[1] & 0x00)
3801 goto op_semantics_21
;
3807 switch (op
[1] & 0x00)
3812 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3813 #line 466 "rx-decode.opc"
3814 int ss AU
= op
[0] & 0x03;
3815 #line 466 "rx-decode.opc"
3816 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3817 #line 466 "rx-decode.opc"
3818 int rdst AU
= op
[1] & 0x0f;
3821 printf ("\033[33m%s\033[0m %02x %02x\n",
3822 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3824 printf (" ss = 0x%x,", ss
);
3825 printf (" rsrc = 0x%x,", rsrc
);
3826 printf (" rdst = 0x%x\n", rdst
);
3828 SYNTAX("add %1%S1, %0");
3829 #line 466 "rx-decode.opc"
3830 ID(add
); SP(ss
, rsrc
); DR(rdst
); F_OSZC
;
3838 switch (op
[1] & 0x00)
3841 goto op_semantics_22
;
3847 switch (op
[1] & 0x00)
3850 goto op_semantics_22
;
3856 switch (op
[1] & 0x00)
3859 goto op_semantics_22
;
3865 switch (op
[1] & 0x00)
3870 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3871 #line 570 "rx-decode.opc"
3872 int ss AU
= op
[0] & 0x03;
3873 #line 570 "rx-decode.opc"
3874 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3875 #line 570 "rx-decode.opc"
3876 int rdst AU
= op
[1] & 0x0f;
3879 printf ("\033[33m%s\033[0m %02x %02x\n",
3880 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3882 printf (" ss = 0x%x,", ss
);
3883 printf (" rsrc = 0x%x,", rsrc
);
3884 printf (" rdst = 0x%x\n", rdst
);
3886 SYNTAX("mul %1%S1, %0");
3887 #line 570 "rx-decode.opc"
3888 ID(mul
); SP(ss
, rsrc
); DR(rdst
); F_____
;
3896 switch (op
[1] & 0x00)
3899 goto op_semantics_23
;
3905 switch (op
[1] & 0x00)
3908 goto op_semantics_23
;
3914 switch (op
[1] & 0x00)
3917 goto op_semantics_23
;
3923 switch (op
[1] & 0x00)
3928 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3929 #line 379 "rx-decode.opc"
3930 int ss AU
= op
[0] & 0x03;
3931 #line 379 "rx-decode.opc"
3932 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3933 #line 379 "rx-decode.opc"
3934 int rdst AU
= op
[1] & 0x0f;
3937 printf ("\033[33m%s\033[0m %02x %02x\n",
3938 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3940 printf (" ss = 0x%x,", ss
);
3941 printf (" rsrc = 0x%x,", rsrc
);
3942 printf (" rdst = 0x%x\n", rdst
);
3944 SYNTAX("and %1%S1, %0");
3945 #line 379 "rx-decode.opc"
3946 ID(and); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
3954 switch (op
[1] & 0x00)
3957 goto op_semantics_24
;
3963 switch (op
[1] & 0x00)
3966 goto op_semantics_24
;
3972 switch (op
[1] & 0x00)
3975 goto op_semantics_24
;
3981 switch (op
[1] & 0x00)
3986 /** 0101 01ss rsrc rdst or %1%S1, %0 */
3987 #line 397 "rx-decode.opc"
3988 int ss AU
= op
[0] & 0x03;
3989 #line 397 "rx-decode.opc"
3990 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3991 #line 397 "rx-decode.opc"
3992 int rdst AU
= op
[1] & 0x0f;
3995 printf ("\033[33m%s\033[0m %02x %02x\n",
3996 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
3998 printf (" ss = 0x%x,", ss
);
3999 printf (" rsrc = 0x%x,", rsrc
);
4000 printf (" rdst = 0x%x\n", rdst
);
4002 SYNTAX("or %1%S1, %0");
4003 #line 397 "rx-decode.opc"
4004 ID(or); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
4012 switch (op
[1] & 0x00)
4015 goto op_semantics_25
;
4021 switch (op
[1] & 0x00)
4024 goto op_semantics_25
;
4030 switch (op
[1] & 0x00)
4033 goto op_semantics_25
;
4039 switch (op
[1] & 0x00)
4044 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4045 #line 318 "rx-decode.opc"
4046 int s AU
= (op
[0] >> 2) & 0x01;
4047 #line 318 "rx-decode.opc"
4048 int ss AU
= op
[0] & 0x03;
4049 #line 318 "rx-decode.opc"
4050 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4051 #line 318 "rx-decode.opc"
4052 int rdst AU
= op
[1] & 0x0f;
4055 printf ("\033[33m%s\033[0m %02x %02x\n",
4056 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4058 printf (" s = 0x%x,", s
);
4059 printf (" ss = 0x%x,", ss
);
4060 printf (" rsrc = 0x%x,", rsrc
);
4061 printf (" rdst = 0x%x\n", rdst
);
4063 SYNTAX("movu%s %1, %0");
4064 #line 318 "rx-decode.opc"
4065 ID(mov
); uBWL(s
); SD(ss
, rsrc
, s
); DR(rdst
); F_____
;
4073 switch (op
[1] & 0x00)
4076 goto op_semantics_26
;
4082 switch (op
[1] & 0x00)
4085 goto op_semantics_26
;
4091 switch (op
[1] & 0x00)
4094 goto op_semantics_26
;
4100 switch (op
[1] & 0x00)
4103 goto op_semantics_26
;
4109 switch (op
[1] & 0x00)
4112 goto op_semantics_26
;
4118 switch (op
[1] & 0x00)
4121 goto op_semantics_26
;
4127 switch (op
[1] & 0x00)
4130 goto op_semantics_26
;
4136 switch (op
[1] & 0x00)
4140 /** 0110 0000 immm rdst sub #%2, %0 */
4141 #line 499 "rx-decode.opc"
4142 int immm AU
= (op
[1] >> 4) & 0x0f;
4143 #line 499 "rx-decode.opc"
4144 int rdst AU
= op
[1] & 0x0f;
4147 printf ("\033[33m%s\033[0m %02x %02x\n",
4148 "/** 0110 0000 immm rdst sub #%2, %0 */",
4150 printf (" immm = 0x%x,", immm
);
4151 printf (" rdst = 0x%x\n", rdst
);
4153 SYNTAX("sub #%2, %0");
4154 #line 499 "rx-decode.opc"
4155 ID(sub
); S2C(immm
); SR(rdst
); DR(rdst
); F_OSZC
;
4163 switch (op
[1] & 0x00)
4167 /** 0110 0001 immm rdst cmp #%2, %1 */
4168 #line 481 "rx-decode.opc"
4169 int immm AU
= (op
[1] >> 4) & 0x0f;
4170 #line 481 "rx-decode.opc"
4171 int rdst AU
= op
[1] & 0x0f;
4174 printf ("\033[33m%s\033[0m %02x %02x\n",
4175 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4177 printf (" immm = 0x%x,", immm
);
4178 printf (" rdst = 0x%x\n", rdst
);
4180 SYNTAX("cmp #%2, %1");
4181 #line 481 "rx-decode.opc"
4182 ID(sub
); S2C(immm
); SR(rdst
); F_OSZC
;
4190 switch (op
[1] & 0x00)
4194 /** 0110 0010 immm rdst add #%1, %0 */
4195 #line 463 "rx-decode.opc"
4196 int immm AU
= (op
[1] >> 4) & 0x0f;
4197 #line 463 "rx-decode.opc"
4198 int rdst AU
= op
[1] & 0x0f;
4201 printf ("\033[33m%s\033[0m %02x %02x\n",
4202 "/** 0110 0010 immm rdst add #%1, %0 */",
4204 printf (" immm = 0x%x,", immm
);
4205 printf (" rdst = 0x%x\n", rdst
);
4207 SYNTAX("add #%1, %0");
4208 #line 463 "rx-decode.opc"
4209 ID(add
); SC(immm
); DR(rdst
); F_OSZC
;
4217 switch (op
[1] & 0x00)
4221 /** 0110 0011 immm rdst mul #%1, %0 */
4222 #line 564 "rx-decode.opc"
4223 int immm AU
= (op
[1] >> 4) & 0x0f;
4224 #line 564 "rx-decode.opc"
4225 int rdst AU
= op
[1] & 0x0f;
4228 printf ("\033[33m%s\033[0m %02x %02x\n",
4229 "/** 0110 0011 immm rdst mul #%1, %0 */",
4231 printf (" immm = 0x%x,", immm
);
4232 printf (" rdst = 0x%x\n", rdst
);
4234 SYNTAX("mul #%1, %0");
4235 #line 564 "rx-decode.opc"
4236 ID(mul
); DR(rdst
); SC(immm
); F_____
;
4244 switch (op
[1] & 0x00)
4248 /** 0110 0100 immm rdst and #%1, %0 */
4249 #line 373 "rx-decode.opc"
4250 int immm AU
= (op
[1] >> 4) & 0x0f;
4251 #line 373 "rx-decode.opc"
4252 int rdst AU
= op
[1] & 0x0f;
4255 printf ("\033[33m%s\033[0m %02x %02x\n",
4256 "/** 0110 0100 immm rdst and #%1, %0 */",
4258 printf (" immm = 0x%x,", immm
);
4259 printf (" rdst = 0x%x\n", rdst
);
4261 SYNTAX("and #%1, %0");
4262 #line 373 "rx-decode.opc"
4263 ID(and); SC(immm
); DR(rdst
); F__SZ_
;
4271 switch (op
[1] & 0x00)
4275 /** 0110 0101 immm rdst or #%1, %0 */
4276 #line 391 "rx-decode.opc"
4277 int immm AU
= (op
[1] >> 4) & 0x0f;
4278 #line 391 "rx-decode.opc"
4279 int rdst AU
= op
[1] & 0x0f;
4282 printf ("\033[33m%s\033[0m %02x %02x\n",
4283 "/** 0110 0101 immm rdst or #%1, %0 */",
4285 printf (" immm = 0x%x,", immm
);
4286 printf (" rdst = 0x%x\n", rdst
);
4288 SYNTAX("or #%1, %0");
4289 #line 391 "rx-decode.opc"
4290 ID(or); SC(immm
); DR(rdst
); F__SZ_
;
4298 switch (op
[1] & 0x00)
4302 /** 0110 0110 immm rdst mov%s #%1, %0 */
4303 #line 268 "rx-decode.opc"
4304 int immm AU
= (op
[1] >> 4) & 0x0f;
4305 #line 268 "rx-decode.opc"
4306 int rdst AU
= op
[1] & 0x0f;
4309 printf ("\033[33m%s\033[0m %02x %02x\n",
4310 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4312 printf (" immm = 0x%x,", immm
);
4313 printf (" rdst = 0x%x\n", rdst
);
4315 SYNTAX("mov%s #%1, %0");
4316 #line 268 "rx-decode.opc"
4317 ID(mov
); DR(rdst
); SC(immm
); F_____
;
4325 /** 0110 0111 rtsd #%1 */
4328 printf ("\033[33m%s\033[0m %02x\n",
4329 "/** 0110 0111 rtsd #%1 */",
4333 #line 364 "rx-decode.opc"
4334 ID(rtsd
); SC(IMM(1) * 4);
4340 switch (op
[1] & 0x00)
4345 /** 0110 100i mmmm rdst shlr #%2, %0 */
4346 #line 650 "rx-decode.opc"
4347 int i AU
= op
[0] & 0x01;
4348 #line 650 "rx-decode.opc"
4349 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4350 #line 650 "rx-decode.opc"
4351 int rdst AU
= op
[1] & 0x0f;
4354 printf ("\033[33m%s\033[0m %02x %02x\n",
4355 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4357 printf (" i = 0x%x,", i
);
4358 printf (" mmmm = 0x%x,", mmmm
);
4359 printf (" rdst = 0x%x\n", rdst
);
4361 SYNTAX("shlr #%2, %0");
4362 #line 650 "rx-decode.opc"
4363 ID(shlr
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F__SZC
;
4371 switch (op
[1] & 0x00)
4374 goto op_semantics_27
;
4380 switch (op
[1] & 0x00)
4385 /** 0110 101i mmmm rdst shar #%2, %0 */
4386 #line 640 "rx-decode.opc"
4387 int i AU
= op
[0] & 0x01;
4388 #line 640 "rx-decode.opc"
4389 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4390 #line 640 "rx-decode.opc"
4391 int rdst AU
= op
[1] & 0x0f;
4394 printf ("\033[33m%s\033[0m %02x %02x\n",
4395 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4397 printf (" i = 0x%x,", i
);
4398 printf (" mmmm = 0x%x,", mmmm
);
4399 printf (" rdst = 0x%x\n", rdst
);
4401 SYNTAX("shar #%2, %0");
4402 #line 640 "rx-decode.opc"
4403 ID(shar
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_0SZC
;
4411 switch (op
[1] & 0x00)
4414 goto op_semantics_28
;
4420 switch (op
[1] & 0x00)
4425 /** 0110 110i mmmm rdst shll #%2, %0 */
4426 #line 630 "rx-decode.opc"
4427 int i AU
= op
[0] & 0x01;
4428 #line 630 "rx-decode.opc"
4429 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4430 #line 630 "rx-decode.opc"
4431 int rdst AU
= op
[1] & 0x0f;
4434 printf ("\033[33m%s\033[0m %02x %02x\n",
4435 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4437 printf (" i = 0x%x,", i
);
4438 printf (" mmmm = 0x%x,", mmmm
);
4439 printf (" rdst = 0x%x\n", rdst
);
4441 SYNTAX("shll #%2, %0");
4442 #line 630 "rx-decode.opc"
4443 ID(shll
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F_OSZC
;
4451 switch (op
[1] & 0x00)
4454 goto op_semantics_29
;
4460 switch (op
[1] & 0x00)
4464 /** 0110 1110 dsta dstb pushm %1-%2 */
4465 #line 331 "rx-decode.opc"
4466 int dsta AU
= (op
[1] >> 4) & 0x0f;
4467 #line 331 "rx-decode.opc"
4468 int dstb AU
= op
[1] & 0x0f;
4471 printf ("\033[33m%s\033[0m %02x %02x\n",
4472 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4474 printf (" dsta = 0x%x,", dsta
);
4475 printf (" dstb = 0x%x\n", dstb
);
4477 SYNTAX("pushm %1-%2");
4478 #line 331 "rx-decode.opc"
4479 ID(pushm
); SR(dsta
); S2R(dstb
); F_____
;
4487 switch (op
[1] & 0x00)
4491 /** 0110 1111 dsta dstb popm %1-%2 */
4492 #line 328 "rx-decode.opc"
4493 int dsta AU
= (op
[1] >> 4) & 0x0f;
4494 #line 328 "rx-decode.opc"
4495 int dstb AU
= op
[1] & 0x0f;
4498 printf ("\033[33m%s\033[0m %02x %02x\n",
4499 "/** 0110 1111 dsta dstb popm %1-%2 */",
4501 printf (" dsta = 0x%x,", dsta
);
4502 printf (" dstb = 0x%x\n", dstb
);
4504 SYNTAX("popm %1-%2");
4505 #line 328 "rx-decode.opc"
4506 ID(popm
); SR(dsta
); S2R(dstb
); F_____
;
4514 switch (op
[1] & 0x00)
4519 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4520 #line 472 "rx-decode.opc"
4521 int im AU
= op
[0] & 0x03;
4522 #line 472 "rx-decode.opc"
4523 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4524 #line 472 "rx-decode.opc"
4525 int rdst AU
= op
[1] & 0x0f;
4528 printf ("\033[33m%s\033[0m %02x %02x\n",
4529 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4531 printf (" im = 0x%x,", im
);
4532 printf (" rsrc = 0x%x,", rsrc
);
4533 printf (" rdst = 0x%x\n", rdst
);
4535 SYNTAX("add #%1, %2, %0");
4536 #line 472 "rx-decode.opc"
4537 ID(add
); SC(IMMex(im
)); S2R(rsrc
); DR(rdst
); F_OSZC
;
4545 switch (op
[1] & 0x00)
4548 goto op_semantics_30
;
4554 switch (op
[1] & 0x00)
4557 goto op_semantics_30
;
4563 switch (op
[1] & 0x00)
4566 goto op_semantics_30
;
4572 switch (op
[1] & 0xf0)
4577 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4578 #line 484 "rx-decode.opc"
4579 int im AU
= op
[0] & 0x03;
4580 #line 484 "rx-decode.opc"
4581 int rsrc AU
= op
[1] & 0x0f;
4584 printf ("\033[33m%s\033[0m %02x %02x\n",
4585 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4587 printf (" im = 0x%x,", im
);
4588 printf (" rsrc = 0x%x\n", rsrc
);
4590 SYNTAX("cmp #%2, %1%S1");
4591 #line 484 "rx-decode.opc"
4592 ID(sub
); SR(rsrc
); S2C(IMMex(im
)); F_OSZC
;
4599 /** 0111 01im 0001rdst mul #%1, %0 */
4600 #line 567 "rx-decode.opc"
4601 int im AU
= op
[0] & 0x03;
4602 #line 567 "rx-decode.opc"
4603 int rdst AU
= op
[1] & 0x0f;
4606 printf ("\033[33m%s\033[0m %02x %02x\n",
4607 "/** 0111 01im 0001rdst mul #%1, %0 */",
4609 printf (" im = 0x%x,", im
);
4610 printf (" rdst = 0x%x\n", rdst
);
4612 SYNTAX("mul #%1, %0");
4613 #line 567 "rx-decode.opc"
4614 ID(mul
); DR(rdst
); SC(IMMex(im
)); F_____
;
4621 /** 0111 01im 0010 rdst and #%1, %0 */
4622 #line 376 "rx-decode.opc"
4623 int im AU
= op
[0] & 0x03;
4624 #line 376 "rx-decode.opc"
4625 int rdst AU
= op
[1] & 0x0f;
4628 printf ("\033[33m%s\033[0m %02x %02x\n",
4629 "/** 0111 01im 0010 rdst and #%1, %0 */",
4631 printf (" im = 0x%x,", im
);
4632 printf (" rdst = 0x%x\n", rdst
);
4634 SYNTAX("and #%1, %0");
4635 #line 376 "rx-decode.opc"
4636 ID(and); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4643 /** 0111 01im 0011 rdst or #%1, %0 */
4644 #line 394 "rx-decode.opc"
4645 int im AU
= op
[0] & 0x03;
4646 #line 394 "rx-decode.opc"
4647 int rdst AU
= op
[1] & 0x0f;
4650 printf ("\033[33m%s\033[0m %02x %02x\n",
4651 "/** 0111 01im 0011 rdst or #%1, %0 */",
4653 printf (" im = 0x%x,", im
);
4654 printf (" rdst = 0x%x\n", rdst
);
4656 SYNTAX("or #%1, %0");
4657 #line 394 "rx-decode.opc"
4658 ID(or); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
4662 default: UNSUPPORTED(); break;
4667 switch (op
[1] & 0xff)
4685 goto op_semantics_31
;
4703 goto op_semantics_32
;
4721 goto op_semantics_33
;
4739 goto op_semantics_34
;
4758 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4759 #line 262 "rx-decode.opc"
4760 int rdst AU
= op
[1] & 0x0f;
4763 printf ("\033[33m%s\033[0m %02x %02x\n",
4764 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4766 printf (" rdst = 0x%x\n", rdst
);
4768 SYNTAX("mov%s #%1, %0");
4769 #line 262 "rx-decode.opc"
4770 ID(mov
); DR(rdst
); SC(IMM (1)); F_____
;
4791 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4792 #line 487 "rx-decode.opc"
4793 int rsrc AU
= op
[1] & 0x0f;
4796 printf ("\033[33m%s\033[0m %02x %02x\n",
4797 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4799 printf (" rsrc = 0x%x\n", rsrc
);
4801 SYNTAX("cmp #%2, %1");
4802 #line 487 "rx-decode.opc"
4803 ID(sub
); SR(rsrc
); S2C(IMM(1)); F_OSZC
;
4809 /** 0111 0101 0110 0000 int #%1 */
4812 printf ("\033[33m%s\033[0m %02x %02x\n",
4813 "/** 0111 0101 0110 0000 int #%1 */",
4817 #line 947 "rx-decode.opc"
4818 ID(int); SC(IMM(1));
4824 switch (op
[2] & 0xf0)
4828 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4829 #line 914 "rx-decode.opc"
4830 int immm AU
= op
[2] & 0x0f;
4833 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4834 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4835 op
[0], op
[1], op
[2]);
4836 printf (" immm = 0x%x\n", immm
);
4838 SYNTAX("mvtipl #%1");
4839 #line 914 "rx-decode.opc"
4840 ID(mvtipl
); SC(immm
);
4844 default: UNSUPPORTED(); break;
4847 default: UNSUPPORTED(); break;
4852 switch (op
[1] & 0xf0)
4855 goto op_semantics_31
;
4858 goto op_semantics_32
;
4861 goto op_semantics_33
;
4864 goto op_semantics_34
;
4866 default: UNSUPPORTED(); break;
4871 switch (op
[1] & 0xf0)
4874 goto op_semantics_31
;
4877 goto op_semantics_32
;
4880 goto op_semantics_33
;
4883 goto op_semantics_34
;
4885 default: UNSUPPORTED(); break;
4890 switch (op
[1] & 0x00)
4895 /** 0111 100b ittt rdst bset #%1, %0 */
4896 #line 865 "rx-decode.opc"
4897 int b AU
= op
[0] & 0x01;
4898 #line 865 "rx-decode.opc"
4899 int ittt AU
= (op
[1] >> 4) & 0x0f;
4900 #line 865 "rx-decode.opc"
4901 int rdst AU
= op
[1] & 0x0f;
4904 printf ("\033[33m%s\033[0m %02x %02x\n",
4905 "/** 0111 100b ittt rdst bset #%1, %0 */",
4907 printf (" b = 0x%x,", b
);
4908 printf (" ittt = 0x%x,", ittt
);
4909 printf (" rdst = 0x%x\n", rdst
);
4911 SYNTAX("bset #%1, %0");
4912 #line 865 "rx-decode.opc"
4913 ID(bset
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
4922 switch (op
[1] & 0x00)
4925 goto op_semantics_35
;
4931 switch (op
[1] & 0x00)
4936 /** 0111 101b ittt rdst bclr #%1, %0 */
4937 #line 875 "rx-decode.opc"
4938 int b AU
= op
[0] & 0x01;
4939 #line 875 "rx-decode.opc"
4940 int ittt AU
= (op
[1] >> 4) & 0x0f;
4941 #line 875 "rx-decode.opc"
4942 int rdst AU
= op
[1] & 0x0f;
4945 printf ("\033[33m%s\033[0m %02x %02x\n",
4946 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4948 printf (" b = 0x%x,", b
);
4949 printf (" ittt = 0x%x,", ittt
);
4950 printf (" rdst = 0x%x\n", rdst
);
4952 SYNTAX("bclr #%1, %0");
4953 #line 875 "rx-decode.opc"
4954 ID(bclr
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F_____
;
4963 switch (op
[1] & 0x00)
4966 goto op_semantics_36
;
4972 switch (op
[1] & 0x00)
4977 /** 0111 110b ittt rdst btst #%2, %1 */
4978 #line 885 "rx-decode.opc"
4979 int b AU
= op
[0] & 0x01;
4980 #line 885 "rx-decode.opc"
4981 int ittt AU
= (op
[1] >> 4) & 0x0f;
4982 #line 885 "rx-decode.opc"
4983 int rdst AU
= op
[1] & 0x0f;
4986 printf ("\033[33m%s\033[0m %02x %02x\n",
4987 "/** 0111 110b ittt rdst btst #%2, %1 */",
4989 printf (" b = 0x%x,", b
);
4990 printf (" ittt = 0x%x,", ittt
);
4991 printf (" rdst = 0x%x\n", rdst
);
4993 SYNTAX("btst #%2, %1");
4994 #line 885 "rx-decode.opc"
4995 ID(btst
); BWL(LSIZE
); S2C(b
*16+ittt
); SR(rdst
); F___ZC
;
5004 switch (op
[1] & 0x00)
5007 goto op_semantics_37
;
5013 switch (op
[1] & 0xf0)
5017 /** 0111 1110 0000 rdst not %0 */
5018 #line 421 "rx-decode.opc"
5019 int rdst AU
= op
[1] & 0x0f;
5022 printf ("\033[33m%s\033[0m %02x %02x\n",
5023 "/** 0111 1110 0000 rdst not %0 */",
5025 printf (" rdst = 0x%x\n", rdst
);
5028 #line 421 "rx-decode.opc"
5029 ID(xor); DR(rdst
); SR(rdst
); S2C(~0); F__SZ_
;
5035 /** 0111 1110 0001 rdst neg %0 */
5036 #line 442 "rx-decode.opc"
5037 int rdst AU
= op
[1] & 0x0f;
5040 printf ("\033[33m%s\033[0m %02x %02x\n",
5041 "/** 0111 1110 0001 rdst neg %0 */",
5043 printf (" rdst = 0x%x\n", rdst
);
5046 #line 442 "rx-decode.opc"
5047 ID(sub
); DR(rdst
); SC(0); S2R(rdst
); F_OSZC
;
5053 /** 0111 1110 0010 rdst abs %0 */
5054 #line 524 "rx-decode.opc"
5055 int rdst AU
= op
[1] & 0x0f;
5058 printf ("\033[33m%s\033[0m %02x %02x\n",
5059 "/** 0111 1110 0010 rdst abs %0 */",
5061 printf (" rdst = 0x%x\n", rdst
);
5064 #line 524 "rx-decode.opc"
5065 ID(abs
); DR(rdst
); SR(rdst
); F_OSZ_
;
5071 /** 0111 1110 0011 rdst sat %0 */
5072 #line 805 "rx-decode.opc"
5073 int rdst AU
= op
[1] & 0x0f;
5076 printf ("\033[33m%s\033[0m %02x %02x\n",
5077 "/** 0111 1110 0011 rdst sat %0 */",
5079 printf (" rdst = 0x%x\n", rdst
);
5082 #line 805 "rx-decode.opc"
5089 /** 0111 1110 0100 rdst rorc %0 */
5090 #line 665 "rx-decode.opc"
5091 int rdst AU
= op
[1] & 0x0f;
5094 printf ("\033[33m%s\033[0m %02x %02x\n",
5095 "/** 0111 1110 0100 rdst rorc %0 */",
5097 printf (" rdst = 0x%x\n", rdst
);
5100 #line 665 "rx-decode.opc"
5101 ID(rorc
); DR(rdst
); F__SZC
;
5107 /** 0111 1110 0101 rdst rolc %0 */
5108 #line 662 "rx-decode.opc"
5109 int rdst AU
= op
[1] & 0x0f;
5112 printf ("\033[33m%s\033[0m %02x %02x\n",
5113 "/** 0111 1110 0101 rdst rolc %0 */",
5115 printf (" rdst = 0x%x\n", rdst
);
5118 #line 662 "rx-decode.opc"
5119 ID(rolc
); DR(rdst
); F__SZC
;
5127 /** 0111 1110 10sz rsrc push%s %1 */
5128 #line 337 "rx-decode.opc"
5129 int sz AU
= (op
[1] >> 4) & 0x03;
5130 #line 337 "rx-decode.opc"
5131 int rsrc AU
= op
[1] & 0x0f;
5134 printf ("\033[33m%s\033[0m %02x %02x\n",
5135 "/** 0111 1110 10sz rsrc push%s %1 */",
5137 printf (" sz = 0x%x,", sz
);
5138 printf (" rsrc = 0x%x\n", rsrc
);
5140 SYNTAX("push%s %1");
5141 #line 337 "rx-decode.opc"
5142 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SR(rsrc
); F_____
;
5148 /** 0111 1110 1011 rdst pop %0 */
5149 #line 334 "rx-decode.opc"
5150 int rdst AU
= op
[1] & 0x0f;
5153 printf ("\033[33m%s\033[0m %02x %02x\n",
5154 "/** 0111 1110 1011 rdst pop %0 */",
5156 printf (" rdst = 0x%x\n", rdst
);
5159 #line 334 "rx-decode.opc"
5160 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(rdst
); F_____
;
5167 /** 0111 1110 110 crsrc pushc %1 */
5168 #line 920 "rx-decode.opc"
5169 int crsrc AU
= op
[1] & 0x1f;
5172 printf ("\033[33m%s\033[0m %02x %02x\n",
5173 "/** 0111 1110 110 crsrc pushc %1 */",
5175 printf (" crsrc = 0x%x\n", crsrc
);
5178 #line 920 "rx-decode.opc"
5179 ID(mov
); OP(0, RX_Operand_Predec
, 0, 0); SR(crsrc
+ 16);
5186 /** 0111 1110 111 crdst popc %0 */
5187 #line 917 "rx-decode.opc"
5188 int crdst AU
= op
[1] & 0x1f;
5191 printf ("\033[33m%s\033[0m %02x %02x\n",
5192 "/** 0111 1110 111 crdst popc %0 */",
5194 printf (" crdst = 0x%x\n", crdst
);
5197 #line 917 "rx-decode.opc"
5198 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(crdst
+ 16);
5202 default: UNSUPPORTED(); break;
5207 switch (op
[1] & 0xff)
5226 /** 0111 1111 0000 rsrc jmp %0 */
5227 #line 715 "rx-decode.opc"
5228 int rsrc AU
= op
[1] & 0x0f;
5231 printf ("\033[33m%s\033[0m %02x %02x\n",
5232 "/** 0111 1111 0000 rsrc jmp %0 */",
5234 printf (" rsrc = 0x%x\n", rsrc
);
5237 #line 715 "rx-decode.opc"
5238 ID(branch
); DR(rsrc
);
5259 /** 0111 1111 0001 rsrc jsr %0 */
5260 #line 718 "rx-decode.opc"
5261 int rsrc AU
= op
[1] & 0x0f;
5264 printf ("\033[33m%s\033[0m %02x %02x\n",
5265 "/** 0111 1111 0001 rsrc jsr %0 */",
5267 printf (" rsrc = 0x%x\n", rsrc
);
5270 #line 718 "rx-decode.opc"
5292 /** 0111 1111 0100 rsrc bra.l %0 */
5293 #line 711 "rx-decode.opc"
5294 int rsrc AU
= op
[1] & 0x0f;
5297 printf ("\033[33m%s\033[0m %02x %02x\n",
5298 "/** 0111 1111 0100 rsrc bra.l %0 */",
5300 printf (" rsrc = 0x%x\n", rsrc
);
5303 #line 711 "rx-decode.opc"
5304 ID(branchrel
); DR(rsrc
);
5326 /** 0111 1111 0101 rsrc bsr.l %0 */
5327 #line 727 "rx-decode.opc"
5328 int rsrc AU
= op
[1] & 0x0f;
5331 printf ("\033[33m%s\033[0m %02x %02x\n",
5332 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5334 printf (" rsrc = 0x%x\n", rsrc
);
5337 #line 727 "rx-decode.opc"
5338 ID(jsrrel
); DR(rsrc
);
5346 /** 0111 1111 1000 00sz suntil%s */
5347 #line 751 "rx-decode.opc"
5348 int sz AU
= op
[1] & 0x03;
5351 printf ("\033[33m%s\033[0m %02x %02x\n",
5352 "/** 0111 1111 1000 00sz suntil%s */",
5354 printf (" sz = 0x%x\n", sz
);
5357 #line 751 "rx-decode.opc"
5358 ID(suntil
); BWL(sz
); F___ZC
;
5364 /** 0111 1111 1000 0011 scmpu */
5367 printf ("\033[33m%s\033[0m %02x %02x\n",
5368 "/** 0111 1111 1000 0011 scmpu */",
5372 #line 742 "rx-decode.opc"
5381 /** 0111 1111 1000 01sz swhile%s */
5382 #line 754 "rx-decode.opc"
5383 int sz AU
= op
[1] & 0x03;
5386 printf ("\033[33m%s\033[0m %02x %02x\n",
5387 "/** 0111 1111 1000 01sz swhile%s */",
5389 printf (" sz = 0x%x\n", sz
);
5392 #line 754 "rx-decode.opc"
5393 ID(swhile
); BWL(sz
); F___ZC
;
5399 /** 0111 1111 1000 0111 smovu */
5402 printf ("\033[33m%s\033[0m %02x %02x\n",
5403 "/** 0111 1111 1000 0111 smovu */",
5407 #line 745 "rx-decode.opc"
5416 /** 0111 1111 1000 10sz sstr%s */
5417 #line 760 "rx-decode.opc"
5418 int sz AU
= op
[1] & 0x03;
5421 printf ("\033[33m%s\033[0m %02x %02x\n",
5422 "/** 0111 1111 1000 10sz sstr%s */",
5424 printf (" sz = 0x%x\n", sz
);
5427 #line 760 "rx-decode.opc"
5430 /*----------------------------------------------------------------------*/
5437 /** 0111 1111 1000 1011 smovb */
5440 printf ("\033[33m%s\033[0m %02x %02x\n",
5441 "/** 0111 1111 1000 1011 smovb */",
5445 #line 748 "rx-decode.opc"
5454 /** 0111 1111 1000 11sz rmpa%s */
5455 #line 766 "rx-decode.opc"
5456 int sz AU
= op
[1] & 0x03;
5459 printf ("\033[33m%s\033[0m %02x %02x\n",
5460 "/** 0111 1111 1000 11sz rmpa%s */",
5462 printf (" sz = 0x%x\n", sz
);
5465 #line 766 "rx-decode.opc"
5466 ID(rmpa
); BWL(sz
); F_OS__
;
5468 /*----------------------------------------------------------------------*/
5475 /** 0111 1111 1000 1111 smovf */
5478 printf ("\033[33m%s\033[0m %02x %02x\n",
5479 "/** 0111 1111 1000 1111 smovf */",
5483 #line 757 "rx-decode.opc"
5490 /** 0111 1111 1001 0011 satr */
5493 printf ("\033[33m%s\033[0m %02x %02x\n",
5494 "/** 0111 1111 1001 0011 satr */",
5498 #line 808 "rx-decode.opc"
5501 /*----------------------------------------------------------------------*/
5508 /** 0111 1111 1001 0100 rtfi */
5511 printf ("\033[33m%s\033[0m %02x %02x\n",
5512 "/** 0111 1111 1001 0100 rtfi */",
5516 #line 935 "rx-decode.opc"
5523 /** 0111 1111 1001 0101 rte */
5526 printf ("\033[33m%s\033[0m %02x %02x\n",
5527 "/** 0111 1111 1001 0101 rte */",
5531 #line 938 "rx-decode.opc"
5538 /** 0111 1111 1001 0110 wait */
5541 printf ("\033[33m%s\033[0m %02x %02x\n",
5542 "/** 0111 1111 1001 0110 wait */",
5546 #line 950 "rx-decode.opc"
5549 /*----------------------------------------------------------------------*/
5571 /** 0111 1111 1010 rdst setpsw %0 */
5572 #line 911 "rx-decode.opc"
5573 int rdst AU
= op
[1] & 0x0f;
5576 printf ("\033[33m%s\033[0m %02x %02x\n",
5577 "/** 0111 1111 1010 rdst setpsw %0 */",
5579 printf (" rdst = 0x%x\n", rdst
);
5581 SYNTAX("setpsw %0");
5582 #line 911 "rx-decode.opc"
5583 ID(setpsw
); DF(rdst
);
5604 /** 0111 1111 1011 rdst clrpsw %0 */
5605 #line 908 "rx-decode.opc"
5606 int rdst AU
= op
[1] & 0x0f;
5609 printf ("\033[33m%s\033[0m %02x %02x\n",
5610 "/** 0111 1111 1011 rdst clrpsw %0 */",
5612 printf (" rdst = 0x%x\n", rdst
);
5614 SYNTAX("clrpsw %0");
5615 #line 908 "rx-decode.opc"
5616 ID(clrpsw
); DF(rdst
);
5620 default: UNSUPPORTED(); break;
5625 switch (op
[1] & 0x00)
5630 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5631 #line 295 "rx-decode.opc"
5632 int sz AU
= (op
[0] >> 4) & 0x03;
5633 #line 295 "rx-decode.opc"
5634 int dsp AU
= op
[0] & 0x07;
5635 #line 295 "rx-decode.opc"
5636 int a AU
= (op
[1] >> 7) & 0x01;
5637 #line 295 "rx-decode.opc"
5638 int dst AU
= (op
[1] >> 4) & 0x07;
5639 #line 295 "rx-decode.opc"
5640 int b AU
= (op
[1] >> 3) & 0x01;
5641 #line 295 "rx-decode.opc"
5642 int src AU
= op
[1] & 0x07;
5645 printf ("\033[33m%s\033[0m %02x %02x\n",
5646 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5648 printf (" sz = 0x%x,", sz
);
5649 printf (" dsp = 0x%x,", dsp
);
5650 printf (" a = 0x%x,", a
);
5651 printf (" dst = 0x%x,", dst
);
5652 printf (" b = 0x%x,", b
);
5653 printf (" src = 0x%x\n", src
);
5655 SYNTAX("mov%s %1, %0");
5656 #line 295 "rx-decode.opc"
5657 ID(mov
); sBWL(sz
); DIs(dst
, dsp
*4+a
*2+b
, sz
); SR(src
); F_____
;
5665 switch (op
[1] & 0x00)
5668 goto op_semantics_38
;
5674 switch (op
[1] & 0x00)
5677 goto op_semantics_38
;
5683 switch (op
[1] & 0x00)
5686 goto op_semantics_38
;
5692 switch (op
[1] & 0x00)
5695 goto op_semantics_38
;
5701 switch (op
[1] & 0x00)
5704 goto op_semantics_38
;
5710 switch (op
[1] & 0x00)
5713 goto op_semantics_38
;
5719 switch (op
[1] & 0x00)
5722 goto op_semantics_38
;
5728 switch (op
[1] & 0x00)
5733 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5734 #line 292 "rx-decode.opc"
5735 int sz AU
= (op
[0] >> 4) & 0x03;
5736 #line 292 "rx-decode.opc"
5737 int dsp AU
= op
[0] & 0x07;
5738 #line 292 "rx-decode.opc"
5739 int a AU
= (op
[1] >> 7) & 0x01;
5740 #line 292 "rx-decode.opc"
5741 int src AU
= (op
[1] >> 4) & 0x07;
5742 #line 292 "rx-decode.opc"
5743 int b AU
= (op
[1] >> 3) & 0x01;
5744 #line 292 "rx-decode.opc"
5745 int dst AU
= op
[1] & 0x07;
5748 printf ("\033[33m%s\033[0m %02x %02x\n",
5749 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5751 printf (" sz = 0x%x,", sz
);
5752 printf (" dsp = 0x%x,", dsp
);
5753 printf (" a = 0x%x,", a
);
5754 printf (" src = 0x%x,", src
);
5755 printf (" b = 0x%x,", b
);
5756 printf (" dst = 0x%x\n", dst
);
5758 SYNTAX("mov%s %1, %0");
5759 #line 292 "rx-decode.opc"
5760 ID(mov
); sBWL(sz
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, sz
); F_____
;
5768 switch (op
[1] & 0x00)
5771 goto op_semantics_39
;
5777 switch (op
[1] & 0x00)
5780 goto op_semantics_39
;
5786 switch (op
[1] & 0x00)
5789 goto op_semantics_39
;
5795 switch (op
[1] & 0x00)
5798 goto op_semantics_39
;
5804 switch (op
[1] & 0x00)
5807 goto op_semantics_39
;
5813 switch (op
[1] & 0x00)
5816 goto op_semantics_39
;
5822 switch (op
[1] & 0x00)
5825 goto op_semantics_39
;
5831 switch (op
[1] & 0x00)
5834 goto op_semantics_38
;
5840 switch (op
[1] & 0x00)
5843 goto op_semantics_38
;
5849 switch (op
[1] & 0x00)
5852 goto op_semantics_38
;
5858 switch (op
[1] & 0x00)
5861 goto op_semantics_38
;
5867 switch (op
[1] & 0x00)
5870 goto op_semantics_38
;
5876 switch (op
[1] & 0x00)
5879 goto op_semantics_38
;
5885 switch (op
[1] & 0x00)
5888 goto op_semantics_38
;
5894 switch (op
[1] & 0x00)
5897 goto op_semantics_38
;
5903 switch (op
[1] & 0x00)
5906 goto op_semantics_39
;
5912 switch (op
[1] & 0x00)
5915 goto op_semantics_39
;
5921 switch (op
[1] & 0x00)
5924 goto op_semantics_39
;
5930 switch (op
[1] & 0x00)
5933 goto op_semantics_39
;
5939 switch (op
[1] & 0x00)
5942 goto op_semantics_39
;
5948 switch (op
[1] & 0x00)
5951 goto op_semantics_39
;
5957 switch (op
[1] & 0x00)
5960 goto op_semantics_39
;
5966 switch (op
[1] & 0x00)
5969 goto op_semantics_39
;
5975 switch (op
[1] & 0x00)
5978 goto op_semantics_38
;
5984 switch (op
[1] & 0x00)
5987 goto op_semantics_38
;
5993 switch (op
[1] & 0x00)
5996 goto op_semantics_38
;
6002 switch (op
[1] & 0x00)
6005 goto op_semantics_38
;
6011 switch (op
[1] & 0x00)
6014 goto op_semantics_38
;
6020 switch (op
[1] & 0x00)
6023 goto op_semantics_38
;
6029 switch (op
[1] & 0x00)
6032 goto op_semantics_38
;
6038 switch (op
[1] & 0x00)
6041 goto op_semantics_38
;
6047 switch (op
[1] & 0x00)
6050 goto op_semantics_39
;
6056 switch (op
[1] & 0x00)
6059 goto op_semantics_39
;
6065 switch (op
[1] & 0x00)
6068 goto op_semantics_39
;
6074 switch (op
[1] & 0x00)
6077 goto op_semantics_39
;
6083 switch (op
[1] & 0x00)
6086 goto op_semantics_39
;
6092 switch (op
[1] & 0x00)
6095 goto op_semantics_39
;
6101 switch (op
[1] & 0x00)
6104 goto op_semantics_39
;
6110 switch (op
[1] & 0x00)
6113 goto op_semantics_39
;
6119 switch (op
[1] & 0x00)
6124 /** 1011 w dsp a src b dst movu%s %1, %0 */
6125 #line 315 "rx-decode.opc"
6126 int w AU
= (op
[0] >> 3) & 0x01;
6127 #line 315 "rx-decode.opc"
6128 int dsp AU
= op
[0] & 0x07;
6129 #line 315 "rx-decode.opc"
6130 int a AU
= (op
[1] >> 7) & 0x01;
6131 #line 315 "rx-decode.opc"
6132 int src AU
= (op
[1] >> 4) & 0x07;
6133 #line 315 "rx-decode.opc"
6134 int b AU
= (op
[1] >> 3) & 0x01;
6135 #line 315 "rx-decode.opc"
6136 int dst AU
= op
[1] & 0x07;
6139 printf ("\033[33m%s\033[0m %02x %02x\n",
6140 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6142 printf (" w = 0x%x,", w
);
6143 printf (" dsp = 0x%x,", dsp
);
6144 printf (" a = 0x%x,", a
);
6145 printf (" src = 0x%x,", src
);
6146 printf (" b = 0x%x,", b
);
6147 printf (" dst = 0x%x\n", dst
);
6149 SYNTAX("movu%s %1, %0");
6150 #line 315 "rx-decode.opc"
6151 ID(mov
); uBWL(w
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, w
); F_____
;
6159 switch (op
[1] & 0x00)
6162 goto op_semantics_40
;
6168 switch (op
[1] & 0x00)
6171 goto op_semantics_40
;
6177 switch (op
[1] & 0x00)
6180 goto op_semantics_40
;
6186 switch (op
[1] & 0x00)
6189 goto op_semantics_40
;
6195 switch (op
[1] & 0x00)
6198 goto op_semantics_40
;
6204 switch (op
[1] & 0x00)
6207 goto op_semantics_40
;
6213 switch (op
[1] & 0x00)
6216 goto op_semantics_40
;
6222 switch (op
[1] & 0x00)
6225 goto op_semantics_40
;
6231 switch (op
[1] & 0x00)
6234 goto op_semantics_40
;
6240 switch (op
[1] & 0x00)
6243 goto op_semantics_40
;
6249 switch (op
[1] & 0x00)
6252 goto op_semantics_40
;
6258 switch (op
[1] & 0x00)
6261 goto op_semantics_40
;
6267 switch (op
[1] & 0x00)
6270 goto op_semantics_40
;
6276 switch (op
[1] & 0x00)
6279 goto op_semantics_40
;
6285 switch (op
[1] & 0x00)
6288 goto op_semantics_40
;
6294 switch (op
[1] & 0x00)
6299 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6300 #line 274 "rx-decode.opc"
6301 int sz AU
= (op
[0] >> 4) & 0x03;
6302 #line 274 "rx-decode.opc"
6303 int sd AU
= (op
[0] >> 2) & 0x03;
6304 #line 274 "rx-decode.opc"
6305 int ss AU
= op
[0] & 0x03;
6306 #line 274 "rx-decode.opc"
6307 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6308 #line 274 "rx-decode.opc"
6309 int rdst AU
= op
[1] & 0x0f;
6312 printf ("\033[33m%s\033[0m %02x %02x\n",
6313 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6315 printf (" sz = 0x%x,", sz
);
6316 printf (" sd = 0x%x,", sd
);
6317 printf (" ss = 0x%x,", ss
);
6318 printf (" rsrc = 0x%x,", rsrc
);
6319 printf (" rdst = 0x%x\n", rdst
);
6321 SYNTAX("mov%s %1, %0");
6322 #line 274 "rx-decode.opc"
6323 if (ss
== 3 && sz
== 2 && rsrc
== 0 && rdst
== 0)
6329 ID(mov
); sBWL(sz
); F_____
;
6330 if ((ss
== 3) && (sd
!= 3))
6332 SD(ss
, rdst
, sz
); DD(sd
, rsrc
, sz
);
6336 SD(ss
, rsrc
, sz
); DD(sd
, rdst
, sz
);
6346 switch (op
[1] & 0x00)
6349 goto op_semantics_41
;
6355 switch (op
[1] & 0x00)
6358 goto op_semantics_41
;
6364 switch (op
[1] & 0x00)
6367 goto op_semantics_41
;
6373 switch (op
[1] & 0x00)
6376 goto op_semantics_41
;
6382 switch (op
[1] & 0x00)
6385 goto op_semantics_41
;
6391 switch (op
[1] & 0x00)
6394 goto op_semantics_41
;
6400 switch (op
[1] & 0x00)
6403 goto op_semantics_41
;
6409 switch (op
[1] & 0x00)
6412 goto op_semantics_41
;
6418 switch (op
[1] & 0x00)
6421 goto op_semantics_41
;
6427 switch (op
[1] & 0x00)
6430 goto op_semantics_41
;
6436 switch (op
[1] & 0x00)
6439 goto op_semantics_41
;
6445 switch (op
[1] & 0x00)
6448 goto op_semantics_41
;
6454 switch (op
[1] & 0x00)
6457 goto op_semantics_41
;
6463 switch (op
[1] & 0x00)
6466 goto op_semantics_41
;
6472 switch (op
[1] & 0x00)
6475 goto op_semantics_41
;
6481 switch (op
[1] & 0x00)
6484 goto op_semantics_41
;
6490 switch (op
[1] & 0x00)
6493 goto op_semantics_41
;
6499 switch (op
[1] & 0x00)
6502 goto op_semantics_41
;
6508 switch (op
[1] & 0x00)
6511 goto op_semantics_41
;
6517 switch (op
[1] & 0x00)
6520 goto op_semantics_41
;
6526 switch (op
[1] & 0x00)
6529 goto op_semantics_41
;
6535 switch (op
[1] & 0x00)
6538 goto op_semantics_41
;
6544 switch (op
[1] & 0x00)
6547 goto op_semantics_41
;
6553 switch (op
[1] & 0x00)
6556 goto op_semantics_41
;
6562 switch (op
[1] & 0x00)
6565 goto op_semantics_41
;
6571 switch (op
[1] & 0x00)
6574 goto op_semantics_41
;
6580 switch (op
[1] & 0x00)
6583 goto op_semantics_41
;
6589 switch (op
[1] & 0x00)
6592 goto op_semantics_41
;
6598 switch (op
[1] & 0x00)
6601 goto op_semantics_41
;
6607 switch (op
[1] & 0x00)
6610 goto op_semantics_41
;
6616 switch (op
[1] & 0x00)
6619 goto op_semantics_41
;
6625 switch (op
[1] & 0x00)
6628 goto op_semantics_41
;
6634 switch (op
[1] & 0x00)
6637 goto op_semantics_41
;
6643 switch (op
[1] & 0x00)
6646 goto op_semantics_41
;
6652 switch (op
[1] & 0x00)
6655 goto op_semantics_41
;
6661 switch (op
[1] & 0x00)
6664 goto op_semantics_41
;
6670 switch (op
[1] & 0x00)
6673 goto op_semantics_41
;
6679 switch (op
[1] & 0x00)
6682 goto op_semantics_41
;
6688 switch (op
[1] & 0x00)
6691 goto op_semantics_41
;
6697 switch (op
[1] & 0x00)
6700 goto op_semantics_41
;
6706 switch (op
[1] & 0x00)
6709 goto op_semantics_41
;
6715 switch (op
[1] & 0x00)
6718 goto op_semantics_41
;
6724 switch (op
[1] & 0x00)
6727 goto op_semantics_41
;
6733 switch (op
[1] & 0x00)
6736 goto op_semantics_41
;
6742 switch (op
[1] & 0x00)
6745 goto op_semantics_41
;
6751 switch (op
[1] & 0x00)
6754 goto op_semantics_41
;
6760 switch (op
[1] & 0x00)
6763 goto op_semantics_41
;
6769 switch (op
[1] & 0x08)
6774 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6775 #line 859 "rx-decode.opc"
6776 int sd AU
= op
[0] & 0x03;
6777 #line 859 "rx-decode.opc"
6778 int rdst AU
= (op
[1] >> 4) & 0x0f;
6779 #line 859 "rx-decode.opc"
6780 int bit AU
= op
[1] & 0x07;
6783 printf ("\033[33m%s\033[0m %02x %02x\n",
6784 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6786 printf (" sd = 0x%x,", sd
);
6787 printf (" rdst = 0x%x,", rdst
);
6788 printf (" bit = 0x%x\n", bit
);
6790 SYNTAX("bset #%1, %0%S0");
6791 #line 859 "rx-decode.opc"
6792 ID(bset
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
6799 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6800 #line 869 "rx-decode.opc"
6801 int sd AU
= op
[0] & 0x03;
6802 #line 869 "rx-decode.opc"
6803 int rdst AU
= (op
[1] >> 4) & 0x0f;
6804 #line 869 "rx-decode.opc"
6805 int bit AU
= op
[1] & 0x07;
6808 printf ("\033[33m%s\033[0m %02x %02x\n",
6809 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6811 printf (" sd = 0x%x,", sd
);
6812 printf (" rdst = 0x%x,", rdst
);
6813 printf (" bit = 0x%x\n", bit
);
6815 SYNTAX("bclr #%1, %0%S0");
6816 #line 869 "rx-decode.opc"
6817 ID(bclr
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F_____
;
6825 switch (op
[1] & 0x08)
6828 goto op_semantics_42
;
6831 goto op_semantics_43
;
6837 switch (op
[1] & 0x08)
6840 goto op_semantics_42
;
6843 goto op_semantics_43
;
6849 switch (op
[1] & 0x08)
6852 goto op_semantics_42
;
6855 goto op_semantics_43
;
6861 switch (op
[1] & 0x0c)
6867 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6868 #line 879 "rx-decode.opc"
6869 int sd AU
= op
[0] & 0x03;
6870 #line 879 "rx-decode.opc"
6871 int rdst AU
= (op
[1] >> 4) & 0x0f;
6872 #line 879 "rx-decode.opc"
6873 int bit AU
= op
[1] & 0x07;
6876 printf ("\033[33m%s\033[0m %02x %02x\n",
6877 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6879 printf (" sd = 0x%x,", sd
);
6880 printf (" rdst = 0x%x,", rdst
);
6881 printf (" bit = 0x%x\n", bit
);
6883 SYNTAX("btst #%2, %1%S1");
6884 #line 879 "rx-decode.opc"
6885 ID(btst
); BWL(BSIZE
); S2C(bit
); SD(sd
, rdst
, BSIZE
); F___ZC
;
6892 /** 1111 01ss rsrc 10sz push%s %1 */
6893 #line 340 "rx-decode.opc"
6894 int ss AU
= op
[0] & 0x03;
6895 #line 340 "rx-decode.opc"
6896 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6897 #line 340 "rx-decode.opc"
6898 int sz AU
= op
[1] & 0x03;
6901 printf ("\033[33m%s\033[0m %02x %02x\n",
6902 "/** 1111 01ss rsrc 10sz push%s %1 */",
6904 printf (" ss = 0x%x,", ss
);
6905 printf (" rsrc = 0x%x,", rsrc
);
6906 printf (" sz = 0x%x\n", sz
);
6908 SYNTAX("push%s %1");
6909 #line 340 "rx-decode.opc"
6910 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SD(ss
, rsrc
, sz
); F_____
;
6912 /*----------------------------------------------------------------------*/
6917 default: UNSUPPORTED(); break;
6922 switch (op
[1] & 0x0c)
6926 goto op_semantics_44
;
6929 goto op_semantics_45
;
6931 default: UNSUPPORTED(); break;
6936 switch (op
[1] & 0x0c)
6940 goto op_semantics_44
;
6943 goto op_semantics_45
;
6945 default: UNSUPPORTED(); break;
6950 switch (op
[1] & 0x0c)
6954 goto op_semantics_44
;
6957 goto op_semantics_45
;
6959 default: UNSUPPORTED(); break;
6964 switch (op
[1] & 0x00)
6969 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6970 #line 265 "rx-decode.opc"
6971 int sd AU
= op
[0] & 0x03;
6972 #line 265 "rx-decode.opc"
6973 int rdst AU
= (op
[1] >> 4) & 0x0f;
6974 #line 265 "rx-decode.opc"
6975 int im AU
= (op
[1] >> 2) & 0x03;
6976 #line 265 "rx-decode.opc"
6977 int sz AU
= op
[1] & 0x03;
6980 printf ("\033[33m%s\033[0m %02x %02x\n",
6981 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
6983 printf (" sd = 0x%x,", sd
);
6984 printf (" rdst = 0x%x,", rdst
);
6985 printf (" im = 0x%x,", im
);
6986 printf (" sz = 0x%x\n", sz
);
6988 SYNTAX("mov%s #%1, %0");
6989 #line 265 "rx-decode.opc"
6990 ID(mov
); sBWL (sz
); DD(sd
, rdst
, sz
); SC(IMMex(im
)); F_____
;
6998 switch (op
[1] & 0x00)
7001 goto op_semantics_46
;
7007 switch (op
[1] & 0x00)
7010 goto op_semantics_46
;
7016 switch (op
[1] & 0x00)
7019 goto op_semantics_46
;
7025 switch (op
[1] & 0xff)
7029 switch (op
[2] & 0x00)
7033 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7034 #line 514 "rx-decode.opc"
7035 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7036 #line 514 "rx-decode.opc"
7037 int rdst AU
= op
[2] & 0x0f;
7040 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7041 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7042 op
[0], op
[1], op
[2]);
7043 printf (" rsrc = 0x%x,", rsrc
);
7044 printf (" rdst = 0x%x\n", rdst
);
7046 SYNTAX("sbb %1, %0");
7047 #line 514 "rx-decode.opc"
7048 ID(sbb
); SR (rsrc
); DR(rdst
); F_OSZC
;
7050 /* FIXME: only supports .L */
7057 switch (op
[2] & 0x00)
7061 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7062 #line 445 "rx-decode.opc"
7063 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7064 #line 445 "rx-decode.opc"
7065 int rdst AU
= op
[2] & 0x0f;
7068 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7069 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7070 op
[0], op
[1], op
[2]);
7071 printf (" rsrc = 0x%x,", rsrc
);
7072 printf (" rdst = 0x%x\n", rdst
);
7074 SYNTAX("neg %2, %0");
7075 #line 445 "rx-decode.opc"
7076 ID(sub
); DR(rdst
); SC(0); S2R(rsrc
); F_OSZC
;
7078 /*----------------------------------------------------------------------*/
7087 switch (op
[2] & 0x00)
7091 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7092 #line 454 "rx-decode.opc"
7093 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7094 #line 454 "rx-decode.opc"
7095 int rdst AU
= op
[2] & 0x0f;
7098 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7099 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7100 op
[0], op
[1], op
[2]);
7101 printf (" rsrc = 0x%x,", rsrc
);
7102 printf (" rdst = 0x%x\n", rdst
);
7104 SYNTAX("adc %1, %0");
7105 #line 454 "rx-decode.opc"
7106 ID(adc
); SR(rsrc
); DR(rdst
); F_OSZC
;
7114 switch (op
[2] & 0x00)
7118 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7119 #line 527 "rx-decode.opc"
7120 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7121 #line 527 "rx-decode.opc"
7122 int rdst AU
= op
[2] & 0x0f;
7125 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7126 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7127 op
[0], op
[1], op
[2]);
7128 printf (" rsrc = 0x%x,", rsrc
);
7129 printf (" rdst = 0x%x\n", rdst
);
7131 SYNTAX("abs %1, %0");
7132 #line 527 "rx-decode.opc"
7133 ID(abs
); DR(rdst
); SR(rsrc
); F_OSZ_
;
7135 /*----------------------------------------------------------------------*/
7144 switch (op
[2] & 0x00)
7149 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7150 #line 536 "rx-decode.opc"
7151 int ss AU
= op
[1] & 0x03;
7152 #line 536 "rx-decode.opc"
7153 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7154 #line 536 "rx-decode.opc"
7155 int rdst AU
= op
[2] & 0x0f;
7158 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7159 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7160 op
[0], op
[1], op
[2]);
7161 printf (" ss = 0x%x,", ss
);
7162 printf (" rsrc = 0x%x,", rsrc
);
7163 printf (" rdst = 0x%x\n", rdst
);
7165 SYNTAX("max %1%S1, %0");
7166 #line 536 "rx-decode.opc"
7167 if (ss
== 3 && rsrc
== 0 && rdst
== 0)
7173 ID(max
); SP(ss
, rsrc
); DR(rdst
);
7182 switch (op
[2] & 0x00)
7185 goto op_semantics_47
;
7191 switch (op
[2] & 0x00)
7194 goto op_semantics_47
;
7200 switch (op
[2] & 0x00)
7203 goto op_semantics_47
;
7209 switch (op
[2] & 0x00)
7214 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7215 #line 555 "rx-decode.opc"
7216 int ss AU
= op
[1] & 0x03;
7217 #line 555 "rx-decode.opc"
7218 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7219 #line 555 "rx-decode.opc"
7220 int rdst AU
= op
[2] & 0x0f;
7223 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7224 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7225 op
[0], op
[1], op
[2]);
7226 printf (" ss = 0x%x,", ss
);
7227 printf (" rsrc = 0x%x,", rsrc
);
7228 printf (" rdst = 0x%x\n", rdst
);
7230 SYNTAX("min %1%S1, %0");
7231 #line 555 "rx-decode.opc"
7232 ID(min
); SP(ss
, rsrc
); DR(rdst
);
7240 switch (op
[2] & 0x00)
7243 goto op_semantics_48
;
7249 switch (op
[2] & 0x00)
7252 goto op_semantics_48
;
7258 switch (op
[2] & 0x00)
7261 goto op_semantics_48
;
7267 switch (op
[2] & 0x00)
7272 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7273 #line 585 "rx-decode.opc"
7274 int ss AU
= op
[1] & 0x03;
7275 #line 585 "rx-decode.opc"
7276 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7277 #line 585 "rx-decode.opc"
7278 int rdst AU
= op
[2] & 0x0f;
7281 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7282 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7283 op
[0], op
[1], op
[2]);
7284 printf (" ss = 0x%x,", ss
);
7285 printf (" rsrc = 0x%x,", rsrc
);
7286 printf (" rdst = 0x%x\n", rdst
);
7288 SYNTAX("emul %1%S1, %0");
7289 #line 585 "rx-decode.opc"
7290 ID(emul
); SP(ss
, rsrc
); DR(rdst
);
7298 switch (op
[2] & 0x00)
7301 goto op_semantics_49
;
7307 switch (op
[2] & 0x00)
7310 goto op_semantics_49
;
7316 switch (op
[2] & 0x00)
7319 goto op_semantics_49
;
7325 switch (op
[2] & 0x00)
7330 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7331 #line 597 "rx-decode.opc"
7332 int ss AU
= op
[1] & 0x03;
7333 #line 597 "rx-decode.opc"
7334 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7335 #line 597 "rx-decode.opc"
7336 int rdst AU
= op
[2] & 0x0f;
7339 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7340 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7341 op
[0], op
[1], op
[2]);
7342 printf (" ss = 0x%x,", ss
);
7343 printf (" rsrc = 0x%x,", rsrc
);
7344 printf (" rdst = 0x%x\n", rdst
);
7346 SYNTAX("emulu %1%S1, %0");
7347 #line 597 "rx-decode.opc"
7348 ID(emulu
); SP(ss
, rsrc
); DR(rdst
);
7356 switch (op
[2] & 0x00)
7359 goto op_semantics_50
;
7365 switch (op
[2] & 0x00)
7368 goto op_semantics_50
;
7374 switch (op
[2] & 0x00)
7377 goto op_semantics_50
;
7383 switch (op
[2] & 0x00)
7388 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7389 #line 609 "rx-decode.opc"
7390 int ss AU
= op
[1] & 0x03;
7391 #line 609 "rx-decode.opc"
7392 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7393 #line 609 "rx-decode.opc"
7394 int rdst AU
= op
[2] & 0x0f;
7397 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7398 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7399 op
[0], op
[1], op
[2]);
7400 printf (" ss = 0x%x,", ss
);
7401 printf (" rsrc = 0x%x,", rsrc
);
7402 printf (" rdst = 0x%x\n", rdst
);
7404 SYNTAX("div %1%S1, %0");
7405 #line 609 "rx-decode.opc"
7406 ID(div
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7414 switch (op
[2] & 0x00)
7417 goto op_semantics_51
;
7423 switch (op
[2] & 0x00)
7426 goto op_semantics_51
;
7432 switch (op
[2] & 0x00)
7435 goto op_semantics_51
;
7441 switch (op
[2] & 0x00)
7446 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7447 #line 621 "rx-decode.opc"
7448 int ss AU
= op
[1] & 0x03;
7449 #line 621 "rx-decode.opc"
7450 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7451 #line 621 "rx-decode.opc"
7452 int rdst AU
= op
[2] & 0x0f;
7455 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7456 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7457 op
[0], op
[1], op
[2]);
7458 printf (" ss = 0x%x,", ss
);
7459 printf (" rsrc = 0x%x,", rsrc
);
7460 printf (" rdst = 0x%x\n", rdst
);
7462 SYNTAX("divu %1%S1, %0");
7463 #line 621 "rx-decode.opc"
7464 ID(divu
); SP(ss
, rsrc
); DR(rdst
); F_O___
;
7472 switch (op
[2] & 0x00)
7475 goto op_semantics_52
;
7481 switch (op
[2] & 0x00)
7484 goto op_semantics_52
;
7490 switch (op
[2] & 0x00)
7493 goto op_semantics_52
;
7499 switch (op
[2] & 0x00)
7504 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7505 #line 433 "rx-decode.opc"
7506 int ss AU
= op
[1] & 0x03;
7507 #line 433 "rx-decode.opc"
7508 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7509 #line 433 "rx-decode.opc"
7510 int rdst AU
= op
[2] & 0x0f;
7513 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7514 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7515 op
[0], op
[1], op
[2]);
7516 printf (" ss = 0x%x,", ss
);
7517 printf (" rsrc = 0x%x,", rsrc
);
7518 printf (" rdst = 0x%x\n", rdst
);
7520 SYNTAX("tst %1%S1, %2");
7521 #line 433 "rx-decode.opc"
7522 ID(and); SP(ss
, rsrc
); S2R(rdst
); F__SZ_
;
7530 switch (op
[2] & 0x00)
7533 goto op_semantics_53
;
7539 switch (op
[2] & 0x00)
7542 goto op_semantics_53
;
7548 switch (op
[2] & 0x00)
7551 goto op_semantics_53
;
7557 switch (op
[2] & 0x00)
7562 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7563 #line 412 "rx-decode.opc"
7564 int ss AU
= op
[1] & 0x03;
7565 #line 412 "rx-decode.opc"
7566 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7567 #line 412 "rx-decode.opc"
7568 int rdst AU
= op
[2] & 0x0f;
7571 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7572 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7573 op
[0], op
[1], op
[2]);
7574 printf (" ss = 0x%x,", ss
);
7575 printf (" rsrc = 0x%x,", rsrc
);
7576 printf (" rdst = 0x%x\n", rdst
);
7578 SYNTAX("xor %1%S1, %0");
7579 #line 412 "rx-decode.opc"
7580 ID(xor); SP(ss
, rsrc
); DR(rdst
); F__SZ_
;
7588 switch (op
[2] & 0x00)
7591 goto op_semantics_54
;
7597 switch (op
[2] & 0x00)
7600 goto op_semantics_54
;
7606 switch (op
[2] & 0x00)
7609 goto op_semantics_54
;
7615 switch (op
[2] & 0x00)
7619 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7620 #line 424 "rx-decode.opc"
7621 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7622 #line 424 "rx-decode.opc"
7623 int rdst AU
= op
[2] & 0x0f;
7626 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7627 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7628 op
[0], op
[1], op
[2]);
7629 printf (" rsrc = 0x%x,", rsrc
);
7630 printf (" rdst = 0x%x\n", rdst
);
7632 SYNTAX("not %1, %0");
7633 #line 424 "rx-decode.opc"
7634 ID(xor); DR(rdst
); SR(rsrc
); S2C(~0); F__SZ_
;
7636 /*----------------------------------------------------------------------*/
7645 switch (op
[2] & 0x00)
7650 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7651 #line 346 "rx-decode.opc"
7652 int ss AU
= op
[1] & 0x03;
7653 #line 346 "rx-decode.opc"
7654 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7655 #line 346 "rx-decode.opc"
7656 int rdst AU
= op
[2] & 0x0f;
7659 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7660 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7661 op
[0], op
[1], op
[2]);
7662 printf (" ss = 0x%x,", ss
);
7663 printf (" rsrc = 0x%x,", rsrc
);
7664 printf (" rdst = 0x%x\n", rdst
);
7666 SYNTAX("xchg %1%S1, %0");
7667 #line 346 "rx-decode.opc"
7668 ID(xchg
); DR(rdst
); SP(ss
, rsrc
);
7676 switch (op
[2] & 0x00)
7679 goto op_semantics_55
;
7685 switch (op
[2] & 0x00)
7688 goto op_semantics_55
;
7694 switch (op
[2] & 0x00)
7697 goto op_semantics_55
;
7703 switch (op
[2] & 0x00)
7708 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7709 #line 850 "rx-decode.opc"
7710 int sd AU
= op
[1] & 0x03;
7711 #line 850 "rx-decode.opc"
7712 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7713 #line 850 "rx-decode.opc"
7714 int rdst AU
= op
[2] & 0x0f;
7717 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7718 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7719 op
[0], op
[1], op
[2]);
7720 printf (" sd = 0x%x,", sd
);
7721 printf (" rsrc = 0x%x,", rsrc
);
7722 printf (" rdst = 0x%x\n", rdst
);
7724 SYNTAX("itof %1%S1, %0");
7725 #line 850 "rx-decode.opc"
7726 ID(itof
); DR (rdst
); SP(sd
, rsrc
); F__SZ_
;
7734 switch (op
[2] & 0x00)
7737 goto op_semantics_56
;
7743 switch (op
[2] & 0x00)
7746 goto op_semantics_56
;
7752 switch (op
[2] & 0x00)
7755 goto op_semantics_56
;
7761 switch (op
[2] & 0x00)
7766 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7767 #line 862 "rx-decode.opc"
7768 int sd AU
= op
[1] & 0x03;
7769 #line 862 "rx-decode.opc"
7770 int rdst AU
= (op
[2] >> 4) & 0x0f;
7771 #line 862 "rx-decode.opc"
7772 int rsrc AU
= op
[2] & 0x0f;
7775 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7776 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7777 op
[0], op
[1], op
[2]);
7778 printf (" sd = 0x%x,", sd
);
7779 printf (" rdst = 0x%x,", rdst
);
7780 printf (" rsrc = 0x%x\n", rsrc
);
7782 SYNTAX("bset %1, %0%S0");
7783 #line 862 "rx-decode.opc"
7784 ID(bset
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
7792 switch (op
[2] & 0x00)
7795 goto op_semantics_57
;
7801 switch (op
[2] & 0x00)
7804 goto op_semantics_57
;
7810 switch (op
[2] & 0x00)
7813 goto op_semantics_57
;
7819 switch (op
[2] & 0x00)
7824 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7825 #line 872 "rx-decode.opc"
7826 int sd AU
= op
[1] & 0x03;
7827 #line 872 "rx-decode.opc"
7828 int rdst AU
= (op
[2] >> 4) & 0x0f;
7829 #line 872 "rx-decode.opc"
7830 int rsrc AU
= op
[2] & 0x0f;
7833 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7834 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7835 op
[0], op
[1], op
[2]);
7836 printf (" sd = 0x%x,", sd
);
7837 printf (" rdst = 0x%x,", rdst
);
7838 printf (" rsrc = 0x%x\n", rsrc
);
7840 SYNTAX("bclr %1, %0%S0");
7841 #line 872 "rx-decode.opc"
7842 ID(bclr
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F_____
;
7850 switch (op
[2] & 0x00)
7853 goto op_semantics_58
;
7859 switch (op
[2] & 0x00)
7862 goto op_semantics_58
;
7868 switch (op
[2] & 0x00)
7871 goto op_semantics_58
;
7877 switch (op
[2] & 0x00)
7882 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7883 #line 882 "rx-decode.opc"
7884 int sd AU
= op
[1] & 0x03;
7885 #line 882 "rx-decode.opc"
7886 int rdst AU
= (op
[2] >> 4) & 0x0f;
7887 #line 882 "rx-decode.opc"
7888 int rsrc AU
= op
[2] & 0x0f;
7891 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7892 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7893 op
[0], op
[1], op
[2]);
7894 printf (" sd = 0x%x,", sd
);
7895 printf (" rdst = 0x%x,", rdst
);
7896 printf (" rsrc = 0x%x\n", rsrc
);
7898 SYNTAX("btst %2, %1%S1");
7899 #line 882 "rx-decode.opc"
7900 ID(btst
); BWL(BSIZE
); S2R(rsrc
); SD(sd
, rdst
, BSIZE
); F___ZC
;
7908 switch (op
[2] & 0x00)
7911 goto op_semantics_59
;
7917 switch (op
[2] & 0x00)
7920 goto op_semantics_59
;
7926 switch (op
[2] & 0x00)
7929 goto op_semantics_59
;
7935 switch (op
[2] & 0x00)
7940 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7941 #line 892 "rx-decode.opc"
7942 int sd AU
= op
[1] & 0x03;
7943 #line 892 "rx-decode.opc"
7944 int rdst AU
= (op
[2] >> 4) & 0x0f;
7945 #line 892 "rx-decode.opc"
7946 int rsrc AU
= op
[2] & 0x0f;
7949 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7950 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7951 op
[0], op
[1], op
[2]);
7952 printf (" sd = 0x%x,", sd
);
7953 printf (" rdst = 0x%x,", rdst
);
7954 printf (" rsrc = 0x%x\n", rsrc
);
7956 SYNTAX("bnot %1, %0%S0");
7957 #line 892 "rx-decode.opc"
7958 ID(bnot
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
);
7966 switch (op
[2] & 0x00)
7969 goto op_semantics_60
;
7975 switch (op
[2] & 0x00)
7978 goto op_semantics_60
;
7984 switch (op
[2] & 0x00)
7987 goto op_semantics_60
;
7993 switch (op
[2] & 0x00)
7998 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
7999 #line 829 "rx-decode.opc"
8000 int sd AU
= op
[1] & 0x03;
8001 #line 829 "rx-decode.opc"
8002 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8003 #line 829 "rx-decode.opc"
8004 int rdst AU
= op
[2] & 0x0f;
8007 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8008 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8009 op
[0], op
[1], op
[2]);
8010 printf (" sd = 0x%x,", sd
);
8011 printf (" rsrc = 0x%x,", rsrc
);
8012 printf (" rdst = 0x%x\n", rdst
);
8014 SYNTAX("fsub %1%S1, %0");
8015 #line 829 "rx-decode.opc"
8016 ID(fsub
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8024 switch (op
[2] & 0x00)
8027 goto op_semantics_61
;
8033 switch (op
[2] & 0x00)
8036 goto op_semantics_61
;
8042 switch (op
[2] & 0x00)
8045 goto op_semantics_61
;
8051 switch (op
[2] & 0x00)
8056 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8057 #line 823 "rx-decode.opc"
8058 int sd AU
= op
[1] & 0x03;
8059 #line 823 "rx-decode.opc"
8060 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8061 #line 823 "rx-decode.opc"
8062 int rdst AU
= op
[2] & 0x0f;
8065 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8066 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8067 op
[0], op
[1], op
[2]);
8068 printf (" sd = 0x%x,", sd
);
8069 printf (" rsrc = 0x%x,", rsrc
);
8070 printf (" rdst = 0x%x\n", rdst
);
8072 SYNTAX("fcmp %1%S1, %0");
8073 #line 823 "rx-decode.opc"
8074 ID(fcmp
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F_OSZ_
;
8082 switch (op
[2] & 0x00)
8085 goto op_semantics_62
;
8091 switch (op
[2] & 0x00)
8094 goto op_semantics_62
;
8100 switch (op
[2] & 0x00)
8103 goto op_semantics_62
;
8109 switch (op
[2] & 0x00)
8114 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8115 #line 817 "rx-decode.opc"
8116 int sd AU
= op
[1] & 0x03;
8117 #line 817 "rx-decode.opc"
8118 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8119 #line 817 "rx-decode.opc"
8120 int rdst AU
= op
[2] & 0x0f;
8123 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8124 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8125 op
[0], op
[1], op
[2]);
8126 printf (" sd = 0x%x,", sd
);
8127 printf (" rsrc = 0x%x,", rsrc
);
8128 printf (" rdst = 0x%x\n", rdst
);
8130 SYNTAX("fadd %1%S1, %0");
8131 #line 817 "rx-decode.opc"
8132 ID(fadd
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8140 switch (op
[2] & 0x00)
8143 goto op_semantics_63
;
8149 switch (op
[2] & 0x00)
8152 goto op_semantics_63
;
8158 switch (op
[2] & 0x00)
8161 goto op_semantics_63
;
8167 switch (op
[2] & 0x00)
8172 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8173 #line 838 "rx-decode.opc"
8174 int sd AU
= op
[1] & 0x03;
8175 #line 838 "rx-decode.opc"
8176 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8177 #line 838 "rx-decode.opc"
8178 int rdst AU
= op
[2] & 0x0f;
8181 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8182 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8183 op
[0], op
[1], op
[2]);
8184 printf (" sd = 0x%x,", sd
);
8185 printf (" rsrc = 0x%x,", rsrc
);
8186 printf (" rdst = 0x%x\n", rdst
);
8188 SYNTAX("fmul %1%S1, %0");
8189 #line 838 "rx-decode.opc"
8190 ID(fmul
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8198 switch (op
[2] & 0x00)
8201 goto op_semantics_64
;
8207 switch (op
[2] & 0x00)
8210 goto op_semantics_64
;
8216 switch (op
[2] & 0x00)
8219 goto op_semantics_64
;
8225 switch (op
[2] & 0x00)
8230 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8231 #line 844 "rx-decode.opc"
8232 int sd AU
= op
[1] & 0x03;
8233 #line 844 "rx-decode.opc"
8234 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8235 #line 844 "rx-decode.opc"
8236 int rdst AU
= op
[2] & 0x0f;
8239 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8240 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8241 op
[0], op
[1], op
[2]);
8242 printf (" sd = 0x%x,", sd
);
8243 printf (" rsrc = 0x%x,", rsrc
);
8244 printf (" rdst = 0x%x\n", rdst
);
8246 SYNTAX("fdiv %1%S1, %0");
8247 #line 844 "rx-decode.opc"
8248 ID(fdiv
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8256 switch (op
[2] & 0x00)
8259 goto op_semantics_65
;
8265 switch (op
[2] & 0x00)
8268 goto op_semantics_65
;
8274 switch (op
[2] & 0x00)
8277 goto op_semantics_65
;
8283 switch (op
[2] & 0x00)
8288 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8289 #line 832 "rx-decode.opc"
8290 int sd AU
= op
[1] & 0x03;
8291 #line 832 "rx-decode.opc"
8292 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8293 #line 832 "rx-decode.opc"
8294 int rdst AU
= op
[2] & 0x0f;
8297 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8298 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8299 op
[0], op
[1], op
[2]);
8300 printf (" sd = 0x%x,", sd
);
8301 printf (" rsrc = 0x%x,", rsrc
);
8302 printf (" rdst = 0x%x\n", rdst
);
8304 SYNTAX("ftoi %1%S1, %0");
8305 #line 832 "rx-decode.opc"
8306 ID(ftoi
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8314 switch (op
[2] & 0x00)
8317 goto op_semantics_66
;
8323 switch (op
[2] & 0x00)
8326 goto op_semantics_66
;
8332 switch (op
[2] & 0x00)
8335 goto op_semantics_66
;
8341 switch (op
[2] & 0x00)
8346 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8347 #line 847 "rx-decode.opc"
8348 int sd AU
= op
[1] & 0x03;
8349 #line 847 "rx-decode.opc"
8350 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8351 #line 847 "rx-decode.opc"
8352 int rdst AU
= op
[2] & 0x0f;
8355 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8356 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8357 op
[0], op
[1], op
[2]);
8358 printf (" sd = 0x%x,", sd
);
8359 printf (" rsrc = 0x%x,", rsrc
);
8360 printf (" rdst = 0x%x\n", rdst
);
8362 SYNTAX("round %1%S1, %0");
8363 #line 847 "rx-decode.opc"
8364 ID(round
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F__SZ_
;
8372 switch (op
[2] & 0x00)
8375 goto op_semantics_67
;
8381 switch (op
[2] & 0x00)
8384 goto op_semantics_67
;
8390 switch (op
[2] & 0x00)
8393 goto op_semantics_67
;
8399 switch (op
[2] & 0x00)
8404 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8405 #line 956 "rx-decode.opc"
8406 int sz AU
= (op
[1] >> 2) & 0x03;
8407 #line 956 "rx-decode.opc"
8408 int sd AU
= op
[1] & 0x03;
8409 #line 956 "rx-decode.opc"
8410 int rdst AU
= (op
[2] >> 4) & 0x0f;
8411 #line 956 "rx-decode.opc"
8412 int cond AU
= op
[2] & 0x0f;
8415 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8416 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8417 op
[0], op
[1], op
[2]);
8418 printf (" sz = 0x%x,", sz
);
8419 printf (" sd = 0x%x,", sd
);
8420 printf (" rdst = 0x%x,", rdst
);
8421 printf (" cond = 0x%x\n", cond
);
8423 SYNTAX("sc%1%s %0");
8424 #line 956 "rx-decode.opc"
8425 ID(sccnd
); BWL(sz
); DD (sd
, rdst
, sz
); Scc(cond
);
8433 switch (op
[2] & 0x00)
8436 goto op_semantics_68
;
8442 switch (op
[2] & 0x00)
8445 goto op_semantics_68
;
8451 switch (op
[2] & 0x00)
8454 goto op_semantics_68
;
8460 switch (op
[2] & 0x00)
8463 goto op_semantics_68
;
8469 switch (op
[2] & 0x00)
8472 goto op_semantics_68
;
8478 switch (op
[2] & 0x00)
8481 goto op_semantics_68
;
8487 switch (op
[2] & 0x00)
8490 goto op_semantics_68
;
8496 switch (op
[2] & 0x00)
8499 goto op_semantics_68
;
8505 switch (op
[2] & 0x00)
8508 goto op_semantics_68
;
8514 switch (op
[2] & 0x00)
8517 goto op_semantics_68
;
8523 switch (op
[2] & 0x00)
8526 goto op_semantics_68
;
8532 switch (op
[2] & 0x0f)
8551 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8552 #line 899 "rx-decode.opc"
8553 int bit AU
= (op
[1] >> 2) & 0x07;
8554 #line 899 "rx-decode.opc"
8555 int sd AU
= op
[1] & 0x03;
8556 #line 899 "rx-decode.opc"
8557 int rdst AU
= (op
[2] >> 4) & 0x0f;
8558 #line 899 "rx-decode.opc"
8559 int cond AU
= op
[2] & 0x0f;
8562 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8563 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8564 op
[0], op
[1], op
[2]);
8565 printf (" bit = 0x%x,", bit
);
8566 printf (" sd = 0x%x,", sd
);
8567 printf (" rdst = 0x%x,", rdst
);
8568 printf (" cond = 0x%x\n", cond
);
8570 SYNTAX("bm%2 #%1, %0%S0");
8571 #line 899 "rx-decode.opc"
8572 ID(bmcc
); BWL(BSIZE
); S2cc(cond
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8579 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8580 #line 889 "rx-decode.opc"
8581 int bit AU
= (op
[1] >> 2) & 0x07;
8582 #line 889 "rx-decode.opc"
8583 int sd AU
= op
[1] & 0x03;
8584 #line 889 "rx-decode.opc"
8585 int rdst AU
= (op
[2] >> 4) & 0x0f;
8588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8589 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8590 op
[0], op
[1], op
[2]);
8591 printf (" bit = 0x%x,", bit
);
8592 printf (" sd = 0x%x,", sd
);
8593 printf (" rdst = 0x%x\n", rdst
);
8595 SYNTAX("bnot #%1, %0%S0");
8596 #line 889 "rx-decode.opc"
8597 ID(bnot
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8605 switch (op
[2] & 0x0f)
8622 goto op_semantics_69
;
8625 goto op_semantics_70
;
8631 switch (op
[2] & 0x0f)
8648 goto op_semantics_69
;
8651 goto op_semantics_70
;
8657 switch (op
[2] & 0x0f)
8674 goto op_semantics_69
;
8677 goto op_semantics_70
;
8683 switch (op
[2] & 0x0f)
8700 goto op_semantics_69
;
8703 goto op_semantics_70
;
8709 switch (op
[2] & 0x0f)
8726 goto op_semantics_69
;
8729 goto op_semantics_70
;
8735 switch (op
[2] & 0x0f)
8752 goto op_semantics_69
;
8755 goto op_semantics_70
;
8761 switch (op
[2] & 0x0f)
8778 goto op_semantics_69
;
8781 goto op_semantics_70
;
8787 switch (op
[2] & 0x0f)
8804 goto op_semantics_69
;
8807 goto op_semantics_70
;
8813 switch (op
[2] & 0x0f)
8830 goto op_semantics_69
;
8833 goto op_semantics_70
;
8839 switch (op
[2] & 0x0f)
8856 goto op_semantics_69
;
8859 goto op_semantics_70
;
8865 switch (op
[2] & 0x0f)
8882 goto op_semantics_69
;
8885 goto op_semantics_70
;
8891 switch (op
[2] & 0x0f)
8908 goto op_semantics_69
;
8911 goto op_semantics_70
;
8917 switch (op
[2] & 0x0f)
8934 goto op_semantics_69
;
8937 goto op_semantics_70
;
8943 switch (op
[2] & 0x0f)
8960 goto op_semantics_69
;
8963 goto op_semantics_70
;
8969 switch (op
[2] & 0x0f)
8986 goto op_semantics_69
;
8989 goto op_semantics_70
;
8995 switch (op
[2] & 0x0f)
9012 goto op_semantics_69
;
9015 goto op_semantics_70
;
9021 switch (op
[2] & 0x0f)
9038 goto op_semantics_69
;
9041 goto op_semantics_70
;
9047 switch (op
[2] & 0x0f)
9064 goto op_semantics_69
;
9067 goto op_semantics_70
;
9073 switch (op
[2] & 0x0f)
9090 goto op_semantics_69
;
9093 goto op_semantics_70
;
9099 switch (op
[2] & 0x0f)
9116 goto op_semantics_69
;
9119 goto op_semantics_70
;
9125 switch (op
[2] & 0x0f)
9142 goto op_semantics_69
;
9145 goto op_semantics_70
;
9151 switch (op
[2] & 0x0f)
9168 goto op_semantics_69
;
9171 goto op_semantics_70
;
9177 switch (op
[2] & 0x0f)
9194 goto op_semantics_69
;
9197 goto op_semantics_70
;
9203 switch (op
[2] & 0x0f)
9220 goto op_semantics_69
;
9223 goto op_semantics_70
;
9229 switch (op
[2] & 0x0f)
9246 goto op_semantics_69
;
9249 goto op_semantics_70
;
9255 switch (op
[2] & 0x0f)
9272 goto op_semantics_69
;
9275 goto op_semantics_70
;
9281 switch (op
[2] & 0x0f)
9298 goto op_semantics_69
;
9301 goto op_semantics_70
;
9307 switch (op
[2] & 0x0f)
9324 goto op_semantics_69
;
9327 goto op_semantics_70
;
9333 switch (op
[2] & 0x0f)
9350 goto op_semantics_69
;
9353 goto op_semantics_70
;
9359 switch (op
[2] & 0x0f)
9376 goto op_semantics_69
;
9379 goto op_semantics_70
;
9385 switch (op
[2] & 0x0f)
9402 goto op_semantics_69
;
9405 goto op_semantics_70
;
9409 default: UNSUPPORTED(); break;
9414 switch (op
[1] & 0xff)
9418 switch (op
[2] & 0x00)
9422 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9423 #line 772 "rx-decode.opc"
9424 int srca AU
= (op
[2] >> 4) & 0x0f;
9425 #line 772 "rx-decode.opc"
9426 int srcb AU
= op
[2] & 0x0f;
9429 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9430 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9431 op
[0], op
[1], op
[2]);
9432 printf (" srca = 0x%x,", srca
);
9433 printf (" srcb = 0x%x\n", srcb
);
9435 SYNTAX("mulhi %1, %2");
9436 #line 772 "rx-decode.opc"
9437 ID(mulhi
); SR(srca
); S2R(srcb
); F_____
;
9445 switch (op
[2] & 0x00)
9449 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9450 #line 775 "rx-decode.opc"
9451 int srca AU
= (op
[2] >> 4) & 0x0f;
9452 #line 775 "rx-decode.opc"
9453 int srcb AU
= op
[2] & 0x0f;
9456 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9457 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9458 op
[0], op
[1], op
[2]);
9459 printf (" srca = 0x%x,", srca
);
9460 printf (" srcb = 0x%x\n", srcb
);
9462 SYNTAX("mullo %1, %2");
9463 #line 775 "rx-decode.opc"
9464 ID(mullo
); SR(srca
); S2R(srcb
); F_____
;
9472 switch (op
[2] & 0x00)
9476 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9477 #line 778 "rx-decode.opc"
9478 int srca AU
= (op
[2] >> 4) & 0x0f;
9479 #line 778 "rx-decode.opc"
9480 int srcb AU
= op
[2] & 0x0f;
9483 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9484 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9485 op
[0], op
[1], op
[2]);
9486 printf (" srca = 0x%x,", srca
);
9487 printf (" srcb = 0x%x\n", srcb
);
9489 SYNTAX("machi %1, %2");
9490 #line 778 "rx-decode.opc"
9491 ID(machi
); SR(srca
); S2R(srcb
); F_____
;
9499 switch (op
[2] & 0x00)
9503 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9504 #line 781 "rx-decode.opc"
9505 int srca AU
= (op
[2] >> 4) & 0x0f;
9506 #line 781 "rx-decode.opc"
9507 int srcb AU
= op
[2] & 0x0f;
9510 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9511 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9512 op
[0], op
[1], op
[2]);
9513 printf (" srca = 0x%x,", srca
);
9514 printf (" srcb = 0x%x\n", srcb
);
9516 SYNTAX("maclo %1, %2");
9517 #line 781 "rx-decode.opc"
9518 ID(maclo
); SR(srca
); S2R(srcb
); F_____
;
9526 switch (op
[2] & 0xf0)
9530 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9531 #line 784 "rx-decode.opc"
9532 int rsrc AU
= op
[2] & 0x0f;
9535 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9536 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9537 op
[0], op
[1], op
[2]);
9538 printf (" rsrc = 0x%x\n", rsrc
);
9540 SYNTAX("mvtachi %1");
9541 #line 784 "rx-decode.opc"
9542 ID(mvtachi
); SR(rsrc
); F_____
;
9548 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9549 #line 787 "rx-decode.opc"
9550 int rsrc AU
= op
[2] & 0x0f;
9553 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9554 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9555 op
[0], op
[1], op
[2]);
9556 printf (" rsrc = 0x%x\n", rsrc
);
9558 SYNTAX("mvtaclo %1");
9559 #line 787 "rx-decode.opc"
9560 ID(mvtaclo
); SR(rsrc
); F_____
;
9564 default: UNSUPPORTED(); break;
9569 switch (op
[2] & 0xef)
9573 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9574 #line 799 "rx-decode.opc"
9575 int i AU
= (op
[2] >> 4) & 0x01;
9578 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9579 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9580 op
[0], op
[1], op
[2]);
9581 printf (" i = 0x%x\n", i
);
9584 #line 799 "rx-decode.opc"
9585 ID(racw
); SC(i
+1); F_____
;
9587 /*----------------------------------------------------------------------*/
9592 default: UNSUPPORTED(); break;
9597 switch (op
[2] & 0xf0)
9601 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9602 #line 790 "rx-decode.opc"
9603 int rdst AU
= op
[2] & 0x0f;
9606 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9607 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9608 op
[0], op
[1], op
[2]);
9609 printf (" rdst = 0x%x\n", rdst
);
9611 SYNTAX("mvfachi %0");
9612 #line 790 "rx-decode.opc"
9613 ID(mvfachi
); DR(rdst
); F_____
;
9619 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9620 #line 796 "rx-decode.opc"
9621 int rdst AU
= op
[2] & 0x0f;
9624 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9625 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9626 op
[0], op
[1], op
[2]);
9627 printf (" rdst = 0x%x\n", rdst
);
9629 SYNTAX("mvfaclo %0");
9630 #line 796 "rx-decode.opc"
9631 ID(mvfaclo
); DR(rdst
); F_____
;
9637 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9638 #line 793 "rx-decode.opc"
9639 int rdst AU
= op
[2] & 0x0f;
9642 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9643 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9644 op
[0], op
[1], op
[2]);
9645 printf (" rdst = 0x%x\n", rdst
);
9647 SYNTAX("mvfacmi %0");
9648 #line 793 "rx-decode.opc"
9649 ID(mvfacmi
); DR(rdst
); F_____
;
9653 default: UNSUPPORTED(); break;
9658 switch (op
[2] & 0x00)
9663 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9664 #line 307 "rx-decode.opc"
9665 int p AU
= (op
[1] >> 2) & 0x01;
9666 #line 307 "rx-decode.opc"
9667 int sz AU
= op
[1] & 0x03;
9668 #line 307 "rx-decode.opc"
9669 int rdst AU
= (op
[2] >> 4) & 0x0f;
9670 #line 307 "rx-decode.opc"
9671 int rsrc AU
= op
[2] & 0x0f;
9674 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9675 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9676 op
[0], op
[1], op
[2]);
9677 printf (" p = 0x%x,", p
);
9678 printf (" sz = 0x%x,", sz
);
9679 printf (" rdst = 0x%x,", rdst
);
9680 printf (" rsrc = 0x%x\n", rsrc
);
9682 SYNTAX("mov%s %1, %0");
9683 #line 307 "rx-decode.opc"
9684 ID(mov
); sBWL (sz
); SR(rsrc
); F_____
;
9685 OP(0, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rdst
, 0);
9693 switch (op
[2] & 0x00)
9696 goto op_semantics_71
;
9702 switch (op
[2] & 0x00)
9705 goto op_semantics_71
;
9711 switch (op
[2] & 0x00)
9714 goto op_semantics_71
;
9720 switch (op
[2] & 0x00)
9723 goto op_semantics_71
;
9729 switch (op
[2] & 0x00)
9732 goto op_semantics_71
;
9738 switch (op
[2] & 0x00)
9743 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9744 #line 311 "rx-decode.opc"
9745 int p AU
= (op
[1] >> 2) & 0x01;
9746 #line 311 "rx-decode.opc"
9747 int sz AU
= op
[1] & 0x03;
9748 #line 311 "rx-decode.opc"
9749 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9750 #line 311 "rx-decode.opc"
9751 int rdst AU
= op
[2] & 0x0f;
9754 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9755 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9756 op
[0], op
[1], op
[2]);
9757 printf (" p = 0x%x,", p
);
9758 printf (" sz = 0x%x,", sz
);
9759 printf (" rsrc = 0x%x,", rsrc
);
9760 printf (" rdst = 0x%x\n", rdst
);
9762 SYNTAX("mov%s %1, %0");
9763 #line 311 "rx-decode.opc"
9764 ID(mov
); sBWL (sz
); DR(rdst
); F_____
;
9765 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9773 switch (op
[2] & 0x00)
9776 goto op_semantics_72
;
9782 switch (op
[2] & 0x00)
9785 goto op_semantics_72
;
9791 switch (op
[2] & 0x00)
9794 goto op_semantics_72
;
9800 switch (op
[2] & 0x00)
9803 goto op_semantics_72
;
9809 switch (op
[2] & 0x00)
9812 goto op_semantics_72
;
9818 switch (op
[2] & 0x00)
9823 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9824 #line 321 "rx-decode.opc"
9825 int p AU
= (op
[1] >> 2) & 0x01;
9826 #line 321 "rx-decode.opc"
9827 int sz AU
= op
[1] & 0x03;
9828 #line 321 "rx-decode.opc"
9829 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9830 #line 321 "rx-decode.opc"
9831 int rdst AU
= op
[2] & 0x0f;
9834 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9835 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9836 op
[0], op
[1], op
[2]);
9837 printf (" p = 0x%x,", p
);
9838 printf (" sz = 0x%x,", sz
);
9839 printf (" rsrc = 0x%x,", rsrc
);
9840 printf (" rdst = 0x%x\n", rdst
);
9842 SYNTAX("movu%s %1, %0");
9843 #line 321 "rx-decode.opc"
9844 ID(mov
); uBWL (sz
); DR(rdst
); F_____
;
9845 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9847 /*----------------------------------------------------------------------*/
9856 switch (op
[2] & 0x00)
9859 goto op_semantics_73
;
9865 switch (op
[2] & 0x00)
9868 goto op_semantics_73
;
9874 switch (op
[2] & 0x00)
9877 goto op_semantics_73
;
9883 switch (op
[2] & 0x00)
9886 goto op_semantics_73
;
9892 switch (op
[2] & 0x00)
9895 goto op_semantics_73
;
9901 switch (op
[2] & 0x00)
9905 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9906 #line 653 "rx-decode.opc"
9907 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9908 #line 653 "rx-decode.opc"
9909 int rdst AU
= op
[2] & 0x0f;
9912 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9913 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9914 op
[0], op
[1], op
[2]);
9915 printf (" rsrc = 0x%x,", rsrc
);
9916 printf (" rdst = 0x%x\n", rdst
);
9918 SYNTAX("shlr %2, %0");
9919 #line 653 "rx-decode.opc"
9920 ID(shlr
); S2R(rsrc
); SR(rdst
); DR(rdst
); F__SZC
;
9928 switch (op
[2] & 0x00)
9932 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9933 #line 643 "rx-decode.opc"
9934 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9935 #line 643 "rx-decode.opc"
9936 int rdst AU
= op
[2] & 0x0f;
9939 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9940 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9941 op
[0], op
[1], op
[2]);
9942 printf (" rsrc = 0x%x,", rsrc
);
9943 printf (" rdst = 0x%x\n", rdst
);
9945 SYNTAX("shar %2, %0");
9946 #line 643 "rx-decode.opc"
9947 ID(shar
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_0SZC
;
9955 switch (op
[2] & 0x00)
9959 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
9960 #line 633 "rx-decode.opc"
9961 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9962 #line 633 "rx-decode.opc"
9963 int rdst AU
= op
[2] & 0x0f;
9966 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9967 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
9968 op
[0], op
[1], op
[2]);
9969 printf (" rsrc = 0x%x,", rsrc
);
9970 printf (" rdst = 0x%x\n", rdst
);
9972 SYNTAX("shll %2, %0");
9973 #line 633 "rx-decode.opc"
9974 ID(shll
); S2R(rsrc
); SR(rdst
); DR(rdst
); F_OSZC
;
9982 switch (op
[2] & 0x00)
9986 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
9987 #line 677 "rx-decode.opc"
9988 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9989 #line 677 "rx-decode.opc"
9990 int rdst AU
= op
[2] & 0x0f;
9993 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9994 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
9995 op
[0], op
[1], op
[2]);
9996 printf (" rsrc = 0x%x,", rsrc
);
9997 printf (" rdst = 0x%x\n", rdst
);
9999 SYNTAX("rotr %1, %0");
10000 #line 677 "rx-decode.opc"
10001 ID(rotr
); SR(rsrc
); DR(rdst
); F__SZC
;
10009 switch (op
[2] & 0x00)
10013 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10014 #line 680 "rx-decode.opc"
10015 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10016 #line 680 "rx-decode.opc"
10017 int rdst AU
= op
[2] & 0x0f;
10020 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10021 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10022 op
[0], op
[1], op
[2]);
10023 printf (" rsrc = 0x%x,", rsrc
);
10024 printf (" rdst = 0x%x\n", rdst
);
10026 SYNTAX("revw %1, %0");
10027 #line 680 "rx-decode.opc"
10028 ID(revw
); SR(rsrc
); DR(rdst
);
10036 switch (op
[2] & 0x00)
10040 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10041 #line 671 "rx-decode.opc"
10042 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10043 #line 671 "rx-decode.opc"
10044 int rdst AU
= op
[2] & 0x0f;
10047 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10048 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10049 op
[0], op
[1], op
[2]);
10050 printf (" rsrc = 0x%x,", rsrc
);
10051 printf (" rdst = 0x%x\n", rdst
);
10053 SYNTAX("rotl %1, %0");
10054 #line 671 "rx-decode.opc"
10055 ID(rotl
); SR(rsrc
); DR(rdst
); F__SZC
;
10063 switch (op
[2] & 0x00)
10067 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10068 #line 683 "rx-decode.opc"
10069 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10070 #line 683 "rx-decode.opc"
10071 int rdst AU
= op
[2] & 0x0f;
10074 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10075 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10076 op
[0], op
[1], op
[2]);
10077 printf (" rsrc = 0x%x,", rsrc
);
10078 printf (" rdst = 0x%x\n", rdst
);
10080 SYNTAX("revl %1, %0");
10081 #line 683 "rx-decode.opc"
10082 ID(revl
); SR(rsrc
); DR(rdst
);
10084 /*----------------------------------------------------------------------*/
10093 switch (op
[2] & 0x00)
10098 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10099 #line 926 "rx-decode.opc"
10100 int c AU
= op
[1] & 0x01;
10101 #line 926 "rx-decode.opc"
10102 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10103 #line 926 "rx-decode.opc"
10104 int rdst AU
= op
[2] & 0x0f;
10107 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10108 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10109 op
[0], op
[1], op
[2]);
10110 printf (" c = 0x%x,", c
);
10111 printf (" rsrc = 0x%x,", rsrc
);
10112 printf (" rdst = 0x%x\n", rdst
);
10114 SYNTAX("mvtc %1, %0");
10115 #line 926 "rx-decode.opc"
10116 ID(mov
); SR(rsrc
); DR(c
*16+rdst
+ 16);
10124 switch (op
[2] & 0x00)
10127 goto op_semantics_74
;
10133 switch (op
[2] & 0x00)
10138 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10139 #line 929 "rx-decode.opc"
10140 int s AU
= op
[1] & 0x01;
10141 #line 929 "rx-decode.opc"
10142 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10143 #line 929 "rx-decode.opc"
10144 int rdst AU
= op
[2] & 0x0f;
10147 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10148 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10149 op
[0], op
[1], op
[2]);
10150 printf (" s = 0x%x,", s
);
10151 printf (" rsrc = 0x%x,", rsrc
);
10152 printf (" rdst = 0x%x\n", rdst
);
10154 SYNTAX("mvfc %1, %0");
10155 #line 929 "rx-decode.opc"
10156 ID(mov
); SR((s
*16+rsrc
) + 16); DR(rdst
);
10158 /*----------------------------------------------------------------------*/
10167 switch (op
[2] & 0x00)
10170 goto op_semantics_75
;
10176 switch (op
[2] & 0x00)
10181 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10182 #line 674 "rx-decode.opc"
10183 int i AU
= op
[1] & 0x01;
10184 #line 674 "rx-decode.opc"
10185 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10186 #line 674 "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 110i mmmm rdst rotr #%1, %0 */",
10192 op
[0], op
[1], op
[2]);
10193 printf (" i = 0x%x,", i
);
10194 printf (" mmmm = 0x%x,", mmmm
);
10195 printf (" rdst = 0x%x\n", rdst
);
10197 SYNTAX("rotr #%1, %0");
10198 #line 674 "rx-decode.opc"
10199 ID(rotr
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
10207 switch (op
[2] & 0x00)
10210 goto op_semantics_76
;
10216 switch (op
[2] & 0x00)
10221 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10222 #line 668 "rx-decode.opc"
10223 int i AU
= op
[1] & 0x01;
10224 #line 668 "rx-decode.opc"
10225 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10226 #line 668 "rx-decode.opc"
10227 int rdst AU
= op
[2] & 0x0f;
10230 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10231 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10232 op
[0], op
[1], op
[2]);
10233 printf (" i = 0x%x,", i
);
10234 printf (" mmmm = 0x%x,", mmmm
);
10235 printf (" rdst = 0x%x\n", rdst
);
10237 SYNTAX("rotl #%1, %0");
10238 #line 668 "rx-decode.opc"
10239 ID(rotl
); SC(i
*16+mmmm
); DR(rdst
); F__SZC
;
10247 switch (op
[2] & 0x00)
10250 goto op_semantics_77
;
10256 switch (op
[2] & 0xf0)
10261 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10262 #line 451 "rx-decode.opc"
10263 int im AU
= (op
[1] >> 2) & 0x03;
10264 #line 451 "rx-decode.opc"
10265 int rdst AU
= op
[2] & 0x0f;
10268 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10269 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10270 op
[0], op
[1], op
[2]);
10271 printf (" im = 0x%x,", im
);
10272 printf (" rdst = 0x%x\n", rdst
);
10274 SYNTAX("adc #%1, %0");
10275 #line 451 "rx-decode.opc"
10276 ID(adc
); SC(IMMex(im
)); DR(rdst
); F_OSZC
;
10283 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10284 #line 533 "rx-decode.opc"
10285 int im AU
= (op
[1] >> 2) & 0x03;
10286 #line 533 "rx-decode.opc"
10287 int rdst AU
= op
[2] & 0x0f;
10290 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10291 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10292 op
[0], op
[1], op
[2]);
10293 printf (" im = 0x%x,", im
);
10294 printf (" rdst = 0x%x\n", rdst
);
10296 SYNTAX("max #%1, %0");
10297 #line 533 "rx-decode.opc"
10298 ID(max
); DR(rdst
); SC(IMMex(im
));
10305 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10306 #line 552 "rx-decode.opc"
10307 int im AU
= (op
[1] >> 2) & 0x03;
10308 #line 552 "rx-decode.opc"
10309 int rdst AU
= op
[2] & 0x0f;
10312 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10313 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10314 op
[0], op
[1], op
[2]);
10315 printf (" im = 0x%x,", im
);
10316 printf (" rdst = 0x%x\n", rdst
);
10318 SYNTAX("min #%1, %0");
10319 #line 552 "rx-decode.opc"
10320 ID(min
); DR(rdst
); SC(IMMex(im
));
10327 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10328 #line 582 "rx-decode.opc"
10329 int im AU
= (op
[1] >> 2) & 0x03;
10330 #line 582 "rx-decode.opc"
10331 int rdst AU
= op
[2] & 0x0f;
10334 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10335 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10336 op
[0], op
[1], op
[2]);
10337 printf (" im = 0x%x,", im
);
10338 printf (" rdst = 0x%x\n", rdst
);
10340 SYNTAX("emul #%1, %0");
10341 #line 582 "rx-decode.opc"
10342 ID(emul
); DR(rdst
); SC(IMMex(im
));
10349 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10350 #line 594 "rx-decode.opc"
10351 int im AU
= (op
[1] >> 2) & 0x03;
10352 #line 594 "rx-decode.opc"
10353 int rdst AU
= op
[2] & 0x0f;
10356 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10357 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10358 op
[0], op
[1], op
[2]);
10359 printf (" im = 0x%x,", im
);
10360 printf (" rdst = 0x%x\n", rdst
);
10362 SYNTAX("emulu #%1, %0");
10363 #line 594 "rx-decode.opc"
10364 ID(emulu
); DR(rdst
); SC(IMMex(im
));
10371 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10372 #line 606 "rx-decode.opc"
10373 int im AU
= (op
[1] >> 2) & 0x03;
10374 #line 606 "rx-decode.opc"
10375 int rdst AU
= op
[2] & 0x0f;
10378 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10379 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10380 op
[0], op
[1], op
[2]);
10381 printf (" im = 0x%x,", im
);
10382 printf (" rdst = 0x%x\n", rdst
);
10384 SYNTAX("div #%1, %0");
10385 #line 606 "rx-decode.opc"
10386 ID(div
); DR(rdst
); SC(IMMex(im
)); F_O___
;
10393 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10394 #line 618 "rx-decode.opc"
10395 int im AU
= (op
[1] >> 2) & 0x03;
10396 #line 618 "rx-decode.opc"
10397 int rdst AU
= op
[2] & 0x0f;
10400 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10401 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10402 op
[0], op
[1], op
[2]);
10403 printf (" im = 0x%x,", im
);
10404 printf (" rdst = 0x%x\n", rdst
);
10406 SYNTAX("divu #%1, %0");
10407 #line 618 "rx-decode.opc"
10408 ID(divu
); DR(rdst
); SC(IMMex(im
)); F_O___
;
10415 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10416 #line 430 "rx-decode.opc"
10417 int im AU
= (op
[1] >> 2) & 0x03;
10418 #line 430 "rx-decode.opc"
10419 int rdst AU
= op
[2] & 0x0f;
10422 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10423 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10424 op
[0], op
[1], op
[2]);
10425 printf (" im = 0x%x,", im
);
10426 printf (" rdst = 0x%x\n", rdst
);
10428 SYNTAX("tst #%1, %2");
10429 #line 430 "rx-decode.opc"
10430 ID(and); SC(IMMex(im
)); S2R(rdst
); F__SZ_
;
10437 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10438 #line 409 "rx-decode.opc"
10439 int im AU
= (op
[1] >> 2) & 0x03;
10440 #line 409 "rx-decode.opc"
10441 int rdst AU
= op
[2] & 0x0f;
10444 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10445 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10446 op
[0], op
[1], op
[2]);
10447 printf (" im = 0x%x,", im
);
10448 printf (" rdst = 0x%x\n", rdst
);
10450 SYNTAX("xor #%1, %0");
10451 #line 409 "rx-decode.opc"
10452 ID(xor); SC(IMMex(im
)); DR(rdst
); F__SZ_
;
10459 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10460 #line 355 "rx-decode.opc"
10461 int im AU
= (op
[1] >> 2) & 0x03;
10462 #line 355 "rx-decode.opc"
10463 int rdst AU
= op
[2] & 0x0f;
10466 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10467 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10468 op
[0], op
[1], op
[2]);
10469 printf (" im = 0x%x,", im
);
10470 printf (" rdst = 0x%x\n", rdst
);
10472 SYNTAX("stz #%1, %0");
10473 #line 355 "rx-decode.opc"
10474 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_z
);
10481 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10482 #line 358 "rx-decode.opc"
10483 int im AU
= (op
[1] >> 2) & 0x03;
10484 #line 358 "rx-decode.opc"
10485 int rdst AU
= op
[2] & 0x0f;
10488 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10489 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10490 op
[0], op
[1], op
[2]);
10491 printf (" im = 0x%x,", im
);
10492 printf (" rdst = 0x%x\n", rdst
);
10494 SYNTAX("stnz #%1, %0");
10495 #line 358 "rx-decode.opc"
10496 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_nz
);
10498 /*----------------------------------------------------------------------*/
10503 default: UNSUPPORTED(); break;
10508 switch (op
[2] & 0xf0)
10512 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10513 #line 826 "rx-decode.opc"
10514 int rdst AU
= op
[2] & 0x0f;
10517 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10518 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10519 op
[0], op
[1], op
[2]);
10520 printf (" rdst = 0x%x\n", rdst
);
10522 SYNTAX("fsub #%1, %0");
10523 #line 826 "rx-decode.opc"
10524 ID(fsub
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10530 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10531 #line 820 "rx-decode.opc"
10532 int rdst AU
= op
[2] & 0x0f;
10535 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10536 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10537 op
[0], op
[1], op
[2]);
10538 printf (" rdst = 0x%x\n", rdst
);
10540 SYNTAX("fcmp #%1, %0");
10541 #line 820 "rx-decode.opc"
10542 ID(fcmp
); DR(rdst
); SC(IMM(0)); F_OSZ_
;
10548 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10549 #line 814 "rx-decode.opc"
10550 int rdst AU
= op
[2] & 0x0f;
10553 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10554 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10555 op
[0], op
[1], op
[2]);
10556 printf (" rdst = 0x%x\n", rdst
);
10558 SYNTAX("fadd #%1, %0");
10559 #line 814 "rx-decode.opc"
10560 ID(fadd
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10566 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10567 #line 835 "rx-decode.opc"
10568 int rdst AU
= op
[2] & 0x0f;
10571 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10572 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10573 op
[0], op
[1], op
[2]);
10574 printf (" rdst = 0x%x\n", rdst
);
10576 SYNTAX("fmul #%1, %0");
10577 #line 835 "rx-decode.opc"
10578 ID(fmul
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10584 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10585 #line 841 "rx-decode.opc"
10586 int rdst AU
= op
[2] & 0x0f;
10589 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10590 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10591 op
[0], op
[1], op
[2]);
10592 printf (" rdst = 0x%x\n", rdst
);
10594 SYNTAX("fdiv #%1, %0");
10595 #line 841 "rx-decode.opc"
10596 ID(fdiv
); DR(rdst
); SC(IMM(0)); F__SZ_
;
10600 default: UNSUPPORTED(); break;
10605 switch (op
[2] & 0xe0)
10610 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10611 #line 923 "rx-decode.opc"
10612 int im AU
= (op
[1] >> 2) & 0x03;
10613 #line 923 "rx-decode.opc"
10614 int crdst AU
= op
[2] & 0x1f;
10617 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10618 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10619 op
[0], op
[1], op
[2]);
10620 printf (" im = 0x%x,", im
);
10621 printf (" crdst = 0x%x\n", crdst
);
10623 SYNTAX("mvtc #%1, %0");
10624 #line 923 "rx-decode.opc"
10625 ID(mov
); SC(IMMex(im
)); DR(crdst
+ 16);
10629 default: UNSUPPORTED(); break;
10634 switch (op
[2] & 0xf0)
10637 goto op_semantics_78
;
10640 goto op_semantics_79
;
10643 goto op_semantics_80
;
10646 goto op_semantics_81
;
10649 goto op_semantics_82
;
10652 goto op_semantics_83
;
10655 goto op_semantics_84
;
10658 goto op_semantics_85
;
10661 goto op_semantics_86
;
10664 goto op_semantics_87
;
10667 goto op_semantics_88
;
10669 default: UNSUPPORTED(); break;
10674 switch (op
[2] & 0xe0)
10677 goto op_semantics_89
;
10679 default: UNSUPPORTED(); break;
10684 switch (op
[2] & 0xf0)
10687 goto op_semantics_78
;
10690 goto op_semantics_79
;
10693 goto op_semantics_80
;
10696 goto op_semantics_81
;
10699 goto op_semantics_82
;
10702 goto op_semantics_83
;
10705 goto op_semantics_84
;
10708 goto op_semantics_85
;
10711 goto op_semantics_86
;
10714 goto op_semantics_87
;
10717 goto op_semantics_88
;
10719 default: UNSUPPORTED(); break;
10724 switch (op
[2] & 0xe0)
10727 goto op_semantics_89
;
10729 default: UNSUPPORTED(); break;
10734 switch (op
[2] & 0xf0)
10737 goto op_semantics_78
;
10740 goto op_semantics_79
;
10743 goto op_semantics_80
;
10746 goto op_semantics_81
;
10749 goto op_semantics_82
;
10752 goto op_semantics_83
;
10755 goto op_semantics_84
;
10758 goto op_semantics_85
;
10761 goto op_semantics_86
;
10764 goto op_semantics_87
;
10767 goto op_semantics_88
;
10769 default: UNSUPPORTED(); break;
10774 switch (op
[2] & 0xe0)
10777 goto op_semantics_89
;
10779 default: UNSUPPORTED(); break;
10784 switch (op
[2] & 0x00)
10789 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10790 #line 656 "rx-decode.opc"
10791 int immmm AU
= op
[1] & 0x1f;
10792 #line 656 "rx-decode.opc"
10793 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10794 #line 656 "rx-decode.opc"
10795 int rdst AU
= op
[2] & 0x0f;
10798 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10799 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10800 op
[0], op
[1], op
[2]);
10801 printf (" immmm = 0x%x,", immmm
);
10802 printf (" rsrc = 0x%x,", rsrc
);
10803 printf (" rdst = 0x%x\n", rdst
);
10805 SYNTAX("shlr #%2, %1, %0");
10806 #line 656 "rx-decode.opc"
10807 ID(shlr
); S2C(immmm
); SR(rsrc
); DR(rdst
); F__SZC
;
10809 /*----------------------------------------------------------------------*/
10818 switch (op
[2] & 0x00)
10821 goto op_semantics_90
;
10827 switch (op
[2] & 0x00)
10830 goto op_semantics_90
;
10836 switch (op
[2] & 0x00)
10839 goto op_semantics_90
;
10845 switch (op
[2] & 0x00)
10848 goto op_semantics_90
;
10854 switch (op
[2] & 0x00)
10857 goto op_semantics_90
;
10863 switch (op
[2] & 0x00)
10866 goto op_semantics_90
;
10872 switch (op
[2] & 0x00)
10875 goto op_semantics_90
;
10881 switch (op
[2] & 0x00)
10884 goto op_semantics_90
;
10890 switch (op
[2] & 0x00)
10893 goto op_semantics_90
;
10899 switch (op
[2] & 0x00)
10902 goto op_semantics_90
;
10908 switch (op
[2] & 0x00)
10911 goto op_semantics_90
;
10917 switch (op
[2] & 0x00)
10920 goto op_semantics_90
;
10926 switch (op
[2] & 0x00)
10929 goto op_semantics_90
;
10935 switch (op
[2] & 0x00)
10938 goto op_semantics_90
;
10944 switch (op
[2] & 0x00)
10947 goto op_semantics_90
;
10953 switch (op
[2] & 0x00)
10956 goto op_semantics_90
;
10962 switch (op
[2] & 0x00)
10965 goto op_semantics_90
;
10971 switch (op
[2] & 0x00)
10974 goto op_semantics_90
;
10980 switch (op
[2] & 0x00)
10983 goto op_semantics_90
;
10989 switch (op
[2] & 0x00)
10992 goto op_semantics_90
;
10998 switch (op
[2] & 0x00)
11001 goto op_semantics_90
;
11007 switch (op
[2] & 0x00)
11010 goto op_semantics_90
;
11016 switch (op
[2] & 0x00)
11019 goto op_semantics_90
;
11025 switch (op
[2] & 0x00)
11028 goto op_semantics_90
;
11034 switch (op
[2] & 0x00)
11037 goto op_semantics_90
;
11043 switch (op
[2] & 0x00)
11046 goto op_semantics_90
;
11052 switch (op
[2] & 0x00)
11055 goto op_semantics_90
;
11061 switch (op
[2] & 0x00)
11064 goto op_semantics_90
;
11070 switch (op
[2] & 0x00)
11073 goto op_semantics_90
;
11079 switch (op
[2] & 0x00)
11082 goto op_semantics_90
;
11088 switch (op
[2] & 0x00)
11091 goto op_semantics_90
;
11097 switch (op
[2] & 0x00)
11102 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11103 #line 646 "rx-decode.opc"
11104 int immmm AU
= op
[1] & 0x1f;
11105 #line 646 "rx-decode.opc"
11106 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11107 #line 646 "rx-decode.opc"
11108 int rdst AU
= op
[2] & 0x0f;
11111 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11112 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11113 op
[0], op
[1], op
[2]);
11114 printf (" immmm = 0x%x,", immmm
);
11115 printf (" rsrc = 0x%x,", rsrc
);
11116 printf (" rdst = 0x%x\n", rdst
);
11118 SYNTAX("shar #%2, %1, %0");
11119 #line 646 "rx-decode.opc"
11120 ID(shar
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_0SZC
;
11129 switch (op
[2] & 0x00)
11132 goto op_semantics_91
;
11138 switch (op
[2] & 0x00)
11141 goto op_semantics_91
;
11147 switch (op
[2] & 0x00)
11150 goto op_semantics_91
;
11156 switch (op
[2] & 0x00)
11159 goto op_semantics_91
;
11165 switch (op
[2] & 0x00)
11168 goto op_semantics_91
;
11174 switch (op
[2] & 0x00)
11177 goto op_semantics_91
;
11183 switch (op
[2] & 0x00)
11186 goto op_semantics_91
;
11192 switch (op
[2] & 0x00)
11195 goto op_semantics_91
;
11201 switch (op
[2] & 0x00)
11204 goto op_semantics_91
;
11210 switch (op
[2] & 0x00)
11213 goto op_semantics_91
;
11219 switch (op
[2] & 0x00)
11222 goto op_semantics_91
;
11228 switch (op
[2] & 0x00)
11231 goto op_semantics_91
;
11237 switch (op
[2] & 0x00)
11240 goto op_semantics_91
;
11246 switch (op
[2] & 0x00)
11249 goto op_semantics_91
;
11255 switch (op
[2] & 0x00)
11258 goto op_semantics_91
;
11264 switch (op
[2] & 0x00)
11267 goto op_semantics_91
;
11273 switch (op
[2] & 0x00)
11276 goto op_semantics_91
;
11282 switch (op
[2] & 0x00)
11285 goto op_semantics_91
;
11291 switch (op
[2] & 0x00)
11294 goto op_semantics_91
;
11300 switch (op
[2] & 0x00)
11303 goto op_semantics_91
;
11309 switch (op
[2] & 0x00)
11312 goto op_semantics_91
;
11318 switch (op
[2] & 0x00)
11321 goto op_semantics_91
;
11327 switch (op
[2] & 0x00)
11330 goto op_semantics_91
;
11336 switch (op
[2] & 0x00)
11339 goto op_semantics_91
;
11345 switch (op
[2] & 0x00)
11348 goto op_semantics_91
;
11354 switch (op
[2] & 0x00)
11357 goto op_semantics_91
;
11363 switch (op
[2] & 0x00)
11366 goto op_semantics_91
;
11372 switch (op
[2] & 0x00)
11375 goto op_semantics_91
;
11381 switch (op
[2] & 0x00)
11384 goto op_semantics_91
;
11390 switch (op
[2] & 0x00)
11393 goto op_semantics_91
;
11399 switch (op
[2] & 0x00)
11402 goto op_semantics_91
;
11408 switch (op
[2] & 0x00)
11413 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11414 #line 636 "rx-decode.opc"
11415 int immmm AU
= op
[1] & 0x1f;
11416 #line 636 "rx-decode.opc"
11417 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11418 #line 636 "rx-decode.opc"
11419 int rdst AU
= op
[2] & 0x0f;
11422 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11423 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11424 op
[0], op
[1], op
[2]);
11425 printf (" immmm = 0x%x,", immmm
);
11426 printf (" rsrc = 0x%x,", rsrc
);
11427 printf (" rdst = 0x%x\n", rdst
);
11429 SYNTAX("shll #%2, %1, %0");
11430 #line 636 "rx-decode.opc"
11431 ID(shll
); S2C(immmm
); SR(rsrc
); DR(rdst
); F_OSZC
;
11440 switch (op
[2] & 0x00)
11443 goto op_semantics_92
;
11449 switch (op
[2] & 0x00)
11452 goto op_semantics_92
;
11458 switch (op
[2] & 0x00)
11461 goto op_semantics_92
;
11467 switch (op
[2] & 0x00)
11470 goto op_semantics_92
;
11476 switch (op
[2] & 0x00)
11479 goto op_semantics_92
;
11485 switch (op
[2] & 0x00)
11488 goto op_semantics_92
;
11494 switch (op
[2] & 0x00)
11497 goto op_semantics_92
;
11503 switch (op
[2] & 0x00)
11506 goto op_semantics_92
;
11512 switch (op
[2] & 0x00)
11515 goto op_semantics_92
;
11521 switch (op
[2] & 0x00)
11524 goto op_semantics_92
;
11530 switch (op
[2] & 0x00)
11533 goto op_semantics_92
;
11539 switch (op
[2] & 0x00)
11542 goto op_semantics_92
;
11548 switch (op
[2] & 0x00)
11551 goto op_semantics_92
;
11557 switch (op
[2] & 0x00)
11560 goto op_semantics_92
;
11566 switch (op
[2] & 0x00)
11569 goto op_semantics_92
;
11575 switch (op
[2] & 0x00)
11578 goto op_semantics_92
;
11584 switch (op
[2] & 0x00)
11587 goto op_semantics_92
;
11593 switch (op
[2] & 0x00)
11596 goto op_semantics_92
;
11602 switch (op
[2] & 0x00)
11605 goto op_semantics_92
;
11611 switch (op
[2] & 0x00)
11614 goto op_semantics_92
;
11620 switch (op
[2] & 0x00)
11623 goto op_semantics_92
;
11629 switch (op
[2] & 0x00)
11632 goto op_semantics_92
;
11638 switch (op
[2] & 0x00)
11641 goto op_semantics_92
;
11647 switch (op
[2] & 0x00)
11650 goto op_semantics_92
;
11656 switch (op
[2] & 0x00)
11659 goto op_semantics_92
;
11665 switch (op
[2] & 0x00)
11668 goto op_semantics_92
;
11674 switch (op
[2] & 0x00)
11677 goto op_semantics_92
;
11683 switch (op
[2] & 0x00)
11686 goto op_semantics_92
;
11692 switch (op
[2] & 0x00)
11695 goto op_semantics_92
;
11701 switch (op
[2] & 0x00)
11704 goto op_semantics_92
;
11710 switch (op
[2] & 0x00)
11713 goto op_semantics_92
;
11719 switch (op
[2] & 0xf0)
11738 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11739 #line 902 "rx-decode.opc"
11740 int bittt AU
= op
[1] & 0x1f;
11741 #line 902 "rx-decode.opc"
11742 int cond AU
= (op
[2] >> 4) & 0x0f;
11743 #line 902 "rx-decode.opc"
11744 int rdst AU
= op
[2] & 0x0f;
11747 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11748 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11749 op
[0], op
[1], op
[2]);
11750 printf (" bittt = 0x%x,", bittt
);
11751 printf (" cond = 0x%x,", cond
);
11752 printf (" rdst = 0x%x\n", rdst
);
11754 SYNTAX("bm%2 #%1, %0%S0");
11755 #line 902 "rx-decode.opc"
11756 ID(bmcc
); BWL(LSIZE
); S2cc(cond
); SC(bittt
); DR(rdst
);
11758 /*----------------------------------------------------------------------*/
11759 /* CONTROL REGISTERS */
11766 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11767 #line 895 "rx-decode.opc"
11768 int bittt AU
= op
[1] & 0x1f;
11769 #line 895 "rx-decode.opc"
11770 int rdst AU
= op
[2] & 0x0f;
11773 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11774 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11775 op
[0], op
[1], op
[2]);
11776 printf (" bittt = 0x%x,", bittt
);
11777 printf (" rdst = 0x%x\n", rdst
);
11779 SYNTAX("bnot #%1, %0");
11780 #line 895 "rx-decode.opc"
11781 ID(bnot
); BWL(LSIZE
); SC(bittt
); DR(rdst
);
11790 switch (op
[2] & 0xf0)
11807 goto op_semantics_93
;
11810 goto op_semantics_94
;
11816 switch (op
[2] & 0xf0)
11833 goto op_semantics_93
;
11836 goto op_semantics_94
;
11842 switch (op
[2] & 0xf0)
11859 goto op_semantics_93
;
11862 goto op_semantics_94
;
11868 switch (op
[2] & 0xf0)
11885 goto op_semantics_93
;
11888 goto op_semantics_94
;
11894 switch (op
[2] & 0xf0)
11911 goto op_semantics_93
;
11914 goto op_semantics_94
;
11920 switch (op
[2] & 0xf0)
11937 goto op_semantics_93
;
11940 goto op_semantics_94
;
11946 switch (op
[2] & 0xf0)
11963 goto op_semantics_93
;
11966 goto op_semantics_94
;
11972 switch (op
[2] & 0xf0)
11989 goto op_semantics_93
;
11992 goto op_semantics_94
;
11998 switch (op
[2] & 0xf0)
12015 goto op_semantics_93
;
12018 goto op_semantics_94
;
12024 switch (op
[2] & 0xf0)
12041 goto op_semantics_93
;
12044 goto op_semantics_94
;
12050 switch (op
[2] & 0xf0)
12067 goto op_semantics_93
;
12070 goto op_semantics_94
;
12076 switch (op
[2] & 0xf0)
12093 goto op_semantics_93
;
12096 goto op_semantics_94
;
12102 switch (op
[2] & 0xf0)
12119 goto op_semantics_93
;
12122 goto op_semantics_94
;
12128 switch (op
[2] & 0xf0)
12145 goto op_semantics_93
;
12148 goto op_semantics_94
;
12154 switch (op
[2] & 0xf0)
12171 goto op_semantics_93
;
12174 goto op_semantics_94
;
12180 switch (op
[2] & 0xf0)
12197 goto op_semantics_93
;
12200 goto op_semantics_94
;
12206 switch (op
[2] & 0xf0)
12223 goto op_semantics_93
;
12226 goto op_semantics_94
;
12232 switch (op
[2] & 0xf0)
12249 goto op_semantics_93
;
12252 goto op_semantics_94
;
12258 switch (op
[2] & 0xf0)
12275 goto op_semantics_93
;
12278 goto op_semantics_94
;
12284 switch (op
[2] & 0xf0)
12301 goto op_semantics_93
;
12304 goto op_semantics_94
;
12310 switch (op
[2] & 0xf0)
12327 goto op_semantics_93
;
12330 goto op_semantics_94
;
12336 switch (op
[2] & 0xf0)
12353 goto op_semantics_93
;
12356 goto op_semantics_94
;
12362 switch (op
[2] & 0xf0)
12379 goto op_semantics_93
;
12382 goto op_semantics_94
;
12388 switch (op
[2] & 0xf0)
12405 goto op_semantics_93
;
12408 goto op_semantics_94
;
12414 switch (op
[2] & 0xf0)
12431 goto op_semantics_93
;
12434 goto op_semantics_94
;
12440 switch (op
[2] & 0xf0)
12457 goto op_semantics_93
;
12460 goto op_semantics_94
;
12466 switch (op
[2] & 0xf0)
12483 goto op_semantics_93
;
12486 goto op_semantics_94
;
12492 switch (op
[2] & 0xf0)
12509 goto op_semantics_93
;
12512 goto op_semantics_94
;
12518 switch (op
[2] & 0xf0)
12535 goto op_semantics_93
;
12538 goto op_semantics_94
;
12544 switch (op
[2] & 0xf0)
12561 goto op_semantics_93
;
12564 goto op_semantics_94
;
12570 switch (op
[2] & 0xf0)
12587 goto op_semantics_93
;
12590 goto op_semantics_94
;
12594 default: UNSUPPORTED(); break;
12599 switch (op
[1] & 0xff)
12603 switch (op
[2] & 0x00)
12608 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12609 #line 301 "rx-decode.opc"
12610 int sz AU
= (op
[1] >> 4) & 0x03;
12611 #line 301 "rx-decode.opc"
12612 int isrc AU
= op
[1] & 0x0f;
12613 #line 301 "rx-decode.opc"
12614 int bsrc AU
= (op
[2] >> 4) & 0x0f;
12615 #line 301 "rx-decode.opc"
12616 int rdst AU
= op
[2] & 0x0f;
12619 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12620 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12621 op
[0], op
[1], op
[2]);
12622 printf (" sz = 0x%x,", sz
);
12623 printf (" isrc = 0x%x,", isrc
);
12624 printf (" bsrc = 0x%x,", bsrc
);
12625 printf (" rdst = 0x%x\n", rdst
);
12627 SYNTAX("mov%s %0, [%1, %2]");
12628 #line 301 "rx-decode.opc"
12629 ID(movbir
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
12637 switch (op
[2] & 0x00)
12640 goto op_semantics_95
;
12646 switch (op
[2] & 0x00)
12649 goto op_semantics_95
;
12655 switch (op
[2] & 0x00)
12658 goto op_semantics_95
;
12664 switch (op
[2] & 0x00)
12667 goto op_semantics_95
;
12673 switch (op
[2] & 0x00)
12676 goto op_semantics_95
;
12682 switch (op
[2] & 0x00)
12685 goto op_semantics_95
;
12691 switch (op
[2] & 0x00)
12694 goto op_semantics_95
;
12700 switch (op
[2] & 0x00)
12703 goto op_semantics_95
;
12709 switch (op
[2] & 0x00)
12712 goto op_semantics_95
;
12718 switch (op
[2] & 0x00)
12721 goto op_semantics_95
;
12727 switch (op
[2] & 0x00)
12730 goto op_semantics_95
;
12736 switch (op
[2] & 0x00)
12739 goto op_semantics_95
;
12745 switch (op
[2] & 0x00)
12748 goto op_semantics_95
;
12754 switch (op
[2] & 0x00)
12757 goto op_semantics_95
;
12763 switch (op
[2] & 0x00)
12766 goto op_semantics_95
;
12772 switch (op
[2] & 0x00)
12775 goto op_semantics_95
;
12781 switch (op
[2] & 0x00)
12784 goto op_semantics_95
;
12790 switch (op
[2] & 0x00)
12793 goto op_semantics_95
;
12799 switch (op
[2] & 0x00)
12802 goto op_semantics_95
;
12808 switch (op
[2] & 0x00)
12811 goto op_semantics_95
;
12817 switch (op
[2] & 0x00)
12820 goto op_semantics_95
;
12826 switch (op
[2] & 0x00)
12829 goto op_semantics_95
;
12835 switch (op
[2] & 0x00)
12838 goto op_semantics_95
;
12844 switch (op
[2] & 0x00)
12847 goto op_semantics_95
;
12853 switch (op
[2] & 0x00)
12856 goto op_semantics_95
;
12862 switch (op
[2] & 0x00)
12865 goto op_semantics_95
;
12871 switch (op
[2] & 0x00)
12874 goto op_semantics_95
;
12880 switch (op
[2] & 0x00)
12883 goto op_semantics_95
;
12889 switch (op
[2] & 0x00)
12892 goto op_semantics_95
;
12898 switch (op
[2] & 0x00)
12901 goto op_semantics_95
;
12907 switch (op
[2] & 0x00)
12910 goto op_semantics_95
;
12916 switch (op
[2] & 0x00)
12919 goto op_semantics_95
;
12925 switch (op
[2] & 0x00)
12928 goto op_semantics_95
;
12934 switch (op
[2] & 0x00)
12937 goto op_semantics_95
;
12943 switch (op
[2] & 0x00)
12946 goto op_semantics_95
;
12952 switch (op
[2] & 0x00)
12955 goto op_semantics_95
;
12961 switch (op
[2] & 0x00)
12964 goto op_semantics_95
;
12970 switch (op
[2] & 0x00)
12973 goto op_semantics_95
;
12979 switch (op
[2] & 0x00)
12982 goto op_semantics_95
;
12988 switch (op
[2] & 0x00)
12991 goto op_semantics_95
;
12997 switch (op
[2] & 0x00)
13000 goto op_semantics_95
;
13006 switch (op
[2] & 0x00)
13009 goto op_semantics_95
;
13015 switch (op
[2] & 0x00)
13018 goto op_semantics_95
;
13024 switch (op
[2] & 0x00)
13027 goto op_semantics_95
;
13033 switch (op
[2] & 0x00)
13036 goto op_semantics_95
;
13042 switch (op
[2] & 0x00)
13045 goto op_semantics_95
;
13051 switch (op
[2] & 0x00)
13054 goto op_semantics_95
;
13060 switch (op
[2] & 0x00)
13065 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13066 #line 298 "rx-decode.opc"
13067 int sz AU
= (op
[1] >> 4) & 0x03;
13068 #line 298 "rx-decode.opc"
13069 int isrc AU
= op
[1] & 0x0f;
13070 #line 298 "rx-decode.opc"
13071 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13072 #line 298 "rx-decode.opc"
13073 int rdst AU
= op
[2] & 0x0f;
13076 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13077 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13078 op
[0], op
[1], op
[2]);
13079 printf (" sz = 0x%x,", sz
);
13080 printf (" isrc = 0x%x,", isrc
);
13081 printf (" bsrc = 0x%x,", bsrc
);
13082 printf (" rdst = 0x%x\n", rdst
);
13084 SYNTAX("mov%s [%1, %2], %0");
13085 #line 298 "rx-decode.opc"
13086 ID(movbi
); sBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
13094 switch (op
[2] & 0x00)
13097 goto op_semantics_96
;
13103 switch (op
[2] & 0x00)
13106 goto op_semantics_96
;
13112 switch (op
[2] & 0x00)
13115 goto op_semantics_96
;
13121 switch (op
[2] & 0x00)
13124 goto op_semantics_96
;
13130 switch (op
[2] & 0x00)
13133 goto op_semantics_96
;
13139 switch (op
[2] & 0x00)
13142 goto op_semantics_96
;
13148 switch (op
[2] & 0x00)
13151 goto op_semantics_96
;
13157 switch (op
[2] & 0x00)
13160 goto op_semantics_96
;
13166 switch (op
[2] & 0x00)
13169 goto op_semantics_96
;
13175 switch (op
[2] & 0x00)
13178 goto op_semantics_96
;
13184 switch (op
[2] & 0x00)
13187 goto op_semantics_96
;
13193 switch (op
[2] & 0x00)
13196 goto op_semantics_96
;
13202 switch (op
[2] & 0x00)
13205 goto op_semantics_96
;
13211 switch (op
[2] & 0x00)
13214 goto op_semantics_96
;
13220 switch (op
[2] & 0x00)
13223 goto op_semantics_96
;
13229 switch (op
[2] & 0x00)
13232 goto op_semantics_96
;
13238 switch (op
[2] & 0x00)
13241 goto op_semantics_96
;
13247 switch (op
[2] & 0x00)
13250 goto op_semantics_96
;
13256 switch (op
[2] & 0x00)
13259 goto op_semantics_96
;
13265 switch (op
[2] & 0x00)
13268 goto op_semantics_96
;
13274 switch (op
[2] & 0x00)
13277 goto op_semantics_96
;
13283 switch (op
[2] & 0x00)
13286 goto op_semantics_96
;
13292 switch (op
[2] & 0x00)
13295 goto op_semantics_96
;
13301 switch (op
[2] & 0x00)
13304 goto op_semantics_96
;
13310 switch (op
[2] & 0x00)
13313 goto op_semantics_96
;
13319 switch (op
[2] & 0x00)
13322 goto op_semantics_96
;
13328 switch (op
[2] & 0x00)
13331 goto op_semantics_96
;
13337 switch (op
[2] & 0x00)
13340 goto op_semantics_96
;
13346 switch (op
[2] & 0x00)
13349 goto op_semantics_96
;
13355 switch (op
[2] & 0x00)
13358 goto op_semantics_96
;
13364 switch (op
[2] & 0x00)
13367 goto op_semantics_96
;
13373 switch (op
[2] & 0x00)
13376 goto op_semantics_96
;
13382 switch (op
[2] & 0x00)
13385 goto op_semantics_96
;
13391 switch (op
[2] & 0x00)
13394 goto op_semantics_96
;
13400 switch (op
[2] & 0x00)
13403 goto op_semantics_96
;
13409 switch (op
[2] & 0x00)
13412 goto op_semantics_96
;
13418 switch (op
[2] & 0x00)
13421 goto op_semantics_96
;
13427 switch (op
[2] & 0x00)
13430 goto op_semantics_96
;
13436 switch (op
[2] & 0x00)
13439 goto op_semantics_96
;
13445 switch (op
[2] & 0x00)
13448 goto op_semantics_96
;
13454 switch (op
[2] & 0x00)
13457 goto op_semantics_96
;
13463 switch (op
[2] & 0x00)
13466 goto op_semantics_96
;
13472 switch (op
[2] & 0x00)
13475 goto op_semantics_96
;
13481 switch (op
[2] & 0x00)
13484 goto op_semantics_96
;
13490 switch (op
[2] & 0x00)
13493 goto op_semantics_96
;
13499 switch (op
[2] & 0x00)
13502 goto op_semantics_96
;
13508 switch (op
[2] & 0x00)
13511 goto op_semantics_96
;
13517 switch (op
[2] & 0x00)
13522 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13523 #line 304 "rx-decode.opc"
13524 int sz AU
= (op
[1] >> 4) & 0x03;
13525 #line 304 "rx-decode.opc"
13526 int isrc AU
= op
[1] & 0x0f;
13527 #line 304 "rx-decode.opc"
13528 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13529 #line 304 "rx-decode.opc"
13530 int rdst AU
= op
[2] & 0x0f;
13533 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13534 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13535 op
[0], op
[1], op
[2]);
13536 printf (" sz = 0x%x,", sz
);
13537 printf (" isrc = 0x%x,", isrc
);
13538 printf (" bsrc = 0x%x,", bsrc
);
13539 printf (" rdst = 0x%x\n", rdst
);
13541 SYNTAX("movu%s [%1, %2], %0");
13542 #line 304 "rx-decode.opc"
13543 ID(movbi
); uBWL(sz
); DR(rdst
); SRR(isrc
); S2R(bsrc
); F_____
;
13551 switch (op
[2] & 0x00)
13554 goto op_semantics_97
;
13560 switch (op
[2] & 0x00)
13563 goto op_semantics_97
;
13569 switch (op
[2] & 0x00)
13572 goto op_semantics_97
;
13578 switch (op
[2] & 0x00)
13581 goto op_semantics_97
;
13587 switch (op
[2] & 0x00)
13590 goto op_semantics_97
;
13596 switch (op
[2] & 0x00)
13599 goto op_semantics_97
;
13605 switch (op
[2] & 0x00)
13608 goto op_semantics_97
;
13614 switch (op
[2] & 0x00)
13617 goto op_semantics_97
;
13623 switch (op
[2] & 0x00)
13626 goto op_semantics_97
;
13632 switch (op
[2] & 0x00)
13635 goto op_semantics_97
;
13641 switch (op
[2] & 0x00)
13644 goto op_semantics_97
;
13650 switch (op
[2] & 0x00)
13653 goto op_semantics_97
;
13659 switch (op
[2] & 0x00)
13662 goto op_semantics_97
;
13668 switch (op
[2] & 0x00)
13671 goto op_semantics_97
;
13677 switch (op
[2] & 0x00)
13680 goto op_semantics_97
;
13686 switch (op
[2] & 0x00)
13689 goto op_semantics_97
;
13695 switch (op
[2] & 0x00)
13698 goto op_semantics_97
;
13704 switch (op
[2] & 0x00)
13707 goto op_semantics_97
;
13713 switch (op
[2] & 0x00)
13716 goto op_semantics_97
;
13722 switch (op
[2] & 0x00)
13725 goto op_semantics_97
;
13731 switch (op
[2] & 0x00)
13734 goto op_semantics_97
;
13740 switch (op
[2] & 0x00)
13743 goto op_semantics_97
;
13749 switch (op
[2] & 0x00)
13752 goto op_semantics_97
;
13758 switch (op
[2] & 0x00)
13761 goto op_semantics_97
;
13767 switch (op
[2] & 0x00)
13770 goto op_semantics_97
;
13776 switch (op
[2] & 0x00)
13779 goto op_semantics_97
;
13785 switch (op
[2] & 0x00)
13788 goto op_semantics_97
;
13794 switch (op
[2] & 0x00)
13797 goto op_semantics_97
;
13803 switch (op
[2] & 0x00)
13806 goto op_semantics_97
;
13812 switch (op
[2] & 0x00)
13815 goto op_semantics_97
;
13821 switch (op
[2] & 0x00)
13824 goto op_semantics_97
;
13830 switch (op
[2] & 0x00)
13833 goto op_semantics_97
;
13839 switch (op
[2] & 0x00)
13842 goto op_semantics_97
;
13848 switch (op
[2] & 0x00)
13851 goto op_semantics_97
;
13857 switch (op
[2] & 0x00)
13860 goto op_semantics_97
;
13866 switch (op
[2] & 0x00)
13869 goto op_semantics_97
;
13875 switch (op
[2] & 0x00)
13878 goto op_semantics_97
;
13884 switch (op
[2] & 0x00)
13887 goto op_semantics_97
;
13893 switch (op
[2] & 0x00)
13896 goto op_semantics_97
;
13902 switch (op
[2] & 0x00)
13905 goto op_semantics_97
;
13911 switch (op
[2] & 0x00)
13914 goto op_semantics_97
;
13920 switch (op
[2] & 0x00)
13923 goto op_semantics_97
;
13929 switch (op
[2] & 0x00)
13932 goto op_semantics_97
;
13938 switch (op
[2] & 0x00)
13941 goto op_semantics_97
;
13947 switch (op
[2] & 0x00)
13950 goto op_semantics_97
;
13956 switch (op
[2] & 0x00)
13959 goto op_semantics_97
;
13965 switch (op
[2] & 0x00)
13968 goto op_semantics_97
;
13972 default: UNSUPPORTED(); break;
13977 switch (op
[1] & 0xff)
13981 switch (op
[2] & 0x00)
13986 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
13987 #line 508 "rx-decode.opc"
13988 int rdst AU
= op
[1] & 0x0f;
13989 #line 508 "rx-decode.opc"
13990 int srca AU
= (op
[2] >> 4) & 0x0f;
13991 #line 508 "rx-decode.opc"
13992 int srcb AU
= op
[2] & 0x0f;
13995 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13996 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
13997 op
[0], op
[1], op
[2]);
13998 printf (" rdst = 0x%x,", rdst
);
13999 printf (" srca = 0x%x,", srca
);
14000 printf (" srcb = 0x%x\n", srcb
);
14002 SYNTAX("sub %2, %1, %0");
14003 #line 508 "rx-decode.opc"
14004 ID(sub
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
14006 /*----------------------------------------------------------------------*/
14015 switch (op
[2] & 0x00)
14018 goto op_semantics_98
;
14024 switch (op
[2] & 0x00)
14027 goto op_semantics_98
;
14033 switch (op
[2] & 0x00)
14036 goto op_semantics_98
;
14042 switch (op
[2] & 0x00)
14045 goto op_semantics_98
;
14051 switch (op
[2] & 0x00)
14054 goto op_semantics_98
;
14060 switch (op
[2] & 0x00)
14063 goto op_semantics_98
;
14069 switch (op
[2] & 0x00)
14072 goto op_semantics_98
;
14078 switch (op
[2] & 0x00)
14081 goto op_semantics_98
;
14087 switch (op
[2] & 0x00)
14090 goto op_semantics_98
;
14096 switch (op
[2] & 0x00)
14099 goto op_semantics_98
;
14105 switch (op
[2] & 0x00)
14108 goto op_semantics_98
;
14114 switch (op
[2] & 0x00)
14117 goto op_semantics_98
;
14123 switch (op
[2] & 0x00)
14126 goto op_semantics_98
;
14132 switch (op
[2] & 0x00)
14135 goto op_semantics_98
;
14141 switch (op
[2] & 0x00)
14144 goto op_semantics_98
;
14150 switch (op
[2] & 0x00)
14155 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14156 #line 475 "rx-decode.opc"
14157 int rdst AU
= op
[1] & 0x0f;
14158 #line 475 "rx-decode.opc"
14159 int srca AU
= (op
[2] >> 4) & 0x0f;
14160 #line 475 "rx-decode.opc"
14161 int srcb AU
= op
[2] & 0x0f;
14164 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14165 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14166 op
[0], op
[1], op
[2]);
14167 printf (" rdst = 0x%x,", rdst
);
14168 printf (" srca = 0x%x,", srca
);
14169 printf (" srcb = 0x%x\n", srcb
);
14171 SYNTAX("add %2, %1, %0");
14172 #line 475 "rx-decode.opc"
14173 ID(add
); DR(rdst
); SR(srcb
); S2R(srca
); F_OSZC
;
14175 /*----------------------------------------------------------------------*/
14184 switch (op
[2] & 0x00)
14187 goto op_semantics_99
;
14193 switch (op
[2] & 0x00)
14196 goto op_semantics_99
;
14202 switch (op
[2] & 0x00)
14205 goto op_semantics_99
;
14211 switch (op
[2] & 0x00)
14214 goto op_semantics_99
;
14220 switch (op
[2] & 0x00)
14223 goto op_semantics_99
;
14229 switch (op
[2] & 0x00)
14232 goto op_semantics_99
;
14238 switch (op
[2] & 0x00)
14241 goto op_semantics_99
;
14247 switch (op
[2] & 0x00)
14250 goto op_semantics_99
;
14256 switch (op
[2] & 0x00)
14259 goto op_semantics_99
;
14265 switch (op
[2] & 0x00)
14268 goto op_semantics_99
;
14274 switch (op
[2] & 0x00)
14277 goto op_semantics_99
;
14283 switch (op
[2] & 0x00)
14286 goto op_semantics_99
;
14292 switch (op
[2] & 0x00)
14295 goto op_semantics_99
;
14301 switch (op
[2] & 0x00)
14304 goto op_semantics_99
;
14310 switch (op
[2] & 0x00)
14313 goto op_semantics_99
;
14319 switch (op
[2] & 0x00)
14324 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14325 #line 576 "rx-decode.opc"
14326 int rdst AU
= op
[1] & 0x0f;
14327 #line 576 "rx-decode.opc"
14328 int srca AU
= (op
[2] >> 4) & 0x0f;
14329 #line 576 "rx-decode.opc"
14330 int srcb AU
= op
[2] & 0x0f;
14333 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14334 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14335 op
[0], op
[1], op
[2]);
14336 printf (" rdst = 0x%x,", rdst
);
14337 printf (" srca = 0x%x,", srca
);
14338 printf (" srcb = 0x%x\n", srcb
);
14340 SYNTAX("mul %2, %1, %0");
14341 #line 576 "rx-decode.opc"
14342 ID(mul
); DR(rdst
); SR(srcb
); S2R(srca
); F_____
;
14344 /*----------------------------------------------------------------------*/
14353 switch (op
[2] & 0x00)
14356 goto op_semantics_100
;
14362 switch (op
[2] & 0x00)
14365 goto op_semantics_100
;
14371 switch (op
[2] & 0x00)
14374 goto op_semantics_100
;
14380 switch (op
[2] & 0x00)
14383 goto op_semantics_100
;
14389 switch (op
[2] & 0x00)
14392 goto op_semantics_100
;
14398 switch (op
[2] & 0x00)
14401 goto op_semantics_100
;
14407 switch (op
[2] & 0x00)
14410 goto op_semantics_100
;
14416 switch (op
[2] & 0x00)
14419 goto op_semantics_100
;
14425 switch (op
[2] & 0x00)
14428 goto op_semantics_100
;
14434 switch (op
[2] & 0x00)
14437 goto op_semantics_100
;
14443 switch (op
[2] & 0x00)
14446 goto op_semantics_100
;
14452 switch (op
[2] & 0x00)
14455 goto op_semantics_100
;
14461 switch (op
[2] & 0x00)
14464 goto op_semantics_100
;
14470 switch (op
[2] & 0x00)
14473 goto op_semantics_100
;
14479 switch (op
[2] & 0x00)
14482 goto op_semantics_100
;
14488 switch (op
[2] & 0x00)
14493 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14494 #line 385 "rx-decode.opc"
14495 int rdst AU
= op
[1] & 0x0f;
14496 #line 385 "rx-decode.opc"
14497 int srca AU
= (op
[2] >> 4) & 0x0f;
14498 #line 385 "rx-decode.opc"
14499 int srcb AU
= op
[2] & 0x0f;
14502 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14503 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14504 op
[0], op
[1], op
[2]);
14505 printf (" rdst = 0x%x,", rdst
);
14506 printf (" srca = 0x%x,", srca
);
14507 printf (" srcb = 0x%x\n", srcb
);
14509 SYNTAX("and %2, %1, %0");
14510 #line 385 "rx-decode.opc"
14511 ID(and); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
14513 /*----------------------------------------------------------------------*/
14522 switch (op
[2] & 0x00)
14525 goto op_semantics_101
;
14531 switch (op
[2] & 0x00)
14534 goto op_semantics_101
;
14540 switch (op
[2] & 0x00)
14543 goto op_semantics_101
;
14549 switch (op
[2] & 0x00)
14552 goto op_semantics_101
;
14558 switch (op
[2] & 0x00)
14561 goto op_semantics_101
;
14567 switch (op
[2] & 0x00)
14570 goto op_semantics_101
;
14576 switch (op
[2] & 0x00)
14579 goto op_semantics_101
;
14585 switch (op
[2] & 0x00)
14588 goto op_semantics_101
;
14594 switch (op
[2] & 0x00)
14597 goto op_semantics_101
;
14603 switch (op
[2] & 0x00)
14606 goto op_semantics_101
;
14612 switch (op
[2] & 0x00)
14615 goto op_semantics_101
;
14621 switch (op
[2] & 0x00)
14624 goto op_semantics_101
;
14630 switch (op
[2] & 0x00)
14633 goto op_semantics_101
;
14639 switch (op
[2] & 0x00)
14642 goto op_semantics_101
;
14648 switch (op
[2] & 0x00)
14651 goto op_semantics_101
;
14657 switch (op
[2] & 0x00)
14662 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14663 #line 403 "rx-decode.opc"
14664 int rdst AU
= op
[1] & 0x0f;
14665 #line 403 "rx-decode.opc"
14666 int srca AU
= (op
[2] >> 4) & 0x0f;
14667 #line 403 "rx-decode.opc"
14668 int srcb AU
= op
[2] & 0x0f;
14671 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14672 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14673 op
[0], op
[1], op
[2]);
14674 printf (" rdst = 0x%x,", rdst
);
14675 printf (" srca = 0x%x,", srca
);
14676 printf (" srcb = 0x%x\n", srcb
);
14678 SYNTAX("or %2, %1, %0");
14679 #line 403 "rx-decode.opc"
14680 ID(or); DR(rdst
); SR(srcb
); S2R(srca
); F__SZ_
;
14682 /*----------------------------------------------------------------------*/
14691 switch (op
[2] & 0x00)
14694 goto op_semantics_102
;
14700 switch (op
[2] & 0x00)
14703 goto op_semantics_102
;
14709 switch (op
[2] & 0x00)
14712 goto op_semantics_102
;
14718 switch (op
[2] & 0x00)
14721 goto op_semantics_102
;
14727 switch (op
[2] & 0x00)
14730 goto op_semantics_102
;
14736 switch (op
[2] & 0x00)
14739 goto op_semantics_102
;
14745 switch (op
[2] & 0x00)
14748 goto op_semantics_102
;
14754 switch (op
[2] & 0x00)
14757 goto op_semantics_102
;
14763 switch (op
[2] & 0x00)
14766 goto op_semantics_102
;
14772 switch (op
[2] & 0x00)
14775 goto op_semantics_102
;
14781 switch (op
[2] & 0x00)
14784 goto op_semantics_102
;
14790 switch (op
[2] & 0x00)
14793 goto op_semantics_102
;
14799 switch (op
[2] & 0x00)
14802 goto op_semantics_102
;
14808 switch (op
[2] & 0x00)
14811 goto op_semantics_102
;
14817 switch (op
[2] & 0x00)
14820 goto op_semantics_102
;
14824 default: UNSUPPORTED(); break;
14827 default: UNSUPPORTED(); break;
14829 #line 959 "rx-decode.opc"
14831 return rx
->n_bytes
;
This page took 0.354727 seconds and 4 git commands to generate.