1 #line 1 "rx-decode.opc"
11 #define RX_OPCODE_BIG_ENDIAN 0
15 RX_Opcode_Decoded
* rx
;
16 int (* getbyte
)(void *);
27 /* These are for when the upper bits are "don't care" or "undefined". */
57 #define ID(x) rx->id = RXO_##x
58 #define OP(n,t,r,a) (rx->op[n].type = t, \
60 rx->op[n].addend = a )
61 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
64 /* This is for the BWL and BW bitfields. */
65 static int SCALE
[] = { 1, 2, 4 };
66 /* This is for the prefix size enum. */
67 static int PSCALE
[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
69 static int flagmap
[] = {0, 1, 2, 3, 0, 0, 0, 0,
70 16, 17, 0, 0, 0, 0, 0, 0 };
72 static int dsp3map
[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
75 *C a constant (immediate) c
77 *I Register indirect, no offset
78 *Is Register indirect, with offset
79 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
80 *P standard displacement: type (r,[r]), reg, assumes UByte
81 *Pm memex displacement: type (r,[r]), reg, memex code
82 *cc condition code. */
84 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
85 #define DR(r) OP (0, RX_Operand_Register, r, 0)
86 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
87 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
88 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
89 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
91 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
92 #define SR(r) OP (1, RX_Operand_Register, r, 0)
93 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
94 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
95 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
96 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
97 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
98 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
100 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
101 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
102 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
103 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
104 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
105 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
106 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
107 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
109 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
110 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
111 #define uBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubwl[sz]
112 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
114 #define F(f) store_flags(rx, f)
116 #define AU ATTRIBUTE_UNUSED
117 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
119 #define SYNTAX(x) rx->syntax = x
121 #define UNSUPPORTED() \
122 rx->syntax = "*unknown*"
124 #define IMM(sf) immediate (sf, 0, ld)
125 #define IMMex(sf) immediate (sf, 1, ld)
128 immediate (int sfield
, int ex
, LocalData
* ld
)
130 unsigned long i
= 0, j
;
134 #define B ((unsigned long) GETBYTE())
136 #if RX_OPCODE_BIG_ENDIAN
138 if (ex
&& (i
& 0x80))
149 if (ex
&& (j
& 0x80))
155 #if RX_OPCODE_BIG_ENDIAN
164 if (ex
&& (i
& 0x800000))
168 #if RX_OPCODE_BIG_ENDIAN
175 if (ex
&& (i
& 0x8000))
180 if (ex
&& (i
& 0x80))
190 rx_disp (int n
, int type
, int reg
, int size
, LocalData
* ld
)
194 ld
->rx
->op
[n
].reg
= reg
;
198 ld
->rx
->op
[n
].type
= RX_Operand_Register
;
201 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
202 ld
->rx
->op
[n
].addend
= 0;
205 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
207 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
210 ld
->rx
->op
[n
].type
= RX_Operand_Indirect
;
212 #if RX_OPCODE_BIG_ENDIAN
213 disp
= disp
* 256 + GETBYTE ();
215 disp
= disp
+ GETBYTE () * 256;
217 ld
->rx
->op
[n
].addend
= disp
* PSCALE
[size
];
224 /* The syntax is "OSZC" where each character is one of the following:
229 x = flag set (any letter will do, use it for hints :). */
232 store_flags (RX_Opcode_Decoded
* rx
, char * str
)
239 for (i
= 0; i
< 4; i
++)
265 rx_decode_opcode (unsigned long pc AU
,
266 RX_Opcode_Decoded
* rx
,
267 int (* getbyte
)(void *),
270 LocalData lds
, * ld
= &lds
;
271 unsigned char op
[20] = {0};
274 lds
.getbyte
= getbyte
;
278 memset (rx
, 0, sizeof (*rx
));
282 /*----------------------------------------------------------------------*/
286 switch (op
[0] & 0xff)
293 printf ("\033[33m%s\033[0m %02x\n",
294 "/** 0000 0000 brk */",
298 #line 951 "rx-decode.opc"
308 printf ("\033[33m%s\033[0m %02x\n",
309 "/** 0000 0001 dbt */",
313 #line 954 "rx-decode.opc"
323 printf ("\033[33m%s\033[0m %02x\n",
324 "/** 0000 0010 rts */",
328 #line 740 "rx-decode.opc"
331 /*----------------------------------------------------------------------*/
341 printf ("\033[33m%s\033[0m %02x\n",
342 "/** 0000 0011 nop */",
346 #line 746 "rx-decode.opc"
349 /*----------------------------------------------------------------------*/
350 /* STRING FUNCTIONS */
356 /** 0000 0100 bra.a %a0 */
359 printf ("\033[33m%s\033[0m %02x\n",
360 "/** 0000 0100 bra.a %a0 */",
364 #line 718 "rx-decode.opc"
365 ID(branch
); Scc(RXC_always
); DC(pc
+ IMMex(3));
371 /** 0000 0101 bsr.a %a0 */
374 printf ("\033[33m%s\033[0m %02x\n",
375 "/** 0000 0101 bsr.a %a0 */",
379 #line 734 "rx-decode.opc"
380 ID(jsr
); DC(pc
+ IMMex(3));
386 switch (op
[1] & 0xff)
390 switch (op
[2] & 0x00)
395 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
396 #line 522 "rx-decode.opc"
397 int mx AU
= (op
[1] >> 6) & 0x03;
398 #line 522 "rx-decode.opc"
399 int ss AU
= op
[1] & 0x03;
400 #line 522 "rx-decode.opc"
401 int rsrc AU
= (op
[2] >> 4) & 0x0f;
402 #line 522 "rx-decode.opc"
403 int rdst AU
= op
[2] & 0x0f;
406 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
407 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
408 op
[0], op
[1], op
[2]);
409 printf (" mx = 0x%x,", mx
);
410 printf (" ss = 0x%x,", ss
);
411 printf (" rsrc = 0x%x,", rsrc
);
412 printf (" rdst = 0x%x\n", rdst
);
414 SYNTAX("sub %2%S2, %1");
415 #line 522 "rx-decode.opc"
416 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); DR(rdst
); F("OSZC");
424 switch (op
[2] & 0x00)
433 switch (op
[2] & 0x00)
442 switch (op
[2] & 0x00)
451 switch (op
[2] & 0x00)
456 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
457 #line 510 "rx-decode.opc"
458 int mx AU
= (op
[1] >> 6) & 0x03;
459 #line 510 "rx-decode.opc"
460 int ss AU
= op
[1] & 0x03;
461 #line 510 "rx-decode.opc"
462 int rsrc AU
= (op
[2] >> 4) & 0x0f;
463 #line 510 "rx-decode.opc"
464 int rdst AU
= op
[2] & 0x0f;
467 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
468 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
469 op
[0], op
[1], op
[2]);
470 printf (" mx = 0x%x,", mx
);
471 printf (" ss = 0x%x,", ss
);
472 printf (" rsrc = 0x%x,", rsrc
);
473 printf (" rdst = 0x%x\n", rdst
);
475 SYNTAX("cmp %2%S2, %1");
476 #line 510 "rx-decode.opc"
477 ID(sub
); S2Pm(ss
, rsrc
, mx
); SR(rdst
); F("OSZC");
479 /*----------------------------------------------------------------------*/
488 switch (op
[2] & 0x00)
497 switch (op
[2] & 0x00)
506 switch (op
[2] & 0x00)
515 switch (op
[2] & 0x00)
520 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
521 #line 486 "rx-decode.opc"
522 int mx AU
= (op
[1] >> 6) & 0x03;
523 #line 486 "rx-decode.opc"
524 int ss AU
= op
[1] & 0x03;
525 #line 486 "rx-decode.opc"
526 int rsrc AU
= (op
[2] >> 4) & 0x0f;
527 #line 486 "rx-decode.opc"
528 int rdst AU
= op
[2] & 0x0f;
531 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
532 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
533 op
[0], op
[1], op
[2]);
534 printf (" mx = 0x%x,", mx
);
535 printf (" ss = 0x%x,", ss
);
536 printf (" rsrc = 0x%x,", rsrc
);
537 printf (" rdst = 0x%x\n", rdst
);
539 SYNTAX("add %1%S1, %0");
540 #line 486 "rx-decode.opc"
541 ID(add
); SPm(ss
, rsrc
, mx
); DR(rdst
); F("OSZC");
549 switch (op
[2] & 0x00)
558 switch (op
[2] & 0x00)
567 switch (op
[2] & 0x00)
576 switch (op
[2] & 0x00)
581 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
582 #line 583 "rx-decode.opc"
583 int mx AU
= (op
[1] >> 6) & 0x03;
584 #line 583 "rx-decode.opc"
585 int ss AU
= op
[1] & 0x03;
586 #line 583 "rx-decode.opc"
587 int rsrc AU
= (op
[2] >> 4) & 0x0f;
588 #line 583 "rx-decode.opc"
589 int rdst AU
= op
[2] & 0x0f;
592 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
593 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
594 op
[0], op
[1], op
[2]);
595 printf (" mx = 0x%x,", mx
);
596 printf (" ss = 0x%x,", ss
);
597 printf (" rsrc = 0x%x,", rsrc
);
598 printf (" rdst = 0x%x\n", rdst
);
600 SYNTAX("mul %1%S1, %0");
601 #line 583 "rx-decode.opc"
602 ID(mul
); SPm(ss
, rsrc
, mx
); DR(rdst
); F("----");
610 switch (op
[2] & 0x00)
619 switch (op
[2] & 0x00)
628 switch (op
[2] & 0x00)
637 switch (op
[2] & 0x00)
642 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
643 #line 399 "rx-decode.opc"
644 int mx AU
= (op
[1] >> 6) & 0x03;
645 #line 399 "rx-decode.opc"
646 int ss AU
= op
[1] & 0x03;
647 #line 399 "rx-decode.opc"
648 int rsrc AU
= (op
[2] >> 4) & 0x0f;
649 #line 399 "rx-decode.opc"
650 int rdst AU
= op
[2] & 0x0f;
653 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
654 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
655 op
[0], op
[1], op
[2]);
656 printf (" mx = 0x%x,", mx
);
657 printf (" ss = 0x%x,", ss
);
658 printf (" rsrc = 0x%x,", rsrc
);
659 printf (" rdst = 0x%x\n", rdst
);
661 SYNTAX("and %1%S1, %0");
662 #line 399 "rx-decode.opc"
663 ID(and); SPm(ss
, rsrc
, mx
); DR(rdst
); F("-SZ-");
671 switch (op
[2] & 0x00)
680 switch (op
[2] & 0x00)
689 switch (op
[2] & 0x00)
698 switch (op
[2] & 0x00)
703 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
704 #line 417 "rx-decode.opc"
705 int mx AU
= (op
[1] >> 6) & 0x03;
706 #line 417 "rx-decode.opc"
707 int ss AU
= op
[1] & 0x03;
708 #line 417 "rx-decode.opc"
709 int rsrc AU
= (op
[2] >> 4) & 0x0f;
710 #line 417 "rx-decode.opc"
711 int rdst AU
= op
[2] & 0x0f;
714 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
715 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
716 op
[0], op
[1], op
[2]);
717 printf (" mx = 0x%x,", mx
);
718 printf (" ss = 0x%x,", ss
);
719 printf (" rsrc = 0x%x,", rsrc
);
720 printf (" rdst = 0x%x\n", rdst
);
722 SYNTAX("or %1%S1, %0");
723 #line 417 "rx-decode.opc"
724 ID(or); SPm(ss
, rsrc
, mx
); DR(rdst
); F("-SZ-");
732 switch (op
[2] & 0x00)
741 switch (op
[2] & 0x00)
750 switch (op
[2] & 0x00)
759 switch (op
[2] & 0xff)
763 switch (op
[3] & 0x00)
768 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
769 #line 535 "rx-decode.opc"
770 int mx AU
= (op
[1] >> 6) & 0x03;
771 #line 535 "rx-decode.opc"
772 int sp AU
= op
[1] & 0x03;
773 #line 535 "rx-decode.opc"
774 int rsrc AU
= (op
[3] >> 4) & 0x0f;
775 #line 535 "rx-decode.opc"
776 int rdst AU
= op
[3] & 0x0f;
779 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
780 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
781 op
[0], op
[1], op
[2], op
[3]);
782 printf (" mx = 0x%x,", mx
);
783 printf (" sp = 0x%x,", sp
);
784 printf (" rsrc = 0x%x,", rsrc
);
785 printf (" rdst = 0x%x\n", rdst
);
787 SYNTAX("sbb %1%S1, %0");
788 #line 535 "rx-decode.opc"
789 ID(sbb
); SPm(sp
, rsrc
, mx
); DR(rdst
); F("OSZC");
791 /*----------------------------------------------------------------------*/
800 switch (op
[3] & 0x00)
805 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
806 #line 556 "rx-decode.opc"
807 int mx AU
= (op
[1] >> 6) & 0x03;
808 #line 556 "rx-decode.opc"
809 int ss AU
= op
[1] & 0x03;
810 #line 556 "rx-decode.opc"
811 int rsrc AU
= (op
[3] >> 4) & 0x0f;
812 #line 556 "rx-decode.opc"
813 int rdst AU
= op
[3] & 0x0f;
816 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
817 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
818 op
[0], op
[1], op
[2], op
[3]);
819 printf (" mx = 0x%x,", mx
);
820 printf (" ss = 0x%x,", ss
);
821 printf (" rsrc = 0x%x,", rsrc
);
822 printf (" rdst = 0x%x\n", rdst
);
824 SYNTAX("max %1%S1, %0");
825 #line 556 "rx-decode.opc"
826 ID(max
); SPm(ss
, rsrc
, mx
); DR(rdst
);
828 /*----------------------------------------------------------------------*/
837 switch (op
[3] & 0x00)
842 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
843 #line 568 "rx-decode.opc"
844 int mx AU
= (op
[1] >> 6) & 0x03;
845 #line 568 "rx-decode.opc"
846 int ss AU
= op
[1] & 0x03;
847 #line 568 "rx-decode.opc"
848 int rsrc AU
= (op
[3] >> 4) & 0x0f;
849 #line 568 "rx-decode.opc"
850 int rdst AU
= op
[3] & 0x0f;
853 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
854 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
855 op
[0], op
[1], op
[2], op
[3]);
856 printf (" mx = 0x%x,", mx
);
857 printf (" ss = 0x%x,", ss
);
858 printf (" rsrc = 0x%x,", rsrc
);
859 printf (" rdst = 0x%x\n", rdst
);
861 SYNTAX("min %1%S1, %0");
862 #line 568 "rx-decode.opc"
863 ID(min
); SPm(ss
, rsrc
, mx
); DR(rdst
);
865 /*----------------------------------------------------------------------*/
874 switch (op
[3] & 0x00)
879 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
880 #line 598 "rx-decode.opc"
881 int mx AU
= (op
[1] >> 6) & 0x03;
882 #line 598 "rx-decode.opc"
883 int ss AU
= op
[1] & 0x03;
884 #line 598 "rx-decode.opc"
885 int rsrc AU
= (op
[3] >> 4) & 0x0f;
886 #line 598 "rx-decode.opc"
887 int rdst AU
= op
[3] & 0x0f;
890 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
891 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
892 op
[0], op
[1], op
[2], op
[3]);
893 printf (" mx = 0x%x,", mx
);
894 printf (" ss = 0x%x,", ss
);
895 printf (" rsrc = 0x%x,", rsrc
);
896 printf (" rdst = 0x%x\n", rdst
);
898 SYNTAX("emul %1%S1, %0");
899 #line 598 "rx-decode.opc"
900 ID(emul
); SPm(ss
, rsrc
, mx
); DR(rdst
);
902 /*----------------------------------------------------------------------*/
911 switch (op
[3] & 0x00)
916 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
917 #line 610 "rx-decode.opc"
918 int mx AU
= (op
[1] >> 6) & 0x03;
919 #line 610 "rx-decode.opc"
920 int ss AU
= op
[1] & 0x03;
921 #line 610 "rx-decode.opc"
922 int rsrc AU
= (op
[3] >> 4) & 0x0f;
923 #line 610 "rx-decode.opc"
924 int rdst AU
= op
[3] & 0x0f;
927 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
928 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
929 op
[0], op
[1], op
[2], op
[3]);
930 printf (" mx = 0x%x,", mx
);
931 printf (" ss = 0x%x,", ss
);
932 printf (" rsrc = 0x%x,", rsrc
);
933 printf (" rdst = 0x%x\n", rdst
);
935 SYNTAX("emulu %1%S1, %0");
936 #line 610 "rx-decode.opc"
937 ID(emulu
); SPm(ss
, rsrc
, mx
); DR(rdst
);
939 /*----------------------------------------------------------------------*/
948 switch (op
[3] & 0x00)
953 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
954 #line 622 "rx-decode.opc"
955 int mx AU
= (op
[1] >> 6) & 0x03;
956 #line 622 "rx-decode.opc"
957 int ss AU
= op
[1] & 0x03;
958 #line 622 "rx-decode.opc"
959 int rsrc AU
= (op
[3] >> 4) & 0x0f;
960 #line 622 "rx-decode.opc"
961 int rdst AU
= op
[3] & 0x0f;
964 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
965 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
966 op
[0], op
[1], op
[2], op
[3]);
967 printf (" mx = 0x%x,", mx
);
968 printf (" ss = 0x%x,", ss
);
969 printf (" rsrc = 0x%x,", rsrc
);
970 printf (" rdst = 0x%x\n", rdst
);
972 SYNTAX("div %1%S1, %0");
973 #line 622 "rx-decode.opc"
974 ID(div
); SPm(ss
, rsrc
, mx
); DR(rdst
); F("O---");
976 /*----------------------------------------------------------------------*/
985 switch (op
[3] & 0x00)
990 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
991 #line 634 "rx-decode.opc"
992 int mx AU
= (op
[1] >> 6) & 0x03;
993 #line 634 "rx-decode.opc"
994 int ss AU
= op
[1] & 0x03;
995 #line 634 "rx-decode.opc"
996 int rsrc AU
= (op
[3] >> 4) & 0x0f;
997 #line 634 "rx-decode.opc"
998 int rdst AU
= op
[3] & 0x0f;
1001 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1002 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1003 op
[0], op
[1], op
[2], op
[3]);
1004 printf (" mx = 0x%x,", mx
);
1005 printf (" ss = 0x%x,", ss
);
1006 printf (" rsrc = 0x%x,", rsrc
);
1007 printf (" rdst = 0x%x\n", rdst
);
1009 SYNTAX("divu %1%S1, %0");
1010 #line 634 "rx-decode.opc"
1011 ID(divu
); SPm(ss
, rsrc
, mx
); DR(rdst
); F("O---");
1013 /*----------------------------------------------------------------------*/
1022 switch (op
[3] & 0x00)
1027 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1028 #line 453 "rx-decode.opc"
1029 int mx AU
= (op
[1] >> 6) & 0x03;
1030 #line 453 "rx-decode.opc"
1031 int ss AU
= op
[1] & 0x03;
1032 #line 453 "rx-decode.opc"
1033 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1034 #line 453 "rx-decode.opc"
1035 int rdst AU
= op
[3] & 0x0f;
1038 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1039 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1040 op
[0], op
[1], op
[2], op
[3]);
1041 printf (" mx = 0x%x,", mx
);
1042 printf (" ss = 0x%x,", ss
);
1043 printf (" rsrc = 0x%x,", rsrc
);
1044 printf (" rdst = 0x%x\n", rdst
);
1046 SYNTAX("tst %1%S1, %2");
1047 #line 453 "rx-decode.opc"
1048 ID(and); SPm(ss
, rsrc
, mx
); S2R(rdst
); F("-SZ-");
1050 /*----------------------------------------------------------------------*/
1059 switch (op
[3] & 0x00)
1064 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1065 #line 432 "rx-decode.opc"
1066 int mx AU
= (op
[1] >> 6) & 0x03;
1067 #line 432 "rx-decode.opc"
1068 int ss AU
= op
[1] & 0x03;
1069 #line 432 "rx-decode.opc"
1070 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1071 #line 432 "rx-decode.opc"
1072 int rdst AU
= op
[3] & 0x0f;
1075 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1076 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1077 op
[0], op
[1], op
[2], op
[3]);
1078 printf (" mx = 0x%x,", mx
);
1079 printf (" ss = 0x%x,", ss
);
1080 printf (" rsrc = 0x%x,", rsrc
);
1081 printf (" rdst = 0x%x\n", rdst
);
1083 SYNTAX("xor %1%S1, %0");
1084 #line 432 "rx-decode.opc"
1085 ID(xor); SPm(ss
, rsrc
, mx
); DR(rdst
); F("-SZ-");
1087 /*----------------------------------------------------------------------*/
1096 switch (op
[3] & 0x00)
1101 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1102 #line 366 "rx-decode.opc"
1103 int mx AU
= (op
[1] >> 6) & 0x03;
1104 #line 366 "rx-decode.opc"
1105 int ss AU
= op
[1] & 0x03;
1106 #line 366 "rx-decode.opc"
1107 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1108 #line 366 "rx-decode.opc"
1109 int rdst AU
= op
[3] & 0x0f;
1112 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1113 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1114 op
[0], op
[1], op
[2], op
[3]);
1115 printf (" mx = 0x%x,", mx
);
1116 printf (" ss = 0x%x,", ss
);
1117 printf (" rsrc = 0x%x,", rsrc
);
1118 printf (" rdst = 0x%x\n", rdst
);
1120 SYNTAX("xchg %1%S1, %0");
1121 #line 366 "rx-decode.opc"
1122 ID(xchg
); DR(rdst
); SPm(ss
, rsrc
, mx
);
1124 /*----------------------------------------------------------------------*/
1133 switch (op
[3] & 0x00)
1138 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1139 #line 863 "rx-decode.opc"
1140 int mx AU
= (op
[1] >> 6) & 0x03;
1141 #line 863 "rx-decode.opc"
1142 int sd AU
= op
[1] & 0x03;
1143 #line 863 "rx-decode.opc"
1144 int rsrc AU
= (op
[3] >> 4) & 0x0f;
1145 #line 863 "rx-decode.opc"
1146 int rdst AU
= op
[3] & 0x0f;
1149 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1150 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1151 op
[0], op
[1], op
[2], op
[3]);
1152 printf (" mx = 0x%x,", mx
);
1153 printf (" sd = 0x%x,", sd
);
1154 printf (" rsrc = 0x%x,", rsrc
);
1155 printf (" rdst = 0x%x\n", rdst
);
1157 SYNTAX("itof %1%S1, %0");
1158 #line 863 "rx-decode.opc"
1159 ID(itof
); DR (rdst
); SPm(sd
, rsrc
, mx
); F("-SZ-");
1161 /*----------------------------------------------------------------------*/
1168 default: UNSUPPORTED(); break;
1173 switch (op
[2] & 0xff)
1177 switch (op
[3] & 0x00)
1180 goto op_semantics_7
;
1186 switch (op
[3] & 0x00)
1189 goto op_semantics_8
;
1195 switch (op
[3] & 0x00)
1198 goto op_semantics_9
;
1204 switch (op
[3] & 0x00)
1207 goto op_semantics_10
;
1213 switch (op
[3] & 0x00)
1216 goto op_semantics_11
;
1222 switch (op
[3] & 0x00)
1225 goto op_semantics_12
;
1231 switch (op
[3] & 0x00)
1234 goto op_semantics_13
;
1240 switch (op
[3] & 0x00)
1243 goto op_semantics_14
;
1249 switch (op
[3] & 0x00)
1252 goto op_semantics_15
;
1258 switch (op
[3] & 0x00)
1261 goto op_semantics_16
;
1267 switch (op
[3] & 0x00)
1270 goto op_semantics_17
;
1274 default: UNSUPPORTED(); break;
1279 switch (op
[2] & 0xff)
1283 switch (op
[3] & 0x00)
1286 goto op_semantics_7
;
1292 switch (op
[3] & 0x00)
1295 goto op_semantics_8
;
1301 switch (op
[3] & 0x00)
1304 goto op_semantics_9
;
1310 switch (op
[3] & 0x00)
1313 goto op_semantics_10
;
1319 switch (op
[3] & 0x00)
1322 goto op_semantics_11
;
1328 switch (op
[3] & 0x00)
1331 goto op_semantics_12
;
1337 switch (op
[3] & 0x00)
1340 goto op_semantics_13
;
1346 switch (op
[3] & 0x00)
1349 goto op_semantics_14
;
1355 switch (op
[3] & 0x00)
1358 goto op_semantics_15
;
1364 switch (op
[3] & 0x00)
1367 goto op_semantics_16
;
1373 switch (op
[3] & 0x00)
1376 goto op_semantics_17
;
1380 default: UNSUPPORTED(); break;
1385 switch (op
[2] & 0xff)
1389 switch (op
[3] & 0x00)
1392 goto op_semantics_7
;
1398 switch (op
[3] & 0x00)
1401 goto op_semantics_8
;
1407 switch (op
[3] & 0x00)
1410 goto op_semantics_9
;
1416 switch (op
[3] & 0x00)
1419 goto op_semantics_10
;
1425 switch (op
[3] & 0x00)
1428 goto op_semantics_11
;
1434 switch (op
[3] & 0x00)
1437 goto op_semantics_12
;
1443 switch (op
[3] & 0x00)
1446 goto op_semantics_13
;
1452 switch (op
[3] & 0x00)
1455 goto op_semantics_14
;
1461 switch (op
[3] & 0x00)
1464 goto op_semantics_15
;
1470 switch (op
[3] & 0x00)
1473 goto op_semantics_16
;
1479 switch (op
[3] & 0x00)
1482 goto op_semantics_17
;
1486 default: UNSUPPORTED(); break;
1491 switch (op
[2] & 0x00)
1494 goto op_semantics_1
;
1500 switch (op
[2] & 0x00)
1503 goto op_semantics_1
;
1509 switch (op
[2] & 0x00)
1512 goto op_semantics_1
;
1518 switch (op
[2] & 0x00)
1521 goto op_semantics_1
;
1527 switch (op
[2] & 0x00)
1530 goto op_semantics_2
;
1536 switch (op
[2] & 0x00)
1539 goto op_semantics_2
;
1545 switch (op
[2] & 0x00)
1548 goto op_semantics_2
;
1554 switch (op
[2] & 0x00)
1557 goto op_semantics_2
;
1563 switch (op
[2] & 0x00)
1566 goto op_semantics_3
;
1572 switch (op
[2] & 0x00)
1575 goto op_semantics_3
;
1581 switch (op
[2] & 0x00)
1584 goto op_semantics_3
;
1590 switch (op
[2] & 0x00)
1593 goto op_semantics_3
;
1599 switch (op
[2] & 0x00)
1602 goto op_semantics_4
;
1608 switch (op
[2] & 0x00)
1611 goto op_semantics_4
;
1617 switch (op
[2] & 0x00)
1620 goto op_semantics_4
;
1626 switch (op
[2] & 0x00)
1629 goto op_semantics_4
;
1635 switch (op
[2] & 0x00)
1638 goto op_semantics_5
;
1644 switch (op
[2] & 0x00)
1647 goto op_semantics_5
;
1653 switch (op
[2] & 0x00)
1656 goto op_semantics_5
;
1662 switch (op
[2] & 0x00)
1665 goto op_semantics_5
;
1671 switch (op
[2] & 0x00)
1674 goto op_semantics_6
;
1680 switch (op
[2] & 0x00)
1683 goto op_semantics_6
;
1689 switch (op
[2] & 0x00)
1692 goto op_semantics_6
;
1698 switch (op
[2] & 0x00)
1701 goto op_semantics_6
;
1707 switch (op
[2] & 0xff)
1711 switch (op
[3] & 0x00)
1714 goto op_semantics_7
;
1720 switch (op
[3] & 0x00)
1723 goto op_semantics_8
;
1729 switch (op
[3] & 0x00)
1732 goto op_semantics_9
;
1738 switch (op
[3] & 0x00)
1741 goto op_semantics_10
;
1747 switch (op
[3] & 0x00)
1750 goto op_semantics_11
;
1756 switch (op
[3] & 0x00)
1759 goto op_semantics_12
;
1765 switch (op
[3] & 0x00)
1768 goto op_semantics_13
;
1774 switch (op
[3] & 0x00)
1777 goto op_semantics_14
;
1783 switch (op
[3] & 0x00)
1786 goto op_semantics_15
;
1792 switch (op
[3] & 0x00)
1795 goto op_semantics_16
;
1801 switch (op
[3] & 0x00)
1804 goto op_semantics_17
;
1808 default: UNSUPPORTED(); break;
1813 switch (op
[2] & 0xff)
1817 switch (op
[3] & 0x00)
1820 goto op_semantics_7
;
1826 switch (op
[3] & 0x00)
1829 goto op_semantics_8
;
1835 switch (op
[3] & 0x00)
1838 goto op_semantics_9
;
1844 switch (op
[3] & 0x00)
1847 goto op_semantics_10
;
1853 switch (op
[3] & 0x00)
1856 goto op_semantics_11
;
1862 switch (op
[3] & 0x00)
1865 goto op_semantics_12
;
1871 switch (op
[3] & 0x00)
1874 goto op_semantics_13
;
1880 switch (op
[3] & 0x00)
1883 goto op_semantics_14
;
1889 switch (op
[3] & 0x00)
1892 goto op_semantics_15
;
1898 switch (op
[3] & 0x00)
1901 goto op_semantics_16
;
1907 switch (op
[3] & 0x00)
1910 goto op_semantics_17
;
1914 default: UNSUPPORTED(); break;
1919 switch (op
[2] & 0xff)
1923 switch (op
[3] & 0x00)
1926 goto op_semantics_7
;
1932 switch (op
[3] & 0x00)
1935 goto op_semantics_8
;
1941 switch (op
[3] & 0x00)
1944 goto op_semantics_9
;
1950 switch (op
[3] & 0x00)
1953 goto op_semantics_10
;
1959 switch (op
[3] & 0x00)
1962 goto op_semantics_11
;
1968 switch (op
[3] & 0x00)
1971 goto op_semantics_12
;
1977 switch (op
[3] & 0x00)
1980 goto op_semantics_13
;
1986 switch (op
[3] & 0x00)
1989 goto op_semantics_14
;
1995 switch (op
[3] & 0x00)
1998 goto op_semantics_15
;
2004 switch (op
[3] & 0x00)
2007 goto op_semantics_16
;
2013 switch (op
[3] & 0x00)
2016 goto op_semantics_17
;
2020 default: UNSUPPORTED(); break;
2025 switch (op
[2] & 0xff)
2029 switch (op
[3] & 0x00)
2032 goto op_semantics_7
;
2038 switch (op
[3] & 0x00)
2041 goto op_semantics_8
;
2047 switch (op
[3] & 0x00)
2050 goto op_semantics_9
;
2056 switch (op
[3] & 0x00)
2059 goto op_semantics_10
;
2065 switch (op
[3] & 0x00)
2068 goto op_semantics_11
;
2074 switch (op
[3] & 0x00)
2077 goto op_semantics_12
;
2083 switch (op
[3] & 0x00)
2086 goto op_semantics_13
;
2092 switch (op
[3] & 0x00)
2095 goto op_semantics_14
;
2101 switch (op
[3] & 0x00)
2104 goto op_semantics_15
;
2110 switch (op
[3] & 0x00)
2113 goto op_semantics_16
;
2119 switch (op
[3] & 0x00)
2122 goto op_semantics_17
;
2126 default: UNSUPPORTED(); break;
2131 switch (op
[2] & 0x00)
2134 goto op_semantics_1
;
2140 switch (op
[2] & 0x00)
2143 goto op_semantics_1
;
2149 switch (op
[2] & 0x00)
2152 goto op_semantics_1
;
2158 switch (op
[2] & 0x00)
2161 goto op_semantics_1
;
2167 switch (op
[2] & 0x00)
2170 goto op_semantics_2
;
2176 switch (op
[2] & 0x00)
2179 goto op_semantics_2
;
2185 switch (op
[2] & 0x00)
2188 goto op_semantics_2
;
2194 switch (op
[2] & 0x00)
2197 goto op_semantics_2
;
2203 switch (op
[2] & 0x00)
2206 goto op_semantics_3
;
2212 switch (op
[2] & 0x00)
2215 goto op_semantics_3
;
2221 switch (op
[2] & 0x00)
2224 goto op_semantics_3
;
2230 switch (op
[2] & 0x00)
2233 goto op_semantics_3
;
2239 switch (op
[2] & 0x00)
2242 goto op_semantics_4
;
2248 switch (op
[2] & 0x00)
2251 goto op_semantics_4
;
2257 switch (op
[2] & 0x00)
2260 goto op_semantics_4
;
2266 switch (op
[2] & 0x00)
2269 goto op_semantics_4
;
2275 switch (op
[2] & 0x00)
2278 goto op_semantics_5
;
2284 switch (op
[2] & 0x00)
2287 goto op_semantics_5
;
2293 switch (op
[2] & 0x00)
2296 goto op_semantics_5
;
2302 switch (op
[2] & 0x00)
2305 goto op_semantics_5
;
2311 switch (op
[2] & 0x00)
2314 goto op_semantics_6
;
2320 switch (op
[2] & 0x00)
2323 goto op_semantics_6
;
2329 switch (op
[2] & 0x00)
2332 goto op_semantics_6
;
2338 switch (op
[2] & 0x00)
2341 goto op_semantics_6
;
2347 switch (op
[2] & 0xff)
2351 switch (op
[3] & 0x00)
2354 goto op_semantics_7
;
2360 switch (op
[3] & 0x00)
2365 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2366 #line 474 "rx-decode.opc"
2367 int ss AU
= op
[1] & 0x03;
2368 #line 474 "rx-decode.opc"
2369 int rsrc AU
= (op
[3] >> 4) & 0x0f;
2370 #line 474 "rx-decode.opc"
2371 int rdst AU
= op
[3] & 0x0f;
2374 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2375 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2376 op
[0], op
[1], op
[2], op
[3]);
2377 printf (" ss = 0x%x,", ss
);
2378 printf (" rsrc = 0x%x,", rsrc
);
2379 printf (" rdst = 0x%x\n", rdst
);
2381 SYNTAX("adc %1%S1, %0");
2382 #line 474 "rx-decode.opc"
2383 ID(adc
); SPm(ss
, rsrc
, 2); DR(rdst
); F("OSZC");
2385 /*----------------------------------------------------------------------*/
2394 switch (op
[3] & 0x00)
2397 goto op_semantics_8
;
2403 switch (op
[3] & 0x00)
2406 goto op_semantics_9
;
2412 switch (op
[3] & 0x00)
2415 goto op_semantics_10
;
2421 switch (op
[3] & 0x00)
2424 goto op_semantics_11
;
2430 switch (op
[3] & 0x00)
2433 goto op_semantics_12
;
2439 switch (op
[3] & 0x00)
2442 goto op_semantics_13
;
2448 switch (op
[3] & 0x00)
2451 goto op_semantics_14
;
2457 switch (op
[3] & 0x00)
2460 goto op_semantics_15
;
2466 switch (op
[3] & 0x00)
2469 goto op_semantics_16
;
2475 switch (op
[3] & 0x00)
2478 goto op_semantics_17
;
2482 default: UNSUPPORTED(); break;
2487 switch (op
[2] & 0xff)
2491 switch (op
[3] & 0x00)
2494 goto op_semantics_7
;
2500 switch (op
[3] & 0x00)
2503 goto op_semantics_18
;
2509 switch (op
[3] & 0x00)
2512 goto op_semantics_8
;
2518 switch (op
[3] & 0x00)
2521 goto op_semantics_9
;
2527 switch (op
[3] & 0x00)
2530 goto op_semantics_10
;
2536 switch (op
[3] & 0x00)
2539 goto op_semantics_11
;
2545 switch (op
[3] & 0x00)
2548 goto op_semantics_12
;
2554 switch (op
[3] & 0x00)
2557 goto op_semantics_13
;
2563 switch (op
[3] & 0x00)
2566 goto op_semantics_14
;
2572 switch (op
[3] & 0x00)
2575 goto op_semantics_15
;
2581 switch (op
[3] & 0x00)
2584 goto op_semantics_16
;
2590 switch (op
[3] & 0x00)
2593 goto op_semantics_17
;
2597 default: UNSUPPORTED(); break;
2602 switch (op
[2] & 0xff)
2606 switch (op
[3] & 0x00)
2609 goto op_semantics_7
;
2615 switch (op
[3] & 0x00)
2618 goto op_semantics_18
;
2624 switch (op
[3] & 0x00)
2627 goto op_semantics_8
;
2633 switch (op
[3] & 0x00)
2636 goto op_semantics_9
;
2642 switch (op
[3] & 0x00)
2645 goto op_semantics_10
;
2651 switch (op
[3] & 0x00)
2654 goto op_semantics_11
;
2660 switch (op
[3] & 0x00)
2663 goto op_semantics_12
;
2669 switch (op
[3] & 0x00)
2672 goto op_semantics_13
;
2678 switch (op
[3] & 0x00)
2681 goto op_semantics_14
;
2687 switch (op
[3] & 0x00)
2690 goto op_semantics_15
;
2696 switch (op
[3] & 0x00)
2699 goto op_semantics_16
;
2705 switch (op
[3] & 0x00)
2708 goto op_semantics_17
;
2712 default: UNSUPPORTED(); break;
2717 switch (op
[2] & 0xff)
2721 switch (op
[3] & 0x00)
2724 goto op_semantics_7
;
2730 switch (op
[3] & 0x00)
2733 goto op_semantics_18
;
2739 switch (op
[3] & 0x00)
2742 goto op_semantics_8
;
2748 switch (op
[3] & 0x00)
2751 goto op_semantics_9
;
2757 switch (op
[3] & 0x00)
2760 goto op_semantics_10
;
2766 switch (op
[3] & 0x00)
2769 goto op_semantics_11
;
2775 switch (op
[3] & 0x00)
2778 goto op_semantics_12
;
2784 switch (op
[3] & 0x00)
2787 goto op_semantics_13
;
2793 switch (op
[3] & 0x00)
2796 goto op_semantics_14
;
2802 switch (op
[3] & 0x00)
2805 goto op_semantics_15
;
2811 switch (op
[3] & 0x00)
2814 goto op_semantics_16
;
2820 switch (op
[3] & 0x00)
2823 goto op_semantics_17
;
2827 default: UNSUPPORTED(); break;
2832 switch (op
[2] & 0x00)
2835 goto op_semantics_1
;
2841 switch (op
[2] & 0x00)
2844 goto op_semantics_1
;
2850 switch (op
[2] & 0x00)
2853 goto op_semantics_1
;
2859 switch (op
[2] & 0x00)
2862 goto op_semantics_1
;
2868 switch (op
[2] & 0x00)
2871 goto op_semantics_2
;
2877 switch (op
[2] & 0x00)
2880 goto op_semantics_2
;
2886 switch (op
[2] & 0x00)
2889 goto op_semantics_2
;
2895 switch (op
[2] & 0x00)
2898 goto op_semantics_2
;
2904 switch (op
[2] & 0x00)
2907 goto op_semantics_3
;
2913 switch (op
[2] & 0x00)
2916 goto op_semantics_3
;
2922 switch (op
[2] & 0x00)
2925 goto op_semantics_3
;
2931 switch (op
[2] & 0x00)
2934 goto op_semantics_3
;
2940 switch (op
[2] & 0x00)
2943 goto op_semantics_4
;
2949 switch (op
[2] & 0x00)
2952 goto op_semantics_4
;
2958 switch (op
[2] & 0x00)
2961 goto op_semantics_4
;
2967 switch (op
[2] & 0x00)
2970 goto op_semantics_4
;
2976 switch (op
[2] & 0x00)
2979 goto op_semantics_5
;
2985 switch (op
[2] & 0x00)
2988 goto op_semantics_5
;
2994 switch (op
[2] & 0x00)
2997 goto op_semantics_5
;
3003 switch (op
[2] & 0x00)
3006 goto op_semantics_5
;
3012 switch (op
[2] & 0x00)
3015 goto op_semantics_6
;
3021 switch (op
[2] & 0x00)
3024 goto op_semantics_6
;
3030 switch (op
[2] & 0x00)
3033 goto op_semantics_6
;
3039 switch (op
[2] & 0x00)
3042 goto op_semantics_6
;
3048 switch (op
[2] & 0xff)
3052 switch (op
[3] & 0x00)
3055 goto op_semantics_7
;
3061 switch (op
[3] & 0x00)
3064 goto op_semantics_8
;
3070 switch (op
[3] & 0x00)
3073 goto op_semantics_9
;
3079 switch (op
[3] & 0x00)
3082 goto op_semantics_10
;
3088 switch (op
[3] & 0x00)
3091 goto op_semantics_11
;
3097 switch (op
[3] & 0x00)
3100 goto op_semantics_12
;
3106 switch (op
[3] & 0x00)
3109 goto op_semantics_13
;
3115 switch (op
[3] & 0x00)
3118 goto op_semantics_14
;
3124 switch (op
[3] & 0x00)
3127 goto op_semantics_15
;
3133 switch (op
[3] & 0x00)
3136 goto op_semantics_16
;
3142 switch (op
[3] & 0x00)
3145 goto op_semantics_17
;
3149 default: UNSUPPORTED(); break;
3154 switch (op
[2] & 0xff)
3158 switch (op
[3] & 0x00)
3161 goto op_semantics_7
;
3167 switch (op
[3] & 0x00)
3170 goto op_semantics_8
;
3176 switch (op
[3] & 0x00)
3179 goto op_semantics_9
;
3185 switch (op
[3] & 0x00)
3188 goto op_semantics_10
;
3194 switch (op
[3] & 0x00)
3197 goto op_semantics_11
;
3203 switch (op
[3] & 0x00)
3206 goto op_semantics_12
;
3212 switch (op
[3] & 0x00)
3215 goto op_semantics_13
;
3221 switch (op
[3] & 0x00)
3224 goto op_semantics_14
;
3230 switch (op
[3] & 0x00)
3233 goto op_semantics_15
;
3239 switch (op
[3] & 0x00)
3242 goto op_semantics_16
;
3248 switch (op
[3] & 0x00)
3251 goto op_semantics_17
;
3255 default: UNSUPPORTED(); break;
3260 switch (op
[2] & 0xff)
3264 switch (op
[3] & 0x00)
3267 goto op_semantics_7
;
3273 switch (op
[3] & 0x00)
3276 goto op_semantics_8
;
3282 switch (op
[3] & 0x00)
3285 goto op_semantics_9
;
3291 switch (op
[3] & 0x00)
3294 goto op_semantics_10
;
3300 switch (op
[3] & 0x00)
3303 goto op_semantics_11
;
3309 switch (op
[3] & 0x00)
3312 goto op_semantics_12
;
3318 switch (op
[3] & 0x00)
3321 goto op_semantics_13
;
3327 switch (op
[3] & 0x00)
3330 goto op_semantics_14
;
3336 switch (op
[3] & 0x00)
3339 goto op_semantics_15
;
3345 switch (op
[3] & 0x00)
3348 goto op_semantics_16
;
3354 switch (op
[3] & 0x00)
3357 goto op_semantics_17
;
3361 default: UNSUPPORTED(); break;
3366 switch (op
[2] & 0xff)
3370 switch (op
[3] & 0x00)
3373 goto op_semantics_7
;
3379 switch (op
[3] & 0x00)
3382 goto op_semantics_8
;
3388 switch (op
[3] & 0x00)
3391 goto op_semantics_9
;
3397 switch (op
[3] & 0x00)
3400 goto op_semantics_10
;
3406 switch (op
[3] & 0x00)
3409 goto op_semantics_11
;
3415 switch (op
[3] & 0x00)
3418 goto op_semantics_12
;
3424 switch (op
[3] & 0x00)
3427 goto op_semantics_13
;
3433 switch (op
[3] & 0x00)
3436 goto op_semantics_14
;
3442 switch (op
[3] & 0x00)
3445 goto op_semantics_15
;
3451 switch (op
[3] & 0x00)
3454 goto op_semantics_16
;
3460 switch (op
[3] & 0x00)
3463 goto op_semantics_17
;
3467 default: UNSUPPORTED(); break;
3470 default: UNSUPPORTED(); break;
3482 /** 0000 1dsp bra.s %a0 */
3483 #line 709 "rx-decode.opc"
3484 int dsp AU
= op
[0] & 0x07;
3487 printf ("\033[33m%s\033[0m %02x\n",
3488 "/** 0000 1dsp bra.s %a0 */",
3490 printf (" dsp = 0x%x\n", dsp
);
3492 SYNTAX("bra.s %a0");
3493 #line 709 "rx-decode.opc"
3494 ID(branch
); Scc(RXC_always
); DC(pc
+ dsp3map
[dsp
]);
3515 /** 0001 n dsp b%1.s %a0 */
3516 #line 699 "rx-decode.opc"
3517 int n AU
= (op
[0] >> 3) & 0x01;
3518 #line 699 "rx-decode.opc"
3519 int dsp AU
= op
[0] & 0x07;
3522 printf ("\033[33m%s\033[0m %02x\n",
3523 "/** 0001 n dsp b%1.s %a0 */",
3525 printf (" n = 0x%x,", n
);
3526 printf (" dsp = 0x%x\n", dsp
);
3528 SYNTAX("b%1.s %a0");
3529 #line 699 "rx-decode.opc"
3530 ID(branch
); Scc(n
); DC(pc
+ dsp3map
[dsp
]);
3550 /** 0010 cond b%1.b %a0 */
3551 #line 702 "rx-decode.opc"
3552 int cond AU
= op
[0] & 0x0f;
3555 printf ("\033[33m%s\033[0m %02x\n",
3556 "/** 0010 cond b%1.b %a0 */",
3558 printf (" cond = 0x%x\n", cond
);
3560 SYNTAX("b%1.b %a0");
3561 #line 702 "rx-decode.opc"
3562 ID(branch
); Scc(cond
); DC(pc
+ IMMex (1));
3568 /** 0010 1110 bra.b %a0 */
3571 printf ("\033[33m%s\033[0m %02x\n",
3572 "/** 0010 1110 bra.b %a0 */",
3575 SYNTAX("bra.b %a0");
3576 #line 712 "rx-decode.opc"
3577 ID(branch
); Scc(RXC_always
); DC(pc
+ IMMex(1));
3583 /** 0011 1000 bra.w %a0 */
3586 printf ("\033[33m%s\033[0m %02x\n",
3587 "/** 0011 1000 bra.w %a0 */",
3590 SYNTAX("bra.w %a0");
3591 #line 715 "rx-decode.opc"
3592 ID(branch
); Scc(RXC_always
); DC(pc
+ IMMex(2));
3598 /** 0011 1001 bsr.w %a0 */
3601 printf ("\033[33m%s\033[0m %02x\n",
3602 "/** 0011 1001 bsr.w %a0 */",
3605 SYNTAX("bsr.w %a0");
3606 #line 731 "rx-decode.opc"
3607 ID(jsr
); DC(pc
+ IMMex(2));
3614 /** 0011 101c b%1.w %a0 */
3615 #line 705 "rx-decode.opc"
3616 int c AU
= op
[0] & 0x01;
3619 printf ("\033[33m%s\033[0m %02x\n",
3620 "/** 0011 101c b%1.w %a0 */",
3622 printf (" c = 0x%x\n", c
);
3624 SYNTAX("b%1.w %a0");
3625 #line 705 "rx-decode.opc"
3626 ID(branch
); Scc(c
); DC(pc
+ IMMex (2));
3633 switch (op
[1] & 0x00)
3638 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3639 #line 295 "rx-decode.opc"
3640 int sz AU
= op
[0] & 0x03;
3641 #line 295 "rx-decode.opc"
3642 int d AU
= (op
[1] >> 7) & 0x01;
3643 #line 295 "rx-decode.opc"
3644 int dst AU
= (op
[1] >> 4) & 0x07;
3645 #line 295 "rx-decode.opc"
3646 int sppp AU
= op
[1] & 0x0f;
3649 printf ("\033[33m%s\033[0m %02x %02x\n",
3650 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3652 printf (" sz = 0x%x,", sz
);
3653 printf (" d = 0x%x,", d
);
3654 printf (" dst = 0x%x,", dst
);
3655 printf (" sppp = 0x%x\n", sppp
);
3657 SYNTAX("mov%s #%1, %0");
3658 #line 295 "rx-decode.opc"
3659 ID(mov
); sBWL (sz
); DIs(dst
, d
*16+sppp
, sz
); SC(IMM(1)); F("----");
3667 switch (op
[1] & 0x00)
3670 goto op_semantics_19
;
3676 switch (op
[1] & 0x00)
3679 goto op_semantics_19
;
3685 switch (op
[1] & 0x00)
3689 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3690 #line 384 "rx-decode.opc"
3691 int rega AU
= (op
[1] >> 4) & 0x0f;
3692 #line 384 "rx-decode.opc"
3693 int regb AU
= op
[1] & 0x0f;
3696 printf ("\033[33m%s\033[0m %02x %02x\n",
3697 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3699 printf (" rega = 0x%x,", rega
);
3700 printf (" regb = 0x%x\n", regb
);
3702 SYNTAX("rtsd #%1, %2-%0");
3703 #line 384 "rx-decode.opc"
3704 ID(rtsd
); SC(IMM(1) * 4); S2R(rega
); DR(regb
);
3706 /*----------------------------------------------------------------------*/
3715 switch (op
[1] & 0x00)
3720 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3721 #line 519 "rx-decode.opc"
3722 int ss AU
= op
[0] & 0x03;
3723 #line 519 "rx-decode.opc"
3724 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3725 #line 519 "rx-decode.opc"
3726 int rdst AU
= op
[1] & 0x0f;
3729 printf ("\033[33m%s\033[0m %02x %02x\n",
3730 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3732 printf (" ss = 0x%x,", ss
);
3733 printf (" rsrc = 0x%x,", rsrc
);
3734 printf (" rdst = 0x%x\n", rdst
);
3736 SYNTAX("sub %2%S2, %1");
3737 #line 519 "rx-decode.opc"
3738 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); DR(rdst
); F("OSZC");
3746 switch (op
[1] & 0x00)
3749 goto op_semantics_20
;
3755 switch (op
[1] & 0x00)
3758 goto op_semantics_20
;
3764 switch (op
[1] & 0x00)
3767 goto op_semantics_20
;
3773 switch (op
[1] & 0x00)
3778 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3779 #line 507 "rx-decode.opc"
3780 int ss AU
= op
[0] & 0x03;
3781 #line 507 "rx-decode.opc"
3782 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3783 #line 507 "rx-decode.opc"
3784 int rdst AU
= op
[1] & 0x0f;
3787 printf ("\033[33m%s\033[0m %02x %02x\n",
3788 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3790 printf (" ss = 0x%x,", ss
);
3791 printf (" rsrc = 0x%x,", rsrc
);
3792 printf (" rdst = 0x%x\n", rdst
);
3794 SYNTAX("cmp %2%S2, %1");
3795 #line 507 "rx-decode.opc"
3796 ID(sub
); S2P(ss
, rsrc
); SR(rdst
); F("OSZC");
3804 switch (op
[1] & 0x00)
3807 goto op_semantics_21
;
3813 switch (op
[1] & 0x00)
3816 goto op_semantics_21
;
3822 switch (op
[1] & 0x00)
3825 goto op_semantics_21
;
3831 switch (op
[1] & 0x00)
3836 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3837 #line 483 "rx-decode.opc"
3838 int ss AU
= op
[0] & 0x03;
3839 #line 483 "rx-decode.opc"
3840 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3841 #line 483 "rx-decode.opc"
3842 int rdst AU
= op
[1] & 0x0f;
3845 printf ("\033[33m%s\033[0m %02x %02x\n",
3846 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3848 printf (" ss = 0x%x,", ss
);
3849 printf (" rsrc = 0x%x,", rsrc
);
3850 printf (" rdst = 0x%x\n", rdst
);
3852 SYNTAX("add %1%S1, %0");
3853 #line 483 "rx-decode.opc"
3854 ID(add
); SP(ss
, rsrc
); DR(rdst
); F("OSZC");
3862 switch (op
[1] & 0x00)
3865 goto op_semantics_22
;
3871 switch (op
[1] & 0x00)
3874 goto op_semantics_22
;
3880 switch (op
[1] & 0x00)
3883 goto op_semantics_22
;
3889 switch (op
[1] & 0x00)
3894 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3895 #line 580 "rx-decode.opc"
3896 int ss AU
= op
[0] & 0x03;
3897 #line 580 "rx-decode.opc"
3898 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3899 #line 580 "rx-decode.opc"
3900 int rdst AU
= op
[1] & 0x0f;
3903 printf ("\033[33m%s\033[0m %02x %02x\n",
3904 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3906 printf (" ss = 0x%x,", ss
);
3907 printf (" rsrc = 0x%x,", rsrc
);
3908 printf (" rdst = 0x%x\n", rdst
);
3910 SYNTAX("mul %1%S1, %0");
3911 #line 580 "rx-decode.opc"
3912 ID(mul
); SP(ss
, rsrc
); DR(rdst
); F("----");
3920 switch (op
[1] & 0x00)
3923 goto op_semantics_23
;
3929 switch (op
[1] & 0x00)
3932 goto op_semantics_23
;
3938 switch (op
[1] & 0x00)
3941 goto op_semantics_23
;
3947 switch (op
[1] & 0x00)
3952 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3953 #line 396 "rx-decode.opc"
3954 int ss AU
= op
[0] & 0x03;
3955 #line 396 "rx-decode.opc"
3956 int rsrc AU
= (op
[1] >> 4) & 0x0f;
3957 #line 396 "rx-decode.opc"
3958 int rdst AU
= op
[1] & 0x0f;
3961 printf ("\033[33m%s\033[0m %02x %02x\n",
3962 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3964 printf (" ss = 0x%x,", ss
);
3965 printf (" rsrc = 0x%x,", rsrc
);
3966 printf (" rdst = 0x%x\n", rdst
);
3968 SYNTAX("and %1%S1, %0");
3969 #line 396 "rx-decode.opc"
3970 ID(and); SP(ss
, rsrc
); DR(rdst
); F("-SZ-");
3978 switch (op
[1] & 0x00)
3981 goto op_semantics_24
;
3987 switch (op
[1] & 0x00)
3990 goto op_semantics_24
;
3996 switch (op
[1] & 0x00)
3999 goto op_semantics_24
;
4005 switch (op
[1] & 0x00)
4010 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4011 #line 414 "rx-decode.opc"
4012 int ss AU
= op
[0] & 0x03;
4013 #line 414 "rx-decode.opc"
4014 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4015 #line 414 "rx-decode.opc"
4016 int rdst AU
= op
[1] & 0x0f;
4019 printf ("\033[33m%s\033[0m %02x %02x\n",
4020 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4022 printf (" ss = 0x%x,", ss
);
4023 printf (" rsrc = 0x%x,", rsrc
);
4024 printf (" rdst = 0x%x\n", rdst
);
4026 SYNTAX("or %1%S1, %0");
4027 #line 414 "rx-decode.opc"
4028 ID(or); SP(ss
, rsrc
); DR(rdst
); F("-SZ-");
4036 switch (op
[1] & 0x00)
4039 goto op_semantics_25
;
4045 switch (op
[1] & 0x00)
4048 goto op_semantics_25
;
4054 switch (op
[1] & 0x00)
4057 goto op_semantics_25
;
4063 switch (op
[1] & 0x00)
4068 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4069 #line 335 "rx-decode.opc"
4070 int s AU
= (op
[0] >> 2) & 0x01;
4071 #line 335 "rx-decode.opc"
4072 int ss AU
= op
[0] & 0x03;
4073 #line 335 "rx-decode.opc"
4074 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4075 #line 335 "rx-decode.opc"
4076 int rdst AU
= op
[1] & 0x0f;
4079 printf ("\033[33m%s\033[0m %02x %02x\n",
4080 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4082 printf (" s = 0x%x,", s
);
4083 printf (" ss = 0x%x,", ss
);
4084 printf (" rsrc = 0x%x,", rsrc
);
4085 printf (" rdst = 0x%x\n", rdst
);
4087 SYNTAX("movu%s %1, %0");
4088 #line 335 "rx-decode.opc"
4089 ID(mov
); uBWL(s
); SD(ss
, rsrc
, s
); DR(rdst
); F("----");
4097 switch (op
[1] & 0x00)
4100 goto op_semantics_26
;
4106 switch (op
[1] & 0x00)
4109 goto op_semantics_26
;
4115 switch (op
[1] & 0x00)
4118 goto op_semantics_26
;
4124 switch (op
[1] & 0x00)
4127 goto op_semantics_26
;
4133 switch (op
[1] & 0x00)
4136 goto op_semantics_26
;
4142 switch (op
[1] & 0x00)
4145 goto op_semantics_26
;
4151 switch (op
[1] & 0x00)
4154 goto op_semantics_26
;
4160 switch (op
[1] & 0x00)
4164 /** 0110 0000 immm rdst sub #%2, %0 */
4165 #line 516 "rx-decode.opc"
4166 int immm AU
= (op
[1] >> 4) & 0x0f;
4167 #line 516 "rx-decode.opc"
4168 int rdst AU
= op
[1] & 0x0f;
4171 printf ("\033[33m%s\033[0m %02x %02x\n",
4172 "/** 0110 0000 immm rdst sub #%2, %0 */",
4174 printf (" immm = 0x%x,", immm
);
4175 printf (" rdst = 0x%x\n", rdst
);
4177 SYNTAX("sub #%2, %0");
4178 #line 516 "rx-decode.opc"
4179 ID(sub
); S2C(immm
); SR(rdst
); DR(rdst
); F("OSZC");
4187 switch (op
[1] & 0x00)
4191 /** 0110 0001 immm rdst cmp #%2, %1 */
4192 #line 498 "rx-decode.opc"
4193 int immm AU
= (op
[1] >> 4) & 0x0f;
4194 #line 498 "rx-decode.opc"
4195 int rdst AU
= op
[1] & 0x0f;
4198 printf ("\033[33m%s\033[0m %02x %02x\n",
4199 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4201 printf (" immm = 0x%x,", immm
);
4202 printf (" rdst = 0x%x\n", rdst
);
4204 SYNTAX("cmp #%2, %1");
4205 #line 498 "rx-decode.opc"
4206 ID(sub
); S2C(immm
); SR(rdst
); F("OSZC");
4214 switch (op
[1] & 0x00)
4218 /** 0110 0010 immm rdst add #%1, %0 */
4219 #line 480 "rx-decode.opc"
4220 int immm AU
= (op
[1] >> 4) & 0x0f;
4221 #line 480 "rx-decode.opc"
4222 int rdst AU
= op
[1] & 0x0f;
4225 printf ("\033[33m%s\033[0m %02x %02x\n",
4226 "/** 0110 0010 immm rdst add #%1, %0 */",
4228 printf (" immm = 0x%x,", immm
);
4229 printf (" rdst = 0x%x\n", rdst
);
4231 SYNTAX("add #%1, %0");
4232 #line 480 "rx-decode.opc"
4233 ID(add
); SC(immm
); DR(rdst
); F("OSZC");
4241 switch (op
[1] & 0x00)
4245 /** 0110 0011 immm rdst mul #%1, %0 */
4246 #line 574 "rx-decode.opc"
4247 int immm AU
= (op
[1] >> 4) & 0x0f;
4248 #line 574 "rx-decode.opc"
4249 int rdst AU
= op
[1] & 0x0f;
4252 printf ("\033[33m%s\033[0m %02x %02x\n",
4253 "/** 0110 0011 immm rdst mul #%1, %0 */",
4255 printf (" immm = 0x%x,", immm
);
4256 printf (" rdst = 0x%x\n", rdst
);
4258 SYNTAX("mul #%1, %0");
4259 #line 574 "rx-decode.opc"
4260 ID(mul
); DR(rdst
); SC(immm
); F("----");
4268 switch (op
[1] & 0x00)
4272 /** 0110 0100 immm rdst and #%1, %0 */
4273 #line 390 "rx-decode.opc"
4274 int immm AU
= (op
[1] >> 4) & 0x0f;
4275 #line 390 "rx-decode.opc"
4276 int rdst AU
= op
[1] & 0x0f;
4279 printf ("\033[33m%s\033[0m %02x %02x\n",
4280 "/** 0110 0100 immm rdst and #%1, %0 */",
4282 printf (" immm = 0x%x,", immm
);
4283 printf (" rdst = 0x%x\n", rdst
);
4285 SYNTAX("and #%1, %0");
4286 #line 390 "rx-decode.opc"
4287 ID(and); SC(immm
); DR(rdst
); F("-SZ-");
4295 switch (op
[1] & 0x00)
4299 /** 0110 0101 immm rdst or #%1, %0 */
4300 #line 408 "rx-decode.opc"
4301 int immm AU
= (op
[1] >> 4) & 0x0f;
4302 #line 408 "rx-decode.opc"
4303 int rdst AU
= op
[1] & 0x0f;
4306 printf ("\033[33m%s\033[0m %02x %02x\n",
4307 "/** 0110 0101 immm rdst or #%1, %0 */",
4309 printf (" immm = 0x%x,", immm
);
4310 printf (" rdst = 0x%x\n", rdst
);
4312 SYNTAX("or #%1, %0");
4313 #line 408 "rx-decode.opc"
4314 ID(or); SC(immm
); DR(rdst
); F("-SZ-");
4322 switch (op
[1] & 0x00)
4326 /** 0110 0110 immm rdst mov%s #%1, %0 */
4327 #line 292 "rx-decode.opc"
4328 int immm AU
= (op
[1] >> 4) & 0x0f;
4329 #line 292 "rx-decode.opc"
4330 int rdst AU
= op
[1] & 0x0f;
4333 printf ("\033[33m%s\033[0m %02x %02x\n",
4334 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4336 printf (" immm = 0x%x,", immm
);
4337 printf (" rdst = 0x%x\n", rdst
);
4339 SYNTAX("mov%s #%1, %0");
4340 #line 292 "rx-decode.opc"
4341 ID(mov
); DR(rdst
); SC(immm
); F("----");
4349 /** 0110 0111 rtsd #%1 */
4352 printf ("\033[33m%s\033[0m %02x\n",
4353 "/** 0110 0111 rtsd #%1 */",
4357 #line 381 "rx-decode.opc"
4358 ID(rtsd
); SC(IMM(1) * 4);
4364 switch (op
[1] & 0x00)
4369 /** 0110 100i mmmm rdst shlr #%2, %0 */
4370 #line 660 "rx-decode.opc"
4371 int i AU
= op
[0] & 0x01;
4372 #line 660 "rx-decode.opc"
4373 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4374 #line 660 "rx-decode.opc"
4375 int rdst AU
= op
[1] & 0x0f;
4378 printf ("\033[33m%s\033[0m %02x %02x\n",
4379 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4381 printf (" i = 0x%x,", i
);
4382 printf (" mmmm = 0x%x,", mmmm
);
4383 printf (" rdst = 0x%x\n", rdst
);
4385 SYNTAX("shlr #%2, %0");
4386 #line 660 "rx-decode.opc"
4387 ID(shlr
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F("-SZC");
4395 switch (op
[1] & 0x00)
4398 goto op_semantics_27
;
4404 switch (op
[1] & 0x00)
4409 /** 0110 101i mmmm rdst shar #%2, %0 */
4410 #line 650 "rx-decode.opc"
4411 int i AU
= op
[0] & 0x01;
4412 #line 650 "rx-decode.opc"
4413 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4414 #line 650 "rx-decode.opc"
4415 int rdst AU
= op
[1] & 0x0f;
4418 printf ("\033[33m%s\033[0m %02x %02x\n",
4419 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4421 printf (" i = 0x%x,", i
);
4422 printf (" mmmm = 0x%x,", mmmm
);
4423 printf (" rdst = 0x%x\n", rdst
);
4425 SYNTAX("shar #%2, %0");
4426 #line 650 "rx-decode.opc"
4427 ID(shar
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F("0SZC");
4435 switch (op
[1] & 0x00)
4438 goto op_semantics_28
;
4444 switch (op
[1] & 0x00)
4449 /** 0110 110i mmmm rdst shll #%2, %0 */
4450 #line 640 "rx-decode.opc"
4451 int i AU
= op
[0] & 0x01;
4452 #line 640 "rx-decode.opc"
4453 int mmmm AU
= (op
[1] >> 4) & 0x0f;
4454 #line 640 "rx-decode.opc"
4455 int rdst AU
= op
[1] & 0x0f;
4458 printf ("\033[33m%s\033[0m %02x %02x\n",
4459 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4461 printf (" i = 0x%x,", i
);
4462 printf (" mmmm = 0x%x,", mmmm
);
4463 printf (" rdst = 0x%x\n", rdst
);
4465 SYNTAX("shll #%2, %0");
4466 #line 640 "rx-decode.opc"
4467 ID(shll
); S2C(i
*16+mmmm
); SR(rdst
); DR(rdst
); F("OSZC");
4475 switch (op
[1] & 0x00)
4478 goto op_semantics_29
;
4484 switch (op
[1] & 0x00)
4488 /** 0110 1110 dsta dstb pushm %1-%2 */
4489 #line 348 "rx-decode.opc"
4490 int dsta AU
= (op
[1] >> 4) & 0x0f;
4491 #line 348 "rx-decode.opc"
4492 int dstb AU
= op
[1] & 0x0f;
4495 printf ("\033[33m%s\033[0m %02x %02x\n",
4496 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4498 printf (" dsta = 0x%x,", dsta
);
4499 printf (" dstb = 0x%x\n", dstb
);
4501 SYNTAX("pushm %1-%2");
4502 #line 348 "rx-decode.opc"
4503 ID(pushm
); SR(dsta
); S2R(dstb
); F("----");
4511 switch (op
[1] & 0x00)
4515 /** 0110 1111 dsta dstb popm %1-%2 */
4516 #line 345 "rx-decode.opc"
4517 int dsta AU
= (op
[1] >> 4) & 0x0f;
4518 #line 345 "rx-decode.opc"
4519 int dstb AU
= op
[1] & 0x0f;
4522 printf ("\033[33m%s\033[0m %02x %02x\n",
4523 "/** 0110 1111 dsta dstb popm %1-%2 */",
4525 printf (" dsta = 0x%x,", dsta
);
4526 printf (" dstb = 0x%x\n", dstb
);
4528 SYNTAX("popm %1-%2");
4529 #line 345 "rx-decode.opc"
4530 ID(popm
); SR(dsta
); S2R(dstb
); F("----");
4538 switch (op
[1] & 0x00)
4543 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4544 #line 489 "rx-decode.opc"
4545 int im AU
= op
[0] & 0x03;
4546 #line 489 "rx-decode.opc"
4547 int rsrc AU
= (op
[1] >> 4) & 0x0f;
4548 #line 489 "rx-decode.opc"
4549 int rdst AU
= op
[1] & 0x0f;
4552 printf ("\033[33m%s\033[0m %02x %02x\n",
4553 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4555 printf (" im = 0x%x,", im
);
4556 printf (" rsrc = 0x%x,", rsrc
);
4557 printf (" rdst = 0x%x\n", rdst
);
4559 SYNTAX("add #%1, %2, %0");
4560 #line 489 "rx-decode.opc"
4561 ID(add
); SC(IMMex(im
)); S2R(rsrc
); DR(rdst
); F("OSZC");
4569 switch (op
[1] & 0x00)
4572 goto op_semantics_30
;
4578 switch (op
[1] & 0x00)
4581 goto op_semantics_30
;
4587 switch (op
[1] & 0x00)
4590 goto op_semantics_30
;
4596 switch (op
[1] & 0xf0)
4601 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4602 #line 501 "rx-decode.opc"
4603 int im AU
= op
[0] & 0x03;
4604 #line 501 "rx-decode.opc"
4605 int rsrc AU
= op
[1] & 0x0f;
4608 printf ("\033[33m%s\033[0m %02x %02x\n",
4609 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4611 printf (" im = 0x%x,", im
);
4612 printf (" rsrc = 0x%x\n", rsrc
);
4614 SYNTAX("cmp #%2, %1%S1");
4615 #line 501 "rx-decode.opc"
4616 ID(sub
); SR(rsrc
); S2C(IMMex(im
)); F("OSZC");
4623 /** 0111 01im 0001rdst mul #%1, %0 */
4624 #line 577 "rx-decode.opc"
4625 int im AU
= op
[0] & 0x03;
4626 #line 577 "rx-decode.opc"
4627 int rdst AU
= op
[1] & 0x0f;
4630 printf ("\033[33m%s\033[0m %02x %02x\n",
4631 "/** 0111 01im 0001rdst mul #%1, %0 */",
4633 printf (" im = 0x%x,", im
);
4634 printf (" rdst = 0x%x\n", rdst
);
4636 SYNTAX("mul #%1, %0");
4637 #line 577 "rx-decode.opc"
4638 ID(mul
); DR(rdst
); SC(IMMex(im
)); F("----");
4645 /** 0111 01im 0010 rdst and #%1, %0 */
4646 #line 393 "rx-decode.opc"
4647 int im AU
= op
[0] & 0x03;
4648 #line 393 "rx-decode.opc"
4649 int rdst AU
= op
[1] & 0x0f;
4652 printf ("\033[33m%s\033[0m %02x %02x\n",
4653 "/** 0111 01im 0010 rdst and #%1, %0 */",
4655 printf (" im = 0x%x,", im
);
4656 printf (" rdst = 0x%x\n", rdst
);
4658 SYNTAX("and #%1, %0");
4659 #line 393 "rx-decode.opc"
4660 ID(and); SC(IMMex(im
)); DR(rdst
); F("-SZ-");
4667 /** 0111 01im 0011 rdst or #%1, %0 */
4668 #line 411 "rx-decode.opc"
4669 int im AU
= op
[0] & 0x03;
4670 #line 411 "rx-decode.opc"
4671 int rdst AU
= op
[1] & 0x0f;
4674 printf ("\033[33m%s\033[0m %02x %02x\n",
4675 "/** 0111 01im 0011 rdst or #%1, %0 */",
4677 printf (" im = 0x%x,", im
);
4678 printf (" rdst = 0x%x\n", rdst
);
4680 SYNTAX("or #%1, %0");
4681 #line 411 "rx-decode.opc"
4682 ID(or); SC(IMMex(im
)); DR(rdst
); F("-SZ-");
4686 default: UNSUPPORTED(); break;
4691 switch (op
[1] & 0xff)
4709 goto op_semantics_31
;
4727 goto op_semantics_32
;
4745 goto op_semantics_33
;
4763 goto op_semantics_34
;
4782 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4783 #line 286 "rx-decode.opc"
4784 int rdst AU
= op
[1] & 0x0f;
4787 printf ("\033[33m%s\033[0m %02x %02x\n",
4788 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4790 printf (" rdst = 0x%x\n", rdst
);
4792 SYNTAX("mov%s #%1, %0");
4793 #line 286 "rx-decode.opc"
4794 ID(mov
); DR(rdst
); SC(IMM (1)); F("----");
4815 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4816 #line 504 "rx-decode.opc"
4817 int rsrc AU
= op
[1] & 0x0f;
4820 printf ("\033[33m%s\033[0m %02x %02x\n",
4821 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4823 printf (" rsrc = 0x%x\n", rsrc
);
4825 SYNTAX("cmp #%2, %1");
4826 #line 504 "rx-decode.opc"
4827 ID(sub
); SR(rsrc
); S2C(IMM(1)); F("OSZC");
4833 /** 0111 0101 0110 0000 int #%1 */
4836 printf ("\033[33m%s\033[0m %02x %02x\n",
4837 "/** 0111 0101 0110 0000 int #%1 */",
4841 #line 957 "rx-decode.opc"
4842 ID(int); SC(IMM(1));
4848 switch (op
[2] & 0xf0)
4852 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4853 #line 924 "rx-decode.opc"
4854 int immm AU
= op
[2] & 0x0f;
4857 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4858 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4859 op
[0], op
[1], op
[2]);
4860 printf (" immm = 0x%x\n", immm
);
4862 SYNTAX("mvtipl #%1");
4863 #line 924 "rx-decode.opc"
4864 ID(mvtipl
); SC(immm
);
4868 default: UNSUPPORTED(); break;
4871 default: UNSUPPORTED(); break;
4876 switch (op
[1] & 0xf0)
4879 goto op_semantics_31
;
4882 goto op_semantics_32
;
4885 goto op_semantics_33
;
4888 goto op_semantics_34
;
4890 default: UNSUPPORTED(); break;
4895 switch (op
[1] & 0xf0)
4898 goto op_semantics_31
;
4901 goto op_semantics_32
;
4904 goto op_semantics_33
;
4907 goto op_semantics_34
;
4909 default: UNSUPPORTED(); break;
4914 switch (op
[1] & 0x00)
4919 /** 0111 100b ittt rdst bset #%1, %0 */
4920 #line 875 "rx-decode.opc"
4921 int b AU
= op
[0] & 0x01;
4922 #line 875 "rx-decode.opc"
4923 int ittt AU
= (op
[1] >> 4) & 0x0f;
4924 #line 875 "rx-decode.opc"
4925 int rdst AU
= op
[1] & 0x0f;
4928 printf ("\033[33m%s\033[0m %02x %02x\n",
4929 "/** 0111 100b ittt rdst bset #%1, %0 */",
4931 printf (" b = 0x%x,", b
);
4932 printf (" ittt = 0x%x,", ittt
);
4933 printf (" rdst = 0x%x\n", rdst
);
4935 SYNTAX("bset #%1, %0");
4936 #line 875 "rx-decode.opc"
4937 ID(bset
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F("----");
4946 switch (op
[1] & 0x00)
4949 goto op_semantics_35
;
4955 switch (op
[1] & 0x00)
4960 /** 0111 101b ittt rdst bclr #%1, %0 */
4961 #line 885 "rx-decode.opc"
4962 int b AU
= op
[0] & 0x01;
4963 #line 885 "rx-decode.opc"
4964 int ittt AU
= (op
[1] >> 4) & 0x0f;
4965 #line 885 "rx-decode.opc"
4966 int rdst AU
= op
[1] & 0x0f;
4969 printf ("\033[33m%s\033[0m %02x %02x\n",
4970 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4972 printf (" b = 0x%x,", b
);
4973 printf (" ittt = 0x%x,", ittt
);
4974 printf (" rdst = 0x%x\n", rdst
);
4976 SYNTAX("bclr #%1, %0");
4977 #line 885 "rx-decode.opc"
4978 ID(bclr
); BWL(LSIZE
); SC(b
*16+ittt
); DR(rdst
); F("----");
4987 switch (op
[1] & 0x00)
4990 goto op_semantics_36
;
4996 switch (op
[1] & 0x00)
5001 /** 0111 110b ittt rdst btst #%2, %1 */
5002 #line 895 "rx-decode.opc"
5003 int b AU
= op
[0] & 0x01;
5004 #line 895 "rx-decode.opc"
5005 int ittt AU
= (op
[1] >> 4) & 0x0f;
5006 #line 895 "rx-decode.opc"
5007 int rdst AU
= op
[1] & 0x0f;
5010 printf ("\033[33m%s\033[0m %02x %02x\n",
5011 "/** 0111 110b ittt rdst btst #%2, %1 */",
5013 printf (" b = 0x%x,", b
);
5014 printf (" ittt = 0x%x,", ittt
);
5015 printf (" rdst = 0x%x\n", rdst
);
5017 SYNTAX("btst #%2, %1");
5018 #line 895 "rx-decode.opc"
5019 ID(btst
); BWL(LSIZE
); S2C(b
*16+ittt
); SR(rdst
); F("--ZC");
5028 switch (op
[1] & 0x00)
5031 goto op_semantics_37
;
5037 switch (op
[1] & 0xf0)
5041 /** 0111 1110 0000 rdst not %0 */
5042 #line 438 "rx-decode.opc"
5043 int rdst AU
= op
[1] & 0x0f;
5046 printf ("\033[33m%s\033[0m %02x %02x\n",
5047 "/** 0111 1110 0000 rdst not %0 */",
5049 printf (" rdst = 0x%x\n", rdst
);
5052 #line 438 "rx-decode.opc"
5053 ID(xor); DR(rdst
); SR(rdst
); S2C(~0); F("-SZ-");
5059 /** 0111 1110 0001 rdst neg %0 */
5060 #line 459 "rx-decode.opc"
5061 int rdst AU
= op
[1] & 0x0f;
5064 printf ("\033[33m%s\033[0m %02x %02x\n",
5065 "/** 0111 1110 0001 rdst neg %0 */",
5067 printf (" rdst = 0x%x\n", rdst
);
5070 #line 459 "rx-decode.opc"
5071 ID(sub
); DR(rdst
); SC(0); S2R(rdst
); F("OSZC");
5077 /** 0111 1110 0010 rdst abs %0 */
5078 #line 541 "rx-decode.opc"
5079 int rdst AU
= op
[1] & 0x0f;
5082 printf ("\033[33m%s\033[0m %02x %02x\n",
5083 "/** 0111 1110 0010 rdst abs %0 */",
5085 printf (" rdst = 0x%x\n", rdst
);
5088 #line 541 "rx-decode.opc"
5089 ID(abs
); DR(rdst
); SR(rdst
); F("OSZ-");
5095 /** 0111 1110 0011 rdst sat %0 */
5096 #line 815 "rx-decode.opc"
5097 int rdst AU
= op
[1] & 0x0f;
5100 printf ("\033[33m%s\033[0m %02x %02x\n",
5101 "/** 0111 1110 0011 rdst sat %0 */",
5103 printf (" rdst = 0x%x\n", rdst
);
5106 #line 815 "rx-decode.opc"
5113 /** 0111 1110 0100 rdst rorc %0 */
5114 #line 675 "rx-decode.opc"
5115 int rdst AU
= op
[1] & 0x0f;
5118 printf ("\033[33m%s\033[0m %02x %02x\n",
5119 "/** 0111 1110 0100 rdst rorc %0 */",
5121 printf (" rdst = 0x%x\n", rdst
);
5124 #line 675 "rx-decode.opc"
5125 ID(rorc
); DR(rdst
); F("-SZC");
5131 /** 0111 1110 0101 rdst rolc %0 */
5132 #line 672 "rx-decode.opc"
5133 int rdst AU
= op
[1] & 0x0f;
5136 printf ("\033[33m%s\033[0m %02x %02x\n",
5137 "/** 0111 1110 0101 rdst rolc %0 */",
5139 printf (" rdst = 0x%x\n", rdst
);
5142 #line 672 "rx-decode.opc"
5143 ID(rolc
); DR(rdst
); F("-SZC");
5151 /** 0111 1110 10sz rsrc push%s %1 */
5152 #line 354 "rx-decode.opc"
5153 int sz AU
= (op
[1] >> 4) & 0x03;
5154 #line 354 "rx-decode.opc"
5155 int rsrc AU
= op
[1] & 0x0f;
5158 printf ("\033[33m%s\033[0m %02x %02x\n",
5159 "/** 0111 1110 10sz rsrc push%s %1 */",
5161 printf (" sz = 0x%x,", sz
);
5162 printf (" rsrc = 0x%x\n", rsrc
);
5164 SYNTAX("push%s %1");
5165 #line 354 "rx-decode.opc"
5166 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SR(rsrc
); F("----");
5172 /** 0111 1110 1011 rdst pop %0 */
5173 #line 351 "rx-decode.opc"
5174 int rdst AU
= op
[1] & 0x0f;
5177 printf ("\033[33m%s\033[0m %02x %02x\n",
5178 "/** 0111 1110 1011 rdst pop %0 */",
5180 printf (" rdst = 0x%x\n", rdst
);
5183 #line 351 "rx-decode.opc"
5184 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(rdst
); F("----");
5191 /** 0111 1110 110 crsrc pushc %1 */
5192 #line 930 "rx-decode.opc"
5193 int crsrc AU
= op
[1] & 0x1f;
5196 printf ("\033[33m%s\033[0m %02x %02x\n",
5197 "/** 0111 1110 110 crsrc pushc %1 */",
5199 printf (" crsrc = 0x%x\n", crsrc
);
5202 #line 930 "rx-decode.opc"
5203 ID(mov
); OP(0, RX_Operand_Predec
, 0, 0); SR(crsrc
+ 16);
5210 /** 0111 1110 111 crdst popc %0 */
5211 #line 927 "rx-decode.opc"
5212 int crdst AU
= op
[1] & 0x1f;
5215 printf ("\033[33m%s\033[0m %02x %02x\n",
5216 "/** 0111 1110 111 crdst popc %0 */",
5218 printf (" crdst = 0x%x\n", crdst
);
5221 #line 927 "rx-decode.opc"
5222 ID(mov
); OP(1, RX_Operand_Postinc
, 0, 0); DR(crdst
+ 16);
5226 default: UNSUPPORTED(); break;
5231 switch (op
[1] & 0xff)
5250 /** 0111 1111 0000 rsrc jmp %0 */
5251 #line 725 "rx-decode.opc"
5252 int rsrc AU
= op
[1] & 0x0f;
5255 printf ("\033[33m%s\033[0m %02x %02x\n",
5256 "/** 0111 1111 0000 rsrc jmp %0 */",
5258 printf (" rsrc = 0x%x\n", rsrc
);
5261 #line 725 "rx-decode.opc"
5262 ID(branch
); Scc(RXC_always
); DR(rsrc
);
5283 /** 0111 1111 0001 rsrc jsr %0 */
5284 #line 728 "rx-decode.opc"
5285 int rsrc AU
= op
[1] & 0x0f;
5288 printf ("\033[33m%s\033[0m %02x %02x\n",
5289 "/** 0111 1111 0001 rsrc jsr %0 */",
5291 printf (" rsrc = 0x%x\n", rsrc
);
5294 #line 728 "rx-decode.opc"
5316 /** 0111 1111 0100 rsrc bra.l %0 */
5317 #line 721 "rx-decode.opc"
5318 int rsrc AU
= op
[1] & 0x0f;
5321 printf ("\033[33m%s\033[0m %02x %02x\n",
5322 "/** 0111 1111 0100 rsrc bra.l %0 */",
5324 printf (" rsrc = 0x%x\n", rsrc
);
5327 #line 721 "rx-decode.opc"
5328 ID(branchrel
); Scc(RXC_always
); DR(rsrc
);
5350 /** 0111 1111 0101 rsrc bsr.l %0 */
5351 #line 737 "rx-decode.opc"
5352 int rsrc AU
= op
[1] & 0x0f;
5355 printf ("\033[33m%s\033[0m %02x %02x\n",
5356 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5358 printf (" rsrc = 0x%x\n", rsrc
);
5361 #line 737 "rx-decode.opc"
5362 ID(jsrrel
); DR(rsrc
);
5370 /** 0111 1111 1000 00sz suntil%s */
5371 #line 761 "rx-decode.opc"
5372 int sz AU
= op
[1] & 0x03;
5375 printf ("\033[33m%s\033[0m %02x %02x\n",
5376 "/** 0111 1111 1000 00sz suntil%s */",
5378 printf (" sz = 0x%x\n", sz
);
5381 #line 761 "rx-decode.opc"
5382 ID(suntil
); BWL(sz
); F("--ZC");
5388 /** 0111 1111 1000 0011 scmpu */
5391 printf ("\033[33m%s\033[0m %02x %02x\n",
5392 "/** 0111 1111 1000 0011 scmpu */",
5396 #line 752 "rx-decode.opc"
5397 ID(scmpu
); F("--ZC");
5405 /** 0111 1111 1000 01sz swhile%s */
5406 #line 764 "rx-decode.opc"
5407 int sz AU
= op
[1] & 0x03;
5410 printf ("\033[33m%s\033[0m %02x %02x\n",
5411 "/** 0111 1111 1000 01sz swhile%s */",
5413 printf (" sz = 0x%x\n", sz
);
5416 #line 764 "rx-decode.opc"
5417 ID(swhile
); BWL(sz
); F("--ZC");
5423 /** 0111 1111 1000 0111 smovu */
5426 printf ("\033[33m%s\033[0m %02x %02x\n",
5427 "/** 0111 1111 1000 0111 smovu */",
5431 #line 755 "rx-decode.opc"
5440 /** 0111 1111 1000 10sz sstr%s */
5441 #line 770 "rx-decode.opc"
5442 int sz AU
= op
[1] & 0x03;
5445 printf ("\033[33m%s\033[0m %02x %02x\n",
5446 "/** 0111 1111 1000 10sz sstr%s */",
5448 printf (" sz = 0x%x\n", sz
);
5451 #line 770 "rx-decode.opc"
5454 /*----------------------------------------------------------------------*/
5461 /** 0111 1111 1000 1011 smovb */
5464 printf ("\033[33m%s\033[0m %02x %02x\n",
5465 "/** 0111 1111 1000 1011 smovb */",
5469 #line 758 "rx-decode.opc"
5478 /** 0111 1111 1000 11sz rmpa%s */
5479 #line 776 "rx-decode.opc"
5480 int sz AU
= op
[1] & 0x03;
5483 printf ("\033[33m%s\033[0m %02x %02x\n",
5484 "/** 0111 1111 1000 11sz rmpa%s */",
5486 printf (" sz = 0x%x\n", sz
);
5489 #line 776 "rx-decode.opc"
5490 ID(rmpa
); BWL(sz
); F("OS--");
5492 /*----------------------------------------------------------------------*/
5499 /** 0111 1111 1000 1111 smovf */
5502 printf ("\033[33m%s\033[0m %02x %02x\n",
5503 "/** 0111 1111 1000 1111 smovf */",
5507 #line 767 "rx-decode.opc"
5514 /** 0111 1111 1001 0011 satr */
5517 printf ("\033[33m%s\033[0m %02x %02x\n",
5518 "/** 0111 1111 1001 0011 satr */",
5522 #line 818 "rx-decode.opc"
5525 /*----------------------------------------------------------------------*/
5532 /** 0111 1111 1001 0100 rtfi */
5535 printf ("\033[33m%s\033[0m %02x %02x\n",
5536 "/** 0111 1111 1001 0100 rtfi */",
5540 #line 945 "rx-decode.opc"
5547 /** 0111 1111 1001 0101 rte */
5550 printf ("\033[33m%s\033[0m %02x %02x\n",
5551 "/** 0111 1111 1001 0101 rte */",
5555 #line 948 "rx-decode.opc"
5562 /** 0111 1111 1001 0110 wait */
5565 printf ("\033[33m%s\033[0m %02x %02x\n",
5566 "/** 0111 1111 1001 0110 wait */",
5570 #line 960 "rx-decode.opc"
5573 /*----------------------------------------------------------------------*/
5595 /** 0111 1111 1010 rdst setpsw %0 */
5596 #line 921 "rx-decode.opc"
5597 int rdst AU
= op
[1] & 0x0f;
5600 printf ("\033[33m%s\033[0m %02x %02x\n",
5601 "/** 0111 1111 1010 rdst setpsw %0 */",
5603 printf (" rdst = 0x%x\n", rdst
);
5605 SYNTAX("setpsw %0");
5606 #line 921 "rx-decode.opc"
5607 ID(setpsw
); DF(rdst
);
5628 /** 0111 1111 1011 rdst clrpsw %0 */
5629 #line 918 "rx-decode.opc"
5630 int rdst AU
= op
[1] & 0x0f;
5633 printf ("\033[33m%s\033[0m %02x %02x\n",
5634 "/** 0111 1111 1011 rdst clrpsw %0 */",
5636 printf (" rdst = 0x%x\n", rdst
);
5638 SYNTAX("clrpsw %0");
5639 #line 918 "rx-decode.opc"
5640 ID(clrpsw
); DF(rdst
);
5644 default: UNSUPPORTED(); break;
5649 switch (op
[1] & 0x00)
5654 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5655 #line 312 "rx-decode.opc"
5656 int sz AU
= (op
[0] >> 4) & 0x03;
5657 #line 312 "rx-decode.opc"
5658 int dsp AU
= op
[0] & 0x07;
5659 #line 312 "rx-decode.opc"
5660 int a AU
= (op
[1] >> 7) & 0x01;
5661 #line 312 "rx-decode.opc"
5662 int dst AU
= (op
[1] >> 4) & 0x07;
5663 #line 312 "rx-decode.opc"
5664 int b AU
= (op
[1] >> 3) & 0x01;
5665 #line 312 "rx-decode.opc"
5666 int src AU
= op
[1] & 0x07;
5669 printf ("\033[33m%s\033[0m %02x %02x\n",
5670 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5672 printf (" sz = 0x%x,", sz
);
5673 printf (" dsp = 0x%x,", dsp
);
5674 printf (" a = 0x%x,", a
);
5675 printf (" dst = 0x%x,", dst
);
5676 printf (" b = 0x%x,", b
);
5677 printf (" src = 0x%x\n", src
);
5679 SYNTAX("mov%s %1, %0");
5680 #line 312 "rx-decode.opc"
5681 ID(mov
); sBWL(sz
); DIs(dst
, dsp
*4+a
*2+b
, sz
); SR(src
); F("----");
5689 switch (op
[1] & 0x00)
5692 goto op_semantics_38
;
5698 switch (op
[1] & 0x00)
5701 goto op_semantics_38
;
5707 switch (op
[1] & 0x00)
5710 goto op_semantics_38
;
5716 switch (op
[1] & 0x00)
5719 goto op_semantics_38
;
5725 switch (op
[1] & 0x00)
5728 goto op_semantics_38
;
5734 switch (op
[1] & 0x00)
5737 goto op_semantics_38
;
5743 switch (op
[1] & 0x00)
5746 goto op_semantics_38
;
5752 switch (op
[1] & 0x00)
5757 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5758 #line 309 "rx-decode.opc"
5759 int sz AU
= (op
[0] >> 4) & 0x03;
5760 #line 309 "rx-decode.opc"
5761 int dsp AU
= op
[0] & 0x07;
5762 #line 309 "rx-decode.opc"
5763 int a AU
= (op
[1] >> 7) & 0x01;
5764 #line 309 "rx-decode.opc"
5765 int src AU
= (op
[1] >> 4) & 0x07;
5766 #line 309 "rx-decode.opc"
5767 int b AU
= (op
[1] >> 3) & 0x01;
5768 #line 309 "rx-decode.opc"
5769 int dst AU
= op
[1] & 0x07;
5772 printf ("\033[33m%s\033[0m %02x %02x\n",
5773 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5775 printf (" sz = 0x%x,", sz
);
5776 printf (" dsp = 0x%x,", dsp
);
5777 printf (" a = 0x%x,", a
);
5778 printf (" src = 0x%x,", src
);
5779 printf (" b = 0x%x,", b
);
5780 printf (" dst = 0x%x\n", dst
);
5782 SYNTAX("mov%s %1, %0");
5783 #line 309 "rx-decode.opc"
5784 ID(mov
); sBWL(sz
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, sz
); F("----");
5792 switch (op
[1] & 0x00)
5795 goto op_semantics_39
;
5801 switch (op
[1] & 0x00)
5804 goto op_semantics_39
;
5810 switch (op
[1] & 0x00)
5813 goto op_semantics_39
;
5819 switch (op
[1] & 0x00)
5822 goto op_semantics_39
;
5828 switch (op
[1] & 0x00)
5831 goto op_semantics_39
;
5837 switch (op
[1] & 0x00)
5840 goto op_semantics_39
;
5846 switch (op
[1] & 0x00)
5849 goto op_semantics_39
;
5855 switch (op
[1] & 0x00)
5858 goto op_semantics_38
;
5864 switch (op
[1] & 0x00)
5867 goto op_semantics_38
;
5873 switch (op
[1] & 0x00)
5876 goto op_semantics_38
;
5882 switch (op
[1] & 0x00)
5885 goto op_semantics_38
;
5891 switch (op
[1] & 0x00)
5894 goto op_semantics_38
;
5900 switch (op
[1] & 0x00)
5903 goto op_semantics_38
;
5909 switch (op
[1] & 0x00)
5912 goto op_semantics_38
;
5918 switch (op
[1] & 0x00)
5921 goto op_semantics_38
;
5927 switch (op
[1] & 0x00)
5930 goto op_semantics_39
;
5936 switch (op
[1] & 0x00)
5939 goto op_semantics_39
;
5945 switch (op
[1] & 0x00)
5948 goto op_semantics_39
;
5954 switch (op
[1] & 0x00)
5957 goto op_semantics_39
;
5963 switch (op
[1] & 0x00)
5966 goto op_semantics_39
;
5972 switch (op
[1] & 0x00)
5975 goto op_semantics_39
;
5981 switch (op
[1] & 0x00)
5984 goto op_semantics_39
;
5990 switch (op
[1] & 0x00)
5993 goto op_semantics_39
;
5999 switch (op
[1] & 0x00)
6002 goto op_semantics_38
;
6008 switch (op
[1] & 0x00)
6011 goto op_semantics_38
;
6017 switch (op
[1] & 0x00)
6020 goto op_semantics_38
;
6026 switch (op
[1] & 0x00)
6029 goto op_semantics_38
;
6035 switch (op
[1] & 0x00)
6038 goto op_semantics_38
;
6044 switch (op
[1] & 0x00)
6047 goto op_semantics_38
;
6053 switch (op
[1] & 0x00)
6056 goto op_semantics_38
;
6062 switch (op
[1] & 0x00)
6065 goto op_semantics_38
;
6071 switch (op
[1] & 0x00)
6074 goto op_semantics_39
;
6080 switch (op
[1] & 0x00)
6083 goto op_semantics_39
;
6089 switch (op
[1] & 0x00)
6092 goto op_semantics_39
;
6098 switch (op
[1] & 0x00)
6101 goto op_semantics_39
;
6107 switch (op
[1] & 0x00)
6110 goto op_semantics_39
;
6116 switch (op
[1] & 0x00)
6119 goto op_semantics_39
;
6125 switch (op
[1] & 0x00)
6128 goto op_semantics_39
;
6134 switch (op
[1] & 0x00)
6137 goto op_semantics_39
;
6143 switch (op
[1] & 0x00)
6148 /** 1011 w dsp a src b dst movu%s %1, %0 */
6149 #line 332 "rx-decode.opc"
6150 int w AU
= (op
[0] >> 3) & 0x01;
6151 #line 332 "rx-decode.opc"
6152 int dsp AU
= op
[0] & 0x07;
6153 #line 332 "rx-decode.opc"
6154 int a AU
= (op
[1] >> 7) & 0x01;
6155 #line 332 "rx-decode.opc"
6156 int src AU
= (op
[1] >> 4) & 0x07;
6157 #line 332 "rx-decode.opc"
6158 int b AU
= (op
[1] >> 3) & 0x01;
6159 #line 332 "rx-decode.opc"
6160 int dst AU
= op
[1] & 0x07;
6163 printf ("\033[33m%s\033[0m %02x %02x\n",
6164 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6166 printf (" w = 0x%x,", w
);
6167 printf (" dsp = 0x%x,", dsp
);
6168 printf (" a = 0x%x,", a
);
6169 printf (" src = 0x%x,", src
);
6170 printf (" b = 0x%x,", b
);
6171 printf (" dst = 0x%x\n", dst
);
6173 SYNTAX("movu%s %1, %0");
6174 #line 332 "rx-decode.opc"
6175 ID(mov
); uBWL(w
); DR(dst
); SIs(src
, dsp
*4+a
*2+b
, w
); F("----");
6183 switch (op
[1] & 0x00)
6186 goto op_semantics_40
;
6192 switch (op
[1] & 0x00)
6195 goto op_semantics_40
;
6201 switch (op
[1] & 0x00)
6204 goto op_semantics_40
;
6210 switch (op
[1] & 0x00)
6213 goto op_semantics_40
;
6219 switch (op
[1] & 0x00)
6222 goto op_semantics_40
;
6228 switch (op
[1] & 0x00)
6231 goto op_semantics_40
;
6237 switch (op
[1] & 0x00)
6240 goto op_semantics_40
;
6246 switch (op
[1] & 0x00)
6249 goto op_semantics_40
;
6255 switch (op
[1] & 0x00)
6258 goto op_semantics_40
;
6264 switch (op
[1] & 0x00)
6267 goto op_semantics_40
;
6273 switch (op
[1] & 0x00)
6276 goto op_semantics_40
;
6282 switch (op
[1] & 0x00)
6285 goto op_semantics_40
;
6291 switch (op
[1] & 0x00)
6294 goto op_semantics_40
;
6300 switch (op
[1] & 0x00)
6303 goto op_semantics_40
;
6309 switch (op
[1] & 0x00)
6312 goto op_semantics_40
;
6318 switch (op
[1] & 0x00)
6323 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6324 #line 298 "rx-decode.opc"
6325 int sz AU
= (op
[0] >> 4) & 0x03;
6326 #line 298 "rx-decode.opc"
6327 int sd AU
= (op
[0] >> 2) & 0x03;
6328 #line 298 "rx-decode.opc"
6329 int ss AU
= op
[0] & 0x03;
6330 #line 298 "rx-decode.opc"
6331 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6332 #line 298 "rx-decode.opc"
6333 int rdst AU
= op
[1] & 0x0f;
6336 printf ("\033[33m%s\033[0m %02x %02x\n",
6337 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6339 printf (" sz = 0x%x,", sz
);
6340 printf (" sd = 0x%x,", sd
);
6341 printf (" ss = 0x%x,", ss
);
6342 printf (" rsrc = 0x%x,", rsrc
);
6343 printf (" rdst = 0x%x\n", rdst
);
6345 SYNTAX("mov%s %1, %0");
6346 #line 298 "rx-decode.opc"
6347 ID(mov
); sBWL(sz
); F("----");
6348 if ((ss
== 3) && (sd
!= 3))
6350 SD(ss
, rdst
, sz
); DD(sd
, rsrc
, sz
);
6354 SD(ss
, rsrc
, sz
); DD(sd
, rdst
, sz
);
6363 switch (op
[1] & 0x00)
6366 goto op_semantics_41
;
6372 switch (op
[1] & 0x00)
6375 goto op_semantics_41
;
6381 switch (op
[1] & 0x00)
6384 goto op_semantics_41
;
6390 switch (op
[1] & 0x00)
6393 goto op_semantics_41
;
6399 switch (op
[1] & 0x00)
6402 goto op_semantics_41
;
6408 switch (op
[1] & 0x00)
6411 goto op_semantics_41
;
6417 switch (op
[1] & 0x00)
6420 goto op_semantics_41
;
6426 switch (op
[1] & 0x00)
6429 goto op_semantics_41
;
6435 switch (op
[1] & 0x00)
6438 goto op_semantics_41
;
6444 switch (op
[1] & 0x00)
6447 goto op_semantics_41
;
6453 switch (op
[1] & 0x00)
6456 goto op_semantics_41
;
6462 switch (op
[1] & 0x00)
6465 goto op_semantics_41
;
6471 switch (op
[1] & 0x00)
6474 goto op_semantics_41
;
6480 switch (op
[1] & 0x00)
6483 goto op_semantics_41
;
6489 switch (op
[1] & 0x00)
6492 goto op_semantics_41
;
6498 switch (op
[1] & 0x00)
6501 goto op_semantics_41
;
6507 switch (op
[1] & 0x00)
6510 goto op_semantics_41
;
6516 switch (op
[1] & 0x00)
6519 goto op_semantics_41
;
6525 switch (op
[1] & 0x00)
6528 goto op_semantics_41
;
6534 switch (op
[1] & 0x00)
6537 goto op_semantics_41
;
6543 switch (op
[1] & 0x00)
6546 goto op_semantics_41
;
6552 switch (op
[1] & 0x00)
6555 goto op_semantics_41
;
6561 switch (op
[1] & 0x00)
6564 goto op_semantics_41
;
6570 switch (op
[1] & 0x00)
6573 goto op_semantics_41
;
6579 switch (op
[1] & 0x00)
6582 goto op_semantics_41
;
6588 switch (op
[1] & 0x00)
6591 goto op_semantics_41
;
6597 switch (op
[1] & 0x00)
6600 goto op_semantics_41
;
6606 switch (op
[1] & 0x00)
6609 goto op_semantics_41
;
6615 switch (op
[1] & 0x00)
6618 goto op_semantics_41
;
6624 switch (op
[1] & 0x00)
6627 goto op_semantics_41
;
6633 switch (op
[1] & 0x00)
6636 goto op_semantics_41
;
6642 switch (op
[1] & 0x00)
6645 goto op_semantics_41
;
6651 switch (op
[1] & 0x00)
6654 goto op_semantics_41
;
6660 switch (op
[1] & 0x00)
6663 goto op_semantics_41
;
6669 switch (op
[1] & 0x00)
6672 goto op_semantics_41
;
6678 switch (op
[1] & 0x00)
6681 goto op_semantics_41
;
6687 switch (op
[1] & 0x00)
6690 goto op_semantics_41
;
6696 switch (op
[1] & 0x00)
6699 goto op_semantics_41
;
6705 switch (op
[1] & 0x00)
6708 goto op_semantics_41
;
6714 switch (op
[1] & 0x00)
6717 goto op_semantics_41
;
6723 switch (op
[1] & 0x00)
6726 goto op_semantics_41
;
6732 switch (op
[1] & 0x00)
6735 goto op_semantics_41
;
6741 switch (op
[1] & 0x00)
6744 goto op_semantics_41
;
6750 switch (op
[1] & 0x00)
6753 goto op_semantics_41
;
6759 switch (op
[1] & 0x00)
6762 goto op_semantics_41
;
6768 switch (op
[1] & 0x00)
6771 goto op_semantics_41
;
6777 switch (op
[1] & 0x00)
6780 goto op_semantics_41
;
6786 switch (op
[1] & 0x08)
6791 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6792 #line 869 "rx-decode.opc"
6793 int sd AU
= op
[0] & 0x03;
6794 #line 869 "rx-decode.opc"
6795 int rdst AU
= (op
[1] >> 4) & 0x0f;
6796 #line 869 "rx-decode.opc"
6797 int bit AU
= op
[1] & 0x07;
6800 printf ("\033[33m%s\033[0m %02x %02x\n",
6801 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6803 printf (" sd = 0x%x,", sd
);
6804 printf (" rdst = 0x%x,", rdst
);
6805 printf (" bit = 0x%x\n", bit
);
6807 SYNTAX("bset #%1, %0%S0");
6808 #line 869 "rx-decode.opc"
6809 ID(bset
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F("----");
6816 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6817 #line 879 "rx-decode.opc"
6818 int sd AU
= op
[0] & 0x03;
6819 #line 879 "rx-decode.opc"
6820 int rdst AU
= (op
[1] >> 4) & 0x0f;
6821 #line 879 "rx-decode.opc"
6822 int bit AU
= op
[1] & 0x07;
6825 printf ("\033[33m%s\033[0m %02x %02x\n",
6826 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6828 printf (" sd = 0x%x,", sd
);
6829 printf (" rdst = 0x%x,", rdst
);
6830 printf (" bit = 0x%x\n", bit
);
6832 SYNTAX("bclr #%1, %0%S0");
6833 #line 879 "rx-decode.opc"
6834 ID(bclr
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
); F("----");
6842 switch (op
[1] & 0x08)
6845 goto op_semantics_42
;
6848 goto op_semantics_43
;
6854 switch (op
[1] & 0x08)
6857 goto op_semantics_42
;
6860 goto op_semantics_43
;
6866 switch (op
[1] & 0x08)
6869 goto op_semantics_42
;
6872 goto op_semantics_43
;
6878 switch (op
[1] & 0x0c)
6884 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6885 #line 889 "rx-decode.opc"
6886 int sd AU
= op
[0] & 0x03;
6887 #line 889 "rx-decode.opc"
6888 int rdst AU
= (op
[1] >> 4) & 0x0f;
6889 #line 889 "rx-decode.opc"
6890 int bit AU
= op
[1] & 0x07;
6893 printf ("\033[33m%s\033[0m %02x %02x\n",
6894 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6896 printf (" sd = 0x%x,", sd
);
6897 printf (" rdst = 0x%x,", rdst
);
6898 printf (" bit = 0x%x\n", bit
);
6900 SYNTAX("btst #%2, %1%S1");
6901 #line 889 "rx-decode.opc"
6902 ID(btst
); BWL(BSIZE
); S2C(bit
); SD(sd
, rdst
, BSIZE
); F("--ZC");
6909 /** 1111 01ss rsrc 10sz push%s %1 */
6910 #line 357 "rx-decode.opc"
6911 int ss AU
= op
[0] & 0x03;
6912 #line 357 "rx-decode.opc"
6913 int rsrc AU
= (op
[1] >> 4) & 0x0f;
6914 #line 357 "rx-decode.opc"
6915 int sz AU
= op
[1] & 0x03;
6918 printf ("\033[33m%s\033[0m %02x %02x\n",
6919 "/** 1111 01ss rsrc 10sz push%s %1 */",
6921 printf (" ss = 0x%x,", ss
);
6922 printf (" rsrc = 0x%x,", rsrc
);
6923 printf (" sz = 0x%x\n", sz
);
6925 SYNTAX("push%s %1");
6926 #line 357 "rx-decode.opc"
6927 ID(mov
); BWL(sz
); OP(0, RX_Operand_Predec
, 0, 0); SD(ss
, rsrc
, sz
); F("----");
6929 /*----------------------------------------------------------------------*/
6934 default: UNSUPPORTED(); break;
6939 switch (op
[1] & 0x0c)
6943 goto op_semantics_44
;
6946 goto op_semantics_45
;
6948 default: UNSUPPORTED(); break;
6953 switch (op
[1] & 0x0c)
6957 goto op_semantics_44
;
6960 goto op_semantics_45
;
6962 default: UNSUPPORTED(); break;
6967 switch (op
[1] & 0x0c)
6971 goto op_semantics_44
;
6974 goto op_semantics_45
;
6976 default: UNSUPPORTED(); break;
6981 switch (op
[1] & 0x00)
6986 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6987 #line 289 "rx-decode.opc"
6988 int sd AU
= op
[0] & 0x03;
6989 #line 289 "rx-decode.opc"
6990 int rdst AU
= (op
[1] >> 4) & 0x0f;
6991 #line 289 "rx-decode.opc"
6992 int im AU
= (op
[1] >> 2) & 0x03;
6993 #line 289 "rx-decode.opc"
6994 int sz AU
= op
[1] & 0x03;
6997 printf ("\033[33m%s\033[0m %02x %02x\n",
6998 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7000 printf (" sd = 0x%x,", sd
);
7001 printf (" rdst = 0x%x,", rdst
);
7002 printf (" im = 0x%x,", im
);
7003 printf (" sz = 0x%x\n", sz
);
7005 SYNTAX("mov%s #%1, %0");
7006 #line 289 "rx-decode.opc"
7007 ID(mov
); sBWL (sz
); DD(sd
, rdst
, sz
); SC(IMMex(im
)); F("----");
7015 switch (op
[1] & 0x00)
7018 goto op_semantics_46
;
7024 switch (op
[1] & 0x00)
7027 goto op_semantics_46
;
7033 switch (op
[1] & 0x00)
7036 goto op_semantics_46
;
7042 switch (op
[1] & 0xff)
7046 switch (op
[2] & 0x00)
7050 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7051 #line 531 "rx-decode.opc"
7052 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7053 #line 531 "rx-decode.opc"
7054 int rdst AU
= op
[2] & 0x0f;
7057 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7058 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7059 op
[0], op
[1], op
[2]);
7060 printf (" rsrc = 0x%x,", rsrc
);
7061 printf (" rdst = 0x%x\n", rdst
);
7063 SYNTAX("sbb %1, %0");
7064 #line 531 "rx-decode.opc"
7065 ID(sbb
); SR (rsrc
); DR(rdst
); F("OSZC");
7067 /* FIXME: only supports .L */
7074 switch (op
[2] & 0x00)
7078 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7079 #line 462 "rx-decode.opc"
7080 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7081 #line 462 "rx-decode.opc"
7082 int rdst AU
= op
[2] & 0x0f;
7085 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7086 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7087 op
[0], op
[1], op
[2]);
7088 printf (" rsrc = 0x%x,", rsrc
);
7089 printf (" rdst = 0x%x\n", rdst
);
7091 SYNTAX("neg %2, %0");
7092 #line 462 "rx-decode.opc"
7093 ID(sub
); DR(rdst
); SC(0); S2R(rsrc
); F("OSZC");
7095 /*----------------------------------------------------------------------*/
7104 switch (op
[2] & 0x00)
7108 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7109 #line 471 "rx-decode.opc"
7110 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7111 #line 471 "rx-decode.opc"
7112 int rdst AU
= op
[2] & 0x0f;
7115 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7116 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7117 op
[0], op
[1], op
[2]);
7118 printf (" rsrc = 0x%x,", rsrc
);
7119 printf (" rdst = 0x%x\n", rdst
);
7121 SYNTAX("adc %1, %0");
7122 #line 471 "rx-decode.opc"
7123 ID(adc
); SR(rsrc
); DR(rdst
); F("OSZC");
7131 switch (op
[2] & 0x00)
7135 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7136 #line 544 "rx-decode.opc"
7137 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7138 #line 544 "rx-decode.opc"
7139 int rdst AU
= op
[2] & 0x0f;
7142 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7143 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7144 op
[0], op
[1], op
[2]);
7145 printf (" rsrc = 0x%x,", rsrc
);
7146 printf (" rdst = 0x%x\n", rdst
);
7148 SYNTAX("abs %1, %0");
7149 #line 544 "rx-decode.opc"
7150 ID(abs
); DR(rdst
); SR(rsrc
); F("OSZ-");
7152 /*----------------------------------------------------------------------*/
7161 switch (op
[2] & 0x00)
7166 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7167 #line 553 "rx-decode.opc"
7168 int ss AU
= op
[1] & 0x03;
7169 #line 553 "rx-decode.opc"
7170 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7171 #line 553 "rx-decode.opc"
7172 int rdst AU
= op
[2] & 0x0f;
7175 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7176 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7177 op
[0], op
[1], op
[2]);
7178 printf (" ss = 0x%x,", ss
);
7179 printf (" rsrc = 0x%x,", rsrc
);
7180 printf (" rdst = 0x%x\n", rdst
);
7182 SYNTAX("max %1%S1, %0");
7183 #line 553 "rx-decode.opc"
7184 ID(max
); SP(ss
, rsrc
); DR(rdst
);
7192 switch (op
[2] & 0x00)
7195 goto op_semantics_47
;
7201 switch (op
[2] & 0x00)
7204 goto op_semantics_47
;
7210 switch (op
[2] & 0x00)
7213 goto op_semantics_47
;
7219 switch (op
[2] & 0x00)
7224 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7225 #line 565 "rx-decode.opc"
7226 int ss AU
= op
[1] & 0x03;
7227 #line 565 "rx-decode.opc"
7228 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7229 #line 565 "rx-decode.opc"
7230 int rdst AU
= op
[2] & 0x0f;
7233 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7234 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7235 op
[0], op
[1], op
[2]);
7236 printf (" ss = 0x%x,", ss
);
7237 printf (" rsrc = 0x%x,", rsrc
);
7238 printf (" rdst = 0x%x\n", rdst
);
7240 SYNTAX("min %1%S1, %0");
7241 #line 565 "rx-decode.opc"
7242 ID(min
); SP(ss
, rsrc
); DR(rdst
);
7250 switch (op
[2] & 0x00)
7253 goto op_semantics_48
;
7259 switch (op
[2] & 0x00)
7262 goto op_semantics_48
;
7268 switch (op
[2] & 0x00)
7271 goto op_semantics_48
;
7277 switch (op
[2] & 0x00)
7282 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7283 #line 595 "rx-decode.opc"
7284 int ss AU
= op
[1] & 0x03;
7285 #line 595 "rx-decode.opc"
7286 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7287 #line 595 "rx-decode.opc"
7288 int rdst AU
= op
[2] & 0x0f;
7291 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7292 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7293 op
[0], op
[1], op
[2]);
7294 printf (" ss = 0x%x,", ss
);
7295 printf (" rsrc = 0x%x,", rsrc
);
7296 printf (" rdst = 0x%x\n", rdst
);
7298 SYNTAX("emul %1%S1, %0");
7299 #line 595 "rx-decode.opc"
7300 ID(emul
); SP(ss
, rsrc
); DR(rdst
);
7308 switch (op
[2] & 0x00)
7311 goto op_semantics_49
;
7317 switch (op
[2] & 0x00)
7320 goto op_semantics_49
;
7326 switch (op
[2] & 0x00)
7329 goto op_semantics_49
;
7335 switch (op
[2] & 0x00)
7340 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7341 #line 607 "rx-decode.opc"
7342 int ss AU
= op
[1] & 0x03;
7343 #line 607 "rx-decode.opc"
7344 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7345 #line 607 "rx-decode.opc"
7346 int rdst AU
= op
[2] & 0x0f;
7349 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7350 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7351 op
[0], op
[1], op
[2]);
7352 printf (" ss = 0x%x,", ss
);
7353 printf (" rsrc = 0x%x,", rsrc
);
7354 printf (" rdst = 0x%x\n", rdst
);
7356 SYNTAX("emulu %1%S1, %0");
7357 #line 607 "rx-decode.opc"
7358 ID(emulu
); SP(ss
, rsrc
); DR(rdst
);
7366 switch (op
[2] & 0x00)
7369 goto op_semantics_50
;
7375 switch (op
[2] & 0x00)
7378 goto op_semantics_50
;
7384 switch (op
[2] & 0x00)
7387 goto op_semantics_50
;
7393 switch (op
[2] & 0x00)
7398 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7399 #line 619 "rx-decode.opc"
7400 int ss AU
= op
[1] & 0x03;
7401 #line 619 "rx-decode.opc"
7402 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7403 #line 619 "rx-decode.opc"
7404 int rdst AU
= op
[2] & 0x0f;
7407 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7408 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7409 op
[0], op
[1], op
[2]);
7410 printf (" ss = 0x%x,", ss
);
7411 printf (" rsrc = 0x%x,", rsrc
);
7412 printf (" rdst = 0x%x\n", rdst
);
7414 SYNTAX("div %1%S1, %0");
7415 #line 619 "rx-decode.opc"
7416 ID(div
); SP(ss
, rsrc
); DR(rdst
); F("O---");
7424 switch (op
[2] & 0x00)
7427 goto op_semantics_51
;
7433 switch (op
[2] & 0x00)
7436 goto op_semantics_51
;
7442 switch (op
[2] & 0x00)
7445 goto op_semantics_51
;
7451 switch (op
[2] & 0x00)
7456 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7457 #line 631 "rx-decode.opc"
7458 int ss AU
= op
[1] & 0x03;
7459 #line 631 "rx-decode.opc"
7460 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7461 #line 631 "rx-decode.opc"
7462 int rdst AU
= op
[2] & 0x0f;
7465 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7466 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7467 op
[0], op
[1], op
[2]);
7468 printf (" ss = 0x%x,", ss
);
7469 printf (" rsrc = 0x%x,", rsrc
);
7470 printf (" rdst = 0x%x\n", rdst
);
7472 SYNTAX("divu %1%S1, %0");
7473 #line 631 "rx-decode.opc"
7474 ID(divu
); SP(ss
, rsrc
); DR(rdst
); F("O---");
7482 switch (op
[2] & 0x00)
7485 goto op_semantics_52
;
7491 switch (op
[2] & 0x00)
7494 goto op_semantics_52
;
7500 switch (op
[2] & 0x00)
7503 goto op_semantics_52
;
7509 switch (op
[2] & 0x00)
7514 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7515 #line 450 "rx-decode.opc"
7516 int ss AU
= op
[1] & 0x03;
7517 #line 450 "rx-decode.opc"
7518 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7519 #line 450 "rx-decode.opc"
7520 int rdst AU
= op
[2] & 0x0f;
7523 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7524 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7525 op
[0], op
[1], op
[2]);
7526 printf (" ss = 0x%x,", ss
);
7527 printf (" rsrc = 0x%x,", rsrc
);
7528 printf (" rdst = 0x%x\n", rdst
);
7530 SYNTAX("tst %1%S1, %2");
7531 #line 450 "rx-decode.opc"
7532 ID(and); SP(ss
, rsrc
); S2R(rdst
); F("-SZ-");
7540 switch (op
[2] & 0x00)
7543 goto op_semantics_53
;
7549 switch (op
[2] & 0x00)
7552 goto op_semantics_53
;
7558 switch (op
[2] & 0x00)
7561 goto op_semantics_53
;
7567 switch (op
[2] & 0x00)
7572 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7573 #line 429 "rx-decode.opc"
7574 int ss AU
= op
[1] & 0x03;
7575 #line 429 "rx-decode.opc"
7576 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7577 #line 429 "rx-decode.opc"
7578 int rdst AU
= op
[2] & 0x0f;
7581 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7582 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7583 op
[0], op
[1], op
[2]);
7584 printf (" ss = 0x%x,", ss
);
7585 printf (" rsrc = 0x%x,", rsrc
);
7586 printf (" rdst = 0x%x\n", rdst
);
7588 SYNTAX("xor %1%S1, %0");
7589 #line 429 "rx-decode.opc"
7590 ID(xor); SP(ss
, rsrc
); DR(rdst
); F("-SZ-");
7598 switch (op
[2] & 0x00)
7601 goto op_semantics_54
;
7607 switch (op
[2] & 0x00)
7610 goto op_semantics_54
;
7616 switch (op
[2] & 0x00)
7619 goto op_semantics_54
;
7625 switch (op
[2] & 0x00)
7629 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7630 #line 441 "rx-decode.opc"
7631 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7632 #line 441 "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 1011 rsrc rdst not %1, %0 */",
7638 op
[0], op
[1], op
[2]);
7639 printf (" rsrc = 0x%x,", rsrc
);
7640 printf (" rdst = 0x%x\n", rdst
);
7642 SYNTAX("not %1, %0");
7643 #line 441 "rx-decode.opc"
7644 ID(xor); DR(rdst
); SR(rsrc
); S2C(~0); F("-SZ-");
7646 /*----------------------------------------------------------------------*/
7655 switch (op
[2] & 0x00)
7660 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7661 #line 363 "rx-decode.opc"
7662 int ss AU
= op
[1] & 0x03;
7663 #line 363 "rx-decode.opc"
7664 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7665 #line 363 "rx-decode.opc"
7666 int rdst AU
= op
[2] & 0x0f;
7669 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7670 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7671 op
[0], op
[1], op
[2]);
7672 printf (" ss = 0x%x,", ss
);
7673 printf (" rsrc = 0x%x,", rsrc
);
7674 printf (" rdst = 0x%x\n", rdst
);
7676 SYNTAX("xchg %1%S1, %0");
7677 #line 363 "rx-decode.opc"
7678 ID(xchg
); DR(rdst
); SP(ss
, rsrc
);
7686 switch (op
[2] & 0x00)
7689 goto op_semantics_55
;
7695 switch (op
[2] & 0x00)
7698 goto op_semantics_55
;
7704 switch (op
[2] & 0x00)
7707 goto op_semantics_55
;
7713 switch (op
[2] & 0x00)
7718 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7719 #line 860 "rx-decode.opc"
7720 int sd AU
= op
[1] & 0x03;
7721 #line 860 "rx-decode.opc"
7722 int rsrc AU
= (op
[2] >> 4) & 0x0f;
7723 #line 860 "rx-decode.opc"
7724 int rdst AU
= op
[2] & 0x0f;
7727 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7728 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7729 op
[0], op
[1], op
[2]);
7730 printf (" sd = 0x%x,", sd
);
7731 printf (" rsrc = 0x%x,", rsrc
);
7732 printf (" rdst = 0x%x\n", rdst
);
7734 SYNTAX("itof %1%S1, %0");
7735 #line 860 "rx-decode.opc"
7736 ID(itof
); DR (rdst
); SP(sd
, rsrc
); F("-SZ-");
7744 switch (op
[2] & 0x00)
7747 goto op_semantics_56
;
7753 switch (op
[2] & 0x00)
7756 goto op_semantics_56
;
7762 switch (op
[2] & 0x00)
7765 goto op_semantics_56
;
7771 switch (op
[2] & 0x00)
7776 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7777 #line 872 "rx-decode.opc"
7778 int sd AU
= op
[1] & 0x03;
7779 #line 872 "rx-decode.opc"
7780 int rdst AU
= (op
[2] >> 4) & 0x0f;
7781 #line 872 "rx-decode.opc"
7782 int rsrc AU
= op
[2] & 0x0f;
7785 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7786 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7787 op
[0], op
[1], op
[2]);
7788 printf (" sd = 0x%x,", sd
);
7789 printf (" rdst = 0x%x,", rdst
);
7790 printf (" rsrc = 0x%x\n", rsrc
);
7792 SYNTAX("bset %1, %0%S0");
7793 #line 872 "rx-decode.opc"
7794 ID(bset
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F("----");
7802 switch (op
[2] & 0x00)
7805 goto op_semantics_57
;
7811 switch (op
[2] & 0x00)
7814 goto op_semantics_57
;
7820 switch (op
[2] & 0x00)
7823 goto op_semantics_57
;
7829 switch (op
[2] & 0x00)
7834 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7835 #line 882 "rx-decode.opc"
7836 int sd AU
= op
[1] & 0x03;
7837 #line 882 "rx-decode.opc"
7838 int rdst AU
= (op
[2] >> 4) & 0x0f;
7839 #line 882 "rx-decode.opc"
7840 int rsrc AU
= op
[2] & 0x0f;
7843 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7844 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7845 op
[0], op
[1], op
[2]);
7846 printf (" sd = 0x%x,", sd
);
7847 printf (" rdst = 0x%x,", rdst
);
7848 printf (" rsrc = 0x%x\n", rsrc
);
7850 SYNTAX("bclr %1, %0%S0");
7851 #line 882 "rx-decode.opc"
7852 ID(bclr
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
); F("----");
7860 switch (op
[2] & 0x00)
7863 goto op_semantics_58
;
7869 switch (op
[2] & 0x00)
7872 goto op_semantics_58
;
7878 switch (op
[2] & 0x00)
7881 goto op_semantics_58
;
7887 switch (op
[2] & 0x00)
7892 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7893 #line 892 "rx-decode.opc"
7894 int sd AU
= op
[1] & 0x03;
7895 #line 892 "rx-decode.opc"
7896 int rdst AU
= (op
[2] >> 4) & 0x0f;
7897 #line 892 "rx-decode.opc"
7898 int rsrc AU
= op
[2] & 0x0f;
7901 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7902 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7903 op
[0], op
[1], op
[2]);
7904 printf (" sd = 0x%x,", sd
);
7905 printf (" rdst = 0x%x,", rdst
);
7906 printf (" rsrc = 0x%x\n", rsrc
);
7908 SYNTAX("btst %2, %1%S1");
7909 #line 892 "rx-decode.opc"
7910 ID(btst
); BWL(BSIZE
); S2R(rsrc
); SD(sd
, rdst
, BSIZE
); F("--ZC");
7918 switch (op
[2] & 0x00)
7921 goto op_semantics_59
;
7927 switch (op
[2] & 0x00)
7930 goto op_semantics_59
;
7936 switch (op
[2] & 0x00)
7939 goto op_semantics_59
;
7945 switch (op
[2] & 0x00)
7950 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7951 #line 902 "rx-decode.opc"
7952 int sd AU
= op
[1] & 0x03;
7953 #line 902 "rx-decode.opc"
7954 int rdst AU
= (op
[2] >> 4) & 0x0f;
7955 #line 902 "rx-decode.opc"
7956 int rsrc AU
= op
[2] & 0x0f;
7959 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7960 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7961 op
[0], op
[1], op
[2]);
7962 printf (" sd = 0x%x,", sd
);
7963 printf (" rdst = 0x%x,", rdst
);
7964 printf (" rsrc = 0x%x\n", rsrc
);
7966 SYNTAX("bnot %1, %0%S0");
7967 #line 902 "rx-decode.opc"
7968 ID(bnot
); BWL(BSIZE
); SR(rsrc
); DD(sd
, rdst
, BSIZE
);
7976 switch (op
[2] & 0x00)
7979 goto op_semantics_60
;
7985 switch (op
[2] & 0x00)
7988 goto op_semantics_60
;
7994 switch (op
[2] & 0x00)
7997 goto op_semantics_60
;
8003 switch (op
[2] & 0x00)
8008 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8009 #line 839 "rx-decode.opc"
8010 int sd AU
= op
[1] & 0x03;
8011 #line 839 "rx-decode.opc"
8012 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8013 #line 839 "rx-decode.opc"
8014 int rdst AU
= op
[2] & 0x0f;
8017 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8018 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8019 op
[0], op
[1], op
[2]);
8020 printf (" sd = 0x%x,", sd
);
8021 printf (" rsrc = 0x%x,", rsrc
);
8022 printf (" rdst = 0x%x\n", rdst
);
8024 SYNTAX("fsub %1%S1, %0");
8025 #line 839 "rx-decode.opc"
8026 ID(fsub
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8034 switch (op
[2] & 0x00)
8037 goto op_semantics_61
;
8043 switch (op
[2] & 0x00)
8046 goto op_semantics_61
;
8052 switch (op
[2] & 0x00)
8055 goto op_semantics_61
;
8061 switch (op
[2] & 0x00)
8066 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8067 #line 833 "rx-decode.opc"
8068 int sd AU
= op
[1] & 0x03;
8069 #line 833 "rx-decode.opc"
8070 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8071 #line 833 "rx-decode.opc"
8072 int rdst AU
= op
[2] & 0x0f;
8075 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8076 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8077 op
[0], op
[1], op
[2]);
8078 printf (" sd = 0x%x,", sd
);
8079 printf (" rsrc = 0x%x,", rsrc
);
8080 printf (" rdst = 0x%x\n", rdst
);
8082 SYNTAX("fcmp %1%S1, %0");
8083 #line 833 "rx-decode.opc"
8084 ID(fcmp
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("OSZ-");
8092 switch (op
[2] & 0x00)
8095 goto op_semantics_62
;
8101 switch (op
[2] & 0x00)
8104 goto op_semantics_62
;
8110 switch (op
[2] & 0x00)
8113 goto op_semantics_62
;
8119 switch (op
[2] & 0x00)
8124 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8125 #line 827 "rx-decode.opc"
8126 int sd AU
= op
[1] & 0x03;
8127 #line 827 "rx-decode.opc"
8128 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8129 #line 827 "rx-decode.opc"
8130 int rdst AU
= op
[2] & 0x0f;
8133 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8134 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8135 op
[0], op
[1], op
[2]);
8136 printf (" sd = 0x%x,", sd
);
8137 printf (" rsrc = 0x%x,", rsrc
);
8138 printf (" rdst = 0x%x\n", rdst
);
8140 SYNTAX("fadd %1%S1, %0");
8141 #line 827 "rx-decode.opc"
8142 ID(fadd
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8150 switch (op
[2] & 0x00)
8153 goto op_semantics_63
;
8159 switch (op
[2] & 0x00)
8162 goto op_semantics_63
;
8168 switch (op
[2] & 0x00)
8171 goto op_semantics_63
;
8177 switch (op
[2] & 0x00)
8182 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8183 #line 848 "rx-decode.opc"
8184 int sd AU
= op
[1] & 0x03;
8185 #line 848 "rx-decode.opc"
8186 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8187 #line 848 "rx-decode.opc"
8188 int rdst AU
= op
[2] & 0x0f;
8191 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8192 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8193 op
[0], op
[1], op
[2]);
8194 printf (" sd = 0x%x,", sd
);
8195 printf (" rsrc = 0x%x,", rsrc
);
8196 printf (" rdst = 0x%x\n", rdst
);
8198 SYNTAX("fmul %1%S1, %0");
8199 #line 848 "rx-decode.opc"
8200 ID(fmul
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8208 switch (op
[2] & 0x00)
8211 goto op_semantics_64
;
8217 switch (op
[2] & 0x00)
8220 goto op_semantics_64
;
8226 switch (op
[2] & 0x00)
8229 goto op_semantics_64
;
8235 switch (op
[2] & 0x00)
8240 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8241 #line 854 "rx-decode.opc"
8242 int sd AU
= op
[1] & 0x03;
8243 #line 854 "rx-decode.opc"
8244 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8245 #line 854 "rx-decode.opc"
8246 int rdst AU
= op
[2] & 0x0f;
8249 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8250 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8251 op
[0], op
[1], op
[2]);
8252 printf (" sd = 0x%x,", sd
);
8253 printf (" rsrc = 0x%x,", rsrc
);
8254 printf (" rdst = 0x%x\n", rdst
);
8256 SYNTAX("fdiv %1%S1, %0");
8257 #line 854 "rx-decode.opc"
8258 ID(fdiv
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8266 switch (op
[2] & 0x00)
8269 goto op_semantics_65
;
8275 switch (op
[2] & 0x00)
8278 goto op_semantics_65
;
8284 switch (op
[2] & 0x00)
8287 goto op_semantics_65
;
8293 switch (op
[2] & 0x00)
8298 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8299 #line 842 "rx-decode.opc"
8300 int sd AU
= op
[1] & 0x03;
8301 #line 842 "rx-decode.opc"
8302 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8303 #line 842 "rx-decode.opc"
8304 int rdst AU
= op
[2] & 0x0f;
8307 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8308 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8309 op
[0], op
[1], op
[2]);
8310 printf (" sd = 0x%x,", sd
);
8311 printf (" rsrc = 0x%x,", rsrc
);
8312 printf (" rdst = 0x%x\n", rdst
);
8314 SYNTAX("ftoi %1%S1, %0");
8315 #line 842 "rx-decode.opc"
8316 ID(ftoi
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8324 switch (op
[2] & 0x00)
8327 goto op_semantics_66
;
8333 switch (op
[2] & 0x00)
8336 goto op_semantics_66
;
8342 switch (op
[2] & 0x00)
8345 goto op_semantics_66
;
8351 switch (op
[2] & 0x00)
8356 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8357 #line 857 "rx-decode.opc"
8358 int sd AU
= op
[1] & 0x03;
8359 #line 857 "rx-decode.opc"
8360 int rsrc AU
= (op
[2] >> 4) & 0x0f;
8361 #line 857 "rx-decode.opc"
8362 int rdst AU
= op
[2] & 0x0f;
8365 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8366 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8367 op
[0], op
[1], op
[2]);
8368 printf (" sd = 0x%x,", sd
);
8369 printf (" rsrc = 0x%x,", rsrc
);
8370 printf (" rdst = 0x%x\n", rdst
);
8372 SYNTAX("round %1%S1, %0");
8373 #line 857 "rx-decode.opc"
8374 ID(round
); DR(rdst
); SD(sd
, rsrc
, LSIZE
); F("-SZ-");
8382 switch (op
[2] & 0x00)
8385 goto op_semantics_67
;
8391 switch (op
[2] & 0x00)
8394 goto op_semantics_67
;
8400 switch (op
[2] & 0x00)
8403 goto op_semantics_67
;
8409 switch (op
[2] & 0x00)
8414 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8415 #line 966 "rx-decode.opc"
8416 int sz AU
= (op
[1] >> 2) & 0x03;
8417 #line 966 "rx-decode.opc"
8418 int sd AU
= op
[1] & 0x03;
8419 #line 966 "rx-decode.opc"
8420 int rdst AU
= (op
[2] >> 4) & 0x0f;
8421 #line 966 "rx-decode.opc"
8422 int cond AU
= op
[2] & 0x0f;
8425 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8426 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8427 op
[0], op
[1], op
[2]);
8428 printf (" sz = 0x%x,", sz
);
8429 printf (" sd = 0x%x,", sd
);
8430 printf (" rdst = 0x%x,", rdst
);
8431 printf (" cond = 0x%x\n", cond
);
8433 SYNTAX("sc%1%s %0");
8434 #line 966 "rx-decode.opc"
8435 ID(sccnd
); BWL(sz
); DD (sd
, rdst
, sz
); Scc(cond
);
8443 switch (op
[2] & 0x00)
8446 goto op_semantics_68
;
8452 switch (op
[2] & 0x00)
8455 goto op_semantics_68
;
8461 switch (op
[2] & 0x00)
8464 goto op_semantics_68
;
8470 switch (op
[2] & 0x00)
8473 goto op_semantics_68
;
8479 switch (op
[2] & 0x00)
8482 goto op_semantics_68
;
8488 switch (op
[2] & 0x00)
8491 goto op_semantics_68
;
8497 switch (op
[2] & 0x00)
8500 goto op_semantics_68
;
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] & 0x0f)
8561 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8562 #line 909 "rx-decode.opc"
8563 int bit AU
= (op
[1] >> 2) & 0x07;
8564 #line 909 "rx-decode.opc"
8565 int sd AU
= op
[1] & 0x03;
8566 #line 909 "rx-decode.opc"
8567 int rdst AU
= (op
[2] >> 4) & 0x0f;
8568 #line 909 "rx-decode.opc"
8569 int cond AU
= op
[2] & 0x0f;
8572 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8573 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8574 op
[0], op
[1], op
[2]);
8575 printf (" bit = 0x%x,", bit
);
8576 printf (" sd = 0x%x,", sd
);
8577 printf (" rdst = 0x%x,", rdst
);
8578 printf (" cond = 0x%x\n", cond
);
8580 SYNTAX("bm%2 #%1, %0%S0");
8581 #line 909 "rx-decode.opc"
8582 ID(bmcc
); BWL(BSIZE
); S2cc(cond
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8589 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8590 #line 899 "rx-decode.opc"
8591 int bit AU
= (op
[1] >> 2) & 0x07;
8592 #line 899 "rx-decode.opc"
8593 int sd AU
= op
[1] & 0x03;
8594 #line 899 "rx-decode.opc"
8595 int rdst AU
= (op
[2] >> 4) & 0x0f;
8598 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8599 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8600 op
[0], op
[1], op
[2]);
8601 printf (" bit = 0x%x,", bit
);
8602 printf (" sd = 0x%x,", sd
);
8603 printf (" rdst = 0x%x\n", rdst
);
8605 SYNTAX("bnot #%1, %0%S0");
8606 #line 899 "rx-decode.opc"
8607 ID(bnot
); BWL(BSIZE
); SC(bit
); DD(sd
, rdst
, BSIZE
);
8615 switch (op
[2] & 0x0f)
8632 goto op_semantics_69
;
8635 goto op_semantics_70
;
8641 switch (op
[2] & 0x0f)
8658 goto op_semantics_69
;
8661 goto op_semantics_70
;
8667 switch (op
[2] & 0x0f)
8684 goto op_semantics_69
;
8687 goto op_semantics_70
;
8693 switch (op
[2] & 0x0f)
8710 goto op_semantics_69
;
8713 goto op_semantics_70
;
8719 switch (op
[2] & 0x0f)
8736 goto op_semantics_69
;
8739 goto op_semantics_70
;
8745 switch (op
[2] & 0x0f)
8762 goto op_semantics_69
;
8765 goto op_semantics_70
;
8771 switch (op
[2] & 0x0f)
8788 goto op_semantics_69
;
8791 goto op_semantics_70
;
8797 switch (op
[2] & 0x0f)
8814 goto op_semantics_69
;
8817 goto op_semantics_70
;
8823 switch (op
[2] & 0x0f)
8840 goto op_semantics_69
;
8843 goto op_semantics_70
;
8849 switch (op
[2] & 0x0f)
8866 goto op_semantics_69
;
8869 goto op_semantics_70
;
8875 switch (op
[2] & 0x0f)
8892 goto op_semantics_69
;
8895 goto op_semantics_70
;
8901 switch (op
[2] & 0x0f)
8918 goto op_semantics_69
;
8921 goto op_semantics_70
;
8927 switch (op
[2] & 0x0f)
8944 goto op_semantics_69
;
8947 goto op_semantics_70
;
8953 switch (op
[2] & 0x0f)
8970 goto op_semantics_69
;
8973 goto op_semantics_70
;
8979 switch (op
[2] & 0x0f)
8996 goto op_semantics_69
;
8999 goto op_semantics_70
;
9005 switch (op
[2] & 0x0f)
9022 goto op_semantics_69
;
9025 goto op_semantics_70
;
9031 switch (op
[2] & 0x0f)
9048 goto op_semantics_69
;
9051 goto op_semantics_70
;
9057 switch (op
[2] & 0x0f)
9074 goto op_semantics_69
;
9077 goto op_semantics_70
;
9083 switch (op
[2] & 0x0f)
9100 goto op_semantics_69
;
9103 goto op_semantics_70
;
9109 switch (op
[2] & 0x0f)
9126 goto op_semantics_69
;
9129 goto op_semantics_70
;
9135 switch (op
[2] & 0x0f)
9152 goto op_semantics_69
;
9155 goto op_semantics_70
;
9161 switch (op
[2] & 0x0f)
9178 goto op_semantics_69
;
9181 goto op_semantics_70
;
9187 switch (op
[2] & 0x0f)
9204 goto op_semantics_69
;
9207 goto op_semantics_70
;
9213 switch (op
[2] & 0x0f)
9230 goto op_semantics_69
;
9233 goto op_semantics_70
;
9239 switch (op
[2] & 0x0f)
9256 goto op_semantics_69
;
9259 goto op_semantics_70
;
9265 switch (op
[2] & 0x0f)
9282 goto op_semantics_69
;
9285 goto op_semantics_70
;
9291 switch (op
[2] & 0x0f)
9308 goto op_semantics_69
;
9311 goto op_semantics_70
;
9317 switch (op
[2] & 0x0f)
9334 goto op_semantics_69
;
9337 goto op_semantics_70
;
9343 switch (op
[2] & 0x0f)
9360 goto op_semantics_69
;
9363 goto op_semantics_70
;
9369 switch (op
[2] & 0x0f)
9386 goto op_semantics_69
;
9389 goto op_semantics_70
;
9395 switch (op
[2] & 0x0f)
9412 goto op_semantics_69
;
9415 goto op_semantics_70
;
9419 default: UNSUPPORTED(); break;
9424 switch (op
[1] & 0xff)
9428 switch (op
[2] & 0x00)
9432 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9433 #line 782 "rx-decode.opc"
9434 int srca AU
= (op
[2] >> 4) & 0x0f;
9435 #line 782 "rx-decode.opc"
9436 int srcb AU
= op
[2] & 0x0f;
9439 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9440 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9441 op
[0], op
[1], op
[2]);
9442 printf (" srca = 0x%x,", srca
);
9443 printf (" srcb = 0x%x\n", srcb
);
9445 SYNTAX("mulhi %1, %2");
9446 #line 782 "rx-decode.opc"
9447 ID(mulhi
); SR(srca
); S2R(srcb
); F("----");
9455 switch (op
[2] & 0x00)
9459 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9460 #line 785 "rx-decode.opc"
9461 int srca AU
= (op
[2] >> 4) & 0x0f;
9462 #line 785 "rx-decode.opc"
9463 int srcb AU
= op
[2] & 0x0f;
9466 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9467 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9468 op
[0], op
[1], op
[2]);
9469 printf (" srca = 0x%x,", srca
);
9470 printf (" srcb = 0x%x\n", srcb
);
9472 SYNTAX("mullo %1, %2");
9473 #line 785 "rx-decode.opc"
9474 ID(mullo
); SR(srca
); S2R(srcb
); F("----");
9482 switch (op
[2] & 0x00)
9486 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9487 #line 788 "rx-decode.opc"
9488 int srca AU
= (op
[2] >> 4) & 0x0f;
9489 #line 788 "rx-decode.opc"
9490 int srcb AU
= op
[2] & 0x0f;
9493 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9494 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9495 op
[0], op
[1], op
[2]);
9496 printf (" srca = 0x%x,", srca
);
9497 printf (" srcb = 0x%x\n", srcb
);
9499 SYNTAX("machi %1, %2");
9500 #line 788 "rx-decode.opc"
9501 ID(machi
); SR(srca
); S2R(srcb
); F("----");
9509 switch (op
[2] & 0x00)
9513 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9514 #line 791 "rx-decode.opc"
9515 int srca AU
= (op
[2] >> 4) & 0x0f;
9516 #line 791 "rx-decode.opc"
9517 int srcb AU
= op
[2] & 0x0f;
9520 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9521 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9522 op
[0], op
[1], op
[2]);
9523 printf (" srca = 0x%x,", srca
);
9524 printf (" srcb = 0x%x\n", srcb
);
9526 SYNTAX("maclo %1, %2");
9527 #line 791 "rx-decode.opc"
9528 ID(maclo
); SR(srca
); S2R(srcb
); F("----");
9536 switch (op
[2] & 0xf0)
9540 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9541 #line 794 "rx-decode.opc"
9542 int rsrc AU
= op
[2] & 0x0f;
9545 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9546 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9547 op
[0], op
[1], op
[2]);
9548 printf (" rsrc = 0x%x\n", rsrc
);
9550 SYNTAX("mvtachi %1");
9551 #line 794 "rx-decode.opc"
9552 ID(mvtachi
); SR(rsrc
); F("----");
9558 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9559 #line 797 "rx-decode.opc"
9560 int rsrc AU
= op
[2] & 0x0f;
9563 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9564 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9565 op
[0], op
[1], op
[2]);
9566 printf (" rsrc = 0x%x\n", rsrc
);
9568 SYNTAX("mvtaclo %1");
9569 #line 797 "rx-decode.opc"
9570 ID(mvtaclo
); SR(rsrc
); F("----");
9574 default: UNSUPPORTED(); break;
9579 switch (op
[2] & 0xef)
9583 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9584 #line 809 "rx-decode.opc"
9585 int i AU
= (op
[2] >> 4) & 0x01;
9588 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9589 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9590 op
[0], op
[1], op
[2]);
9591 printf (" i = 0x%x\n", i
);
9594 #line 809 "rx-decode.opc"
9595 ID(racw
); SC(i
+1); F("----");
9597 /*----------------------------------------------------------------------*/
9602 default: UNSUPPORTED(); break;
9607 switch (op
[2] & 0xf0)
9611 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9612 #line 800 "rx-decode.opc"
9613 int rdst AU
= op
[2] & 0x0f;
9616 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9617 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9618 op
[0], op
[1], op
[2]);
9619 printf (" rdst = 0x%x\n", rdst
);
9621 SYNTAX("mvfachi %0");
9622 #line 800 "rx-decode.opc"
9623 ID(mvfachi
); DR(rdst
); F("----");
9629 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9630 #line 806 "rx-decode.opc"
9631 int rdst AU
= op
[2] & 0x0f;
9634 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9635 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9636 op
[0], op
[1], op
[2]);
9637 printf (" rdst = 0x%x\n", rdst
);
9639 SYNTAX("mvfaclo %0");
9640 #line 806 "rx-decode.opc"
9641 ID(mvfaclo
); DR(rdst
); F("----");
9647 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9648 #line 803 "rx-decode.opc"
9649 int rdst AU
= op
[2] & 0x0f;
9652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9653 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9654 op
[0], op
[1], op
[2]);
9655 printf (" rdst = 0x%x\n", rdst
);
9657 SYNTAX("mvfacmi %0");
9658 #line 803 "rx-decode.opc"
9659 ID(mvfacmi
); DR(rdst
); F("----");
9663 default: UNSUPPORTED(); break;
9668 switch (op
[2] & 0x00)
9673 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9674 #line 324 "rx-decode.opc"
9675 int p AU
= (op
[1] >> 2) & 0x01;
9676 #line 324 "rx-decode.opc"
9677 int sz AU
= op
[1] & 0x03;
9678 #line 324 "rx-decode.opc"
9679 int rdst AU
= (op
[2] >> 4) & 0x0f;
9680 #line 324 "rx-decode.opc"
9681 int rsrc AU
= op
[2] & 0x0f;
9684 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9685 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9686 op
[0], op
[1], op
[2]);
9687 printf (" p = 0x%x,", p
);
9688 printf (" sz = 0x%x,", sz
);
9689 printf (" rdst = 0x%x,", rdst
);
9690 printf (" rsrc = 0x%x\n", rsrc
);
9692 SYNTAX("mov%s %1, %0");
9693 #line 324 "rx-decode.opc"
9694 ID(mov
); sBWL (sz
); SR(rsrc
); F("----");
9695 OP(0, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rdst
, 0);
9703 switch (op
[2] & 0x00)
9706 goto op_semantics_71
;
9712 switch (op
[2] & 0x00)
9715 goto op_semantics_71
;
9721 switch (op
[2] & 0x00)
9724 goto op_semantics_71
;
9730 switch (op
[2] & 0x00)
9733 goto op_semantics_71
;
9739 switch (op
[2] & 0x00)
9742 goto op_semantics_71
;
9748 switch (op
[2] & 0x00)
9753 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9754 #line 328 "rx-decode.opc"
9755 int p AU
= (op
[1] >> 2) & 0x01;
9756 #line 328 "rx-decode.opc"
9757 int sz AU
= op
[1] & 0x03;
9758 #line 328 "rx-decode.opc"
9759 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9760 #line 328 "rx-decode.opc"
9761 int rdst AU
= op
[2] & 0x0f;
9764 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9765 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9766 op
[0], op
[1], op
[2]);
9767 printf (" p = 0x%x,", p
);
9768 printf (" sz = 0x%x,", sz
);
9769 printf (" rsrc = 0x%x,", rsrc
);
9770 printf (" rdst = 0x%x\n", rdst
);
9772 SYNTAX("mov%s %1, %0");
9773 #line 328 "rx-decode.opc"
9774 ID(mov
); sBWL (sz
); DR(rdst
); F("----");
9775 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9783 switch (op
[2] & 0x00)
9786 goto op_semantics_72
;
9792 switch (op
[2] & 0x00)
9795 goto op_semantics_72
;
9801 switch (op
[2] & 0x00)
9804 goto op_semantics_72
;
9810 switch (op
[2] & 0x00)
9813 goto op_semantics_72
;
9819 switch (op
[2] & 0x00)
9822 goto op_semantics_72
;
9828 switch (op
[2] & 0x00)
9833 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9834 #line 338 "rx-decode.opc"
9835 int p AU
= (op
[1] >> 2) & 0x01;
9836 #line 338 "rx-decode.opc"
9837 int sz AU
= op
[1] & 0x03;
9838 #line 338 "rx-decode.opc"
9839 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9840 #line 338 "rx-decode.opc"
9841 int rdst AU
= op
[2] & 0x0f;
9844 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9845 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9846 op
[0], op
[1], op
[2]);
9847 printf (" p = 0x%x,", p
);
9848 printf (" sz = 0x%x,", sz
);
9849 printf (" rsrc = 0x%x,", rsrc
);
9850 printf (" rdst = 0x%x\n", rdst
);
9852 SYNTAX("movu%s %1, %0");
9853 #line 338 "rx-decode.opc"
9854 ID(mov
); uBWL (sz
); DR(rdst
); F("----");
9855 OP(1, p
? RX_Operand_Predec
: RX_Operand_Postinc
, rsrc
, 0);
9857 /*----------------------------------------------------------------------*/
9866 switch (op
[2] & 0x00)
9869 goto op_semantics_73
;
9875 switch (op
[2] & 0x00)
9878 goto op_semantics_73
;
9884 switch (op
[2] & 0x00)
9887 goto op_semantics_73
;
9893 switch (op
[2] & 0x00)
9896 goto op_semantics_73
;
9902 switch (op
[2] & 0x00)
9905 goto op_semantics_73
;
9911 switch (op
[2] & 0x00)
9915 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9916 #line 663 "rx-decode.opc"
9917 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9918 #line 663 "rx-decode.opc"
9919 int rdst AU
= op
[2] & 0x0f;
9922 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9923 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9924 op
[0], op
[1], op
[2]);
9925 printf (" rsrc = 0x%x,", rsrc
);
9926 printf (" rdst = 0x%x\n", rdst
);
9928 SYNTAX("shlr %2, %0");
9929 #line 663 "rx-decode.opc"
9930 ID(shlr
); S2R(rsrc
); SR(rdst
); DR(rdst
); F("-SZC");
9938 switch (op
[2] & 0x00)
9942 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9943 #line 653 "rx-decode.opc"
9944 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9945 #line 653 "rx-decode.opc"
9946 int rdst AU
= op
[2] & 0x0f;
9949 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9950 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9951 op
[0], op
[1], op
[2]);
9952 printf (" rsrc = 0x%x,", rsrc
);
9953 printf (" rdst = 0x%x\n", rdst
);
9955 SYNTAX("shar %2, %0");
9956 #line 653 "rx-decode.opc"
9957 ID(shar
); S2R(rsrc
); SR(rdst
); DR(rdst
); F("0SZC");
9965 switch (op
[2] & 0x00)
9969 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
9970 #line 643 "rx-decode.opc"
9971 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9972 #line 643 "rx-decode.opc"
9973 int rdst AU
= op
[2] & 0x0f;
9976 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9977 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
9978 op
[0], op
[1], op
[2]);
9979 printf (" rsrc = 0x%x,", rsrc
);
9980 printf (" rdst = 0x%x\n", rdst
);
9982 SYNTAX("shll %2, %0");
9983 #line 643 "rx-decode.opc"
9984 ID(shll
); S2R(rsrc
); SR(rdst
); DR(rdst
); F("OSZC");
9992 switch (op
[2] & 0x00)
9996 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
9997 #line 687 "rx-decode.opc"
9998 int rsrc AU
= (op
[2] >> 4) & 0x0f;
9999 #line 687 "rx-decode.opc"
10000 int rdst AU
= op
[2] & 0x0f;
10003 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10004 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
10005 op
[0], op
[1], op
[2]);
10006 printf (" rsrc = 0x%x,", rsrc
);
10007 printf (" rdst = 0x%x\n", rdst
);
10009 SYNTAX("rotr %1, %0");
10010 #line 687 "rx-decode.opc"
10011 ID(rotr
); SR(rsrc
); DR(rdst
); F("-SZC");
10019 switch (op
[2] & 0x00)
10023 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10024 #line 690 "rx-decode.opc"
10025 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10026 #line 690 "rx-decode.opc"
10027 int rdst AU
= op
[2] & 0x0f;
10030 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10031 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10032 op
[0], op
[1], op
[2]);
10033 printf (" rsrc = 0x%x,", rsrc
);
10034 printf (" rdst = 0x%x\n", rdst
);
10036 SYNTAX("revw %1, %0");
10037 #line 690 "rx-decode.opc"
10038 ID(revw
); SR(rsrc
); DR(rdst
);
10046 switch (op
[2] & 0x00)
10050 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10051 #line 681 "rx-decode.opc"
10052 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10053 #line 681 "rx-decode.opc"
10054 int rdst AU
= op
[2] & 0x0f;
10057 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10058 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10059 op
[0], op
[1], op
[2]);
10060 printf (" rsrc = 0x%x,", rsrc
);
10061 printf (" rdst = 0x%x\n", rdst
);
10063 SYNTAX("rotl %1, %0");
10064 #line 681 "rx-decode.opc"
10065 ID(rotl
); SR(rsrc
); DR(rdst
); F("-SZC");
10073 switch (op
[2] & 0x00)
10077 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10078 #line 693 "rx-decode.opc"
10079 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10080 #line 693 "rx-decode.opc"
10081 int rdst AU
= op
[2] & 0x0f;
10084 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10085 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10086 op
[0], op
[1], op
[2]);
10087 printf (" rsrc = 0x%x,", rsrc
);
10088 printf (" rdst = 0x%x\n", rdst
);
10090 SYNTAX("revl %1, %0");
10091 #line 693 "rx-decode.opc"
10092 ID(revl
); SR(rsrc
); DR(rdst
);
10094 /*----------------------------------------------------------------------*/
10103 switch (op
[2] & 0x00)
10108 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10109 #line 936 "rx-decode.opc"
10110 int c AU
= op
[1] & 0x01;
10111 #line 936 "rx-decode.opc"
10112 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10113 #line 936 "rx-decode.opc"
10114 int rdst AU
= op
[2] & 0x0f;
10117 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10118 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10119 op
[0], op
[1], op
[2]);
10120 printf (" c = 0x%x,", c
);
10121 printf (" rsrc = 0x%x,", rsrc
);
10122 printf (" rdst = 0x%x\n", rdst
);
10124 SYNTAX("mvtc %1, %0");
10125 #line 936 "rx-decode.opc"
10126 ID(mov
); SR(rsrc
); DR(c
*16+rdst
+ 16);
10134 switch (op
[2] & 0x00)
10137 goto op_semantics_74
;
10143 switch (op
[2] & 0x00)
10148 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10149 #line 939 "rx-decode.opc"
10150 int s AU
= op
[1] & 0x01;
10151 #line 939 "rx-decode.opc"
10152 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10153 #line 939 "rx-decode.opc"
10154 int rdst AU
= op
[2] & 0x0f;
10157 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10158 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10159 op
[0], op
[1], op
[2]);
10160 printf (" s = 0x%x,", s
);
10161 printf (" rsrc = 0x%x,", rsrc
);
10162 printf (" rdst = 0x%x\n", rdst
);
10164 SYNTAX("mvfc %1, %0");
10165 #line 939 "rx-decode.opc"
10166 ID(mov
); SR((s
*16+rsrc
) + 16); DR(rdst
);
10168 /*----------------------------------------------------------------------*/
10177 switch (op
[2] & 0x00)
10180 goto op_semantics_75
;
10186 switch (op
[2] & 0x00)
10191 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10192 #line 684 "rx-decode.opc"
10193 int i AU
= op
[1] & 0x01;
10194 #line 684 "rx-decode.opc"
10195 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10196 #line 684 "rx-decode.opc"
10197 int rdst AU
= op
[2] & 0x0f;
10200 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10201 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10202 op
[0], op
[1], op
[2]);
10203 printf (" i = 0x%x,", i
);
10204 printf (" mmmm = 0x%x,", mmmm
);
10205 printf (" rdst = 0x%x\n", rdst
);
10207 SYNTAX("rotr #%1, %0");
10208 #line 684 "rx-decode.opc"
10209 ID(rotr
); SC(i
*16+mmmm
); DR(rdst
); F("-SZC");
10217 switch (op
[2] & 0x00)
10220 goto op_semantics_76
;
10226 switch (op
[2] & 0x00)
10231 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10232 #line 678 "rx-decode.opc"
10233 int i AU
= op
[1] & 0x01;
10234 #line 678 "rx-decode.opc"
10235 int mmmm AU
= (op
[2] >> 4) & 0x0f;
10236 #line 678 "rx-decode.opc"
10237 int rdst AU
= op
[2] & 0x0f;
10240 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10241 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10242 op
[0], op
[1], op
[2]);
10243 printf (" i = 0x%x,", i
);
10244 printf (" mmmm = 0x%x,", mmmm
);
10245 printf (" rdst = 0x%x\n", rdst
);
10247 SYNTAX("rotl #%1, %0");
10248 #line 678 "rx-decode.opc"
10249 ID(rotl
); SC(i
*16+mmmm
); DR(rdst
); F("-SZC");
10257 switch (op
[2] & 0x00)
10260 goto op_semantics_77
;
10266 switch (op
[2] & 0xf0)
10271 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10272 #line 468 "rx-decode.opc"
10273 int im AU
= (op
[1] >> 2) & 0x03;
10274 #line 468 "rx-decode.opc"
10275 int rdst AU
= op
[2] & 0x0f;
10278 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10279 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10280 op
[0], op
[1], op
[2]);
10281 printf (" im = 0x%x,", im
);
10282 printf (" rdst = 0x%x\n", rdst
);
10284 SYNTAX("adc #%1, %0");
10285 #line 468 "rx-decode.opc"
10286 ID(adc
); SC(IMMex(im
)); DR(rdst
); F("OSZC");
10293 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10294 #line 550 "rx-decode.opc"
10295 int im AU
= (op
[1] >> 2) & 0x03;
10296 #line 550 "rx-decode.opc"
10297 int rdst AU
= op
[2] & 0x0f;
10300 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10301 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10302 op
[0], op
[1], op
[2]);
10303 printf (" im = 0x%x,", im
);
10304 printf (" rdst = 0x%x\n", rdst
);
10306 SYNTAX("max #%1, %0");
10307 #line 550 "rx-decode.opc"
10308 ID(max
); DR(rdst
); SC(IMMex(im
));
10315 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10316 #line 562 "rx-decode.opc"
10317 int im AU
= (op
[1] >> 2) & 0x03;
10318 #line 562 "rx-decode.opc"
10319 int rdst AU
= op
[2] & 0x0f;
10322 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10323 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10324 op
[0], op
[1], op
[2]);
10325 printf (" im = 0x%x,", im
);
10326 printf (" rdst = 0x%x\n", rdst
);
10328 SYNTAX("min #%1, %0");
10329 #line 562 "rx-decode.opc"
10330 ID(min
); DR(rdst
); SC(IMMex(im
));
10337 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10338 #line 592 "rx-decode.opc"
10339 int im AU
= (op
[1] >> 2) & 0x03;
10340 #line 592 "rx-decode.opc"
10341 int rdst AU
= op
[2] & 0x0f;
10344 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10345 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10346 op
[0], op
[1], op
[2]);
10347 printf (" im = 0x%x,", im
);
10348 printf (" rdst = 0x%x\n", rdst
);
10350 SYNTAX("emul #%1, %0");
10351 #line 592 "rx-decode.opc"
10352 ID(emul
); DR(rdst
); SC(IMMex(im
));
10359 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10360 #line 604 "rx-decode.opc"
10361 int im AU
= (op
[1] >> 2) & 0x03;
10362 #line 604 "rx-decode.opc"
10363 int rdst AU
= op
[2] & 0x0f;
10366 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10367 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10368 op
[0], op
[1], op
[2]);
10369 printf (" im = 0x%x,", im
);
10370 printf (" rdst = 0x%x\n", rdst
);
10372 SYNTAX("emulu #%1, %0");
10373 #line 604 "rx-decode.opc"
10374 ID(emulu
); DR(rdst
); SC(IMMex(im
));
10381 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10382 #line 616 "rx-decode.opc"
10383 int im AU
= (op
[1] >> 2) & 0x03;
10384 #line 616 "rx-decode.opc"
10385 int rdst AU
= op
[2] & 0x0f;
10388 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10389 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10390 op
[0], op
[1], op
[2]);
10391 printf (" im = 0x%x,", im
);
10392 printf (" rdst = 0x%x\n", rdst
);
10394 SYNTAX("div #%1, %0");
10395 #line 616 "rx-decode.opc"
10396 ID(div
); DR(rdst
); SC(IMMex(im
)); F("O---");
10403 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10404 #line 628 "rx-decode.opc"
10405 int im AU
= (op
[1] >> 2) & 0x03;
10406 #line 628 "rx-decode.opc"
10407 int rdst AU
= op
[2] & 0x0f;
10410 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10411 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10412 op
[0], op
[1], op
[2]);
10413 printf (" im = 0x%x,", im
);
10414 printf (" rdst = 0x%x\n", rdst
);
10416 SYNTAX("divu #%1, %0");
10417 #line 628 "rx-decode.opc"
10418 ID(divu
); DR(rdst
); SC(IMMex(im
)); F("O---");
10425 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10426 #line 447 "rx-decode.opc"
10427 int im AU
= (op
[1] >> 2) & 0x03;
10428 #line 447 "rx-decode.opc"
10429 int rdst AU
= op
[2] & 0x0f;
10432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10433 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10434 op
[0], op
[1], op
[2]);
10435 printf (" im = 0x%x,", im
);
10436 printf (" rdst = 0x%x\n", rdst
);
10438 SYNTAX("tst #%1, %2");
10439 #line 447 "rx-decode.opc"
10440 ID(and); SC(IMMex(im
)); S2R(rdst
); F("-SZ-");
10447 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10448 #line 426 "rx-decode.opc"
10449 int im AU
= (op
[1] >> 2) & 0x03;
10450 #line 426 "rx-decode.opc"
10451 int rdst AU
= op
[2] & 0x0f;
10454 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10455 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10456 op
[0], op
[1], op
[2]);
10457 printf (" im = 0x%x,", im
);
10458 printf (" rdst = 0x%x\n", rdst
);
10460 SYNTAX("xor #%1, %0");
10461 #line 426 "rx-decode.opc"
10462 ID(xor); SC(IMMex(im
)); DR(rdst
); F("-SZ-");
10469 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10470 #line 372 "rx-decode.opc"
10471 int im AU
= (op
[1] >> 2) & 0x03;
10472 #line 372 "rx-decode.opc"
10473 int rdst AU
= op
[2] & 0x0f;
10476 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10477 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10478 op
[0], op
[1], op
[2]);
10479 printf (" im = 0x%x,", im
);
10480 printf (" rdst = 0x%x\n", rdst
);
10482 SYNTAX("stz #%1, %0");
10483 #line 372 "rx-decode.opc"
10484 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_z
);
10491 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10492 #line 375 "rx-decode.opc"
10493 int im AU
= (op
[1] >> 2) & 0x03;
10494 #line 375 "rx-decode.opc"
10495 int rdst AU
= op
[2] & 0x0f;
10498 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10499 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10500 op
[0], op
[1], op
[2]);
10501 printf (" im = 0x%x,", im
);
10502 printf (" rdst = 0x%x\n", rdst
);
10504 SYNTAX("stnz #%1, %0");
10505 #line 375 "rx-decode.opc"
10506 ID(stcc
); SC(IMMex(im
)); DR(rdst
); S2cc(RXC_nz
);
10508 /*----------------------------------------------------------------------*/
10513 default: UNSUPPORTED(); break;
10518 switch (op
[2] & 0xf0)
10522 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10523 #line 836 "rx-decode.opc"
10524 int rdst AU
= op
[2] & 0x0f;
10527 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10528 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10529 op
[0], op
[1], op
[2]);
10530 printf (" rdst = 0x%x\n", rdst
);
10532 SYNTAX("fsub #%1, %0");
10533 #line 836 "rx-decode.opc"
10534 ID(fsub
); DR(rdst
); SC(IMM(0)); F("-SZ-");
10540 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10541 #line 830 "rx-decode.opc"
10542 int rdst AU
= op
[2] & 0x0f;
10545 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10546 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10547 op
[0], op
[1], op
[2]);
10548 printf (" rdst = 0x%x\n", rdst
);
10550 SYNTAX("fcmp #%1, %0");
10551 #line 830 "rx-decode.opc"
10552 ID(fcmp
); DR(rdst
); SC(IMM(0)); F("OSZ-");
10558 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10559 #line 824 "rx-decode.opc"
10560 int rdst AU
= op
[2] & 0x0f;
10563 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10564 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10565 op
[0], op
[1], op
[2]);
10566 printf (" rdst = 0x%x\n", rdst
);
10568 SYNTAX("fadd #%1, %0");
10569 #line 824 "rx-decode.opc"
10570 ID(fadd
); DR(rdst
); SC(IMM(0)); F("-SZ-");
10576 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10577 #line 845 "rx-decode.opc"
10578 int rdst AU
= op
[2] & 0x0f;
10581 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10582 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10583 op
[0], op
[1], op
[2]);
10584 printf (" rdst = 0x%x\n", rdst
);
10586 SYNTAX("fmul #%1, %0");
10587 #line 845 "rx-decode.opc"
10588 ID(fmul
); DR(rdst
); SC(IMM(0)); F("-SZ-");
10594 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10595 #line 851 "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 0100 rdst fdiv #%1, %0 */",
10601 op
[0], op
[1], op
[2]);
10602 printf (" rdst = 0x%x\n", rdst
);
10604 SYNTAX("fdiv #%1, %0");
10605 #line 851 "rx-decode.opc"
10606 ID(fdiv
); DR(rdst
); SC(IMM(0)); F("-SZ-");
10610 default: UNSUPPORTED(); break;
10615 switch (op
[2] & 0xe0)
10620 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10621 #line 933 "rx-decode.opc"
10622 int im AU
= (op
[1] >> 2) & 0x03;
10623 #line 933 "rx-decode.opc"
10624 int crdst AU
= op
[2] & 0x1f;
10627 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10628 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10629 op
[0], op
[1], op
[2]);
10630 printf (" im = 0x%x,", im
);
10631 printf (" crdst = 0x%x\n", crdst
);
10633 SYNTAX("mvtc #%1, %0");
10634 #line 933 "rx-decode.opc"
10635 ID(mov
); SC(IMMex(im
)); DR(crdst
+ 16);
10639 default: UNSUPPORTED(); break;
10644 switch (op
[2] & 0xf0)
10647 goto op_semantics_78
;
10650 goto op_semantics_79
;
10653 goto op_semantics_80
;
10656 goto op_semantics_81
;
10659 goto op_semantics_82
;
10662 goto op_semantics_83
;
10665 goto op_semantics_84
;
10668 goto op_semantics_85
;
10671 goto op_semantics_86
;
10674 goto op_semantics_87
;
10677 goto op_semantics_88
;
10679 default: UNSUPPORTED(); break;
10684 switch (op
[2] & 0xe0)
10687 goto op_semantics_89
;
10689 default: UNSUPPORTED(); break;
10694 switch (op
[2] & 0xf0)
10697 goto op_semantics_78
;
10700 goto op_semantics_79
;
10703 goto op_semantics_80
;
10706 goto op_semantics_81
;
10709 goto op_semantics_82
;
10712 goto op_semantics_83
;
10715 goto op_semantics_84
;
10718 goto op_semantics_85
;
10721 goto op_semantics_86
;
10724 goto op_semantics_87
;
10727 goto op_semantics_88
;
10729 default: UNSUPPORTED(); break;
10734 switch (op
[2] & 0xe0)
10737 goto op_semantics_89
;
10739 default: UNSUPPORTED(); break;
10744 switch (op
[2] & 0xf0)
10747 goto op_semantics_78
;
10750 goto op_semantics_79
;
10753 goto op_semantics_80
;
10756 goto op_semantics_81
;
10759 goto op_semantics_82
;
10762 goto op_semantics_83
;
10765 goto op_semantics_84
;
10768 goto op_semantics_85
;
10771 goto op_semantics_86
;
10774 goto op_semantics_87
;
10777 goto op_semantics_88
;
10779 default: UNSUPPORTED(); break;
10784 switch (op
[2] & 0xe0)
10787 goto op_semantics_89
;
10789 default: UNSUPPORTED(); break;
10794 switch (op
[2] & 0x00)
10799 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10800 #line 666 "rx-decode.opc"
10801 int immmm AU
= op
[1] & 0x1f;
10802 #line 666 "rx-decode.opc"
10803 int rsrc AU
= (op
[2] >> 4) & 0x0f;
10804 #line 666 "rx-decode.opc"
10805 int rdst AU
= op
[2] & 0x0f;
10808 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10809 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10810 op
[0], op
[1], op
[2]);
10811 printf (" immmm = 0x%x,", immmm
);
10812 printf (" rsrc = 0x%x,", rsrc
);
10813 printf (" rdst = 0x%x\n", rdst
);
10815 SYNTAX("shlr #%2, %1, %0");
10816 #line 666 "rx-decode.opc"
10817 ID(shlr
); S2C(immmm
); SR(rsrc
); DR(rdst
); F("-SZC");
10819 /*----------------------------------------------------------------------*/
10828 switch (op
[2] & 0x00)
10831 goto op_semantics_90
;
10837 switch (op
[2] & 0x00)
10840 goto op_semantics_90
;
10846 switch (op
[2] & 0x00)
10849 goto op_semantics_90
;
10855 switch (op
[2] & 0x00)
10858 goto op_semantics_90
;
10864 switch (op
[2] & 0x00)
10867 goto op_semantics_90
;
10873 switch (op
[2] & 0x00)
10876 goto op_semantics_90
;
10882 switch (op
[2] & 0x00)
10885 goto op_semantics_90
;
10891 switch (op
[2] & 0x00)
10894 goto op_semantics_90
;
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)
11112 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11113 #line 656 "rx-decode.opc"
11114 int immmm AU
= op
[1] & 0x1f;
11115 #line 656 "rx-decode.opc"
11116 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11117 #line 656 "rx-decode.opc"
11118 int rdst AU
= op
[2] & 0x0f;
11121 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11122 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11123 op
[0], op
[1], op
[2]);
11124 printf (" immmm = 0x%x,", immmm
);
11125 printf (" rsrc = 0x%x,", rsrc
);
11126 printf (" rdst = 0x%x\n", rdst
);
11128 SYNTAX("shar #%2, %1, %0");
11129 #line 656 "rx-decode.opc"
11130 ID(shar
); S2C(immmm
); SR(rsrc
); DR(rdst
); F("0SZC");
11139 switch (op
[2] & 0x00)
11142 goto op_semantics_91
;
11148 switch (op
[2] & 0x00)
11151 goto op_semantics_91
;
11157 switch (op
[2] & 0x00)
11160 goto op_semantics_91
;
11166 switch (op
[2] & 0x00)
11169 goto op_semantics_91
;
11175 switch (op
[2] & 0x00)
11178 goto op_semantics_91
;
11184 switch (op
[2] & 0x00)
11187 goto op_semantics_91
;
11193 switch (op
[2] & 0x00)
11196 goto op_semantics_91
;
11202 switch (op
[2] & 0x00)
11205 goto op_semantics_91
;
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)
11423 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11424 #line 646 "rx-decode.opc"
11425 int immmm AU
= op
[1] & 0x1f;
11426 #line 646 "rx-decode.opc"
11427 int rsrc AU
= (op
[2] >> 4) & 0x0f;
11428 #line 646 "rx-decode.opc"
11429 int rdst AU
= op
[2] & 0x0f;
11432 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11433 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11434 op
[0], op
[1], op
[2]);
11435 printf (" immmm = 0x%x,", immmm
);
11436 printf (" rsrc = 0x%x,", rsrc
);
11437 printf (" rdst = 0x%x\n", rdst
);
11439 SYNTAX("shll #%2, %1, %0");
11440 #line 646 "rx-decode.opc"
11441 ID(shll
); S2C(immmm
); SR(rsrc
); DR(rdst
); F("OSZC");
11450 switch (op
[2] & 0x00)
11453 goto op_semantics_92
;
11459 switch (op
[2] & 0x00)
11462 goto op_semantics_92
;
11468 switch (op
[2] & 0x00)
11471 goto op_semantics_92
;
11477 switch (op
[2] & 0x00)
11480 goto op_semantics_92
;
11486 switch (op
[2] & 0x00)
11489 goto op_semantics_92
;
11495 switch (op
[2] & 0x00)
11498 goto op_semantics_92
;
11504 switch (op
[2] & 0x00)
11507 goto op_semantics_92
;
11513 switch (op
[2] & 0x00)
11516 goto op_semantics_92
;
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] & 0xf0)
11748 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11749 #line 912 "rx-decode.opc"
11750 int bittt AU
= op
[1] & 0x1f;
11751 #line 912 "rx-decode.opc"
11752 int cond AU
= (op
[2] >> 4) & 0x0f;
11753 #line 912 "rx-decode.opc"
11754 int rdst AU
= op
[2] & 0x0f;
11757 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11758 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11759 op
[0], op
[1], op
[2]);
11760 printf (" bittt = 0x%x,", bittt
);
11761 printf (" cond = 0x%x,", cond
);
11762 printf (" rdst = 0x%x\n", rdst
);
11764 SYNTAX("bm%2 #%1, %0%S0");
11765 #line 912 "rx-decode.opc"
11766 ID(bmcc
); BWL(LSIZE
); S2cc(cond
); SC(bittt
); DR(rdst
);
11768 /*----------------------------------------------------------------------*/
11769 /* CONTROL REGISTERS */
11776 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11777 #line 905 "rx-decode.opc"
11778 int bittt AU
= op
[1] & 0x1f;
11779 #line 905 "rx-decode.opc"
11780 int rdst AU
= op
[2] & 0x0f;
11783 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11784 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11785 op
[0], op
[1], op
[2]);
11786 printf (" bittt = 0x%x,", bittt
);
11787 printf (" rdst = 0x%x\n", rdst
);
11789 SYNTAX("bnot #%1, %0");
11790 #line 905 "rx-decode.opc"
11791 ID(bnot
); BWL(LSIZE
); SC(bittt
); DR(rdst
);
11800 switch (op
[2] & 0xf0)
11817 goto op_semantics_93
;
11820 goto op_semantics_94
;
11826 switch (op
[2] & 0xf0)
11843 goto op_semantics_93
;
11846 goto op_semantics_94
;
11852 switch (op
[2] & 0xf0)
11869 goto op_semantics_93
;
11872 goto op_semantics_94
;
11878 switch (op
[2] & 0xf0)
11895 goto op_semantics_93
;
11898 goto op_semantics_94
;
11904 switch (op
[2] & 0xf0)
11921 goto op_semantics_93
;
11924 goto op_semantics_94
;
11930 switch (op
[2] & 0xf0)
11947 goto op_semantics_93
;
11950 goto op_semantics_94
;
11956 switch (op
[2] & 0xf0)
11973 goto op_semantics_93
;
11976 goto op_semantics_94
;
11982 switch (op
[2] & 0xf0)
11999 goto op_semantics_93
;
12002 goto op_semantics_94
;
12008 switch (op
[2] & 0xf0)
12025 goto op_semantics_93
;
12028 goto op_semantics_94
;
12034 switch (op
[2] & 0xf0)
12051 goto op_semantics_93
;
12054 goto op_semantics_94
;
12060 switch (op
[2] & 0xf0)
12077 goto op_semantics_93
;
12080 goto op_semantics_94
;
12086 switch (op
[2] & 0xf0)
12103 goto op_semantics_93
;
12106 goto op_semantics_94
;
12112 switch (op
[2] & 0xf0)
12129 goto op_semantics_93
;
12132 goto op_semantics_94
;
12138 switch (op
[2] & 0xf0)
12155 goto op_semantics_93
;
12158 goto op_semantics_94
;
12164 switch (op
[2] & 0xf0)
12181 goto op_semantics_93
;
12184 goto op_semantics_94
;
12190 switch (op
[2] & 0xf0)
12207 goto op_semantics_93
;
12210 goto op_semantics_94
;
12216 switch (op
[2] & 0xf0)
12233 goto op_semantics_93
;
12236 goto op_semantics_94
;
12242 switch (op
[2] & 0xf0)
12259 goto op_semantics_93
;
12262 goto op_semantics_94
;
12268 switch (op
[2] & 0xf0)
12285 goto op_semantics_93
;
12288 goto op_semantics_94
;
12294 switch (op
[2] & 0xf0)
12311 goto op_semantics_93
;
12314 goto op_semantics_94
;
12320 switch (op
[2] & 0xf0)
12337 goto op_semantics_93
;
12340 goto op_semantics_94
;
12346 switch (op
[2] & 0xf0)
12363 goto op_semantics_93
;
12366 goto op_semantics_94
;
12372 switch (op
[2] & 0xf0)
12389 goto op_semantics_93
;
12392 goto op_semantics_94
;
12398 switch (op
[2] & 0xf0)
12415 goto op_semantics_93
;
12418 goto op_semantics_94
;
12424 switch (op
[2] & 0xf0)
12441 goto op_semantics_93
;
12444 goto op_semantics_94
;
12450 switch (op
[2] & 0xf0)
12467 goto op_semantics_93
;
12470 goto op_semantics_94
;
12476 switch (op
[2] & 0xf0)
12493 goto op_semantics_93
;
12496 goto op_semantics_94
;
12502 switch (op
[2] & 0xf0)
12519 goto op_semantics_93
;
12522 goto op_semantics_94
;
12528 switch (op
[2] & 0xf0)
12545 goto op_semantics_93
;
12548 goto op_semantics_94
;
12554 switch (op
[2] & 0xf0)
12571 goto op_semantics_93
;
12574 goto op_semantics_94
;
12580 switch (op
[2] & 0xf0)
12597 goto op_semantics_93
;
12600 goto op_semantics_94
;
12604 default: UNSUPPORTED(); break;
12609 switch (op
[1] & 0xff)
12613 switch (op
[2] & 0x00)
12618 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12619 #line 318 "rx-decode.opc"
12620 int sz AU
= (op
[1] >> 4) & 0x03;
12621 #line 318 "rx-decode.opc"
12622 int isrc AU
= op
[1] & 0x0f;
12623 #line 318 "rx-decode.opc"
12624 int bsrc AU
= (op
[2] >> 4) & 0x0f;
12625 #line 318 "rx-decode.opc"
12626 int rdst AU
= op
[2] & 0x0f;
12629 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12630 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12631 op
[0], op
[1], op
[2]);
12632 printf (" sz = 0x%x,", sz
);
12633 printf (" isrc = 0x%x,", isrc
);
12634 printf (" bsrc = 0x%x,", bsrc
);
12635 printf (" rdst = 0x%x\n", rdst
);
12637 SYNTAX("mov%s %0, [%1, %2]");
12638 #line 318 "rx-decode.opc"
12639 ID(movbir
); sBWL(sz
); DR(rdst
); SR(isrc
); S2R(bsrc
); F("----");
12647 switch (op
[2] & 0x00)
12650 goto op_semantics_95
;
12656 switch (op
[2] & 0x00)
12659 goto op_semantics_95
;
12665 switch (op
[2] & 0x00)
12668 goto op_semantics_95
;
12674 switch (op
[2] & 0x00)
12677 goto op_semantics_95
;
12683 switch (op
[2] & 0x00)
12686 goto op_semantics_95
;
12692 switch (op
[2] & 0x00)
12695 goto op_semantics_95
;
12701 switch (op
[2] & 0x00)
12704 goto op_semantics_95
;
12710 switch (op
[2] & 0x00)
12713 goto op_semantics_95
;
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)
13075 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13076 #line 315 "rx-decode.opc"
13077 int sz AU
= (op
[1] >> 4) & 0x03;
13078 #line 315 "rx-decode.opc"
13079 int isrc AU
= op
[1] & 0x0f;
13080 #line 315 "rx-decode.opc"
13081 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13082 #line 315 "rx-decode.opc"
13083 int rdst AU
= op
[2] & 0x0f;
13086 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13087 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13088 op
[0], op
[1], op
[2]);
13089 printf (" sz = 0x%x,", sz
);
13090 printf (" isrc = 0x%x,", isrc
);
13091 printf (" bsrc = 0x%x,", bsrc
);
13092 printf (" rdst = 0x%x\n", rdst
);
13094 SYNTAX("mov%s [%1, %2], %0");
13095 #line 315 "rx-decode.opc"
13096 ID(movbi
); sBWL(sz
); DR(rdst
); SR(isrc
); S2R(bsrc
); F("----");
13104 switch (op
[2] & 0x00)
13107 goto op_semantics_96
;
13113 switch (op
[2] & 0x00)
13116 goto op_semantics_96
;
13122 switch (op
[2] & 0x00)
13125 goto op_semantics_96
;
13131 switch (op
[2] & 0x00)
13134 goto op_semantics_96
;
13140 switch (op
[2] & 0x00)
13143 goto op_semantics_96
;
13149 switch (op
[2] & 0x00)
13152 goto op_semantics_96
;
13158 switch (op
[2] & 0x00)
13161 goto op_semantics_96
;
13167 switch (op
[2] & 0x00)
13170 goto op_semantics_96
;
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)
13532 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13533 #line 321 "rx-decode.opc"
13534 int sz AU
= (op
[1] >> 4) & 0x03;
13535 #line 321 "rx-decode.opc"
13536 int isrc AU
= op
[1] & 0x0f;
13537 #line 321 "rx-decode.opc"
13538 int bsrc AU
= (op
[2] >> 4) & 0x0f;
13539 #line 321 "rx-decode.opc"
13540 int rdst AU
= op
[2] & 0x0f;
13543 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13544 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13545 op
[0], op
[1], op
[2]);
13546 printf (" sz = 0x%x,", sz
);
13547 printf (" isrc = 0x%x,", isrc
);
13548 printf (" bsrc = 0x%x,", bsrc
);
13549 printf (" rdst = 0x%x\n", rdst
);
13551 SYNTAX("movu%s [%1, %2], %0");
13552 #line 321 "rx-decode.opc"
13553 ID(movbi
); uBWL(sz
); DR(rdst
); SR(isrc
); S2R(bsrc
); F("----");
13561 switch (op
[2] & 0x00)
13564 goto op_semantics_97
;
13570 switch (op
[2] & 0x00)
13573 goto op_semantics_97
;
13579 switch (op
[2] & 0x00)
13582 goto op_semantics_97
;
13588 switch (op
[2] & 0x00)
13591 goto op_semantics_97
;
13597 switch (op
[2] & 0x00)
13600 goto op_semantics_97
;
13606 switch (op
[2] & 0x00)
13609 goto op_semantics_97
;
13615 switch (op
[2] & 0x00)
13618 goto op_semantics_97
;
13624 switch (op
[2] & 0x00)
13627 goto op_semantics_97
;
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
;
13982 default: UNSUPPORTED(); break;
13987 switch (op
[1] & 0xff)
13991 switch (op
[2] & 0x00)
13996 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
13997 #line 525 "rx-decode.opc"
13998 int rdst AU
= op
[1] & 0x0f;
13999 #line 525 "rx-decode.opc"
14000 int srca AU
= (op
[2] >> 4) & 0x0f;
14001 #line 525 "rx-decode.opc"
14002 int srcb AU
= op
[2] & 0x0f;
14005 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14006 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
14007 op
[0], op
[1], op
[2]);
14008 printf (" rdst = 0x%x,", rdst
);
14009 printf (" srca = 0x%x,", srca
);
14010 printf (" srcb = 0x%x\n", srcb
);
14012 SYNTAX("sub %2, %1, %0");
14013 #line 525 "rx-decode.opc"
14014 ID(sub
); DR(rdst
); SR(srcb
); S2R(srca
); F("OSZC");
14016 /*----------------------------------------------------------------------*/
14025 switch (op
[2] & 0x00)
14028 goto op_semantics_98
;
14034 switch (op
[2] & 0x00)
14037 goto op_semantics_98
;
14043 switch (op
[2] & 0x00)
14046 goto op_semantics_98
;
14052 switch (op
[2] & 0x00)
14055 goto op_semantics_98
;
14061 switch (op
[2] & 0x00)
14064 goto op_semantics_98
;
14070 switch (op
[2] & 0x00)
14073 goto op_semantics_98
;
14079 switch (op
[2] & 0x00)
14082 goto op_semantics_98
;
14088 switch (op
[2] & 0x00)
14091 goto op_semantics_98
;
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)
14165 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14166 #line 492 "rx-decode.opc"
14167 int rdst AU
= op
[1] & 0x0f;
14168 #line 492 "rx-decode.opc"
14169 int srca AU
= (op
[2] >> 4) & 0x0f;
14170 #line 492 "rx-decode.opc"
14171 int srcb AU
= op
[2] & 0x0f;
14174 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14175 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14176 op
[0], op
[1], op
[2]);
14177 printf (" rdst = 0x%x,", rdst
);
14178 printf (" srca = 0x%x,", srca
);
14179 printf (" srcb = 0x%x\n", srcb
);
14181 SYNTAX("add %2, %1, %0");
14182 #line 492 "rx-decode.opc"
14183 ID(add
); DR(rdst
); SR(srcb
); S2R(srca
); F("OSZC");
14185 /*----------------------------------------------------------------------*/
14194 switch (op
[2] & 0x00)
14197 goto op_semantics_99
;
14203 switch (op
[2] & 0x00)
14206 goto op_semantics_99
;
14212 switch (op
[2] & 0x00)
14215 goto op_semantics_99
;
14221 switch (op
[2] & 0x00)
14224 goto op_semantics_99
;
14230 switch (op
[2] & 0x00)
14233 goto op_semantics_99
;
14239 switch (op
[2] & 0x00)
14242 goto op_semantics_99
;
14248 switch (op
[2] & 0x00)
14251 goto op_semantics_99
;
14257 switch (op
[2] & 0x00)
14260 goto op_semantics_99
;
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)
14334 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14335 #line 586 "rx-decode.opc"
14336 int rdst AU
= op
[1] & 0x0f;
14337 #line 586 "rx-decode.opc"
14338 int srca AU
= (op
[2] >> 4) & 0x0f;
14339 #line 586 "rx-decode.opc"
14340 int srcb AU
= op
[2] & 0x0f;
14343 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14344 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14345 op
[0], op
[1], op
[2]);
14346 printf (" rdst = 0x%x,", rdst
);
14347 printf (" srca = 0x%x,", srca
);
14348 printf (" srcb = 0x%x\n", srcb
);
14350 SYNTAX("mul %2, %1, %0");
14351 #line 586 "rx-decode.opc"
14352 ID(mul
); DR(rdst
); SR(srcb
); S2R(srca
); F("----");
14354 /*----------------------------------------------------------------------*/
14363 switch (op
[2] & 0x00)
14366 goto op_semantics_100
;
14372 switch (op
[2] & 0x00)
14375 goto op_semantics_100
;
14381 switch (op
[2] & 0x00)
14384 goto op_semantics_100
;
14390 switch (op
[2] & 0x00)
14393 goto op_semantics_100
;
14399 switch (op
[2] & 0x00)
14402 goto op_semantics_100
;
14408 switch (op
[2] & 0x00)
14411 goto op_semantics_100
;
14417 switch (op
[2] & 0x00)
14420 goto op_semantics_100
;
14426 switch (op
[2] & 0x00)
14429 goto op_semantics_100
;
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)
14503 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14504 #line 402 "rx-decode.opc"
14505 int rdst AU
= op
[1] & 0x0f;
14506 #line 402 "rx-decode.opc"
14507 int srca AU
= (op
[2] >> 4) & 0x0f;
14508 #line 402 "rx-decode.opc"
14509 int srcb AU
= op
[2] & 0x0f;
14512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14513 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14514 op
[0], op
[1], op
[2]);
14515 printf (" rdst = 0x%x,", rdst
);
14516 printf (" srca = 0x%x,", srca
);
14517 printf (" srcb = 0x%x\n", srcb
);
14519 SYNTAX("and %2, %1, %0");
14520 #line 402 "rx-decode.opc"
14521 ID(and); DR(rdst
); SR(srcb
); S2R(srca
); F("-SZ-");
14523 /*----------------------------------------------------------------------*/
14532 switch (op
[2] & 0x00)
14535 goto op_semantics_101
;
14541 switch (op
[2] & 0x00)
14544 goto op_semantics_101
;
14550 switch (op
[2] & 0x00)
14553 goto op_semantics_101
;
14559 switch (op
[2] & 0x00)
14562 goto op_semantics_101
;
14568 switch (op
[2] & 0x00)
14571 goto op_semantics_101
;
14577 switch (op
[2] & 0x00)
14580 goto op_semantics_101
;
14586 switch (op
[2] & 0x00)
14589 goto op_semantics_101
;
14595 switch (op
[2] & 0x00)
14598 goto op_semantics_101
;
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)
14672 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14673 #line 420 "rx-decode.opc"
14674 int rdst AU
= op
[1] & 0x0f;
14675 #line 420 "rx-decode.opc"
14676 int srca AU
= (op
[2] >> 4) & 0x0f;
14677 #line 420 "rx-decode.opc"
14678 int srcb AU
= op
[2] & 0x0f;
14681 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14682 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14683 op
[0], op
[1], op
[2]);
14684 printf (" rdst = 0x%x,", rdst
);
14685 printf (" srca = 0x%x,", srca
);
14686 printf (" srcb = 0x%x\n", srcb
);
14688 SYNTAX("or %2, %1, %0");
14689 #line 420 "rx-decode.opc"
14690 ID(or); DR(rdst
); SR(srcb
); S2R(srca
); F("-SZ-");
14692 /*----------------------------------------------------------------------*/
14701 switch (op
[2] & 0x00)
14704 goto op_semantics_102
;
14710 switch (op
[2] & 0x00)
14713 goto op_semantics_102
;
14719 switch (op
[2] & 0x00)
14722 goto op_semantics_102
;
14728 switch (op
[2] & 0x00)
14731 goto op_semantics_102
;
14737 switch (op
[2] & 0x00)
14740 goto op_semantics_102
;
14746 switch (op
[2] & 0x00)
14749 goto op_semantics_102
;
14755 switch (op
[2] & 0x00)
14758 goto op_semantics_102
;
14764 switch (op
[2] & 0x00)
14767 goto op_semantics_102
;
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
;
14834 default: UNSUPPORTED(); break;
14837 default: UNSUPPORTED(); break;
14839 #line 969 "rx-decode.opc"
14841 return rx
->n_bytes
;
This page took 0.367767 seconds and 4 git commands to generate.