Enhance the RX disassembler to detect and report bad instructions.
[deliverable/binutils-gdb.git] / opcodes / rx-decode.c
1 #line 1 "rx-decode.opc"
2 /* -*- c -*- */
3 /* Copyright (C) 2012-2015 Free Software Foundation, Inc.
4 Contributed by Red Hat.
5 Written by DJ Delorie.
6
7 This file is part of the GNU opcodes library.
8
9 This library is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
12 any later version.
13
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 MA 02110-1301, USA. */
23
24 #include "sysdep.h"
25 #include <stdio.h>
26 #include <stdlib.h>
27 #include <string.h>
28 #include "ansidecl.h"
29 #include "opcode/rx.h"
30
31 #define RX_OPCODE_BIG_ENDIAN 0
32
33 typedef struct
34 {
35 RX_Opcode_Decoded * rx;
36 int (* getbyte)(void *);
37 void * ptr;
38 unsigned char * op;
39 } LocalData;
40
41 static int trace = 0;
42
43 #define BSIZE 0
44 #define WSIZE 1
45 #define LSIZE 2
46
47 /* These are for when the upper bits are "don't care" or "undefined". */
48 static int bwl[] =
49 {
50 RX_Byte,
51 RX_Word,
52 RX_Long,
53 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
54 };
55
56 static int sbwl[] =
57 {
58 RX_SByte,
59 RX_SWord,
60 RX_Long,
61 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
62 };
63
64 static int ubw[] =
65 {
66 RX_UByte,
67 RX_UWord,
68 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
69 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
70 };
71
72 static int memex[] =
73 {
74 RX_SByte,
75 RX_SWord,
76 RX_Long,
77 RX_UWord
78 };
79
80 #define ID(x) rx->id = RXO_##x
81 #define OP(n,t,r,a) (rx->op[n].type = t, \
82 rx->op[n].reg = r, \
83 rx->op[n].addend = a )
84 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
85 rx->op[n].size = s )
86
87 /* This is for the BWL and BW bitfields. */
88 static int SCALE[] = { 1, 2, 4, 0 };
89 /* This is for the prefix size enum. */
90 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
91
92 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
93 16, 17, 0, 0, 0, 0, 0, 0 };
94
95 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
96
97 /*
98 *C a constant (immediate) c
99 *R A register
100 *I Register indirect, no offset
101 *Is Register indirect, with offset
102 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
103 *P standard displacement: type (r,[r]), reg, assumes UByte
104 *Pm memex displacement: type (r,[r]), reg, memex code
105 *cc condition code. */
106
107 #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
108 #define DR(r) OP (0, RX_Operand_Register, r, 0)
109 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
110 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
111 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
112 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
113
114 #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
115 #define SR(r) OP (1, RX_Operand_Register, r, 0)
116 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
117 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
118 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
119 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
120 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
121 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
122 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
123
124 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
125 #define S2R(r) OP (2, RX_Operand_Register, r, 0)
126 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
127 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
128 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
129 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
130 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
131 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
132
133 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
134 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
135 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
136 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
137
138 #define F(f) store_flags(rx, f)
139
140 #define AU ATTRIBUTE_UNUSED
141 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
142
143 #define SYNTAX(x) rx->syntax = x
144
145 #define UNSUPPORTED() \
146 rx->syntax = "*unknown*"
147
148 #define IMM(sf) immediate (sf, 0, ld)
149 #define IMMex(sf) immediate (sf, 1, ld)
150
151 static int
152 immediate (int sfield, int ex, LocalData * ld)
153 {
154 unsigned long i = 0, j;
155
156 switch (sfield)
157 {
158 #define B ((unsigned long) GETBYTE())
159 case 0:
160 #if RX_OPCODE_BIG_ENDIAN
161 i = B;
162 if (ex && (i & 0x80))
163 i -= 0x100;
164 i <<= 24;
165 i |= B << 16;
166 i |= B << 8;
167 i |= B;
168 #else
169 i = B;
170 i |= B << 8;
171 i |= B << 16;
172 j = B;
173 if (ex && (j & 0x80))
174 j -= 0x100;
175 i |= j << 24;
176 #endif
177 break;
178 case 3:
179 #if RX_OPCODE_BIG_ENDIAN
180 i = B << 16;
181 i |= B << 8;
182 i |= B;
183 #else
184 i = B;
185 i |= B << 8;
186 i |= B << 16;
187 #endif
188 if (ex && (i & 0x800000))
189 i -= 0x1000000;
190 break;
191 case 2:
192 #if RX_OPCODE_BIG_ENDIAN
193 i |= B << 8;
194 i |= B;
195 #else
196 i |= B;
197 i |= B << 8;
198 #endif
199 if (ex && (i & 0x8000))
200 i -= 0x10000;
201 break;
202 case 1:
203 i |= B;
204 if (ex && (i & 0x80))
205 i -= 0x100;
206 break;
207 default:
208 abort();
209 }
210 return i;
211 }
212
213 static void
214 rx_disp (int n, int type, int reg, int size, LocalData * ld)
215 {
216 int disp;
217
218 ld->rx->op[n].reg = reg;
219 switch (type)
220 {
221 case 3:
222 ld->rx->op[n].type = RX_Operand_Register;
223 break;
224 case 0:
225 ld->rx->op[n].type = RX_Operand_Indirect;
226 ld->rx->op[n].addend = 0;
227 break;
228 case 1:
229 ld->rx->op[n].type = RX_Operand_Indirect;
230 disp = GETBYTE ();
231 ld->rx->op[n].addend = disp * PSCALE[size];
232 break;
233 case 2:
234 ld->rx->op[n].type = RX_Operand_Indirect;
235 disp = GETBYTE ();
236 #if RX_OPCODE_BIG_ENDIAN
237 disp = disp * 256 + GETBYTE ();
238 #else
239 disp = disp + GETBYTE () * 256;
240 #endif
241 ld->rx->op[n].addend = disp * PSCALE[size];
242 break;
243 default:
244 abort ();
245 }
246 }
247
248 #define xO 8
249 #define xS 4
250 #define xZ 2
251 #define xC 1
252
253 #define F_____
254 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
255 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
256 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
257 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
258 #define F_O___ rx->flags_0 = rx->flags_s = xO;
259 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
260 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
261 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
262
263 int
264 rx_decode_opcode (unsigned long pc AU,
265 RX_Opcode_Decoded * rx,
266 int (* getbyte)(void *),
267 void * ptr)
268 {
269 LocalData lds, * ld = &lds;
270 unsigned char op[20] = {0};
271
272 lds.rx = rx;
273 lds.getbyte = getbyte;
274 lds.ptr = ptr;
275 lds.op = op;
276
277 memset (rx, 0, sizeof (*rx));
278 BWL(LSIZE);
279
280
281 /*----------------------------------------------------------------------*/
282 /* MOV */
283
284 GETBYTE ();
285 switch (op[0] & 0xff)
286 {
287 case 0x00:
288 {
289 /** 0000 0000 brk */
290 if (trace)
291 {
292 printf ("\033[33m%s\033[0m %02x\n",
293 "/** 0000 0000 brk */",
294 op[0]);
295 }
296 SYNTAX("brk");
297 #line 987 "rx-decode.opc"
298 ID(brk);
299
300 }
301 break;
302 case 0x01:
303 {
304 /** 0000 0001 dbt */
305 if (trace)
306 {
307 printf ("\033[33m%s\033[0m %02x\n",
308 "/** 0000 0001 dbt */",
309 op[0]);
310 }
311 SYNTAX("dbt");
312 #line 990 "rx-decode.opc"
313 ID(dbt);
314
315 }
316 break;
317 case 0x02:
318 {
319 /** 0000 0010 rts */
320 if (trace)
321 {
322 printf ("\033[33m%s\033[0m %02x\n",
323 "/** 0000 0010 rts */",
324 op[0]);
325 }
326 SYNTAX("rts");
327 #line 768 "rx-decode.opc"
328 ID(rts);
329
330 /*----------------------------------------------------------------------*/
331 /* NOP */
332
333 }
334 break;
335 case 0x03:
336 {
337 /** 0000 0011 nop */
338 if (trace)
339 {
340 printf ("\033[33m%s\033[0m %02x\n",
341 "/** 0000 0011 nop */",
342 op[0]);
343 }
344 SYNTAX("nop");
345 #line 774 "rx-decode.opc"
346 ID(nop);
347
348 /*----------------------------------------------------------------------*/
349 /* STRING FUNCTIONS */
350
351 }
352 break;
353 case 0x04:
354 {
355 /** 0000 0100 bra.a %a0 */
356 if (trace)
357 {
358 printf ("\033[33m%s\033[0m %02x\n",
359 "/** 0000 0100 bra.a %a0 */",
360 op[0]);
361 }
362 SYNTAX("bra.a %a0");
363 #line 746 "rx-decode.opc"
364 ID(branch); DC(pc + IMMex(3));
365
366 }
367 break;
368 case 0x05:
369 {
370 /** 0000 0101 bsr.a %a0 */
371 if (trace)
372 {
373 printf ("\033[33m%s\033[0m %02x\n",
374 "/** 0000 0101 bsr.a %a0 */",
375 op[0]);
376 }
377 SYNTAX("bsr.a %a0");
378 #line 762 "rx-decode.opc"
379 ID(jsr); DC(pc + IMMex(3));
380
381 }
382 break;
383 case 0x06:
384 GETBYTE ();
385 switch (op[1] & 0xff)
386 {
387 case 0x00:
388 GETBYTE ();
389 switch (op[2] & 0x00)
390 {
391 case 0x00:
392 op_semantics_1:
393 {
394 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
395 #line 542 "rx-decode.opc"
396 int mx AU = (op[1] >> 6) & 0x03;
397 #line 542 "rx-decode.opc"
398 int ss AU = op[1] & 0x03;
399 #line 542 "rx-decode.opc"
400 int rsrc AU = (op[2] >> 4) & 0x0f;
401 #line 542 "rx-decode.opc"
402 int rdst AU = op[2] & 0x0f;
403 if (trace)
404 {
405 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
406 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
407 op[0], op[1], op[2]);
408 printf (" mx = 0x%x,", mx);
409 printf (" ss = 0x%x,", ss);
410 printf (" rsrc = 0x%x,", rsrc);
411 printf (" rdst = 0x%x\n", rdst);
412 }
413 SYNTAX("sub %2%S2, %1");
414 #line 542 "rx-decode.opc"
415 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
416
417 }
418 break;
419 }
420 break;
421 case 0x01:
422 GETBYTE ();
423 switch (op[2] & 0x00)
424 {
425 case 0x00:
426 goto op_semantics_1;
427 break;
428 }
429 break;
430 case 0x02:
431 GETBYTE ();
432 switch (op[2] & 0x00)
433 {
434 case 0x00:
435 goto op_semantics_1;
436 break;
437 }
438 break;
439 case 0x03:
440 GETBYTE ();
441 switch (op[2] & 0x00)
442 {
443 case 0x00:
444 goto op_semantics_1;
445 break;
446 }
447 break;
448 case 0x04:
449 GETBYTE ();
450 switch (op[2] & 0x00)
451 {
452 case 0x00:
453 op_semantics_2:
454 {
455 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
456 #line 530 "rx-decode.opc"
457 int mx AU = (op[1] >> 6) & 0x03;
458 #line 530 "rx-decode.opc"
459 int ss AU = op[1] & 0x03;
460 #line 530 "rx-decode.opc"
461 int rsrc AU = (op[2] >> 4) & 0x0f;
462 #line 530 "rx-decode.opc"
463 int rdst AU = op[2] & 0x0f;
464 if (trace)
465 {
466 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
467 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
468 op[0], op[1], op[2]);
469 printf (" mx = 0x%x,", mx);
470 printf (" ss = 0x%x,", ss);
471 printf (" rsrc = 0x%x,", rsrc);
472 printf (" rdst = 0x%x\n", rdst);
473 }
474 SYNTAX("cmp %2%S2, %1");
475 #line 530 "rx-decode.opc"
476 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
477
478 /*----------------------------------------------------------------------*/
479 /* SUB */
480
481 }
482 break;
483 }
484 break;
485 case 0x05:
486 GETBYTE ();
487 switch (op[2] & 0x00)
488 {
489 case 0x00:
490 goto op_semantics_2;
491 break;
492 }
493 break;
494 case 0x06:
495 GETBYTE ();
496 switch (op[2] & 0x00)
497 {
498 case 0x00:
499 goto op_semantics_2;
500 break;
501 }
502 break;
503 case 0x07:
504 GETBYTE ();
505 switch (op[2] & 0x00)
506 {
507 case 0x00:
508 goto op_semantics_2;
509 break;
510 }
511 break;
512 case 0x08:
513 GETBYTE ();
514 switch (op[2] & 0x00)
515 {
516 case 0x00:
517 op_semantics_3:
518 {
519 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
520 #line 506 "rx-decode.opc"
521 int mx AU = (op[1] >> 6) & 0x03;
522 #line 506 "rx-decode.opc"
523 int ss AU = op[1] & 0x03;
524 #line 506 "rx-decode.opc"
525 int rsrc AU = (op[2] >> 4) & 0x0f;
526 #line 506 "rx-decode.opc"
527 int rdst AU = op[2] & 0x0f;
528 if (trace)
529 {
530 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
531 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
532 op[0], op[1], op[2]);
533 printf (" mx = 0x%x,", mx);
534 printf (" ss = 0x%x,", ss);
535 printf (" rsrc = 0x%x,", rsrc);
536 printf (" rdst = 0x%x\n", rdst);
537 }
538 SYNTAX("add %1%S1, %0");
539 #line 506 "rx-decode.opc"
540 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
541
542 }
543 break;
544 }
545 break;
546 case 0x09:
547 GETBYTE ();
548 switch (op[2] & 0x00)
549 {
550 case 0x00:
551 goto op_semantics_3;
552 break;
553 }
554 break;
555 case 0x0a:
556 GETBYTE ();
557 switch (op[2] & 0x00)
558 {
559 case 0x00:
560 goto op_semantics_3;
561 break;
562 }
563 break;
564 case 0x0b:
565 GETBYTE ();
566 switch (op[2] & 0x00)
567 {
568 case 0x00:
569 goto op_semantics_3;
570 break;
571 }
572 break;
573 case 0x0c:
574 GETBYTE ();
575 switch (op[2] & 0x00)
576 {
577 case 0x00:
578 op_semantics_4:
579 {
580 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
581 #line 611 "rx-decode.opc"
582 int mx AU = (op[1] >> 6) & 0x03;
583 #line 611 "rx-decode.opc"
584 int ss AU = op[1] & 0x03;
585 #line 611 "rx-decode.opc"
586 int rsrc AU = (op[2] >> 4) & 0x0f;
587 #line 611 "rx-decode.opc"
588 int rdst AU = op[2] & 0x0f;
589 if (trace)
590 {
591 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
592 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
593 op[0], op[1], op[2]);
594 printf (" mx = 0x%x,", mx);
595 printf (" ss = 0x%x,", ss);
596 printf (" rsrc = 0x%x,", rsrc);
597 printf (" rdst = 0x%x\n", rdst);
598 }
599 SYNTAX("mul %1%S1, %0");
600 #line 611 "rx-decode.opc"
601 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
602
603 }
604 break;
605 }
606 break;
607 case 0x0d:
608 GETBYTE ();
609 switch (op[2] & 0x00)
610 {
611 case 0x00:
612 goto op_semantics_4;
613 break;
614 }
615 break;
616 case 0x0e:
617 GETBYTE ();
618 switch (op[2] & 0x00)
619 {
620 case 0x00:
621 goto op_semantics_4;
622 break;
623 }
624 break;
625 case 0x0f:
626 GETBYTE ();
627 switch (op[2] & 0x00)
628 {
629 case 0x00:
630 goto op_semantics_4;
631 break;
632 }
633 break;
634 case 0x10:
635 GETBYTE ();
636 switch (op[2] & 0x00)
637 {
638 case 0x00:
639 op_semantics_5:
640 {
641 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
642 #line 419 "rx-decode.opc"
643 int mx AU = (op[1] >> 6) & 0x03;
644 #line 419 "rx-decode.opc"
645 int ss AU = op[1] & 0x03;
646 #line 419 "rx-decode.opc"
647 int rsrc AU = (op[2] >> 4) & 0x0f;
648 #line 419 "rx-decode.opc"
649 int rdst AU = op[2] & 0x0f;
650 if (trace)
651 {
652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
653 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
654 op[0], op[1], op[2]);
655 printf (" mx = 0x%x,", mx);
656 printf (" ss = 0x%x,", ss);
657 printf (" rsrc = 0x%x,", rsrc);
658 printf (" rdst = 0x%x\n", rdst);
659 }
660 SYNTAX("and %1%S1, %0");
661 #line 419 "rx-decode.opc"
662 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
663
664 }
665 break;
666 }
667 break;
668 case 0x11:
669 GETBYTE ();
670 switch (op[2] & 0x00)
671 {
672 case 0x00:
673 goto op_semantics_5;
674 break;
675 }
676 break;
677 case 0x12:
678 GETBYTE ();
679 switch (op[2] & 0x00)
680 {
681 case 0x00:
682 goto op_semantics_5;
683 break;
684 }
685 break;
686 case 0x13:
687 GETBYTE ();
688 switch (op[2] & 0x00)
689 {
690 case 0x00:
691 goto op_semantics_5;
692 break;
693 }
694 break;
695 case 0x14:
696 GETBYTE ();
697 switch (op[2] & 0x00)
698 {
699 case 0x00:
700 op_semantics_6:
701 {
702 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
703 #line 437 "rx-decode.opc"
704 int mx AU = (op[1] >> 6) & 0x03;
705 #line 437 "rx-decode.opc"
706 int ss AU = op[1] & 0x03;
707 #line 437 "rx-decode.opc"
708 int rsrc AU = (op[2] >> 4) & 0x0f;
709 #line 437 "rx-decode.opc"
710 int rdst AU = op[2] & 0x0f;
711 if (trace)
712 {
713 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
714 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
715 op[0], op[1], op[2]);
716 printf (" mx = 0x%x,", mx);
717 printf (" ss = 0x%x,", ss);
718 printf (" rsrc = 0x%x,", rsrc);
719 printf (" rdst = 0x%x\n", rdst);
720 }
721 SYNTAX("or %1%S1, %0");
722 #line 437 "rx-decode.opc"
723 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
724
725 }
726 break;
727 }
728 break;
729 case 0x15:
730 GETBYTE ();
731 switch (op[2] & 0x00)
732 {
733 case 0x00:
734 goto op_semantics_6;
735 break;
736 }
737 break;
738 case 0x16:
739 GETBYTE ();
740 switch (op[2] & 0x00)
741 {
742 case 0x00:
743 goto op_semantics_6;
744 break;
745 }
746 break;
747 case 0x17:
748 GETBYTE ();
749 switch (op[2] & 0x00)
750 {
751 case 0x00:
752 goto op_semantics_6;
753 break;
754 }
755 break;
756 case 0x20:
757 GETBYTE ();
758 switch (op[2] & 0xff)
759 {
760 case 0x00:
761 GETBYTE ();
762 switch (op[3] & 0x00)
763 {
764 case 0x00:
765 op_semantics_7:
766 {
767 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
768 #line 555 "rx-decode.opc"
769 int mx AU = (op[1] >> 6) & 0x03;
770 #line 555 "rx-decode.opc"
771 int sp AU = op[1] & 0x03;
772 #line 555 "rx-decode.opc"
773 int rsrc AU = (op[3] >> 4) & 0x0f;
774 #line 555 "rx-decode.opc"
775 int rdst AU = op[3] & 0x0f;
776 if (trace)
777 {
778 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
779 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
780 op[0], op[1], op[2], op[3]);
781 printf (" mx = 0x%x,", mx);
782 printf (" sp = 0x%x,", sp);
783 printf (" rsrc = 0x%x,", rsrc);
784 printf (" rdst = 0x%x\n", rdst);
785 }
786 SYNTAX("sbb %1%S1, %0");
787 #line 555 "rx-decode.opc"
788 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
789
790 /*----------------------------------------------------------------------*/
791 /* ABS */
792
793 }
794 break;
795 }
796 break;
797 case 0x04:
798 GETBYTE ();
799 switch (op[3] & 0x00)
800 {
801 case 0x00:
802 op_semantics_8:
803 {
804 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
805 #line 584 "rx-decode.opc"
806 int mx AU = (op[1] >> 6) & 0x03;
807 #line 584 "rx-decode.opc"
808 int ss AU = op[1] & 0x03;
809 #line 584 "rx-decode.opc"
810 int rsrc AU = (op[3] >> 4) & 0x0f;
811 #line 584 "rx-decode.opc"
812 int rdst AU = op[3] & 0x0f;
813 if (trace)
814 {
815 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
816 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
817 op[0], op[1], op[2], op[3]);
818 printf (" mx = 0x%x,", mx);
819 printf (" ss = 0x%x,", ss);
820 printf (" rsrc = 0x%x,", rsrc);
821 printf (" rdst = 0x%x\n", rdst);
822 }
823 SYNTAX("max %1%S1, %0");
824 #line 584 "rx-decode.opc"
825 ID(max); SPm(ss, rsrc, mx); DR(rdst);
826
827 /*----------------------------------------------------------------------*/
828 /* MIN */
829
830 }
831 break;
832 }
833 break;
834 case 0x05:
835 GETBYTE ();
836 switch (op[3] & 0x00)
837 {
838 case 0x00:
839 op_semantics_9:
840 {
841 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
842 #line 596 "rx-decode.opc"
843 int mx AU = (op[1] >> 6) & 0x03;
844 #line 596 "rx-decode.opc"
845 int ss AU = op[1] & 0x03;
846 #line 596 "rx-decode.opc"
847 int rsrc AU = (op[3] >> 4) & 0x0f;
848 #line 596 "rx-decode.opc"
849 int rdst AU = op[3] & 0x0f;
850 if (trace)
851 {
852 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
853 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
854 op[0], op[1], op[2], op[3]);
855 printf (" mx = 0x%x,", mx);
856 printf (" ss = 0x%x,", ss);
857 printf (" rsrc = 0x%x,", rsrc);
858 printf (" rdst = 0x%x\n", rdst);
859 }
860 SYNTAX("min %1%S1, %0");
861 #line 596 "rx-decode.opc"
862 ID(min); SPm(ss, rsrc, mx); DR(rdst);
863
864 /*----------------------------------------------------------------------*/
865 /* MUL */
866
867 }
868 break;
869 }
870 break;
871 case 0x06:
872 GETBYTE ();
873 switch (op[3] & 0x00)
874 {
875 case 0x00:
876 op_semantics_10:
877 {
878 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
879 #line 626 "rx-decode.opc"
880 int mx AU = (op[1] >> 6) & 0x03;
881 #line 626 "rx-decode.opc"
882 int ss AU = op[1] & 0x03;
883 #line 626 "rx-decode.opc"
884 int rsrc AU = (op[3] >> 4) & 0x0f;
885 #line 626 "rx-decode.opc"
886 int rdst AU = op[3] & 0x0f;
887 if (trace)
888 {
889 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
890 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
891 op[0], op[1], op[2], op[3]);
892 printf (" mx = 0x%x,", mx);
893 printf (" ss = 0x%x,", ss);
894 printf (" rsrc = 0x%x,", rsrc);
895 printf (" rdst = 0x%x\n", rdst);
896 }
897 SYNTAX("emul %1%S1, %0");
898 #line 626 "rx-decode.opc"
899 ID(emul); SPm(ss, rsrc, mx); DR(rdst);
900
901 /*----------------------------------------------------------------------*/
902 /* EMULU */
903
904 }
905 break;
906 }
907 break;
908 case 0x07:
909 GETBYTE ();
910 switch (op[3] & 0x00)
911 {
912 case 0x00:
913 op_semantics_11:
914 {
915 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
916 #line 638 "rx-decode.opc"
917 int mx AU = (op[1] >> 6) & 0x03;
918 #line 638 "rx-decode.opc"
919 int ss AU = op[1] & 0x03;
920 #line 638 "rx-decode.opc"
921 int rsrc AU = (op[3] >> 4) & 0x0f;
922 #line 638 "rx-decode.opc"
923 int rdst AU = op[3] & 0x0f;
924 if (trace)
925 {
926 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
927 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
928 op[0], op[1], op[2], op[3]);
929 printf (" mx = 0x%x,", mx);
930 printf (" ss = 0x%x,", ss);
931 printf (" rsrc = 0x%x,", rsrc);
932 printf (" rdst = 0x%x\n", rdst);
933 }
934 SYNTAX("emulu %1%S1, %0");
935 #line 638 "rx-decode.opc"
936 ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
937
938 /*----------------------------------------------------------------------*/
939 /* DIV */
940
941 }
942 break;
943 }
944 break;
945 case 0x08:
946 GETBYTE ();
947 switch (op[3] & 0x00)
948 {
949 case 0x00:
950 op_semantics_12:
951 {
952 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
953 #line 650 "rx-decode.opc"
954 int mx AU = (op[1] >> 6) & 0x03;
955 #line 650 "rx-decode.opc"
956 int ss AU = op[1] & 0x03;
957 #line 650 "rx-decode.opc"
958 int rsrc AU = (op[3] >> 4) & 0x0f;
959 #line 650 "rx-decode.opc"
960 int rdst AU = op[3] & 0x0f;
961 if (trace)
962 {
963 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
964 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
965 op[0], op[1], op[2], op[3]);
966 printf (" mx = 0x%x,", mx);
967 printf (" ss = 0x%x,", ss);
968 printf (" rsrc = 0x%x,", rsrc);
969 printf (" rdst = 0x%x\n", rdst);
970 }
971 SYNTAX("div %1%S1, %0");
972 #line 650 "rx-decode.opc"
973 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
974
975 /*----------------------------------------------------------------------*/
976 /* DIVU */
977
978 }
979 break;
980 }
981 break;
982 case 0x09:
983 GETBYTE ();
984 switch (op[3] & 0x00)
985 {
986 case 0x00:
987 op_semantics_13:
988 {
989 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
990 #line 662 "rx-decode.opc"
991 int mx AU = (op[1] >> 6) & 0x03;
992 #line 662 "rx-decode.opc"
993 int ss AU = op[1] & 0x03;
994 #line 662 "rx-decode.opc"
995 int rsrc AU = (op[3] >> 4) & 0x0f;
996 #line 662 "rx-decode.opc"
997 int rdst AU = op[3] & 0x0f;
998 if (trace)
999 {
1000 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1001 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1002 op[0], op[1], op[2], op[3]);
1003 printf (" mx = 0x%x,", mx);
1004 printf (" ss = 0x%x,", ss);
1005 printf (" rsrc = 0x%x,", rsrc);
1006 printf (" rdst = 0x%x\n", rdst);
1007 }
1008 SYNTAX("divu %1%S1, %0");
1009 #line 662 "rx-decode.opc"
1010 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1011
1012 /*----------------------------------------------------------------------*/
1013 /* SHIFT */
1014
1015 }
1016 break;
1017 }
1018 break;
1019 case 0x0c:
1020 GETBYTE ();
1021 switch (op[3] & 0x00)
1022 {
1023 case 0x00:
1024 op_semantics_14:
1025 {
1026 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1027 #line 473 "rx-decode.opc"
1028 int mx AU = (op[1] >> 6) & 0x03;
1029 #line 473 "rx-decode.opc"
1030 int ss AU = op[1] & 0x03;
1031 #line 473 "rx-decode.opc"
1032 int rsrc AU = (op[3] >> 4) & 0x0f;
1033 #line 473 "rx-decode.opc"
1034 int rdst AU = op[3] & 0x0f;
1035 if (trace)
1036 {
1037 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1038 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1039 op[0], op[1], op[2], op[3]);
1040 printf (" mx = 0x%x,", mx);
1041 printf (" ss = 0x%x,", ss);
1042 printf (" rsrc = 0x%x,", rsrc);
1043 printf (" rdst = 0x%x\n", rdst);
1044 }
1045 SYNTAX("tst %1%S1, %2");
1046 #line 473 "rx-decode.opc"
1047 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1048
1049 /*----------------------------------------------------------------------*/
1050 /* NEG */
1051
1052 }
1053 break;
1054 }
1055 break;
1056 case 0x0d:
1057 GETBYTE ();
1058 switch (op[3] & 0x00)
1059 {
1060 case 0x00:
1061 op_semantics_15:
1062 {
1063 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1064 #line 452 "rx-decode.opc"
1065 int mx AU = (op[1] >> 6) & 0x03;
1066 #line 452 "rx-decode.opc"
1067 int ss AU = op[1] & 0x03;
1068 #line 452 "rx-decode.opc"
1069 int rsrc AU = (op[3] >> 4) & 0x0f;
1070 #line 452 "rx-decode.opc"
1071 int rdst AU = op[3] & 0x0f;
1072 if (trace)
1073 {
1074 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1075 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1076 op[0], op[1], op[2], op[3]);
1077 printf (" mx = 0x%x,", mx);
1078 printf (" ss = 0x%x,", ss);
1079 printf (" rsrc = 0x%x,", rsrc);
1080 printf (" rdst = 0x%x\n", rdst);
1081 }
1082 SYNTAX("xor %1%S1, %0");
1083 #line 452 "rx-decode.opc"
1084 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1085
1086 /*----------------------------------------------------------------------*/
1087 /* NOT */
1088
1089 }
1090 break;
1091 }
1092 break;
1093 case 0x10:
1094 GETBYTE ();
1095 switch (op[3] & 0x00)
1096 {
1097 case 0x00:
1098 op_semantics_16:
1099 {
1100 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1101 #line 386 "rx-decode.opc"
1102 int mx AU = (op[1] >> 6) & 0x03;
1103 #line 386 "rx-decode.opc"
1104 int ss AU = op[1] & 0x03;
1105 #line 386 "rx-decode.opc"
1106 int rsrc AU = (op[3] >> 4) & 0x0f;
1107 #line 386 "rx-decode.opc"
1108 int rdst AU = op[3] & 0x0f;
1109 if (trace)
1110 {
1111 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1112 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1113 op[0], op[1], op[2], op[3]);
1114 printf (" mx = 0x%x,", mx);
1115 printf (" ss = 0x%x,", ss);
1116 printf (" rsrc = 0x%x,", rsrc);
1117 printf (" rdst = 0x%x\n", rdst);
1118 }
1119 SYNTAX("xchg %1%S1, %0");
1120 #line 386 "rx-decode.opc"
1121 ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1122
1123 /*----------------------------------------------------------------------*/
1124 /* STZ/STNZ */
1125
1126 }
1127 break;
1128 }
1129 break;
1130 case 0x11:
1131 GETBYTE ();
1132 switch (op[3] & 0x00)
1133 {
1134 case 0x00:
1135 op_semantics_17:
1136 {
1137 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1138 #line 891 "rx-decode.opc"
1139 int mx AU = (op[1] >> 6) & 0x03;
1140 #line 891 "rx-decode.opc"
1141 int sd AU = op[1] & 0x03;
1142 #line 891 "rx-decode.opc"
1143 int rsrc AU = (op[3] >> 4) & 0x0f;
1144 #line 891 "rx-decode.opc"
1145 int rdst AU = op[3] & 0x0f;
1146 if (trace)
1147 {
1148 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1149 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1150 op[0], op[1], op[2], op[3]);
1151 printf (" mx = 0x%x,", mx);
1152 printf (" sd = 0x%x,", sd);
1153 printf (" rsrc = 0x%x,", rsrc);
1154 printf (" rdst = 0x%x\n", rdst);
1155 }
1156 SYNTAX("itof %1%S1, %0");
1157 #line 891 "rx-decode.opc"
1158 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1159
1160 /*----------------------------------------------------------------------*/
1161 /* BIT OPS */
1162
1163 }
1164 break;
1165 }
1166 break;
1167 default: UNSUPPORTED(); break;
1168 }
1169 break;
1170 case 0x21:
1171 GETBYTE ();
1172 switch (op[2] & 0xff)
1173 {
1174 case 0x00:
1175 GETBYTE ();
1176 switch (op[3] & 0x00)
1177 {
1178 case 0x00:
1179 goto op_semantics_7;
1180 break;
1181 }
1182 break;
1183 case 0x04:
1184 GETBYTE ();
1185 switch (op[3] & 0x00)
1186 {
1187 case 0x00:
1188 goto op_semantics_8;
1189 break;
1190 }
1191 break;
1192 case 0x05:
1193 GETBYTE ();
1194 switch (op[3] & 0x00)
1195 {
1196 case 0x00:
1197 goto op_semantics_9;
1198 break;
1199 }
1200 break;
1201 case 0x06:
1202 GETBYTE ();
1203 switch (op[3] & 0x00)
1204 {
1205 case 0x00:
1206 goto op_semantics_10;
1207 break;
1208 }
1209 break;
1210 case 0x07:
1211 GETBYTE ();
1212 switch (op[3] & 0x00)
1213 {
1214 case 0x00:
1215 goto op_semantics_11;
1216 break;
1217 }
1218 break;
1219 case 0x08:
1220 GETBYTE ();
1221 switch (op[3] & 0x00)
1222 {
1223 case 0x00:
1224 goto op_semantics_12;
1225 break;
1226 }
1227 break;
1228 case 0x09:
1229 GETBYTE ();
1230 switch (op[3] & 0x00)
1231 {
1232 case 0x00:
1233 goto op_semantics_13;
1234 break;
1235 }
1236 break;
1237 case 0x0c:
1238 GETBYTE ();
1239 switch (op[3] & 0x00)
1240 {
1241 case 0x00:
1242 goto op_semantics_14;
1243 break;
1244 }
1245 break;
1246 case 0x0d:
1247 GETBYTE ();
1248 switch (op[3] & 0x00)
1249 {
1250 case 0x00:
1251 goto op_semantics_15;
1252 break;
1253 }
1254 break;
1255 case 0x10:
1256 GETBYTE ();
1257 switch (op[3] & 0x00)
1258 {
1259 case 0x00:
1260 goto op_semantics_16;
1261 break;
1262 }
1263 break;
1264 case 0x11:
1265 GETBYTE ();
1266 switch (op[3] & 0x00)
1267 {
1268 case 0x00:
1269 goto op_semantics_17;
1270 break;
1271 }
1272 break;
1273 default: UNSUPPORTED(); break;
1274 }
1275 break;
1276 case 0x22:
1277 GETBYTE ();
1278 switch (op[2] & 0xff)
1279 {
1280 case 0x00:
1281 GETBYTE ();
1282 switch (op[3] & 0x00)
1283 {
1284 case 0x00:
1285 goto op_semantics_7;
1286 break;
1287 }
1288 break;
1289 case 0x04:
1290 GETBYTE ();
1291 switch (op[3] & 0x00)
1292 {
1293 case 0x00:
1294 goto op_semantics_8;
1295 break;
1296 }
1297 break;
1298 case 0x05:
1299 GETBYTE ();
1300 switch (op[3] & 0x00)
1301 {
1302 case 0x00:
1303 goto op_semantics_9;
1304 break;
1305 }
1306 break;
1307 case 0x06:
1308 GETBYTE ();
1309 switch (op[3] & 0x00)
1310 {
1311 case 0x00:
1312 goto op_semantics_10;
1313 break;
1314 }
1315 break;
1316 case 0x07:
1317 GETBYTE ();
1318 switch (op[3] & 0x00)
1319 {
1320 case 0x00:
1321 goto op_semantics_11;
1322 break;
1323 }
1324 break;
1325 case 0x08:
1326 GETBYTE ();
1327 switch (op[3] & 0x00)
1328 {
1329 case 0x00:
1330 goto op_semantics_12;
1331 break;
1332 }
1333 break;
1334 case 0x09:
1335 GETBYTE ();
1336 switch (op[3] & 0x00)
1337 {
1338 case 0x00:
1339 goto op_semantics_13;
1340 break;
1341 }
1342 break;
1343 case 0x0c:
1344 GETBYTE ();
1345 switch (op[3] & 0x00)
1346 {
1347 case 0x00:
1348 goto op_semantics_14;
1349 break;
1350 }
1351 break;
1352 case 0x0d:
1353 GETBYTE ();
1354 switch (op[3] & 0x00)
1355 {
1356 case 0x00:
1357 goto op_semantics_15;
1358 break;
1359 }
1360 break;
1361 case 0x10:
1362 GETBYTE ();
1363 switch (op[3] & 0x00)
1364 {
1365 case 0x00:
1366 goto op_semantics_16;
1367 break;
1368 }
1369 break;
1370 case 0x11:
1371 GETBYTE ();
1372 switch (op[3] & 0x00)
1373 {
1374 case 0x00:
1375 goto op_semantics_17;
1376 break;
1377 }
1378 break;
1379 default: UNSUPPORTED(); break;
1380 }
1381 break;
1382 case 0x23:
1383 GETBYTE ();
1384 switch (op[2] & 0xff)
1385 {
1386 case 0x00:
1387 GETBYTE ();
1388 switch (op[3] & 0x00)
1389 {
1390 case 0x00:
1391 goto op_semantics_7;
1392 break;
1393 }
1394 break;
1395 case 0x04:
1396 GETBYTE ();
1397 switch (op[3] & 0x00)
1398 {
1399 case 0x00:
1400 goto op_semantics_8;
1401 break;
1402 }
1403 break;
1404 case 0x05:
1405 GETBYTE ();
1406 switch (op[3] & 0x00)
1407 {
1408 case 0x00:
1409 goto op_semantics_9;
1410 break;
1411 }
1412 break;
1413 case 0x06:
1414 GETBYTE ();
1415 switch (op[3] & 0x00)
1416 {
1417 case 0x00:
1418 goto op_semantics_10;
1419 break;
1420 }
1421 break;
1422 case 0x07:
1423 GETBYTE ();
1424 switch (op[3] & 0x00)
1425 {
1426 case 0x00:
1427 goto op_semantics_11;
1428 break;
1429 }
1430 break;
1431 case 0x08:
1432 GETBYTE ();
1433 switch (op[3] & 0x00)
1434 {
1435 case 0x00:
1436 goto op_semantics_12;
1437 break;
1438 }
1439 break;
1440 case 0x09:
1441 GETBYTE ();
1442 switch (op[3] & 0x00)
1443 {
1444 case 0x00:
1445 goto op_semantics_13;
1446 break;
1447 }
1448 break;
1449 case 0x0c:
1450 GETBYTE ();
1451 switch (op[3] & 0x00)
1452 {
1453 case 0x00:
1454 goto op_semantics_14;
1455 break;
1456 }
1457 break;
1458 case 0x0d:
1459 GETBYTE ();
1460 switch (op[3] & 0x00)
1461 {
1462 case 0x00:
1463 goto op_semantics_15;
1464 break;
1465 }
1466 break;
1467 case 0x10:
1468 GETBYTE ();
1469 switch (op[3] & 0x00)
1470 {
1471 case 0x00:
1472 goto op_semantics_16;
1473 break;
1474 }
1475 break;
1476 case 0x11:
1477 GETBYTE ();
1478 switch (op[3] & 0x00)
1479 {
1480 case 0x00:
1481 goto op_semantics_17;
1482 break;
1483 }
1484 break;
1485 default: UNSUPPORTED(); break;
1486 }
1487 break;
1488 case 0x40:
1489 GETBYTE ();
1490 switch (op[2] & 0x00)
1491 {
1492 case 0x00:
1493 goto op_semantics_1;
1494 break;
1495 }
1496 break;
1497 case 0x41:
1498 GETBYTE ();
1499 switch (op[2] & 0x00)
1500 {
1501 case 0x00:
1502 goto op_semantics_1;
1503 break;
1504 }
1505 break;
1506 case 0x42:
1507 GETBYTE ();
1508 switch (op[2] & 0x00)
1509 {
1510 case 0x00:
1511 goto op_semantics_1;
1512 break;
1513 }
1514 break;
1515 case 0x43:
1516 GETBYTE ();
1517 switch (op[2] & 0x00)
1518 {
1519 case 0x00:
1520 goto op_semantics_1;
1521 break;
1522 }
1523 break;
1524 case 0x44:
1525 GETBYTE ();
1526 switch (op[2] & 0x00)
1527 {
1528 case 0x00:
1529 goto op_semantics_2;
1530 break;
1531 }
1532 break;
1533 case 0x45:
1534 GETBYTE ();
1535 switch (op[2] & 0x00)
1536 {
1537 case 0x00:
1538 goto op_semantics_2;
1539 break;
1540 }
1541 break;
1542 case 0x46:
1543 GETBYTE ();
1544 switch (op[2] & 0x00)
1545 {
1546 case 0x00:
1547 goto op_semantics_2;
1548 break;
1549 }
1550 break;
1551 case 0x47:
1552 GETBYTE ();
1553 switch (op[2] & 0x00)
1554 {
1555 case 0x00:
1556 goto op_semantics_2;
1557 break;
1558 }
1559 break;
1560 case 0x48:
1561 GETBYTE ();
1562 switch (op[2] & 0x00)
1563 {
1564 case 0x00:
1565 goto op_semantics_3;
1566 break;
1567 }
1568 break;
1569 case 0x49:
1570 GETBYTE ();
1571 switch (op[2] & 0x00)
1572 {
1573 case 0x00:
1574 goto op_semantics_3;
1575 break;
1576 }
1577 break;
1578 case 0x4a:
1579 GETBYTE ();
1580 switch (op[2] & 0x00)
1581 {
1582 case 0x00:
1583 goto op_semantics_3;
1584 break;
1585 }
1586 break;
1587 case 0x4b:
1588 GETBYTE ();
1589 switch (op[2] & 0x00)
1590 {
1591 case 0x00:
1592 goto op_semantics_3;
1593 break;
1594 }
1595 break;
1596 case 0x4c:
1597 GETBYTE ();
1598 switch (op[2] & 0x00)
1599 {
1600 case 0x00:
1601 goto op_semantics_4;
1602 break;
1603 }
1604 break;
1605 case 0x4d:
1606 GETBYTE ();
1607 switch (op[2] & 0x00)
1608 {
1609 case 0x00:
1610 goto op_semantics_4;
1611 break;
1612 }
1613 break;
1614 case 0x4e:
1615 GETBYTE ();
1616 switch (op[2] & 0x00)
1617 {
1618 case 0x00:
1619 goto op_semantics_4;
1620 break;
1621 }
1622 break;
1623 case 0x4f:
1624 GETBYTE ();
1625 switch (op[2] & 0x00)
1626 {
1627 case 0x00:
1628 goto op_semantics_4;
1629 break;
1630 }
1631 break;
1632 case 0x50:
1633 GETBYTE ();
1634 switch (op[2] & 0x00)
1635 {
1636 case 0x00:
1637 goto op_semantics_5;
1638 break;
1639 }
1640 break;
1641 case 0x51:
1642 GETBYTE ();
1643 switch (op[2] & 0x00)
1644 {
1645 case 0x00:
1646 goto op_semantics_5;
1647 break;
1648 }
1649 break;
1650 case 0x52:
1651 GETBYTE ();
1652 switch (op[2] & 0x00)
1653 {
1654 case 0x00:
1655 goto op_semantics_5;
1656 break;
1657 }
1658 break;
1659 case 0x53:
1660 GETBYTE ();
1661 switch (op[2] & 0x00)
1662 {
1663 case 0x00:
1664 goto op_semantics_5;
1665 break;
1666 }
1667 break;
1668 case 0x54:
1669 GETBYTE ();
1670 switch (op[2] & 0x00)
1671 {
1672 case 0x00:
1673 goto op_semantics_6;
1674 break;
1675 }
1676 break;
1677 case 0x55:
1678 GETBYTE ();
1679 switch (op[2] & 0x00)
1680 {
1681 case 0x00:
1682 goto op_semantics_6;
1683 break;
1684 }
1685 break;
1686 case 0x56:
1687 GETBYTE ();
1688 switch (op[2] & 0x00)
1689 {
1690 case 0x00:
1691 goto op_semantics_6;
1692 break;
1693 }
1694 break;
1695 case 0x57:
1696 GETBYTE ();
1697 switch (op[2] & 0x00)
1698 {
1699 case 0x00:
1700 goto op_semantics_6;
1701 break;
1702 }
1703 break;
1704 case 0x60:
1705 GETBYTE ();
1706 switch (op[2] & 0xff)
1707 {
1708 case 0x00:
1709 GETBYTE ();
1710 switch (op[3] & 0x00)
1711 {
1712 case 0x00:
1713 goto op_semantics_7;
1714 break;
1715 }
1716 break;
1717 case 0x04:
1718 GETBYTE ();
1719 switch (op[3] & 0x00)
1720 {
1721 case 0x00:
1722 goto op_semantics_8;
1723 break;
1724 }
1725 break;
1726 case 0x05:
1727 GETBYTE ();
1728 switch (op[3] & 0x00)
1729 {
1730 case 0x00:
1731 goto op_semantics_9;
1732 break;
1733 }
1734 break;
1735 case 0x06:
1736 GETBYTE ();
1737 switch (op[3] & 0x00)
1738 {
1739 case 0x00:
1740 goto op_semantics_10;
1741 break;
1742 }
1743 break;
1744 case 0x07:
1745 GETBYTE ();
1746 switch (op[3] & 0x00)
1747 {
1748 case 0x00:
1749 goto op_semantics_11;
1750 break;
1751 }
1752 break;
1753 case 0x08:
1754 GETBYTE ();
1755 switch (op[3] & 0x00)
1756 {
1757 case 0x00:
1758 goto op_semantics_12;
1759 break;
1760 }
1761 break;
1762 case 0x09:
1763 GETBYTE ();
1764 switch (op[3] & 0x00)
1765 {
1766 case 0x00:
1767 goto op_semantics_13;
1768 break;
1769 }
1770 break;
1771 case 0x0c:
1772 GETBYTE ();
1773 switch (op[3] & 0x00)
1774 {
1775 case 0x00:
1776 goto op_semantics_14;
1777 break;
1778 }
1779 break;
1780 case 0x0d:
1781 GETBYTE ();
1782 switch (op[3] & 0x00)
1783 {
1784 case 0x00:
1785 goto op_semantics_15;
1786 break;
1787 }
1788 break;
1789 case 0x10:
1790 GETBYTE ();
1791 switch (op[3] & 0x00)
1792 {
1793 case 0x00:
1794 goto op_semantics_16;
1795 break;
1796 }
1797 break;
1798 case 0x11:
1799 GETBYTE ();
1800 switch (op[3] & 0x00)
1801 {
1802 case 0x00:
1803 goto op_semantics_17;
1804 break;
1805 }
1806 break;
1807 default: UNSUPPORTED(); break;
1808 }
1809 break;
1810 case 0x61:
1811 GETBYTE ();
1812 switch (op[2] & 0xff)
1813 {
1814 case 0x00:
1815 GETBYTE ();
1816 switch (op[3] & 0x00)
1817 {
1818 case 0x00:
1819 goto op_semantics_7;
1820 break;
1821 }
1822 break;
1823 case 0x04:
1824 GETBYTE ();
1825 switch (op[3] & 0x00)
1826 {
1827 case 0x00:
1828 goto op_semantics_8;
1829 break;
1830 }
1831 break;
1832 case 0x05:
1833 GETBYTE ();
1834 switch (op[3] & 0x00)
1835 {
1836 case 0x00:
1837 goto op_semantics_9;
1838 break;
1839 }
1840 break;
1841 case 0x06:
1842 GETBYTE ();
1843 switch (op[3] & 0x00)
1844 {
1845 case 0x00:
1846 goto op_semantics_10;
1847 break;
1848 }
1849 break;
1850 case 0x07:
1851 GETBYTE ();
1852 switch (op[3] & 0x00)
1853 {
1854 case 0x00:
1855 goto op_semantics_11;
1856 break;
1857 }
1858 break;
1859 case 0x08:
1860 GETBYTE ();
1861 switch (op[3] & 0x00)
1862 {
1863 case 0x00:
1864 goto op_semantics_12;
1865 break;
1866 }
1867 break;
1868 case 0x09:
1869 GETBYTE ();
1870 switch (op[3] & 0x00)
1871 {
1872 case 0x00:
1873 goto op_semantics_13;
1874 break;
1875 }
1876 break;
1877 case 0x0c:
1878 GETBYTE ();
1879 switch (op[3] & 0x00)
1880 {
1881 case 0x00:
1882 goto op_semantics_14;
1883 break;
1884 }
1885 break;
1886 case 0x0d:
1887 GETBYTE ();
1888 switch (op[3] & 0x00)
1889 {
1890 case 0x00:
1891 goto op_semantics_15;
1892 break;
1893 }
1894 break;
1895 case 0x10:
1896 GETBYTE ();
1897 switch (op[3] & 0x00)
1898 {
1899 case 0x00:
1900 goto op_semantics_16;
1901 break;
1902 }
1903 break;
1904 case 0x11:
1905 GETBYTE ();
1906 switch (op[3] & 0x00)
1907 {
1908 case 0x00:
1909 goto op_semantics_17;
1910 break;
1911 }
1912 break;
1913 default: UNSUPPORTED(); break;
1914 }
1915 break;
1916 case 0x62:
1917 GETBYTE ();
1918 switch (op[2] & 0xff)
1919 {
1920 case 0x00:
1921 GETBYTE ();
1922 switch (op[3] & 0x00)
1923 {
1924 case 0x00:
1925 goto op_semantics_7;
1926 break;
1927 }
1928 break;
1929 case 0x04:
1930 GETBYTE ();
1931 switch (op[3] & 0x00)
1932 {
1933 case 0x00:
1934 goto op_semantics_8;
1935 break;
1936 }
1937 break;
1938 case 0x05:
1939 GETBYTE ();
1940 switch (op[3] & 0x00)
1941 {
1942 case 0x00:
1943 goto op_semantics_9;
1944 break;
1945 }
1946 break;
1947 case 0x06:
1948 GETBYTE ();
1949 switch (op[3] & 0x00)
1950 {
1951 case 0x00:
1952 goto op_semantics_10;
1953 break;
1954 }
1955 break;
1956 case 0x07:
1957 GETBYTE ();
1958 switch (op[3] & 0x00)
1959 {
1960 case 0x00:
1961 goto op_semantics_11;
1962 break;
1963 }
1964 break;
1965 case 0x08:
1966 GETBYTE ();
1967 switch (op[3] & 0x00)
1968 {
1969 case 0x00:
1970 goto op_semantics_12;
1971 break;
1972 }
1973 break;
1974 case 0x09:
1975 GETBYTE ();
1976 switch (op[3] & 0x00)
1977 {
1978 case 0x00:
1979 goto op_semantics_13;
1980 break;
1981 }
1982 break;
1983 case 0x0c:
1984 GETBYTE ();
1985 switch (op[3] & 0x00)
1986 {
1987 case 0x00:
1988 goto op_semantics_14;
1989 break;
1990 }
1991 break;
1992 case 0x0d:
1993 GETBYTE ();
1994 switch (op[3] & 0x00)
1995 {
1996 case 0x00:
1997 goto op_semantics_15;
1998 break;
1999 }
2000 break;
2001 case 0x10:
2002 GETBYTE ();
2003 switch (op[3] & 0x00)
2004 {
2005 case 0x00:
2006 goto op_semantics_16;
2007 break;
2008 }
2009 break;
2010 case 0x11:
2011 GETBYTE ();
2012 switch (op[3] & 0x00)
2013 {
2014 case 0x00:
2015 goto op_semantics_17;
2016 break;
2017 }
2018 break;
2019 default: UNSUPPORTED(); break;
2020 }
2021 break;
2022 case 0x63:
2023 GETBYTE ();
2024 switch (op[2] & 0xff)
2025 {
2026 case 0x00:
2027 GETBYTE ();
2028 switch (op[3] & 0x00)
2029 {
2030 case 0x00:
2031 goto op_semantics_7;
2032 break;
2033 }
2034 break;
2035 case 0x04:
2036 GETBYTE ();
2037 switch (op[3] & 0x00)
2038 {
2039 case 0x00:
2040 goto op_semantics_8;
2041 break;
2042 }
2043 break;
2044 case 0x05:
2045 GETBYTE ();
2046 switch (op[3] & 0x00)
2047 {
2048 case 0x00:
2049 goto op_semantics_9;
2050 break;
2051 }
2052 break;
2053 case 0x06:
2054 GETBYTE ();
2055 switch (op[3] & 0x00)
2056 {
2057 case 0x00:
2058 goto op_semantics_10;
2059 break;
2060 }
2061 break;
2062 case 0x07:
2063 GETBYTE ();
2064 switch (op[3] & 0x00)
2065 {
2066 case 0x00:
2067 goto op_semantics_11;
2068 break;
2069 }
2070 break;
2071 case 0x08:
2072 GETBYTE ();
2073 switch (op[3] & 0x00)
2074 {
2075 case 0x00:
2076 goto op_semantics_12;
2077 break;
2078 }
2079 break;
2080 case 0x09:
2081 GETBYTE ();
2082 switch (op[3] & 0x00)
2083 {
2084 case 0x00:
2085 goto op_semantics_13;
2086 break;
2087 }
2088 break;
2089 case 0x0c:
2090 GETBYTE ();
2091 switch (op[3] & 0x00)
2092 {
2093 case 0x00:
2094 goto op_semantics_14;
2095 break;
2096 }
2097 break;
2098 case 0x0d:
2099 GETBYTE ();
2100 switch (op[3] & 0x00)
2101 {
2102 case 0x00:
2103 goto op_semantics_15;
2104 break;
2105 }
2106 break;
2107 case 0x10:
2108 GETBYTE ();
2109 switch (op[3] & 0x00)
2110 {
2111 case 0x00:
2112 goto op_semantics_16;
2113 break;
2114 }
2115 break;
2116 case 0x11:
2117 GETBYTE ();
2118 switch (op[3] & 0x00)
2119 {
2120 case 0x00:
2121 goto op_semantics_17;
2122 break;
2123 }
2124 break;
2125 default: UNSUPPORTED(); break;
2126 }
2127 break;
2128 case 0x80:
2129 GETBYTE ();
2130 switch (op[2] & 0x00)
2131 {
2132 case 0x00:
2133 goto op_semantics_1;
2134 break;
2135 }
2136 break;
2137 case 0x81:
2138 GETBYTE ();
2139 switch (op[2] & 0x00)
2140 {
2141 case 0x00:
2142 goto op_semantics_1;
2143 break;
2144 }
2145 break;
2146 case 0x82:
2147 GETBYTE ();
2148 switch (op[2] & 0x00)
2149 {
2150 case 0x00:
2151 goto op_semantics_1;
2152 break;
2153 }
2154 break;
2155 case 0x83:
2156 GETBYTE ();
2157 switch (op[2] & 0x00)
2158 {
2159 case 0x00:
2160 goto op_semantics_1;
2161 break;
2162 }
2163 break;
2164 case 0x84:
2165 GETBYTE ();
2166 switch (op[2] & 0x00)
2167 {
2168 case 0x00:
2169 goto op_semantics_2;
2170 break;
2171 }
2172 break;
2173 case 0x85:
2174 GETBYTE ();
2175 switch (op[2] & 0x00)
2176 {
2177 case 0x00:
2178 goto op_semantics_2;
2179 break;
2180 }
2181 break;
2182 case 0x86:
2183 GETBYTE ();
2184 switch (op[2] & 0x00)
2185 {
2186 case 0x00:
2187 goto op_semantics_2;
2188 break;
2189 }
2190 break;
2191 case 0x87:
2192 GETBYTE ();
2193 switch (op[2] & 0x00)
2194 {
2195 case 0x00:
2196 goto op_semantics_2;
2197 break;
2198 }
2199 break;
2200 case 0x88:
2201 GETBYTE ();
2202 switch (op[2] & 0x00)
2203 {
2204 case 0x00:
2205 goto op_semantics_3;
2206 break;
2207 }
2208 break;
2209 case 0x89:
2210 GETBYTE ();
2211 switch (op[2] & 0x00)
2212 {
2213 case 0x00:
2214 goto op_semantics_3;
2215 break;
2216 }
2217 break;
2218 case 0x8a:
2219 GETBYTE ();
2220 switch (op[2] & 0x00)
2221 {
2222 case 0x00:
2223 goto op_semantics_3;
2224 break;
2225 }
2226 break;
2227 case 0x8b:
2228 GETBYTE ();
2229 switch (op[2] & 0x00)
2230 {
2231 case 0x00:
2232 goto op_semantics_3;
2233 break;
2234 }
2235 break;
2236 case 0x8c:
2237 GETBYTE ();
2238 switch (op[2] & 0x00)
2239 {
2240 case 0x00:
2241 goto op_semantics_4;
2242 break;
2243 }
2244 break;
2245 case 0x8d:
2246 GETBYTE ();
2247 switch (op[2] & 0x00)
2248 {
2249 case 0x00:
2250 goto op_semantics_4;
2251 break;
2252 }
2253 break;
2254 case 0x8e:
2255 GETBYTE ();
2256 switch (op[2] & 0x00)
2257 {
2258 case 0x00:
2259 goto op_semantics_4;
2260 break;
2261 }
2262 break;
2263 case 0x8f:
2264 GETBYTE ();
2265 switch (op[2] & 0x00)
2266 {
2267 case 0x00:
2268 goto op_semantics_4;
2269 break;
2270 }
2271 break;
2272 case 0x90:
2273 GETBYTE ();
2274 switch (op[2] & 0x00)
2275 {
2276 case 0x00:
2277 goto op_semantics_5;
2278 break;
2279 }
2280 break;
2281 case 0x91:
2282 GETBYTE ();
2283 switch (op[2] & 0x00)
2284 {
2285 case 0x00:
2286 goto op_semantics_5;
2287 break;
2288 }
2289 break;
2290 case 0x92:
2291 GETBYTE ();
2292 switch (op[2] & 0x00)
2293 {
2294 case 0x00:
2295 goto op_semantics_5;
2296 break;
2297 }
2298 break;
2299 case 0x93:
2300 GETBYTE ();
2301 switch (op[2] & 0x00)
2302 {
2303 case 0x00:
2304 goto op_semantics_5;
2305 break;
2306 }
2307 break;
2308 case 0x94:
2309 GETBYTE ();
2310 switch (op[2] & 0x00)
2311 {
2312 case 0x00:
2313 goto op_semantics_6;
2314 break;
2315 }
2316 break;
2317 case 0x95:
2318 GETBYTE ();
2319 switch (op[2] & 0x00)
2320 {
2321 case 0x00:
2322 goto op_semantics_6;
2323 break;
2324 }
2325 break;
2326 case 0x96:
2327 GETBYTE ();
2328 switch (op[2] & 0x00)
2329 {
2330 case 0x00:
2331 goto op_semantics_6;
2332 break;
2333 }
2334 break;
2335 case 0x97:
2336 GETBYTE ();
2337 switch (op[2] & 0x00)
2338 {
2339 case 0x00:
2340 goto op_semantics_6;
2341 break;
2342 }
2343 break;
2344 case 0xa0:
2345 GETBYTE ();
2346 switch (op[2] & 0xff)
2347 {
2348 case 0x00:
2349 GETBYTE ();
2350 switch (op[3] & 0x00)
2351 {
2352 case 0x00:
2353 goto op_semantics_7;
2354 break;
2355 }
2356 break;
2357 case 0x02:
2358 GETBYTE ();
2359 switch (op[3] & 0x00)
2360 {
2361 case 0x00:
2362 op_semantics_18:
2363 {
2364 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2365 #line 494 "rx-decode.opc"
2366 int ss AU = op[1] & 0x03;
2367 #line 494 "rx-decode.opc"
2368 int rsrc AU = (op[3] >> 4) & 0x0f;
2369 #line 494 "rx-decode.opc"
2370 int rdst AU = op[3] & 0x0f;
2371 if (trace)
2372 {
2373 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2374 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2375 op[0], op[1], op[2], op[3]);
2376 printf (" ss = 0x%x,", ss);
2377 printf (" rsrc = 0x%x,", rsrc);
2378 printf (" rdst = 0x%x\n", rdst);
2379 }
2380 SYNTAX("adc %1%S1, %0");
2381 #line 494 "rx-decode.opc"
2382 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2383
2384 /*----------------------------------------------------------------------*/
2385 /* ADD */
2386
2387 }
2388 break;
2389 }
2390 break;
2391 case 0x04:
2392 GETBYTE ();
2393 switch (op[3] & 0x00)
2394 {
2395 case 0x00:
2396 goto op_semantics_8;
2397 break;
2398 }
2399 break;
2400 case 0x05:
2401 GETBYTE ();
2402 switch (op[3] & 0x00)
2403 {
2404 case 0x00:
2405 goto op_semantics_9;
2406 break;
2407 }
2408 break;
2409 case 0x06:
2410 GETBYTE ();
2411 switch (op[3] & 0x00)
2412 {
2413 case 0x00:
2414 goto op_semantics_10;
2415 break;
2416 }
2417 break;
2418 case 0x07:
2419 GETBYTE ();
2420 switch (op[3] & 0x00)
2421 {
2422 case 0x00:
2423 goto op_semantics_11;
2424 break;
2425 }
2426 break;
2427 case 0x08:
2428 GETBYTE ();
2429 switch (op[3] & 0x00)
2430 {
2431 case 0x00:
2432 goto op_semantics_12;
2433 break;
2434 }
2435 break;
2436 case 0x09:
2437 GETBYTE ();
2438 switch (op[3] & 0x00)
2439 {
2440 case 0x00:
2441 goto op_semantics_13;
2442 break;
2443 }
2444 break;
2445 case 0x0c:
2446 GETBYTE ();
2447 switch (op[3] & 0x00)
2448 {
2449 case 0x00:
2450 goto op_semantics_14;
2451 break;
2452 }
2453 break;
2454 case 0x0d:
2455 GETBYTE ();
2456 switch (op[3] & 0x00)
2457 {
2458 case 0x00:
2459 goto op_semantics_15;
2460 break;
2461 }
2462 break;
2463 case 0x10:
2464 GETBYTE ();
2465 switch (op[3] & 0x00)
2466 {
2467 case 0x00:
2468 goto op_semantics_16;
2469 break;
2470 }
2471 break;
2472 case 0x11:
2473 GETBYTE ();
2474 switch (op[3] & 0x00)
2475 {
2476 case 0x00:
2477 goto op_semantics_17;
2478 break;
2479 }
2480 break;
2481 default: UNSUPPORTED(); break;
2482 }
2483 break;
2484 case 0xa1:
2485 GETBYTE ();
2486 switch (op[2] & 0xff)
2487 {
2488 case 0x00:
2489 GETBYTE ();
2490 switch (op[3] & 0x00)
2491 {
2492 case 0x00:
2493 goto op_semantics_7;
2494 break;
2495 }
2496 break;
2497 case 0x02:
2498 GETBYTE ();
2499 switch (op[3] & 0x00)
2500 {
2501 case 0x00:
2502 goto op_semantics_18;
2503 break;
2504 }
2505 break;
2506 case 0x04:
2507 GETBYTE ();
2508 switch (op[3] & 0x00)
2509 {
2510 case 0x00:
2511 goto op_semantics_8;
2512 break;
2513 }
2514 break;
2515 case 0x05:
2516 GETBYTE ();
2517 switch (op[3] & 0x00)
2518 {
2519 case 0x00:
2520 goto op_semantics_9;
2521 break;
2522 }
2523 break;
2524 case 0x06:
2525 GETBYTE ();
2526 switch (op[3] & 0x00)
2527 {
2528 case 0x00:
2529 goto op_semantics_10;
2530 break;
2531 }
2532 break;
2533 case 0x07:
2534 GETBYTE ();
2535 switch (op[3] & 0x00)
2536 {
2537 case 0x00:
2538 goto op_semantics_11;
2539 break;
2540 }
2541 break;
2542 case 0x08:
2543 GETBYTE ();
2544 switch (op[3] & 0x00)
2545 {
2546 case 0x00:
2547 goto op_semantics_12;
2548 break;
2549 }
2550 break;
2551 case 0x09:
2552 GETBYTE ();
2553 switch (op[3] & 0x00)
2554 {
2555 case 0x00:
2556 goto op_semantics_13;
2557 break;
2558 }
2559 break;
2560 case 0x0c:
2561 GETBYTE ();
2562 switch (op[3] & 0x00)
2563 {
2564 case 0x00:
2565 goto op_semantics_14;
2566 break;
2567 }
2568 break;
2569 case 0x0d:
2570 GETBYTE ();
2571 switch (op[3] & 0x00)
2572 {
2573 case 0x00:
2574 goto op_semantics_15;
2575 break;
2576 }
2577 break;
2578 case 0x10:
2579 GETBYTE ();
2580 switch (op[3] & 0x00)
2581 {
2582 case 0x00:
2583 goto op_semantics_16;
2584 break;
2585 }
2586 break;
2587 case 0x11:
2588 GETBYTE ();
2589 switch (op[3] & 0x00)
2590 {
2591 case 0x00:
2592 goto op_semantics_17;
2593 break;
2594 }
2595 break;
2596 default: UNSUPPORTED(); break;
2597 }
2598 break;
2599 case 0xa2:
2600 GETBYTE ();
2601 switch (op[2] & 0xff)
2602 {
2603 case 0x00:
2604 GETBYTE ();
2605 switch (op[3] & 0x00)
2606 {
2607 case 0x00:
2608 goto op_semantics_7;
2609 break;
2610 }
2611 break;
2612 case 0x02:
2613 GETBYTE ();
2614 switch (op[3] & 0x00)
2615 {
2616 case 0x00:
2617 goto op_semantics_18;
2618 break;
2619 }
2620 break;
2621 case 0x04:
2622 GETBYTE ();
2623 switch (op[3] & 0x00)
2624 {
2625 case 0x00:
2626 goto op_semantics_8;
2627 break;
2628 }
2629 break;
2630 case 0x05:
2631 GETBYTE ();
2632 switch (op[3] & 0x00)
2633 {
2634 case 0x00:
2635 goto op_semantics_9;
2636 break;
2637 }
2638 break;
2639 case 0x06:
2640 GETBYTE ();
2641 switch (op[3] & 0x00)
2642 {
2643 case 0x00:
2644 goto op_semantics_10;
2645 break;
2646 }
2647 break;
2648 case 0x07:
2649 GETBYTE ();
2650 switch (op[3] & 0x00)
2651 {
2652 case 0x00:
2653 goto op_semantics_11;
2654 break;
2655 }
2656 break;
2657 case 0x08:
2658 GETBYTE ();
2659 switch (op[3] & 0x00)
2660 {
2661 case 0x00:
2662 goto op_semantics_12;
2663 break;
2664 }
2665 break;
2666 case 0x09:
2667 GETBYTE ();
2668 switch (op[3] & 0x00)
2669 {
2670 case 0x00:
2671 goto op_semantics_13;
2672 break;
2673 }
2674 break;
2675 case 0x0c:
2676 GETBYTE ();
2677 switch (op[3] & 0x00)
2678 {
2679 case 0x00:
2680 goto op_semantics_14;
2681 break;
2682 }
2683 break;
2684 case 0x0d:
2685 GETBYTE ();
2686 switch (op[3] & 0x00)
2687 {
2688 case 0x00:
2689 goto op_semantics_15;
2690 break;
2691 }
2692 break;
2693 case 0x10:
2694 GETBYTE ();
2695 switch (op[3] & 0x00)
2696 {
2697 case 0x00:
2698 goto op_semantics_16;
2699 break;
2700 }
2701 break;
2702 case 0x11:
2703 GETBYTE ();
2704 switch (op[3] & 0x00)
2705 {
2706 case 0x00:
2707 goto op_semantics_17;
2708 break;
2709 }
2710 break;
2711 default: UNSUPPORTED(); break;
2712 }
2713 break;
2714 case 0xa3:
2715 GETBYTE ();
2716 switch (op[2] & 0xff)
2717 {
2718 case 0x00:
2719 GETBYTE ();
2720 switch (op[3] & 0x00)
2721 {
2722 case 0x00:
2723 goto op_semantics_7;
2724 break;
2725 }
2726 break;
2727 case 0x02:
2728 GETBYTE ();
2729 switch (op[3] & 0x00)
2730 {
2731 case 0x00:
2732 goto op_semantics_18;
2733 break;
2734 }
2735 break;
2736 case 0x04:
2737 GETBYTE ();
2738 switch (op[3] & 0x00)
2739 {
2740 case 0x00:
2741 goto op_semantics_8;
2742 break;
2743 }
2744 break;
2745 case 0x05:
2746 GETBYTE ();
2747 switch (op[3] & 0x00)
2748 {
2749 case 0x00:
2750 goto op_semantics_9;
2751 break;
2752 }
2753 break;
2754 case 0x06:
2755 GETBYTE ();
2756 switch (op[3] & 0x00)
2757 {
2758 case 0x00:
2759 goto op_semantics_10;
2760 break;
2761 }
2762 break;
2763 case 0x07:
2764 GETBYTE ();
2765 switch (op[3] & 0x00)
2766 {
2767 case 0x00:
2768 goto op_semantics_11;
2769 break;
2770 }
2771 break;
2772 case 0x08:
2773 GETBYTE ();
2774 switch (op[3] & 0x00)
2775 {
2776 case 0x00:
2777 goto op_semantics_12;
2778 break;
2779 }
2780 break;
2781 case 0x09:
2782 GETBYTE ();
2783 switch (op[3] & 0x00)
2784 {
2785 case 0x00:
2786 goto op_semantics_13;
2787 break;
2788 }
2789 break;
2790 case 0x0c:
2791 GETBYTE ();
2792 switch (op[3] & 0x00)
2793 {
2794 case 0x00:
2795 goto op_semantics_14;
2796 break;
2797 }
2798 break;
2799 case 0x0d:
2800 GETBYTE ();
2801 switch (op[3] & 0x00)
2802 {
2803 case 0x00:
2804 goto op_semantics_15;
2805 break;
2806 }
2807 break;
2808 case 0x10:
2809 GETBYTE ();
2810 switch (op[3] & 0x00)
2811 {
2812 case 0x00:
2813 goto op_semantics_16;
2814 break;
2815 }
2816 break;
2817 case 0x11:
2818 GETBYTE ();
2819 switch (op[3] & 0x00)
2820 {
2821 case 0x00:
2822 goto op_semantics_17;
2823 break;
2824 }
2825 break;
2826 default: UNSUPPORTED(); break;
2827 }
2828 break;
2829 case 0xc0:
2830 GETBYTE ();
2831 switch (op[2] & 0x00)
2832 {
2833 case 0x00:
2834 goto op_semantics_1;
2835 break;
2836 }
2837 break;
2838 case 0xc1:
2839 GETBYTE ();
2840 switch (op[2] & 0x00)
2841 {
2842 case 0x00:
2843 goto op_semantics_1;
2844 break;
2845 }
2846 break;
2847 case 0xc2:
2848 GETBYTE ();
2849 switch (op[2] & 0x00)
2850 {
2851 case 0x00:
2852 goto op_semantics_1;
2853 break;
2854 }
2855 break;
2856 case 0xc3:
2857 GETBYTE ();
2858 switch (op[2] & 0x00)
2859 {
2860 case 0x00:
2861 goto op_semantics_1;
2862 break;
2863 }
2864 break;
2865 case 0xc4:
2866 GETBYTE ();
2867 switch (op[2] & 0x00)
2868 {
2869 case 0x00:
2870 goto op_semantics_2;
2871 break;
2872 }
2873 break;
2874 case 0xc5:
2875 GETBYTE ();
2876 switch (op[2] & 0x00)
2877 {
2878 case 0x00:
2879 goto op_semantics_2;
2880 break;
2881 }
2882 break;
2883 case 0xc6:
2884 GETBYTE ();
2885 switch (op[2] & 0x00)
2886 {
2887 case 0x00:
2888 goto op_semantics_2;
2889 break;
2890 }
2891 break;
2892 case 0xc7:
2893 GETBYTE ();
2894 switch (op[2] & 0x00)
2895 {
2896 case 0x00:
2897 goto op_semantics_2;
2898 break;
2899 }
2900 break;
2901 case 0xc8:
2902 GETBYTE ();
2903 switch (op[2] & 0x00)
2904 {
2905 case 0x00:
2906 goto op_semantics_3;
2907 break;
2908 }
2909 break;
2910 case 0xc9:
2911 GETBYTE ();
2912 switch (op[2] & 0x00)
2913 {
2914 case 0x00:
2915 goto op_semantics_3;
2916 break;
2917 }
2918 break;
2919 case 0xca:
2920 GETBYTE ();
2921 switch (op[2] & 0x00)
2922 {
2923 case 0x00:
2924 goto op_semantics_3;
2925 break;
2926 }
2927 break;
2928 case 0xcb:
2929 GETBYTE ();
2930 switch (op[2] & 0x00)
2931 {
2932 case 0x00:
2933 goto op_semantics_3;
2934 break;
2935 }
2936 break;
2937 case 0xcc:
2938 GETBYTE ();
2939 switch (op[2] & 0x00)
2940 {
2941 case 0x00:
2942 goto op_semantics_4;
2943 break;
2944 }
2945 break;
2946 case 0xcd:
2947 GETBYTE ();
2948 switch (op[2] & 0x00)
2949 {
2950 case 0x00:
2951 goto op_semantics_4;
2952 break;
2953 }
2954 break;
2955 case 0xce:
2956 GETBYTE ();
2957 switch (op[2] & 0x00)
2958 {
2959 case 0x00:
2960 goto op_semantics_4;
2961 break;
2962 }
2963 break;
2964 case 0xcf:
2965 GETBYTE ();
2966 switch (op[2] & 0x00)
2967 {
2968 case 0x00:
2969 goto op_semantics_4;
2970 break;
2971 }
2972 break;
2973 case 0xd0:
2974 GETBYTE ();
2975 switch (op[2] & 0x00)
2976 {
2977 case 0x00:
2978 goto op_semantics_5;
2979 break;
2980 }
2981 break;
2982 case 0xd1:
2983 GETBYTE ();
2984 switch (op[2] & 0x00)
2985 {
2986 case 0x00:
2987 goto op_semantics_5;
2988 break;
2989 }
2990 break;
2991 case 0xd2:
2992 GETBYTE ();
2993 switch (op[2] & 0x00)
2994 {
2995 case 0x00:
2996 goto op_semantics_5;
2997 break;
2998 }
2999 break;
3000 case 0xd3:
3001 GETBYTE ();
3002 switch (op[2] & 0x00)
3003 {
3004 case 0x00:
3005 goto op_semantics_5;
3006 break;
3007 }
3008 break;
3009 case 0xd4:
3010 GETBYTE ();
3011 switch (op[2] & 0x00)
3012 {
3013 case 0x00:
3014 goto op_semantics_6;
3015 break;
3016 }
3017 break;
3018 case 0xd5:
3019 GETBYTE ();
3020 switch (op[2] & 0x00)
3021 {
3022 case 0x00:
3023 goto op_semantics_6;
3024 break;
3025 }
3026 break;
3027 case 0xd6:
3028 GETBYTE ();
3029 switch (op[2] & 0x00)
3030 {
3031 case 0x00:
3032 goto op_semantics_6;
3033 break;
3034 }
3035 break;
3036 case 0xd7:
3037 GETBYTE ();
3038 switch (op[2] & 0x00)
3039 {
3040 case 0x00:
3041 goto op_semantics_6;
3042 break;
3043 }
3044 break;
3045 case 0xe0:
3046 GETBYTE ();
3047 switch (op[2] & 0xff)
3048 {
3049 case 0x00:
3050 GETBYTE ();
3051 switch (op[3] & 0x00)
3052 {
3053 case 0x00:
3054 goto op_semantics_7;
3055 break;
3056 }
3057 break;
3058 case 0x04:
3059 GETBYTE ();
3060 switch (op[3] & 0x00)
3061 {
3062 case 0x00:
3063 goto op_semantics_8;
3064 break;
3065 }
3066 break;
3067 case 0x05:
3068 GETBYTE ();
3069 switch (op[3] & 0x00)
3070 {
3071 case 0x00:
3072 goto op_semantics_9;
3073 break;
3074 }
3075 break;
3076 case 0x06:
3077 GETBYTE ();
3078 switch (op[3] & 0x00)
3079 {
3080 case 0x00:
3081 goto op_semantics_10;
3082 break;
3083 }
3084 break;
3085 case 0x07:
3086 GETBYTE ();
3087 switch (op[3] & 0x00)
3088 {
3089 case 0x00:
3090 goto op_semantics_11;
3091 break;
3092 }
3093 break;
3094 case 0x08:
3095 GETBYTE ();
3096 switch (op[3] & 0x00)
3097 {
3098 case 0x00:
3099 goto op_semantics_12;
3100 break;
3101 }
3102 break;
3103 case 0x09:
3104 GETBYTE ();
3105 switch (op[3] & 0x00)
3106 {
3107 case 0x00:
3108 goto op_semantics_13;
3109 break;
3110 }
3111 break;
3112 case 0x0c:
3113 GETBYTE ();
3114 switch (op[3] & 0x00)
3115 {
3116 case 0x00:
3117 goto op_semantics_14;
3118 break;
3119 }
3120 break;
3121 case 0x0d:
3122 GETBYTE ();
3123 switch (op[3] & 0x00)
3124 {
3125 case 0x00:
3126 goto op_semantics_15;
3127 break;
3128 }
3129 break;
3130 case 0x10:
3131 GETBYTE ();
3132 switch (op[3] & 0x00)
3133 {
3134 case 0x00:
3135 goto op_semantics_16;
3136 break;
3137 }
3138 break;
3139 case 0x11:
3140 GETBYTE ();
3141 switch (op[3] & 0x00)
3142 {
3143 case 0x00:
3144 goto op_semantics_17;
3145 break;
3146 }
3147 break;
3148 default: UNSUPPORTED(); break;
3149 }
3150 break;
3151 case 0xe1:
3152 GETBYTE ();
3153 switch (op[2] & 0xff)
3154 {
3155 case 0x00:
3156 GETBYTE ();
3157 switch (op[3] & 0x00)
3158 {
3159 case 0x00:
3160 goto op_semantics_7;
3161 break;
3162 }
3163 break;
3164 case 0x04:
3165 GETBYTE ();
3166 switch (op[3] & 0x00)
3167 {
3168 case 0x00:
3169 goto op_semantics_8;
3170 break;
3171 }
3172 break;
3173 case 0x05:
3174 GETBYTE ();
3175 switch (op[3] & 0x00)
3176 {
3177 case 0x00:
3178 goto op_semantics_9;
3179 break;
3180 }
3181 break;
3182 case 0x06:
3183 GETBYTE ();
3184 switch (op[3] & 0x00)
3185 {
3186 case 0x00:
3187 goto op_semantics_10;
3188 break;
3189 }
3190 break;
3191 case 0x07:
3192 GETBYTE ();
3193 switch (op[3] & 0x00)
3194 {
3195 case 0x00:
3196 goto op_semantics_11;
3197 break;
3198 }
3199 break;
3200 case 0x08:
3201 GETBYTE ();
3202 switch (op[3] & 0x00)
3203 {
3204 case 0x00:
3205 goto op_semantics_12;
3206 break;
3207 }
3208 break;
3209 case 0x09:
3210 GETBYTE ();
3211 switch (op[3] & 0x00)
3212 {
3213 case 0x00:
3214 goto op_semantics_13;
3215 break;
3216 }
3217 break;
3218 case 0x0c:
3219 GETBYTE ();
3220 switch (op[3] & 0x00)
3221 {
3222 case 0x00:
3223 goto op_semantics_14;
3224 break;
3225 }
3226 break;
3227 case 0x0d:
3228 GETBYTE ();
3229 switch (op[3] & 0x00)
3230 {
3231 case 0x00:
3232 goto op_semantics_15;
3233 break;
3234 }
3235 break;
3236 case 0x10:
3237 GETBYTE ();
3238 switch (op[3] & 0x00)
3239 {
3240 case 0x00:
3241 goto op_semantics_16;
3242 break;
3243 }
3244 break;
3245 case 0x11:
3246 GETBYTE ();
3247 switch (op[3] & 0x00)
3248 {
3249 case 0x00:
3250 goto op_semantics_17;
3251 break;
3252 }
3253 break;
3254 default: UNSUPPORTED(); break;
3255 }
3256 break;
3257 case 0xe2:
3258 GETBYTE ();
3259 switch (op[2] & 0xff)
3260 {
3261 case 0x00:
3262 GETBYTE ();
3263 switch (op[3] & 0x00)
3264 {
3265 case 0x00:
3266 goto op_semantics_7;
3267 break;
3268 }
3269 break;
3270 case 0x04:
3271 GETBYTE ();
3272 switch (op[3] & 0x00)
3273 {
3274 case 0x00:
3275 goto op_semantics_8;
3276 break;
3277 }
3278 break;
3279 case 0x05:
3280 GETBYTE ();
3281 switch (op[3] & 0x00)
3282 {
3283 case 0x00:
3284 goto op_semantics_9;
3285 break;
3286 }
3287 break;
3288 case 0x06:
3289 GETBYTE ();
3290 switch (op[3] & 0x00)
3291 {
3292 case 0x00:
3293 goto op_semantics_10;
3294 break;
3295 }
3296 break;
3297 case 0x07:
3298 GETBYTE ();
3299 switch (op[3] & 0x00)
3300 {
3301 case 0x00:
3302 goto op_semantics_11;
3303 break;
3304 }
3305 break;
3306 case 0x08:
3307 GETBYTE ();
3308 switch (op[3] & 0x00)
3309 {
3310 case 0x00:
3311 goto op_semantics_12;
3312 break;
3313 }
3314 break;
3315 case 0x09:
3316 GETBYTE ();
3317 switch (op[3] & 0x00)
3318 {
3319 case 0x00:
3320 goto op_semantics_13;
3321 break;
3322 }
3323 break;
3324 case 0x0c:
3325 GETBYTE ();
3326 switch (op[3] & 0x00)
3327 {
3328 case 0x00:
3329 goto op_semantics_14;
3330 break;
3331 }
3332 break;
3333 case 0x0d:
3334 GETBYTE ();
3335 switch (op[3] & 0x00)
3336 {
3337 case 0x00:
3338 goto op_semantics_15;
3339 break;
3340 }
3341 break;
3342 case 0x10:
3343 GETBYTE ();
3344 switch (op[3] & 0x00)
3345 {
3346 case 0x00:
3347 goto op_semantics_16;
3348 break;
3349 }
3350 break;
3351 case 0x11:
3352 GETBYTE ();
3353 switch (op[3] & 0x00)
3354 {
3355 case 0x00:
3356 goto op_semantics_17;
3357 break;
3358 }
3359 break;
3360 default: UNSUPPORTED(); break;
3361 }
3362 break;
3363 case 0xe3:
3364 GETBYTE ();
3365 switch (op[2] & 0xff)
3366 {
3367 case 0x00:
3368 GETBYTE ();
3369 switch (op[3] & 0x00)
3370 {
3371 case 0x00:
3372 goto op_semantics_7;
3373 break;
3374 }
3375 break;
3376 case 0x04:
3377 GETBYTE ();
3378 switch (op[3] & 0x00)
3379 {
3380 case 0x00:
3381 goto op_semantics_8;
3382 break;
3383 }
3384 break;
3385 case 0x05:
3386 GETBYTE ();
3387 switch (op[3] & 0x00)
3388 {
3389 case 0x00:
3390 goto op_semantics_9;
3391 break;
3392 }
3393 break;
3394 case 0x06:
3395 GETBYTE ();
3396 switch (op[3] & 0x00)
3397 {
3398 case 0x00:
3399 goto op_semantics_10;
3400 break;
3401 }
3402 break;
3403 case 0x07:
3404 GETBYTE ();
3405 switch (op[3] & 0x00)
3406 {
3407 case 0x00:
3408 goto op_semantics_11;
3409 break;
3410 }
3411 break;
3412 case 0x08:
3413 GETBYTE ();
3414 switch (op[3] & 0x00)
3415 {
3416 case 0x00:
3417 goto op_semantics_12;
3418 break;
3419 }
3420 break;
3421 case 0x09:
3422 GETBYTE ();
3423 switch (op[3] & 0x00)
3424 {
3425 case 0x00:
3426 goto op_semantics_13;
3427 break;
3428 }
3429 break;
3430 case 0x0c:
3431 GETBYTE ();
3432 switch (op[3] & 0x00)
3433 {
3434 case 0x00:
3435 goto op_semantics_14;
3436 break;
3437 }
3438 break;
3439 case 0x0d:
3440 GETBYTE ();
3441 switch (op[3] & 0x00)
3442 {
3443 case 0x00:
3444 goto op_semantics_15;
3445 break;
3446 }
3447 break;
3448 case 0x10:
3449 GETBYTE ();
3450 switch (op[3] & 0x00)
3451 {
3452 case 0x00:
3453 goto op_semantics_16;
3454 break;
3455 }
3456 break;
3457 case 0x11:
3458 GETBYTE ();
3459 switch (op[3] & 0x00)
3460 {
3461 case 0x00:
3462 goto op_semantics_17;
3463 break;
3464 }
3465 break;
3466 default: UNSUPPORTED(); break;
3467 }
3468 break;
3469 default: UNSUPPORTED(); break;
3470 }
3471 break;
3472 case 0x08:
3473 case 0x09:
3474 case 0x0a:
3475 case 0x0b:
3476 case 0x0c:
3477 case 0x0d:
3478 case 0x0e:
3479 case 0x0f:
3480 {
3481 /** 0000 1dsp bra.s %a0 */
3482 #line 737 "rx-decode.opc"
3483 int dsp AU = op[0] & 0x07;
3484 if (trace)
3485 {
3486 printf ("\033[33m%s\033[0m %02x\n",
3487 "/** 0000 1dsp bra.s %a0 */",
3488 op[0]);
3489 printf (" dsp = 0x%x\n", dsp);
3490 }
3491 SYNTAX("bra.s %a0");
3492 #line 737 "rx-decode.opc"
3493 ID(branch); DC(pc + dsp3map[dsp]);
3494
3495 }
3496 break;
3497 case 0x10:
3498 case 0x11:
3499 case 0x12:
3500 case 0x13:
3501 case 0x14:
3502 case 0x15:
3503 case 0x16:
3504 case 0x17:
3505 case 0x18:
3506 case 0x19:
3507 case 0x1a:
3508 case 0x1b:
3509 case 0x1c:
3510 case 0x1d:
3511 case 0x1e:
3512 case 0x1f:
3513 {
3514 /** 0001 n dsp b%1.s %a0 */
3515 #line 727 "rx-decode.opc"
3516 int n AU = (op[0] >> 3) & 0x01;
3517 #line 727 "rx-decode.opc"
3518 int dsp AU = op[0] & 0x07;
3519 if (trace)
3520 {
3521 printf ("\033[33m%s\033[0m %02x\n",
3522 "/** 0001 n dsp b%1.s %a0 */",
3523 op[0]);
3524 printf (" n = 0x%x,", n);
3525 printf (" dsp = 0x%x\n", dsp);
3526 }
3527 SYNTAX("b%1.s %a0");
3528 #line 727 "rx-decode.opc"
3529 ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3530
3531 }
3532 break;
3533 case 0x20:
3534 case 0x21:
3535 case 0x22:
3536 case 0x23:
3537 case 0x24:
3538 case 0x25:
3539 case 0x26:
3540 case 0x27:
3541 case 0x28:
3542 case 0x29:
3543 case 0x2a:
3544 case 0x2b:
3545 case 0x2c:
3546 case 0x2d:
3547 case 0x2f:
3548 {
3549 /** 0010 cond b%1.b %a0 */
3550 #line 730 "rx-decode.opc"
3551 int cond AU = op[0] & 0x0f;
3552 if (trace)
3553 {
3554 printf ("\033[33m%s\033[0m %02x\n",
3555 "/** 0010 cond b%1.b %a0 */",
3556 op[0]);
3557 printf (" cond = 0x%x\n", cond);
3558 }
3559 SYNTAX("b%1.b %a0");
3560 #line 730 "rx-decode.opc"
3561 ID(branch); Scc(cond); DC(pc + IMMex (1));
3562
3563 }
3564 break;
3565 case 0x2e:
3566 {
3567 /** 0010 1110 bra.b %a0 */
3568 if (trace)
3569 {
3570 printf ("\033[33m%s\033[0m %02x\n",
3571 "/** 0010 1110 bra.b %a0 */",
3572 op[0]);
3573 }
3574 SYNTAX("bra.b %a0");
3575 #line 740 "rx-decode.opc"
3576 ID(branch); DC(pc + IMMex(1));
3577
3578 }
3579 break;
3580 case 0x38:
3581 {
3582 /** 0011 1000 bra.w %a0 */
3583 if (trace)
3584 {
3585 printf ("\033[33m%s\033[0m %02x\n",
3586 "/** 0011 1000 bra.w %a0 */",
3587 op[0]);
3588 }
3589 SYNTAX("bra.w %a0");
3590 #line 743 "rx-decode.opc"
3591 ID(branch); DC(pc + IMMex(2));
3592
3593 }
3594 break;
3595 case 0x39:
3596 {
3597 /** 0011 1001 bsr.w %a0 */
3598 if (trace)
3599 {
3600 printf ("\033[33m%s\033[0m %02x\n",
3601 "/** 0011 1001 bsr.w %a0 */",
3602 op[0]);
3603 }
3604 SYNTAX("bsr.w %a0");
3605 #line 759 "rx-decode.opc"
3606 ID(jsr); DC(pc + IMMex(2));
3607
3608 }
3609 break;
3610 case 0x3a:
3611 case 0x3b:
3612 {
3613 /** 0011 101c b%1.w %a0 */
3614 #line 733 "rx-decode.opc"
3615 int c AU = op[0] & 0x01;
3616 if (trace)
3617 {
3618 printf ("\033[33m%s\033[0m %02x\n",
3619 "/** 0011 101c b%1.w %a0 */",
3620 op[0]);
3621 printf (" c = 0x%x\n", c);
3622 }
3623 SYNTAX("b%1.w %a0");
3624 #line 733 "rx-decode.opc"
3625 ID(branch); Scc(c); DC(pc + IMMex (2));
3626
3627
3628 }
3629 break;
3630 case 0x3c:
3631 GETBYTE ();
3632 switch (op[1] & 0x00)
3633 {
3634 case 0x00:
3635 op_semantics_19:
3636 {
3637 /** 0011 11sz d dst sppp mov%s #%1, %0 */
3638 #line 307 "rx-decode.opc"
3639 int sz AU = op[0] & 0x03;
3640 #line 307 "rx-decode.opc"
3641 int d AU = (op[1] >> 7) & 0x01;
3642 #line 307 "rx-decode.opc"
3643 int dst AU = (op[1] >> 4) & 0x07;
3644 #line 307 "rx-decode.opc"
3645 int sppp AU = op[1] & 0x0f;
3646 if (trace)
3647 {
3648 printf ("\033[33m%s\033[0m %02x %02x\n",
3649 "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3650 op[0], op[1]);
3651 printf (" sz = 0x%x,", sz);
3652 printf (" d = 0x%x,", d);
3653 printf (" dst = 0x%x,", dst);
3654 printf (" sppp = 0x%x\n", sppp);
3655 }
3656 SYNTAX("mov%s #%1, %0");
3657 #line 307 "rx-decode.opc"
3658 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3659
3660 }
3661 break;
3662 }
3663 break;
3664 case 0x3d:
3665 GETBYTE ();
3666 switch (op[1] & 0x00)
3667 {
3668 case 0x00:
3669 goto op_semantics_19;
3670 break;
3671 }
3672 break;
3673 case 0x3e:
3674 GETBYTE ();
3675 switch (op[1] & 0x00)
3676 {
3677 case 0x00:
3678 goto op_semantics_19;
3679 break;
3680 }
3681 break;
3682 case 0x3f:
3683 GETBYTE ();
3684 switch (op[1] & 0x00)
3685 {
3686 case 0x00:
3687 {
3688 /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3689 #line 404 "rx-decode.opc"
3690 int rega AU = (op[1] >> 4) & 0x0f;
3691 #line 404 "rx-decode.opc"
3692 int regb AU = op[1] & 0x0f;
3693 if (trace)
3694 {
3695 printf ("\033[33m%s\033[0m %02x %02x\n",
3696 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3697 op[0], op[1]);
3698 printf (" rega = 0x%x,", rega);
3699 printf (" regb = 0x%x\n", regb);
3700 }
3701 SYNTAX("rtsd #%1, %2-%0");
3702 #line 404 "rx-decode.opc"
3703 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3704
3705 /*----------------------------------------------------------------------*/
3706 /* AND */
3707
3708 }
3709 break;
3710 }
3711 break;
3712 case 0x40:
3713 GETBYTE ();
3714 switch (op[1] & 0x00)
3715 {
3716 case 0x00:
3717 op_semantics_20:
3718 {
3719 /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3720 #line 539 "rx-decode.opc"
3721 int ss AU = op[0] & 0x03;
3722 #line 539 "rx-decode.opc"
3723 int rsrc AU = (op[1] >> 4) & 0x0f;
3724 #line 539 "rx-decode.opc"
3725 int rdst AU = op[1] & 0x0f;
3726 if (trace)
3727 {
3728 printf ("\033[33m%s\033[0m %02x %02x\n",
3729 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3730 op[0], op[1]);
3731 printf (" ss = 0x%x,", ss);
3732 printf (" rsrc = 0x%x,", rsrc);
3733 printf (" rdst = 0x%x\n", rdst);
3734 }
3735 SYNTAX("sub %2%S2, %1");
3736 #line 539 "rx-decode.opc"
3737 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3738
3739 }
3740 break;
3741 }
3742 break;
3743 case 0x41:
3744 GETBYTE ();
3745 switch (op[1] & 0x00)
3746 {
3747 case 0x00:
3748 goto op_semantics_20;
3749 break;
3750 }
3751 break;
3752 case 0x42:
3753 GETBYTE ();
3754 switch (op[1] & 0x00)
3755 {
3756 case 0x00:
3757 goto op_semantics_20;
3758 break;
3759 }
3760 break;
3761 case 0x43:
3762 GETBYTE ();
3763 switch (op[1] & 0x00)
3764 {
3765 case 0x00:
3766 goto op_semantics_20;
3767 break;
3768 }
3769 break;
3770 case 0x44:
3771 GETBYTE ();
3772 switch (op[1] & 0x00)
3773 {
3774 case 0x00:
3775 op_semantics_21:
3776 {
3777 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3778 #line 527 "rx-decode.opc"
3779 int ss AU = op[0] & 0x03;
3780 #line 527 "rx-decode.opc"
3781 int rsrc AU = (op[1] >> 4) & 0x0f;
3782 #line 527 "rx-decode.opc"
3783 int rdst AU = op[1] & 0x0f;
3784 if (trace)
3785 {
3786 printf ("\033[33m%s\033[0m %02x %02x\n",
3787 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3788 op[0], op[1]);
3789 printf (" ss = 0x%x,", ss);
3790 printf (" rsrc = 0x%x,", rsrc);
3791 printf (" rdst = 0x%x\n", rdst);
3792 }
3793 SYNTAX("cmp %2%S2, %1");
3794 #line 527 "rx-decode.opc"
3795 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3796
3797 }
3798 break;
3799 }
3800 break;
3801 case 0x45:
3802 GETBYTE ();
3803 switch (op[1] & 0x00)
3804 {
3805 case 0x00:
3806 goto op_semantics_21;
3807 break;
3808 }
3809 break;
3810 case 0x46:
3811 GETBYTE ();
3812 switch (op[1] & 0x00)
3813 {
3814 case 0x00:
3815 goto op_semantics_21;
3816 break;
3817 }
3818 break;
3819 case 0x47:
3820 GETBYTE ();
3821 switch (op[1] & 0x00)
3822 {
3823 case 0x00:
3824 goto op_semantics_21;
3825 break;
3826 }
3827 break;
3828 case 0x48:
3829 GETBYTE ();
3830 switch (op[1] & 0x00)
3831 {
3832 case 0x00:
3833 op_semantics_22:
3834 {
3835 /** 0100 10ss rsrc rdst add %1%S1, %0 */
3836 #line 503 "rx-decode.opc"
3837 int ss AU = op[0] & 0x03;
3838 #line 503 "rx-decode.opc"
3839 int rsrc AU = (op[1] >> 4) & 0x0f;
3840 #line 503 "rx-decode.opc"
3841 int rdst AU = op[1] & 0x0f;
3842 if (trace)
3843 {
3844 printf ("\033[33m%s\033[0m %02x %02x\n",
3845 "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
3846 op[0], op[1]);
3847 printf (" ss = 0x%x,", ss);
3848 printf (" rsrc = 0x%x,", rsrc);
3849 printf (" rdst = 0x%x\n", rdst);
3850 }
3851 SYNTAX("add %1%S1, %0");
3852 #line 503 "rx-decode.opc"
3853 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
3854
3855 }
3856 break;
3857 }
3858 break;
3859 case 0x49:
3860 GETBYTE ();
3861 switch (op[1] & 0x00)
3862 {
3863 case 0x00:
3864 goto op_semantics_22;
3865 break;
3866 }
3867 break;
3868 case 0x4a:
3869 GETBYTE ();
3870 switch (op[1] & 0x00)
3871 {
3872 case 0x00:
3873 goto op_semantics_22;
3874 break;
3875 }
3876 break;
3877 case 0x4b:
3878 GETBYTE ();
3879 switch (op[1] & 0x00)
3880 {
3881 case 0x00:
3882 goto op_semantics_22;
3883 break;
3884 }
3885 break;
3886 case 0x4c:
3887 GETBYTE ();
3888 switch (op[1] & 0x00)
3889 {
3890 case 0x00:
3891 op_semantics_23:
3892 {
3893 /** 0100 11ss rsrc rdst mul %1%S1, %0 */
3894 #line 608 "rx-decode.opc"
3895 int ss AU = op[0] & 0x03;
3896 #line 608 "rx-decode.opc"
3897 int rsrc AU = (op[1] >> 4) & 0x0f;
3898 #line 608 "rx-decode.opc"
3899 int rdst AU = op[1] & 0x0f;
3900 if (trace)
3901 {
3902 printf ("\033[33m%s\033[0m %02x %02x\n",
3903 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
3904 op[0], op[1]);
3905 printf (" ss = 0x%x,", ss);
3906 printf (" rsrc = 0x%x,", rsrc);
3907 printf (" rdst = 0x%x\n", rdst);
3908 }
3909 SYNTAX("mul %1%S1, %0");
3910 #line 608 "rx-decode.opc"
3911 ID(mul); SP(ss, rsrc); DR(rdst); F_____;
3912
3913 }
3914 break;
3915 }
3916 break;
3917 case 0x4d:
3918 GETBYTE ();
3919 switch (op[1] & 0x00)
3920 {
3921 case 0x00:
3922 goto op_semantics_23;
3923 break;
3924 }
3925 break;
3926 case 0x4e:
3927 GETBYTE ();
3928 switch (op[1] & 0x00)
3929 {
3930 case 0x00:
3931 goto op_semantics_23;
3932 break;
3933 }
3934 break;
3935 case 0x4f:
3936 GETBYTE ();
3937 switch (op[1] & 0x00)
3938 {
3939 case 0x00:
3940 goto op_semantics_23;
3941 break;
3942 }
3943 break;
3944 case 0x50:
3945 GETBYTE ();
3946 switch (op[1] & 0x00)
3947 {
3948 case 0x00:
3949 op_semantics_24:
3950 {
3951 /** 0101 00ss rsrc rdst and %1%S1, %0 */
3952 #line 416 "rx-decode.opc"
3953 int ss AU = op[0] & 0x03;
3954 #line 416 "rx-decode.opc"
3955 int rsrc AU = (op[1] >> 4) & 0x0f;
3956 #line 416 "rx-decode.opc"
3957 int rdst AU = op[1] & 0x0f;
3958 if (trace)
3959 {
3960 printf ("\033[33m%s\033[0m %02x %02x\n",
3961 "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
3962 op[0], op[1]);
3963 printf (" ss = 0x%x,", ss);
3964 printf (" rsrc = 0x%x,", rsrc);
3965 printf (" rdst = 0x%x\n", rdst);
3966 }
3967 SYNTAX("and %1%S1, %0");
3968 #line 416 "rx-decode.opc"
3969 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
3970
3971 }
3972 break;
3973 }
3974 break;
3975 case 0x51:
3976 GETBYTE ();
3977 switch (op[1] & 0x00)
3978 {
3979 case 0x00:
3980 goto op_semantics_24;
3981 break;
3982 }
3983 break;
3984 case 0x52:
3985 GETBYTE ();
3986 switch (op[1] & 0x00)
3987 {
3988 case 0x00:
3989 goto op_semantics_24;
3990 break;
3991 }
3992 break;
3993 case 0x53:
3994 GETBYTE ();
3995 switch (op[1] & 0x00)
3996 {
3997 case 0x00:
3998 goto op_semantics_24;
3999 break;
4000 }
4001 break;
4002 case 0x54:
4003 GETBYTE ();
4004 switch (op[1] & 0x00)
4005 {
4006 case 0x00:
4007 op_semantics_25:
4008 {
4009 /** 0101 01ss rsrc rdst or %1%S1, %0 */
4010 #line 434 "rx-decode.opc"
4011 int ss AU = op[0] & 0x03;
4012 #line 434 "rx-decode.opc"
4013 int rsrc AU = (op[1] >> 4) & 0x0f;
4014 #line 434 "rx-decode.opc"
4015 int rdst AU = op[1] & 0x0f;
4016 if (trace)
4017 {
4018 printf ("\033[33m%s\033[0m %02x %02x\n",
4019 "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4020 op[0], op[1]);
4021 printf (" ss = 0x%x,", ss);
4022 printf (" rsrc = 0x%x,", rsrc);
4023 printf (" rdst = 0x%x\n", rdst);
4024 }
4025 SYNTAX("or %1%S1, %0");
4026 #line 434 "rx-decode.opc"
4027 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4028
4029 }
4030 break;
4031 }
4032 break;
4033 case 0x55:
4034 GETBYTE ();
4035 switch (op[1] & 0x00)
4036 {
4037 case 0x00:
4038 goto op_semantics_25;
4039 break;
4040 }
4041 break;
4042 case 0x56:
4043 GETBYTE ();
4044 switch (op[1] & 0x00)
4045 {
4046 case 0x00:
4047 goto op_semantics_25;
4048 break;
4049 }
4050 break;
4051 case 0x57:
4052 GETBYTE ();
4053 switch (op[1] & 0x00)
4054 {
4055 case 0x00:
4056 goto op_semantics_25;
4057 break;
4058 }
4059 break;
4060 case 0x58:
4061 GETBYTE ();
4062 switch (op[1] & 0x00)
4063 {
4064 case 0x00:
4065 op_semantics_26:
4066 {
4067 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4068 #line 355 "rx-decode.opc"
4069 int s AU = (op[0] >> 2) & 0x01;
4070 #line 355 "rx-decode.opc"
4071 int ss AU = op[0] & 0x03;
4072 #line 355 "rx-decode.opc"
4073 int rsrc AU = (op[1] >> 4) & 0x0f;
4074 #line 355 "rx-decode.opc"
4075 int rdst AU = op[1] & 0x0f;
4076 if (trace)
4077 {
4078 printf ("\033[33m%s\033[0m %02x %02x\n",
4079 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4080 op[0], op[1]);
4081 printf (" s = 0x%x,", s);
4082 printf (" ss = 0x%x,", ss);
4083 printf (" rsrc = 0x%x,", rsrc);
4084 printf (" rdst = 0x%x\n", rdst);
4085 }
4086 SYNTAX("movu%s %1, %0");
4087 #line 355 "rx-decode.opc"
4088 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4089
4090 }
4091 break;
4092 }
4093 break;
4094 case 0x59:
4095 GETBYTE ();
4096 switch (op[1] & 0x00)
4097 {
4098 case 0x00:
4099 goto op_semantics_26;
4100 break;
4101 }
4102 break;
4103 case 0x5a:
4104 GETBYTE ();
4105 switch (op[1] & 0x00)
4106 {
4107 case 0x00:
4108 goto op_semantics_26;
4109 break;
4110 }
4111 break;
4112 case 0x5b:
4113 GETBYTE ();
4114 switch (op[1] & 0x00)
4115 {
4116 case 0x00:
4117 goto op_semantics_26;
4118 break;
4119 }
4120 break;
4121 case 0x5c:
4122 GETBYTE ();
4123 switch (op[1] & 0x00)
4124 {
4125 case 0x00:
4126 goto op_semantics_26;
4127 break;
4128 }
4129 break;
4130 case 0x5d:
4131 GETBYTE ();
4132 switch (op[1] & 0x00)
4133 {
4134 case 0x00:
4135 goto op_semantics_26;
4136 break;
4137 }
4138 break;
4139 case 0x5e:
4140 GETBYTE ();
4141 switch (op[1] & 0x00)
4142 {
4143 case 0x00:
4144 goto op_semantics_26;
4145 break;
4146 }
4147 break;
4148 case 0x5f:
4149 GETBYTE ();
4150 switch (op[1] & 0x00)
4151 {
4152 case 0x00:
4153 goto op_semantics_26;
4154 break;
4155 }
4156 break;
4157 case 0x60:
4158 GETBYTE ();
4159 switch (op[1] & 0x00)
4160 {
4161 case 0x00:
4162 {
4163 /** 0110 0000 immm rdst sub #%2, %0 */
4164 #line 536 "rx-decode.opc"
4165 int immm AU = (op[1] >> 4) & 0x0f;
4166 #line 536 "rx-decode.opc"
4167 int rdst AU = op[1] & 0x0f;
4168 if (trace)
4169 {
4170 printf ("\033[33m%s\033[0m %02x %02x\n",
4171 "/** 0110 0000 immm rdst sub #%2, %0 */",
4172 op[0], op[1]);
4173 printf (" immm = 0x%x,", immm);
4174 printf (" rdst = 0x%x\n", rdst);
4175 }
4176 SYNTAX("sub #%2, %0");
4177 #line 536 "rx-decode.opc"
4178 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4179
4180 }
4181 break;
4182 }
4183 break;
4184 case 0x61:
4185 GETBYTE ();
4186 switch (op[1] & 0x00)
4187 {
4188 case 0x00:
4189 {
4190 /** 0110 0001 immm rdst cmp #%2, %1 */
4191 #line 518 "rx-decode.opc"
4192 int immm AU = (op[1] >> 4) & 0x0f;
4193 #line 518 "rx-decode.opc"
4194 int rdst AU = op[1] & 0x0f;
4195 if (trace)
4196 {
4197 printf ("\033[33m%s\033[0m %02x %02x\n",
4198 "/** 0110 0001 immm rdst cmp #%2, %1 */",
4199 op[0], op[1]);
4200 printf (" immm = 0x%x,", immm);
4201 printf (" rdst = 0x%x\n", rdst);
4202 }
4203 SYNTAX("cmp #%2, %1");
4204 #line 518 "rx-decode.opc"
4205 ID(sub); S2C(immm); SR(rdst); F_OSZC;
4206
4207 }
4208 break;
4209 }
4210 break;
4211 case 0x62:
4212 GETBYTE ();
4213 switch (op[1] & 0x00)
4214 {
4215 case 0x00:
4216 {
4217 /** 0110 0010 immm rdst add #%1, %0 */
4218 #line 500 "rx-decode.opc"
4219 int immm AU = (op[1] >> 4) & 0x0f;
4220 #line 500 "rx-decode.opc"
4221 int rdst AU = op[1] & 0x0f;
4222 if (trace)
4223 {
4224 printf ("\033[33m%s\033[0m %02x %02x\n",
4225 "/** 0110 0010 immm rdst add #%1, %0 */",
4226 op[0], op[1]);
4227 printf (" immm = 0x%x,", immm);
4228 printf (" rdst = 0x%x\n", rdst);
4229 }
4230 SYNTAX("add #%1, %0");
4231 #line 500 "rx-decode.opc"
4232 ID(add); SC(immm); DR(rdst); F_OSZC;
4233
4234 }
4235 break;
4236 }
4237 break;
4238 case 0x63:
4239 GETBYTE ();
4240 switch (op[1] & 0x00)
4241 {
4242 case 0x00:
4243 {
4244 /** 0110 0011 immm rdst mul #%1, %0 */
4245 #line 602 "rx-decode.opc"
4246 int immm AU = (op[1] >> 4) & 0x0f;
4247 #line 602 "rx-decode.opc"
4248 int rdst AU = op[1] & 0x0f;
4249 if (trace)
4250 {
4251 printf ("\033[33m%s\033[0m %02x %02x\n",
4252 "/** 0110 0011 immm rdst mul #%1, %0 */",
4253 op[0], op[1]);
4254 printf (" immm = 0x%x,", immm);
4255 printf (" rdst = 0x%x\n", rdst);
4256 }
4257 SYNTAX("mul #%1, %0");
4258 #line 602 "rx-decode.opc"
4259 ID(mul); DR(rdst); SC(immm); F_____;
4260
4261 }
4262 break;
4263 }
4264 break;
4265 case 0x64:
4266 GETBYTE ();
4267 switch (op[1] & 0x00)
4268 {
4269 case 0x00:
4270 {
4271 /** 0110 0100 immm rdst and #%1, %0 */
4272 #line 410 "rx-decode.opc"
4273 int immm AU = (op[1] >> 4) & 0x0f;
4274 #line 410 "rx-decode.opc"
4275 int rdst AU = op[1] & 0x0f;
4276 if (trace)
4277 {
4278 printf ("\033[33m%s\033[0m %02x %02x\n",
4279 "/** 0110 0100 immm rdst and #%1, %0 */",
4280 op[0], op[1]);
4281 printf (" immm = 0x%x,", immm);
4282 printf (" rdst = 0x%x\n", rdst);
4283 }
4284 SYNTAX("and #%1, %0");
4285 #line 410 "rx-decode.opc"
4286 ID(and); SC(immm); DR(rdst); F__SZ_;
4287
4288 }
4289 break;
4290 }
4291 break;
4292 case 0x65:
4293 GETBYTE ();
4294 switch (op[1] & 0x00)
4295 {
4296 case 0x00:
4297 {
4298 /** 0110 0101 immm rdst or #%1, %0 */
4299 #line 428 "rx-decode.opc"
4300 int immm AU = (op[1] >> 4) & 0x0f;
4301 #line 428 "rx-decode.opc"
4302 int rdst AU = op[1] & 0x0f;
4303 if (trace)
4304 {
4305 printf ("\033[33m%s\033[0m %02x %02x\n",
4306 "/** 0110 0101 immm rdst or #%1, %0 */",
4307 op[0], op[1]);
4308 printf (" immm = 0x%x,", immm);
4309 printf (" rdst = 0x%x\n", rdst);
4310 }
4311 SYNTAX("or #%1, %0");
4312 #line 428 "rx-decode.opc"
4313 ID(or); SC(immm); DR(rdst); F__SZ_;
4314
4315 }
4316 break;
4317 }
4318 break;
4319 case 0x66:
4320 GETBYTE ();
4321 switch (op[1] & 0x00)
4322 {
4323 case 0x00:
4324 {
4325 /** 0110 0110 immm rdst mov%s #%1, %0 */
4326 #line 304 "rx-decode.opc"
4327 int immm AU = (op[1] >> 4) & 0x0f;
4328 #line 304 "rx-decode.opc"
4329 int rdst AU = op[1] & 0x0f;
4330 if (trace)
4331 {
4332 printf ("\033[33m%s\033[0m %02x %02x\n",
4333 "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4334 op[0], op[1]);
4335 printf (" immm = 0x%x,", immm);
4336 printf (" rdst = 0x%x\n", rdst);
4337 }
4338 SYNTAX("mov%s #%1, %0");
4339 #line 304 "rx-decode.opc"
4340 ID(mov); DR(rdst); SC(immm); F_____;
4341
4342 }
4343 break;
4344 }
4345 break;
4346 case 0x67:
4347 {
4348 /** 0110 0111 rtsd #%1 */
4349 if (trace)
4350 {
4351 printf ("\033[33m%s\033[0m %02x\n",
4352 "/** 0110 0111 rtsd #%1 */",
4353 op[0]);
4354 }
4355 SYNTAX("rtsd #%1");
4356 #line 401 "rx-decode.opc"
4357 ID(rtsd); SC(IMM(1) * 4);
4358
4359 }
4360 break;
4361 case 0x68:
4362 GETBYTE ();
4363 switch (op[1] & 0x00)
4364 {
4365 case 0x00:
4366 op_semantics_27:
4367 {
4368 /** 0110 100i mmmm rdst shlr #%2, %0 */
4369 #line 688 "rx-decode.opc"
4370 int i AU = op[0] & 0x01;
4371 #line 688 "rx-decode.opc"
4372 int mmmm AU = (op[1] >> 4) & 0x0f;
4373 #line 688 "rx-decode.opc"
4374 int rdst AU = op[1] & 0x0f;
4375 if (trace)
4376 {
4377 printf ("\033[33m%s\033[0m %02x %02x\n",
4378 "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4379 op[0], op[1]);
4380 printf (" i = 0x%x,", i);
4381 printf (" mmmm = 0x%x,", mmmm);
4382 printf (" rdst = 0x%x\n", rdst);
4383 }
4384 SYNTAX("shlr #%2, %0");
4385 #line 688 "rx-decode.opc"
4386 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4387
4388 }
4389 break;
4390 }
4391 break;
4392 case 0x69:
4393 GETBYTE ();
4394 switch (op[1] & 0x00)
4395 {
4396 case 0x00:
4397 goto op_semantics_27;
4398 break;
4399 }
4400 break;
4401 case 0x6a:
4402 GETBYTE ();
4403 switch (op[1] & 0x00)
4404 {
4405 case 0x00:
4406 op_semantics_28:
4407 {
4408 /** 0110 101i mmmm rdst shar #%2, %0 */
4409 #line 678 "rx-decode.opc"
4410 int i AU = op[0] & 0x01;
4411 #line 678 "rx-decode.opc"
4412 int mmmm AU = (op[1] >> 4) & 0x0f;
4413 #line 678 "rx-decode.opc"
4414 int rdst AU = op[1] & 0x0f;
4415 if (trace)
4416 {
4417 printf ("\033[33m%s\033[0m %02x %02x\n",
4418 "/** 0110 101i mmmm rdst shar #%2, %0 */",
4419 op[0], op[1]);
4420 printf (" i = 0x%x,", i);
4421 printf (" mmmm = 0x%x,", mmmm);
4422 printf (" rdst = 0x%x\n", rdst);
4423 }
4424 SYNTAX("shar #%2, %0");
4425 #line 678 "rx-decode.opc"
4426 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4427
4428 }
4429 break;
4430 }
4431 break;
4432 case 0x6b:
4433 GETBYTE ();
4434 switch (op[1] & 0x00)
4435 {
4436 case 0x00:
4437 goto op_semantics_28;
4438 break;
4439 }
4440 break;
4441 case 0x6c:
4442 GETBYTE ();
4443 switch (op[1] & 0x00)
4444 {
4445 case 0x00:
4446 op_semantics_29:
4447 {
4448 /** 0110 110i mmmm rdst shll #%2, %0 */
4449 #line 668 "rx-decode.opc"
4450 int i AU = op[0] & 0x01;
4451 #line 668 "rx-decode.opc"
4452 int mmmm AU = (op[1] >> 4) & 0x0f;
4453 #line 668 "rx-decode.opc"
4454 int rdst AU = op[1] & 0x0f;
4455 if (trace)
4456 {
4457 printf ("\033[33m%s\033[0m %02x %02x\n",
4458 "/** 0110 110i mmmm rdst shll #%2, %0 */",
4459 op[0], op[1]);
4460 printf (" i = 0x%x,", i);
4461 printf (" mmmm = 0x%x,", mmmm);
4462 printf (" rdst = 0x%x\n", rdst);
4463 }
4464 SYNTAX("shll #%2, %0");
4465 #line 668 "rx-decode.opc"
4466 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4467
4468 }
4469 break;
4470 }
4471 break;
4472 case 0x6d:
4473 GETBYTE ();
4474 switch (op[1] & 0x00)
4475 {
4476 case 0x00:
4477 goto op_semantics_29;
4478 break;
4479 }
4480 break;
4481 case 0x6e:
4482 GETBYTE ();
4483 switch (op[1] & 0x00)
4484 {
4485 case 0x00:
4486 {
4487 /** 0110 1110 dsta dstb pushm %1-%2 */
4488 #line 368 "rx-decode.opc"
4489 int dsta AU = (op[1] >> 4) & 0x0f;
4490 #line 368 "rx-decode.opc"
4491 int dstb AU = op[1] & 0x0f;
4492 if (trace)
4493 {
4494 printf ("\033[33m%s\033[0m %02x %02x\n",
4495 "/** 0110 1110 dsta dstb pushm %1-%2 */",
4496 op[0], op[1]);
4497 printf (" dsta = 0x%x,", dsta);
4498 printf (" dstb = 0x%x\n", dstb);
4499 }
4500 SYNTAX("pushm %1-%2");
4501 #line 368 "rx-decode.opc"
4502 ID(pushm); SR(dsta); S2R(dstb); F_____;
4503
4504 }
4505 break;
4506 }
4507 break;
4508 case 0x6f:
4509 GETBYTE ();
4510 switch (op[1] & 0x00)
4511 {
4512 case 0x00:
4513 {
4514 /** 0110 1111 dsta dstb popm %1-%2 */
4515 #line 365 "rx-decode.opc"
4516 int dsta AU = (op[1] >> 4) & 0x0f;
4517 #line 365 "rx-decode.opc"
4518 int dstb AU = op[1] & 0x0f;
4519 if (trace)
4520 {
4521 printf ("\033[33m%s\033[0m %02x %02x\n",
4522 "/** 0110 1111 dsta dstb popm %1-%2 */",
4523 op[0], op[1]);
4524 printf (" dsta = 0x%x,", dsta);
4525 printf (" dstb = 0x%x\n", dstb);
4526 }
4527 SYNTAX("popm %1-%2");
4528 #line 365 "rx-decode.opc"
4529 ID(popm); SR(dsta); S2R(dstb); F_____;
4530
4531 }
4532 break;
4533 }
4534 break;
4535 case 0x70:
4536 GETBYTE ();
4537 switch (op[1] & 0x00)
4538 {
4539 case 0x00:
4540 op_semantics_30:
4541 {
4542 /** 0111 00im rsrc rdst add #%1, %2, %0 */
4543 #line 509 "rx-decode.opc"
4544 int im AU = op[0] & 0x03;
4545 #line 509 "rx-decode.opc"
4546 int rsrc AU = (op[1] >> 4) & 0x0f;
4547 #line 509 "rx-decode.opc"
4548 int rdst AU = op[1] & 0x0f;
4549 if (trace)
4550 {
4551 printf ("\033[33m%s\033[0m %02x %02x\n",
4552 "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4553 op[0], op[1]);
4554 printf (" im = 0x%x,", im);
4555 printf (" rsrc = 0x%x,", rsrc);
4556 printf (" rdst = 0x%x\n", rdst);
4557 }
4558 SYNTAX("add #%1, %2, %0");
4559 #line 509 "rx-decode.opc"
4560 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4561
4562 }
4563 break;
4564 }
4565 break;
4566 case 0x71:
4567 GETBYTE ();
4568 switch (op[1] & 0x00)
4569 {
4570 case 0x00:
4571 goto op_semantics_30;
4572 break;
4573 }
4574 break;
4575 case 0x72:
4576 GETBYTE ();
4577 switch (op[1] & 0x00)
4578 {
4579 case 0x00:
4580 goto op_semantics_30;
4581 break;
4582 }
4583 break;
4584 case 0x73:
4585 GETBYTE ();
4586 switch (op[1] & 0x00)
4587 {
4588 case 0x00:
4589 goto op_semantics_30;
4590 break;
4591 }
4592 break;
4593 case 0x74:
4594 GETBYTE ();
4595 switch (op[1] & 0xf0)
4596 {
4597 case 0x00:
4598 op_semantics_31:
4599 {
4600 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4601 #line 521 "rx-decode.opc"
4602 int im AU = op[0] & 0x03;
4603 #line 521 "rx-decode.opc"
4604 int rsrc AU = op[1] & 0x0f;
4605 if (trace)
4606 {
4607 printf ("\033[33m%s\033[0m %02x %02x\n",
4608 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4609 op[0], op[1]);
4610 printf (" im = 0x%x,", im);
4611 printf (" rsrc = 0x%x\n", rsrc);
4612 }
4613 SYNTAX("cmp #%2, %1%S1");
4614 #line 521 "rx-decode.opc"
4615 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4616
4617 }
4618 break;
4619 case 0x10:
4620 op_semantics_32:
4621 {
4622 /** 0111 01im 0001rdst mul #%1, %0 */
4623 #line 605 "rx-decode.opc"
4624 int im AU = op[0] & 0x03;
4625 #line 605 "rx-decode.opc"
4626 int rdst AU = op[1] & 0x0f;
4627 if (trace)
4628 {
4629 printf ("\033[33m%s\033[0m %02x %02x\n",
4630 "/** 0111 01im 0001rdst mul #%1, %0 */",
4631 op[0], op[1]);
4632 printf (" im = 0x%x,", im);
4633 printf (" rdst = 0x%x\n", rdst);
4634 }
4635 SYNTAX("mul #%1, %0");
4636 #line 605 "rx-decode.opc"
4637 ID(mul); DR(rdst); SC(IMMex(im)); F_____;
4638
4639 }
4640 break;
4641 case 0x20:
4642 op_semantics_33:
4643 {
4644 /** 0111 01im 0010 rdst and #%1, %0 */
4645 #line 413 "rx-decode.opc"
4646 int im AU = op[0] & 0x03;
4647 #line 413 "rx-decode.opc"
4648 int rdst AU = op[1] & 0x0f;
4649 if (trace)
4650 {
4651 printf ("\033[33m%s\033[0m %02x %02x\n",
4652 "/** 0111 01im 0010 rdst and #%1, %0 */",
4653 op[0], op[1]);
4654 printf (" im = 0x%x,", im);
4655 printf (" rdst = 0x%x\n", rdst);
4656 }
4657 SYNTAX("and #%1, %0");
4658 #line 413 "rx-decode.opc"
4659 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4660
4661 }
4662 break;
4663 case 0x30:
4664 op_semantics_34:
4665 {
4666 /** 0111 01im 0011 rdst or #%1, %0 */
4667 #line 431 "rx-decode.opc"
4668 int im AU = op[0] & 0x03;
4669 #line 431 "rx-decode.opc"
4670 int rdst AU = op[1] & 0x0f;
4671 if (trace)
4672 {
4673 printf ("\033[33m%s\033[0m %02x %02x\n",
4674 "/** 0111 01im 0011 rdst or #%1, %0 */",
4675 op[0], op[1]);
4676 printf (" im = 0x%x,", im);
4677 printf (" rdst = 0x%x\n", rdst);
4678 }
4679 SYNTAX("or #%1, %0");
4680 #line 431 "rx-decode.opc"
4681 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4682
4683 }
4684 break;
4685 default: UNSUPPORTED(); break;
4686 }
4687 break;
4688 case 0x75:
4689 GETBYTE ();
4690 switch (op[1] & 0xff)
4691 {
4692 case 0x00:
4693 case 0x01:
4694 case 0x02:
4695 case 0x03:
4696 case 0x04:
4697 case 0x05:
4698 case 0x06:
4699 case 0x07:
4700 case 0x08:
4701 case 0x09:
4702 case 0x0a:
4703 case 0x0b:
4704 case 0x0c:
4705 case 0x0d:
4706 case 0x0e:
4707 case 0x0f:
4708 goto op_semantics_31;
4709 break;
4710 case 0x10:
4711 case 0x11:
4712 case 0x12:
4713 case 0x13:
4714 case 0x14:
4715 case 0x15:
4716 case 0x16:
4717 case 0x17:
4718 case 0x18:
4719 case 0x19:
4720 case 0x1a:
4721 case 0x1b:
4722 case 0x1c:
4723 case 0x1d:
4724 case 0x1e:
4725 case 0x1f:
4726 goto op_semantics_32;
4727 break;
4728 case 0x20:
4729 case 0x21:
4730 case 0x22:
4731 case 0x23:
4732 case 0x24:
4733 case 0x25:
4734 case 0x26:
4735 case 0x27:
4736 case 0x28:
4737 case 0x29:
4738 case 0x2a:
4739 case 0x2b:
4740 case 0x2c:
4741 case 0x2d:
4742 case 0x2e:
4743 case 0x2f:
4744 goto op_semantics_33;
4745 break;
4746 case 0x30:
4747 case 0x31:
4748 case 0x32:
4749 case 0x33:
4750 case 0x34:
4751 case 0x35:
4752 case 0x36:
4753 case 0x37:
4754 case 0x38:
4755 case 0x39:
4756 case 0x3a:
4757 case 0x3b:
4758 case 0x3c:
4759 case 0x3d:
4760 case 0x3e:
4761 case 0x3f:
4762 goto op_semantics_34;
4763 break;
4764 case 0x40:
4765 case 0x41:
4766 case 0x42:
4767 case 0x43:
4768 case 0x44:
4769 case 0x45:
4770 case 0x46:
4771 case 0x47:
4772 case 0x48:
4773 case 0x49:
4774 case 0x4a:
4775 case 0x4b:
4776 case 0x4c:
4777 case 0x4d:
4778 case 0x4e:
4779 case 0x4f:
4780 {
4781 /** 0111 0101 0100 rdst mov%s #%1, %0 */
4782 #line 285 "rx-decode.opc"
4783 int rdst AU = op[1] & 0x0f;
4784 if (trace)
4785 {
4786 printf ("\033[33m%s\033[0m %02x %02x\n",
4787 "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4788 op[0], op[1]);
4789 printf (" rdst = 0x%x\n", rdst);
4790 }
4791 SYNTAX("mov%s #%1, %0");
4792 #line 285 "rx-decode.opc"
4793 ID(mov); DR(rdst); SC(IMM (1)); F_____;
4794
4795 }
4796 break;
4797 case 0x50:
4798 case 0x51:
4799 case 0x52:
4800 case 0x53:
4801 case 0x54:
4802 case 0x55:
4803 case 0x56:
4804 case 0x57:
4805 case 0x58:
4806 case 0x59:
4807 case 0x5a:
4808 case 0x5b:
4809 case 0x5c:
4810 case 0x5d:
4811 case 0x5e:
4812 case 0x5f:
4813 {
4814 /** 0111 0101 0101 rsrc cmp #%2, %1 */
4815 #line 524 "rx-decode.opc"
4816 int rsrc AU = op[1] & 0x0f;
4817 if (trace)
4818 {
4819 printf ("\033[33m%s\033[0m %02x %02x\n",
4820 "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
4821 op[0], op[1]);
4822 printf (" rsrc = 0x%x\n", rsrc);
4823 }
4824 SYNTAX("cmp #%2, %1");
4825 #line 524 "rx-decode.opc"
4826 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
4827
4828 }
4829 break;
4830 case 0x60:
4831 {
4832 /** 0111 0101 0110 0000 int #%1 */
4833 if (trace)
4834 {
4835 printf ("\033[33m%s\033[0m %02x %02x\n",
4836 "/** 0111 0101 0110 0000 int #%1 */",
4837 op[0], op[1]);
4838 }
4839 SYNTAX("int #%1");
4840 #line 993 "rx-decode.opc"
4841 ID(int); SC(IMM(1));
4842
4843 }
4844 break;
4845 case 0x70:
4846 GETBYTE ();
4847 switch (op[2] & 0xf0)
4848 {
4849 case 0x00:
4850 {
4851 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
4852 #line 960 "rx-decode.opc"
4853 int immm AU = op[2] & 0x0f;
4854 if (trace)
4855 {
4856 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
4857 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
4858 op[0], op[1], op[2]);
4859 printf (" immm = 0x%x\n", immm);
4860 }
4861 SYNTAX("mvtipl #%1");
4862 #line 960 "rx-decode.opc"
4863 ID(mvtipl); SC(immm);
4864
4865 }
4866 break;
4867 default: UNSUPPORTED(); break;
4868 }
4869 break;
4870 default: UNSUPPORTED(); break;
4871 }
4872 break;
4873 case 0x76:
4874 GETBYTE ();
4875 switch (op[1] & 0xf0)
4876 {
4877 case 0x00:
4878 goto op_semantics_31;
4879 break;
4880 case 0x10:
4881 goto op_semantics_32;
4882 break;
4883 case 0x20:
4884 goto op_semantics_33;
4885 break;
4886 case 0x30:
4887 goto op_semantics_34;
4888 break;
4889 default: UNSUPPORTED(); break;
4890 }
4891 break;
4892 case 0x77:
4893 GETBYTE ();
4894 switch (op[1] & 0xf0)
4895 {
4896 case 0x00:
4897 goto op_semantics_31;
4898 break;
4899 case 0x10:
4900 goto op_semantics_32;
4901 break;
4902 case 0x20:
4903 goto op_semantics_33;
4904 break;
4905 case 0x30:
4906 goto op_semantics_34;
4907 break;
4908 default: UNSUPPORTED(); break;
4909 }
4910 break;
4911 case 0x78:
4912 GETBYTE ();
4913 switch (op[1] & 0x00)
4914 {
4915 case 0x00:
4916 op_semantics_35:
4917 {
4918 /** 0111 100b ittt rdst bset #%1, %0 */
4919 #line 905 "rx-decode.opc"
4920 int b AU = op[0] & 0x01;
4921 #line 905 "rx-decode.opc"
4922 int ittt AU = (op[1] >> 4) & 0x0f;
4923 #line 905 "rx-decode.opc"
4924 int rdst AU = op[1] & 0x0f;
4925 if (trace)
4926 {
4927 printf ("\033[33m%s\033[0m %02x %02x\n",
4928 "/** 0111 100b ittt rdst bset #%1, %0 */",
4929 op[0], op[1]);
4930 printf (" b = 0x%x,", b);
4931 printf (" ittt = 0x%x,", ittt);
4932 printf (" rdst = 0x%x\n", rdst);
4933 }
4934 SYNTAX("bset #%1, %0");
4935 #line 905 "rx-decode.opc"
4936 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4937
4938
4939 }
4940 break;
4941 }
4942 break;
4943 case 0x79:
4944 GETBYTE ();
4945 switch (op[1] & 0x00)
4946 {
4947 case 0x00:
4948 goto op_semantics_35;
4949 break;
4950 }
4951 break;
4952 case 0x7a:
4953 GETBYTE ();
4954 switch (op[1] & 0x00)
4955 {
4956 case 0x00:
4957 op_semantics_36:
4958 {
4959 /** 0111 101b ittt rdst bclr #%1, %0 */
4960 #line 917 "rx-decode.opc"
4961 int b AU = op[0] & 0x01;
4962 #line 917 "rx-decode.opc"
4963 int ittt AU = (op[1] >> 4) & 0x0f;
4964 #line 917 "rx-decode.opc"
4965 int rdst AU = op[1] & 0x0f;
4966 if (trace)
4967 {
4968 printf ("\033[33m%s\033[0m %02x %02x\n",
4969 "/** 0111 101b ittt rdst bclr #%1, %0 */",
4970 op[0], op[1]);
4971 printf (" b = 0x%x,", b);
4972 printf (" ittt = 0x%x,", ittt);
4973 printf (" rdst = 0x%x\n", rdst);
4974 }
4975 SYNTAX("bclr #%1, %0");
4976 #line 917 "rx-decode.opc"
4977 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
4978
4979
4980 }
4981 break;
4982 }
4983 break;
4984 case 0x7b:
4985 GETBYTE ();
4986 switch (op[1] & 0x00)
4987 {
4988 case 0x00:
4989 goto op_semantics_36;
4990 break;
4991 }
4992 break;
4993 case 0x7c:
4994 GETBYTE ();
4995 switch (op[1] & 0x00)
4996 {
4997 case 0x00:
4998 op_semantics_37:
4999 {
5000 /** 0111 110b ittt rdst btst #%2, %1 */
5001 #line 929 "rx-decode.opc"
5002 int b AU = op[0] & 0x01;
5003 #line 929 "rx-decode.opc"
5004 int ittt AU = (op[1] >> 4) & 0x0f;
5005 #line 929 "rx-decode.opc"
5006 int rdst AU = op[1] & 0x0f;
5007 if (trace)
5008 {
5009 printf ("\033[33m%s\033[0m %02x %02x\n",
5010 "/** 0111 110b ittt rdst btst #%2, %1 */",
5011 op[0], op[1]);
5012 printf (" b = 0x%x,", b);
5013 printf (" ittt = 0x%x,", ittt);
5014 printf (" rdst = 0x%x\n", rdst);
5015 }
5016 SYNTAX("btst #%2, %1");
5017 #line 929 "rx-decode.opc"
5018 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5019
5020
5021 }
5022 break;
5023 }
5024 break;
5025 case 0x7d:
5026 GETBYTE ();
5027 switch (op[1] & 0x00)
5028 {
5029 case 0x00:
5030 goto op_semantics_37;
5031 break;
5032 }
5033 break;
5034 case 0x7e:
5035 GETBYTE ();
5036 switch (op[1] & 0xf0)
5037 {
5038 case 0x00:
5039 {
5040 /** 0111 1110 0000 rdst not %0 */
5041 #line 458 "rx-decode.opc"
5042 int rdst AU = op[1] & 0x0f;
5043 if (trace)
5044 {
5045 printf ("\033[33m%s\033[0m %02x %02x\n",
5046 "/** 0111 1110 0000 rdst not %0 */",
5047 op[0], op[1]);
5048 printf (" rdst = 0x%x\n", rdst);
5049 }
5050 SYNTAX("not %0");
5051 #line 458 "rx-decode.opc"
5052 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5053
5054 }
5055 break;
5056 case 0x10:
5057 {
5058 /** 0111 1110 0001 rdst neg %0 */
5059 #line 479 "rx-decode.opc"
5060 int rdst AU = op[1] & 0x0f;
5061 if (trace)
5062 {
5063 printf ("\033[33m%s\033[0m %02x %02x\n",
5064 "/** 0111 1110 0001 rdst neg %0 */",
5065 op[0], op[1]);
5066 printf (" rdst = 0x%x\n", rdst);
5067 }
5068 SYNTAX("neg %0");
5069 #line 479 "rx-decode.opc"
5070 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5071
5072 }
5073 break;
5074 case 0x20:
5075 {
5076 /** 0111 1110 0010 rdst abs %0 */
5077 #line 561 "rx-decode.opc"
5078 int rdst AU = op[1] & 0x0f;
5079 if (trace)
5080 {
5081 printf ("\033[33m%s\033[0m %02x %02x\n",
5082 "/** 0111 1110 0010 rdst abs %0 */",
5083 op[0], op[1]);
5084 printf (" rdst = 0x%x\n", rdst);
5085 }
5086 SYNTAX("abs %0");
5087 #line 561 "rx-decode.opc"
5088 ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5089
5090 }
5091 break;
5092 case 0x30:
5093 {
5094 /** 0111 1110 0011 rdst sat %0 */
5095 #line 843 "rx-decode.opc"
5096 int rdst AU = op[1] & 0x0f;
5097 if (trace)
5098 {
5099 printf ("\033[33m%s\033[0m %02x %02x\n",
5100 "/** 0111 1110 0011 rdst sat %0 */",
5101 op[0], op[1]);
5102 printf (" rdst = 0x%x\n", rdst);
5103 }
5104 SYNTAX("sat %0");
5105 #line 843 "rx-decode.opc"
5106 ID(sat); DR (rdst);
5107
5108 }
5109 break;
5110 case 0x40:
5111 {
5112 /** 0111 1110 0100 rdst rorc %0 */
5113 #line 703 "rx-decode.opc"
5114 int rdst AU = op[1] & 0x0f;
5115 if (trace)
5116 {
5117 printf ("\033[33m%s\033[0m %02x %02x\n",
5118 "/** 0111 1110 0100 rdst rorc %0 */",
5119 op[0], op[1]);
5120 printf (" rdst = 0x%x\n", rdst);
5121 }
5122 SYNTAX("rorc %0");
5123 #line 703 "rx-decode.opc"
5124 ID(rorc); DR(rdst); F__SZC;
5125
5126 }
5127 break;
5128 case 0x50:
5129 {
5130 /** 0111 1110 0101 rdst rolc %0 */
5131 #line 700 "rx-decode.opc"
5132 int rdst AU = op[1] & 0x0f;
5133 if (trace)
5134 {
5135 printf ("\033[33m%s\033[0m %02x %02x\n",
5136 "/** 0111 1110 0101 rdst rolc %0 */",
5137 op[0], op[1]);
5138 printf (" rdst = 0x%x\n", rdst);
5139 }
5140 SYNTAX("rolc %0");
5141 #line 700 "rx-decode.opc"
5142 ID(rolc); DR(rdst); F__SZC;
5143
5144 }
5145 break;
5146 case 0x80:
5147 case 0x90:
5148 case 0xa0:
5149 {
5150 /** 0111 1110 10sz rsrc push%s %1 */
5151 #line 374 "rx-decode.opc"
5152 int sz AU = (op[1] >> 4) & 0x03;
5153 #line 374 "rx-decode.opc"
5154 int rsrc AU = op[1] & 0x0f;
5155 if (trace)
5156 {
5157 printf ("\033[33m%s\033[0m %02x %02x\n",
5158 "/** 0111 1110 10sz rsrc push%s %1 */",
5159 op[0], op[1]);
5160 printf (" sz = 0x%x,", sz);
5161 printf (" rsrc = 0x%x\n", rsrc);
5162 }
5163 SYNTAX("push%s %1");
5164 #line 374 "rx-decode.opc"
5165 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5166
5167 }
5168 break;
5169 case 0xb0:
5170 {
5171 /** 0111 1110 1011 rdst pop %0 */
5172 #line 371 "rx-decode.opc"
5173 int rdst AU = op[1] & 0x0f;
5174 if (trace)
5175 {
5176 printf ("\033[33m%s\033[0m %02x %02x\n",
5177 "/** 0111 1110 1011 rdst pop %0 */",
5178 op[0], op[1]);
5179 printf (" rdst = 0x%x\n", rdst);
5180 }
5181 SYNTAX("pop %0");
5182 #line 371 "rx-decode.opc"
5183 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5184
5185 }
5186 break;
5187 case 0xc0:
5188 case 0xd0:
5189 {
5190 /** 0111 1110 110 crsrc pushc %1 */
5191 #line 966 "rx-decode.opc"
5192 int crsrc AU = op[1] & 0x1f;
5193 if (trace)
5194 {
5195 printf ("\033[33m%s\033[0m %02x %02x\n",
5196 "/** 0111 1110 110 crsrc pushc %1 */",
5197 op[0], op[1]);
5198 printf (" crsrc = 0x%x\n", crsrc);
5199 }
5200 SYNTAX("pushc %1");
5201 #line 966 "rx-decode.opc"
5202 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5203
5204 }
5205 break;
5206 case 0xe0:
5207 case 0xf0:
5208 {
5209 /** 0111 1110 111 crdst popc %0 */
5210 #line 963 "rx-decode.opc"
5211 int crdst AU = op[1] & 0x1f;
5212 if (trace)
5213 {
5214 printf ("\033[33m%s\033[0m %02x %02x\n",
5215 "/** 0111 1110 111 crdst popc %0 */",
5216 op[0], op[1]);
5217 printf (" crdst = 0x%x\n", crdst);
5218 }
5219 SYNTAX("popc %0");
5220 #line 963 "rx-decode.opc"
5221 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5222
5223 }
5224 break;
5225 default: UNSUPPORTED(); break;
5226 }
5227 break;
5228 case 0x7f:
5229 GETBYTE ();
5230 switch (op[1] & 0xff)
5231 {
5232 case 0x00:
5233 case 0x01:
5234 case 0x02:
5235 case 0x03:
5236 case 0x04:
5237 case 0x05:
5238 case 0x06:
5239 case 0x07:
5240 case 0x08:
5241 case 0x09:
5242 case 0x0a:
5243 case 0x0b:
5244 case 0x0c:
5245 case 0x0d:
5246 case 0x0e:
5247 case 0x0f:
5248 {
5249 /** 0111 1111 0000 rsrc jmp %0 */
5250 #line 753 "rx-decode.opc"
5251 int rsrc AU = op[1] & 0x0f;
5252 if (trace)
5253 {
5254 printf ("\033[33m%s\033[0m %02x %02x\n",
5255 "/** 0111 1111 0000 rsrc jmp %0 */",
5256 op[0], op[1]);
5257 printf (" rsrc = 0x%x\n", rsrc);
5258 }
5259 SYNTAX("jmp %0");
5260 #line 753 "rx-decode.opc"
5261 ID(branch); DR(rsrc);
5262
5263 }
5264 break;
5265 case 0x10:
5266 case 0x11:
5267 case 0x12:
5268 case 0x13:
5269 case 0x14:
5270 case 0x15:
5271 case 0x16:
5272 case 0x17:
5273 case 0x18:
5274 case 0x19:
5275 case 0x1a:
5276 case 0x1b:
5277 case 0x1c:
5278 case 0x1d:
5279 case 0x1e:
5280 case 0x1f:
5281 {
5282 /** 0111 1111 0001 rsrc jsr %0 */
5283 #line 756 "rx-decode.opc"
5284 int rsrc AU = op[1] & 0x0f;
5285 if (trace)
5286 {
5287 printf ("\033[33m%s\033[0m %02x %02x\n",
5288 "/** 0111 1111 0001 rsrc jsr %0 */",
5289 op[0], op[1]);
5290 printf (" rsrc = 0x%x\n", rsrc);
5291 }
5292 SYNTAX("jsr %0");
5293 #line 756 "rx-decode.opc"
5294 ID(jsr); DR(rsrc);
5295
5296 }
5297 break;
5298 case 0x40:
5299 case 0x41:
5300 case 0x42:
5301 case 0x43:
5302 case 0x44:
5303 case 0x45:
5304 case 0x46:
5305 case 0x47:
5306 case 0x48:
5307 case 0x49:
5308 case 0x4a:
5309 case 0x4b:
5310 case 0x4c:
5311 case 0x4d:
5312 case 0x4e:
5313 case 0x4f:
5314 {
5315 /** 0111 1111 0100 rsrc bra.l %0 */
5316 #line 749 "rx-decode.opc"
5317 int rsrc AU = op[1] & 0x0f;
5318 if (trace)
5319 {
5320 printf ("\033[33m%s\033[0m %02x %02x\n",
5321 "/** 0111 1111 0100 rsrc bra.l %0 */",
5322 op[0], op[1]);
5323 printf (" rsrc = 0x%x\n", rsrc);
5324 }
5325 SYNTAX("bra.l %0");
5326 #line 749 "rx-decode.opc"
5327 ID(branchrel); DR(rsrc);
5328
5329
5330 }
5331 break;
5332 case 0x50:
5333 case 0x51:
5334 case 0x52:
5335 case 0x53:
5336 case 0x54:
5337 case 0x55:
5338 case 0x56:
5339 case 0x57:
5340 case 0x58:
5341 case 0x59:
5342 case 0x5a:
5343 case 0x5b:
5344 case 0x5c:
5345 case 0x5d:
5346 case 0x5e:
5347 case 0x5f:
5348 {
5349 /** 0111 1111 0101 rsrc bsr.l %0 */
5350 #line 765 "rx-decode.opc"
5351 int rsrc AU = op[1] & 0x0f;
5352 if (trace)
5353 {
5354 printf ("\033[33m%s\033[0m %02x %02x\n",
5355 "/** 0111 1111 0101 rsrc bsr.l %0 */",
5356 op[0], op[1]);
5357 printf (" rsrc = 0x%x\n", rsrc);
5358 }
5359 SYNTAX("bsr.l %0");
5360 #line 765 "rx-decode.opc"
5361 ID(jsrrel); DR(rsrc);
5362
5363 }
5364 break;
5365 case 0x80:
5366 case 0x81:
5367 case 0x82:
5368 {
5369 /** 0111 1111 1000 00sz suntil%s */
5370 #line 789 "rx-decode.opc"
5371 int sz AU = op[1] & 0x03;
5372 if (trace)
5373 {
5374 printf ("\033[33m%s\033[0m %02x %02x\n",
5375 "/** 0111 1111 1000 00sz suntil%s */",
5376 op[0], op[1]);
5377 printf (" sz = 0x%x\n", sz);
5378 }
5379 SYNTAX("suntil%s");
5380 #line 789 "rx-decode.opc"
5381 ID(suntil); BWL(sz); F___ZC;
5382
5383 }
5384 break;
5385 case 0x83:
5386 {
5387 /** 0111 1111 1000 0011 scmpu */
5388 if (trace)
5389 {
5390 printf ("\033[33m%s\033[0m %02x %02x\n",
5391 "/** 0111 1111 1000 0011 scmpu */",
5392 op[0], op[1]);
5393 }
5394 SYNTAX("scmpu");
5395 #line 780 "rx-decode.opc"
5396 ID(scmpu); F___ZC;
5397
5398 }
5399 break;
5400 case 0x84:
5401 case 0x85:
5402 case 0x86:
5403 {
5404 /** 0111 1111 1000 01sz swhile%s */
5405 #line 792 "rx-decode.opc"
5406 int sz AU = op[1] & 0x03;
5407 if (trace)
5408 {
5409 printf ("\033[33m%s\033[0m %02x %02x\n",
5410 "/** 0111 1111 1000 01sz swhile%s */",
5411 op[0], op[1]);
5412 printf (" sz = 0x%x\n", sz);
5413 }
5414 SYNTAX("swhile%s");
5415 #line 792 "rx-decode.opc"
5416 ID(swhile); BWL(sz); F___ZC;
5417
5418 }
5419 break;
5420 case 0x87:
5421 {
5422 /** 0111 1111 1000 0111 smovu */
5423 if (trace)
5424 {
5425 printf ("\033[33m%s\033[0m %02x %02x\n",
5426 "/** 0111 1111 1000 0111 smovu */",
5427 op[0], op[1]);
5428 }
5429 SYNTAX("smovu");
5430 #line 783 "rx-decode.opc"
5431 ID(smovu);
5432
5433 }
5434 break;
5435 case 0x88:
5436 case 0x89:
5437 case 0x8a:
5438 {
5439 /** 0111 1111 1000 10sz sstr%s */
5440 #line 798 "rx-decode.opc"
5441 int sz AU = op[1] & 0x03;
5442 if (trace)
5443 {
5444 printf ("\033[33m%s\033[0m %02x %02x\n",
5445 "/** 0111 1111 1000 10sz sstr%s */",
5446 op[0], op[1]);
5447 printf (" sz = 0x%x\n", sz);
5448 }
5449 SYNTAX("sstr%s");
5450 #line 798 "rx-decode.opc"
5451 ID(sstr); BWL(sz);
5452
5453 /*----------------------------------------------------------------------*/
5454 /* RMPA */
5455
5456 }
5457 break;
5458 case 0x8b:
5459 {
5460 /** 0111 1111 1000 1011 smovb */
5461 if (trace)
5462 {
5463 printf ("\033[33m%s\033[0m %02x %02x\n",
5464 "/** 0111 1111 1000 1011 smovb */",
5465 op[0], op[1]);
5466 }
5467 SYNTAX("smovb");
5468 #line 786 "rx-decode.opc"
5469 ID(smovb);
5470
5471 }
5472 break;
5473 case 0x8c:
5474 case 0x8d:
5475 case 0x8e:
5476 {
5477 /** 0111 1111 1000 11sz rmpa%s */
5478 #line 804 "rx-decode.opc"
5479 int sz AU = op[1] & 0x03;
5480 if (trace)
5481 {
5482 printf ("\033[33m%s\033[0m %02x %02x\n",
5483 "/** 0111 1111 1000 11sz rmpa%s */",
5484 op[0], op[1]);
5485 printf (" sz = 0x%x\n", sz);
5486 }
5487 SYNTAX("rmpa%s");
5488 #line 804 "rx-decode.opc"
5489 ID(rmpa); BWL(sz); F_OS__;
5490
5491 /*----------------------------------------------------------------------*/
5492 /* HI/LO stuff */
5493
5494 }
5495 break;
5496 case 0x8f:
5497 {
5498 /** 0111 1111 1000 1111 smovf */
5499 if (trace)
5500 {
5501 printf ("\033[33m%s\033[0m %02x %02x\n",
5502 "/** 0111 1111 1000 1111 smovf */",
5503 op[0], op[1]);
5504 }
5505 SYNTAX("smovf");
5506 #line 795 "rx-decode.opc"
5507 ID(smovf);
5508
5509 }
5510 break;
5511 case 0x93:
5512 {
5513 /** 0111 1111 1001 0011 satr */
5514 if (trace)
5515 {
5516 printf ("\033[33m%s\033[0m %02x %02x\n",
5517 "/** 0111 1111 1001 0011 satr */",
5518 op[0], op[1]);
5519 }
5520 SYNTAX("satr");
5521 #line 846 "rx-decode.opc"
5522 ID(satr);
5523
5524 /*----------------------------------------------------------------------*/
5525 /* FLOAT */
5526
5527 }
5528 break;
5529 case 0x94:
5530 {
5531 /** 0111 1111 1001 0100 rtfi */
5532 if (trace)
5533 {
5534 printf ("\033[33m%s\033[0m %02x %02x\n",
5535 "/** 0111 1111 1001 0100 rtfi */",
5536 op[0], op[1]);
5537 }
5538 SYNTAX("rtfi");
5539 #line 981 "rx-decode.opc"
5540 ID(rtfi);
5541
5542 }
5543 break;
5544 case 0x95:
5545 {
5546 /** 0111 1111 1001 0101 rte */
5547 if (trace)
5548 {
5549 printf ("\033[33m%s\033[0m %02x %02x\n",
5550 "/** 0111 1111 1001 0101 rte */",
5551 op[0], op[1]);
5552 }
5553 SYNTAX("rte");
5554 #line 984 "rx-decode.opc"
5555 ID(rte);
5556
5557 }
5558 break;
5559 case 0x96:
5560 {
5561 /** 0111 1111 1001 0110 wait */
5562 if (trace)
5563 {
5564 printf ("\033[33m%s\033[0m %02x %02x\n",
5565 "/** 0111 1111 1001 0110 wait */",
5566 op[0], op[1]);
5567 }
5568 SYNTAX("wait");
5569 #line 996 "rx-decode.opc"
5570 ID(wait);
5571
5572 /*----------------------------------------------------------------------*/
5573 /* SCcnd */
5574
5575 }
5576 break;
5577 case 0xa0:
5578 case 0xa1:
5579 case 0xa2:
5580 case 0xa3:
5581 case 0xa4:
5582 case 0xa5:
5583 case 0xa6:
5584 case 0xa7:
5585 case 0xa8:
5586 case 0xa9:
5587 case 0xaa:
5588 case 0xab:
5589 case 0xac:
5590 case 0xad:
5591 case 0xae:
5592 case 0xaf:
5593 {
5594 /** 0111 1111 1010 rdst setpsw %0 */
5595 #line 957 "rx-decode.opc"
5596 int rdst AU = op[1] & 0x0f;
5597 if (trace)
5598 {
5599 printf ("\033[33m%s\033[0m %02x %02x\n",
5600 "/** 0111 1111 1010 rdst setpsw %0 */",
5601 op[0], op[1]);
5602 printf (" rdst = 0x%x\n", rdst);
5603 }
5604 SYNTAX("setpsw %0");
5605 #line 957 "rx-decode.opc"
5606 ID(setpsw); DF(rdst);
5607
5608 }
5609 break;
5610 case 0xb0:
5611 case 0xb1:
5612 case 0xb2:
5613 case 0xb3:
5614 case 0xb4:
5615 case 0xb5:
5616 case 0xb6:
5617 case 0xb7:
5618 case 0xb8:
5619 case 0xb9:
5620 case 0xba:
5621 case 0xbb:
5622 case 0xbc:
5623 case 0xbd:
5624 case 0xbe:
5625 case 0xbf:
5626 {
5627 /** 0111 1111 1011 rdst clrpsw %0 */
5628 #line 954 "rx-decode.opc"
5629 int rdst AU = op[1] & 0x0f;
5630 if (trace)
5631 {
5632 printf ("\033[33m%s\033[0m %02x %02x\n",
5633 "/** 0111 1111 1011 rdst clrpsw %0 */",
5634 op[0], op[1]);
5635 printf (" rdst = 0x%x\n", rdst);
5636 }
5637 SYNTAX("clrpsw %0");
5638 #line 954 "rx-decode.opc"
5639 ID(clrpsw); DF(rdst);
5640
5641 }
5642 break;
5643 default: UNSUPPORTED(); break;
5644 }
5645 break;
5646 case 0x80:
5647 GETBYTE ();
5648 switch (op[1] & 0x00)
5649 {
5650 case 0x00:
5651 op_semantics_38:
5652 {
5653 /** 10sz 0dsp a dst b src mov%s %1, %0 */
5654 #line 332 "rx-decode.opc"
5655 int sz AU = (op[0] >> 4) & 0x03;
5656 #line 332 "rx-decode.opc"
5657 int dsp AU = op[0] & 0x07;
5658 #line 332 "rx-decode.opc"
5659 int a AU = (op[1] >> 7) & 0x01;
5660 #line 332 "rx-decode.opc"
5661 int dst AU = (op[1] >> 4) & 0x07;
5662 #line 332 "rx-decode.opc"
5663 int b AU = (op[1] >> 3) & 0x01;
5664 #line 332 "rx-decode.opc"
5665 int src AU = op[1] & 0x07;
5666 if (trace)
5667 {
5668 printf ("\033[33m%s\033[0m %02x %02x\n",
5669 "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5670 op[0], op[1]);
5671 printf (" sz = 0x%x,", sz);
5672 printf (" dsp = 0x%x,", dsp);
5673 printf (" a = 0x%x,", a);
5674 printf (" dst = 0x%x,", dst);
5675 printf (" b = 0x%x,", b);
5676 printf (" src = 0x%x\n", src);
5677 }
5678 SYNTAX("mov%s %1, %0");
5679 #line 332 "rx-decode.opc"
5680 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5681
5682 }
5683 break;
5684 }
5685 break;
5686 case 0x81:
5687 GETBYTE ();
5688 switch (op[1] & 0x00)
5689 {
5690 case 0x00:
5691 goto op_semantics_38;
5692 break;
5693 }
5694 break;
5695 case 0x82:
5696 GETBYTE ();
5697 switch (op[1] & 0x00)
5698 {
5699 case 0x00:
5700 goto op_semantics_38;
5701 break;
5702 }
5703 break;
5704 case 0x83:
5705 GETBYTE ();
5706 switch (op[1] & 0x00)
5707 {
5708 case 0x00:
5709 goto op_semantics_38;
5710 break;
5711 }
5712 break;
5713 case 0x84:
5714 GETBYTE ();
5715 switch (op[1] & 0x00)
5716 {
5717 case 0x00:
5718 goto op_semantics_38;
5719 break;
5720 }
5721 break;
5722 case 0x85:
5723 GETBYTE ();
5724 switch (op[1] & 0x00)
5725 {
5726 case 0x00:
5727 goto op_semantics_38;
5728 break;
5729 }
5730 break;
5731 case 0x86:
5732 GETBYTE ();
5733 switch (op[1] & 0x00)
5734 {
5735 case 0x00:
5736 goto op_semantics_38;
5737 break;
5738 }
5739 break;
5740 case 0x87:
5741 GETBYTE ();
5742 switch (op[1] & 0x00)
5743 {
5744 case 0x00:
5745 goto op_semantics_38;
5746 break;
5747 }
5748 break;
5749 case 0x88:
5750 GETBYTE ();
5751 switch (op[1] & 0x00)
5752 {
5753 case 0x00:
5754 op_semantics_39:
5755 {
5756 /** 10sz 1dsp a src b dst mov%s %1, %0 */
5757 #line 329 "rx-decode.opc"
5758 int sz AU = (op[0] >> 4) & 0x03;
5759 #line 329 "rx-decode.opc"
5760 int dsp AU = op[0] & 0x07;
5761 #line 329 "rx-decode.opc"
5762 int a AU = (op[1] >> 7) & 0x01;
5763 #line 329 "rx-decode.opc"
5764 int src AU = (op[1] >> 4) & 0x07;
5765 #line 329 "rx-decode.opc"
5766 int b AU = (op[1] >> 3) & 0x01;
5767 #line 329 "rx-decode.opc"
5768 int dst AU = op[1] & 0x07;
5769 if (trace)
5770 {
5771 printf ("\033[33m%s\033[0m %02x %02x\n",
5772 "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5773 op[0], op[1]);
5774 printf (" sz = 0x%x,", sz);
5775 printf (" dsp = 0x%x,", dsp);
5776 printf (" a = 0x%x,", a);
5777 printf (" src = 0x%x,", src);
5778 printf (" b = 0x%x,", b);
5779 printf (" dst = 0x%x\n", dst);
5780 }
5781 SYNTAX("mov%s %1, %0");
5782 #line 329 "rx-decode.opc"
5783 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5784
5785 }
5786 break;
5787 }
5788 break;
5789 case 0x89:
5790 GETBYTE ();
5791 switch (op[1] & 0x00)
5792 {
5793 case 0x00:
5794 goto op_semantics_39;
5795 break;
5796 }
5797 break;
5798 case 0x8a:
5799 GETBYTE ();
5800 switch (op[1] & 0x00)
5801 {
5802 case 0x00:
5803 goto op_semantics_39;
5804 break;
5805 }
5806 break;
5807 case 0x8b:
5808 GETBYTE ();
5809 switch (op[1] & 0x00)
5810 {
5811 case 0x00:
5812 goto op_semantics_39;
5813 break;
5814 }
5815 break;
5816 case 0x8c:
5817 GETBYTE ();
5818 switch (op[1] & 0x00)
5819 {
5820 case 0x00:
5821 goto op_semantics_39;
5822 break;
5823 }
5824 break;
5825 case 0x8d:
5826 GETBYTE ();
5827 switch (op[1] & 0x00)
5828 {
5829 case 0x00:
5830 goto op_semantics_39;
5831 break;
5832 }
5833 break;
5834 case 0x8e:
5835 GETBYTE ();
5836 switch (op[1] & 0x00)
5837 {
5838 case 0x00:
5839 goto op_semantics_39;
5840 break;
5841 }
5842 break;
5843 case 0x8f:
5844 GETBYTE ();
5845 switch (op[1] & 0x00)
5846 {
5847 case 0x00:
5848 goto op_semantics_39;
5849 break;
5850 }
5851 break;
5852 case 0x90:
5853 GETBYTE ();
5854 switch (op[1] & 0x00)
5855 {
5856 case 0x00:
5857 goto op_semantics_38;
5858 break;
5859 }
5860 break;
5861 case 0x91:
5862 GETBYTE ();
5863 switch (op[1] & 0x00)
5864 {
5865 case 0x00:
5866 goto op_semantics_38;
5867 break;
5868 }
5869 break;
5870 case 0x92:
5871 GETBYTE ();
5872 switch (op[1] & 0x00)
5873 {
5874 case 0x00:
5875 goto op_semantics_38;
5876 break;
5877 }
5878 break;
5879 case 0x93:
5880 GETBYTE ();
5881 switch (op[1] & 0x00)
5882 {
5883 case 0x00:
5884 goto op_semantics_38;
5885 break;
5886 }
5887 break;
5888 case 0x94:
5889 GETBYTE ();
5890 switch (op[1] & 0x00)
5891 {
5892 case 0x00:
5893 goto op_semantics_38;
5894 break;
5895 }
5896 break;
5897 case 0x95:
5898 GETBYTE ();
5899 switch (op[1] & 0x00)
5900 {
5901 case 0x00:
5902 goto op_semantics_38;
5903 break;
5904 }
5905 break;
5906 case 0x96:
5907 GETBYTE ();
5908 switch (op[1] & 0x00)
5909 {
5910 case 0x00:
5911 goto op_semantics_38;
5912 break;
5913 }
5914 break;
5915 case 0x97:
5916 GETBYTE ();
5917 switch (op[1] & 0x00)
5918 {
5919 case 0x00:
5920 goto op_semantics_38;
5921 break;
5922 }
5923 break;
5924 case 0x98:
5925 GETBYTE ();
5926 switch (op[1] & 0x00)
5927 {
5928 case 0x00:
5929 goto op_semantics_39;
5930 break;
5931 }
5932 break;
5933 case 0x99:
5934 GETBYTE ();
5935 switch (op[1] & 0x00)
5936 {
5937 case 0x00:
5938 goto op_semantics_39;
5939 break;
5940 }
5941 break;
5942 case 0x9a:
5943 GETBYTE ();
5944 switch (op[1] & 0x00)
5945 {
5946 case 0x00:
5947 goto op_semantics_39;
5948 break;
5949 }
5950 break;
5951 case 0x9b:
5952 GETBYTE ();
5953 switch (op[1] & 0x00)
5954 {
5955 case 0x00:
5956 goto op_semantics_39;
5957 break;
5958 }
5959 break;
5960 case 0x9c:
5961 GETBYTE ();
5962 switch (op[1] & 0x00)
5963 {
5964 case 0x00:
5965 goto op_semantics_39;
5966 break;
5967 }
5968 break;
5969 case 0x9d:
5970 GETBYTE ();
5971 switch (op[1] & 0x00)
5972 {
5973 case 0x00:
5974 goto op_semantics_39;
5975 break;
5976 }
5977 break;
5978 case 0x9e:
5979 GETBYTE ();
5980 switch (op[1] & 0x00)
5981 {
5982 case 0x00:
5983 goto op_semantics_39;
5984 break;
5985 }
5986 break;
5987 case 0x9f:
5988 GETBYTE ();
5989 switch (op[1] & 0x00)
5990 {
5991 case 0x00:
5992 goto op_semantics_39;
5993 break;
5994 }
5995 break;
5996 case 0xa0:
5997 GETBYTE ();
5998 switch (op[1] & 0x00)
5999 {
6000 case 0x00:
6001 goto op_semantics_38;
6002 break;
6003 }
6004 break;
6005 case 0xa1:
6006 GETBYTE ();
6007 switch (op[1] & 0x00)
6008 {
6009 case 0x00:
6010 goto op_semantics_38;
6011 break;
6012 }
6013 break;
6014 case 0xa2:
6015 GETBYTE ();
6016 switch (op[1] & 0x00)
6017 {
6018 case 0x00:
6019 goto op_semantics_38;
6020 break;
6021 }
6022 break;
6023 case 0xa3:
6024 GETBYTE ();
6025 switch (op[1] & 0x00)
6026 {
6027 case 0x00:
6028 goto op_semantics_38;
6029 break;
6030 }
6031 break;
6032 case 0xa4:
6033 GETBYTE ();
6034 switch (op[1] & 0x00)
6035 {
6036 case 0x00:
6037 goto op_semantics_38;
6038 break;
6039 }
6040 break;
6041 case 0xa5:
6042 GETBYTE ();
6043 switch (op[1] & 0x00)
6044 {
6045 case 0x00:
6046 goto op_semantics_38;
6047 break;
6048 }
6049 break;
6050 case 0xa6:
6051 GETBYTE ();
6052 switch (op[1] & 0x00)
6053 {
6054 case 0x00:
6055 goto op_semantics_38;
6056 break;
6057 }
6058 break;
6059 case 0xa7:
6060 GETBYTE ();
6061 switch (op[1] & 0x00)
6062 {
6063 case 0x00:
6064 goto op_semantics_38;
6065 break;
6066 }
6067 break;
6068 case 0xa8:
6069 GETBYTE ();
6070 switch (op[1] & 0x00)
6071 {
6072 case 0x00:
6073 goto op_semantics_39;
6074 break;
6075 }
6076 break;
6077 case 0xa9:
6078 GETBYTE ();
6079 switch (op[1] & 0x00)
6080 {
6081 case 0x00:
6082 goto op_semantics_39;
6083 break;
6084 }
6085 break;
6086 case 0xaa:
6087 GETBYTE ();
6088 switch (op[1] & 0x00)
6089 {
6090 case 0x00:
6091 goto op_semantics_39;
6092 break;
6093 }
6094 break;
6095 case 0xab:
6096 GETBYTE ();
6097 switch (op[1] & 0x00)
6098 {
6099 case 0x00:
6100 goto op_semantics_39;
6101 break;
6102 }
6103 break;
6104 case 0xac:
6105 GETBYTE ();
6106 switch (op[1] & 0x00)
6107 {
6108 case 0x00:
6109 goto op_semantics_39;
6110 break;
6111 }
6112 break;
6113 case 0xad:
6114 GETBYTE ();
6115 switch (op[1] & 0x00)
6116 {
6117 case 0x00:
6118 goto op_semantics_39;
6119 break;
6120 }
6121 break;
6122 case 0xae:
6123 GETBYTE ();
6124 switch (op[1] & 0x00)
6125 {
6126 case 0x00:
6127 goto op_semantics_39;
6128 break;
6129 }
6130 break;
6131 case 0xaf:
6132 GETBYTE ();
6133 switch (op[1] & 0x00)
6134 {
6135 case 0x00:
6136 goto op_semantics_39;
6137 break;
6138 }
6139 break;
6140 case 0xb0:
6141 GETBYTE ();
6142 switch (op[1] & 0x00)
6143 {
6144 case 0x00:
6145 op_semantics_40:
6146 {
6147 /** 1011 w dsp a src b dst movu%s %1, %0 */
6148 #line 352 "rx-decode.opc"
6149 int w AU = (op[0] >> 3) & 0x01;
6150 #line 352 "rx-decode.opc"
6151 int dsp AU = op[0] & 0x07;
6152 #line 352 "rx-decode.opc"
6153 int a AU = (op[1] >> 7) & 0x01;
6154 #line 352 "rx-decode.opc"
6155 int src AU = (op[1] >> 4) & 0x07;
6156 #line 352 "rx-decode.opc"
6157 int b AU = (op[1] >> 3) & 0x01;
6158 #line 352 "rx-decode.opc"
6159 int dst AU = op[1] & 0x07;
6160 if (trace)
6161 {
6162 printf ("\033[33m%s\033[0m %02x %02x\n",
6163 "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6164 op[0], op[1]);
6165 printf (" w = 0x%x,", w);
6166 printf (" dsp = 0x%x,", dsp);
6167 printf (" a = 0x%x,", a);
6168 printf (" src = 0x%x,", src);
6169 printf (" b = 0x%x,", b);
6170 printf (" dst = 0x%x\n", dst);
6171 }
6172 SYNTAX("movu%s %1, %0");
6173 #line 352 "rx-decode.opc"
6174 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6175
6176 }
6177 break;
6178 }
6179 break;
6180 case 0xb1:
6181 GETBYTE ();
6182 switch (op[1] & 0x00)
6183 {
6184 case 0x00:
6185 goto op_semantics_40;
6186 break;
6187 }
6188 break;
6189 case 0xb2:
6190 GETBYTE ();
6191 switch (op[1] & 0x00)
6192 {
6193 case 0x00:
6194 goto op_semantics_40;
6195 break;
6196 }
6197 break;
6198 case 0xb3:
6199 GETBYTE ();
6200 switch (op[1] & 0x00)
6201 {
6202 case 0x00:
6203 goto op_semantics_40;
6204 break;
6205 }
6206 break;
6207 case 0xb4:
6208 GETBYTE ();
6209 switch (op[1] & 0x00)
6210 {
6211 case 0x00:
6212 goto op_semantics_40;
6213 break;
6214 }
6215 break;
6216 case 0xb5:
6217 GETBYTE ();
6218 switch (op[1] & 0x00)
6219 {
6220 case 0x00:
6221 goto op_semantics_40;
6222 break;
6223 }
6224 break;
6225 case 0xb6:
6226 GETBYTE ();
6227 switch (op[1] & 0x00)
6228 {
6229 case 0x00:
6230 goto op_semantics_40;
6231 break;
6232 }
6233 break;
6234 case 0xb7:
6235 GETBYTE ();
6236 switch (op[1] & 0x00)
6237 {
6238 case 0x00:
6239 goto op_semantics_40;
6240 break;
6241 }
6242 break;
6243 case 0xb8:
6244 GETBYTE ();
6245 switch (op[1] & 0x00)
6246 {
6247 case 0x00:
6248 goto op_semantics_40;
6249 break;
6250 }
6251 break;
6252 case 0xb9:
6253 GETBYTE ();
6254 switch (op[1] & 0x00)
6255 {
6256 case 0x00:
6257 goto op_semantics_40;
6258 break;
6259 }
6260 break;
6261 case 0xba:
6262 GETBYTE ();
6263 switch (op[1] & 0x00)
6264 {
6265 case 0x00:
6266 goto op_semantics_40;
6267 break;
6268 }
6269 break;
6270 case 0xbb:
6271 GETBYTE ();
6272 switch (op[1] & 0x00)
6273 {
6274 case 0x00:
6275 goto op_semantics_40;
6276 break;
6277 }
6278 break;
6279 case 0xbc:
6280 GETBYTE ();
6281 switch (op[1] & 0x00)
6282 {
6283 case 0x00:
6284 goto op_semantics_40;
6285 break;
6286 }
6287 break;
6288 case 0xbd:
6289 GETBYTE ();
6290 switch (op[1] & 0x00)
6291 {
6292 case 0x00:
6293 goto op_semantics_40;
6294 break;
6295 }
6296 break;
6297 case 0xbe:
6298 GETBYTE ();
6299 switch (op[1] & 0x00)
6300 {
6301 case 0x00:
6302 goto op_semantics_40;
6303 break;
6304 }
6305 break;
6306 case 0xbf:
6307 GETBYTE ();
6308 switch (op[1] & 0x00)
6309 {
6310 case 0x00:
6311 goto op_semantics_40;
6312 break;
6313 }
6314 break;
6315 case 0xc0:
6316 GETBYTE ();
6317 switch (op[1] & 0x00)
6318 {
6319 case 0x00:
6320 op_semantics_41:
6321 {
6322 /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6323 #line 310 "rx-decode.opc"
6324 int sz AU = (op[0] >> 4) & 0x03;
6325 #line 310 "rx-decode.opc"
6326 int sd AU = (op[0] >> 2) & 0x03;
6327 #line 310 "rx-decode.opc"
6328 int ss AU = op[0] & 0x03;
6329 #line 310 "rx-decode.opc"
6330 int rsrc AU = (op[1] >> 4) & 0x0f;
6331 #line 310 "rx-decode.opc"
6332 int rdst AU = op[1] & 0x0f;
6333 if (trace)
6334 {
6335 printf ("\033[33m%s\033[0m %02x %02x\n",
6336 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6337 op[0], op[1]);
6338 printf (" sz = 0x%x,", sz);
6339 printf (" sd = 0x%x,", sd);
6340 printf (" ss = 0x%x,", ss);
6341 printf (" rsrc = 0x%x,", rsrc);
6342 printf (" rdst = 0x%x\n", rdst);
6343 }
6344 SYNTAX("mov%s %1, %0");
6345 #line 310 "rx-decode.opc"
6346 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6347 {
6348 ID(nop2);
6349 rx->syntax = "nop";
6350 }
6351 else
6352 {
6353 ID(mov); sBWL(sz); F_____;
6354 if ((ss == 3) && (sd != 3))
6355 {
6356 SD(ss, rdst, sz); DD(sd, rsrc, sz);
6357 }
6358 else
6359 {
6360 SD(ss, rsrc, sz); DD(sd, rdst, sz);
6361 }
6362 }
6363
6364 }
6365 break;
6366 }
6367 break;
6368 case 0xc1:
6369 GETBYTE ();
6370 switch (op[1] & 0x00)
6371 {
6372 case 0x00:
6373 goto op_semantics_41;
6374 break;
6375 }
6376 break;
6377 case 0xc2:
6378 GETBYTE ();
6379 switch (op[1] & 0x00)
6380 {
6381 case 0x00:
6382 goto op_semantics_41;
6383 break;
6384 }
6385 break;
6386 case 0xc3:
6387 GETBYTE ();
6388 switch (op[1] & 0x00)
6389 {
6390 case 0x00:
6391 goto op_semantics_41;
6392 break;
6393 }
6394 break;
6395 case 0xc4:
6396 GETBYTE ();
6397 switch (op[1] & 0x00)
6398 {
6399 case 0x00:
6400 goto op_semantics_41;
6401 break;
6402 }
6403 break;
6404 case 0xc5:
6405 GETBYTE ();
6406 switch (op[1] & 0x00)
6407 {
6408 case 0x00:
6409 goto op_semantics_41;
6410 break;
6411 }
6412 break;
6413 case 0xc6:
6414 GETBYTE ();
6415 switch (op[1] & 0x00)
6416 {
6417 case 0x00:
6418 goto op_semantics_41;
6419 break;
6420 }
6421 break;
6422 case 0xc7:
6423 GETBYTE ();
6424 switch (op[1] & 0x00)
6425 {
6426 case 0x00:
6427 goto op_semantics_41;
6428 break;
6429 }
6430 break;
6431 case 0xc8:
6432 GETBYTE ();
6433 switch (op[1] & 0x00)
6434 {
6435 case 0x00:
6436 goto op_semantics_41;
6437 break;
6438 }
6439 break;
6440 case 0xc9:
6441 GETBYTE ();
6442 switch (op[1] & 0x00)
6443 {
6444 case 0x00:
6445 goto op_semantics_41;
6446 break;
6447 }
6448 break;
6449 case 0xca:
6450 GETBYTE ();
6451 switch (op[1] & 0x00)
6452 {
6453 case 0x00:
6454 goto op_semantics_41;
6455 break;
6456 }
6457 break;
6458 case 0xcb:
6459 GETBYTE ();
6460 switch (op[1] & 0x00)
6461 {
6462 case 0x00:
6463 goto op_semantics_41;
6464 break;
6465 }
6466 break;
6467 case 0xcc:
6468 GETBYTE ();
6469 switch (op[1] & 0x00)
6470 {
6471 case 0x00:
6472 goto op_semantics_41;
6473 break;
6474 }
6475 break;
6476 case 0xcd:
6477 GETBYTE ();
6478 switch (op[1] & 0x00)
6479 {
6480 case 0x00:
6481 goto op_semantics_41;
6482 break;
6483 }
6484 break;
6485 case 0xce:
6486 GETBYTE ();
6487 switch (op[1] & 0x00)
6488 {
6489 case 0x00:
6490 goto op_semantics_41;
6491 break;
6492 }
6493 break;
6494 case 0xcf:
6495 GETBYTE ();
6496 switch (op[1] & 0x00)
6497 {
6498 case 0x00:
6499 goto op_semantics_41;
6500 break;
6501 }
6502 break;
6503 case 0xd0:
6504 GETBYTE ();
6505 switch (op[1] & 0x00)
6506 {
6507 case 0x00:
6508 goto op_semantics_41;
6509 break;
6510 }
6511 break;
6512 case 0xd1:
6513 GETBYTE ();
6514 switch (op[1] & 0x00)
6515 {
6516 case 0x00:
6517 goto op_semantics_41;
6518 break;
6519 }
6520 break;
6521 case 0xd2:
6522 GETBYTE ();
6523 switch (op[1] & 0x00)
6524 {
6525 case 0x00:
6526 goto op_semantics_41;
6527 break;
6528 }
6529 break;
6530 case 0xd3:
6531 GETBYTE ();
6532 switch (op[1] & 0x00)
6533 {
6534 case 0x00:
6535 goto op_semantics_41;
6536 break;
6537 }
6538 break;
6539 case 0xd4:
6540 GETBYTE ();
6541 switch (op[1] & 0x00)
6542 {
6543 case 0x00:
6544 goto op_semantics_41;
6545 break;
6546 }
6547 break;
6548 case 0xd5:
6549 GETBYTE ();
6550 switch (op[1] & 0x00)
6551 {
6552 case 0x00:
6553 goto op_semantics_41;
6554 break;
6555 }
6556 break;
6557 case 0xd6:
6558 GETBYTE ();
6559 switch (op[1] & 0x00)
6560 {
6561 case 0x00:
6562 goto op_semantics_41;
6563 break;
6564 }
6565 break;
6566 case 0xd7:
6567 GETBYTE ();
6568 switch (op[1] & 0x00)
6569 {
6570 case 0x00:
6571 goto op_semantics_41;
6572 break;
6573 }
6574 break;
6575 case 0xd8:
6576 GETBYTE ();
6577 switch (op[1] & 0x00)
6578 {
6579 case 0x00:
6580 goto op_semantics_41;
6581 break;
6582 }
6583 break;
6584 case 0xd9:
6585 GETBYTE ();
6586 switch (op[1] & 0x00)
6587 {
6588 case 0x00:
6589 goto op_semantics_41;
6590 break;
6591 }
6592 break;
6593 case 0xda:
6594 GETBYTE ();
6595 switch (op[1] & 0x00)
6596 {
6597 case 0x00:
6598 goto op_semantics_41;
6599 break;
6600 }
6601 break;
6602 case 0xdb:
6603 GETBYTE ();
6604 switch (op[1] & 0x00)
6605 {
6606 case 0x00:
6607 goto op_semantics_41;
6608 break;
6609 }
6610 break;
6611 case 0xdc:
6612 GETBYTE ();
6613 switch (op[1] & 0x00)
6614 {
6615 case 0x00:
6616 goto op_semantics_41;
6617 break;
6618 }
6619 break;
6620 case 0xdd:
6621 GETBYTE ();
6622 switch (op[1] & 0x00)
6623 {
6624 case 0x00:
6625 goto op_semantics_41;
6626 break;
6627 }
6628 break;
6629 case 0xde:
6630 GETBYTE ();
6631 switch (op[1] & 0x00)
6632 {
6633 case 0x00:
6634 goto op_semantics_41;
6635 break;
6636 }
6637 break;
6638 case 0xdf:
6639 GETBYTE ();
6640 switch (op[1] & 0x00)
6641 {
6642 case 0x00:
6643 goto op_semantics_41;
6644 break;
6645 }
6646 break;
6647 case 0xe0:
6648 GETBYTE ();
6649 switch (op[1] & 0x00)
6650 {
6651 case 0x00:
6652 goto op_semantics_41;
6653 break;
6654 }
6655 break;
6656 case 0xe1:
6657 GETBYTE ();
6658 switch (op[1] & 0x00)
6659 {
6660 case 0x00:
6661 goto op_semantics_41;
6662 break;
6663 }
6664 break;
6665 case 0xe2:
6666 GETBYTE ();
6667 switch (op[1] & 0x00)
6668 {
6669 case 0x00:
6670 goto op_semantics_41;
6671 break;
6672 }
6673 break;
6674 case 0xe3:
6675 GETBYTE ();
6676 switch (op[1] & 0x00)
6677 {
6678 case 0x00:
6679 goto op_semantics_41;
6680 break;
6681 }
6682 break;
6683 case 0xe4:
6684 GETBYTE ();
6685 switch (op[1] & 0x00)
6686 {
6687 case 0x00:
6688 goto op_semantics_41;
6689 break;
6690 }
6691 break;
6692 case 0xe5:
6693 GETBYTE ();
6694 switch (op[1] & 0x00)
6695 {
6696 case 0x00:
6697 goto op_semantics_41;
6698 break;
6699 }
6700 break;
6701 case 0xe6:
6702 GETBYTE ();
6703 switch (op[1] & 0x00)
6704 {
6705 case 0x00:
6706 goto op_semantics_41;
6707 break;
6708 }
6709 break;
6710 case 0xe7:
6711 GETBYTE ();
6712 switch (op[1] & 0x00)
6713 {
6714 case 0x00:
6715 goto op_semantics_41;
6716 break;
6717 }
6718 break;
6719 case 0xe8:
6720 GETBYTE ();
6721 switch (op[1] & 0x00)
6722 {
6723 case 0x00:
6724 goto op_semantics_41;
6725 break;
6726 }
6727 break;
6728 case 0xe9:
6729 GETBYTE ();
6730 switch (op[1] & 0x00)
6731 {
6732 case 0x00:
6733 goto op_semantics_41;
6734 break;
6735 }
6736 break;
6737 case 0xea:
6738 GETBYTE ();
6739 switch (op[1] & 0x00)
6740 {
6741 case 0x00:
6742 goto op_semantics_41;
6743 break;
6744 }
6745 break;
6746 case 0xeb:
6747 GETBYTE ();
6748 switch (op[1] & 0x00)
6749 {
6750 case 0x00:
6751 goto op_semantics_41;
6752 break;
6753 }
6754 break;
6755 case 0xec:
6756 GETBYTE ();
6757 switch (op[1] & 0x00)
6758 {
6759 case 0x00:
6760 goto op_semantics_41;
6761 break;
6762 }
6763 break;
6764 case 0xed:
6765 GETBYTE ();
6766 switch (op[1] & 0x00)
6767 {
6768 case 0x00:
6769 goto op_semantics_41;
6770 break;
6771 }
6772 break;
6773 case 0xee:
6774 GETBYTE ();
6775 switch (op[1] & 0x00)
6776 {
6777 case 0x00:
6778 goto op_semantics_41;
6779 break;
6780 }
6781 break;
6782 case 0xef:
6783 GETBYTE ();
6784 switch (op[1] & 0x00)
6785 {
6786 case 0x00:
6787 goto op_semantics_41;
6788 break;
6789 }
6790 break;
6791 case 0xf0:
6792 GETBYTE ();
6793 switch (op[1] & 0x08)
6794 {
6795 case 0x00:
6796 op_semantics_42:
6797 {
6798 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6799 #line 897 "rx-decode.opc"
6800 int sd AU = op[0] & 0x03;
6801 #line 897 "rx-decode.opc"
6802 int rdst AU = (op[1] >> 4) & 0x0f;
6803 #line 897 "rx-decode.opc"
6804 int bit AU = op[1] & 0x07;
6805 if (trace)
6806 {
6807 printf ("\033[33m%s\033[0m %02x %02x\n",
6808 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
6809 op[0], op[1]);
6810 printf (" sd = 0x%x,", sd);
6811 printf (" rdst = 0x%x,", rdst);
6812 printf (" bit = 0x%x\n", bit);
6813 }
6814 SYNTAX("bset #%1, %0%S0");
6815 #line 897 "rx-decode.opc"
6816 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6817
6818 }
6819 break;
6820 case 0x08:
6821 op_semantics_43:
6822 {
6823 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
6824 #line 909 "rx-decode.opc"
6825 int sd AU = op[0] & 0x03;
6826 #line 909 "rx-decode.opc"
6827 int rdst AU = (op[1] >> 4) & 0x0f;
6828 #line 909 "rx-decode.opc"
6829 int bit AU = op[1] & 0x07;
6830 if (trace)
6831 {
6832 printf ("\033[33m%s\033[0m %02x %02x\n",
6833 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
6834 op[0], op[1]);
6835 printf (" sd = 0x%x,", sd);
6836 printf (" rdst = 0x%x,", rdst);
6837 printf (" bit = 0x%x\n", bit);
6838 }
6839 SYNTAX("bclr #%1, %0%S0");
6840 #line 909 "rx-decode.opc"
6841 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
6842
6843 }
6844 break;
6845 }
6846 break;
6847 case 0xf1:
6848 GETBYTE ();
6849 switch (op[1] & 0x08)
6850 {
6851 case 0x00:
6852 goto op_semantics_42;
6853 break;
6854 case 0x08:
6855 goto op_semantics_43;
6856 break;
6857 }
6858 break;
6859 case 0xf2:
6860 GETBYTE ();
6861 switch (op[1] & 0x08)
6862 {
6863 case 0x00:
6864 goto op_semantics_42;
6865 break;
6866 case 0x08:
6867 goto op_semantics_43;
6868 break;
6869 }
6870 break;
6871 case 0xf3:
6872 GETBYTE ();
6873 switch (op[1] & 0x08)
6874 {
6875 case 0x00:
6876 goto op_semantics_42;
6877 break;
6878 case 0x08:
6879 goto op_semantics_43;
6880 break;
6881 }
6882 break;
6883 case 0xf4:
6884 GETBYTE ();
6885 switch (op[1] & 0x0c)
6886 {
6887 case 0x00:
6888 case 0x04:
6889 op_semantics_44:
6890 {
6891 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
6892 #line 921 "rx-decode.opc"
6893 int sd AU = op[0] & 0x03;
6894 #line 921 "rx-decode.opc"
6895 int rdst AU = (op[1] >> 4) & 0x0f;
6896 #line 921 "rx-decode.opc"
6897 int bit AU = op[1] & 0x07;
6898 if (trace)
6899 {
6900 printf ("\033[33m%s\033[0m %02x %02x\n",
6901 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
6902 op[0], op[1]);
6903 printf (" sd = 0x%x,", sd);
6904 printf (" rdst = 0x%x,", rdst);
6905 printf (" bit = 0x%x\n", bit);
6906 }
6907 SYNTAX("btst #%2, %1%S1");
6908 #line 921 "rx-decode.opc"
6909 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
6910
6911 }
6912 break;
6913 case 0x08:
6914 op_semantics_45:
6915 {
6916 /** 1111 01ss rsrc 10sz push%s %1 */
6917 #line 377 "rx-decode.opc"
6918 int ss AU = op[0] & 0x03;
6919 #line 377 "rx-decode.opc"
6920 int rsrc AU = (op[1] >> 4) & 0x0f;
6921 #line 377 "rx-decode.opc"
6922 int sz AU = op[1] & 0x03;
6923 if (trace)
6924 {
6925 printf ("\033[33m%s\033[0m %02x %02x\n",
6926 "/** 1111 01ss rsrc 10sz push%s %1 */",
6927 op[0], op[1]);
6928 printf (" ss = 0x%x,", ss);
6929 printf (" rsrc = 0x%x,", rsrc);
6930 printf (" sz = 0x%x\n", sz);
6931 }
6932 SYNTAX("push%s %1");
6933 #line 377 "rx-decode.opc"
6934 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
6935
6936 /*----------------------------------------------------------------------*/
6937 /* XCHG */
6938
6939 }
6940 break;
6941 default: UNSUPPORTED(); break;
6942 }
6943 break;
6944 case 0xf5:
6945 GETBYTE ();
6946 switch (op[1] & 0x0c)
6947 {
6948 case 0x00:
6949 case 0x04:
6950 goto op_semantics_44;
6951 break;
6952 case 0x08:
6953 goto op_semantics_45;
6954 break;
6955 default: UNSUPPORTED(); break;
6956 }
6957 break;
6958 case 0xf6:
6959 GETBYTE ();
6960 switch (op[1] & 0x0c)
6961 {
6962 case 0x00:
6963 case 0x04:
6964 goto op_semantics_44;
6965 break;
6966 case 0x08:
6967 goto op_semantics_45;
6968 break;
6969 default: UNSUPPORTED(); break;
6970 }
6971 break;
6972 case 0xf7:
6973 GETBYTE ();
6974 switch (op[1] & 0x0c)
6975 {
6976 case 0x00:
6977 case 0x04:
6978 goto op_semantics_44;
6979 break;
6980 case 0x08:
6981 goto op_semantics_45;
6982 break;
6983 default: UNSUPPORTED(); break;
6984 }
6985 break;
6986 case 0xf8:
6987 GETBYTE ();
6988 switch (op[1] & 0x00)
6989 {
6990 case 0x00:
6991 op_semantics_46:
6992 {
6993 /** 1111 10sd rdst im sz mov%s #%1, %0 */
6994 #line 288 "rx-decode.opc"
6995 int sd AU = op[0] & 0x03;
6996 #line 288 "rx-decode.opc"
6997 int rdst AU = (op[1] >> 4) & 0x0f;
6998 #line 288 "rx-decode.opc"
6999 int im AU = (op[1] >> 2) & 0x03;
7000 #line 288 "rx-decode.opc"
7001 int sz AU = op[1] & 0x03;
7002 if (trace)
7003 {
7004 printf ("\033[33m%s\033[0m %02x %02x\n",
7005 "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7006 op[0], op[1]);
7007 printf (" sd = 0x%x,", sd);
7008 printf (" rdst = 0x%x,", rdst);
7009 printf (" im = 0x%x,", im);
7010 printf (" sz = 0x%x\n", sz);
7011 }
7012 SYNTAX("mov%s #%1, %0");
7013 #line 288 "rx-decode.opc"
7014 ID(mov); DD(sd, rdst, sz);
7015 if ((im == 1 && sz == 0)
7016 || (im == 2 && sz == 1)
7017 || (im == 0 && sz == 2))
7018 {
7019 BWL (sz);
7020 SC(IMM(im));
7021 }
7022 else
7023 {
7024 sBWL (sz);
7025 SC(IMMex(im));
7026 }
7027 F_____;
7028
7029 }
7030 break;
7031 }
7032 break;
7033 case 0xf9:
7034 GETBYTE ();
7035 switch (op[1] & 0x00)
7036 {
7037 case 0x00:
7038 goto op_semantics_46;
7039 break;
7040 }
7041 break;
7042 case 0xfa:
7043 GETBYTE ();
7044 switch (op[1] & 0x00)
7045 {
7046 case 0x00:
7047 goto op_semantics_46;
7048 break;
7049 }
7050 break;
7051 case 0xfb:
7052 GETBYTE ();
7053 switch (op[1] & 0x00)
7054 {
7055 case 0x00:
7056 goto op_semantics_46;
7057 break;
7058 }
7059 break;
7060 case 0xfc:
7061 GETBYTE ();
7062 switch (op[1] & 0xff)
7063 {
7064 case 0x03:
7065 GETBYTE ();
7066 switch (op[2] & 0x00)
7067 {
7068 case 0x00:
7069 {
7070 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7071 #line 551 "rx-decode.opc"
7072 int rsrc AU = (op[2] >> 4) & 0x0f;
7073 #line 551 "rx-decode.opc"
7074 int rdst AU = op[2] & 0x0f;
7075 if (trace)
7076 {
7077 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7078 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7079 op[0], op[1], op[2]);
7080 printf (" rsrc = 0x%x,", rsrc);
7081 printf (" rdst = 0x%x\n", rdst);
7082 }
7083 SYNTAX("sbb %1, %0");
7084 #line 551 "rx-decode.opc"
7085 ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7086
7087 /* FIXME: only supports .L */
7088 }
7089 break;
7090 }
7091 break;
7092 case 0x07:
7093 GETBYTE ();
7094 switch (op[2] & 0x00)
7095 {
7096 case 0x00:
7097 {
7098 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7099 #line 482 "rx-decode.opc"
7100 int rsrc AU = (op[2] >> 4) & 0x0f;
7101 #line 482 "rx-decode.opc"
7102 int rdst AU = op[2] & 0x0f;
7103 if (trace)
7104 {
7105 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7106 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7107 op[0], op[1], op[2]);
7108 printf (" rsrc = 0x%x,", rsrc);
7109 printf (" rdst = 0x%x\n", rdst);
7110 }
7111 SYNTAX("neg %2, %0");
7112 #line 482 "rx-decode.opc"
7113 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7114
7115 /*----------------------------------------------------------------------*/
7116 /* ADC */
7117
7118 }
7119 break;
7120 }
7121 break;
7122 case 0x0b:
7123 GETBYTE ();
7124 switch (op[2] & 0x00)
7125 {
7126 case 0x00:
7127 {
7128 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7129 #line 491 "rx-decode.opc"
7130 int rsrc AU = (op[2] >> 4) & 0x0f;
7131 #line 491 "rx-decode.opc"
7132 int rdst AU = op[2] & 0x0f;
7133 if (trace)
7134 {
7135 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7136 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7137 op[0], op[1], op[2]);
7138 printf (" rsrc = 0x%x,", rsrc);
7139 printf (" rdst = 0x%x\n", rdst);
7140 }
7141 SYNTAX("adc %1, %0");
7142 #line 491 "rx-decode.opc"
7143 ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7144
7145 }
7146 break;
7147 }
7148 break;
7149 case 0x0f:
7150 GETBYTE ();
7151 switch (op[2] & 0x00)
7152 {
7153 case 0x00:
7154 {
7155 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7156 #line 564 "rx-decode.opc"
7157 int rsrc AU = (op[2] >> 4) & 0x0f;
7158 #line 564 "rx-decode.opc"
7159 int rdst AU = op[2] & 0x0f;
7160 if (trace)
7161 {
7162 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7163 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7164 op[0], op[1], op[2]);
7165 printf (" rsrc = 0x%x,", rsrc);
7166 printf (" rdst = 0x%x\n", rdst);
7167 }
7168 SYNTAX("abs %1, %0");
7169 #line 564 "rx-decode.opc"
7170 ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7171
7172 /*----------------------------------------------------------------------*/
7173 /* MAX */
7174
7175 }
7176 break;
7177 }
7178 break;
7179 case 0x10:
7180 GETBYTE ();
7181 switch (op[2] & 0x00)
7182 {
7183 case 0x00:
7184 op_semantics_47:
7185 {
7186 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7187 #line 573 "rx-decode.opc"
7188 int ss AU = op[1] & 0x03;
7189 #line 573 "rx-decode.opc"
7190 int rsrc AU = (op[2] >> 4) & 0x0f;
7191 #line 573 "rx-decode.opc"
7192 int rdst AU = op[2] & 0x0f;
7193 if (trace)
7194 {
7195 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7196 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7197 op[0], op[1], op[2]);
7198 printf (" ss = 0x%x,", ss);
7199 printf (" rsrc = 0x%x,", rsrc);
7200 printf (" rdst = 0x%x\n", rdst);
7201 }
7202 SYNTAX("max %1%S1, %0");
7203 #line 573 "rx-decode.opc"
7204 if (ss == 3 && rsrc == 0 && rdst == 0)
7205 {
7206 ID(nop3);
7207 rx->syntax = "nop";
7208 }
7209 else
7210 {
7211 ID(max); SP(ss, rsrc); DR(rdst);
7212 }
7213
7214 }
7215 break;
7216 }
7217 break;
7218 case 0x11:
7219 GETBYTE ();
7220 switch (op[2] & 0x00)
7221 {
7222 case 0x00:
7223 goto op_semantics_47;
7224 break;
7225 }
7226 break;
7227 case 0x12:
7228 GETBYTE ();
7229 switch (op[2] & 0x00)
7230 {
7231 case 0x00:
7232 goto op_semantics_47;
7233 break;
7234 }
7235 break;
7236 case 0x13:
7237 GETBYTE ();
7238 switch (op[2] & 0x00)
7239 {
7240 case 0x00:
7241 goto op_semantics_47;
7242 break;
7243 }
7244 break;
7245 case 0x14:
7246 GETBYTE ();
7247 switch (op[2] & 0x00)
7248 {
7249 case 0x00:
7250 op_semantics_48:
7251 {
7252 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7253 #line 593 "rx-decode.opc"
7254 int ss AU = op[1] & 0x03;
7255 #line 593 "rx-decode.opc"
7256 int rsrc AU = (op[2] >> 4) & 0x0f;
7257 #line 593 "rx-decode.opc"
7258 int rdst AU = op[2] & 0x0f;
7259 if (trace)
7260 {
7261 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7262 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7263 op[0], op[1], op[2]);
7264 printf (" ss = 0x%x,", ss);
7265 printf (" rsrc = 0x%x,", rsrc);
7266 printf (" rdst = 0x%x\n", rdst);
7267 }
7268 SYNTAX("min %1%S1, %0");
7269 #line 593 "rx-decode.opc"
7270 ID(min); SP(ss, rsrc); DR(rdst);
7271
7272 }
7273 break;
7274 }
7275 break;
7276 case 0x15:
7277 GETBYTE ();
7278 switch (op[2] & 0x00)
7279 {
7280 case 0x00:
7281 goto op_semantics_48;
7282 break;
7283 }
7284 break;
7285 case 0x16:
7286 GETBYTE ();
7287 switch (op[2] & 0x00)
7288 {
7289 case 0x00:
7290 goto op_semantics_48;
7291 break;
7292 }
7293 break;
7294 case 0x17:
7295 GETBYTE ();
7296 switch (op[2] & 0x00)
7297 {
7298 case 0x00:
7299 goto op_semantics_48;
7300 break;
7301 }
7302 break;
7303 case 0x18:
7304 GETBYTE ();
7305 switch (op[2] & 0x00)
7306 {
7307 case 0x00:
7308 op_semantics_49:
7309 {
7310 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7311 #line 623 "rx-decode.opc"
7312 int ss AU = op[1] & 0x03;
7313 #line 623 "rx-decode.opc"
7314 int rsrc AU = (op[2] >> 4) & 0x0f;
7315 #line 623 "rx-decode.opc"
7316 int rdst AU = op[2] & 0x0f;
7317 if (trace)
7318 {
7319 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7320 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7321 op[0], op[1], op[2]);
7322 printf (" ss = 0x%x,", ss);
7323 printf (" rsrc = 0x%x,", rsrc);
7324 printf (" rdst = 0x%x\n", rdst);
7325 }
7326 SYNTAX("emul %1%S1, %0");
7327 #line 623 "rx-decode.opc"
7328 ID(emul); SP(ss, rsrc); DR(rdst);
7329
7330 }
7331 break;
7332 }
7333 break;
7334 case 0x19:
7335 GETBYTE ();
7336 switch (op[2] & 0x00)
7337 {
7338 case 0x00:
7339 goto op_semantics_49;
7340 break;
7341 }
7342 break;
7343 case 0x1a:
7344 GETBYTE ();
7345 switch (op[2] & 0x00)
7346 {
7347 case 0x00:
7348 goto op_semantics_49;
7349 break;
7350 }
7351 break;
7352 case 0x1b:
7353 GETBYTE ();
7354 switch (op[2] & 0x00)
7355 {
7356 case 0x00:
7357 goto op_semantics_49;
7358 break;
7359 }
7360 break;
7361 case 0x1c:
7362 GETBYTE ();
7363 switch (op[2] & 0x00)
7364 {
7365 case 0x00:
7366 op_semantics_50:
7367 {
7368 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7369 #line 635 "rx-decode.opc"
7370 int ss AU = op[1] & 0x03;
7371 #line 635 "rx-decode.opc"
7372 int rsrc AU = (op[2] >> 4) & 0x0f;
7373 #line 635 "rx-decode.opc"
7374 int rdst AU = op[2] & 0x0f;
7375 if (trace)
7376 {
7377 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7378 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7379 op[0], op[1], op[2]);
7380 printf (" ss = 0x%x,", ss);
7381 printf (" rsrc = 0x%x,", rsrc);
7382 printf (" rdst = 0x%x\n", rdst);
7383 }
7384 SYNTAX("emulu %1%S1, %0");
7385 #line 635 "rx-decode.opc"
7386 ID(emulu); SP(ss, rsrc); DR(rdst);
7387
7388 }
7389 break;
7390 }
7391 break;
7392 case 0x1d:
7393 GETBYTE ();
7394 switch (op[2] & 0x00)
7395 {
7396 case 0x00:
7397 goto op_semantics_50;
7398 break;
7399 }
7400 break;
7401 case 0x1e:
7402 GETBYTE ();
7403 switch (op[2] & 0x00)
7404 {
7405 case 0x00:
7406 goto op_semantics_50;
7407 break;
7408 }
7409 break;
7410 case 0x1f:
7411 GETBYTE ();
7412 switch (op[2] & 0x00)
7413 {
7414 case 0x00:
7415 goto op_semantics_50;
7416 break;
7417 }
7418 break;
7419 case 0x20:
7420 GETBYTE ();
7421 switch (op[2] & 0x00)
7422 {
7423 case 0x00:
7424 op_semantics_51:
7425 {
7426 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7427 #line 647 "rx-decode.opc"
7428 int ss AU = op[1] & 0x03;
7429 #line 647 "rx-decode.opc"
7430 int rsrc AU = (op[2] >> 4) & 0x0f;
7431 #line 647 "rx-decode.opc"
7432 int rdst AU = op[2] & 0x0f;
7433 if (trace)
7434 {
7435 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7436 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7437 op[0], op[1], op[2]);
7438 printf (" ss = 0x%x,", ss);
7439 printf (" rsrc = 0x%x,", rsrc);
7440 printf (" rdst = 0x%x\n", rdst);
7441 }
7442 SYNTAX("div %1%S1, %0");
7443 #line 647 "rx-decode.opc"
7444 ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7445
7446 }
7447 break;
7448 }
7449 break;
7450 case 0x21:
7451 GETBYTE ();
7452 switch (op[2] & 0x00)
7453 {
7454 case 0x00:
7455 goto op_semantics_51;
7456 break;
7457 }
7458 break;
7459 case 0x22:
7460 GETBYTE ();
7461 switch (op[2] & 0x00)
7462 {
7463 case 0x00:
7464 goto op_semantics_51;
7465 break;
7466 }
7467 break;
7468 case 0x23:
7469 GETBYTE ();
7470 switch (op[2] & 0x00)
7471 {
7472 case 0x00:
7473 goto op_semantics_51;
7474 break;
7475 }
7476 break;
7477 case 0x24:
7478 GETBYTE ();
7479 switch (op[2] & 0x00)
7480 {
7481 case 0x00:
7482 op_semantics_52:
7483 {
7484 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7485 #line 659 "rx-decode.opc"
7486 int ss AU = op[1] & 0x03;
7487 #line 659 "rx-decode.opc"
7488 int rsrc AU = (op[2] >> 4) & 0x0f;
7489 #line 659 "rx-decode.opc"
7490 int rdst AU = op[2] & 0x0f;
7491 if (trace)
7492 {
7493 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7494 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7495 op[0], op[1], op[2]);
7496 printf (" ss = 0x%x,", ss);
7497 printf (" rsrc = 0x%x,", rsrc);
7498 printf (" rdst = 0x%x\n", rdst);
7499 }
7500 SYNTAX("divu %1%S1, %0");
7501 #line 659 "rx-decode.opc"
7502 ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7503
7504 }
7505 break;
7506 }
7507 break;
7508 case 0x25:
7509 GETBYTE ();
7510 switch (op[2] & 0x00)
7511 {
7512 case 0x00:
7513 goto op_semantics_52;
7514 break;
7515 }
7516 break;
7517 case 0x26:
7518 GETBYTE ();
7519 switch (op[2] & 0x00)
7520 {
7521 case 0x00:
7522 goto op_semantics_52;
7523 break;
7524 }
7525 break;
7526 case 0x27:
7527 GETBYTE ();
7528 switch (op[2] & 0x00)
7529 {
7530 case 0x00:
7531 goto op_semantics_52;
7532 break;
7533 }
7534 break;
7535 case 0x30:
7536 GETBYTE ();
7537 switch (op[2] & 0x00)
7538 {
7539 case 0x00:
7540 op_semantics_53:
7541 {
7542 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7543 #line 470 "rx-decode.opc"
7544 int ss AU = op[1] & 0x03;
7545 #line 470 "rx-decode.opc"
7546 int rsrc AU = (op[2] >> 4) & 0x0f;
7547 #line 470 "rx-decode.opc"
7548 int rdst AU = op[2] & 0x0f;
7549 if (trace)
7550 {
7551 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7552 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7553 op[0], op[1], op[2]);
7554 printf (" ss = 0x%x,", ss);
7555 printf (" rsrc = 0x%x,", rsrc);
7556 printf (" rdst = 0x%x\n", rdst);
7557 }
7558 SYNTAX("tst %1%S1, %2");
7559 #line 470 "rx-decode.opc"
7560 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7561
7562 }
7563 break;
7564 }
7565 break;
7566 case 0x31:
7567 GETBYTE ();
7568 switch (op[2] & 0x00)
7569 {
7570 case 0x00:
7571 goto op_semantics_53;
7572 break;
7573 }
7574 break;
7575 case 0x32:
7576 GETBYTE ();
7577 switch (op[2] & 0x00)
7578 {
7579 case 0x00:
7580 goto op_semantics_53;
7581 break;
7582 }
7583 break;
7584 case 0x33:
7585 GETBYTE ();
7586 switch (op[2] & 0x00)
7587 {
7588 case 0x00:
7589 goto op_semantics_53;
7590 break;
7591 }
7592 break;
7593 case 0x34:
7594 GETBYTE ();
7595 switch (op[2] & 0x00)
7596 {
7597 case 0x00:
7598 op_semantics_54:
7599 {
7600 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7601 #line 449 "rx-decode.opc"
7602 int ss AU = op[1] & 0x03;
7603 #line 449 "rx-decode.opc"
7604 int rsrc AU = (op[2] >> 4) & 0x0f;
7605 #line 449 "rx-decode.opc"
7606 int rdst AU = op[2] & 0x0f;
7607 if (trace)
7608 {
7609 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7610 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7611 op[0], op[1], op[2]);
7612 printf (" ss = 0x%x,", ss);
7613 printf (" rsrc = 0x%x,", rsrc);
7614 printf (" rdst = 0x%x\n", rdst);
7615 }
7616 SYNTAX("xor %1%S1, %0");
7617 #line 449 "rx-decode.opc"
7618 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7619
7620 }
7621 break;
7622 }
7623 break;
7624 case 0x35:
7625 GETBYTE ();
7626 switch (op[2] & 0x00)
7627 {
7628 case 0x00:
7629 goto op_semantics_54;
7630 break;
7631 }
7632 break;
7633 case 0x36:
7634 GETBYTE ();
7635 switch (op[2] & 0x00)
7636 {
7637 case 0x00:
7638 goto op_semantics_54;
7639 break;
7640 }
7641 break;
7642 case 0x37:
7643 GETBYTE ();
7644 switch (op[2] & 0x00)
7645 {
7646 case 0x00:
7647 goto op_semantics_54;
7648 break;
7649 }
7650 break;
7651 case 0x3b:
7652 GETBYTE ();
7653 switch (op[2] & 0x00)
7654 {
7655 case 0x00:
7656 {
7657 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7658 #line 461 "rx-decode.opc"
7659 int rsrc AU = (op[2] >> 4) & 0x0f;
7660 #line 461 "rx-decode.opc"
7661 int rdst AU = op[2] & 0x0f;
7662 if (trace)
7663 {
7664 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7665 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7666 op[0], op[1], op[2]);
7667 printf (" rsrc = 0x%x,", rsrc);
7668 printf (" rdst = 0x%x\n", rdst);
7669 }
7670 SYNTAX("not %1, %0");
7671 #line 461 "rx-decode.opc"
7672 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7673
7674 /*----------------------------------------------------------------------*/
7675 /* TST */
7676
7677 }
7678 break;
7679 }
7680 break;
7681 case 0x40:
7682 GETBYTE ();
7683 switch (op[2] & 0x00)
7684 {
7685 case 0x00:
7686 op_semantics_55:
7687 {
7688 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7689 #line 383 "rx-decode.opc"
7690 int ss AU = op[1] & 0x03;
7691 #line 383 "rx-decode.opc"
7692 int rsrc AU = (op[2] >> 4) & 0x0f;
7693 #line 383 "rx-decode.opc"
7694 int rdst AU = op[2] & 0x0f;
7695 if (trace)
7696 {
7697 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7698 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7699 op[0], op[1], op[2]);
7700 printf (" ss = 0x%x,", ss);
7701 printf (" rsrc = 0x%x,", rsrc);
7702 printf (" rdst = 0x%x\n", rdst);
7703 }
7704 SYNTAX("xchg %1%S1, %0");
7705 #line 383 "rx-decode.opc"
7706 ID(xchg); DR(rdst); SP(ss, rsrc);
7707
7708 }
7709 break;
7710 }
7711 break;
7712 case 0x41:
7713 GETBYTE ();
7714 switch (op[2] & 0x00)
7715 {
7716 case 0x00:
7717 goto op_semantics_55;
7718 break;
7719 }
7720 break;
7721 case 0x42:
7722 GETBYTE ();
7723 switch (op[2] & 0x00)
7724 {
7725 case 0x00:
7726 goto op_semantics_55;
7727 break;
7728 }
7729 break;
7730 case 0x43:
7731 GETBYTE ();
7732 switch (op[2] & 0x00)
7733 {
7734 case 0x00:
7735 goto op_semantics_55;
7736 break;
7737 }
7738 break;
7739 case 0x44:
7740 GETBYTE ();
7741 switch (op[2] & 0x00)
7742 {
7743 case 0x00:
7744 op_semantics_56:
7745 {
7746 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7747 #line 888 "rx-decode.opc"
7748 int sd AU = op[1] & 0x03;
7749 #line 888 "rx-decode.opc"
7750 int rsrc AU = (op[2] >> 4) & 0x0f;
7751 #line 888 "rx-decode.opc"
7752 int rdst AU = op[2] & 0x0f;
7753 if (trace)
7754 {
7755 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7756 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7757 op[0], op[1], op[2]);
7758 printf (" sd = 0x%x,", sd);
7759 printf (" rsrc = 0x%x,", rsrc);
7760 printf (" rdst = 0x%x\n", rdst);
7761 }
7762 SYNTAX("itof %1%S1, %0");
7763 #line 888 "rx-decode.opc"
7764 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7765
7766 }
7767 break;
7768 }
7769 break;
7770 case 0x45:
7771 GETBYTE ();
7772 switch (op[2] & 0x00)
7773 {
7774 case 0x00:
7775 goto op_semantics_56;
7776 break;
7777 }
7778 break;
7779 case 0x46:
7780 GETBYTE ();
7781 switch (op[2] & 0x00)
7782 {
7783 case 0x00:
7784 goto op_semantics_56;
7785 break;
7786 }
7787 break;
7788 case 0x47:
7789 GETBYTE ();
7790 switch (op[2] & 0x00)
7791 {
7792 case 0x00:
7793 goto op_semantics_56;
7794 break;
7795 }
7796 break;
7797 case 0x60:
7798 GETBYTE ();
7799 switch (op[2] & 0x00)
7800 {
7801 case 0x00:
7802 op_semantics_57:
7803 {
7804 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
7805 #line 900 "rx-decode.opc"
7806 int sd AU = op[1] & 0x03;
7807 #line 900 "rx-decode.opc"
7808 int rdst AU = (op[2] >> 4) & 0x0f;
7809 #line 900 "rx-decode.opc"
7810 int rsrc AU = op[2] & 0x0f;
7811 if (trace)
7812 {
7813 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7814 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
7815 op[0], op[1], op[2]);
7816 printf (" sd = 0x%x,", sd);
7817 printf (" rdst = 0x%x,", rdst);
7818 printf (" rsrc = 0x%x\n", rsrc);
7819 }
7820 SYNTAX("bset %1, %0%S0");
7821 #line 900 "rx-decode.opc"
7822 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7823 if (sd == 3) /* bset reg,reg */
7824 BWL(LSIZE);
7825
7826 }
7827 break;
7828 }
7829 break;
7830 case 0x61:
7831 GETBYTE ();
7832 switch (op[2] & 0x00)
7833 {
7834 case 0x00:
7835 goto op_semantics_57;
7836 break;
7837 }
7838 break;
7839 case 0x62:
7840 GETBYTE ();
7841 switch (op[2] & 0x00)
7842 {
7843 case 0x00:
7844 goto op_semantics_57;
7845 break;
7846 }
7847 break;
7848 case 0x63:
7849 GETBYTE ();
7850 switch (op[2] & 0x00)
7851 {
7852 case 0x00:
7853 goto op_semantics_57;
7854 break;
7855 }
7856 break;
7857 case 0x64:
7858 GETBYTE ();
7859 switch (op[2] & 0x00)
7860 {
7861 case 0x00:
7862 op_semantics_58:
7863 {
7864 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
7865 #line 912 "rx-decode.opc"
7866 int sd AU = op[1] & 0x03;
7867 #line 912 "rx-decode.opc"
7868 int rdst AU = (op[2] >> 4) & 0x0f;
7869 #line 912 "rx-decode.opc"
7870 int rsrc AU = op[2] & 0x0f;
7871 if (trace)
7872 {
7873 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7874 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
7875 op[0], op[1], op[2]);
7876 printf (" sd = 0x%x,", sd);
7877 printf (" rdst = 0x%x,", rdst);
7878 printf (" rsrc = 0x%x\n", rsrc);
7879 }
7880 SYNTAX("bclr %1, %0%S0");
7881 #line 912 "rx-decode.opc"
7882 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
7883 if (sd == 3) /* bset reg,reg */
7884 BWL(LSIZE);
7885
7886 }
7887 break;
7888 }
7889 break;
7890 case 0x65:
7891 GETBYTE ();
7892 switch (op[2] & 0x00)
7893 {
7894 case 0x00:
7895 goto op_semantics_58;
7896 break;
7897 }
7898 break;
7899 case 0x66:
7900 GETBYTE ();
7901 switch (op[2] & 0x00)
7902 {
7903 case 0x00:
7904 goto op_semantics_58;
7905 break;
7906 }
7907 break;
7908 case 0x67:
7909 GETBYTE ();
7910 switch (op[2] & 0x00)
7911 {
7912 case 0x00:
7913 goto op_semantics_58;
7914 break;
7915 }
7916 break;
7917 case 0x68:
7918 GETBYTE ();
7919 switch (op[2] & 0x00)
7920 {
7921 case 0x00:
7922 op_semantics_59:
7923 {
7924 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
7925 #line 924 "rx-decode.opc"
7926 int sd AU = op[1] & 0x03;
7927 #line 924 "rx-decode.opc"
7928 int rdst AU = (op[2] >> 4) & 0x0f;
7929 #line 924 "rx-decode.opc"
7930 int rsrc AU = op[2] & 0x0f;
7931 if (trace)
7932 {
7933 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7934 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
7935 op[0], op[1], op[2]);
7936 printf (" sd = 0x%x,", sd);
7937 printf (" rdst = 0x%x,", rdst);
7938 printf (" rsrc = 0x%x\n", rsrc);
7939 }
7940 SYNTAX("btst %2, %1%S1");
7941 #line 924 "rx-decode.opc"
7942 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
7943 if (sd == 3) /* bset reg,reg */
7944 BWL(LSIZE);
7945
7946 }
7947 break;
7948 }
7949 break;
7950 case 0x69:
7951 GETBYTE ();
7952 switch (op[2] & 0x00)
7953 {
7954 case 0x00:
7955 goto op_semantics_59;
7956 break;
7957 }
7958 break;
7959 case 0x6a:
7960 GETBYTE ();
7961 switch (op[2] & 0x00)
7962 {
7963 case 0x00:
7964 goto op_semantics_59;
7965 break;
7966 }
7967 break;
7968 case 0x6b:
7969 GETBYTE ();
7970 switch (op[2] & 0x00)
7971 {
7972 case 0x00:
7973 goto op_semantics_59;
7974 break;
7975 }
7976 break;
7977 case 0x6c:
7978 GETBYTE ();
7979 switch (op[2] & 0x00)
7980 {
7981 case 0x00:
7982 op_semantics_60:
7983 {
7984 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
7985 #line 936 "rx-decode.opc"
7986 int sd AU = op[1] & 0x03;
7987 #line 936 "rx-decode.opc"
7988 int rdst AU = (op[2] >> 4) & 0x0f;
7989 #line 936 "rx-decode.opc"
7990 int rsrc AU = op[2] & 0x0f;
7991 if (trace)
7992 {
7993 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7994 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
7995 op[0], op[1], op[2]);
7996 printf (" sd = 0x%x,", sd);
7997 printf (" rdst = 0x%x,", rdst);
7998 printf (" rsrc = 0x%x\n", rsrc);
7999 }
8000 SYNTAX("bnot %1, %0%S0");
8001 #line 936 "rx-decode.opc"
8002 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8003 if (sd == 3) /* bset reg,reg */
8004 BWL(LSIZE);
8005
8006 }
8007 break;
8008 }
8009 break;
8010 case 0x6d:
8011 GETBYTE ();
8012 switch (op[2] & 0x00)
8013 {
8014 case 0x00:
8015 goto op_semantics_60;
8016 break;
8017 }
8018 break;
8019 case 0x6e:
8020 GETBYTE ();
8021 switch (op[2] & 0x00)
8022 {
8023 case 0x00:
8024 goto op_semantics_60;
8025 break;
8026 }
8027 break;
8028 case 0x6f:
8029 GETBYTE ();
8030 switch (op[2] & 0x00)
8031 {
8032 case 0x00:
8033 goto op_semantics_60;
8034 break;
8035 }
8036 break;
8037 case 0x80:
8038 GETBYTE ();
8039 switch (op[2] & 0x00)
8040 {
8041 case 0x00:
8042 op_semantics_61:
8043 {
8044 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8045 #line 867 "rx-decode.opc"
8046 int sd AU = op[1] & 0x03;
8047 #line 867 "rx-decode.opc"
8048 int rsrc AU = (op[2] >> 4) & 0x0f;
8049 #line 867 "rx-decode.opc"
8050 int rdst AU = op[2] & 0x0f;
8051 if (trace)
8052 {
8053 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8054 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8055 op[0], op[1], op[2]);
8056 printf (" sd = 0x%x,", sd);
8057 printf (" rsrc = 0x%x,", rsrc);
8058 printf (" rdst = 0x%x\n", rdst);
8059 }
8060 SYNTAX("fsub %1%S1, %0");
8061 #line 867 "rx-decode.opc"
8062 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8063
8064 }
8065 break;
8066 }
8067 break;
8068 case 0x81:
8069 GETBYTE ();
8070 switch (op[2] & 0x00)
8071 {
8072 case 0x00:
8073 goto op_semantics_61;
8074 break;
8075 }
8076 break;
8077 case 0x82:
8078 GETBYTE ();
8079 switch (op[2] & 0x00)
8080 {
8081 case 0x00:
8082 goto op_semantics_61;
8083 break;
8084 }
8085 break;
8086 case 0x83:
8087 GETBYTE ();
8088 switch (op[2] & 0x00)
8089 {
8090 case 0x00:
8091 goto op_semantics_61;
8092 break;
8093 }
8094 break;
8095 case 0x84:
8096 GETBYTE ();
8097 switch (op[2] & 0x00)
8098 {
8099 case 0x00:
8100 op_semantics_62:
8101 {
8102 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8103 #line 861 "rx-decode.opc"
8104 int sd AU = op[1] & 0x03;
8105 #line 861 "rx-decode.opc"
8106 int rsrc AU = (op[2] >> 4) & 0x0f;
8107 #line 861 "rx-decode.opc"
8108 int rdst AU = op[2] & 0x0f;
8109 if (trace)
8110 {
8111 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8112 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8113 op[0], op[1], op[2]);
8114 printf (" sd = 0x%x,", sd);
8115 printf (" rsrc = 0x%x,", rsrc);
8116 printf (" rdst = 0x%x\n", rdst);
8117 }
8118 SYNTAX("fcmp %1%S1, %0");
8119 #line 861 "rx-decode.opc"
8120 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8121
8122 }
8123 break;
8124 }
8125 break;
8126 case 0x85:
8127 GETBYTE ();
8128 switch (op[2] & 0x00)
8129 {
8130 case 0x00:
8131 goto op_semantics_62;
8132 break;
8133 }
8134 break;
8135 case 0x86:
8136 GETBYTE ();
8137 switch (op[2] & 0x00)
8138 {
8139 case 0x00:
8140 goto op_semantics_62;
8141 break;
8142 }
8143 break;
8144 case 0x87:
8145 GETBYTE ();
8146 switch (op[2] & 0x00)
8147 {
8148 case 0x00:
8149 goto op_semantics_62;
8150 break;
8151 }
8152 break;
8153 case 0x88:
8154 GETBYTE ();
8155 switch (op[2] & 0x00)
8156 {
8157 case 0x00:
8158 op_semantics_63:
8159 {
8160 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8161 #line 855 "rx-decode.opc"
8162 int sd AU = op[1] & 0x03;
8163 #line 855 "rx-decode.opc"
8164 int rsrc AU = (op[2] >> 4) & 0x0f;
8165 #line 855 "rx-decode.opc"
8166 int rdst AU = op[2] & 0x0f;
8167 if (trace)
8168 {
8169 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8170 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8171 op[0], op[1], op[2]);
8172 printf (" sd = 0x%x,", sd);
8173 printf (" rsrc = 0x%x,", rsrc);
8174 printf (" rdst = 0x%x\n", rdst);
8175 }
8176 SYNTAX("fadd %1%S1, %0");
8177 #line 855 "rx-decode.opc"
8178 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8179
8180 }
8181 break;
8182 }
8183 break;
8184 case 0x89:
8185 GETBYTE ();
8186 switch (op[2] & 0x00)
8187 {
8188 case 0x00:
8189 goto op_semantics_63;
8190 break;
8191 }
8192 break;
8193 case 0x8a:
8194 GETBYTE ();
8195 switch (op[2] & 0x00)
8196 {
8197 case 0x00:
8198 goto op_semantics_63;
8199 break;
8200 }
8201 break;
8202 case 0x8b:
8203 GETBYTE ();
8204 switch (op[2] & 0x00)
8205 {
8206 case 0x00:
8207 goto op_semantics_63;
8208 break;
8209 }
8210 break;
8211 case 0x8c:
8212 GETBYTE ();
8213 switch (op[2] & 0x00)
8214 {
8215 case 0x00:
8216 op_semantics_64:
8217 {
8218 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8219 #line 876 "rx-decode.opc"
8220 int sd AU = op[1] & 0x03;
8221 #line 876 "rx-decode.opc"
8222 int rsrc AU = (op[2] >> 4) & 0x0f;
8223 #line 876 "rx-decode.opc"
8224 int rdst AU = op[2] & 0x0f;
8225 if (trace)
8226 {
8227 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8228 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8229 op[0], op[1], op[2]);
8230 printf (" sd = 0x%x,", sd);
8231 printf (" rsrc = 0x%x,", rsrc);
8232 printf (" rdst = 0x%x\n", rdst);
8233 }
8234 SYNTAX("fmul %1%S1, %0");
8235 #line 876 "rx-decode.opc"
8236 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8237
8238 }
8239 break;
8240 }
8241 break;
8242 case 0x8d:
8243 GETBYTE ();
8244 switch (op[2] & 0x00)
8245 {
8246 case 0x00:
8247 goto op_semantics_64;
8248 break;
8249 }
8250 break;
8251 case 0x8e:
8252 GETBYTE ();
8253 switch (op[2] & 0x00)
8254 {
8255 case 0x00:
8256 goto op_semantics_64;
8257 break;
8258 }
8259 break;
8260 case 0x8f:
8261 GETBYTE ();
8262 switch (op[2] & 0x00)
8263 {
8264 case 0x00:
8265 goto op_semantics_64;
8266 break;
8267 }
8268 break;
8269 case 0x90:
8270 GETBYTE ();
8271 switch (op[2] & 0x00)
8272 {
8273 case 0x00:
8274 op_semantics_65:
8275 {
8276 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8277 #line 882 "rx-decode.opc"
8278 int sd AU = op[1] & 0x03;
8279 #line 882 "rx-decode.opc"
8280 int rsrc AU = (op[2] >> 4) & 0x0f;
8281 #line 882 "rx-decode.opc"
8282 int rdst AU = op[2] & 0x0f;
8283 if (trace)
8284 {
8285 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8286 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8287 op[0], op[1], op[2]);
8288 printf (" sd = 0x%x,", sd);
8289 printf (" rsrc = 0x%x,", rsrc);
8290 printf (" rdst = 0x%x\n", rdst);
8291 }
8292 SYNTAX("fdiv %1%S1, %0");
8293 #line 882 "rx-decode.opc"
8294 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8295
8296 }
8297 break;
8298 }
8299 break;
8300 case 0x91:
8301 GETBYTE ();
8302 switch (op[2] & 0x00)
8303 {
8304 case 0x00:
8305 goto op_semantics_65;
8306 break;
8307 }
8308 break;
8309 case 0x92:
8310 GETBYTE ();
8311 switch (op[2] & 0x00)
8312 {
8313 case 0x00:
8314 goto op_semantics_65;
8315 break;
8316 }
8317 break;
8318 case 0x93:
8319 GETBYTE ();
8320 switch (op[2] & 0x00)
8321 {
8322 case 0x00:
8323 goto op_semantics_65;
8324 break;
8325 }
8326 break;
8327 case 0x94:
8328 GETBYTE ();
8329 switch (op[2] & 0x00)
8330 {
8331 case 0x00:
8332 op_semantics_66:
8333 {
8334 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8335 #line 870 "rx-decode.opc"
8336 int sd AU = op[1] & 0x03;
8337 #line 870 "rx-decode.opc"
8338 int rsrc AU = (op[2] >> 4) & 0x0f;
8339 #line 870 "rx-decode.opc"
8340 int rdst AU = op[2] & 0x0f;
8341 if (trace)
8342 {
8343 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8344 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8345 op[0], op[1], op[2]);
8346 printf (" sd = 0x%x,", sd);
8347 printf (" rsrc = 0x%x,", rsrc);
8348 printf (" rdst = 0x%x\n", rdst);
8349 }
8350 SYNTAX("ftoi %1%S1, %0");
8351 #line 870 "rx-decode.opc"
8352 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8353
8354 }
8355 break;
8356 }
8357 break;
8358 case 0x95:
8359 GETBYTE ();
8360 switch (op[2] & 0x00)
8361 {
8362 case 0x00:
8363 goto op_semantics_66;
8364 break;
8365 }
8366 break;
8367 case 0x96:
8368 GETBYTE ();
8369 switch (op[2] & 0x00)
8370 {
8371 case 0x00:
8372 goto op_semantics_66;
8373 break;
8374 }
8375 break;
8376 case 0x97:
8377 GETBYTE ();
8378 switch (op[2] & 0x00)
8379 {
8380 case 0x00:
8381 goto op_semantics_66;
8382 break;
8383 }
8384 break;
8385 case 0x98:
8386 GETBYTE ();
8387 switch (op[2] & 0x00)
8388 {
8389 case 0x00:
8390 op_semantics_67:
8391 {
8392 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8393 #line 885 "rx-decode.opc"
8394 int sd AU = op[1] & 0x03;
8395 #line 885 "rx-decode.opc"
8396 int rsrc AU = (op[2] >> 4) & 0x0f;
8397 #line 885 "rx-decode.opc"
8398 int rdst AU = op[2] & 0x0f;
8399 if (trace)
8400 {
8401 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8402 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8403 op[0], op[1], op[2]);
8404 printf (" sd = 0x%x,", sd);
8405 printf (" rsrc = 0x%x,", rsrc);
8406 printf (" rdst = 0x%x\n", rdst);
8407 }
8408 SYNTAX("round %1%S1, %0");
8409 #line 885 "rx-decode.opc"
8410 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8411
8412 }
8413 break;
8414 }
8415 break;
8416 case 0x99:
8417 GETBYTE ();
8418 switch (op[2] & 0x00)
8419 {
8420 case 0x00:
8421 goto op_semantics_67;
8422 break;
8423 }
8424 break;
8425 case 0x9a:
8426 GETBYTE ();
8427 switch (op[2] & 0x00)
8428 {
8429 case 0x00:
8430 goto op_semantics_67;
8431 break;
8432 }
8433 break;
8434 case 0x9b:
8435 GETBYTE ();
8436 switch (op[2] & 0x00)
8437 {
8438 case 0x00:
8439 goto op_semantics_67;
8440 break;
8441 }
8442 break;
8443 case 0xd0:
8444 GETBYTE ();
8445 switch (op[2] & 0x00)
8446 {
8447 case 0x00:
8448 op_semantics_68:
8449 {
8450 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8451 #line 1002 "rx-decode.opc"
8452 int sz AU = (op[1] >> 2) & 0x03;
8453 #line 1002 "rx-decode.opc"
8454 int sd AU = op[1] & 0x03;
8455 #line 1002 "rx-decode.opc"
8456 int rdst AU = (op[2] >> 4) & 0x0f;
8457 #line 1002 "rx-decode.opc"
8458 int cond AU = op[2] & 0x0f;
8459 if (trace)
8460 {
8461 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8462 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8463 op[0], op[1], op[2]);
8464 printf (" sz = 0x%x,", sz);
8465 printf (" sd = 0x%x,", sd);
8466 printf (" rdst = 0x%x,", rdst);
8467 printf (" cond = 0x%x\n", cond);
8468 }
8469 SYNTAX("sc%1%s %0");
8470 #line 1002 "rx-decode.opc"
8471 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8472
8473 }
8474 break;
8475 }
8476 break;
8477 case 0xd1:
8478 GETBYTE ();
8479 switch (op[2] & 0x00)
8480 {
8481 case 0x00:
8482 goto op_semantics_68;
8483 break;
8484 }
8485 break;
8486 case 0xd2:
8487 GETBYTE ();
8488 switch (op[2] & 0x00)
8489 {
8490 case 0x00:
8491 goto op_semantics_68;
8492 break;
8493 }
8494 break;
8495 case 0xd3:
8496 GETBYTE ();
8497 switch (op[2] & 0x00)
8498 {
8499 case 0x00:
8500 goto op_semantics_68;
8501 break;
8502 }
8503 break;
8504 case 0xd4:
8505 GETBYTE ();
8506 switch (op[2] & 0x00)
8507 {
8508 case 0x00:
8509 goto op_semantics_68;
8510 break;
8511 }
8512 break;
8513 case 0xd5:
8514 GETBYTE ();
8515 switch (op[2] & 0x00)
8516 {
8517 case 0x00:
8518 goto op_semantics_68;
8519 break;
8520 }
8521 break;
8522 case 0xd6:
8523 GETBYTE ();
8524 switch (op[2] & 0x00)
8525 {
8526 case 0x00:
8527 goto op_semantics_68;
8528 break;
8529 }
8530 break;
8531 case 0xd7:
8532 GETBYTE ();
8533 switch (op[2] & 0x00)
8534 {
8535 case 0x00:
8536 goto op_semantics_68;
8537 break;
8538 }
8539 break;
8540 case 0xd8:
8541 GETBYTE ();
8542 switch (op[2] & 0x00)
8543 {
8544 case 0x00:
8545 goto op_semantics_68;
8546 break;
8547 }
8548 break;
8549 case 0xd9:
8550 GETBYTE ();
8551 switch (op[2] & 0x00)
8552 {
8553 case 0x00:
8554 goto op_semantics_68;
8555 break;
8556 }
8557 break;
8558 case 0xda:
8559 GETBYTE ();
8560 switch (op[2] & 0x00)
8561 {
8562 case 0x00:
8563 goto op_semantics_68;
8564 break;
8565 }
8566 break;
8567 case 0xdb:
8568 GETBYTE ();
8569 switch (op[2] & 0x00)
8570 {
8571 case 0x00:
8572 goto op_semantics_68;
8573 break;
8574 }
8575 break;
8576 case 0xe0:
8577 GETBYTE ();
8578 switch (op[2] & 0x0f)
8579 {
8580 case 0x00:
8581 case 0x01:
8582 case 0x02:
8583 case 0x03:
8584 case 0x04:
8585 case 0x05:
8586 case 0x06:
8587 case 0x07:
8588 case 0x08:
8589 case 0x09:
8590 case 0x0a:
8591 case 0x0b:
8592 case 0x0c:
8593 case 0x0d:
8594 case 0x0e:
8595 op_semantics_69:
8596 {
8597 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
8598 #line 945 "rx-decode.opc"
8599 int bit AU = (op[1] >> 2) & 0x07;
8600 #line 945 "rx-decode.opc"
8601 int sd AU = op[1] & 0x03;
8602 #line 945 "rx-decode.opc"
8603 int rdst AU = (op[2] >> 4) & 0x0f;
8604 #line 945 "rx-decode.opc"
8605 int cond AU = op[2] & 0x0f;
8606 if (trace)
8607 {
8608 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8609 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
8610 op[0], op[1], op[2]);
8611 printf (" bit = 0x%x,", bit);
8612 printf (" sd = 0x%x,", sd);
8613 printf (" rdst = 0x%x,", rdst);
8614 printf (" cond = 0x%x\n", cond);
8615 }
8616 SYNTAX("bm%2 #%1, %0%S0");
8617 #line 945 "rx-decode.opc"
8618 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
8619
8620 }
8621 break;
8622 case 0x0f:
8623 op_semantics_70:
8624 {
8625 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
8626 #line 933 "rx-decode.opc"
8627 int bit AU = (op[1] >> 2) & 0x07;
8628 #line 933 "rx-decode.opc"
8629 int sd AU = op[1] & 0x03;
8630 #line 933 "rx-decode.opc"
8631 int rdst AU = (op[2] >> 4) & 0x0f;
8632 if (trace)
8633 {
8634 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8635 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
8636 op[0], op[1], op[2]);
8637 printf (" bit = 0x%x,", bit);
8638 printf (" sd = 0x%x,", sd);
8639 printf (" rdst = 0x%x\n", rdst);
8640 }
8641 SYNTAX("bnot #%1, %0%S0");
8642 #line 933 "rx-decode.opc"
8643 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
8644
8645 }
8646 break;
8647 }
8648 break;
8649 case 0xe1:
8650 GETBYTE ();
8651 switch (op[2] & 0x0f)
8652 {
8653 case 0x00:
8654 case 0x01:
8655 case 0x02:
8656 case 0x03:
8657 case 0x04:
8658 case 0x05:
8659 case 0x06:
8660 case 0x07:
8661 case 0x08:
8662 case 0x09:
8663 case 0x0a:
8664 case 0x0b:
8665 case 0x0c:
8666 case 0x0d:
8667 case 0x0e:
8668 goto op_semantics_69;
8669 break;
8670 case 0x0f:
8671 goto op_semantics_70;
8672 break;
8673 }
8674 break;
8675 case 0xe2:
8676 GETBYTE ();
8677 switch (op[2] & 0x0f)
8678 {
8679 case 0x00:
8680 case 0x01:
8681 case 0x02:
8682 case 0x03:
8683 case 0x04:
8684 case 0x05:
8685 case 0x06:
8686 case 0x07:
8687 case 0x08:
8688 case 0x09:
8689 case 0x0a:
8690 case 0x0b:
8691 case 0x0c:
8692 case 0x0d:
8693 case 0x0e:
8694 goto op_semantics_69;
8695 break;
8696 case 0x0f:
8697 goto op_semantics_70;
8698 break;
8699 }
8700 break;
8701 case 0xe3:
8702 GETBYTE ();
8703 switch (op[2] & 0x0f)
8704 {
8705 case 0x00:
8706 case 0x01:
8707 case 0x02:
8708 case 0x03:
8709 case 0x04:
8710 case 0x05:
8711 case 0x06:
8712 case 0x07:
8713 case 0x08:
8714 case 0x09:
8715 case 0x0a:
8716 case 0x0b:
8717 case 0x0c:
8718 case 0x0d:
8719 case 0x0e:
8720 goto op_semantics_69;
8721 break;
8722 case 0x0f:
8723 goto op_semantics_70;
8724 break;
8725 }
8726 break;
8727 case 0xe4:
8728 GETBYTE ();
8729 switch (op[2] & 0x0f)
8730 {
8731 case 0x00:
8732 case 0x01:
8733 case 0x02:
8734 case 0x03:
8735 case 0x04:
8736 case 0x05:
8737 case 0x06:
8738 case 0x07:
8739 case 0x08:
8740 case 0x09:
8741 case 0x0a:
8742 case 0x0b:
8743 case 0x0c:
8744 case 0x0d:
8745 case 0x0e:
8746 goto op_semantics_69;
8747 break;
8748 case 0x0f:
8749 goto op_semantics_70;
8750 break;
8751 }
8752 break;
8753 case 0xe5:
8754 GETBYTE ();
8755 switch (op[2] & 0x0f)
8756 {
8757 case 0x00:
8758 case 0x01:
8759 case 0x02:
8760 case 0x03:
8761 case 0x04:
8762 case 0x05:
8763 case 0x06:
8764 case 0x07:
8765 case 0x08:
8766 case 0x09:
8767 case 0x0a:
8768 case 0x0b:
8769 case 0x0c:
8770 case 0x0d:
8771 case 0x0e:
8772 goto op_semantics_69;
8773 break;
8774 case 0x0f:
8775 goto op_semantics_70;
8776 break;
8777 }
8778 break;
8779 case 0xe6:
8780 GETBYTE ();
8781 switch (op[2] & 0x0f)
8782 {
8783 case 0x00:
8784 case 0x01:
8785 case 0x02:
8786 case 0x03:
8787 case 0x04:
8788 case 0x05:
8789 case 0x06:
8790 case 0x07:
8791 case 0x08:
8792 case 0x09:
8793 case 0x0a:
8794 case 0x0b:
8795 case 0x0c:
8796 case 0x0d:
8797 case 0x0e:
8798 goto op_semantics_69;
8799 break;
8800 case 0x0f:
8801 goto op_semantics_70;
8802 break;
8803 }
8804 break;
8805 case 0xe7:
8806 GETBYTE ();
8807 switch (op[2] & 0x0f)
8808 {
8809 case 0x00:
8810 case 0x01:
8811 case 0x02:
8812 case 0x03:
8813 case 0x04:
8814 case 0x05:
8815 case 0x06:
8816 case 0x07:
8817 case 0x08:
8818 case 0x09:
8819 case 0x0a:
8820 case 0x0b:
8821 case 0x0c:
8822 case 0x0d:
8823 case 0x0e:
8824 goto op_semantics_69;
8825 break;
8826 case 0x0f:
8827 goto op_semantics_70;
8828 break;
8829 }
8830 break;
8831 case 0xe8:
8832 GETBYTE ();
8833 switch (op[2] & 0x0f)
8834 {
8835 case 0x00:
8836 case 0x01:
8837 case 0x02:
8838 case 0x03:
8839 case 0x04:
8840 case 0x05:
8841 case 0x06:
8842 case 0x07:
8843 case 0x08:
8844 case 0x09:
8845 case 0x0a:
8846 case 0x0b:
8847 case 0x0c:
8848 case 0x0d:
8849 case 0x0e:
8850 goto op_semantics_69;
8851 break;
8852 case 0x0f:
8853 goto op_semantics_70;
8854 break;
8855 }
8856 break;
8857 case 0xe9:
8858 GETBYTE ();
8859 switch (op[2] & 0x0f)
8860 {
8861 case 0x00:
8862 case 0x01:
8863 case 0x02:
8864 case 0x03:
8865 case 0x04:
8866 case 0x05:
8867 case 0x06:
8868 case 0x07:
8869 case 0x08:
8870 case 0x09:
8871 case 0x0a:
8872 case 0x0b:
8873 case 0x0c:
8874 case 0x0d:
8875 case 0x0e:
8876 goto op_semantics_69;
8877 break;
8878 case 0x0f:
8879 goto op_semantics_70;
8880 break;
8881 }
8882 break;
8883 case 0xea:
8884 GETBYTE ();
8885 switch (op[2] & 0x0f)
8886 {
8887 case 0x00:
8888 case 0x01:
8889 case 0x02:
8890 case 0x03:
8891 case 0x04:
8892 case 0x05:
8893 case 0x06:
8894 case 0x07:
8895 case 0x08:
8896 case 0x09:
8897 case 0x0a:
8898 case 0x0b:
8899 case 0x0c:
8900 case 0x0d:
8901 case 0x0e:
8902 goto op_semantics_69;
8903 break;
8904 case 0x0f:
8905 goto op_semantics_70;
8906 break;
8907 }
8908 break;
8909 case 0xeb:
8910 GETBYTE ();
8911 switch (op[2] & 0x0f)
8912 {
8913 case 0x00:
8914 case 0x01:
8915 case 0x02:
8916 case 0x03:
8917 case 0x04:
8918 case 0x05:
8919 case 0x06:
8920 case 0x07:
8921 case 0x08:
8922 case 0x09:
8923 case 0x0a:
8924 case 0x0b:
8925 case 0x0c:
8926 case 0x0d:
8927 case 0x0e:
8928 goto op_semantics_69;
8929 break;
8930 case 0x0f:
8931 goto op_semantics_70;
8932 break;
8933 }
8934 break;
8935 case 0xec:
8936 GETBYTE ();
8937 switch (op[2] & 0x0f)
8938 {
8939 case 0x00:
8940 case 0x01:
8941 case 0x02:
8942 case 0x03:
8943 case 0x04:
8944 case 0x05:
8945 case 0x06:
8946 case 0x07:
8947 case 0x08:
8948 case 0x09:
8949 case 0x0a:
8950 case 0x0b:
8951 case 0x0c:
8952 case 0x0d:
8953 case 0x0e:
8954 goto op_semantics_69;
8955 break;
8956 case 0x0f:
8957 goto op_semantics_70;
8958 break;
8959 }
8960 break;
8961 case 0xed:
8962 GETBYTE ();
8963 switch (op[2] & 0x0f)
8964 {
8965 case 0x00:
8966 case 0x01:
8967 case 0x02:
8968 case 0x03:
8969 case 0x04:
8970 case 0x05:
8971 case 0x06:
8972 case 0x07:
8973 case 0x08:
8974 case 0x09:
8975 case 0x0a:
8976 case 0x0b:
8977 case 0x0c:
8978 case 0x0d:
8979 case 0x0e:
8980 goto op_semantics_69;
8981 break;
8982 case 0x0f:
8983 goto op_semantics_70;
8984 break;
8985 }
8986 break;
8987 case 0xee:
8988 GETBYTE ();
8989 switch (op[2] & 0x0f)
8990 {
8991 case 0x00:
8992 case 0x01:
8993 case 0x02:
8994 case 0x03:
8995 case 0x04:
8996 case 0x05:
8997 case 0x06:
8998 case 0x07:
8999 case 0x08:
9000 case 0x09:
9001 case 0x0a:
9002 case 0x0b:
9003 case 0x0c:
9004 case 0x0d:
9005 case 0x0e:
9006 goto op_semantics_69;
9007 break;
9008 case 0x0f:
9009 goto op_semantics_70;
9010 break;
9011 }
9012 break;
9013 case 0xef:
9014 GETBYTE ();
9015 switch (op[2] & 0x0f)
9016 {
9017 case 0x00:
9018 case 0x01:
9019 case 0x02:
9020 case 0x03:
9021 case 0x04:
9022 case 0x05:
9023 case 0x06:
9024 case 0x07:
9025 case 0x08:
9026 case 0x09:
9027 case 0x0a:
9028 case 0x0b:
9029 case 0x0c:
9030 case 0x0d:
9031 case 0x0e:
9032 goto op_semantics_69;
9033 break;
9034 case 0x0f:
9035 goto op_semantics_70;
9036 break;
9037 }
9038 break;
9039 case 0xf0:
9040 GETBYTE ();
9041 switch (op[2] & 0x0f)
9042 {
9043 case 0x00:
9044 case 0x01:
9045 case 0x02:
9046 case 0x03:
9047 case 0x04:
9048 case 0x05:
9049 case 0x06:
9050 case 0x07:
9051 case 0x08:
9052 case 0x09:
9053 case 0x0a:
9054 case 0x0b:
9055 case 0x0c:
9056 case 0x0d:
9057 case 0x0e:
9058 goto op_semantics_69;
9059 break;
9060 case 0x0f:
9061 goto op_semantics_70;
9062 break;
9063 }
9064 break;
9065 case 0xf1:
9066 GETBYTE ();
9067 switch (op[2] & 0x0f)
9068 {
9069 case 0x00:
9070 case 0x01:
9071 case 0x02:
9072 case 0x03:
9073 case 0x04:
9074 case 0x05:
9075 case 0x06:
9076 case 0x07:
9077 case 0x08:
9078 case 0x09:
9079 case 0x0a:
9080 case 0x0b:
9081 case 0x0c:
9082 case 0x0d:
9083 case 0x0e:
9084 goto op_semantics_69;
9085 break;
9086 case 0x0f:
9087 goto op_semantics_70;
9088 break;
9089 }
9090 break;
9091 case 0xf2:
9092 GETBYTE ();
9093 switch (op[2] & 0x0f)
9094 {
9095 case 0x00:
9096 case 0x01:
9097 case 0x02:
9098 case 0x03:
9099 case 0x04:
9100 case 0x05:
9101 case 0x06:
9102 case 0x07:
9103 case 0x08:
9104 case 0x09:
9105 case 0x0a:
9106 case 0x0b:
9107 case 0x0c:
9108 case 0x0d:
9109 case 0x0e:
9110 goto op_semantics_69;
9111 break;
9112 case 0x0f:
9113 goto op_semantics_70;
9114 break;
9115 }
9116 break;
9117 case 0xf3:
9118 GETBYTE ();
9119 switch (op[2] & 0x0f)
9120 {
9121 case 0x00:
9122 case 0x01:
9123 case 0x02:
9124 case 0x03:
9125 case 0x04:
9126 case 0x05:
9127 case 0x06:
9128 case 0x07:
9129 case 0x08:
9130 case 0x09:
9131 case 0x0a:
9132 case 0x0b:
9133 case 0x0c:
9134 case 0x0d:
9135 case 0x0e:
9136 goto op_semantics_69;
9137 break;
9138 case 0x0f:
9139 goto op_semantics_70;
9140 break;
9141 }
9142 break;
9143 case 0xf4:
9144 GETBYTE ();
9145 switch (op[2] & 0x0f)
9146 {
9147 case 0x00:
9148 case 0x01:
9149 case 0x02:
9150 case 0x03:
9151 case 0x04:
9152 case 0x05:
9153 case 0x06:
9154 case 0x07:
9155 case 0x08:
9156 case 0x09:
9157 case 0x0a:
9158 case 0x0b:
9159 case 0x0c:
9160 case 0x0d:
9161 case 0x0e:
9162 goto op_semantics_69;
9163 break;
9164 case 0x0f:
9165 goto op_semantics_70;
9166 break;
9167 }
9168 break;
9169 case 0xf5:
9170 GETBYTE ();
9171 switch (op[2] & 0x0f)
9172 {
9173 case 0x00:
9174 case 0x01:
9175 case 0x02:
9176 case 0x03:
9177 case 0x04:
9178 case 0x05:
9179 case 0x06:
9180 case 0x07:
9181 case 0x08:
9182 case 0x09:
9183 case 0x0a:
9184 case 0x0b:
9185 case 0x0c:
9186 case 0x0d:
9187 case 0x0e:
9188 goto op_semantics_69;
9189 break;
9190 case 0x0f:
9191 goto op_semantics_70;
9192 break;
9193 }
9194 break;
9195 case 0xf6:
9196 GETBYTE ();
9197 switch (op[2] & 0x0f)
9198 {
9199 case 0x00:
9200 case 0x01:
9201 case 0x02:
9202 case 0x03:
9203 case 0x04:
9204 case 0x05:
9205 case 0x06:
9206 case 0x07:
9207 case 0x08:
9208 case 0x09:
9209 case 0x0a:
9210 case 0x0b:
9211 case 0x0c:
9212 case 0x0d:
9213 case 0x0e:
9214 goto op_semantics_69;
9215 break;
9216 case 0x0f:
9217 goto op_semantics_70;
9218 break;
9219 }
9220 break;
9221 case 0xf7:
9222 GETBYTE ();
9223 switch (op[2] & 0x0f)
9224 {
9225 case 0x00:
9226 case 0x01:
9227 case 0x02:
9228 case 0x03:
9229 case 0x04:
9230 case 0x05:
9231 case 0x06:
9232 case 0x07:
9233 case 0x08:
9234 case 0x09:
9235 case 0x0a:
9236 case 0x0b:
9237 case 0x0c:
9238 case 0x0d:
9239 case 0x0e:
9240 goto op_semantics_69;
9241 break;
9242 case 0x0f:
9243 goto op_semantics_70;
9244 break;
9245 }
9246 break;
9247 case 0xf8:
9248 GETBYTE ();
9249 switch (op[2] & 0x0f)
9250 {
9251 case 0x00:
9252 case 0x01:
9253 case 0x02:
9254 case 0x03:
9255 case 0x04:
9256 case 0x05:
9257 case 0x06:
9258 case 0x07:
9259 case 0x08:
9260 case 0x09:
9261 case 0x0a:
9262 case 0x0b:
9263 case 0x0c:
9264 case 0x0d:
9265 case 0x0e:
9266 goto op_semantics_69;
9267 break;
9268 case 0x0f:
9269 goto op_semantics_70;
9270 break;
9271 }
9272 break;
9273 case 0xf9:
9274 GETBYTE ();
9275 switch (op[2] & 0x0f)
9276 {
9277 case 0x00:
9278 case 0x01:
9279 case 0x02:
9280 case 0x03:
9281 case 0x04:
9282 case 0x05:
9283 case 0x06:
9284 case 0x07:
9285 case 0x08:
9286 case 0x09:
9287 case 0x0a:
9288 case 0x0b:
9289 case 0x0c:
9290 case 0x0d:
9291 case 0x0e:
9292 goto op_semantics_69;
9293 break;
9294 case 0x0f:
9295 goto op_semantics_70;
9296 break;
9297 }
9298 break;
9299 case 0xfa:
9300 GETBYTE ();
9301 switch (op[2] & 0x0f)
9302 {
9303 case 0x00:
9304 case 0x01:
9305 case 0x02:
9306 case 0x03:
9307 case 0x04:
9308 case 0x05:
9309 case 0x06:
9310 case 0x07:
9311 case 0x08:
9312 case 0x09:
9313 case 0x0a:
9314 case 0x0b:
9315 case 0x0c:
9316 case 0x0d:
9317 case 0x0e:
9318 goto op_semantics_69;
9319 break;
9320 case 0x0f:
9321 goto op_semantics_70;
9322 break;
9323 }
9324 break;
9325 case 0xfb:
9326 GETBYTE ();
9327 switch (op[2] & 0x0f)
9328 {
9329 case 0x00:
9330 case 0x01:
9331 case 0x02:
9332 case 0x03:
9333 case 0x04:
9334 case 0x05:
9335 case 0x06:
9336 case 0x07:
9337 case 0x08:
9338 case 0x09:
9339 case 0x0a:
9340 case 0x0b:
9341 case 0x0c:
9342 case 0x0d:
9343 case 0x0e:
9344 goto op_semantics_69;
9345 break;
9346 case 0x0f:
9347 goto op_semantics_70;
9348 break;
9349 }
9350 break;
9351 case 0xfc:
9352 GETBYTE ();
9353 switch (op[2] & 0x0f)
9354 {
9355 case 0x00:
9356 case 0x01:
9357 case 0x02:
9358 case 0x03:
9359 case 0x04:
9360 case 0x05:
9361 case 0x06:
9362 case 0x07:
9363 case 0x08:
9364 case 0x09:
9365 case 0x0a:
9366 case 0x0b:
9367 case 0x0c:
9368 case 0x0d:
9369 case 0x0e:
9370 goto op_semantics_69;
9371 break;
9372 case 0x0f:
9373 goto op_semantics_70;
9374 break;
9375 }
9376 break;
9377 case 0xfd:
9378 GETBYTE ();
9379 switch (op[2] & 0x0f)
9380 {
9381 case 0x00:
9382 case 0x01:
9383 case 0x02:
9384 case 0x03:
9385 case 0x04:
9386 case 0x05:
9387 case 0x06:
9388 case 0x07:
9389 case 0x08:
9390 case 0x09:
9391 case 0x0a:
9392 case 0x0b:
9393 case 0x0c:
9394 case 0x0d:
9395 case 0x0e:
9396 goto op_semantics_69;
9397 break;
9398 case 0x0f:
9399 goto op_semantics_70;
9400 break;
9401 }
9402 break;
9403 case 0xfe:
9404 GETBYTE ();
9405 switch (op[2] & 0x0f)
9406 {
9407 case 0x00:
9408 case 0x01:
9409 case 0x02:
9410 case 0x03:
9411 case 0x04:
9412 case 0x05:
9413 case 0x06:
9414 case 0x07:
9415 case 0x08:
9416 case 0x09:
9417 case 0x0a:
9418 case 0x0b:
9419 case 0x0c:
9420 case 0x0d:
9421 case 0x0e:
9422 goto op_semantics_69;
9423 break;
9424 case 0x0f:
9425 goto op_semantics_70;
9426 break;
9427 }
9428 break;
9429 case 0xff:
9430 GETBYTE ();
9431 switch (op[2] & 0x0f)
9432 {
9433 case 0x00:
9434 case 0x01:
9435 case 0x02:
9436 case 0x03:
9437 case 0x04:
9438 case 0x05:
9439 case 0x06:
9440 case 0x07:
9441 case 0x08:
9442 case 0x09:
9443 case 0x0a:
9444 case 0x0b:
9445 case 0x0c:
9446 case 0x0d:
9447 case 0x0e:
9448 goto op_semantics_69;
9449 break;
9450 case 0x0f:
9451 goto op_semantics_70;
9452 break;
9453 }
9454 break;
9455 default: UNSUPPORTED(); break;
9456 }
9457 break;
9458 case 0xfd:
9459 GETBYTE ();
9460 switch (op[1] & 0xff)
9461 {
9462 case 0x00:
9463 GETBYTE ();
9464 switch (op[2] & 0x00)
9465 {
9466 case 0x00:
9467 {
9468 /** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */
9469 #line 810 "rx-decode.opc"
9470 int srca AU = (op[2] >> 4) & 0x0f;
9471 #line 810 "rx-decode.opc"
9472 int srcb AU = op[2] & 0x0f;
9473 if (trace)
9474 {
9475 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9476 "/** 1111 1101 0000 0000 srca srcb mulhi %1, %2 */",
9477 op[0], op[1], op[2]);
9478 printf (" srca = 0x%x,", srca);
9479 printf (" srcb = 0x%x\n", srcb);
9480 }
9481 SYNTAX("mulhi %1, %2");
9482 #line 810 "rx-decode.opc"
9483 ID(mulhi); SR(srca); S2R(srcb); F_____;
9484
9485 }
9486 break;
9487 }
9488 break;
9489 case 0x01:
9490 GETBYTE ();
9491 switch (op[2] & 0x00)
9492 {
9493 case 0x00:
9494 {
9495 /** 1111 1101 0000 0001 srca srcb mullo %1, %2 */
9496 #line 813 "rx-decode.opc"
9497 int srca AU = (op[2] >> 4) & 0x0f;
9498 #line 813 "rx-decode.opc"
9499 int srcb AU = op[2] & 0x0f;
9500 if (trace)
9501 {
9502 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9503 "/** 1111 1101 0000 0001 srca srcb mullo %1, %2 */",
9504 op[0], op[1], op[2]);
9505 printf (" srca = 0x%x,", srca);
9506 printf (" srcb = 0x%x\n", srcb);
9507 }
9508 SYNTAX("mullo %1, %2");
9509 #line 813 "rx-decode.opc"
9510 ID(mullo); SR(srca); S2R(srcb); F_____;
9511
9512 }
9513 break;
9514 }
9515 break;
9516 case 0x04:
9517 GETBYTE ();
9518 switch (op[2] & 0x00)
9519 {
9520 case 0x00:
9521 {
9522 /** 1111 1101 0000 0100 srca srcb machi %1, %2 */
9523 #line 816 "rx-decode.opc"
9524 int srca AU = (op[2] >> 4) & 0x0f;
9525 #line 816 "rx-decode.opc"
9526 int srcb AU = op[2] & 0x0f;
9527 if (trace)
9528 {
9529 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9530 "/** 1111 1101 0000 0100 srca srcb machi %1, %2 */",
9531 op[0], op[1], op[2]);
9532 printf (" srca = 0x%x,", srca);
9533 printf (" srcb = 0x%x\n", srcb);
9534 }
9535 SYNTAX("machi %1, %2");
9536 #line 816 "rx-decode.opc"
9537 ID(machi); SR(srca); S2R(srcb); F_____;
9538
9539 }
9540 break;
9541 }
9542 break;
9543 case 0x05:
9544 GETBYTE ();
9545 switch (op[2] & 0x00)
9546 {
9547 case 0x00:
9548 {
9549 /** 1111 1101 0000 0101 srca srcb maclo %1, %2 */
9550 #line 819 "rx-decode.opc"
9551 int srca AU = (op[2] >> 4) & 0x0f;
9552 #line 819 "rx-decode.opc"
9553 int srcb AU = op[2] & 0x0f;
9554 if (trace)
9555 {
9556 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9557 "/** 1111 1101 0000 0101 srca srcb maclo %1, %2 */",
9558 op[0], op[1], op[2]);
9559 printf (" srca = 0x%x,", srca);
9560 printf (" srcb = 0x%x\n", srcb);
9561 }
9562 SYNTAX("maclo %1, %2");
9563 #line 819 "rx-decode.opc"
9564 ID(maclo); SR(srca); S2R(srcb); F_____;
9565
9566 }
9567 break;
9568 }
9569 break;
9570 case 0x17:
9571 GETBYTE ();
9572 switch (op[2] & 0xf0)
9573 {
9574 case 0x00:
9575 {
9576 /** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */
9577 #line 822 "rx-decode.opc"
9578 int rsrc AU = op[2] & 0x0f;
9579 if (trace)
9580 {
9581 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9582 "/** 1111 1101 0001 0111 0000 rsrc mvtachi %1 */",
9583 op[0], op[1], op[2]);
9584 printf (" rsrc = 0x%x\n", rsrc);
9585 }
9586 SYNTAX("mvtachi %1");
9587 #line 822 "rx-decode.opc"
9588 ID(mvtachi); SR(rsrc); F_____;
9589
9590 }
9591 break;
9592 case 0x10:
9593 {
9594 /** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */
9595 #line 825 "rx-decode.opc"
9596 int rsrc AU = op[2] & 0x0f;
9597 if (trace)
9598 {
9599 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9600 "/** 1111 1101 0001 0111 0001 rsrc mvtaclo %1 */",
9601 op[0], op[1], op[2]);
9602 printf (" rsrc = 0x%x\n", rsrc);
9603 }
9604 SYNTAX("mvtaclo %1");
9605 #line 825 "rx-decode.opc"
9606 ID(mvtaclo); SR(rsrc); F_____;
9607
9608 }
9609 break;
9610 default: UNSUPPORTED(); break;
9611 }
9612 break;
9613 case 0x18:
9614 GETBYTE ();
9615 switch (op[2] & 0xef)
9616 {
9617 case 0x00:
9618 {
9619 /** 1111 1101 0001 1000 000i 0000 racw #%1 */
9620 #line 837 "rx-decode.opc"
9621 int i AU = (op[2] >> 4) & 0x01;
9622 if (trace)
9623 {
9624 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9625 "/** 1111 1101 0001 1000 000i 0000 racw #%1 */",
9626 op[0], op[1], op[2]);
9627 printf (" i = 0x%x\n", i);
9628 }
9629 SYNTAX("racw #%1");
9630 #line 837 "rx-decode.opc"
9631 ID(racw); SC(i+1); F_____;
9632
9633 /*----------------------------------------------------------------------*/
9634 /* SAT */
9635
9636 }
9637 break;
9638 default: UNSUPPORTED(); break;
9639 }
9640 break;
9641 case 0x1f:
9642 GETBYTE ();
9643 switch (op[2] & 0xf0)
9644 {
9645 case 0x00:
9646 {
9647 /** 1111 1101 0001 1111 0000 rdst mvfachi %0 */
9648 #line 828 "rx-decode.opc"
9649 int rdst AU = op[2] & 0x0f;
9650 if (trace)
9651 {
9652 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9653 "/** 1111 1101 0001 1111 0000 rdst mvfachi %0 */",
9654 op[0], op[1], op[2]);
9655 printf (" rdst = 0x%x\n", rdst);
9656 }
9657 SYNTAX("mvfachi %0");
9658 #line 828 "rx-decode.opc"
9659 ID(mvfachi); DR(rdst); F_____;
9660
9661 }
9662 break;
9663 case 0x10:
9664 {
9665 /** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */
9666 #line 834 "rx-decode.opc"
9667 int rdst AU = op[2] & 0x0f;
9668 if (trace)
9669 {
9670 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9671 "/** 1111 1101 0001 1111 0001 rdst mvfaclo %0 */",
9672 op[0], op[1], op[2]);
9673 printf (" rdst = 0x%x\n", rdst);
9674 }
9675 SYNTAX("mvfaclo %0");
9676 #line 834 "rx-decode.opc"
9677 ID(mvfaclo); DR(rdst); F_____;
9678
9679 }
9680 break;
9681 case 0x20:
9682 {
9683 /** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */
9684 #line 831 "rx-decode.opc"
9685 int rdst AU = op[2] & 0x0f;
9686 if (trace)
9687 {
9688 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9689 "/** 1111 1101 0001 1111 0010 rdst mvfacmi %0 */",
9690 op[0], op[1], op[2]);
9691 printf (" rdst = 0x%x\n", rdst);
9692 }
9693 SYNTAX("mvfacmi %0");
9694 #line 831 "rx-decode.opc"
9695 ID(mvfacmi); DR(rdst); F_____;
9696
9697 }
9698 break;
9699 default: UNSUPPORTED(); break;
9700 }
9701 break;
9702 case 0x20:
9703 GETBYTE ();
9704 switch (op[2] & 0x00)
9705 {
9706 case 0x00:
9707 op_semantics_71:
9708 {
9709 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
9710 #line 344 "rx-decode.opc"
9711 int p AU = (op[1] >> 2) & 0x01;
9712 #line 344 "rx-decode.opc"
9713 int sz AU = op[1] & 0x03;
9714 #line 344 "rx-decode.opc"
9715 int rdst AU = (op[2] >> 4) & 0x0f;
9716 #line 344 "rx-decode.opc"
9717 int rsrc AU = op[2] & 0x0f;
9718 if (trace)
9719 {
9720 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9721 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
9722 op[0], op[1], op[2]);
9723 printf (" p = 0x%x,", p);
9724 printf (" sz = 0x%x,", sz);
9725 printf (" rdst = 0x%x,", rdst);
9726 printf (" rsrc = 0x%x\n", rsrc);
9727 }
9728 SYNTAX("mov%s %1, %0");
9729 #line 344 "rx-decode.opc"
9730 ID(mov); sBWL (sz); SR(rsrc); F_____;
9731 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
9732
9733 }
9734 break;
9735 }
9736 break;
9737 case 0x21:
9738 GETBYTE ();
9739 switch (op[2] & 0x00)
9740 {
9741 case 0x00:
9742 goto op_semantics_71;
9743 break;
9744 }
9745 break;
9746 case 0x22:
9747 GETBYTE ();
9748 switch (op[2] & 0x00)
9749 {
9750 case 0x00:
9751 goto op_semantics_71;
9752 break;
9753 }
9754 break;
9755 case 0x24:
9756 GETBYTE ();
9757 switch (op[2] & 0x00)
9758 {
9759 case 0x00:
9760 goto op_semantics_71;
9761 break;
9762 }
9763 break;
9764 case 0x25:
9765 GETBYTE ();
9766 switch (op[2] & 0x00)
9767 {
9768 case 0x00:
9769 goto op_semantics_71;
9770 break;
9771 }
9772 break;
9773 case 0x26:
9774 GETBYTE ();
9775 switch (op[2] & 0x00)
9776 {
9777 case 0x00:
9778 goto op_semantics_71;
9779 break;
9780 }
9781 break;
9782 case 0x28:
9783 GETBYTE ();
9784 switch (op[2] & 0x00)
9785 {
9786 case 0x00:
9787 op_semantics_72:
9788 {
9789 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
9790 #line 348 "rx-decode.opc"
9791 int p AU = (op[1] >> 2) & 0x01;
9792 #line 348 "rx-decode.opc"
9793 int sz AU = op[1] & 0x03;
9794 #line 348 "rx-decode.opc"
9795 int rsrc AU = (op[2] >> 4) & 0x0f;
9796 #line 348 "rx-decode.opc"
9797 int rdst AU = op[2] & 0x0f;
9798 if (trace)
9799 {
9800 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9801 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
9802 op[0], op[1], op[2]);
9803 printf (" p = 0x%x,", p);
9804 printf (" sz = 0x%x,", sz);
9805 printf (" rsrc = 0x%x,", rsrc);
9806 printf (" rdst = 0x%x\n", rdst);
9807 }
9808 SYNTAX("mov%s %1, %0");
9809 #line 348 "rx-decode.opc"
9810 ID(mov); sBWL (sz); DR(rdst); F_____;
9811 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9812
9813 }
9814 break;
9815 }
9816 break;
9817 case 0x29:
9818 GETBYTE ();
9819 switch (op[2] & 0x00)
9820 {
9821 case 0x00:
9822 goto op_semantics_72;
9823 break;
9824 }
9825 break;
9826 case 0x2a:
9827 GETBYTE ();
9828 switch (op[2] & 0x00)
9829 {
9830 case 0x00:
9831 goto op_semantics_72;
9832 break;
9833 }
9834 break;
9835 case 0x2c:
9836 GETBYTE ();
9837 switch (op[2] & 0x00)
9838 {
9839 case 0x00:
9840 goto op_semantics_72;
9841 break;
9842 }
9843 break;
9844 case 0x2d:
9845 GETBYTE ();
9846 switch (op[2] & 0x00)
9847 {
9848 case 0x00:
9849 goto op_semantics_72;
9850 break;
9851 }
9852 break;
9853 case 0x2e:
9854 GETBYTE ();
9855 switch (op[2] & 0x00)
9856 {
9857 case 0x00:
9858 goto op_semantics_72;
9859 break;
9860 }
9861 break;
9862 case 0x38:
9863 GETBYTE ();
9864 switch (op[2] & 0x00)
9865 {
9866 case 0x00:
9867 op_semantics_73:
9868 {
9869 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
9870 #line 358 "rx-decode.opc"
9871 int p AU = (op[1] >> 2) & 0x01;
9872 #line 358 "rx-decode.opc"
9873 int sz AU = op[1] & 0x03;
9874 #line 358 "rx-decode.opc"
9875 int rsrc AU = (op[2] >> 4) & 0x0f;
9876 #line 358 "rx-decode.opc"
9877 int rdst AU = op[2] & 0x0f;
9878 if (trace)
9879 {
9880 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9881 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
9882 op[0], op[1], op[2]);
9883 printf (" p = 0x%x,", p);
9884 printf (" sz = 0x%x,", sz);
9885 printf (" rsrc = 0x%x,", rsrc);
9886 printf (" rdst = 0x%x\n", rdst);
9887 }
9888 SYNTAX("movu%s %1, %0");
9889 #line 358 "rx-decode.opc"
9890 ID(mov); uBW (sz); DR(rdst); F_____;
9891 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
9892
9893 /*----------------------------------------------------------------------*/
9894 /* PUSH/POP */
9895
9896 }
9897 break;
9898 }
9899 break;
9900 case 0x39:
9901 GETBYTE ();
9902 switch (op[2] & 0x00)
9903 {
9904 case 0x00:
9905 goto op_semantics_73;
9906 break;
9907 }
9908 break;
9909 case 0x3a:
9910 GETBYTE ();
9911 switch (op[2] & 0x00)
9912 {
9913 case 0x00:
9914 goto op_semantics_73;
9915 break;
9916 }
9917 break;
9918 case 0x3c:
9919 GETBYTE ();
9920 switch (op[2] & 0x00)
9921 {
9922 case 0x00:
9923 goto op_semantics_73;
9924 break;
9925 }
9926 break;
9927 case 0x3d:
9928 GETBYTE ();
9929 switch (op[2] & 0x00)
9930 {
9931 case 0x00:
9932 goto op_semantics_73;
9933 break;
9934 }
9935 break;
9936 case 0x3e:
9937 GETBYTE ();
9938 switch (op[2] & 0x00)
9939 {
9940 case 0x00:
9941 goto op_semantics_73;
9942 break;
9943 }
9944 break;
9945 case 0x60:
9946 GETBYTE ();
9947 switch (op[2] & 0x00)
9948 {
9949 case 0x00:
9950 {
9951 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
9952 #line 691 "rx-decode.opc"
9953 int rsrc AU = (op[2] >> 4) & 0x0f;
9954 #line 691 "rx-decode.opc"
9955 int rdst AU = op[2] & 0x0f;
9956 if (trace)
9957 {
9958 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9959 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
9960 op[0], op[1], op[2]);
9961 printf (" rsrc = 0x%x,", rsrc);
9962 printf (" rdst = 0x%x\n", rdst);
9963 }
9964 SYNTAX("shlr %2, %0");
9965 #line 691 "rx-decode.opc"
9966 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
9967
9968 }
9969 break;
9970 }
9971 break;
9972 case 0x61:
9973 GETBYTE ();
9974 switch (op[2] & 0x00)
9975 {
9976 case 0x00:
9977 {
9978 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
9979 #line 681 "rx-decode.opc"
9980 int rsrc AU = (op[2] >> 4) & 0x0f;
9981 #line 681 "rx-decode.opc"
9982 int rdst AU = op[2] & 0x0f;
9983 if (trace)
9984 {
9985 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9986 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
9987 op[0], op[1], op[2]);
9988 printf (" rsrc = 0x%x,", rsrc);
9989 printf (" rdst = 0x%x\n", rdst);
9990 }
9991 SYNTAX("shar %2, %0");
9992 #line 681 "rx-decode.opc"
9993 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
9994
9995 }
9996 break;
9997 }
9998 break;
9999 case 0x62:
10000 GETBYTE ();
10001 switch (op[2] & 0x00)
10002 {
10003 case 0x00:
10004 {
10005 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
10006 #line 671 "rx-decode.opc"
10007 int rsrc AU = (op[2] >> 4) & 0x0f;
10008 #line 671 "rx-decode.opc"
10009 int rdst AU = op[2] & 0x0f;
10010 if (trace)
10011 {
10012 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10013 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
10014 op[0], op[1], op[2]);
10015 printf (" rsrc = 0x%x,", rsrc);
10016 printf (" rdst = 0x%x\n", rdst);
10017 }
10018 SYNTAX("shll %2, %0");
10019 #line 671 "rx-decode.opc"
10020 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
10021
10022 }
10023 break;
10024 }
10025 break;
10026 case 0x64:
10027 GETBYTE ();
10028 switch (op[2] & 0x00)
10029 {
10030 case 0x00:
10031 {
10032 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
10033 #line 715 "rx-decode.opc"
10034 int rsrc AU = (op[2] >> 4) & 0x0f;
10035 #line 715 "rx-decode.opc"
10036 int rdst AU = op[2] & 0x0f;
10037 if (trace)
10038 {
10039 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10040 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
10041 op[0], op[1], op[2]);
10042 printf (" rsrc = 0x%x,", rsrc);
10043 printf (" rdst = 0x%x\n", rdst);
10044 }
10045 SYNTAX("rotr %1, %0");
10046 #line 715 "rx-decode.opc"
10047 ID(rotr); SR(rsrc); DR(rdst); F__SZC;
10048
10049 }
10050 break;
10051 }
10052 break;
10053 case 0x65:
10054 GETBYTE ();
10055 switch (op[2] & 0x00)
10056 {
10057 case 0x00:
10058 {
10059 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
10060 #line 718 "rx-decode.opc"
10061 int rsrc AU = (op[2] >> 4) & 0x0f;
10062 #line 718 "rx-decode.opc"
10063 int rdst AU = op[2] & 0x0f;
10064 if (trace)
10065 {
10066 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10067 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
10068 op[0], op[1], op[2]);
10069 printf (" rsrc = 0x%x,", rsrc);
10070 printf (" rdst = 0x%x\n", rdst);
10071 }
10072 SYNTAX("revw %1, %0");
10073 #line 718 "rx-decode.opc"
10074 ID(revw); SR(rsrc); DR(rdst);
10075
10076 }
10077 break;
10078 }
10079 break;
10080 case 0x66:
10081 GETBYTE ();
10082 switch (op[2] & 0x00)
10083 {
10084 case 0x00:
10085 {
10086 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
10087 #line 709 "rx-decode.opc"
10088 int rsrc AU = (op[2] >> 4) & 0x0f;
10089 #line 709 "rx-decode.opc"
10090 int rdst AU = op[2] & 0x0f;
10091 if (trace)
10092 {
10093 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10094 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
10095 op[0], op[1], op[2]);
10096 printf (" rsrc = 0x%x,", rsrc);
10097 printf (" rdst = 0x%x\n", rdst);
10098 }
10099 SYNTAX("rotl %1, %0");
10100 #line 709 "rx-decode.opc"
10101 ID(rotl); SR(rsrc); DR(rdst); F__SZC;
10102
10103 }
10104 break;
10105 }
10106 break;
10107 case 0x67:
10108 GETBYTE ();
10109 switch (op[2] & 0x00)
10110 {
10111 case 0x00:
10112 {
10113 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
10114 #line 721 "rx-decode.opc"
10115 int rsrc AU = (op[2] >> 4) & 0x0f;
10116 #line 721 "rx-decode.opc"
10117 int rdst AU = op[2] & 0x0f;
10118 if (trace)
10119 {
10120 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10121 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
10122 op[0], op[1], op[2]);
10123 printf (" rsrc = 0x%x,", rsrc);
10124 printf (" rdst = 0x%x\n", rdst);
10125 }
10126 SYNTAX("revl %1, %0");
10127 #line 721 "rx-decode.opc"
10128 ID(revl); SR(rsrc); DR(rdst);
10129
10130 /*----------------------------------------------------------------------*/
10131 /* BRANCH */
10132
10133 }
10134 break;
10135 }
10136 break;
10137 case 0x68:
10138 GETBYTE ();
10139 switch (op[2] & 0x00)
10140 {
10141 case 0x00:
10142 op_semantics_74:
10143 {
10144 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
10145 #line 972 "rx-decode.opc"
10146 int c AU = op[1] & 0x01;
10147 #line 972 "rx-decode.opc"
10148 int rsrc AU = (op[2] >> 4) & 0x0f;
10149 #line 972 "rx-decode.opc"
10150 int rdst AU = op[2] & 0x0f;
10151 if (trace)
10152 {
10153 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10154 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
10155 op[0], op[1], op[2]);
10156 printf (" c = 0x%x,", c);
10157 printf (" rsrc = 0x%x,", rsrc);
10158 printf (" rdst = 0x%x\n", rdst);
10159 }
10160 SYNTAX("mvtc %1, %0");
10161 #line 972 "rx-decode.opc"
10162 ID(mov); SR(rsrc); DR(c*16+rdst + 16);
10163
10164 }
10165 break;
10166 }
10167 break;
10168 case 0x69:
10169 GETBYTE ();
10170 switch (op[2] & 0x00)
10171 {
10172 case 0x00:
10173 goto op_semantics_74;
10174 break;
10175 }
10176 break;
10177 case 0x6a:
10178 GETBYTE ();
10179 switch (op[2] & 0x00)
10180 {
10181 case 0x00:
10182 op_semantics_75:
10183 {
10184 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
10185 #line 975 "rx-decode.opc"
10186 int s AU = op[1] & 0x01;
10187 #line 975 "rx-decode.opc"
10188 int rsrc AU = (op[2] >> 4) & 0x0f;
10189 #line 975 "rx-decode.opc"
10190 int rdst AU = op[2] & 0x0f;
10191 if (trace)
10192 {
10193 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10194 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
10195 op[0], op[1], op[2]);
10196 printf (" s = 0x%x,", s);
10197 printf (" rsrc = 0x%x,", rsrc);
10198 printf (" rdst = 0x%x\n", rdst);
10199 }
10200 SYNTAX("mvfc %1, %0");
10201 #line 975 "rx-decode.opc"
10202 ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
10203
10204 /*----------------------------------------------------------------------*/
10205 /* INTERRUPTS */
10206
10207 }
10208 break;
10209 }
10210 break;
10211 case 0x6b:
10212 GETBYTE ();
10213 switch (op[2] & 0x00)
10214 {
10215 case 0x00:
10216 goto op_semantics_75;
10217 break;
10218 }
10219 break;
10220 case 0x6c:
10221 GETBYTE ();
10222 switch (op[2] & 0x00)
10223 {
10224 case 0x00:
10225 op_semantics_76:
10226 {
10227 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
10228 #line 712 "rx-decode.opc"
10229 int i AU = op[1] & 0x01;
10230 #line 712 "rx-decode.opc"
10231 int mmmm AU = (op[2] >> 4) & 0x0f;
10232 #line 712 "rx-decode.opc"
10233 int rdst AU = op[2] & 0x0f;
10234 if (trace)
10235 {
10236 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10237 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
10238 op[0], op[1], op[2]);
10239 printf (" i = 0x%x,", i);
10240 printf (" mmmm = 0x%x,", mmmm);
10241 printf (" rdst = 0x%x\n", rdst);
10242 }
10243 SYNTAX("rotr #%1, %0");
10244 #line 712 "rx-decode.opc"
10245 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
10246
10247 }
10248 break;
10249 }
10250 break;
10251 case 0x6d:
10252 GETBYTE ();
10253 switch (op[2] & 0x00)
10254 {
10255 case 0x00:
10256 goto op_semantics_76;
10257 break;
10258 }
10259 break;
10260 case 0x6e:
10261 GETBYTE ();
10262 switch (op[2] & 0x00)
10263 {
10264 case 0x00:
10265 op_semantics_77:
10266 {
10267 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
10268 #line 706 "rx-decode.opc"
10269 int i AU = op[1] & 0x01;
10270 #line 706 "rx-decode.opc"
10271 int mmmm AU = (op[2] >> 4) & 0x0f;
10272 #line 706 "rx-decode.opc"
10273 int rdst AU = op[2] & 0x0f;
10274 if (trace)
10275 {
10276 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10277 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
10278 op[0], op[1], op[2]);
10279 printf (" i = 0x%x,", i);
10280 printf (" mmmm = 0x%x,", mmmm);
10281 printf (" rdst = 0x%x\n", rdst);
10282 }
10283 SYNTAX("rotl #%1, %0");
10284 #line 706 "rx-decode.opc"
10285 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
10286
10287 }
10288 break;
10289 }
10290 break;
10291 case 0x6f:
10292 GETBYTE ();
10293 switch (op[2] & 0x00)
10294 {
10295 case 0x00:
10296 goto op_semantics_77;
10297 break;
10298 }
10299 break;
10300 case 0x70:
10301 GETBYTE ();
10302 switch (op[2] & 0xf0)
10303 {
10304 case 0x20:
10305 op_semantics_78:
10306 {
10307 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
10308 #line 488 "rx-decode.opc"
10309 int im AU = (op[1] >> 2) & 0x03;
10310 #line 488 "rx-decode.opc"
10311 int rdst AU = op[2] & 0x0f;
10312 if (trace)
10313 {
10314 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10315 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
10316 op[0], op[1], op[2]);
10317 printf (" im = 0x%x,", im);
10318 printf (" rdst = 0x%x\n", rdst);
10319 }
10320 SYNTAX("adc #%1, %0");
10321 #line 488 "rx-decode.opc"
10322 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
10323
10324 }
10325 break;
10326 case 0x40:
10327 op_semantics_79:
10328 {
10329 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
10330 #line 570 "rx-decode.opc"
10331 int im AU = (op[1] >> 2) & 0x03;
10332 #line 570 "rx-decode.opc"
10333 int rdst AU = op[2] & 0x0f;
10334 if (trace)
10335 {
10336 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10337 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
10338 op[0], op[1], op[2]);
10339 printf (" im = 0x%x,", im);
10340 printf (" rdst = 0x%x\n", rdst);
10341 }
10342 SYNTAX("max #%1, %0");
10343 #line 570 "rx-decode.opc"
10344 ID(max); DR(rdst); SC(IMMex(im));
10345
10346 }
10347 break;
10348 case 0x50:
10349 op_semantics_80:
10350 {
10351 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
10352 #line 590 "rx-decode.opc"
10353 int im AU = (op[1] >> 2) & 0x03;
10354 #line 590 "rx-decode.opc"
10355 int rdst AU = op[2] & 0x0f;
10356 if (trace)
10357 {
10358 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10359 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
10360 op[0], op[1], op[2]);
10361 printf (" im = 0x%x,", im);
10362 printf (" rdst = 0x%x\n", rdst);
10363 }
10364 SYNTAX("min #%1, %0");
10365 #line 590 "rx-decode.opc"
10366 ID(min); DR(rdst); SC(IMMex(im));
10367
10368 }
10369 break;
10370 case 0x60:
10371 op_semantics_81:
10372 {
10373 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
10374 #line 620 "rx-decode.opc"
10375 int im AU = (op[1] >> 2) & 0x03;
10376 #line 620 "rx-decode.opc"
10377 int rdst AU = op[2] & 0x0f;
10378 if (trace)
10379 {
10380 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10381 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
10382 op[0], op[1], op[2]);
10383 printf (" im = 0x%x,", im);
10384 printf (" rdst = 0x%x\n", rdst);
10385 }
10386 SYNTAX("emul #%1, %0");
10387 #line 620 "rx-decode.opc"
10388 ID(emul); DR(rdst); SC(IMMex(im));
10389
10390 }
10391 break;
10392 case 0x70:
10393 op_semantics_82:
10394 {
10395 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
10396 #line 632 "rx-decode.opc"
10397 int im AU = (op[1] >> 2) & 0x03;
10398 #line 632 "rx-decode.opc"
10399 int rdst AU = op[2] & 0x0f;
10400 if (trace)
10401 {
10402 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10403 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
10404 op[0], op[1], op[2]);
10405 printf (" im = 0x%x,", im);
10406 printf (" rdst = 0x%x\n", rdst);
10407 }
10408 SYNTAX("emulu #%1, %0");
10409 #line 632 "rx-decode.opc"
10410 ID(emulu); DR(rdst); SC(IMMex(im));
10411
10412 }
10413 break;
10414 case 0x80:
10415 op_semantics_83:
10416 {
10417 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
10418 #line 644 "rx-decode.opc"
10419 int im AU = (op[1] >> 2) & 0x03;
10420 #line 644 "rx-decode.opc"
10421 int rdst AU = op[2] & 0x0f;
10422 if (trace)
10423 {
10424 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10425 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
10426 op[0], op[1], op[2]);
10427 printf (" im = 0x%x,", im);
10428 printf (" rdst = 0x%x\n", rdst);
10429 }
10430 SYNTAX("div #%1, %0");
10431 #line 644 "rx-decode.opc"
10432 ID(div); DR(rdst); SC(IMMex(im)); F_O___;
10433
10434 }
10435 break;
10436 case 0x90:
10437 op_semantics_84:
10438 {
10439 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
10440 #line 656 "rx-decode.opc"
10441 int im AU = (op[1] >> 2) & 0x03;
10442 #line 656 "rx-decode.opc"
10443 int rdst AU = op[2] & 0x0f;
10444 if (trace)
10445 {
10446 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10447 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
10448 op[0], op[1], op[2]);
10449 printf (" im = 0x%x,", im);
10450 printf (" rdst = 0x%x\n", rdst);
10451 }
10452 SYNTAX("divu #%1, %0");
10453 #line 656 "rx-decode.opc"
10454 ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
10455
10456 }
10457 break;
10458 case 0xc0:
10459 op_semantics_85:
10460 {
10461 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
10462 #line 467 "rx-decode.opc"
10463 int im AU = (op[1] >> 2) & 0x03;
10464 #line 467 "rx-decode.opc"
10465 int rdst AU = op[2] & 0x0f;
10466 if (trace)
10467 {
10468 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10469 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
10470 op[0], op[1], op[2]);
10471 printf (" im = 0x%x,", im);
10472 printf (" rdst = 0x%x\n", rdst);
10473 }
10474 SYNTAX("tst #%1, %2");
10475 #line 467 "rx-decode.opc"
10476 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
10477
10478 }
10479 break;
10480 case 0xd0:
10481 op_semantics_86:
10482 {
10483 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
10484 #line 446 "rx-decode.opc"
10485 int im AU = (op[1] >> 2) & 0x03;
10486 #line 446 "rx-decode.opc"
10487 int rdst AU = op[2] & 0x0f;
10488 if (trace)
10489 {
10490 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10491 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
10492 op[0], op[1], op[2]);
10493 printf (" im = 0x%x,", im);
10494 printf (" rdst = 0x%x\n", rdst);
10495 }
10496 SYNTAX("xor #%1, %0");
10497 #line 446 "rx-decode.opc"
10498 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
10499
10500 }
10501 break;
10502 case 0xe0:
10503 op_semantics_87:
10504 {
10505 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
10506 #line 392 "rx-decode.opc"
10507 int im AU = (op[1] >> 2) & 0x03;
10508 #line 392 "rx-decode.opc"
10509 int rdst AU = op[2] & 0x0f;
10510 if (trace)
10511 {
10512 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10513 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
10514 op[0], op[1], op[2]);
10515 printf (" im = 0x%x,", im);
10516 printf (" rdst = 0x%x\n", rdst);
10517 }
10518 SYNTAX("stz #%1, %0");
10519 #line 392 "rx-decode.opc"
10520 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
10521
10522 }
10523 break;
10524 case 0xf0:
10525 op_semantics_88:
10526 {
10527 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
10528 #line 395 "rx-decode.opc"
10529 int im AU = (op[1] >> 2) & 0x03;
10530 #line 395 "rx-decode.opc"
10531 int rdst AU = op[2] & 0x0f;
10532 if (trace)
10533 {
10534 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10535 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
10536 op[0], op[1], op[2]);
10537 printf (" im = 0x%x,", im);
10538 printf (" rdst = 0x%x\n", rdst);
10539 }
10540 SYNTAX("stnz #%1, %0");
10541 #line 395 "rx-decode.opc"
10542 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
10543
10544 /*----------------------------------------------------------------------*/
10545 /* RTSD */
10546
10547 }
10548 break;
10549 default: UNSUPPORTED(); break;
10550 }
10551 break;
10552 case 0x72:
10553 GETBYTE ();
10554 switch (op[2] & 0xf0)
10555 {
10556 case 0x00:
10557 {
10558 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
10559 #line 864 "rx-decode.opc"
10560 int rdst AU = op[2] & 0x0f;
10561 if (trace)
10562 {
10563 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10564 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
10565 op[0], op[1], op[2]);
10566 printf (" rdst = 0x%x\n", rdst);
10567 }
10568 SYNTAX("fsub #%1, %0");
10569 #line 864 "rx-decode.opc"
10570 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
10571
10572 }
10573 break;
10574 case 0x10:
10575 {
10576 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
10577 #line 858 "rx-decode.opc"
10578 int rdst AU = op[2] & 0x0f;
10579 if (trace)
10580 {
10581 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10582 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
10583 op[0], op[1], op[2]);
10584 printf (" rdst = 0x%x\n", rdst);
10585 }
10586 SYNTAX("fcmp #%1, %0");
10587 #line 858 "rx-decode.opc"
10588 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
10589
10590 }
10591 break;
10592 case 0x20:
10593 {
10594 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
10595 #line 852 "rx-decode.opc"
10596 int rdst AU = op[2] & 0x0f;
10597 if (trace)
10598 {
10599 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10600 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
10601 op[0], op[1], op[2]);
10602 printf (" rdst = 0x%x\n", rdst);
10603 }
10604 SYNTAX("fadd #%1, %0");
10605 #line 852 "rx-decode.opc"
10606 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
10607
10608 }
10609 break;
10610 case 0x30:
10611 {
10612 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
10613 #line 873 "rx-decode.opc"
10614 int rdst AU = op[2] & 0x0f;
10615 if (trace)
10616 {
10617 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10618 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
10619 op[0], op[1], op[2]);
10620 printf (" rdst = 0x%x\n", rdst);
10621 }
10622 SYNTAX("fmul #%1, %0");
10623 #line 873 "rx-decode.opc"
10624 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
10625
10626 }
10627 break;
10628 case 0x40:
10629 {
10630 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
10631 #line 879 "rx-decode.opc"
10632 int rdst AU = op[2] & 0x0f;
10633 if (trace)
10634 {
10635 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10636 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
10637 op[0], op[1], op[2]);
10638 printf (" rdst = 0x%x\n", rdst);
10639 }
10640 SYNTAX("fdiv #%1, %0");
10641 #line 879 "rx-decode.opc"
10642 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
10643
10644 }
10645 break;
10646 default: UNSUPPORTED(); break;
10647 }
10648 break;
10649 case 0x73:
10650 GETBYTE ();
10651 switch (op[2] & 0xe0)
10652 {
10653 case 0x00:
10654 op_semantics_89:
10655 {
10656 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
10657 #line 969 "rx-decode.opc"
10658 int im AU = (op[1] >> 2) & 0x03;
10659 #line 969 "rx-decode.opc"
10660 int crdst AU = op[2] & 0x1f;
10661 if (trace)
10662 {
10663 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10664 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
10665 op[0], op[1], op[2]);
10666 printf (" im = 0x%x,", im);
10667 printf (" crdst = 0x%x\n", crdst);
10668 }
10669 SYNTAX("mvtc #%1, %0");
10670 #line 969 "rx-decode.opc"
10671 ID(mov); SC(IMMex(im)); DR(crdst + 16);
10672
10673 }
10674 break;
10675 default: UNSUPPORTED(); break;
10676 }
10677 break;
10678 case 0x74:
10679 GETBYTE ();
10680 switch (op[2] & 0xf0)
10681 {
10682 case 0x20:
10683 goto op_semantics_78;
10684 break;
10685 case 0x40:
10686 goto op_semantics_79;
10687 break;
10688 case 0x50:
10689 goto op_semantics_80;
10690 break;
10691 case 0x60:
10692 goto op_semantics_81;
10693 break;
10694 case 0x70:
10695 goto op_semantics_82;
10696 break;
10697 case 0x80:
10698 goto op_semantics_83;
10699 break;
10700 case 0x90:
10701 goto op_semantics_84;
10702 break;
10703 case 0xc0:
10704 goto op_semantics_85;
10705 break;
10706 case 0xd0:
10707 goto op_semantics_86;
10708 break;
10709 case 0xe0:
10710 goto op_semantics_87;
10711 break;
10712 case 0xf0:
10713 goto op_semantics_88;
10714 break;
10715 default: UNSUPPORTED(); break;
10716 }
10717 break;
10718 case 0x77:
10719 GETBYTE ();
10720 switch (op[2] & 0xe0)
10721 {
10722 case 0x00:
10723 goto op_semantics_89;
10724 break;
10725 default: UNSUPPORTED(); break;
10726 }
10727 break;
10728 case 0x78:
10729 GETBYTE ();
10730 switch (op[2] & 0xf0)
10731 {
10732 case 0x20:
10733 goto op_semantics_78;
10734 break;
10735 case 0x40:
10736 goto op_semantics_79;
10737 break;
10738 case 0x50:
10739 goto op_semantics_80;
10740 break;
10741 case 0x60:
10742 goto op_semantics_81;
10743 break;
10744 case 0x70:
10745 goto op_semantics_82;
10746 break;
10747 case 0x80:
10748 goto op_semantics_83;
10749 break;
10750 case 0x90:
10751 goto op_semantics_84;
10752 break;
10753 case 0xc0:
10754 goto op_semantics_85;
10755 break;
10756 case 0xd0:
10757 goto op_semantics_86;
10758 break;
10759 case 0xe0:
10760 goto op_semantics_87;
10761 break;
10762 case 0xf0:
10763 goto op_semantics_88;
10764 break;
10765 default: UNSUPPORTED(); break;
10766 }
10767 break;
10768 case 0x7b:
10769 GETBYTE ();
10770 switch (op[2] & 0xe0)
10771 {
10772 case 0x00:
10773 goto op_semantics_89;
10774 break;
10775 default: UNSUPPORTED(); break;
10776 }
10777 break;
10778 case 0x7c:
10779 GETBYTE ();
10780 switch (op[2] & 0xf0)
10781 {
10782 case 0x20:
10783 goto op_semantics_78;
10784 break;
10785 case 0x40:
10786 goto op_semantics_79;
10787 break;
10788 case 0x50:
10789 goto op_semantics_80;
10790 break;
10791 case 0x60:
10792 goto op_semantics_81;
10793 break;
10794 case 0x70:
10795 goto op_semantics_82;
10796 break;
10797 case 0x80:
10798 goto op_semantics_83;
10799 break;
10800 case 0x90:
10801 goto op_semantics_84;
10802 break;
10803 case 0xc0:
10804 goto op_semantics_85;
10805 break;
10806 case 0xd0:
10807 goto op_semantics_86;
10808 break;
10809 case 0xe0:
10810 goto op_semantics_87;
10811 break;
10812 case 0xf0:
10813 goto op_semantics_88;
10814 break;
10815 default: UNSUPPORTED(); break;
10816 }
10817 break;
10818 case 0x7f:
10819 GETBYTE ();
10820 switch (op[2] & 0xe0)
10821 {
10822 case 0x00:
10823 goto op_semantics_89;
10824 break;
10825 default: UNSUPPORTED(); break;
10826 }
10827 break;
10828 case 0x80:
10829 GETBYTE ();
10830 switch (op[2] & 0x00)
10831 {
10832 case 0x00:
10833 op_semantics_90:
10834 {
10835 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
10836 #line 694 "rx-decode.opc"
10837 int immmm AU = op[1] & 0x1f;
10838 #line 694 "rx-decode.opc"
10839 int rsrc AU = (op[2] >> 4) & 0x0f;
10840 #line 694 "rx-decode.opc"
10841 int rdst AU = op[2] & 0x0f;
10842 if (trace)
10843 {
10844 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10845 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
10846 op[0], op[1], op[2]);
10847 printf (" immmm = 0x%x,", immmm);
10848 printf (" rsrc = 0x%x,", rsrc);
10849 printf (" rdst = 0x%x\n", rdst);
10850 }
10851 SYNTAX("shlr #%2, %1, %0");
10852 #line 694 "rx-decode.opc"
10853 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
10854
10855 /*----------------------------------------------------------------------*/
10856 /* ROTATE */
10857
10858 }
10859 break;
10860 }
10861 break;
10862 case 0x81:
10863 GETBYTE ();
10864 switch (op[2] & 0x00)
10865 {
10866 case 0x00:
10867 goto op_semantics_90;
10868 break;
10869 }
10870 break;
10871 case 0x82:
10872 GETBYTE ();
10873 switch (op[2] & 0x00)
10874 {
10875 case 0x00:
10876 goto op_semantics_90;
10877 break;
10878 }
10879 break;
10880 case 0x83:
10881 GETBYTE ();
10882 switch (op[2] & 0x00)
10883 {
10884 case 0x00:
10885 goto op_semantics_90;
10886 break;
10887 }
10888 break;
10889 case 0x84:
10890 GETBYTE ();
10891 switch (op[2] & 0x00)
10892 {
10893 case 0x00:
10894 goto op_semantics_90;
10895 break;
10896 }
10897 break;
10898 case 0x85:
10899 GETBYTE ();
10900 switch (op[2] & 0x00)
10901 {
10902 case 0x00:
10903 goto op_semantics_90;
10904 break;
10905 }
10906 break;
10907 case 0x86:
10908 GETBYTE ();
10909 switch (op[2] & 0x00)
10910 {
10911 case 0x00:
10912 goto op_semantics_90;
10913 break;
10914 }
10915 break;
10916 case 0x87:
10917 GETBYTE ();
10918 switch (op[2] & 0x00)
10919 {
10920 case 0x00:
10921 goto op_semantics_90;
10922 break;
10923 }
10924 break;
10925 case 0x88:
10926 GETBYTE ();
10927 switch (op[2] & 0x00)
10928 {
10929 case 0x00:
10930 goto op_semantics_90;
10931 break;
10932 }
10933 break;
10934 case 0x89:
10935 GETBYTE ();
10936 switch (op[2] & 0x00)
10937 {
10938 case 0x00:
10939 goto op_semantics_90;
10940 break;
10941 }
10942 break;
10943 case 0x8a:
10944 GETBYTE ();
10945 switch (op[2] & 0x00)
10946 {
10947 case 0x00:
10948 goto op_semantics_90;
10949 break;
10950 }
10951 break;
10952 case 0x8b:
10953 GETBYTE ();
10954 switch (op[2] & 0x00)
10955 {
10956 case 0x00:
10957 goto op_semantics_90;
10958 break;
10959 }
10960 break;
10961 case 0x8c:
10962 GETBYTE ();
10963 switch (op[2] & 0x00)
10964 {
10965 case 0x00:
10966 goto op_semantics_90;
10967 break;
10968 }
10969 break;
10970 case 0x8d:
10971 GETBYTE ();
10972 switch (op[2] & 0x00)
10973 {
10974 case 0x00:
10975 goto op_semantics_90;
10976 break;
10977 }
10978 break;
10979 case 0x8e:
10980 GETBYTE ();
10981 switch (op[2] & 0x00)
10982 {
10983 case 0x00:
10984 goto op_semantics_90;
10985 break;
10986 }
10987 break;
10988 case 0x8f:
10989 GETBYTE ();
10990 switch (op[2] & 0x00)
10991 {
10992 case 0x00:
10993 goto op_semantics_90;
10994 break;
10995 }
10996 break;
10997 case 0x90:
10998 GETBYTE ();
10999 switch (op[2] & 0x00)
11000 {
11001 case 0x00:
11002 goto op_semantics_90;
11003 break;
11004 }
11005 break;
11006 case 0x91:
11007 GETBYTE ();
11008 switch (op[2] & 0x00)
11009 {
11010 case 0x00:
11011 goto op_semantics_90;
11012 break;
11013 }
11014 break;
11015 case 0x92:
11016 GETBYTE ();
11017 switch (op[2] & 0x00)
11018 {
11019 case 0x00:
11020 goto op_semantics_90;
11021 break;
11022 }
11023 break;
11024 case 0x93:
11025 GETBYTE ();
11026 switch (op[2] & 0x00)
11027 {
11028 case 0x00:
11029 goto op_semantics_90;
11030 break;
11031 }
11032 break;
11033 case 0x94:
11034 GETBYTE ();
11035 switch (op[2] & 0x00)
11036 {
11037 case 0x00:
11038 goto op_semantics_90;
11039 break;
11040 }
11041 break;
11042 case 0x95:
11043 GETBYTE ();
11044 switch (op[2] & 0x00)
11045 {
11046 case 0x00:
11047 goto op_semantics_90;
11048 break;
11049 }
11050 break;
11051 case 0x96:
11052 GETBYTE ();
11053 switch (op[2] & 0x00)
11054 {
11055 case 0x00:
11056 goto op_semantics_90;
11057 break;
11058 }
11059 break;
11060 case 0x97:
11061 GETBYTE ();
11062 switch (op[2] & 0x00)
11063 {
11064 case 0x00:
11065 goto op_semantics_90;
11066 break;
11067 }
11068 break;
11069 case 0x98:
11070 GETBYTE ();
11071 switch (op[2] & 0x00)
11072 {
11073 case 0x00:
11074 goto op_semantics_90;
11075 break;
11076 }
11077 break;
11078 case 0x99:
11079 GETBYTE ();
11080 switch (op[2] & 0x00)
11081 {
11082 case 0x00:
11083 goto op_semantics_90;
11084 break;
11085 }
11086 break;
11087 case 0x9a:
11088 GETBYTE ();
11089 switch (op[2] & 0x00)
11090 {
11091 case 0x00:
11092 goto op_semantics_90;
11093 break;
11094 }
11095 break;
11096 case 0x9b:
11097 GETBYTE ();
11098 switch (op[2] & 0x00)
11099 {
11100 case 0x00:
11101 goto op_semantics_90;
11102 break;
11103 }
11104 break;
11105 case 0x9c:
11106 GETBYTE ();
11107 switch (op[2] & 0x00)
11108 {
11109 case 0x00:
11110 goto op_semantics_90;
11111 break;
11112 }
11113 break;
11114 case 0x9d:
11115 GETBYTE ();
11116 switch (op[2] & 0x00)
11117 {
11118 case 0x00:
11119 goto op_semantics_90;
11120 break;
11121 }
11122 break;
11123 case 0x9e:
11124 GETBYTE ();
11125 switch (op[2] & 0x00)
11126 {
11127 case 0x00:
11128 goto op_semantics_90;
11129 break;
11130 }
11131 break;
11132 case 0x9f:
11133 GETBYTE ();
11134 switch (op[2] & 0x00)
11135 {
11136 case 0x00:
11137 goto op_semantics_90;
11138 break;
11139 }
11140 break;
11141 case 0xa0:
11142 GETBYTE ();
11143 switch (op[2] & 0x00)
11144 {
11145 case 0x00:
11146 op_semantics_91:
11147 {
11148 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
11149 #line 684 "rx-decode.opc"
11150 int immmm AU = op[1] & 0x1f;
11151 #line 684 "rx-decode.opc"
11152 int rsrc AU = (op[2] >> 4) & 0x0f;
11153 #line 684 "rx-decode.opc"
11154 int rdst AU = op[2] & 0x0f;
11155 if (trace)
11156 {
11157 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11158 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
11159 op[0], op[1], op[2]);
11160 printf (" immmm = 0x%x,", immmm);
11161 printf (" rsrc = 0x%x,", rsrc);
11162 printf (" rdst = 0x%x\n", rdst);
11163 }
11164 SYNTAX("shar #%2, %1, %0");
11165 #line 684 "rx-decode.opc"
11166 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
11167
11168
11169 }
11170 break;
11171 }
11172 break;
11173 case 0xa1:
11174 GETBYTE ();
11175 switch (op[2] & 0x00)
11176 {
11177 case 0x00:
11178 goto op_semantics_91;
11179 break;
11180 }
11181 break;
11182 case 0xa2:
11183 GETBYTE ();
11184 switch (op[2] & 0x00)
11185 {
11186 case 0x00:
11187 goto op_semantics_91;
11188 break;
11189 }
11190 break;
11191 case 0xa3:
11192 GETBYTE ();
11193 switch (op[2] & 0x00)
11194 {
11195 case 0x00:
11196 goto op_semantics_91;
11197 break;
11198 }
11199 break;
11200 case 0xa4:
11201 GETBYTE ();
11202 switch (op[2] & 0x00)
11203 {
11204 case 0x00:
11205 goto op_semantics_91;
11206 break;
11207 }
11208 break;
11209 case 0xa5:
11210 GETBYTE ();
11211 switch (op[2] & 0x00)
11212 {
11213 case 0x00:
11214 goto op_semantics_91;
11215 break;
11216 }
11217 break;
11218 case 0xa6:
11219 GETBYTE ();
11220 switch (op[2] & 0x00)
11221 {
11222 case 0x00:
11223 goto op_semantics_91;
11224 break;
11225 }
11226 break;
11227 case 0xa7:
11228 GETBYTE ();
11229 switch (op[2] & 0x00)
11230 {
11231 case 0x00:
11232 goto op_semantics_91;
11233 break;
11234 }
11235 break;
11236 case 0xa8:
11237 GETBYTE ();
11238 switch (op[2] & 0x00)
11239 {
11240 case 0x00:
11241 goto op_semantics_91;
11242 break;
11243 }
11244 break;
11245 case 0xa9:
11246 GETBYTE ();
11247 switch (op[2] & 0x00)
11248 {
11249 case 0x00:
11250 goto op_semantics_91;
11251 break;
11252 }
11253 break;
11254 case 0xaa:
11255 GETBYTE ();
11256 switch (op[2] & 0x00)
11257 {
11258 case 0x00:
11259 goto op_semantics_91;
11260 break;
11261 }
11262 break;
11263 case 0xab:
11264 GETBYTE ();
11265 switch (op[2] & 0x00)
11266 {
11267 case 0x00:
11268 goto op_semantics_91;
11269 break;
11270 }
11271 break;
11272 case 0xac:
11273 GETBYTE ();
11274 switch (op[2] & 0x00)
11275 {
11276 case 0x00:
11277 goto op_semantics_91;
11278 break;
11279 }
11280 break;
11281 case 0xad:
11282 GETBYTE ();
11283 switch (op[2] & 0x00)
11284 {
11285 case 0x00:
11286 goto op_semantics_91;
11287 break;
11288 }
11289 break;
11290 case 0xae:
11291 GETBYTE ();
11292 switch (op[2] & 0x00)
11293 {
11294 case 0x00:
11295 goto op_semantics_91;
11296 break;
11297 }
11298 break;
11299 case 0xaf:
11300 GETBYTE ();
11301 switch (op[2] & 0x00)
11302 {
11303 case 0x00:
11304 goto op_semantics_91;
11305 break;
11306 }
11307 break;
11308 case 0xb0:
11309 GETBYTE ();
11310 switch (op[2] & 0x00)
11311 {
11312 case 0x00:
11313 goto op_semantics_91;
11314 break;
11315 }
11316 break;
11317 case 0xb1:
11318 GETBYTE ();
11319 switch (op[2] & 0x00)
11320 {
11321 case 0x00:
11322 goto op_semantics_91;
11323 break;
11324 }
11325 break;
11326 case 0xb2:
11327 GETBYTE ();
11328 switch (op[2] & 0x00)
11329 {
11330 case 0x00:
11331 goto op_semantics_91;
11332 break;
11333 }
11334 break;
11335 case 0xb3:
11336 GETBYTE ();
11337 switch (op[2] & 0x00)
11338 {
11339 case 0x00:
11340 goto op_semantics_91;
11341 break;
11342 }
11343 break;
11344 case 0xb4:
11345 GETBYTE ();
11346 switch (op[2] & 0x00)
11347 {
11348 case 0x00:
11349 goto op_semantics_91;
11350 break;
11351 }
11352 break;
11353 case 0xb5:
11354 GETBYTE ();
11355 switch (op[2] & 0x00)
11356 {
11357 case 0x00:
11358 goto op_semantics_91;
11359 break;
11360 }
11361 break;
11362 case 0xb6:
11363 GETBYTE ();
11364 switch (op[2] & 0x00)
11365 {
11366 case 0x00:
11367 goto op_semantics_91;
11368 break;
11369 }
11370 break;
11371 case 0xb7:
11372 GETBYTE ();
11373 switch (op[2] & 0x00)
11374 {
11375 case 0x00:
11376 goto op_semantics_91;
11377 break;
11378 }
11379 break;
11380 case 0xb8:
11381 GETBYTE ();
11382 switch (op[2] & 0x00)
11383 {
11384 case 0x00:
11385 goto op_semantics_91;
11386 break;
11387 }
11388 break;
11389 case 0xb9:
11390 GETBYTE ();
11391 switch (op[2] & 0x00)
11392 {
11393 case 0x00:
11394 goto op_semantics_91;
11395 break;
11396 }
11397 break;
11398 case 0xba:
11399 GETBYTE ();
11400 switch (op[2] & 0x00)
11401 {
11402 case 0x00:
11403 goto op_semantics_91;
11404 break;
11405 }
11406 break;
11407 case 0xbb:
11408 GETBYTE ();
11409 switch (op[2] & 0x00)
11410 {
11411 case 0x00:
11412 goto op_semantics_91;
11413 break;
11414 }
11415 break;
11416 case 0xbc:
11417 GETBYTE ();
11418 switch (op[2] & 0x00)
11419 {
11420 case 0x00:
11421 goto op_semantics_91;
11422 break;
11423 }
11424 break;
11425 case 0xbd:
11426 GETBYTE ();
11427 switch (op[2] & 0x00)
11428 {
11429 case 0x00:
11430 goto op_semantics_91;
11431 break;
11432 }
11433 break;
11434 case 0xbe:
11435 GETBYTE ();
11436 switch (op[2] & 0x00)
11437 {
11438 case 0x00:
11439 goto op_semantics_91;
11440 break;
11441 }
11442 break;
11443 case 0xbf:
11444 GETBYTE ();
11445 switch (op[2] & 0x00)
11446 {
11447 case 0x00:
11448 goto op_semantics_91;
11449 break;
11450 }
11451 break;
11452 case 0xc0:
11453 GETBYTE ();
11454 switch (op[2] & 0x00)
11455 {
11456 case 0x00:
11457 op_semantics_92:
11458 {
11459 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
11460 #line 674 "rx-decode.opc"
11461 int immmm AU = op[1] & 0x1f;
11462 #line 674 "rx-decode.opc"
11463 int rsrc AU = (op[2] >> 4) & 0x0f;
11464 #line 674 "rx-decode.opc"
11465 int rdst AU = op[2] & 0x0f;
11466 if (trace)
11467 {
11468 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11469 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
11470 op[0], op[1], op[2]);
11471 printf (" immmm = 0x%x,", immmm);
11472 printf (" rsrc = 0x%x,", rsrc);
11473 printf (" rdst = 0x%x\n", rdst);
11474 }
11475 SYNTAX("shll #%2, %1, %0");
11476 #line 674 "rx-decode.opc"
11477 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
11478
11479
11480 }
11481 break;
11482 }
11483 break;
11484 case 0xc1:
11485 GETBYTE ();
11486 switch (op[2] & 0x00)
11487 {
11488 case 0x00:
11489 goto op_semantics_92;
11490 break;
11491 }
11492 break;
11493 case 0xc2:
11494 GETBYTE ();
11495 switch (op[2] & 0x00)
11496 {
11497 case 0x00:
11498 goto op_semantics_92;
11499 break;
11500 }
11501 break;
11502 case 0xc3:
11503 GETBYTE ();
11504 switch (op[2] & 0x00)
11505 {
11506 case 0x00:
11507 goto op_semantics_92;
11508 break;
11509 }
11510 break;
11511 case 0xc4:
11512 GETBYTE ();
11513 switch (op[2] & 0x00)
11514 {
11515 case 0x00:
11516 goto op_semantics_92;
11517 break;
11518 }
11519 break;
11520 case 0xc5:
11521 GETBYTE ();
11522 switch (op[2] & 0x00)
11523 {
11524 case 0x00:
11525 goto op_semantics_92;
11526 break;
11527 }
11528 break;
11529 case 0xc6:
11530 GETBYTE ();
11531 switch (op[2] & 0x00)
11532 {
11533 case 0x00:
11534 goto op_semantics_92;
11535 break;
11536 }
11537 break;
11538 case 0xc7:
11539 GETBYTE ();
11540 switch (op[2] & 0x00)
11541 {
11542 case 0x00:
11543 goto op_semantics_92;
11544 break;
11545 }
11546 break;
11547 case 0xc8:
11548 GETBYTE ();
11549 switch (op[2] & 0x00)
11550 {
11551 case 0x00:
11552 goto op_semantics_92;
11553 break;
11554 }
11555 break;
11556 case 0xc9:
11557 GETBYTE ();
11558 switch (op[2] & 0x00)
11559 {
11560 case 0x00:
11561 goto op_semantics_92;
11562 break;
11563 }
11564 break;
11565 case 0xca:
11566 GETBYTE ();
11567 switch (op[2] & 0x00)
11568 {
11569 case 0x00:
11570 goto op_semantics_92;
11571 break;
11572 }
11573 break;
11574 case 0xcb:
11575 GETBYTE ();
11576 switch (op[2] & 0x00)
11577 {
11578 case 0x00:
11579 goto op_semantics_92;
11580 break;
11581 }
11582 break;
11583 case 0xcc:
11584 GETBYTE ();
11585 switch (op[2] & 0x00)
11586 {
11587 case 0x00:
11588 goto op_semantics_92;
11589 break;
11590 }
11591 break;
11592 case 0xcd:
11593 GETBYTE ();
11594 switch (op[2] & 0x00)
11595 {
11596 case 0x00:
11597 goto op_semantics_92;
11598 break;
11599 }
11600 break;
11601 case 0xce:
11602 GETBYTE ();
11603 switch (op[2] & 0x00)
11604 {
11605 case 0x00:
11606 goto op_semantics_92;
11607 break;
11608 }
11609 break;
11610 case 0xcf:
11611 GETBYTE ();
11612 switch (op[2] & 0x00)
11613 {
11614 case 0x00:
11615 goto op_semantics_92;
11616 break;
11617 }
11618 break;
11619 case 0xd0:
11620 GETBYTE ();
11621 switch (op[2] & 0x00)
11622 {
11623 case 0x00:
11624 goto op_semantics_92;
11625 break;
11626 }
11627 break;
11628 case 0xd1:
11629 GETBYTE ();
11630 switch (op[2] & 0x00)
11631 {
11632 case 0x00:
11633 goto op_semantics_92;
11634 break;
11635 }
11636 break;
11637 case 0xd2:
11638 GETBYTE ();
11639 switch (op[2] & 0x00)
11640 {
11641 case 0x00:
11642 goto op_semantics_92;
11643 break;
11644 }
11645 break;
11646 case 0xd3:
11647 GETBYTE ();
11648 switch (op[2] & 0x00)
11649 {
11650 case 0x00:
11651 goto op_semantics_92;
11652 break;
11653 }
11654 break;
11655 case 0xd4:
11656 GETBYTE ();
11657 switch (op[2] & 0x00)
11658 {
11659 case 0x00:
11660 goto op_semantics_92;
11661 break;
11662 }
11663 break;
11664 case 0xd5:
11665 GETBYTE ();
11666 switch (op[2] & 0x00)
11667 {
11668 case 0x00:
11669 goto op_semantics_92;
11670 break;
11671 }
11672 break;
11673 case 0xd6:
11674 GETBYTE ();
11675 switch (op[2] & 0x00)
11676 {
11677 case 0x00:
11678 goto op_semantics_92;
11679 break;
11680 }
11681 break;
11682 case 0xd7:
11683 GETBYTE ();
11684 switch (op[2] & 0x00)
11685 {
11686 case 0x00:
11687 goto op_semantics_92;
11688 break;
11689 }
11690 break;
11691 case 0xd8:
11692 GETBYTE ();
11693 switch (op[2] & 0x00)
11694 {
11695 case 0x00:
11696 goto op_semantics_92;
11697 break;
11698 }
11699 break;
11700 case 0xd9:
11701 GETBYTE ();
11702 switch (op[2] & 0x00)
11703 {
11704 case 0x00:
11705 goto op_semantics_92;
11706 break;
11707 }
11708 break;
11709 case 0xda:
11710 GETBYTE ();
11711 switch (op[2] & 0x00)
11712 {
11713 case 0x00:
11714 goto op_semantics_92;
11715 break;
11716 }
11717 break;
11718 case 0xdb:
11719 GETBYTE ();
11720 switch (op[2] & 0x00)
11721 {
11722 case 0x00:
11723 goto op_semantics_92;
11724 break;
11725 }
11726 break;
11727 case 0xdc:
11728 GETBYTE ();
11729 switch (op[2] & 0x00)
11730 {
11731 case 0x00:
11732 goto op_semantics_92;
11733 break;
11734 }
11735 break;
11736 case 0xdd:
11737 GETBYTE ();
11738 switch (op[2] & 0x00)
11739 {
11740 case 0x00:
11741 goto op_semantics_92;
11742 break;
11743 }
11744 break;
11745 case 0xde:
11746 GETBYTE ();
11747 switch (op[2] & 0x00)
11748 {
11749 case 0x00:
11750 goto op_semantics_92;
11751 break;
11752 }
11753 break;
11754 case 0xdf:
11755 GETBYTE ();
11756 switch (op[2] & 0x00)
11757 {
11758 case 0x00:
11759 goto op_semantics_92;
11760 break;
11761 }
11762 break;
11763 case 0xe0:
11764 GETBYTE ();
11765 switch (op[2] & 0xf0)
11766 {
11767 case 0x00:
11768 case 0x10:
11769 case 0x20:
11770 case 0x30:
11771 case 0x40:
11772 case 0x50:
11773 case 0x60:
11774 case 0x70:
11775 case 0x80:
11776 case 0x90:
11777 case 0xa0:
11778 case 0xb0:
11779 case 0xc0:
11780 case 0xd0:
11781 case 0xe0:
11782 op_semantics_93:
11783 {
11784 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
11785 #line 948 "rx-decode.opc"
11786 int bittt AU = op[1] & 0x1f;
11787 #line 948 "rx-decode.opc"
11788 int cond AU = (op[2] >> 4) & 0x0f;
11789 #line 948 "rx-decode.opc"
11790 int rdst AU = op[2] & 0x0f;
11791 if (trace)
11792 {
11793 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11794 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
11795 op[0], op[1], op[2]);
11796 printf (" bittt = 0x%x,", bittt);
11797 printf (" cond = 0x%x,", cond);
11798 printf (" rdst = 0x%x\n", rdst);
11799 }
11800 SYNTAX("bm%2 #%1, %0%S0");
11801 #line 948 "rx-decode.opc"
11802 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
11803
11804 /*----------------------------------------------------------------------*/
11805 /* CONTROL REGISTERS */
11806
11807 }
11808 break;
11809 case 0xf0:
11810 op_semantics_94:
11811 {
11812 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
11813 #line 941 "rx-decode.opc"
11814 int bittt AU = op[1] & 0x1f;
11815 #line 941 "rx-decode.opc"
11816 int rdst AU = op[2] & 0x0f;
11817 if (trace)
11818 {
11819 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11820 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
11821 op[0], op[1], op[2]);
11822 printf (" bittt = 0x%x,", bittt);
11823 printf (" rdst = 0x%x\n", rdst);
11824 }
11825 SYNTAX("bnot #%1, %0");
11826 #line 941 "rx-decode.opc"
11827 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
11828
11829
11830 }
11831 break;
11832 }
11833 break;
11834 case 0xe1:
11835 GETBYTE ();
11836 switch (op[2] & 0xf0)
11837 {
11838 case 0x00:
11839 case 0x10:
11840 case 0x20:
11841 case 0x30:
11842 case 0x40:
11843 case 0x50:
11844 case 0x60:
11845 case 0x70:
11846 case 0x80:
11847 case 0x90:
11848 case 0xa0:
11849 case 0xb0:
11850 case 0xc0:
11851 case 0xd0:
11852 case 0xe0:
11853 goto op_semantics_93;
11854 break;
11855 case 0xf0:
11856 goto op_semantics_94;
11857 break;
11858 }
11859 break;
11860 case 0xe2:
11861 GETBYTE ();
11862 switch (op[2] & 0xf0)
11863 {
11864 case 0x00:
11865 case 0x10:
11866 case 0x20:
11867 case 0x30:
11868 case 0x40:
11869 case 0x50:
11870 case 0x60:
11871 case 0x70:
11872 case 0x80:
11873 case 0x90:
11874 case 0xa0:
11875 case 0xb0:
11876 case 0xc0:
11877 case 0xd0:
11878 case 0xe0:
11879 goto op_semantics_93;
11880 break;
11881 case 0xf0:
11882 goto op_semantics_94;
11883 break;
11884 }
11885 break;
11886 case 0xe3:
11887 GETBYTE ();
11888 switch (op[2] & 0xf0)
11889 {
11890 case 0x00:
11891 case 0x10:
11892 case 0x20:
11893 case 0x30:
11894 case 0x40:
11895 case 0x50:
11896 case 0x60:
11897 case 0x70:
11898 case 0x80:
11899 case 0x90:
11900 case 0xa0:
11901 case 0xb0:
11902 case 0xc0:
11903 case 0xd0:
11904 case 0xe0:
11905 goto op_semantics_93;
11906 break;
11907 case 0xf0:
11908 goto op_semantics_94;
11909 break;
11910 }
11911 break;
11912 case 0xe4:
11913 GETBYTE ();
11914 switch (op[2] & 0xf0)
11915 {
11916 case 0x00:
11917 case 0x10:
11918 case 0x20:
11919 case 0x30:
11920 case 0x40:
11921 case 0x50:
11922 case 0x60:
11923 case 0x70:
11924 case 0x80:
11925 case 0x90:
11926 case 0xa0:
11927 case 0xb0:
11928 case 0xc0:
11929 case 0xd0:
11930 case 0xe0:
11931 goto op_semantics_93;
11932 break;
11933 case 0xf0:
11934 goto op_semantics_94;
11935 break;
11936 }
11937 break;
11938 case 0xe5:
11939 GETBYTE ();
11940 switch (op[2] & 0xf0)
11941 {
11942 case 0x00:
11943 case 0x10:
11944 case 0x20:
11945 case 0x30:
11946 case 0x40:
11947 case 0x50:
11948 case 0x60:
11949 case 0x70:
11950 case 0x80:
11951 case 0x90:
11952 case 0xa0:
11953 case 0xb0:
11954 case 0xc0:
11955 case 0xd0:
11956 case 0xe0:
11957 goto op_semantics_93;
11958 break;
11959 case 0xf0:
11960 goto op_semantics_94;
11961 break;
11962 }
11963 break;
11964 case 0xe6:
11965 GETBYTE ();
11966 switch (op[2] & 0xf0)
11967 {
11968 case 0x00:
11969 case 0x10:
11970 case 0x20:
11971 case 0x30:
11972 case 0x40:
11973 case 0x50:
11974 case 0x60:
11975 case 0x70:
11976 case 0x80:
11977 case 0x90:
11978 case 0xa0:
11979 case 0xb0:
11980 case 0xc0:
11981 case 0xd0:
11982 case 0xe0:
11983 goto op_semantics_93;
11984 break;
11985 case 0xf0:
11986 goto op_semantics_94;
11987 break;
11988 }
11989 break;
11990 case 0xe7:
11991 GETBYTE ();
11992 switch (op[2] & 0xf0)
11993 {
11994 case 0x00:
11995 case 0x10:
11996 case 0x20:
11997 case 0x30:
11998 case 0x40:
11999 case 0x50:
12000 case 0x60:
12001 case 0x70:
12002 case 0x80:
12003 case 0x90:
12004 case 0xa0:
12005 case 0xb0:
12006 case 0xc0:
12007 case 0xd0:
12008 case 0xe0:
12009 goto op_semantics_93;
12010 break;
12011 case 0xf0:
12012 goto op_semantics_94;
12013 break;
12014 }
12015 break;
12016 case 0xe8:
12017 GETBYTE ();
12018 switch (op[2] & 0xf0)
12019 {
12020 case 0x00:
12021 case 0x10:
12022 case 0x20:
12023 case 0x30:
12024 case 0x40:
12025 case 0x50:
12026 case 0x60:
12027 case 0x70:
12028 case 0x80:
12029 case 0x90:
12030 case 0xa0:
12031 case 0xb0:
12032 case 0xc0:
12033 case 0xd0:
12034 case 0xe0:
12035 goto op_semantics_93;
12036 break;
12037 case 0xf0:
12038 goto op_semantics_94;
12039 break;
12040 }
12041 break;
12042 case 0xe9:
12043 GETBYTE ();
12044 switch (op[2] & 0xf0)
12045 {
12046 case 0x00:
12047 case 0x10:
12048 case 0x20:
12049 case 0x30:
12050 case 0x40:
12051 case 0x50:
12052 case 0x60:
12053 case 0x70:
12054 case 0x80:
12055 case 0x90:
12056 case 0xa0:
12057 case 0xb0:
12058 case 0xc0:
12059 case 0xd0:
12060 case 0xe0:
12061 goto op_semantics_93;
12062 break;
12063 case 0xf0:
12064 goto op_semantics_94;
12065 break;
12066 }
12067 break;
12068 case 0xea:
12069 GETBYTE ();
12070 switch (op[2] & 0xf0)
12071 {
12072 case 0x00:
12073 case 0x10:
12074 case 0x20:
12075 case 0x30:
12076 case 0x40:
12077 case 0x50:
12078 case 0x60:
12079 case 0x70:
12080 case 0x80:
12081 case 0x90:
12082 case 0xa0:
12083 case 0xb0:
12084 case 0xc0:
12085 case 0xd0:
12086 case 0xe0:
12087 goto op_semantics_93;
12088 break;
12089 case 0xf0:
12090 goto op_semantics_94;
12091 break;
12092 }
12093 break;
12094 case 0xeb:
12095 GETBYTE ();
12096 switch (op[2] & 0xf0)
12097 {
12098 case 0x00:
12099 case 0x10:
12100 case 0x20:
12101 case 0x30:
12102 case 0x40:
12103 case 0x50:
12104 case 0x60:
12105 case 0x70:
12106 case 0x80:
12107 case 0x90:
12108 case 0xa0:
12109 case 0xb0:
12110 case 0xc0:
12111 case 0xd0:
12112 case 0xe0:
12113 goto op_semantics_93;
12114 break;
12115 case 0xf0:
12116 goto op_semantics_94;
12117 break;
12118 }
12119 break;
12120 case 0xec:
12121 GETBYTE ();
12122 switch (op[2] & 0xf0)
12123 {
12124 case 0x00:
12125 case 0x10:
12126 case 0x20:
12127 case 0x30:
12128 case 0x40:
12129 case 0x50:
12130 case 0x60:
12131 case 0x70:
12132 case 0x80:
12133 case 0x90:
12134 case 0xa0:
12135 case 0xb0:
12136 case 0xc0:
12137 case 0xd0:
12138 case 0xe0:
12139 goto op_semantics_93;
12140 break;
12141 case 0xf0:
12142 goto op_semantics_94;
12143 break;
12144 }
12145 break;
12146 case 0xed:
12147 GETBYTE ();
12148 switch (op[2] & 0xf0)
12149 {
12150 case 0x00:
12151 case 0x10:
12152 case 0x20:
12153 case 0x30:
12154 case 0x40:
12155 case 0x50:
12156 case 0x60:
12157 case 0x70:
12158 case 0x80:
12159 case 0x90:
12160 case 0xa0:
12161 case 0xb0:
12162 case 0xc0:
12163 case 0xd0:
12164 case 0xe0:
12165 goto op_semantics_93;
12166 break;
12167 case 0xf0:
12168 goto op_semantics_94;
12169 break;
12170 }
12171 break;
12172 case 0xee:
12173 GETBYTE ();
12174 switch (op[2] & 0xf0)
12175 {
12176 case 0x00:
12177 case 0x10:
12178 case 0x20:
12179 case 0x30:
12180 case 0x40:
12181 case 0x50:
12182 case 0x60:
12183 case 0x70:
12184 case 0x80:
12185 case 0x90:
12186 case 0xa0:
12187 case 0xb0:
12188 case 0xc0:
12189 case 0xd0:
12190 case 0xe0:
12191 goto op_semantics_93;
12192 break;
12193 case 0xf0:
12194 goto op_semantics_94;
12195 break;
12196 }
12197 break;
12198 case 0xef:
12199 GETBYTE ();
12200 switch (op[2] & 0xf0)
12201 {
12202 case 0x00:
12203 case 0x10:
12204 case 0x20:
12205 case 0x30:
12206 case 0x40:
12207 case 0x50:
12208 case 0x60:
12209 case 0x70:
12210 case 0x80:
12211 case 0x90:
12212 case 0xa0:
12213 case 0xb0:
12214 case 0xc0:
12215 case 0xd0:
12216 case 0xe0:
12217 goto op_semantics_93;
12218 break;
12219 case 0xf0:
12220 goto op_semantics_94;
12221 break;
12222 }
12223 break;
12224 case 0xf0:
12225 GETBYTE ();
12226 switch (op[2] & 0xf0)
12227 {
12228 case 0x00:
12229 case 0x10:
12230 case 0x20:
12231 case 0x30:
12232 case 0x40:
12233 case 0x50:
12234 case 0x60:
12235 case 0x70:
12236 case 0x80:
12237 case 0x90:
12238 case 0xa0:
12239 case 0xb0:
12240 case 0xc0:
12241 case 0xd0:
12242 case 0xe0:
12243 goto op_semantics_93;
12244 break;
12245 case 0xf0:
12246 goto op_semantics_94;
12247 break;
12248 }
12249 break;
12250 case 0xf1:
12251 GETBYTE ();
12252 switch (op[2] & 0xf0)
12253 {
12254 case 0x00:
12255 case 0x10:
12256 case 0x20:
12257 case 0x30:
12258 case 0x40:
12259 case 0x50:
12260 case 0x60:
12261 case 0x70:
12262 case 0x80:
12263 case 0x90:
12264 case 0xa0:
12265 case 0xb0:
12266 case 0xc0:
12267 case 0xd0:
12268 case 0xe0:
12269 goto op_semantics_93;
12270 break;
12271 case 0xf0:
12272 goto op_semantics_94;
12273 break;
12274 }
12275 break;
12276 case 0xf2:
12277 GETBYTE ();
12278 switch (op[2] & 0xf0)
12279 {
12280 case 0x00:
12281 case 0x10:
12282 case 0x20:
12283 case 0x30:
12284 case 0x40:
12285 case 0x50:
12286 case 0x60:
12287 case 0x70:
12288 case 0x80:
12289 case 0x90:
12290 case 0xa0:
12291 case 0xb0:
12292 case 0xc0:
12293 case 0xd0:
12294 case 0xe0:
12295 goto op_semantics_93;
12296 break;
12297 case 0xf0:
12298 goto op_semantics_94;
12299 break;
12300 }
12301 break;
12302 case 0xf3:
12303 GETBYTE ();
12304 switch (op[2] & 0xf0)
12305 {
12306 case 0x00:
12307 case 0x10:
12308 case 0x20:
12309 case 0x30:
12310 case 0x40:
12311 case 0x50:
12312 case 0x60:
12313 case 0x70:
12314 case 0x80:
12315 case 0x90:
12316 case 0xa0:
12317 case 0xb0:
12318 case 0xc0:
12319 case 0xd0:
12320 case 0xe0:
12321 goto op_semantics_93;
12322 break;
12323 case 0xf0:
12324 goto op_semantics_94;
12325 break;
12326 }
12327 break;
12328 case 0xf4:
12329 GETBYTE ();
12330 switch (op[2] & 0xf0)
12331 {
12332 case 0x00:
12333 case 0x10:
12334 case 0x20:
12335 case 0x30:
12336 case 0x40:
12337 case 0x50:
12338 case 0x60:
12339 case 0x70:
12340 case 0x80:
12341 case 0x90:
12342 case 0xa0:
12343 case 0xb0:
12344 case 0xc0:
12345 case 0xd0:
12346 case 0xe0:
12347 goto op_semantics_93;
12348 break;
12349 case 0xf0:
12350 goto op_semantics_94;
12351 break;
12352 }
12353 break;
12354 case 0xf5:
12355 GETBYTE ();
12356 switch (op[2] & 0xf0)
12357 {
12358 case 0x00:
12359 case 0x10:
12360 case 0x20:
12361 case 0x30:
12362 case 0x40:
12363 case 0x50:
12364 case 0x60:
12365 case 0x70:
12366 case 0x80:
12367 case 0x90:
12368 case 0xa0:
12369 case 0xb0:
12370 case 0xc0:
12371 case 0xd0:
12372 case 0xe0:
12373 goto op_semantics_93;
12374 break;
12375 case 0xf0:
12376 goto op_semantics_94;
12377 break;
12378 }
12379 break;
12380 case 0xf6:
12381 GETBYTE ();
12382 switch (op[2] & 0xf0)
12383 {
12384 case 0x00:
12385 case 0x10:
12386 case 0x20:
12387 case 0x30:
12388 case 0x40:
12389 case 0x50:
12390 case 0x60:
12391 case 0x70:
12392 case 0x80:
12393 case 0x90:
12394 case 0xa0:
12395 case 0xb0:
12396 case 0xc0:
12397 case 0xd0:
12398 case 0xe0:
12399 goto op_semantics_93;
12400 break;
12401 case 0xf0:
12402 goto op_semantics_94;
12403 break;
12404 }
12405 break;
12406 case 0xf7:
12407 GETBYTE ();
12408 switch (op[2] & 0xf0)
12409 {
12410 case 0x00:
12411 case 0x10:
12412 case 0x20:
12413 case 0x30:
12414 case 0x40:
12415 case 0x50:
12416 case 0x60:
12417 case 0x70:
12418 case 0x80:
12419 case 0x90:
12420 case 0xa0:
12421 case 0xb0:
12422 case 0xc0:
12423 case 0xd0:
12424 case 0xe0:
12425 goto op_semantics_93;
12426 break;
12427 case 0xf0:
12428 goto op_semantics_94;
12429 break;
12430 }
12431 break;
12432 case 0xf8:
12433 GETBYTE ();
12434 switch (op[2] & 0xf0)
12435 {
12436 case 0x00:
12437 case 0x10:
12438 case 0x20:
12439 case 0x30:
12440 case 0x40:
12441 case 0x50:
12442 case 0x60:
12443 case 0x70:
12444 case 0x80:
12445 case 0x90:
12446 case 0xa0:
12447 case 0xb0:
12448 case 0xc0:
12449 case 0xd0:
12450 case 0xe0:
12451 goto op_semantics_93;
12452 break;
12453 case 0xf0:
12454 goto op_semantics_94;
12455 break;
12456 }
12457 break;
12458 case 0xf9:
12459 GETBYTE ();
12460 switch (op[2] & 0xf0)
12461 {
12462 case 0x00:
12463 case 0x10:
12464 case 0x20:
12465 case 0x30:
12466 case 0x40:
12467 case 0x50:
12468 case 0x60:
12469 case 0x70:
12470 case 0x80:
12471 case 0x90:
12472 case 0xa0:
12473 case 0xb0:
12474 case 0xc0:
12475 case 0xd0:
12476 case 0xe0:
12477 goto op_semantics_93;
12478 break;
12479 case 0xf0:
12480 goto op_semantics_94;
12481 break;
12482 }
12483 break;
12484 case 0xfa:
12485 GETBYTE ();
12486 switch (op[2] & 0xf0)
12487 {
12488 case 0x00:
12489 case 0x10:
12490 case 0x20:
12491 case 0x30:
12492 case 0x40:
12493 case 0x50:
12494 case 0x60:
12495 case 0x70:
12496 case 0x80:
12497 case 0x90:
12498 case 0xa0:
12499 case 0xb0:
12500 case 0xc0:
12501 case 0xd0:
12502 case 0xe0:
12503 goto op_semantics_93;
12504 break;
12505 case 0xf0:
12506 goto op_semantics_94;
12507 break;
12508 }
12509 break;
12510 case 0xfb:
12511 GETBYTE ();
12512 switch (op[2] & 0xf0)
12513 {
12514 case 0x00:
12515 case 0x10:
12516 case 0x20:
12517 case 0x30:
12518 case 0x40:
12519 case 0x50:
12520 case 0x60:
12521 case 0x70:
12522 case 0x80:
12523 case 0x90:
12524 case 0xa0:
12525 case 0xb0:
12526 case 0xc0:
12527 case 0xd0:
12528 case 0xe0:
12529 goto op_semantics_93;
12530 break;
12531 case 0xf0:
12532 goto op_semantics_94;
12533 break;
12534 }
12535 break;
12536 case 0xfc:
12537 GETBYTE ();
12538 switch (op[2] & 0xf0)
12539 {
12540 case 0x00:
12541 case 0x10:
12542 case 0x20:
12543 case 0x30:
12544 case 0x40:
12545 case 0x50:
12546 case 0x60:
12547 case 0x70:
12548 case 0x80:
12549 case 0x90:
12550 case 0xa0:
12551 case 0xb0:
12552 case 0xc0:
12553 case 0xd0:
12554 case 0xe0:
12555 goto op_semantics_93;
12556 break;
12557 case 0xf0:
12558 goto op_semantics_94;
12559 break;
12560 }
12561 break;
12562 case 0xfd:
12563 GETBYTE ();
12564 switch (op[2] & 0xf0)
12565 {
12566 case 0x00:
12567 case 0x10:
12568 case 0x20:
12569 case 0x30:
12570 case 0x40:
12571 case 0x50:
12572 case 0x60:
12573 case 0x70:
12574 case 0x80:
12575 case 0x90:
12576 case 0xa0:
12577 case 0xb0:
12578 case 0xc0:
12579 case 0xd0:
12580 case 0xe0:
12581 goto op_semantics_93;
12582 break;
12583 case 0xf0:
12584 goto op_semantics_94;
12585 break;
12586 }
12587 break;
12588 case 0xfe:
12589 GETBYTE ();
12590 switch (op[2] & 0xf0)
12591 {
12592 case 0x00:
12593 case 0x10:
12594 case 0x20:
12595 case 0x30:
12596 case 0x40:
12597 case 0x50:
12598 case 0x60:
12599 case 0x70:
12600 case 0x80:
12601 case 0x90:
12602 case 0xa0:
12603 case 0xb0:
12604 case 0xc0:
12605 case 0xd0:
12606 case 0xe0:
12607 goto op_semantics_93;
12608 break;
12609 case 0xf0:
12610 goto op_semantics_94;
12611 break;
12612 }
12613 break;
12614 case 0xff:
12615 GETBYTE ();
12616 switch (op[2] & 0xf0)
12617 {
12618 case 0x00:
12619 case 0x10:
12620 case 0x20:
12621 case 0x30:
12622 case 0x40:
12623 case 0x50:
12624 case 0x60:
12625 case 0x70:
12626 case 0x80:
12627 case 0x90:
12628 case 0xa0:
12629 case 0xb0:
12630 case 0xc0:
12631 case 0xd0:
12632 case 0xe0:
12633 goto op_semantics_93;
12634 break;
12635 case 0xf0:
12636 goto op_semantics_94;
12637 break;
12638 }
12639 break;
12640 default: UNSUPPORTED(); break;
12641 }
12642 break;
12643 case 0xfe:
12644 GETBYTE ();
12645 switch (op[1] & 0xff)
12646 {
12647 case 0x00:
12648 GETBYTE ();
12649 switch (op[2] & 0x00)
12650 {
12651 case 0x00:
12652 op_semantics_95:
12653 {
12654 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
12655 #line 338 "rx-decode.opc"
12656 int sz AU = (op[1] >> 4) & 0x03;
12657 #line 338 "rx-decode.opc"
12658 int isrc AU = op[1] & 0x0f;
12659 #line 338 "rx-decode.opc"
12660 int bsrc AU = (op[2] >> 4) & 0x0f;
12661 #line 338 "rx-decode.opc"
12662 int rdst AU = op[2] & 0x0f;
12663 if (trace)
12664 {
12665 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12666 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
12667 op[0], op[1], op[2]);
12668 printf (" sz = 0x%x,", sz);
12669 printf (" isrc = 0x%x,", isrc);
12670 printf (" bsrc = 0x%x,", bsrc);
12671 printf (" rdst = 0x%x\n", rdst);
12672 }
12673 SYNTAX("mov%s %0, [%1, %2]");
12674 #line 338 "rx-decode.opc"
12675 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
12676
12677 }
12678 break;
12679 }
12680 break;
12681 case 0x01:
12682 GETBYTE ();
12683 switch (op[2] & 0x00)
12684 {
12685 case 0x00:
12686 goto op_semantics_95;
12687 break;
12688 }
12689 break;
12690 case 0x02:
12691 GETBYTE ();
12692 switch (op[2] & 0x00)
12693 {
12694 case 0x00:
12695 goto op_semantics_95;
12696 break;
12697 }
12698 break;
12699 case 0x03:
12700 GETBYTE ();
12701 switch (op[2] & 0x00)
12702 {
12703 case 0x00:
12704 goto op_semantics_95;
12705 break;
12706 }
12707 break;
12708 case 0x04:
12709 GETBYTE ();
12710 switch (op[2] & 0x00)
12711 {
12712 case 0x00:
12713 goto op_semantics_95;
12714 break;
12715 }
12716 break;
12717 case 0x05:
12718 GETBYTE ();
12719 switch (op[2] & 0x00)
12720 {
12721 case 0x00:
12722 goto op_semantics_95;
12723 break;
12724 }
12725 break;
12726 case 0x06:
12727 GETBYTE ();
12728 switch (op[2] & 0x00)
12729 {
12730 case 0x00:
12731 goto op_semantics_95;
12732 break;
12733 }
12734 break;
12735 case 0x07:
12736 GETBYTE ();
12737 switch (op[2] & 0x00)
12738 {
12739 case 0x00:
12740 goto op_semantics_95;
12741 break;
12742 }
12743 break;
12744 case 0x08:
12745 GETBYTE ();
12746 switch (op[2] & 0x00)
12747 {
12748 case 0x00:
12749 goto op_semantics_95;
12750 break;
12751 }
12752 break;
12753 case 0x09:
12754 GETBYTE ();
12755 switch (op[2] & 0x00)
12756 {
12757 case 0x00:
12758 goto op_semantics_95;
12759 break;
12760 }
12761 break;
12762 case 0x0a:
12763 GETBYTE ();
12764 switch (op[2] & 0x00)
12765 {
12766 case 0x00:
12767 goto op_semantics_95;
12768 break;
12769 }
12770 break;
12771 case 0x0b:
12772 GETBYTE ();
12773 switch (op[2] & 0x00)
12774 {
12775 case 0x00:
12776 goto op_semantics_95;
12777 break;
12778 }
12779 break;
12780 case 0x0c:
12781 GETBYTE ();
12782 switch (op[2] & 0x00)
12783 {
12784 case 0x00:
12785 goto op_semantics_95;
12786 break;
12787 }
12788 break;
12789 case 0x0d:
12790 GETBYTE ();
12791 switch (op[2] & 0x00)
12792 {
12793 case 0x00:
12794 goto op_semantics_95;
12795 break;
12796 }
12797 break;
12798 case 0x0e:
12799 GETBYTE ();
12800 switch (op[2] & 0x00)
12801 {
12802 case 0x00:
12803 goto op_semantics_95;
12804 break;
12805 }
12806 break;
12807 case 0x0f:
12808 GETBYTE ();
12809 switch (op[2] & 0x00)
12810 {
12811 case 0x00:
12812 goto op_semantics_95;
12813 break;
12814 }
12815 break;
12816 case 0x10:
12817 GETBYTE ();
12818 switch (op[2] & 0x00)
12819 {
12820 case 0x00:
12821 goto op_semantics_95;
12822 break;
12823 }
12824 break;
12825 case 0x11:
12826 GETBYTE ();
12827 switch (op[2] & 0x00)
12828 {
12829 case 0x00:
12830 goto op_semantics_95;
12831 break;
12832 }
12833 break;
12834 case 0x12:
12835 GETBYTE ();
12836 switch (op[2] & 0x00)
12837 {
12838 case 0x00:
12839 goto op_semantics_95;
12840 break;
12841 }
12842 break;
12843 case 0x13:
12844 GETBYTE ();
12845 switch (op[2] & 0x00)
12846 {
12847 case 0x00:
12848 goto op_semantics_95;
12849 break;
12850 }
12851 break;
12852 case 0x14:
12853 GETBYTE ();
12854 switch (op[2] & 0x00)
12855 {
12856 case 0x00:
12857 goto op_semantics_95;
12858 break;
12859 }
12860 break;
12861 case 0x15:
12862 GETBYTE ();
12863 switch (op[2] & 0x00)
12864 {
12865 case 0x00:
12866 goto op_semantics_95;
12867 break;
12868 }
12869 break;
12870 case 0x16:
12871 GETBYTE ();
12872 switch (op[2] & 0x00)
12873 {
12874 case 0x00:
12875 goto op_semantics_95;
12876 break;
12877 }
12878 break;
12879 case 0x17:
12880 GETBYTE ();
12881 switch (op[2] & 0x00)
12882 {
12883 case 0x00:
12884 goto op_semantics_95;
12885 break;
12886 }
12887 break;
12888 case 0x18:
12889 GETBYTE ();
12890 switch (op[2] & 0x00)
12891 {
12892 case 0x00:
12893 goto op_semantics_95;
12894 break;
12895 }
12896 break;
12897 case 0x19:
12898 GETBYTE ();
12899 switch (op[2] & 0x00)
12900 {
12901 case 0x00:
12902 goto op_semantics_95;
12903 break;
12904 }
12905 break;
12906 case 0x1a:
12907 GETBYTE ();
12908 switch (op[2] & 0x00)
12909 {
12910 case 0x00:
12911 goto op_semantics_95;
12912 break;
12913 }
12914 break;
12915 case 0x1b:
12916 GETBYTE ();
12917 switch (op[2] & 0x00)
12918 {
12919 case 0x00:
12920 goto op_semantics_95;
12921 break;
12922 }
12923 break;
12924 case 0x1c:
12925 GETBYTE ();
12926 switch (op[2] & 0x00)
12927 {
12928 case 0x00:
12929 goto op_semantics_95;
12930 break;
12931 }
12932 break;
12933 case 0x1d:
12934 GETBYTE ();
12935 switch (op[2] & 0x00)
12936 {
12937 case 0x00:
12938 goto op_semantics_95;
12939 break;
12940 }
12941 break;
12942 case 0x1e:
12943 GETBYTE ();
12944 switch (op[2] & 0x00)
12945 {
12946 case 0x00:
12947 goto op_semantics_95;
12948 break;
12949 }
12950 break;
12951 case 0x1f:
12952 GETBYTE ();
12953 switch (op[2] & 0x00)
12954 {
12955 case 0x00:
12956 goto op_semantics_95;
12957 break;
12958 }
12959 break;
12960 case 0x20:
12961 GETBYTE ();
12962 switch (op[2] & 0x00)
12963 {
12964 case 0x00:
12965 goto op_semantics_95;
12966 break;
12967 }
12968 break;
12969 case 0x21:
12970 GETBYTE ();
12971 switch (op[2] & 0x00)
12972 {
12973 case 0x00:
12974 goto op_semantics_95;
12975 break;
12976 }
12977 break;
12978 case 0x22:
12979 GETBYTE ();
12980 switch (op[2] & 0x00)
12981 {
12982 case 0x00:
12983 goto op_semantics_95;
12984 break;
12985 }
12986 break;
12987 case 0x23:
12988 GETBYTE ();
12989 switch (op[2] & 0x00)
12990 {
12991 case 0x00:
12992 goto op_semantics_95;
12993 break;
12994 }
12995 break;
12996 case 0x24:
12997 GETBYTE ();
12998 switch (op[2] & 0x00)
12999 {
13000 case 0x00:
13001 goto op_semantics_95;
13002 break;
13003 }
13004 break;
13005 case 0x25:
13006 GETBYTE ();
13007 switch (op[2] & 0x00)
13008 {
13009 case 0x00:
13010 goto op_semantics_95;
13011 break;
13012 }
13013 break;
13014 case 0x26:
13015 GETBYTE ();
13016 switch (op[2] & 0x00)
13017 {
13018 case 0x00:
13019 goto op_semantics_95;
13020 break;
13021 }
13022 break;
13023 case 0x27:
13024 GETBYTE ();
13025 switch (op[2] & 0x00)
13026 {
13027 case 0x00:
13028 goto op_semantics_95;
13029 break;
13030 }
13031 break;
13032 case 0x28:
13033 GETBYTE ();
13034 switch (op[2] & 0x00)
13035 {
13036 case 0x00:
13037 goto op_semantics_95;
13038 break;
13039 }
13040 break;
13041 case 0x29:
13042 GETBYTE ();
13043 switch (op[2] & 0x00)
13044 {
13045 case 0x00:
13046 goto op_semantics_95;
13047 break;
13048 }
13049 break;
13050 case 0x2a:
13051 GETBYTE ();
13052 switch (op[2] & 0x00)
13053 {
13054 case 0x00:
13055 goto op_semantics_95;
13056 break;
13057 }
13058 break;
13059 case 0x2b:
13060 GETBYTE ();
13061 switch (op[2] & 0x00)
13062 {
13063 case 0x00:
13064 goto op_semantics_95;
13065 break;
13066 }
13067 break;
13068 case 0x2c:
13069 GETBYTE ();
13070 switch (op[2] & 0x00)
13071 {
13072 case 0x00:
13073 goto op_semantics_95;
13074 break;
13075 }
13076 break;
13077 case 0x2d:
13078 GETBYTE ();
13079 switch (op[2] & 0x00)
13080 {
13081 case 0x00:
13082 goto op_semantics_95;
13083 break;
13084 }
13085 break;
13086 case 0x2e:
13087 GETBYTE ();
13088 switch (op[2] & 0x00)
13089 {
13090 case 0x00:
13091 goto op_semantics_95;
13092 break;
13093 }
13094 break;
13095 case 0x2f:
13096 GETBYTE ();
13097 switch (op[2] & 0x00)
13098 {
13099 case 0x00:
13100 goto op_semantics_95;
13101 break;
13102 }
13103 break;
13104 case 0x40:
13105 GETBYTE ();
13106 switch (op[2] & 0x00)
13107 {
13108 case 0x00:
13109 op_semantics_96:
13110 {
13111 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
13112 #line 335 "rx-decode.opc"
13113 int sz AU = (op[1] >> 4) & 0x03;
13114 #line 335 "rx-decode.opc"
13115 int isrc AU = op[1] & 0x0f;
13116 #line 335 "rx-decode.opc"
13117 int bsrc AU = (op[2] >> 4) & 0x0f;
13118 #line 335 "rx-decode.opc"
13119 int rdst AU = op[2] & 0x0f;
13120 if (trace)
13121 {
13122 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13123 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
13124 op[0], op[1], op[2]);
13125 printf (" sz = 0x%x,", sz);
13126 printf (" isrc = 0x%x,", isrc);
13127 printf (" bsrc = 0x%x,", bsrc);
13128 printf (" rdst = 0x%x\n", rdst);
13129 }
13130 SYNTAX("mov%s [%1, %2], %0");
13131 #line 335 "rx-decode.opc"
13132 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13133
13134 }
13135 break;
13136 }
13137 break;
13138 case 0x41:
13139 GETBYTE ();
13140 switch (op[2] & 0x00)
13141 {
13142 case 0x00:
13143 goto op_semantics_96;
13144 break;
13145 }
13146 break;
13147 case 0x42:
13148 GETBYTE ();
13149 switch (op[2] & 0x00)
13150 {
13151 case 0x00:
13152 goto op_semantics_96;
13153 break;
13154 }
13155 break;
13156 case 0x43:
13157 GETBYTE ();
13158 switch (op[2] & 0x00)
13159 {
13160 case 0x00:
13161 goto op_semantics_96;
13162 break;
13163 }
13164 break;
13165 case 0x44:
13166 GETBYTE ();
13167 switch (op[2] & 0x00)
13168 {
13169 case 0x00:
13170 goto op_semantics_96;
13171 break;
13172 }
13173 break;
13174 case 0x45:
13175 GETBYTE ();
13176 switch (op[2] & 0x00)
13177 {
13178 case 0x00:
13179 goto op_semantics_96;
13180 break;
13181 }
13182 break;
13183 case 0x46:
13184 GETBYTE ();
13185 switch (op[2] & 0x00)
13186 {
13187 case 0x00:
13188 goto op_semantics_96;
13189 break;
13190 }
13191 break;
13192 case 0x47:
13193 GETBYTE ();
13194 switch (op[2] & 0x00)
13195 {
13196 case 0x00:
13197 goto op_semantics_96;
13198 break;
13199 }
13200 break;
13201 case 0x48:
13202 GETBYTE ();
13203 switch (op[2] & 0x00)
13204 {
13205 case 0x00:
13206 goto op_semantics_96;
13207 break;
13208 }
13209 break;
13210 case 0x49:
13211 GETBYTE ();
13212 switch (op[2] & 0x00)
13213 {
13214 case 0x00:
13215 goto op_semantics_96;
13216 break;
13217 }
13218 break;
13219 case 0x4a:
13220 GETBYTE ();
13221 switch (op[2] & 0x00)
13222 {
13223 case 0x00:
13224 goto op_semantics_96;
13225 break;
13226 }
13227 break;
13228 case 0x4b:
13229 GETBYTE ();
13230 switch (op[2] & 0x00)
13231 {
13232 case 0x00:
13233 goto op_semantics_96;
13234 break;
13235 }
13236 break;
13237 case 0x4c:
13238 GETBYTE ();
13239 switch (op[2] & 0x00)
13240 {
13241 case 0x00:
13242 goto op_semantics_96;
13243 break;
13244 }
13245 break;
13246 case 0x4d:
13247 GETBYTE ();
13248 switch (op[2] & 0x00)
13249 {
13250 case 0x00:
13251 goto op_semantics_96;
13252 break;
13253 }
13254 break;
13255 case 0x4e:
13256 GETBYTE ();
13257 switch (op[2] & 0x00)
13258 {
13259 case 0x00:
13260 goto op_semantics_96;
13261 break;
13262 }
13263 break;
13264 case 0x4f:
13265 GETBYTE ();
13266 switch (op[2] & 0x00)
13267 {
13268 case 0x00:
13269 goto op_semantics_96;
13270 break;
13271 }
13272 break;
13273 case 0x50:
13274 GETBYTE ();
13275 switch (op[2] & 0x00)
13276 {
13277 case 0x00:
13278 goto op_semantics_96;
13279 break;
13280 }
13281 break;
13282 case 0x51:
13283 GETBYTE ();
13284 switch (op[2] & 0x00)
13285 {
13286 case 0x00:
13287 goto op_semantics_96;
13288 break;
13289 }
13290 break;
13291 case 0x52:
13292 GETBYTE ();
13293 switch (op[2] & 0x00)
13294 {
13295 case 0x00:
13296 goto op_semantics_96;
13297 break;
13298 }
13299 break;
13300 case 0x53:
13301 GETBYTE ();
13302 switch (op[2] & 0x00)
13303 {
13304 case 0x00:
13305 goto op_semantics_96;
13306 break;
13307 }
13308 break;
13309 case 0x54:
13310 GETBYTE ();
13311 switch (op[2] & 0x00)
13312 {
13313 case 0x00:
13314 goto op_semantics_96;
13315 break;
13316 }
13317 break;
13318 case 0x55:
13319 GETBYTE ();
13320 switch (op[2] & 0x00)
13321 {
13322 case 0x00:
13323 goto op_semantics_96;
13324 break;
13325 }
13326 break;
13327 case 0x56:
13328 GETBYTE ();
13329 switch (op[2] & 0x00)
13330 {
13331 case 0x00:
13332 goto op_semantics_96;
13333 break;
13334 }
13335 break;
13336 case 0x57:
13337 GETBYTE ();
13338 switch (op[2] & 0x00)
13339 {
13340 case 0x00:
13341 goto op_semantics_96;
13342 break;
13343 }
13344 break;
13345 case 0x58:
13346 GETBYTE ();
13347 switch (op[2] & 0x00)
13348 {
13349 case 0x00:
13350 goto op_semantics_96;
13351 break;
13352 }
13353 break;
13354 case 0x59:
13355 GETBYTE ();
13356 switch (op[2] & 0x00)
13357 {
13358 case 0x00:
13359 goto op_semantics_96;
13360 break;
13361 }
13362 break;
13363 case 0x5a:
13364 GETBYTE ();
13365 switch (op[2] & 0x00)
13366 {
13367 case 0x00:
13368 goto op_semantics_96;
13369 break;
13370 }
13371 break;
13372 case 0x5b:
13373 GETBYTE ();
13374 switch (op[2] & 0x00)
13375 {
13376 case 0x00:
13377 goto op_semantics_96;
13378 break;
13379 }
13380 break;
13381 case 0x5c:
13382 GETBYTE ();
13383 switch (op[2] & 0x00)
13384 {
13385 case 0x00:
13386 goto op_semantics_96;
13387 break;
13388 }
13389 break;
13390 case 0x5d:
13391 GETBYTE ();
13392 switch (op[2] & 0x00)
13393 {
13394 case 0x00:
13395 goto op_semantics_96;
13396 break;
13397 }
13398 break;
13399 case 0x5e:
13400 GETBYTE ();
13401 switch (op[2] & 0x00)
13402 {
13403 case 0x00:
13404 goto op_semantics_96;
13405 break;
13406 }
13407 break;
13408 case 0x5f:
13409 GETBYTE ();
13410 switch (op[2] & 0x00)
13411 {
13412 case 0x00:
13413 goto op_semantics_96;
13414 break;
13415 }
13416 break;
13417 case 0x60:
13418 GETBYTE ();
13419 switch (op[2] & 0x00)
13420 {
13421 case 0x00:
13422 goto op_semantics_96;
13423 break;
13424 }
13425 break;
13426 case 0x61:
13427 GETBYTE ();
13428 switch (op[2] & 0x00)
13429 {
13430 case 0x00:
13431 goto op_semantics_96;
13432 break;
13433 }
13434 break;
13435 case 0x62:
13436 GETBYTE ();
13437 switch (op[2] & 0x00)
13438 {
13439 case 0x00:
13440 goto op_semantics_96;
13441 break;
13442 }
13443 break;
13444 case 0x63:
13445 GETBYTE ();
13446 switch (op[2] & 0x00)
13447 {
13448 case 0x00:
13449 goto op_semantics_96;
13450 break;
13451 }
13452 break;
13453 case 0x64:
13454 GETBYTE ();
13455 switch (op[2] & 0x00)
13456 {
13457 case 0x00:
13458 goto op_semantics_96;
13459 break;
13460 }
13461 break;
13462 case 0x65:
13463 GETBYTE ();
13464 switch (op[2] & 0x00)
13465 {
13466 case 0x00:
13467 goto op_semantics_96;
13468 break;
13469 }
13470 break;
13471 case 0x66:
13472 GETBYTE ();
13473 switch (op[2] & 0x00)
13474 {
13475 case 0x00:
13476 goto op_semantics_96;
13477 break;
13478 }
13479 break;
13480 case 0x67:
13481 GETBYTE ();
13482 switch (op[2] & 0x00)
13483 {
13484 case 0x00:
13485 goto op_semantics_96;
13486 break;
13487 }
13488 break;
13489 case 0x68:
13490 GETBYTE ();
13491 switch (op[2] & 0x00)
13492 {
13493 case 0x00:
13494 goto op_semantics_96;
13495 break;
13496 }
13497 break;
13498 case 0x69:
13499 GETBYTE ();
13500 switch (op[2] & 0x00)
13501 {
13502 case 0x00:
13503 goto op_semantics_96;
13504 break;
13505 }
13506 break;
13507 case 0x6a:
13508 GETBYTE ();
13509 switch (op[2] & 0x00)
13510 {
13511 case 0x00:
13512 goto op_semantics_96;
13513 break;
13514 }
13515 break;
13516 case 0x6b:
13517 GETBYTE ();
13518 switch (op[2] & 0x00)
13519 {
13520 case 0x00:
13521 goto op_semantics_96;
13522 break;
13523 }
13524 break;
13525 case 0x6c:
13526 GETBYTE ();
13527 switch (op[2] & 0x00)
13528 {
13529 case 0x00:
13530 goto op_semantics_96;
13531 break;
13532 }
13533 break;
13534 case 0x6d:
13535 GETBYTE ();
13536 switch (op[2] & 0x00)
13537 {
13538 case 0x00:
13539 goto op_semantics_96;
13540 break;
13541 }
13542 break;
13543 case 0x6e:
13544 GETBYTE ();
13545 switch (op[2] & 0x00)
13546 {
13547 case 0x00:
13548 goto op_semantics_96;
13549 break;
13550 }
13551 break;
13552 case 0x6f:
13553 GETBYTE ();
13554 switch (op[2] & 0x00)
13555 {
13556 case 0x00:
13557 goto op_semantics_96;
13558 break;
13559 }
13560 break;
13561 case 0xc0:
13562 GETBYTE ();
13563 switch (op[2] & 0x00)
13564 {
13565 case 0x00:
13566 op_semantics_97:
13567 {
13568 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
13569 #line 341 "rx-decode.opc"
13570 int sz AU = (op[1] >> 4) & 0x03;
13571 #line 341 "rx-decode.opc"
13572 int isrc AU = op[1] & 0x0f;
13573 #line 341 "rx-decode.opc"
13574 int bsrc AU = (op[2] >> 4) & 0x0f;
13575 #line 341 "rx-decode.opc"
13576 int rdst AU = op[2] & 0x0f;
13577 if (trace)
13578 {
13579 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13580 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
13581 op[0], op[1], op[2]);
13582 printf (" sz = 0x%x,", sz);
13583 printf (" isrc = 0x%x,", isrc);
13584 printf (" bsrc = 0x%x,", bsrc);
13585 printf (" rdst = 0x%x\n", rdst);
13586 }
13587 SYNTAX("movu%s [%1, %2], %0");
13588 #line 341 "rx-decode.opc"
13589 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13590
13591 }
13592 break;
13593 }
13594 break;
13595 case 0xc1:
13596 GETBYTE ();
13597 switch (op[2] & 0x00)
13598 {
13599 case 0x00:
13600 goto op_semantics_97;
13601 break;
13602 }
13603 break;
13604 case 0xc2:
13605 GETBYTE ();
13606 switch (op[2] & 0x00)
13607 {
13608 case 0x00:
13609 goto op_semantics_97;
13610 break;
13611 }
13612 break;
13613 case 0xc3:
13614 GETBYTE ();
13615 switch (op[2] & 0x00)
13616 {
13617 case 0x00:
13618 goto op_semantics_97;
13619 break;
13620 }
13621 break;
13622 case 0xc4:
13623 GETBYTE ();
13624 switch (op[2] & 0x00)
13625 {
13626 case 0x00:
13627 goto op_semantics_97;
13628 break;
13629 }
13630 break;
13631 case 0xc5:
13632 GETBYTE ();
13633 switch (op[2] & 0x00)
13634 {
13635 case 0x00:
13636 goto op_semantics_97;
13637 break;
13638 }
13639 break;
13640 case 0xc6:
13641 GETBYTE ();
13642 switch (op[2] & 0x00)
13643 {
13644 case 0x00:
13645 goto op_semantics_97;
13646 break;
13647 }
13648 break;
13649 case 0xc7:
13650 GETBYTE ();
13651 switch (op[2] & 0x00)
13652 {
13653 case 0x00:
13654 goto op_semantics_97;
13655 break;
13656 }
13657 break;
13658 case 0xc8:
13659 GETBYTE ();
13660 switch (op[2] & 0x00)
13661 {
13662 case 0x00:
13663 goto op_semantics_97;
13664 break;
13665 }
13666 break;
13667 case 0xc9:
13668 GETBYTE ();
13669 switch (op[2] & 0x00)
13670 {
13671 case 0x00:
13672 goto op_semantics_97;
13673 break;
13674 }
13675 break;
13676 case 0xca:
13677 GETBYTE ();
13678 switch (op[2] & 0x00)
13679 {
13680 case 0x00:
13681 goto op_semantics_97;
13682 break;
13683 }
13684 break;
13685 case 0xcb:
13686 GETBYTE ();
13687 switch (op[2] & 0x00)
13688 {
13689 case 0x00:
13690 goto op_semantics_97;
13691 break;
13692 }
13693 break;
13694 case 0xcc:
13695 GETBYTE ();
13696 switch (op[2] & 0x00)
13697 {
13698 case 0x00:
13699 goto op_semantics_97;
13700 break;
13701 }
13702 break;
13703 case 0xcd:
13704 GETBYTE ();
13705 switch (op[2] & 0x00)
13706 {
13707 case 0x00:
13708 goto op_semantics_97;
13709 break;
13710 }
13711 break;
13712 case 0xce:
13713 GETBYTE ();
13714 switch (op[2] & 0x00)
13715 {
13716 case 0x00:
13717 goto op_semantics_97;
13718 break;
13719 }
13720 break;
13721 case 0xcf:
13722 GETBYTE ();
13723 switch (op[2] & 0x00)
13724 {
13725 case 0x00:
13726 goto op_semantics_97;
13727 break;
13728 }
13729 break;
13730 case 0xd0:
13731 GETBYTE ();
13732 switch (op[2] & 0x00)
13733 {
13734 case 0x00:
13735 goto op_semantics_97;
13736 break;
13737 }
13738 break;
13739 case 0xd1:
13740 GETBYTE ();
13741 switch (op[2] & 0x00)
13742 {
13743 case 0x00:
13744 goto op_semantics_97;
13745 break;
13746 }
13747 break;
13748 case 0xd2:
13749 GETBYTE ();
13750 switch (op[2] & 0x00)
13751 {
13752 case 0x00:
13753 goto op_semantics_97;
13754 break;
13755 }
13756 break;
13757 case 0xd3:
13758 GETBYTE ();
13759 switch (op[2] & 0x00)
13760 {
13761 case 0x00:
13762 goto op_semantics_97;
13763 break;
13764 }
13765 break;
13766 case 0xd4:
13767 GETBYTE ();
13768 switch (op[2] & 0x00)
13769 {
13770 case 0x00:
13771 goto op_semantics_97;
13772 break;
13773 }
13774 break;
13775 case 0xd5:
13776 GETBYTE ();
13777 switch (op[2] & 0x00)
13778 {
13779 case 0x00:
13780 goto op_semantics_97;
13781 break;
13782 }
13783 break;
13784 case 0xd6:
13785 GETBYTE ();
13786 switch (op[2] & 0x00)
13787 {
13788 case 0x00:
13789 goto op_semantics_97;
13790 break;
13791 }
13792 break;
13793 case 0xd7:
13794 GETBYTE ();
13795 switch (op[2] & 0x00)
13796 {
13797 case 0x00:
13798 goto op_semantics_97;
13799 break;
13800 }
13801 break;
13802 case 0xd8:
13803 GETBYTE ();
13804 switch (op[2] & 0x00)
13805 {
13806 case 0x00:
13807 goto op_semantics_97;
13808 break;
13809 }
13810 break;
13811 case 0xd9:
13812 GETBYTE ();
13813 switch (op[2] & 0x00)
13814 {
13815 case 0x00:
13816 goto op_semantics_97;
13817 break;
13818 }
13819 break;
13820 case 0xda:
13821 GETBYTE ();
13822 switch (op[2] & 0x00)
13823 {
13824 case 0x00:
13825 goto op_semantics_97;
13826 break;
13827 }
13828 break;
13829 case 0xdb:
13830 GETBYTE ();
13831 switch (op[2] & 0x00)
13832 {
13833 case 0x00:
13834 goto op_semantics_97;
13835 break;
13836 }
13837 break;
13838 case 0xdc:
13839 GETBYTE ();
13840 switch (op[2] & 0x00)
13841 {
13842 case 0x00:
13843 goto op_semantics_97;
13844 break;
13845 }
13846 break;
13847 case 0xdd:
13848 GETBYTE ();
13849 switch (op[2] & 0x00)
13850 {
13851 case 0x00:
13852 goto op_semantics_97;
13853 break;
13854 }
13855 break;
13856 case 0xde:
13857 GETBYTE ();
13858 switch (op[2] & 0x00)
13859 {
13860 case 0x00:
13861 goto op_semantics_97;
13862 break;
13863 }
13864 break;
13865 case 0xdf:
13866 GETBYTE ();
13867 switch (op[2] & 0x00)
13868 {
13869 case 0x00:
13870 goto op_semantics_97;
13871 break;
13872 }
13873 break;
13874 case 0xe0:
13875 GETBYTE ();
13876 switch (op[2] & 0x00)
13877 {
13878 case 0x00:
13879 goto op_semantics_97;
13880 break;
13881 }
13882 break;
13883 case 0xe1:
13884 GETBYTE ();
13885 switch (op[2] & 0x00)
13886 {
13887 case 0x00:
13888 goto op_semantics_97;
13889 break;
13890 }
13891 break;
13892 case 0xe2:
13893 GETBYTE ();
13894 switch (op[2] & 0x00)
13895 {
13896 case 0x00:
13897 goto op_semantics_97;
13898 break;
13899 }
13900 break;
13901 case 0xe3:
13902 GETBYTE ();
13903 switch (op[2] & 0x00)
13904 {
13905 case 0x00:
13906 goto op_semantics_97;
13907 break;
13908 }
13909 break;
13910 case 0xe4:
13911 GETBYTE ();
13912 switch (op[2] & 0x00)
13913 {
13914 case 0x00:
13915 goto op_semantics_97;
13916 break;
13917 }
13918 break;
13919 case 0xe5:
13920 GETBYTE ();
13921 switch (op[2] & 0x00)
13922 {
13923 case 0x00:
13924 goto op_semantics_97;
13925 break;
13926 }
13927 break;
13928 case 0xe6:
13929 GETBYTE ();
13930 switch (op[2] & 0x00)
13931 {
13932 case 0x00:
13933 goto op_semantics_97;
13934 break;
13935 }
13936 break;
13937 case 0xe7:
13938 GETBYTE ();
13939 switch (op[2] & 0x00)
13940 {
13941 case 0x00:
13942 goto op_semantics_97;
13943 break;
13944 }
13945 break;
13946 case 0xe8:
13947 GETBYTE ();
13948 switch (op[2] & 0x00)
13949 {
13950 case 0x00:
13951 goto op_semantics_97;
13952 break;
13953 }
13954 break;
13955 case 0xe9:
13956 GETBYTE ();
13957 switch (op[2] & 0x00)
13958 {
13959 case 0x00:
13960 goto op_semantics_97;
13961 break;
13962 }
13963 break;
13964 case 0xea:
13965 GETBYTE ();
13966 switch (op[2] & 0x00)
13967 {
13968 case 0x00:
13969 goto op_semantics_97;
13970 break;
13971 }
13972 break;
13973 case 0xeb:
13974 GETBYTE ();
13975 switch (op[2] & 0x00)
13976 {
13977 case 0x00:
13978 goto op_semantics_97;
13979 break;
13980 }
13981 break;
13982 case 0xec:
13983 GETBYTE ();
13984 switch (op[2] & 0x00)
13985 {
13986 case 0x00:
13987 goto op_semantics_97;
13988 break;
13989 }
13990 break;
13991 case 0xed:
13992 GETBYTE ();
13993 switch (op[2] & 0x00)
13994 {
13995 case 0x00:
13996 goto op_semantics_97;
13997 break;
13998 }
13999 break;
14000 case 0xee:
14001 GETBYTE ();
14002 switch (op[2] & 0x00)
14003 {
14004 case 0x00:
14005 goto op_semantics_97;
14006 break;
14007 }
14008 break;
14009 case 0xef:
14010 GETBYTE ();
14011 switch (op[2] & 0x00)
14012 {
14013 case 0x00:
14014 goto op_semantics_97;
14015 break;
14016 }
14017 break;
14018 default: UNSUPPORTED(); break;
14019 }
14020 break;
14021 case 0xff:
14022 GETBYTE ();
14023 switch (op[1] & 0xff)
14024 {
14025 case 0x00:
14026 GETBYTE ();
14027 switch (op[2] & 0x00)
14028 {
14029 case 0x00:
14030 op_semantics_98:
14031 {
14032 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
14033 #line 545 "rx-decode.opc"
14034 int rdst AU = op[1] & 0x0f;
14035 #line 545 "rx-decode.opc"
14036 int srca AU = (op[2] >> 4) & 0x0f;
14037 #line 545 "rx-decode.opc"
14038 int srcb AU = op[2] & 0x0f;
14039 if (trace)
14040 {
14041 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14042 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
14043 op[0], op[1], op[2]);
14044 printf (" rdst = 0x%x,", rdst);
14045 printf (" srca = 0x%x,", srca);
14046 printf (" srcb = 0x%x\n", srcb);
14047 }
14048 SYNTAX("sub %2, %1, %0");
14049 #line 545 "rx-decode.opc"
14050 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14051
14052 /*----------------------------------------------------------------------*/
14053 /* SBB */
14054
14055 }
14056 break;
14057 }
14058 break;
14059 case 0x01:
14060 GETBYTE ();
14061 switch (op[2] & 0x00)
14062 {
14063 case 0x00:
14064 goto op_semantics_98;
14065 break;
14066 }
14067 break;
14068 case 0x02:
14069 GETBYTE ();
14070 switch (op[2] & 0x00)
14071 {
14072 case 0x00:
14073 goto op_semantics_98;
14074 break;
14075 }
14076 break;
14077 case 0x03:
14078 GETBYTE ();
14079 switch (op[2] & 0x00)
14080 {
14081 case 0x00:
14082 goto op_semantics_98;
14083 break;
14084 }
14085 break;
14086 case 0x04:
14087 GETBYTE ();
14088 switch (op[2] & 0x00)
14089 {
14090 case 0x00:
14091 goto op_semantics_98;
14092 break;
14093 }
14094 break;
14095 case 0x05:
14096 GETBYTE ();
14097 switch (op[2] & 0x00)
14098 {
14099 case 0x00:
14100 goto op_semantics_98;
14101 break;
14102 }
14103 break;
14104 case 0x06:
14105 GETBYTE ();
14106 switch (op[2] & 0x00)
14107 {
14108 case 0x00:
14109 goto op_semantics_98;
14110 break;
14111 }
14112 break;
14113 case 0x07:
14114 GETBYTE ();
14115 switch (op[2] & 0x00)
14116 {
14117 case 0x00:
14118 goto op_semantics_98;
14119 break;
14120 }
14121 break;
14122 case 0x08:
14123 GETBYTE ();
14124 switch (op[2] & 0x00)
14125 {
14126 case 0x00:
14127 goto op_semantics_98;
14128 break;
14129 }
14130 break;
14131 case 0x09:
14132 GETBYTE ();
14133 switch (op[2] & 0x00)
14134 {
14135 case 0x00:
14136 goto op_semantics_98;
14137 break;
14138 }
14139 break;
14140 case 0x0a:
14141 GETBYTE ();
14142 switch (op[2] & 0x00)
14143 {
14144 case 0x00:
14145 goto op_semantics_98;
14146 break;
14147 }
14148 break;
14149 case 0x0b:
14150 GETBYTE ();
14151 switch (op[2] & 0x00)
14152 {
14153 case 0x00:
14154 goto op_semantics_98;
14155 break;
14156 }
14157 break;
14158 case 0x0c:
14159 GETBYTE ();
14160 switch (op[2] & 0x00)
14161 {
14162 case 0x00:
14163 goto op_semantics_98;
14164 break;
14165 }
14166 break;
14167 case 0x0d:
14168 GETBYTE ();
14169 switch (op[2] & 0x00)
14170 {
14171 case 0x00:
14172 goto op_semantics_98;
14173 break;
14174 }
14175 break;
14176 case 0x0e:
14177 GETBYTE ();
14178 switch (op[2] & 0x00)
14179 {
14180 case 0x00:
14181 goto op_semantics_98;
14182 break;
14183 }
14184 break;
14185 case 0x0f:
14186 GETBYTE ();
14187 switch (op[2] & 0x00)
14188 {
14189 case 0x00:
14190 goto op_semantics_98;
14191 break;
14192 }
14193 break;
14194 case 0x20:
14195 GETBYTE ();
14196 switch (op[2] & 0x00)
14197 {
14198 case 0x00:
14199 op_semantics_99:
14200 {
14201 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
14202 #line 512 "rx-decode.opc"
14203 int rdst AU = op[1] & 0x0f;
14204 #line 512 "rx-decode.opc"
14205 int srca AU = (op[2] >> 4) & 0x0f;
14206 #line 512 "rx-decode.opc"
14207 int srcb AU = op[2] & 0x0f;
14208 if (trace)
14209 {
14210 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14211 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
14212 op[0], op[1], op[2]);
14213 printf (" rdst = 0x%x,", rdst);
14214 printf (" srca = 0x%x,", srca);
14215 printf (" srcb = 0x%x\n", srcb);
14216 }
14217 SYNTAX("add %2, %1, %0");
14218 #line 512 "rx-decode.opc"
14219 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
14220
14221 /*----------------------------------------------------------------------*/
14222 /* CMP */
14223
14224 }
14225 break;
14226 }
14227 break;
14228 case 0x21:
14229 GETBYTE ();
14230 switch (op[2] & 0x00)
14231 {
14232 case 0x00:
14233 goto op_semantics_99;
14234 break;
14235 }
14236 break;
14237 case 0x22:
14238 GETBYTE ();
14239 switch (op[2] & 0x00)
14240 {
14241 case 0x00:
14242 goto op_semantics_99;
14243 break;
14244 }
14245 break;
14246 case 0x23:
14247 GETBYTE ();
14248 switch (op[2] & 0x00)
14249 {
14250 case 0x00:
14251 goto op_semantics_99;
14252 break;
14253 }
14254 break;
14255 case 0x24:
14256 GETBYTE ();
14257 switch (op[2] & 0x00)
14258 {
14259 case 0x00:
14260 goto op_semantics_99;
14261 break;
14262 }
14263 break;
14264 case 0x25:
14265 GETBYTE ();
14266 switch (op[2] & 0x00)
14267 {
14268 case 0x00:
14269 goto op_semantics_99;
14270 break;
14271 }
14272 break;
14273 case 0x26:
14274 GETBYTE ();
14275 switch (op[2] & 0x00)
14276 {
14277 case 0x00:
14278 goto op_semantics_99;
14279 break;
14280 }
14281 break;
14282 case 0x27:
14283 GETBYTE ();
14284 switch (op[2] & 0x00)
14285 {
14286 case 0x00:
14287 goto op_semantics_99;
14288 break;
14289 }
14290 break;
14291 case 0x28:
14292 GETBYTE ();
14293 switch (op[2] & 0x00)
14294 {
14295 case 0x00:
14296 goto op_semantics_99;
14297 break;
14298 }
14299 break;
14300 case 0x29:
14301 GETBYTE ();
14302 switch (op[2] & 0x00)
14303 {
14304 case 0x00:
14305 goto op_semantics_99;
14306 break;
14307 }
14308 break;
14309 case 0x2a:
14310 GETBYTE ();
14311 switch (op[2] & 0x00)
14312 {
14313 case 0x00:
14314 goto op_semantics_99;
14315 break;
14316 }
14317 break;
14318 case 0x2b:
14319 GETBYTE ();
14320 switch (op[2] & 0x00)
14321 {
14322 case 0x00:
14323 goto op_semantics_99;
14324 break;
14325 }
14326 break;
14327 case 0x2c:
14328 GETBYTE ();
14329 switch (op[2] & 0x00)
14330 {
14331 case 0x00:
14332 goto op_semantics_99;
14333 break;
14334 }
14335 break;
14336 case 0x2d:
14337 GETBYTE ();
14338 switch (op[2] & 0x00)
14339 {
14340 case 0x00:
14341 goto op_semantics_99;
14342 break;
14343 }
14344 break;
14345 case 0x2e:
14346 GETBYTE ();
14347 switch (op[2] & 0x00)
14348 {
14349 case 0x00:
14350 goto op_semantics_99;
14351 break;
14352 }
14353 break;
14354 case 0x2f:
14355 GETBYTE ();
14356 switch (op[2] & 0x00)
14357 {
14358 case 0x00:
14359 goto op_semantics_99;
14360 break;
14361 }
14362 break;
14363 case 0x30:
14364 GETBYTE ();
14365 switch (op[2] & 0x00)
14366 {
14367 case 0x00:
14368 op_semantics_100:
14369 {
14370 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
14371 #line 614 "rx-decode.opc"
14372 int rdst AU = op[1] & 0x0f;
14373 #line 614 "rx-decode.opc"
14374 int srca AU = (op[2] >> 4) & 0x0f;
14375 #line 614 "rx-decode.opc"
14376 int srcb AU = op[2] & 0x0f;
14377 if (trace)
14378 {
14379 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14380 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
14381 op[0], op[1], op[2]);
14382 printf (" rdst = 0x%x,", rdst);
14383 printf (" srca = 0x%x,", srca);
14384 printf (" srcb = 0x%x\n", srcb);
14385 }
14386 SYNTAX("mul %2, %1, %0");
14387 #line 614 "rx-decode.opc"
14388 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
14389
14390 /*----------------------------------------------------------------------*/
14391 /* EMUL */
14392
14393 }
14394 break;
14395 }
14396 break;
14397 case 0x31:
14398 GETBYTE ();
14399 switch (op[2] & 0x00)
14400 {
14401 case 0x00:
14402 goto op_semantics_100;
14403 break;
14404 }
14405 break;
14406 case 0x32:
14407 GETBYTE ();
14408 switch (op[2] & 0x00)
14409 {
14410 case 0x00:
14411 goto op_semantics_100;
14412 break;
14413 }
14414 break;
14415 case 0x33:
14416 GETBYTE ();
14417 switch (op[2] & 0x00)
14418 {
14419 case 0x00:
14420 goto op_semantics_100;
14421 break;
14422 }
14423 break;
14424 case 0x34:
14425 GETBYTE ();
14426 switch (op[2] & 0x00)
14427 {
14428 case 0x00:
14429 goto op_semantics_100;
14430 break;
14431 }
14432 break;
14433 case 0x35:
14434 GETBYTE ();
14435 switch (op[2] & 0x00)
14436 {
14437 case 0x00:
14438 goto op_semantics_100;
14439 break;
14440 }
14441 break;
14442 case 0x36:
14443 GETBYTE ();
14444 switch (op[2] & 0x00)
14445 {
14446 case 0x00:
14447 goto op_semantics_100;
14448 break;
14449 }
14450 break;
14451 case 0x37:
14452 GETBYTE ();
14453 switch (op[2] & 0x00)
14454 {
14455 case 0x00:
14456 goto op_semantics_100;
14457 break;
14458 }
14459 break;
14460 case 0x38:
14461 GETBYTE ();
14462 switch (op[2] & 0x00)
14463 {
14464 case 0x00:
14465 goto op_semantics_100;
14466 break;
14467 }
14468 break;
14469 case 0x39:
14470 GETBYTE ();
14471 switch (op[2] & 0x00)
14472 {
14473 case 0x00:
14474 goto op_semantics_100;
14475 break;
14476 }
14477 break;
14478 case 0x3a:
14479 GETBYTE ();
14480 switch (op[2] & 0x00)
14481 {
14482 case 0x00:
14483 goto op_semantics_100;
14484 break;
14485 }
14486 break;
14487 case 0x3b:
14488 GETBYTE ();
14489 switch (op[2] & 0x00)
14490 {
14491 case 0x00:
14492 goto op_semantics_100;
14493 break;
14494 }
14495 break;
14496 case 0x3c:
14497 GETBYTE ();
14498 switch (op[2] & 0x00)
14499 {
14500 case 0x00:
14501 goto op_semantics_100;
14502 break;
14503 }
14504 break;
14505 case 0x3d:
14506 GETBYTE ();
14507 switch (op[2] & 0x00)
14508 {
14509 case 0x00:
14510 goto op_semantics_100;
14511 break;
14512 }
14513 break;
14514 case 0x3e:
14515 GETBYTE ();
14516 switch (op[2] & 0x00)
14517 {
14518 case 0x00:
14519 goto op_semantics_100;
14520 break;
14521 }
14522 break;
14523 case 0x3f:
14524 GETBYTE ();
14525 switch (op[2] & 0x00)
14526 {
14527 case 0x00:
14528 goto op_semantics_100;
14529 break;
14530 }
14531 break;
14532 case 0x40:
14533 GETBYTE ();
14534 switch (op[2] & 0x00)
14535 {
14536 case 0x00:
14537 op_semantics_101:
14538 {
14539 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
14540 #line 422 "rx-decode.opc"
14541 int rdst AU = op[1] & 0x0f;
14542 #line 422 "rx-decode.opc"
14543 int srca AU = (op[2] >> 4) & 0x0f;
14544 #line 422 "rx-decode.opc"
14545 int srcb AU = op[2] & 0x0f;
14546 if (trace)
14547 {
14548 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14549 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
14550 op[0], op[1], op[2]);
14551 printf (" rdst = 0x%x,", rdst);
14552 printf (" srca = 0x%x,", srca);
14553 printf (" srcb = 0x%x\n", srcb);
14554 }
14555 SYNTAX("and %2, %1, %0");
14556 #line 422 "rx-decode.opc"
14557 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14558
14559 /*----------------------------------------------------------------------*/
14560 /* OR */
14561
14562 }
14563 break;
14564 }
14565 break;
14566 case 0x41:
14567 GETBYTE ();
14568 switch (op[2] & 0x00)
14569 {
14570 case 0x00:
14571 goto op_semantics_101;
14572 break;
14573 }
14574 break;
14575 case 0x42:
14576 GETBYTE ();
14577 switch (op[2] & 0x00)
14578 {
14579 case 0x00:
14580 goto op_semantics_101;
14581 break;
14582 }
14583 break;
14584 case 0x43:
14585 GETBYTE ();
14586 switch (op[2] & 0x00)
14587 {
14588 case 0x00:
14589 goto op_semantics_101;
14590 break;
14591 }
14592 break;
14593 case 0x44:
14594 GETBYTE ();
14595 switch (op[2] & 0x00)
14596 {
14597 case 0x00:
14598 goto op_semantics_101;
14599 break;
14600 }
14601 break;
14602 case 0x45:
14603 GETBYTE ();
14604 switch (op[2] & 0x00)
14605 {
14606 case 0x00:
14607 goto op_semantics_101;
14608 break;
14609 }
14610 break;
14611 case 0x46:
14612 GETBYTE ();
14613 switch (op[2] & 0x00)
14614 {
14615 case 0x00:
14616 goto op_semantics_101;
14617 break;
14618 }
14619 break;
14620 case 0x47:
14621 GETBYTE ();
14622 switch (op[2] & 0x00)
14623 {
14624 case 0x00:
14625 goto op_semantics_101;
14626 break;
14627 }
14628 break;
14629 case 0x48:
14630 GETBYTE ();
14631 switch (op[2] & 0x00)
14632 {
14633 case 0x00:
14634 goto op_semantics_101;
14635 break;
14636 }
14637 break;
14638 case 0x49:
14639 GETBYTE ();
14640 switch (op[2] & 0x00)
14641 {
14642 case 0x00:
14643 goto op_semantics_101;
14644 break;
14645 }
14646 break;
14647 case 0x4a:
14648 GETBYTE ();
14649 switch (op[2] & 0x00)
14650 {
14651 case 0x00:
14652 goto op_semantics_101;
14653 break;
14654 }
14655 break;
14656 case 0x4b:
14657 GETBYTE ();
14658 switch (op[2] & 0x00)
14659 {
14660 case 0x00:
14661 goto op_semantics_101;
14662 break;
14663 }
14664 break;
14665 case 0x4c:
14666 GETBYTE ();
14667 switch (op[2] & 0x00)
14668 {
14669 case 0x00:
14670 goto op_semantics_101;
14671 break;
14672 }
14673 break;
14674 case 0x4d:
14675 GETBYTE ();
14676 switch (op[2] & 0x00)
14677 {
14678 case 0x00:
14679 goto op_semantics_101;
14680 break;
14681 }
14682 break;
14683 case 0x4e:
14684 GETBYTE ();
14685 switch (op[2] & 0x00)
14686 {
14687 case 0x00:
14688 goto op_semantics_101;
14689 break;
14690 }
14691 break;
14692 case 0x4f:
14693 GETBYTE ();
14694 switch (op[2] & 0x00)
14695 {
14696 case 0x00:
14697 goto op_semantics_101;
14698 break;
14699 }
14700 break;
14701 case 0x50:
14702 GETBYTE ();
14703 switch (op[2] & 0x00)
14704 {
14705 case 0x00:
14706 op_semantics_102:
14707 {
14708 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
14709 #line 440 "rx-decode.opc"
14710 int rdst AU = op[1] & 0x0f;
14711 #line 440 "rx-decode.opc"
14712 int srca AU = (op[2] >> 4) & 0x0f;
14713 #line 440 "rx-decode.opc"
14714 int srcb AU = op[2] & 0x0f;
14715 if (trace)
14716 {
14717 printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14718 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
14719 op[0], op[1], op[2]);
14720 printf (" rdst = 0x%x,", rdst);
14721 printf (" srca = 0x%x,", srca);
14722 printf (" srcb = 0x%x\n", srcb);
14723 }
14724 SYNTAX("or %2, %1, %0");
14725 #line 440 "rx-decode.opc"
14726 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
14727
14728 /*----------------------------------------------------------------------*/
14729 /* XOR */
14730
14731 }
14732 break;
14733 }
14734 break;
14735 case 0x51:
14736 GETBYTE ();
14737 switch (op[2] & 0x00)
14738 {
14739 case 0x00:
14740 goto op_semantics_102;
14741 break;
14742 }
14743 break;
14744 case 0x52:
14745 GETBYTE ();
14746 switch (op[2] & 0x00)
14747 {
14748 case 0x00:
14749 goto op_semantics_102;
14750 break;
14751 }
14752 break;
14753 case 0x53:
14754 GETBYTE ();
14755 switch (op[2] & 0x00)
14756 {
14757 case 0x00:
14758 goto op_semantics_102;
14759 break;
14760 }
14761 break;
14762 case 0x54:
14763 GETBYTE ();
14764 switch (op[2] & 0x00)
14765 {
14766 case 0x00:
14767 goto op_semantics_102;
14768 break;
14769 }
14770 break;
14771 case 0x55:
14772 GETBYTE ();
14773 switch (op[2] & 0x00)
14774 {
14775 case 0x00:
14776 goto op_semantics_102;
14777 break;
14778 }
14779 break;
14780 case 0x56:
14781 GETBYTE ();
14782 switch (op[2] & 0x00)
14783 {
14784 case 0x00:
14785 goto op_semantics_102;
14786 break;
14787 }
14788 break;
14789 case 0x57:
14790 GETBYTE ();
14791 switch (op[2] & 0x00)
14792 {
14793 case 0x00:
14794 goto op_semantics_102;
14795 break;
14796 }
14797 break;
14798 case 0x58:
14799 GETBYTE ();
14800 switch (op[2] & 0x00)
14801 {
14802 case 0x00:
14803 goto op_semantics_102;
14804 break;
14805 }
14806 break;
14807 case 0x59:
14808 GETBYTE ();
14809 switch (op[2] & 0x00)
14810 {
14811 case 0x00:
14812 goto op_semantics_102;
14813 break;
14814 }
14815 break;
14816 case 0x5a:
14817 GETBYTE ();
14818 switch (op[2] & 0x00)
14819 {
14820 case 0x00:
14821 goto op_semantics_102;
14822 break;
14823 }
14824 break;
14825 case 0x5b:
14826 GETBYTE ();
14827 switch (op[2] & 0x00)
14828 {
14829 case 0x00:
14830 goto op_semantics_102;
14831 break;
14832 }
14833 break;
14834 case 0x5c:
14835 GETBYTE ();
14836 switch (op[2] & 0x00)
14837 {
14838 case 0x00:
14839 goto op_semantics_102;
14840 break;
14841 }
14842 break;
14843 case 0x5d:
14844 GETBYTE ();
14845 switch (op[2] & 0x00)
14846 {
14847 case 0x00:
14848 goto op_semantics_102;
14849 break;
14850 }
14851 break;
14852 case 0x5e:
14853 GETBYTE ();
14854 switch (op[2] & 0x00)
14855 {
14856 case 0x00:
14857 goto op_semantics_102;
14858 break;
14859 }
14860 break;
14861 case 0x5f:
14862 GETBYTE ();
14863 switch (op[2] & 0x00)
14864 {
14865 case 0x00:
14866 goto op_semantics_102;
14867 break;
14868 }
14869 break;
14870 default: UNSUPPORTED(); break;
14871 }
14872 break;
14873 default: UNSUPPORTED(); break;
14874 }
14875 #line 1005 "rx-decode.opc"
14876
14877 return rx->n_bytes;
14878 }
This page took 0.46904 seconds and 5 git commands to generate.