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