1 /* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */ 2 #line 1 "rx-decode.opc" 3 /* -*- c -*- */ 4 /* Copyright (C) 2012-2024 Free Software Foundation, Inc. 5 Contributed by Red Hat. 6 Written by DJ Delorie. 7 8 This file is part of the GNU opcodes library. 9 10 This library is free software; you can redistribute it and/or modify 11 it under the terms of the GNU General Public License as published by 12 the Free Software Foundation; either version 3, or (at your option) 13 any later version. 14 15 It is distributed in the hope that it will be useful, but WITHOUT 16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 18 License for more details. 19 20 You should have received a copy of the GNU General Public License 21 along with this program; if not, write to the Free Software 22 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 23 MA 02110-1301, USA. */ 24 25 #include "sysdep.h" 26 #include <stdio.h> 27 #include <stdlib.h> 28 #include <string.h> 29 #include "ansidecl.h" 30 #include "opcode/rx.h" 31 #include "libiberty.h" 32 33 #define RX_OPCODE_BIG_ENDIAN 0 34 35 typedef struct 36 { 37 RX_Opcode_Decoded * rx; 38 int (* getbyte)(void *); 39 void * ptr; 40 unsigned char * op; 41 } LocalData; 42 43 static int trace = 0; 44 45 #define BSIZE 0 46 #define WSIZE 1 47 #define LSIZE 2 48 #define DSIZE 3 49 50 /* These are for when the upper bits are "don't care" or "undefined". */ 51 static int bwl[4] = 52 { 53 RX_Byte, 54 RX_Word, 55 RX_Long, 56 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */ 57 }; 58 59 static int sbwl[4] = 60 { 61 RX_SByte, 62 RX_SWord, 63 RX_Long, 64 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */ 65 }; 66 67 static int ubw[4] = 68 { 69 RX_UByte, 70 RX_UWord, 71 RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */ 72 RX_Bad_Size /* Bogus instructions can have a size field set to 3. */ 73 }; 74 75 static int memex[4] = 76 { 77 RX_SByte, 78 RX_SWord, 79 RX_Long, 80 RX_UWord 81 }; 82 83 static int _ld[2] = 84 { 85 RX_Long, 86 RX_Double 87 }; 88 89 #define ID(x) rx->id = RXO_##x 90 #define OP(n,t,r,a) (rx->op[n].type = t, \ 91 rx->op[n].reg = r, \ 92 rx->op[n].addend = a ) 93 #define OPs(n,t,r,a,s) (OP (n,t,r,a), \ 94 rx->op[n].size = s ) 95 96 /* This is for the BWL and BW bitfields. */ 97 static int SCALE[] = { 1, 2, 4, 0 }; 98 /* This is for the prefix size enum. */ 99 static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4, 8 }; 100 101 #define GET_SCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0) 102 #define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0) 103 104 static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0, 105 16, 17, 0, 0, 0, 0, 0, 0 }; 106 107 static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 }; 108 109 /* 110 *C a constant (immediate) c 111 *R A register 112 *I Register indirect, no offset 113 *Is Register indirect, with offset 114 *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code 115 *P standard displacement: type (r,[r]), reg, assumes UByte 116 *Pm memex displacement: type (r,[r]), reg, memex code 117 *cc condition code. */ 118 119 #define DC(c) OP (0, RX_Operand_Immediate, 0, c) 120 #define DR(r) OP (0, RX_Operand_Register, r, 0) 121 #define DI(r,a) OP (0, RX_Operand_Indirect, r, a) 122 #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * GET_SCALE (s)) 123 #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld); 124 #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0) 125 #define DCR(r) OP (0, RX_Operand_DoubleCReg, r, 0) 126 #define DDR(r) OP (0, RX_Operand_DoubleReg, r, 0) 127 #define DDRH(r) OP (0, RX_Operand_DoubleRegH, r, 0) 128 #define DDRL(r) OP (0, RX_Operand_DoubleRegL, r, 0) 129 #define DCND(r) OP (0, RX_Operand_DoubleCond, r, 0) 130 131 #define SC(i) OP (1, RX_Operand_Immediate, 0, i) 132 #define SR(r) OP (1, RX_Operand_Register, r, 0) 133 #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0) 134 #define SI(r,a) OP (1, RX_Operand_Indirect, r, a) 135 #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * GET_SCALE (s)) 136 #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld); 137 #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1); 138 #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m]; 139 #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0) 140 #define SCR(r) OP (1, RX_Operand_DoubleCReg, r, 0) 141 #define SDR(r) OP (1, RX_Operand_DoubleReg, r, 0) 142 #define SDRH(r) OP (1, RX_Operand_DoubleRegH, r, 0) 143 #define SDRL(r) OP (1, RX_Operand_DoubleRegL, r, 0) 144 145 #define S2C(i) OP (2, RX_Operand_Immediate, 0, i) 146 #define S2R(r) OP (2, RX_Operand_Register, r, 0) 147 #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a) 148 #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * GET_SCALE (s)) 149 #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld); 150 #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2); 151 #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m]; 152 #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0) 153 #define S2DR(r) OP (2, RX_Operand_DoubleReg, r, 0) 154 #define S2CR(r) OP (2, RX_Operand_DoubleCReg, r, 0) 155 156 #define SDD(t,r,s) rx_disp (1, t, r, bwl, ld); 157 158 #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz] 159 #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz] 160 #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz] 161 #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long; 162 #define DL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = _ld[sz] 163 164 #define F(f) store_flags(rx, f) 165 166 #define AU ATTRIBUTE_UNUSED 167 #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr)) 168 169 #define SYNTAX(x) rx->syntax = x 170 171 #define UNSUPPORTED() \ 172 rx->syntax = "*unknown*" 173 174 #define IMM(sf) immediate (sf, 0, ld) 175 #define IMMex(sf) immediate (sf, 1, ld) 176 177 static int 178 immediate (int sfield, int ex, LocalData * ld) 179 { 180 unsigned long i = 0, j; 181 182 switch (sfield) 183 { 184 #define B ((unsigned long) GETBYTE()) 185 case 0: 186 #if RX_OPCODE_BIG_ENDIAN 187 i = B; 188 if (ex && (i & 0x80)) 189 i -= 0x100; 190 i <<= 24; 191 i |= B << 16; 192 i |= B << 8; 193 i |= B; 194 #else 195 i = B; 196 i |= B << 8; 197 i |= B << 16; 198 j = B; 199 if (ex && (j & 0x80)) 200 j -= 0x100; 201 i |= j << 24; 202 #endif 203 break; 204 case 3: 205 #if RX_OPCODE_BIG_ENDIAN 206 i = B << 16; 207 i |= B << 8; 208 i |= B; 209 #else 210 i = B; 211 i |= B << 8; 212 i |= B << 16; 213 #endif 214 if (ex && (i & 0x800000)) 215 i -= 0x1000000; 216 break; 217 case 2: 218 #if RX_OPCODE_BIG_ENDIAN 219 i |= B << 8; 220 i |= B; 221 #else 222 i |= B; 223 i |= B << 8; 224 #endif 225 if (ex && (i & 0x8000)) 226 i -= 0x10000; 227 break; 228 case 1: 229 i |= B; 230 if (ex && (i & 0x80)) 231 i -= 0x100; 232 break; 233 default: 234 abort(); 235 } 236 return i; 237 } 238 239 static void 240 rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld) 241 { 242 int disp; 243 244 ld->rx->op[n].reg = reg; 245 switch (type) 246 { 247 case 3: 248 ld->rx->op[n].type = RX_Operand_Register; 249 break; 250 case 0: 251 ld->rx->op[n].type = RX_Operand_Zero_Indirect; 252 ld->rx->op[n].addend = 0; 253 break; 254 case 1: 255 ld->rx->op[n].type = RX_Operand_Indirect; 256 disp = GETBYTE (); 257 ld->rx->op[n].addend = disp * GET_PSCALE (size); 258 break; 259 case 2: 260 ld->rx->op[n].type = RX_Operand_Indirect; 261 disp = GETBYTE (); 262 #if RX_OPCODE_BIG_ENDIAN 263 disp = disp * 256 + GETBYTE (); 264 #else 265 disp = disp + GETBYTE () * 256; 266 #endif 267 ld->rx->op[n].addend = disp * GET_PSCALE (size); 268 break; 269 default: 270 abort (); 271 } 272 } 273 274 #define xO 8 275 #define xS 4 276 #define xZ 2 277 #define xC 1 278 279 #define F_____ 280 #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC; 281 #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ; 282 #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC; 283 #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC; 284 #define F_O___ rx->flags_0 = rx->flags_s = xO; 285 #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS; 286 #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ; 287 #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC; 288 289 int 290 rx_decode_opcode (unsigned long pc AU, 291 RX_Opcode_Decoded * rx, 292 int (* getbyte)(void *), 293 void * ptr) 294 { 295 LocalData lds, * ld = &lds; 296 unsigned char op[20] = {0}; 297 298 lds.rx = rx; 299 lds.getbyte = getbyte; 300 lds.ptr = ptr; 301 lds.op = op; 302 303 memset (rx, 0, sizeof (*rx)); 304 BWL(LSIZE); 305 306 307 /*----------------------------------------------------------------------*/ 308 /* MOV */ 309 310 GETBYTE (); 311 switch (op[0] & 0xff) 312 { 313 case 0x00: 314 { 315 /** 0000 0000 brk */ 316 if (trace) 317 { 318 printf ("\033[33m%s\033[0m %02x\n", 319 "/** 0000 0000 brk */", 320 op[0]); 321 } 322 SYNTAX("brk"); 323 #line 1050 "rx-decode.opc" 324 ID(brk); 325 326 } 327 break; 328 case 0x01: 329 { 330 /** 0000 0001 dbt */ 331 if (trace) 332 { 333 printf ("\033[33m%s\033[0m %02x\n", 334 "/** 0000 0001 dbt */", 335 op[0]); 336 } 337 SYNTAX("dbt"); 338 #line 1053 "rx-decode.opc" 339 ID(dbt); 340 341 } 342 break; 343 case 0x02: 344 { 345 /** 0000 0010 rts */ 346 if (trace) 347 { 348 printf ("\033[33m%s\033[0m %02x\n", 349 "/** 0000 0010 rts */", 350 op[0]); 351 } 352 SYNTAX("rts"); 353 #line 831 "rx-decode.opc" 354 ID(rts); 355 356 /*----------------------------------------------------------------------*/ 357 /* NOP */ 358 359 } 360 break; 361 case 0x03: 362 { 363 /** 0000 0011 nop */ 364 if (trace) 365 { 366 printf ("\033[33m%s\033[0m %02x\n", 367 "/** 0000 0011 nop */", 368 op[0]); 369 } 370 SYNTAX("nop"); 371 #line 837 "rx-decode.opc" 372 ID(nop); 373 374 /*----------------------------------------------------------------------*/ 375 /* STRING FUNCTIONS */ 376 377 } 378 break; 379 case 0x04: 380 { 381 /** 0000 0100 bra.a %a0 */ 382 if (trace) 383 { 384 printf ("\033[33m%s\033[0m %02x\n", 385 "/** 0000 0100 bra.a %a0 */", 386 op[0]); 387 } 388 SYNTAX("bra.a %a0"); 389 #line 809 "rx-decode.opc" 390 ID(branch); DC(pc + IMMex(3)); 391 392 } 393 break; 394 case 0x05: 395 { 396 /** 0000 0101 bsr.a %a0 */ 397 if (trace) 398 { 399 printf ("\033[33m%s\033[0m %02x\n", 400 "/** 0000 0101 bsr.a %a0 */", 401 op[0]); 402 } 403 SYNTAX("bsr.a %a0"); 404 #line 825 "rx-decode.opc" 405 ID(jsr); DC(pc + IMMex(3)); 406 407 } 408 break; 409 case 0x06: 410 GETBYTE (); 411 switch (op[1] & 0xff) 412 { 413 case 0x00: 414 GETBYTE (); 415 switch (op[2] & 0x00) 416 { 417 case 0x00: 418 op_semantics_1: 419 { 420 /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */ 421 #line 567 "rx-decode.opc" 422 int mx AU = (op[1] >> 6) & 0x03; 423 #line 567 "rx-decode.opc" 424 int ss AU = op[1] & 0x03; 425 #line 567 "rx-decode.opc" 426 int rsrc AU = (op[2] >> 4) & 0x0f; 427 #line 567 "rx-decode.opc" 428 int rdst AU = op[2] & 0x0f; 429 if (trace) 430 { 431 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 432 "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */", 433 op[0], op[1], op[2]); 434 printf (" mx = 0x%x,", mx); 435 printf (" ss = 0x%x,", ss); 436 printf (" rsrc = 0x%x,", rsrc); 437 printf (" rdst = 0x%x\n", rdst); 438 } 439 SYNTAX("sub %2%S2, %1"); 440 #line 567 "rx-decode.opc" 441 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC; 442 443 } 444 break; 445 } 446 break; 447 case 0x01: 448 GETBYTE (); 449 switch (op[2] & 0x00) 450 { 451 case 0x00: 452 goto op_semantics_1; 453 break; 454 } 455 break; 456 case 0x02: 457 GETBYTE (); 458 switch (op[2] & 0x00) 459 { 460 case 0x00: 461 goto op_semantics_1; 462 break; 463 } 464 break; 465 case 0x03: 466 GETBYTE (); 467 switch (op[2] & 0x00) 468 { 469 case 0x00: 470 goto op_semantics_1; 471 break; 472 } 473 break; 474 case 0x04: 475 GETBYTE (); 476 switch (op[2] & 0x00) 477 { 478 case 0x00: 479 op_semantics_2: 480 { 481 /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */ 482 #line 555 "rx-decode.opc" 483 int mx AU = (op[1] >> 6) & 0x03; 484 #line 555 "rx-decode.opc" 485 int ss AU = op[1] & 0x03; 486 #line 555 "rx-decode.opc" 487 int rsrc AU = (op[2] >> 4) & 0x0f; 488 #line 555 "rx-decode.opc" 489 int rdst AU = op[2] & 0x0f; 490 if (trace) 491 { 492 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 493 "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */", 494 op[0], op[1], op[2]); 495 printf (" mx = 0x%x,", mx); 496 printf (" ss = 0x%x,", ss); 497 printf (" rsrc = 0x%x,", rsrc); 498 printf (" rdst = 0x%x\n", rdst); 499 } 500 SYNTAX("cmp %2%S2, %1"); 501 #line 555 "rx-decode.opc" 502 ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC; 503 504 /*----------------------------------------------------------------------*/ 505 /* SUB */ 506 507 } 508 break; 509 } 510 break; 511 case 0x05: 512 GETBYTE (); 513 switch (op[2] & 0x00) 514 { 515 case 0x00: 516 goto op_semantics_2; 517 break; 518 } 519 break; 520 case 0x06: 521 GETBYTE (); 522 switch (op[2] & 0x00) 523 { 524 case 0x00: 525 goto op_semantics_2; 526 break; 527 } 528 break; 529 case 0x07: 530 GETBYTE (); 531 switch (op[2] & 0x00) 532 { 533 case 0x00: 534 goto op_semantics_2; 535 break; 536 } 537 break; 538 case 0x08: 539 GETBYTE (); 540 switch (op[2] & 0x00) 541 { 542 case 0x00: 543 op_semantics_3: 544 { 545 /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */ 546 #line 531 "rx-decode.opc" 547 int mx AU = (op[1] >> 6) & 0x03; 548 #line 531 "rx-decode.opc" 549 int ss AU = op[1] & 0x03; 550 #line 531 "rx-decode.opc" 551 int rsrc AU = (op[2] >> 4) & 0x0f; 552 #line 531 "rx-decode.opc" 553 int rdst AU = op[2] & 0x0f; 554 if (trace) 555 { 556 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 557 "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */", 558 op[0], op[1], op[2]); 559 printf (" mx = 0x%x,", mx); 560 printf (" ss = 0x%x,", ss); 561 printf (" rsrc = 0x%x,", rsrc); 562 printf (" rdst = 0x%x\n", rdst); 563 } 564 SYNTAX("add %1%S1, %0"); 565 #line 531 "rx-decode.opc" 566 ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC; 567 568 } 569 break; 570 } 571 break; 572 case 0x09: 573 GETBYTE (); 574 switch (op[2] & 0x00) 575 { 576 case 0x00: 577 goto op_semantics_3; 578 break; 579 } 580 break; 581 case 0x0a: 582 GETBYTE (); 583 switch (op[2] & 0x00) 584 { 585 case 0x00: 586 goto op_semantics_3; 587 break; 588 } 589 break; 590 case 0x0b: 591 GETBYTE (); 592 switch (op[2] & 0x00) 593 { 594 case 0x00: 595 goto op_semantics_3; 596 break; 597 } 598 break; 599 case 0x0c: 600 GETBYTE (); 601 switch (op[2] & 0x00) 602 { 603 case 0x00: 604 op_semantics_4: 605 { 606 /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */ 607 #line 674 "rx-decode.opc" 608 int mx AU = (op[1] >> 6) & 0x03; 609 #line 674 "rx-decode.opc" 610 int ss AU = op[1] & 0x03; 611 #line 674 "rx-decode.opc" 612 int rsrc AU = (op[2] >> 4) & 0x0f; 613 #line 674 "rx-decode.opc" 614 int rdst AU = op[2] & 0x0f; 615 if (trace) 616 { 617 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 618 "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */", 619 op[0], op[1], op[2]); 620 printf (" mx = 0x%x,", mx); 621 printf (" ss = 0x%x,", ss); 622 printf (" rsrc = 0x%x,", rsrc); 623 printf (" rdst = 0x%x\n", rdst); 624 } 625 SYNTAX("mul %1%S1, %0"); 626 #line 674 "rx-decode.opc" 627 ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____; 628 629 } 630 break; 631 } 632 break; 633 case 0x0d: 634 GETBYTE (); 635 switch (op[2] & 0x00) 636 { 637 case 0x00: 638 goto op_semantics_4; 639 break; 640 } 641 break; 642 case 0x0e: 643 GETBYTE (); 644 switch (op[2] & 0x00) 645 { 646 case 0x00: 647 goto op_semantics_4; 648 break; 649 } 650 break; 651 case 0x0f: 652 GETBYTE (); 653 switch (op[2] & 0x00) 654 { 655 case 0x00: 656 goto op_semantics_4; 657 break; 658 } 659 break; 660 case 0x10: 661 GETBYTE (); 662 switch (op[2] & 0x00) 663 { 664 case 0x00: 665 op_semantics_5: 666 { 667 /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */ 668 #line 444 "rx-decode.opc" 669 int mx AU = (op[1] >> 6) & 0x03; 670 #line 444 "rx-decode.opc" 671 int ss AU = op[1] & 0x03; 672 #line 444 "rx-decode.opc" 673 int rsrc AU = (op[2] >> 4) & 0x0f; 674 #line 444 "rx-decode.opc" 675 int rdst AU = op[2] & 0x0f; 676 if (trace) 677 { 678 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 679 "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */", 680 op[0], op[1], op[2]); 681 printf (" mx = 0x%x,", mx); 682 printf (" ss = 0x%x,", ss); 683 printf (" rsrc = 0x%x,", rsrc); 684 printf (" rdst = 0x%x\n", rdst); 685 } 686 SYNTAX("and %1%S1, %0"); 687 #line 444 "rx-decode.opc" 688 ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; 689 690 } 691 break; 692 } 693 break; 694 case 0x11: 695 GETBYTE (); 696 switch (op[2] & 0x00) 697 { 698 case 0x00: 699 goto op_semantics_5; 700 break; 701 } 702 break; 703 case 0x12: 704 GETBYTE (); 705 switch (op[2] & 0x00) 706 { 707 case 0x00: 708 goto op_semantics_5; 709 break; 710 } 711 break; 712 case 0x13: 713 GETBYTE (); 714 switch (op[2] & 0x00) 715 { 716 case 0x00: 717 goto op_semantics_5; 718 break; 719 } 720 break; 721 case 0x14: 722 GETBYTE (); 723 switch (op[2] & 0x00) 724 { 725 case 0x00: 726 op_semantics_6: 727 { 728 /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */ 729 #line 462 "rx-decode.opc" 730 int mx AU = (op[1] >> 6) & 0x03; 731 #line 462 "rx-decode.opc" 732 int ss AU = op[1] & 0x03; 733 #line 462 "rx-decode.opc" 734 int rsrc AU = (op[2] >> 4) & 0x0f; 735 #line 462 "rx-decode.opc" 736 int rdst AU = op[2] & 0x0f; 737 if (trace) 738 { 739 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 740 "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */", 741 op[0], op[1], op[2]); 742 printf (" mx = 0x%x,", mx); 743 printf (" ss = 0x%x,", ss); 744 printf (" rsrc = 0x%x,", rsrc); 745 printf (" rdst = 0x%x\n", rdst); 746 } 747 SYNTAX("or %1%S1, %0"); 748 #line 462 "rx-decode.opc" 749 ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; 750 751 } 752 break; 753 } 754 break; 755 case 0x15: 756 GETBYTE (); 757 switch (op[2] & 0x00) 758 { 759 case 0x00: 760 goto op_semantics_6; 761 break; 762 } 763 break; 764 case 0x16: 765 GETBYTE (); 766 switch (op[2] & 0x00) 767 { 768 case 0x00: 769 goto op_semantics_6; 770 break; 771 } 772 break; 773 case 0x17: 774 GETBYTE (); 775 switch (op[2] & 0x00) 776 { 777 case 0x00: 778 goto op_semantics_6; 779 break; 780 } 781 break; 782 case 0x20: 783 GETBYTE (); 784 switch (op[2] & 0xff) 785 { 786 case 0x00: 787 GETBYTE (); 788 switch (op[3] & 0x00) 789 { 790 case 0x00: 791 op_semantics_7: 792 { 793 /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */ 794 #line 580 "rx-decode.opc" 795 int mx AU = (op[1] >> 6) & 0x03; 796 #line 580 "rx-decode.opc" 797 int sp AU = op[1] & 0x03; 798 #line 580 "rx-decode.opc" 799 int rsrc AU = (op[3] >> 4) & 0x0f; 800 #line 580 "rx-decode.opc" 801 int rdst AU = op[3] & 0x0f; 802 if (trace) 803 { 804 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 805 "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */", 806 op[0], op[1], op[2], op[3]); 807 printf (" mx = 0x%x,", mx); 808 printf (" sp = 0x%x,", sp); 809 printf (" rsrc = 0x%x,", rsrc); 810 printf (" rdst = 0x%x\n", rdst); 811 } 812 SYNTAX("sbb %1%S1, %0"); 813 #line 580 "rx-decode.opc" 814 ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC; 815 816 /*----------------------------------------------------------------------*/ 817 /* ABS */ 818 819 } 820 break; 821 } 822 break; 823 case 0x04: 824 GETBYTE (); 825 switch (op[3] & 0x00) 826 { 827 case 0x00: 828 op_semantics_8: 829 { 830 /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */ 831 #line 619 "rx-decode.opc" 832 int mx AU = (op[1] >> 6) & 0x03; 833 #line 619 "rx-decode.opc" 834 int ss AU = op[1] & 0x03; 835 #line 619 "rx-decode.opc" 836 int rsrc AU = (op[3] >> 4) & 0x0f; 837 #line 619 "rx-decode.opc" 838 int rdst AU = op[3] & 0x0f; 839 if (trace) 840 { 841 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 842 "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */", 843 op[0], op[1], op[2], op[3]); 844 printf (" mx = 0x%x,", mx); 845 printf (" ss = 0x%x,", ss); 846 printf (" rsrc = 0x%x,", rsrc); 847 printf (" rdst = 0x%x\n", rdst); 848 } 849 SYNTAX("max %1%S1, %0"); 850 #line 619 "rx-decode.opc" 851 ID(max); SPm(ss, rsrc, mx); DR(rdst); 852 853 /*----------------------------------------------------------------------*/ 854 /* MIN */ 855 856 } 857 break; 858 } 859 break; 860 case 0x05: 861 GETBYTE (); 862 switch (op[3] & 0x00) 863 { 864 case 0x00: 865 op_semantics_9: 866 { 867 /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */ 868 #line 631 "rx-decode.opc" 869 int mx AU = (op[1] >> 6) & 0x03; 870 #line 631 "rx-decode.opc" 871 int ss AU = op[1] & 0x03; 872 #line 631 "rx-decode.opc" 873 int rsrc AU = (op[3] >> 4) & 0x0f; 874 #line 631 "rx-decode.opc" 875 int rdst AU = op[3] & 0x0f; 876 if (trace) 877 { 878 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 879 "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */", 880 op[0], op[1], op[2], op[3]); 881 printf (" mx = 0x%x,", mx); 882 printf (" ss = 0x%x,", ss); 883 printf (" rsrc = 0x%x,", rsrc); 884 printf (" rdst = 0x%x\n", rdst); 885 } 886 SYNTAX("min %1%S1, %0"); 887 #line 631 "rx-decode.opc" 888 ID(min); SPm(ss, rsrc, mx); DR(rdst); 889 890 /*----------------------------------------------------------------------*/ 891 /* MUL */ 892 893 } 894 break; 895 } 896 break; 897 case 0x06: 898 GETBYTE (); 899 switch (op[3] & 0x00) 900 { 901 case 0x00: 902 op_semantics_10: 903 { 904 /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */ 905 #line 689 "rx-decode.opc" 906 int mx AU = (op[1] >> 6) & 0x03; 907 #line 689 "rx-decode.opc" 908 int ss AU = op[1] & 0x03; 909 #line 689 "rx-decode.opc" 910 int rsrc AU = (op[3] >> 4) & 0x0f; 911 #line 689 "rx-decode.opc" 912 int rdst AU = op[3] & 0x0f; 913 if (trace) 914 { 915 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 916 "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */", 917 op[0], op[1], op[2], op[3]); 918 printf (" mx = 0x%x,", mx); 919 printf (" ss = 0x%x,", ss); 920 printf (" rsrc = 0x%x,", rsrc); 921 printf (" rdst = 0x%x\n", rdst); 922 } 923 SYNTAX("emul %1%S1, %0"); 924 #line 689 "rx-decode.opc" 925 ID(emul); SPm(ss, rsrc, mx); DR(rdst); 926 927 /*----------------------------------------------------------------------*/ 928 /* EMULU */ 929 930 } 931 break; 932 } 933 break; 934 case 0x07: 935 GETBYTE (); 936 switch (op[3] & 0x00) 937 { 938 case 0x00: 939 op_semantics_11: 940 { 941 /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */ 942 #line 701 "rx-decode.opc" 943 int mx AU = (op[1] >> 6) & 0x03; 944 #line 701 "rx-decode.opc" 945 int ss AU = op[1] & 0x03; 946 #line 701 "rx-decode.opc" 947 int rsrc AU = (op[3] >> 4) & 0x0f; 948 #line 701 "rx-decode.opc" 949 int rdst AU = op[3] & 0x0f; 950 if (trace) 951 { 952 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 953 "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */", 954 op[0], op[1], op[2], op[3]); 955 printf (" mx = 0x%x,", mx); 956 printf (" ss = 0x%x,", ss); 957 printf (" rsrc = 0x%x,", rsrc); 958 printf (" rdst = 0x%x\n", rdst); 959 } 960 SYNTAX("emulu %1%S1, %0"); 961 #line 701 "rx-decode.opc" 962 ID(emulu); SPm(ss, rsrc, mx); DR(rdst); 963 964 /*----------------------------------------------------------------------*/ 965 /* DIV */ 966 967 } 968 break; 969 } 970 break; 971 case 0x08: 972 GETBYTE (); 973 switch (op[3] & 0x00) 974 { 975 case 0x00: 976 op_semantics_12: 977 { 978 /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */ 979 #line 713 "rx-decode.opc" 980 int mx AU = (op[1] >> 6) & 0x03; 981 #line 713 "rx-decode.opc" 982 int ss AU = op[1] & 0x03; 983 #line 713 "rx-decode.opc" 984 int rsrc AU = (op[3] >> 4) & 0x0f; 985 #line 713 "rx-decode.opc" 986 int rdst AU = op[3] & 0x0f; 987 if (trace) 988 { 989 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 990 "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */", 991 op[0], op[1], op[2], op[3]); 992 printf (" mx = 0x%x,", mx); 993 printf (" ss = 0x%x,", ss); 994 printf (" rsrc = 0x%x,", rsrc); 995 printf (" rdst = 0x%x\n", rdst); 996 } 997 SYNTAX("div %1%S1, %0"); 998 #line 713 "rx-decode.opc" 999 ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___; 1000 1001 /*----------------------------------------------------------------------*/ 1002 /* DIVU */ 1003 1004 } 1005 break; 1006 } 1007 break; 1008 case 0x09: 1009 GETBYTE (); 1010 switch (op[3] & 0x00) 1011 { 1012 case 0x00: 1013 op_semantics_13: 1014 { 1015 /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */ 1016 #line 725 "rx-decode.opc" 1017 int mx AU = (op[1] >> 6) & 0x03; 1018 #line 725 "rx-decode.opc" 1019 int ss AU = op[1] & 0x03; 1020 #line 725 "rx-decode.opc" 1021 int rsrc AU = (op[3] >> 4) & 0x0f; 1022 #line 725 "rx-decode.opc" 1023 int rdst AU = op[3] & 0x0f; 1024 if (trace) 1025 { 1026 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1027 "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */", 1028 op[0], op[1], op[2], op[3]); 1029 printf (" mx = 0x%x,", mx); 1030 printf (" ss = 0x%x,", ss); 1031 printf (" rsrc = 0x%x,", rsrc); 1032 printf (" rdst = 0x%x\n", rdst); 1033 } 1034 SYNTAX("divu %1%S1, %0"); 1035 #line 725 "rx-decode.opc" 1036 ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___; 1037 1038 /*----------------------------------------------------------------------*/ 1039 /* SHIFT */ 1040 1041 } 1042 break; 1043 } 1044 break; 1045 case 0x0c: 1046 GETBYTE (); 1047 switch (op[3] & 0x00) 1048 { 1049 case 0x00: 1050 op_semantics_14: 1051 { 1052 /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */ 1053 #line 498 "rx-decode.opc" 1054 int mx AU = (op[1] >> 6) & 0x03; 1055 #line 498 "rx-decode.opc" 1056 int ss AU = op[1] & 0x03; 1057 #line 498 "rx-decode.opc" 1058 int rsrc AU = (op[3] >> 4) & 0x0f; 1059 #line 498 "rx-decode.opc" 1060 int rdst AU = op[3] & 0x0f; 1061 if (trace) 1062 { 1063 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1064 "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */", 1065 op[0], op[1], op[2], op[3]); 1066 printf (" mx = 0x%x,", mx); 1067 printf (" ss = 0x%x,", ss); 1068 printf (" rsrc = 0x%x,", rsrc); 1069 printf (" rdst = 0x%x\n", rdst); 1070 } 1071 SYNTAX("tst %1%S1, %2"); 1072 #line 498 "rx-decode.opc" 1073 ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_; 1074 1075 /*----------------------------------------------------------------------*/ 1076 /* NEG */ 1077 1078 } 1079 break; 1080 } 1081 break; 1082 case 0x0d: 1083 GETBYTE (); 1084 switch (op[3] & 0x00) 1085 { 1086 case 0x00: 1087 op_semantics_15: 1088 { 1089 /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */ 1090 #line 477 "rx-decode.opc" 1091 int mx AU = (op[1] >> 6) & 0x03; 1092 #line 477 "rx-decode.opc" 1093 int ss AU = op[1] & 0x03; 1094 #line 477 "rx-decode.opc" 1095 int rsrc AU = (op[3] >> 4) & 0x0f; 1096 #line 477 "rx-decode.opc" 1097 int rdst AU = op[3] & 0x0f; 1098 if (trace) 1099 { 1100 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1101 "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */", 1102 op[0], op[1], op[2], op[3]); 1103 printf (" mx = 0x%x,", mx); 1104 printf (" ss = 0x%x,", ss); 1105 printf (" rsrc = 0x%x,", rsrc); 1106 printf (" rdst = 0x%x\n", rdst); 1107 } 1108 SYNTAX("xor %1%S1, %0"); 1109 #line 477 "rx-decode.opc" 1110 ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_; 1111 1112 /*----------------------------------------------------------------------*/ 1113 /* NOT */ 1114 1115 } 1116 break; 1117 } 1118 break; 1119 case 0x10: 1120 GETBYTE (); 1121 switch (op[3] & 0x00) 1122 { 1123 case 0x00: 1124 op_semantics_16: 1125 { 1126 /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */ 1127 #line 411 "rx-decode.opc" 1128 int mx AU = (op[1] >> 6) & 0x03; 1129 #line 411 "rx-decode.opc" 1130 int ss AU = op[1] & 0x03; 1131 #line 411 "rx-decode.opc" 1132 int rsrc AU = (op[3] >> 4) & 0x0f; 1133 #line 411 "rx-decode.opc" 1134 int rdst AU = op[3] & 0x0f; 1135 if (trace) 1136 { 1137 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1138 "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */", 1139 op[0], op[1], op[2], op[3]); 1140 printf (" mx = 0x%x,", mx); 1141 printf (" ss = 0x%x,", ss); 1142 printf (" rsrc = 0x%x,", rsrc); 1143 printf (" rdst = 0x%x\n", rdst); 1144 } 1145 SYNTAX("xchg %1%S1, %0"); 1146 #line 411 "rx-decode.opc" 1147 ID(xchg); DR(rdst); SPm(ss, rsrc, mx); 1148 1149 /*----------------------------------------------------------------------*/ 1150 /* STZ/STNZ */ 1151 1152 } 1153 break; 1154 } 1155 break; 1156 case 0x11: 1157 GETBYTE (); 1158 switch (op[3] & 0x00) 1159 { 1160 case 0x00: 1161 op_semantics_17: 1162 { 1163 /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */ 1164 #line 954 "rx-decode.opc" 1165 int mx AU = (op[1] >> 6) & 0x03; 1166 #line 954 "rx-decode.opc" 1167 int sd AU = op[1] & 0x03; 1168 #line 954 "rx-decode.opc" 1169 int rsrc AU = (op[3] >> 4) & 0x0f; 1170 #line 954 "rx-decode.opc" 1171 int rdst AU = op[3] & 0x0f; 1172 if (trace) 1173 { 1174 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1175 "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */", 1176 op[0], op[1], op[2], op[3]); 1177 printf (" mx = 0x%x,", mx); 1178 printf (" sd = 0x%x,", sd); 1179 printf (" rsrc = 0x%x,", rsrc); 1180 printf (" rdst = 0x%x\n", rdst); 1181 } 1182 SYNTAX("itof %1%S1, %0"); 1183 #line 954 "rx-decode.opc" 1184 ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; 1185 1186 /*----------------------------------------------------------------------*/ 1187 /* BIT OPS */ 1188 1189 } 1190 break; 1191 } 1192 break; 1193 case 0x15: 1194 GETBYTE (); 1195 switch (op[3] & 0x00) 1196 { 1197 case 0x00: 1198 op_semantics_18: 1199 { 1200 /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */ 1201 #line 1140 "rx-decode.opc" 1202 int mx AU = (op[1] >> 6) & 0x03; 1203 #line 1140 "rx-decode.opc" 1204 int sd AU = op[1] & 0x03; 1205 #line 1140 "rx-decode.opc" 1206 int rsrc AU = (op[3] >> 4) & 0x0f; 1207 #line 1140 "rx-decode.opc" 1208 int rdst AU = op[3] & 0x0f; 1209 if (trace) 1210 { 1211 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 1212 "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */", 1213 op[0], op[1], op[2], op[3]); 1214 printf (" mx = 0x%x,", mx); 1215 printf (" sd = 0x%x,", sd); 1216 printf (" rsrc = 0x%x,", rsrc); 1217 printf (" rdst = 0x%x\n", rdst); 1218 } 1219 SYNTAX("utof %1%S1, %0"); 1220 #line 1140 "rx-decode.opc" 1221 ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_; 1222 1223 /*----------------------------------------------------------------------*/ 1224 /* RXv3 enhanced */ 1225 1226 } 1227 break; 1228 } 1229 break; 1230 default: UNSUPPORTED(); break; 1231 } 1232 break; 1233 case 0x21: 1234 GETBYTE (); 1235 switch (op[2] & 0xff) 1236 { 1237 case 0x00: 1238 GETBYTE (); 1239 switch (op[3] & 0x00) 1240 { 1241 case 0x00: 1242 goto op_semantics_7; 1243 break; 1244 } 1245 break; 1246 case 0x04: 1247 GETBYTE (); 1248 switch (op[3] & 0x00) 1249 { 1250 case 0x00: 1251 goto op_semantics_8; 1252 break; 1253 } 1254 break; 1255 case 0x05: 1256 GETBYTE (); 1257 switch (op[3] & 0x00) 1258 { 1259 case 0x00: 1260 goto op_semantics_9; 1261 break; 1262 } 1263 break; 1264 case 0x06: 1265 GETBYTE (); 1266 switch (op[3] & 0x00) 1267 { 1268 case 0x00: 1269 goto op_semantics_10; 1270 break; 1271 } 1272 break; 1273 case 0x07: 1274 GETBYTE (); 1275 switch (op[3] & 0x00) 1276 { 1277 case 0x00: 1278 goto op_semantics_11; 1279 break; 1280 } 1281 break; 1282 case 0x08: 1283 GETBYTE (); 1284 switch (op[3] & 0x00) 1285 { 1286 case 0x00: 1287 goto op_semantics_12; 1288 break; 1289 } 1290 break; 1291 case 0x09: 1292 GETBYTE (); 1293 switch (op[3] & 0x00) 1294 { 1295 case 0x00: 1296 goto op_semantics_13; 1297 break; 1298 } 1299 break; 1300 case 0x0c: 1301 GETBYTE (); 1302 switch (op[3] & 0x00) 1303 { 1304 case 0x00: 1305 goto op_semantics_14; 1306 break; 1307 } 1308 break; 1309 case 0x0d: 1310 GETBYTE (); 1311 switch (op[3] & 0x00) 1312 { 1313 case 0x00: 1314 goto op_semantics_15; 1315 break; 1316 } 1317 break; 1318 case 0x10: 1319 GETBYTE (); 1320 switch (op[3] & 0x00) 1321 { 1322 case 0x00: 1323 goto op_semantics_16; 1324 break; 1325 } 1326 break; 1327 case 0x11: 1328 GETBYTE (); 1329 switch (op[3] & 0x00) 1330 { 1331 case 0x00: 1332 goto op_semantics_17; 1333 break; 1334 } 1335 break; 1336 case 0x15: 1337 GETBYTE (); 1338 switch (op[3] & 0x00) 1339 { 1340 case 0x00: 1341 goto op_semantics_18; 1342 break; 1343 } 1344 break; 1345 default: UNSUPPORTED(); break; 1346 } 1347 break; 1348 case 0x22: 1349 GETBYTE (); 1350 switch (op[2] & 0xff) 1351 { 1352 case 0x00: 1353 GETBYTE (); 1354 switch (op[3] & 0x00) 1355 { 1356 case 0x00: 1357 goto op_semantics_7; 1358 break; 1359 } 1360 break; 1361 case 0x04: 1362 GETBYTE (); 1363 switch (op[3] & 0x00) 1364 { 1365 case 0x00: 1366 goto op_semantics_8; 1367 break; 1368 } 1369 break; 1370 case 0x05: 1371 GETBYTE (); 1372 switch (op[3] & 0x00) 1373 { 1374 case 0x00: 1375 goto op_semantics_9; 1376 break; 1377 } 1378 break; 1379 case 0x06: 1380 GETBYTE (); 1381 switch (op[3] & 0x00) 1382 { 1383 case 0x00: 1384 goto op_semantics_10; 1385 break; 1386 } 1387 break; 1388 case 0x07: 1389 GETBYTE (); 1390 switch (op[3] & 0x00) 1391 { 1392 case 0x00: 1393 goto op_semantics_11; 1394 break; 1395 } 1396 break; 1397 case 0x08: 1398 GETBYTE (); 1399 switch (op[3] & 0x00) 1400 { 1401 case 0x00: 1402 goto op_semantics_12; 1403 break; 1404 } 1405 break; 1406 case 0x09: 1407 GETBYTE (); 1408 switch (op[3] & 0x00) 1409 { 1410 case 0x00: 1411 goto op_semantics_13; 1412 break; 1413 } 1414 break; 1415 case 0x0c: 1416 GETBYTE (); 1417 switch (op[3] & 0x00) 1418 { 1419 case 0x00: 1420 goto op_semantics_14; 1421 break; 1422 } 1423 break; 1424 case 0x0d: 1425 GETBYTE (); 1426 switch (op[3] & 0x00) 1427 { 1428 case 0x00: 1429 goto op_semantics_15; 1430 break; 1431 } 1432 break; 1433 case 0x10: 1434 GETBYTE (); 1435 switch (op[3] & 0x00) 1436 { 1437 case 0x00: 1438 goto op_semantics_16; 1439 break; 1440 } 1441 break; 1442 case 0x11: 1443 GETBYTE (); 1444 switch (op[3] & 0x00) 1445 { 1446 case 0x00: 1447 goto op_semantics_17; 1448 break; 1449 } 1450 break; 1451 case 0x15: 1452 GETBYTE (); 1453 switch (op[3] & 0x00) 1454 { 1455 case 0x00: 1456 goto op_semantics_18; 1457 break; 1458 } 1459 break; 1460 default: UNSUPPORTED(); break; 1461 } 1462 break; 1463 case 0x23: 1464 GETBYTE (); 1465 switch (op[2] & 0xff) 1466 { 1467 case 0x00: 1468 GETBYTE (); 1469 switch (op[3] & 0x00) 1470 { 1471 case 0x00: 1472 goto op_semantics_7; 1473 break; 1474 } 1475 break; 1476 case 0x04: 1477 GETBYTE (); 1478 switch (op[3] & 0x00) 1479 { 1480 case 0x00: 1481 goto op_semantics_8; 1482 break; 1483 } 1484 break; 1485 case 0x05: 1486 GETBYTE (); 1487 switch (op[3] & 0x00) 1488 { 1489 case 0x00: 1490 goto op_semantics_9; 1491 break; 1492 } 1493 break; 1494 case 0x06: 1495 GETBYTE (); 1496 switch (op[3] & 0x00) 1497 { 1498 case 0x00: 1499 goto op_semantics_10; 1500 break; 1501 } 1502 break; 1503 case 0x07: 1504 GETBYTE (); 1505 switch (op[3] & 0x00) 1506 { 1507 case 0x00: 1508 goto op_semantics_11; 1509 break; 1510 } 1511 break; 1512 case 0x08: 1513 GETBYTE (); 1514 switch (op[3] & 0x00) 1515 { 1516 case 0x00: 1517 goto op_semantics_12; 1518 break; 1519 } 1520 break; 1521 case 0x09: 1522 GETBYTE (); 1523 switch (op[3] & 0x00) 1524 { 1525 case 0x00: 1526 goto op_semantics_13; 1527 break; 1528 } 1529 break; 1530 case 0x0c: 1531 GETBYTE (); 1532 switch (op[3] & 0x00) 1533 { 1534 case 0x00: 1535 goto op_semantics_14; 1536 break; 1537 } 1538 break; 1539 case 0x0d: 1540 GETBYTE (); 1541 switch (op[3] & 0x00) 1542 { 1543 case 0x00: 1544 goto op_semantics_15; 1545 break; 1546 } 1547 break; 1548 case 0x10: 1549 GETBYTE (); 1550 switch (op[3] & 0x00) 1551 { 1552 case 0x00: 1553 goto op_semantics_16; 1554 break; 1555 } 1556 break; 1557 case 0x11: 1558 GETBYTE (); 1559 switch (op[3] & 0x00) 1560 { 1561 case 0x00: 1562 goto op_semantics_17; 1563 break; 1564 } 1565 break; 1566 case 0x15: 1567 GETBYTE (); 1568 switch (op[3] & 0x00) 1569 { 1570 case 0x00: 1571 goto op_semantics_18; 1572 break; 1573 } 1574 break; 1575 default: UNSUPPORTED(); break; 1576 } 1577 break; 1578 case 0x40: 1579 GETBYTE (); 1580 switch (op[2] & 0x00) 1581 { 1582 case 0x00: 1583 goto op_semantics_1; 1584 break; 1585 } 1586 break; 1587 case 0x41: 1588 GETBYTE (); 1589 switch (op[2] & 0x00) 1590 { 1591 case 0x00: 1592 goto op_semantics_1; 1593 break; 1594 } 1595 break; 1596 case 0x42: 1597 GETBYTE (); 1598 switch (op[2] & 0x00) 1599 { 1600 case 0x00: 1601 goto op_semantics_1; 1602 break; 1603 } 1604 break; 1605 case 0x43: 1606 GETBYTE (); 1607 switch (op[2] & 0x00) 1608 { 1609 case 0x00: 1610 goto op_semantics_1; 1611 break; 1612 } 1613 break; 1614 case 0x44: 1615 GETBYTE (); 1616 switch (op[2] & 0x00) 1617 { 1618 case 0x00: 1619 goto op_semantics_2; 1620 break; 1621 } 1622 break; 1623 case 0x45: 1624 GETBYTE (); 1625 switch (op[2] & 0x00) 1626 { 1627 case 0x00: 1628 goto op_semantics_2; 1629 break; 1630 } 1631 break; 1632 case 0x46: 1633 GETBYTE (); 1634 switch (op[2] & 0x00) 1635 { 1636 case 0x00: 1637 goto op_semantics_2; 1638 break; 1639 } 1640 break; 1641 case 0x47: 1642 GETBYTE (); 1643 switch (op[2] & 0x00) 1644 { 1645 case 0x00: 1646 goto op_semantics_2; 1647 break; 1648 } 1649 break; 1650 case 0x48: 1651 GETBYTE (); 1652 switch (op[2] & 0x00) 1653 { 1654 case 0x00: 1655 goto op_semantics_3; 1656 break; 1657 } 1658 break; 1659 case 0x49: 1660 GETBYTE (); 1661 switch (op[2] & 0x00) 1662 { 1663 case 0x00: 1664 goto op_semantics_3; 1665 break; 1666 } 1667 break; 1668 case 0x4a: 1669 GETBYTE (); 1670 switch (op[2] & 0x00) 1671 { 1672 case 0x00: 1673 goto op_semantics_3; 1674 break; 1675 } 1676 break; 1677 case 0x4b: 1678 GETBYTE (); 1679 switch (op[2] & 0x00) 1680 { 1681 case 0x00: 1682 goto op_semantics_3; 1683 break; 1684 } 1685 break; 1686 case 0x4c: 1687 GETBYTE (); 1688 switch (op[2] & 0x00) 1689 { 1690 case 0x00: 1691 goto op_semantics_4; 1692 break; 1693 } 1694 break; 1695 case 0x4d: 1696 GETBYTE (); 1697 switch (op[2] & 0x00) 1698 { 1699 case 0x00: 1700 goto op_semantics_4; 1701 break; 1702 } 1703 break; 1704 case 0x4e: 1705 GETBYTE (); 1706 switch (op[2] & 0x00) 1707 { 1708 case 0x00: 1709 goto op_semantics_4; 1710 break; 1711 } 1712 break; 1713 case 0x4f: 1714 GETBYTE (); 1715 switch (op[2] & 0x00) 1716 { 1717 case 0x00: 1718 goto op_semantics_4; 1719 break; 1720 } 1721 break; 1722 case 0x50: 1723 GETBYTE (); 1724 switch (op[2] & 0x00) 1725 { 1726 case 0x00: 1727 goto op_semantics_5; 1728 break; 1729 } 1730 break; 1731 case 0x51: 1732 GETBYTE (); 1733 switch (op[2] & 0x00) 1734 { 1735 case 0x00: 1736 goto op_semantics_5; 1737 break; 1738 } 1739 break; 1740 case 0x52: 1741 GETBYTE (); 1742 switch (op[2] & 0x00) 1743 { 1744 case 0x00: 1745 goto op_semantics_5; 1746 break; 1747 } 1748 break; 1749 case 0x53: 1750 GETBYTE (); 1751 switch (op[2] & 0x00) 1752 { 1753 case 0x00: 1754 goto op_semantics_5; 1755 break; 1756 } 1757 break; 1758 case 0x54: 1759 GETBYTE (); 1760 switch (op[2] & 0x00) 1761 { 1762 case 0x00: 1763 goto op_semantics_6; 1764 break; 1765 } 1766 break; 1767 case 0x55: 1768 GETBYTE (); 1769 switch (op[2] & 0x00) 1770 { 1771 case 0x00: 1772 goto op_semantics_6; 1773 break; 1774 } 1775 break; 1776 case 0x56: 1777 GETBYTE (); 1778 switch (op[2] & 0x00) 1779 { 1780 case 0x00: 1781 goto op_semantics_6; 1782 break; 1783 } 1784 break; 1785 case 0x57: 1786 GETBYTE (); 1787 switch (op[2] & 0x00) 1788 { 1789 case 0x00: 1790 goto op_semantics_6; 1791 break; 1792 } 1793 break; 1794 case 0x60: 1795 GETBYTE (); 1796 switch (op[2] & 0xff) 1797 { 1798 case 0x00: 1799 GETBYTE (); 1800 switch (op[3] & 0x00) 1801 { 1802 case 0x00: 1803 goto op_semantics_7; 1804 break; 1805 } 1806 break; 1807 case 0x04: 1808 GETBYTE (); 1809 switch (op[3] & 0x00) 1810 { 1811 case 0x00: 1812 goto op_semantics_8; 1813 break; 1814 } 1815 break; 1816 case 0x05: 1817 GETBYTE (); 1818 switch (op[3] & 0x00) 1819 { 1820 case 0x00: 1821 goto op_semantics_9; 1822 break; 1823 } 1824 break; 1825 case 0x06: 1826 GETBYTE (); 1827 switch (op[3] & 0x00) 1828 { 1829 case 0x00: 1830 goto op_semantics_10; 1831 break; 1832 } 1833 break; 1834 case 0x07: 1835 GETBYTE (); 1836 switch (op[3] & 0x00) 1837 { 1838 case 0x00: 1839 goto op_semantics_11; 1840 break; 1841 } 1842 break; 1843 case 0x08: 1844 GETBYTE (); 1845 switch (op[3] & 0x00) 1846 { 1847 case 0x00: 1848 goto op_semantics_12; 1849 break; 1850 } 1851 break; 1852 case 0x09: 1853 GETBYTE (); 1854 switch (op[3] & 0x00) 1855 { 1856 case 0x00: 1857 goto op_semantics_13; 1858 break; 1859 } 1860 break; 1861 case 0x0c: 1862 GETBYTE (); 1863 switch (op[3] & 0x00) 1864 { 1865 case 0x00: 1866 goto op_semantics_14; 1867 break; 1868 } 1869 break; 1870 case 0x0d: 1871 GETBYTE (); 1872 switch (op[3] & 0x00) 1873 { 1874 case 0x00: 1875 goto op_semantics_15; 1876 break; 1877 } 1878 break; 1879 case 0x10: 1880 GETBYTE (); 1881 switch (op[3] & 0x00) 1882 { 1883 case 0x00: 1884 goto op_semantics_16; 1885 break; 1886 } 1887 break; 1888 case 0x11: 1889 GETBYTE (); 1890 switch (op[3] & 0x00) 1891 { 1892 case 0x00: 1893 goto op_semantics_17; 1894 break; 1895 } 1896 break; 1897 case 0x15: 1898 GETBYTE (); 1899 switch (op[3] & 0x00) 1900 { 1901 case 0x00: 1902 goto op_semantics_18; 1903 break; 1904 } 1905 break; 1906 default: UNSUPPORTED(); break; 1907 } 1908 break; 1909 case 0x61: 1910 GETBYTE (); 1911 switch (op[2] & 0xff) 1912 { 1913 case 0x00: 1914 GETBYTE (); 1915 switch (op[3] & 0x00) 1916 { 1917 case 0x00: 1918 goto op_semantics_7; 1919 break; 1920 } 1921 break; 1922 case 0x04: 1923 GETBYTE (); 1924 switch (op[3] & 0x00) 1925 { 1926 case 0x00: 1927 goto op_semantics_8; 1928 break; 1929 } 1930 break; 1931 case 0x05: 1932 GETBYTE (); 1933 switch (op[3] & 0x00) 1934 { 1935 case 0x00: 1936 goto op_semantics_9; 1937 break; 1938 } 1939 break; 1940 case 0x06: 1941 GETBYTE (); 1942 switch (op[3] & 0x00) 1943 { 1944 case 0x00: 1945 goto op_semantics_10; 1946 break; 1947 } 1948 break; 1949 case 0x07: 1950 GETBYTE (); 1951 switch (op[3] & 0x00) 1952 { 1953 case 0x00: 1954 goto op_semantics_11; 1955 break; 1956 } 1957 break; 1958 case 0x08: 1959 GETBYTE (); 1960 switch (op[3] & 0x00) 1961 { 1962 case 0x00: 1963 goto op_semantics_12; 1964 break; 1965 } 1966 break; 1967 case 0x09: 1968 GETBYTE (); 1969 switch (op[3] & 0x00) 1970 { 1971 case 0x00: 1972 goto op_semantics_13; 1973 break; 1974 } 1975 break; 1976 case 0x0c: 1977 GETBYTE (); 1978 switch (op[3] & 0x00) 1979 { 1980 case 0x00: 1981 goto op_semantics_14; 1982 break; 1983 } 1984 break; 1985 case 0x0d: 1986 GETBYTE (); 1987 switch (op[3] & 0x00) 1988 { 1989 case 0x00: 1990 goto op_semantics_15; 1991 break; 1992 } 1993 break; 1994 case 0x10: 1995 GETBYTE (); 1996 switch (op[3] & 0x00) 1997 { 1998 case 0x00: 1999 goto op_semantics_16; 2000 break; 2001 } 2002 break; 2003 case 0x11: 2004 GETBYTE (); 2005 switch (op[3] & 0x00) 2006 { 2007 case 0x00: 2008 goto op_semantics_17; 2009 break; 2010 } 2011 break; 2012 case 0x15: 2013 GETBYTE (); 2014 switch (op[3] & 0x00) 2015 { 2016 case 0x00: 2017 goto op_semantics_18; 2018 break; 2019 } 2020 break; 2021 default: UNSUPPORTED(); break; 2022 } 2023 break; 2024 case 0x62: 2025 GETBYTE (); 2026 switch (op[2] & 0xff) 2027 { 2028 case 0x00: 2029 GETBYTE (); 2030 switch (op[3] & 0x00) 2031 { 2032 case 0x00: 2033 goto op_semantics_7; 2034 break; 2035 } 2036 break; 2037 case 0x04: 2038 GETBYTE (); 2039 switch (op[3] & 0x00) 2040 { 2041 case 0x00: 2042 goto op_semantics_8; 2043 break; 2044 } 2045 break; 2046 case 0x05: 2047 GETBYTE (); 2048 switch (op[3] & 0x00) 2049 { 2050 case 0x00: 2051 goto op_semantics_9; 2052 break; 2053 } 2054 break; 2055 case 0x06: 2056 GETBYTE (); 2057 switch (op[3] & 0x00) 2058 { 2059 case 0x00: 2060 goto op_semantics_10; 2061 break; 2062 } 2063 break; 2064 case 0x07: 2065 GETBYTE (); 2066 switch (op[3] & 0x00) 2067 { 2068 case 0x00: 2069 goto op_semantics_11; 2070 break; 2071 } 2072 break; 2073 case 0x08: 2074 GETBYTE (); 2075 switch (op[3] & 0x00) 2076 { 2077 case 0x00: 2078 goto op_semantics_12; 2079 break; 2080 } 2081 break; 2082 case 0x09: 2083 GETBYTE (); 2084 switch (op[3] & 0x00) 2085 { 2086 case 0x00: 2087 goto op_semantics_13; 2088 break; 2089 } 2090 break; 2091 case 0x0c: 2092 GETBYTE (); 2093 switch (op[3] & 0x00) 2094 { 2095 case 0x00: 2096 goto op_semantics_14; 2097 break; 2098 } 2099 break; 2100 case 0x0d: 2101 GETBYTE (); 2102 switch (op[3] & 0x00) 2103 { 2104 case 0x00: 2105 goto op_semantics_15; 2106 break; 2107 } 2108 break; 2109 case 0x10: 2110 GETBYTE (); 2111 switch (op[3] & 0x00) 2112 { 2113 case 0x00: 2114 goto op_semantics_16; 2115 break; 2116 } 2117 break; 2118 case 0x11: 2119 GETBYTE (); 2120 switch (op[3] & 0x00) 2121 { 2122 case 0x00: 2123 goto op_semantics_17; 2124 break; 2125 } 2126 break; 2127 case 0x15: 2128 GETBYTE (); 2129 switch (op[3] & 0x00) 2130 { 2131 case 0x00: 2132 goto op_semantics_18; 2133 break; 2134 } 2135 break; 2136 default: UNSUPPORTED(); break; 2137 } 2138 break; 2139 case 0x63: 2140 GETBYTE (); 2141 switch (op[2] & 0xff) 2142 { 2143 case 0x00: 2144 GETBYTE (); 2145 switch (op[3] & 0x00) 2146 { 2147 case 0x00: 2148 goto op_semantics_7; 2149 break; 2150 } 2151 break; 2152 case 0x04: 2153 GETBYTE (); 2154 switch (op[3] & 0x00) 2155 { 2156 case 0x00: 2157 goto op_semantics_8; 2158 break; 2159 } 2160 break; 2161 case 0x05: 2162 GETBYTE (); 2163 switch (op[3] & 0x00) 2164 { 2165 case 0x00: 2166 goto op_semantics_9; 2167 break; 2168 } 2169 break; 2170 case 0x06: 2171 GETBYTE (); 2172 switch (op[3] & 0x00) 2173 { 2174 case 0x00: 2175 goto op_semantics_10; 2176 break; 2177 } 2178 break; 2179 case 0x07: 2180 GETBYTE (); 2181 switch (op[3] & 0x00) 2182 { 2183 case 0x00: 2184 goto op_semantics_11; 2185 break; 2186 } 2187 break; 2188 case 0x08: 2189 GETBYTE (); 2190 switch (op[3] & 0x00) 2191 { 2192 case 0x00: 2193 goto op_semantics_12; 2194 break; 2195 } 2196 break; 2197 case 0x09: 2198 GETBYTE (); 2199 switch (op[3] & 0x00) 2200 { 2201 case 0x00: 2202 goto op_semantics_13; 2203 break; 2204 } 2205 break; 2206 case 0x0c: 2207 GETBYTE (); 2208 switch (op[3] & 0x00) 2209 { 2210 case 0x00: 2211 goto op_semantics_14; 2212 break; 2213 } 2214 break; 2215 case 0x0d: 2216 GETBYTE (); 2217 switch (op[3] & 0x00) 2218 { 2219 case 0x00: 2220 goto op_semantics_15; 2221 break; 2222 } 2223 break; 2224 case 0x10: 2225 GETBYTE (); 2226 switch (op[3] & 0x00) 2227 { 2228 case 0x00: 2229 goto op_semantics_16; 2230 break; 2231 } 2232 break; 2233 case 0x11: 2234 GETBYTE (); 2235 switch (op[3] & 0x00) 2236 { 2237 case 0x00: 2238 goto op_semantics_17; 2239 break; 2240 } 2241 break; 2242 case 0x15: 2243 GETBYTE (); 2244 switch (op[3] & 0x00) 2245 { 2246 case 0x00: 2247 goto op_semantics_18; 2248 break; 2249 } 2250 break; 2251 default: UNSUPPORTED(); break; 2252 } 2253 break; 2254 case 0x80: 2255 GETBYTE (); 2256 switch (op[2] & 0x00) 2257 { 2258 case 0x00: 2259 goto op_semantics_1; 2260 break; 2261 } 2262 break; 2263 case 0x81: 2264 GETBYTE (); 2265 switch (op[2] & 0x00) 2266 { 2267 case 0x00: 2268 goto op_semantics_1; 2269 break; 2270 } 2271 break; 2272 case 0x82: 2273 GETBYTE (); 2274 switch (op[2] & 0x00) 2275 { 2276 case 0x00: 2277 goto op_semantics_1; 2278 break; 2279 } 2280 break; 2281 case 0x83: 2282 GETBYTE (); 2283 switch (op[2] & 0x00) 2284 { 2285 case 0x00: 2286 goto op_semantics_1; 2287 break; 2288 } 2289 break; 2290 case 0x84: 2291 GETBYTE (); 2292 switch (op[2] & 0x00) 2293 { 2294 case 0x00: 2295 goto op_semantics_2; 2296 break; 2297 } 2298 break; 2299 case 0x85: 2300 GETBYTE (); 2301 switch (op[2] & 0x00) 2302 { 2303 case 0x00: 2304 goto op_semantics_2; 2305 break; 2306 } 2307 break; 2308 case 0x86: 2309 GETBYTE (); 2310 switch (op[2] & 0x00) 2311 { 2312 case 0x00: 2313 goto op_semantics_2; 2314 break; 2315 } 2316 break; 2317 case 0x87: 2318 GETBYTE (); 2319 switch (op[2] & 0x00) 2320 { 2321 case 0x00: 2322 goto op_semantics_2; 2323 break; 2324 } 2325 break; 2326 case 0x88: 2327 GETBYTE (); 2328 switch (op[2] & 0x00) 2329 { 2330 case 0x00: 2331 goto op_semantics_3; 2332 break; 2333 } 2334 break; 2335 case 0x89: 2336 GETBYTE (); 2337 switch (op[2] & 0x00) 2338 { 2339 case 0x00: 2340 goto op_semantics_3; 2341 break; 2342 } 2343 break; 2344 case 0x8a: 2345 GETBYTE (); 2346 switch (op[2] & 0x00) 2347 { 2348 case 0x00: 2349 goto op_semantics_3; 2350 break; 2351 } 2352 break; 2353 case 0x8b: 2354 GETBYTE (); 2355 switch (op[2] & 0x00) 2356 { 2357 case 0x00: 2358 goto op_semantics_3; 2359 break; 2360 } 2361 break; 2362 case 0x8c: 2363 GETBYTE (); 2364 switch (op[2] & 0x00) 2365 { 2366 case 0x00: 2367 goto op_semantics_4; 2368 break; 2369 } 2370 break; 2371 case 0x8d: 2372 GETBYTE (); 2373 switch (op[2] & 0x00) 2374 { 2375 case 0x00: 2376 goto op_semantics_4; 2377 break; 2378 } 2379 break; 2380 case 0x8e: 2381 GETBYTE (); 2382 switch (op[2] & 0x00) 2383 { 2384 case 0x00: 2385 goto op_semantics_4; 2386 break; 2387 } 2388 break; 2389 case 0x8f: 2390 GETBYTE (); 2391 switch (op[2] & 0x00) 2392 { 2393 case 0x00: 2394 goto op_semantics_4; 2395 break; 2396 } 2397 break; 2398 case 0x90: 2399 GETBYTE (); 2400 switch (op[2] & 0x00) 2401 { 2402 case 0x00: 2403 goto op_semantics_5; 2404 break; 2405 } 2406 break; 2407 case 0x91: 2408 GETBYTE (); 2409 switch (op[2] & 0x00) 2410 { 2411 case 0x00: 2412 goto op_semantics_5; 2413 break; 2414 } 2415 break; 2416 case 0x92: 2417 GETBYTE (); 2418 switch (op[2] & 0x00) 2419 { 2420 case 0x00: 2421 goto op_semantics_5; 2422 break; 2423 } 2424 break; 2425 case 0x93: 2426 GETBYTE (); 2427 switch (op[2] & 0x00) 2428 { 2429 case 0x00: 2430 goto op_semantics_5; 2431 break; 2432 } 2433 break; 2434 case 0x94: 2435 GETBYTE (); 2436 switch (op[2] & 0x00) 2437 { 2438 case 0x00: 2439 goto op_semantics_6; 2440 break; 2441 } 2442 break; 2443 case 0x95: 2444 GETBYTE (); 2445 switch (op[2] & 0x00) 2446 { 2447 case 0x00: 2448 goto op_semantics_6; 2449 break; 2450 } 2451 break; 2452 case 0x96: 2453 GETBYTE (); 2454 switch (op[2] & 0x00) 2455 { 2456 case 0x00: 2457 goto op_semantics_6; 2458 break; 2459 } 2460 break; 2461 case 0x97: 2462 GETBYTE (); 2463 switch (op[2] & 0x00) 2464 { 2465 case 0x00: 2466 goto op_semantics_6; 2467 break; 2468 } 2469 break; 2470 case 0xa0: 2471 GETBYTE (); 2472 switch (op[2] & 0xff) 2473 { 2474 case 0x00: 2475 GETBYTE (); 2476 switch (op[3] & 0x00) 2477 { 2478 case 0x00: 2479 goto op_semantics_7; 2480 break; 2481 } 2482 break; 2483 case 0x02: 2484 GETBYTE (); 2485 switch (op[3] & 0x00) 2486 { 2487 case 0x00: 2488 op_semantics_19: 2489 { 2490 /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */ 2491 #line 519 "rx-decode.opc" 2492 int ss AU = op[1] & 0x03; 2493 #line 519 "rx-decode.opc" 2494 int rsrc AU = (op[3] >> 4) & 0x0f; 2495 #line 519 "rx-decode.opc" 2496 int rdst AU = op[3] & 0x0f; 2497 if (trace) 2498 { 2499 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 2500 "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */", 2501 op[0], op[1], op[2], op[3]); 2502 printf (" ss = 0x%x,", ss); 2503 printf (" rsrc = 0x%x,", rsrc); 2504 printf (" rdst = 0x%x\n", rdst); 2505 } 2506 SYNTAX("adc %1%S1, %0"); 2507 #line 519 "rx-decode.opc" 2508 ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC; 2509 2510 /*----------------------------------------------------------------------*/ 2511 /* ADD */ 2512 2513 } 2514 break; 2515 } 2516 break; 2517 case 0x04: 2518 GETBYTE (); 2519 switch (op[3] & 0x00) 2520 { 2521 case 0x00: 2522 goto op_semantics_8; 2523 break; 2524 } 2525 break; 2526 case 0x05: 2527 GETBYTE (); 2528 switch (op[3] & 0x00) 2529 { 2530 case 0x00: 2531 goto op_semantics_9; 2532 break; 2533 } 2534 break; 2535 case 0x06: 2536 GETBYTE (); 2537 switch (op[3] & 0x00) 2538 { 2539 case 0x00: 2540 goto op_semantics_10; 2541 break; 2542 } 2543 break; 2544 case 0x07: 2545 GETBYTE (); 2546 switch (op[3] & 0x00) 2547 { 2548 case 0x00: 2549 goto op_semantics_11; 2550 break; 2551 } 2552 break; 2553 case 0x08: 2554 GETBYTE (); 2555 switch (op[3] & 0x00) 2556 { 2557 case 0x00: 2558 goto op_semantics_12; 2559 break; 2560 } 2561 break; 2562 case 0x09: 2563 GETBYTE (); 2564 switch (op[3] & 0x00) 2565 { 2566 case 0x00: 2567 goto op_semantics_13; 2568 break; 2569 } 2570 break; 2571 case 0x0c: 2572 GETBYTE (); 2573 switch (op[3] & 0x00) 2574 { 2575 case 0x00: 2576 goto op_semantics_14; 2577 break; 2578 } 2579 break; 2580 case 0x0d: 2581 GETBYTE (); 2582 switch (op[3] & 0x00) 2583 { 2584 case 0x00: 2585 goto op_semantics_15; 2586 break; 2587 } 2588 break; 2589 case 0x10: 2590 GETBYTE (); 2591 switch (op[3] & 0x00) 2592 { 2593 case 0x00: 2594 goto op_semantics_16; 2595 break; 2596 } 2597 break; 2598 case 0x11: 2599 GETBYTE (); 2600 switch (op[3] & 0x00) 2601 { 2602 case 0x00: 2603 goto op_semantics_17; 2604 break; 2605 } 2606 break; 2607 case 0x15: 2608 GETBYTE (); 2609 switch (op[3] & 0x00) 2610 { 2611 case 0x00: 2612 goto op_semantics_18; 2613 break; 2614 } 2615 break; 2616 default: UNSUPPORTED(); break; 2617 } 2618 break; 2619 case 0xa1: 2620 GETBYTE (); 2621 switch (op[2] & 0xff) 2622 { 2623 case 0x00: 2624 GETBYTE (); 2625 switch (op[3] & 0x00) 2626 { 2627 case 0x00: 2628 goto op_semantics_7; 2629 break; 2630 } 2631 break; 2632 case 0x02: 2633 GETBYTE (); 2634 switch (op[3] & 0x00) 2635 { 2636 case 0x00: 2637 goto op_semantics_19; 2638 break; 2639 } 2640 break; 2641 case 0x04: 2642 GETBYTE (); 2643 switch (op[3] & 0x00) 2644 { 2645 case 0x00: 2646 goto op_semantics_8; 2647 break; 2648 } 2649 break; 2650 case 0x05: 2651 GETBYTE (); 2652 switch (op[3] & 0x00) 2653 { 2654 case 0x00: 2655 goto op_semantics_9; 2656 break; 2657 } 2658 break; 2659 case 0x06: 2660 GETBYTE (); 2661 switch (op[3] & 0x00) 2662 { 2663 case 0x00: 2664 goto op_semantics_10; 2665 break; 2666 } 2667 break; 2668 case 0x07: 2669 GETBYTE (); 2670 switch (op[3] & 0x00) 2671 { 2672 case 0x00: 2673 goto op_semantics_11; 2674 break; 2675 } 2676 break; 2677 case 0x08: 2678 GETBYTE (); 2679 switch (op[3] & 0x00) 2680 { 2681 case 0x00: 2682 goto op_semantics_12; 2683 break; 2684 } 2685 break; 2686 case 0x09: 2687 GETBYTE (); 2688 switch (op[3] & 0x00) 2689 { 2690 case 0x00: 2691 goto op_semantics_13; 2692 break; 2693 } 2694 break; 2695 case 0x0c: 2696 GETBYTE (); 2697 switch (op[3] & 0x00) 2698 { 2699 case 0x00: 2700 goto op_semantics_14; 2701 break; 2702 } 2703 break; 2704 case 0x0d: 2705 GETBYTE (); 2706 switch (op[3] & 0x00) 2707 { 2708 case 0x00: 2709 goto op_semantics_15; 2710 break; 2711 } 2712 break; 2713 case 0x10: 2714 GETBYTE (); 2715 switch (op[3] & 0x00) 2716 { 2717 case 0x00: 2718 goto op_semantics_16; 2719 break; 2720 } 2721 break; 2722 case 0x11: 2723 GETBYTE (); 2724 switch (op[3] & 0x00) 2725 { 2726 case 0x00: 2727 goto op_semantics_17; 2728 break; 2729 } 2730 break; 2731 case 0x15: 2732 GETBYTE (); 2733 switch (op[3] & 0x00) 2734 { 2735 case 0x00: 2736 goto op_semantics_18; 2737 break; 2738 } 2739 break; 2740 default: UNSUPPORTED(); break; 2741 } 2742 break; 2743 case 0xa2: 2744 GETBYTE (); 2745 switch (op[2] & 0xff) 2746 { 2747 case 0x00: 2748 GETBYTE (); 2749 switch (op[3] & 0x00) 2750 { 2751 case 0x00: 2752 goto op_semantics_7; 2753 break; 2754 } 2755 break; 2756 case 0x02: 2757 GETBYTE (); 2758 switch (op[3] & 0x00) 2759 { 2760 case 0x00: 2761 goto op_semantics_19; 2762 break; 2763 } 2764 break; 2765 case 0x04: 2766 GETBYTE (); 2767 switch (op[3] & 0x00) 2768 { 2769 case 0x00: 2770 goto op_semantics_8; 2771 break; 2772 } 2773 break; 2774 case 0x05: 2775 GETBYTE (); 2776 switch (op[3] & 0x00) 2777 { 2778 case 0x00: 2779 goto op_semantics_9; 2780 break; 2781 } 2782 break; 2783 case 0x06: 2784 GETBYTE (); 2785 switch (op[3] & 0x00) 2786 { 2787 case 0x00: 2788 goto op_semantics_10; 2789 break; 2790 } 2791 break; 2792 case 0x07: 2793 GETBYTE (); 2794 switch (op[3] & 0x00) 2795 { 2796 case 0x00: 2797 goto op_semantics_11; 2798 break; 2799 } 2800 break; 2801 case 0x08: 2802 GETBYTE (); 2803 switch (op[3] & 0x00) 2804 { 2805 case 0x00: 2806 goto op_semantics_12; 2807 break; 2808 } 2809 break; 2810 case 0x09: 2811 GETBYTE (); 2812 switch (op[3] & 0x00) 2813 { 2814 case 0x00: 2815 goto op_semantics_13; 2816 break; 2817 } 2818 break; 2819 case 0x0c: 2820 GETBYTE (); 2821 switch (op[3] & 0x00) 2822 { 2823 case 0x00: 2824 goto op_semantics_14; 2825 break; 2826 } 2827 break; 2828 case 0x0d: 2829 GETBYTE (); 2830 switch (op[3] & 0x00) 2831 { 2832 case 0x00: 2833 goto op_semantics_15; 2834 break; 2835 } 2836 break; 2837 case 0x10: 2838 GETBYTE (); 2839 switch (op[3] & 0x00) 2840 { 2841 case 0x00: 2842 goto op_semantics_16; 2843 break; 2844 } 2845 break; 2846 case 0x11: 2847 GETBYTE (); 2848 switch (op[3] & 0x00) 2849 { 2850 case 0x00: 2851 goto op_semantics_17; 2852 break; 2853 } 2854 break; 2855 case 0x15: 2856 GETBYTE (); 2857 switch (op[3] & 0x00) 2858 { 2859 case 0x00: 2860 goto op_semantics_18; 2861 break; 2862 } 2863 break; 2864 default: UNSUPPORTED(); break; 2865 } 2866 break; 2867 case 0xa3: 2868 GETBYTE (); 2869 switch (op[2] & 0xff) 2870 { 2871 case 0x00: 2872 GETBYTE (); 2873 switch (op[3] & 0x00) 2874 { 2875 case 0x00: 2876 goto op_semantics_7; 2877 break; 2878 } 2879 break; 2880 case 0x02: 2881 GETBYTE (); 2882 switch (op[3] & 0x00) 2883 { 2884 case 0x00: 2885 goto op_semantics_19; 2886 break; 2887 } 2888 break; 2889 case 0x04: 2890 GETBYTE (); 2891 switch (op[3] & 0x00) 2892 { 2893 case 0x00: 2894 goto op_semantics_8; 2895 break; 2896 } 2897 break; 2898 case 0x05: 2899 GETBYTE (); 2900 switch (op[3] & 0x00) 2901 { 2902 case 0x00: 2903 goto op_semantics_9; 2904 break; 2905 } 2906 break; 2907 case 0x06: 2908 GETBYTE (); 2909 switch (op[3] & 0x00) 2910 { 2911 case 0x00: 2912 goto op_semantics_10; 2913 break; 2914 } 2915 break; 2916 case 0x07: 2917 GETBYTE (); 2918 switch (op[3] & 0x00) 2919 { 2920 case 0x00: 2921 goto op_semantics_11; 2922 break; 2923 } 2924 break; 2925 case 0x08: 2926 GETBYTE (); 2927 switch (op[3] & 0x00) 2928 { 2929 case 0x00: 2930 goto op_semantics_12; 2931 break; 2932 } 2933 break; 2934 case 0x09: 2935 GETBYTE (); 2936 switch (op[3] & 0x00) 2937 { 2938 case 0x00: 2939 goto op_semantics_13; 2940 break; 2941 } 2942 break; 2943 case 0x0c: 2944 GETBYTE (); 2945 switch (op[3] & 0x00) 2946 { 2947 case 0x00: 2948 goto op_semantics_14; 2949 break; 2950 } 2951 break; 2952 case 0x0d: 2953 GETBYTE (); 2954 switch (op[3] & 0x00) 2955 { 2956 case 0x00: 2957 goto op_semantics_15; 2958 break; 2959 } 2960 break; 2961 case 0x10: 2962 GETBYTE (); 2963 switch (op[3] & 0x00) 2964 { 2965 case 0x00: 2966 goto op_semantics_16; 2967 break; 2968 } 2969 break; 2970 case 0x11: 2971 GETBYTE (); 2972 switch (op[3] & 0x00) 2973 { 2974 case 0x00: 2975 goto op_semantics_17; 2976 break; 2977 } 2978 break; 2979 case 0x15: 2980 GETBYTE (); 2981 switch (op[3] & 0x00) 2982 { 2983 case 0x00: 2984 goto op_semantics_18; 2985 break; 2986 } 2987 break; 2988 default: UNSUPPORTED(); break; 2989 } 2990 break; 2991 case 0xc0: 2992 GETBYTE (); 2993 switch (op[2] & 0x00) 2994 { 2995 case 0x00: 2996 goto op_semantics_1; 2997 break; 2998 } 2999 break; 3000 case 0xc1: 3001 GETBYTE (); 3002 switch (op[2] & 0x00) 3003 { 3004 case 0x00: 3005 goto op_semantics_1; 3006 break; 3007 } 3008 break; 3009 case 0xc2: 3010 GETBYTE (); 3011 switch (op[2] & 0x00) 3012 { 3013 case 0x00: 3014 goto op_semantics_1; 3015 break; 3016 } 3017 break; 3018 case 0xc3: 3019 GETBYTE (); 3020 switch (op[2] & 0x00) 3021 { 3022 case 0x00: 3023 goto op_semantics_1; 3024 break; 3025 } 3026 break; 3027 case 0xc4: 3028 GETBYTE (); 3029 switch (op[2] & 0x00) 3030 { 3031 case 0x00: 3032 goto op_semantics_2; 3033 break; 3034 } 3035 break; 3036 case 0xc5: 3037 GETBYTE (); 3038 switch (op[2] & 0x00) 3039 { 3040 case 0x00: 3041 goto op_semantics_2; 3042 break; 3043 } 3044 break; 3045 case 0xc6: 3046 GETBYTE (); 3047 switch (op[2] & 0x00) 3048 { 3049 case 0x00: 3050 goto op_semantics_2; 3051 break; 3052 } 3053 break; 3054 case 0xc7: 3055 GETBYTE (); 3056 switch (op[2] & 0x00) 3057 { 3058 case 0x00: 3059 goto op_semantics_2; 3060 break; 3061 } 3062 break; 3063 case 0xc8: 3064 GETBYTE (); 3065 switch (op[2] & 0x00) 3066 { 3067 case 0x00: 3068 goto op_semantics_3; 3069 break; 3070 } 3071 break; 3072 case 0xc9: 3073 GETBYTE (); 3074 switch (op[2] & 0x00) 3075 { 3076 case 0x00: 3077 goto op_semantics_3; 3078 break; 3079 } 3080 break; 3081 case 0xca: 3082 GETBYTE (); 3083 switch (op[2] & 0x00) 3084 { 3085 case 0x00: 3086 goto op_semantics_3; 3087 break; 3088 } 3089 break; 3090 case 0xcb: 3091 GETBYTE (); 3092 switch (op[2] & 0x00) 3093 { 3094 case 0x00: 3095 goto op_semantics_3; 3096 break; 3097 } 3098 break; 3099 case 0xcc: 3100 GETBYTE (); 3101 switch (op[2] & 0x00) 3102 { 3103 case 0x00: 3104 goto op_semantics_4; 3105 break; 3106 } 3107 break; 3108 case 0xcd: 3109 GETBYTE (); 3110 switch (op[2] & 0x00) 3111 { 3112 case 0x00: 3113 goto op_semantics_4; 3114 break; 3115 } 3116 break; 3117 case 0xce: 3118 GETBYTE (); 3119 switch (op[2] & 0x00) 3120 { 3121 case 0x00: 3122 goto op_semantics_4; 3123 break; 3124 } 3125 break; 3126 case 0xcf: 3127 GETBYTE (); 3128 switch (op[2] & 0x00) 3129 { 3130 case 0x00: 3131 goto op_semantics_4; 3132 break; 3133 } 3134 break; 3135 case 0xd0: 3136 GETBYTE (); 3137 switch (op[2] & 0x00) 3138 { 3139 case 0x00: 3140 goto op_semantics_5; 3141 break; 3142 } 3143 break; 3144 case 0xd1: 3145 GETBYTE (); 3146 switch (op[2] & 0x00) 3147 { 3148 case 0x00: 3149 goto op_semantics_5; 3150 break; 3151 } 3152 break; 3153 case 0xd2: 3154 GETBYTE (); 3155 switch (op[2] & 0x00) 3156 { 3157 case 0x00: 3158 goto op_semantics_5; 3159 break; 3160 } 3161 break; 3162 case 0xd3: 3163 GETBYTE (); 3164 switch (op[2] & 0x00) 3165 { 3166 case 0x00: 3167 goto op_semantics_5; 3168 break; 3169 } 3170 break; 3171 case 0xd4: 3172 GETBYTE (); 3173 switch (op[2] & 0x00) 3174 { 3175 case 0x00: 3176 goto op_semantics_6; 3177 break; 3178 } 3179 break; 3180 case 0xd5: 3181 GETBYTE (); 3182 switch (op[2] & 0x00) 3183 { 3184 case 0x00: 3185 goto op_semantics_6; 3186 break; 3187 } 3188 break; 3189 case 0xd6: 3190 GETBYTE (); 3191 switch (op[2] & 0x00) 3192 { 3193 case 0x00: 3194 goto op_semantics_6; 3195 break; 3196 } 3197 break; 3198 case 0xd7: 3199 GETBYTE (); 3200 switch (op[2] & 0x00) 3201 { 3202 case 0x00: 3203 goto op_semantics_6; 3204 break; 3205 } 3206 break; 3207 case 0xe0: 3208 GETBYTE (); 3209 switch (op[2] & 0xff) 3210 { 3211 case 0x00: 3212 GETBYTE (); 3213 switch (op[3] & 0x00) 3214 { 3215 case 0x00: 3216 goto op_semantics_7; 3217 break; 3218 } 3219 break; 3220 case 0x04: 3221 GETBYTE (); 3222 switch (op[3] & 0x00) 3223 { 3224 case 0x00: 3225 goto op_semantics_8; 3226 break; 3227 } 3228 break; 3229 case 0x05: 3230 GETBYTE (); 3231 switch (op[3] & 0x00) 3232 { 3233 case 0x00: 3234 goto op_semantics_9; 3235 break; 3236 } 3237 break; 3238 case 0x06: 3239 GETBYTE (); 3240 switch (op[3] & 0x00) 3241 { 3242 case 0x00: 3243 goto op_semantics_10; 3244 break; 3245 } 3246 break; 3247 case 0x07: 3248 GETBYTE (); 3249 switch (op[3] & 0x00) 3250 { 3251 case 0x00: 3252 goto op_semantics_11; 3253 break; 3254 } 3255 break; 3256 case 0x08: 3257 GETBYTE (); 3258 switch (op[3] & 0x00) 3259 { 3260 case 0x00: 3261 goto op_semantics_12; 3262 break; 3263 } 3264 break; 3265 case 0x09: 3266 GETBYTE (); 3267 switch (op[3] & 0x00) 3268 { 3269 case 0x00: 3270 goto op_semantics_13; 3271 break; 3272 } 3273 break; 3274 case 0x0c: 3275 GETBYTE (); 3276 switch (op[3] & 0x00) 3277 { 3278 case 0x00: 3279 goto op_semantics_14; 3280 break; 3281 } 3282 break; 3283 case 0x0d: 3284 GETBYTE (); 3285 switch (op[3] & 0x00) 3286 { 3287 case 0x00: 3288 goto op_semantics_15; 3289 break; 3290 } 3291 break; 3292 case 0x10: 3293 GETBYTE (); 3294 switch (op[3] & 0x00) 3295 { 3296 case 0x00: 3297 goto op_semantics_16; 3298 break; 3299 } 3300 break; 3301 case 0x11: 3302 GETBYTE (); 3303 switch (op[3] & 0x00) 3304 { 3305 case 0x00: 3306 goto op_semantics_17; 3307 break; 3308 } 3309 break; 3310 case 0x15: 3311 GETBYTE (); 3312 switch (op[3] & 0x00) 3313 { 3314 case 0x00: 3315 goto op_semantics_18; 3316 break; 3317 } 3318 break; 3319 default: UNSUPPORTED(); break; 3320 } 3321 break; 3322 case 0xe1: 3323 GETBYTE (); 3324 switch (op[2] & 0xff) 3325 { 3326 case 0x00: 3327 GETBYTE (); 3328 switch (op[3] & 0x00) 3329 { 3330 case 0x00: 3331 goto op_semantics_7; 3332 break; 3333 } 3334 break; 3335 case 0x04: 3336 GETBYTE (); 3337 switch (op[3] & 0x00) 3338 { 3339 case 0x00: 3340 goto op_semantics_8; 3341 break; 3342 } 3343 break; 3344 case 0x05: 3345 GETBYTE (); 3346 switch (op[3] & 0x00) 3347 { 3348 case 0x00: 3349 goto op_semantics_9; 3350 break; 3351 } 3352 break; 3353 case 0x06: 3354 GETBYTE (); 3355 switch (op[3] & 0x00) 3356 { 3357 case 0x00: 3358 goto op_semantics_10; 3359 break; 3360 } 3361 break; 3362 case 0x07: 3363 GETBYTE (); 3364 switch (op[3] & 0x00) 3365 { 3366 case 0x00: 3367 goto op_semantics_11; 3368 break; 3369 } 3370 break; 3371 case 0x08: 3372 GETBYTE (); 3373 switch (op[3] & 0x00) 3374 { 3375 case 0x00: 3376 goto op_semantics_12; 3377 break; 3378 } 3379 break; 3380 case 0x09: 3381 GETBYTE (); 3382 switch (op[3] & 0x00) 3383 { 3384 case 0x00: 3385 goto op_semantics_13; 3386 break; 3387 } 3388 break; 3389 case 0x0c: 3390 GETBYTE (); 3391 switch (op[3] & 0x00) 3392 { 3393 case 0x00: 3394 goto op_semantics_14; 3395 break; 3396 } 3397 break; 3398 case 0x0d: 3399 GETBYTE (); 3400 switch (op[3] & 0x00) 3401 { 3402 case 0x00: 3403 goto op_semantics_15; 3404 break; 3405 } 3406 break; 3407 case 0x10: 3408 GETBYTE (); 3409 switch (op[3] & 0x00) 3410 { 3411 case 0x00: 3412 goto op_semantics_16; 3413 break; 3414 } 3415 break; 3416 case 0x11: 3417 GETBYTE (); 3418 switch (op[3] & 0x00) 3419 { 3420 case 0x00: 3421 goto op_semantics_17; 3422 break; 3423 } 3424 break; 3425 case 0x15: 3426 GETBYTE (); 3427 switch (op[3] & 0x00) 3428 { 3429 case 0x00: 3430 goto op_semantics_18; 3431 break; 3432 } 3433 break; 3434 default: UNSUPPORTED(); break; 3435 } 3436 break; 3437 case 0xe2: 3438 GETBYTE (); 3439 switch (op[2] & 0xff) 3440 { 3441 case 0x00: 3442 GETBYTE (); 3443 switch (op[3] & 0x00) 3444 { 3445 case 0x00: 3446 goto op_semantics_7; 3447 break; 3448 } 3449 break; 3450 case 0x04: 3451 GETBYTE (); 3452 switch (op[3] & 0x00) 3453 { 3454 case 0x00: 3455 goto op_semantics_8; 3456 break; 3457 } 3458 break; 3459 case 0x05: 3460 GETBYTE (); 3461 switch (op[3] & 0x00) 3462 { 3463 case 0x00: 3464 goto op_semantics_9; 3465 break; 3466 } 3467 break; 3468 case 0x06: 3469 GETBYTE (); 3470 switch (op[3] & 0x00) 3471 { 3472 case 0x00: 3473 goto op_semantics_10; 3474 break; 3475 } 3476 break; 3477 case 0x07: 3478 GETBYTE (); 3479 switch (op[3] & 0x00) 3480 { 3481 case 0x00: 3482 goto op_semantics_11; 3483 break; 3484 } 3485 break; 3486 case 0x08: 3487 GETBYTE (); 3488 switch (op[3] & 0x00) 3489 { 3490 case 0x00: 3491 goto op_semantics_12; 3492 break; 3493 } 3494 break; 3495 case 0x09: 3496 GETBYTE (); 3497 switch (op[3] & 0x00) 3498 { 3499 case 0x00: 3500 goto op_semantics_13; 3501 break; 3502 } 3503 break; 3504 case 0x0c: 3505 GETBYTE (); 3506 switch (op[3] & 0x00) 3507 { 3508 case 0x00: 3509 goto op_semantics_14; 3510 break; 3511 } 3512 break; 3513 case 0x0d: 3514 GETBYTE (); 3515 switch (op[3] & 0x00) 3516 { 3517 case 0x00: 3518 goto op_semantics_15; 3519 break; 3520 } 3521 break; 3522 case 0x10: 3523 GETBYTE (); 3524 switch (op[3] & 0x00) 3525 { 3526 case 0x00: 3527 goto op_semantics_16; 3528 break; 3529 } 3530 break; 3531 case 0x11: 3532 GETBYTE (); 3533 switch (op[3] & 0x00) 3534 { 3535 case 0x00: 3536 goto op_semantics_17; 3537 break; 3538 } 3539 break; 3540 case 0x15: 3541 GETBYTE (); 3542 switch (op[3] & 0x00) 3543 { 3544 case 0x00: 3545 goto op_semantics_18; 3546 break; 3547 } 3548 break; 3549 default: UNSUPPORTED(); break; 3550 } 3551 break; 3552 case 0xe3: 3553 GETBYTE (); 3554 switch (op[2] & 0xff) 3555 { 3556 case 0x00: 3557 GETBYTE (); 3558 switch (op[3] & 0x00) 3559 { 3560 case 0x00: 3561 goto op_semantics_7; 3562 break; 3563 } 3564 break; 3565 case 0x04: 3566 GETBYTE (); 3567 switch (op[3] & 0x00) 3568 { 3569 case 0x00: 3570 goto op_semantics_8; 3571 break; 3572 } 3573 break; 3574 case 0x05: 3575 GETBYTE (); 3576 switch (op[3] & 0x00) 3577 { 3578 case 0x00: 3579 goto op_semantics_9; 3580 break; 3581 } 3582 break; 3583 case 0x06: 3584 GETBYTE (); 3585 switch (op[3] & 0x00) 3586 { 3587 case 0x00: 3588 goto op_semantics_10; 3589 break; 3590 } 3591 break; 3592 case 0x07: 3593 GETBYTE (); 3594 switch (op[3] & 0x00) 3595 { 3596 case 0x00: 3597 goto op_semantics_11; 3598 break; 3599 } 3600 break; 3601 case 0x08: 3602 GETBYTE (); 3603 switch (op[3] & 0x00) 3604 { 3605 case 0x00: 3606 goto op_semantics_12; 3607 break; 3608 } 3609 break; 3610 case 0x09: 3611 GETBYTE (); 3612 switch (op[3] & 0x00) 3613 { 3614 case 0x00: 3615 goto op_semantics_13; 3616 break; 3617 } 3618 break; 3619 case 0x0c: 3620 GETBYTE (); 3621 switch (op[3] & 0x00) 3622 { 3623 case 0x00: 3624 goto op_semantics_14; 3625 break; 3626 } 3627 break; 3628 case 0x0d: 3629 GETBYTE (); 3630 switch (op[3] & 0x00) 3631 { 3632 case 0x00: 3633 goto op_semantics_15; 3634 break; 3635 } 3636 break; 3637 case 0x10: 3638 GETBYTE (); 3639 switch (op[3] & 0x00) 3640 { 3641 case 0x00: 3642 goto op_semantics_16; 3643 break; 3644 } 3645 break; 3646 case 0x11: 3647 GETBYTE (); 3648 switch (op[3] & 0x00) 3649 { 3650 case 0x00: 3651 goto op_semantics_17; 3652 break; 3653 } 3654 break; 3655 case 0x15: 3656 GETBYTE (); 3657 switch (op[3] & 0x00) 3658 { 3659 case 0x00: 3660 goto op_semantics_18; 3661 break; 3662 } 3663 break; 3664 default: UNSUPPORTED(); break; 3665 } 3666 break; 3667 default: UNSUPPORTED(); break; 3668 } 3669 break; 3670 case 0x08: 3671 case 0x09: 3672 case 0x0a: 3673 case 0x0b: 3674 case 0x0c: 3675 case 0x0d: 3676 case 0x0e: 3677 case 0x0f: 3678 { 3679 /** 0000 1dsp bra.s %a0 */ 3680 #line 800 "rx-decode.opc" 3681 int dsp AU = op[0] & 0x07; 3682 if (trace) 3683 { 3684 printf ("\033[33m%s\033[0m %02x\n", 3685 "/** 0000 1dsp bra.s %a0 */", 3686 op[0]); 3687 printf (" dsp = 0x%x\n", dsp); 3688 } 3689 SYNTAX("bra.s %a0"); 3690 #line 800 "rx-decode.opc" 3691 ID(branch); DC(pc + dsp3map[dsp]); 3692 3693 } 3694 break; 3695 case 0x10: 3696 case 0x11: 3697 case 0x12: 3698 case 0x13: 3699 case 0x14: 3700 case 0x15: 3701 case 0x16: 3702 case 0x17: 3703 case 0x18: 3704 case 0x19: 3705 case 0x1a: 3706 case 0x1b: 3707 case 0x1c: 3708 case 0x1d: 3709 case 0x1e: 3710 case 0x1f: 3711 { 3712 /** 0001 n dsp b%1.s %a0 */ 3713 #line 790 "rx-decode.opc" 3714 int n AU = (op[0] >> 3) & 0x01; 3715 #line 790 "rx-decode.opc" 3716 int dsp AU = op[0] & 0x07; 3717 if (trace) 3718 { 3719 printf ("\033[33m%s\033[0m %02x\n", 3720 "/** 0001 n dsp b%1.s %a0 */", 3721 op[0]); 3722 printf (" n = 0x%x,", n); 3723 printf (" dsp = 0x%x\n", dsp); 3724 } 3725 SYNTAX("b%1.s %a0"); 3726 #line 790 "rx-decode.opc" 3727 ID(branch); Scc(n); DC(pc + dsp3map[dsp]); 3728 3729 } 3730 break; 3731 case 0x20: 3732 case 0x21: 3733 case 0x22: 3734 case 0x23: 3735 case 0x24: 3736 case 0x25: 3737 case 0x26: 3738 case 0x27: 3739 case 0x28: 3740 case 0x29: 3741 case 0x2a: 3742 case 0x2b: 3743 case 0x2c: 3744 case 0x2d: 3745 case 0x2f: 3746 { 3747 /** 0010 cond b%1.b %a0 */ 3748 #line 793 "rx-decode.opc" 3749 int cond AU = op[0] & 0x0f; 3750 if (trace) 3751 { 3752 printf ("\033[33m%s\033[0m %02x\n", 3753 "/** 0010 cond b%1.b %a0 */", 3754 op[0]); 3755 printf (" cond = 0x%x\n", cond); 3756 } 3757 SYNTAX("b%1.b %a0"); 3758 #line 793 "rx-decode.opc" 3759 ID(branch); Scc(cond); DC(pc + IMMex (1)); 3760 3761 } 3762 break; 3763 case 0x2e: 3764 { 3765 /** 0010 1110 bra.b %a0 */ 3766 if (trace) 3767 { 3768 printf ("\033[33m%s\033[0m %02x\n", 3769 "/** 0010 1110 bra.b %a0 */", 3770 op[0]); 3771 } 3772 SYNTAX("bra.b %a0"); 3773 #line 803 "rx-decode.opc" 3774 ID(branch); DC(pc + IMMex(1)); 3775 3776 } 3777 break; 3778 case 0x38: 3779 { 3780 /** 0011 1000 bra.w %a0 */ 3781 if (trace) 3782 { 3783 printf ("\033[33m%s\033[0m %02x\n", 3784 "/** 0011 1000 bra.w %a0 */", 3785 op[0]); 3786 } 3787 SYNTAX("bra.w %a0"); 3788 #line 806 "rx-decode.opc" 3789 ID(branch); DC(pc + IMMex(2)); 3790 3791 } 3792 break; 3793 case 0x39: 3794 { 3795 /** 0011 1001 bsr.w %a0 */ 3796 if (trace) 3797 { 3798 printf ("\033[33m%s\033[0m %02x\n", 3799 "/** 0011 1001 bsr.w %a0 */", 3800 op[0]); 3801 } 3802 SYNTAX("bsr.w %a0"); 3803 #line 822 "rx-decode.opc" 3804 ID(jsr); DC(pc + IMMex(2)); 3805 3806 } 3807 break; 3808 case 0x3a: 3809 case 0x3b: 3810 { 3811 /** 0011 101c b%1.w %a0 */ 3812 #line 796 "rx-decode.opc" 3813 int c AU = op[0] & 0x01; 3814 if (trace) 3815 { 3816 printf ("\033[33m%s\033[0m %02x\n", 3817 "/** 0011 101c b%1.w %a0 */", 3818 op[0]); 3819 printf (" c = 0x%x\n", c); 3820 } 3821 SYNTAX("b%1.w %a0"); 3822 #line 796 "rx-decode.opc" 3823 ID(branch); Scc(c); DC(pc + IMMex (2)); 3824 3825 3826 } 3827 break; 3828 case 0x3c: 3829 GETBYTE (); 3830 switch (op[1] & 0x00) 3831 { 3832 case 0x00: 3833 op_semantics_20: 3834 { 3835 /** 0011 11sz d dst sppp mov%s #%1, %0 */ 3836 #line 332 "rx-decode.opc" 3837 int sz AU = op[0] & 0x03; 3838 #line 332 "rx-decode.opc" 3839 int d AU = (op[1] >> 7) & 0x01; 3840 #line 332 "rx-decode.opc" 3841 int dst AU = (op[1] >> 4) & 0x07; 3842 #line 332 "rx-decode.opc" 3843 int sppp AU = op[1] & 0x0f; 3844 if (trace) 3845 { 3846 printf ("\033[33m%s\033[0m %02x %02x\n", 3847 "/** 0011 11sz d dst sppp mov%s #%1, %0 */", 3848 op[0], op[1]); 3849 printf (" sz = 0x%x,", sz); 3850 printf (" d = 0x%x,", d); 3851 printf (" dst = 0x%x,", dst); 3852 printf (" sppp = 0x%x\n", sppp); 3853 } 3854 SYNTAX("mov%s #%1, %0"); 3855 #line 332 "rx-decode.opc" 3856 ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____; 3857 3858 } 3859 break; 3860 } 3861 break; 3862 case 0x3d: 3863 GETBYTE (); 3864 switch (op[1] & 0x00) 3865 { 3866 case 0x00: 3867 goto op_semantics_20; 3868 break; 3869 } 3870 break; 3871 case 0x3e: 3872 GETBYTE (); 3873 switch (op[1] & 0x00) 3874 { 3875 case 0x00: 3876 goto op_semantics_20; 3877 break; 3878 } 3879 break; 3880 case 0x3f: 3881 GETBYTE (); 3882 switch (op[1] & 0x00) 3883 { 3884 case 0x00: 3885 { 3886 /** 0011 1111 rega regb rtsd #%1, %2-%0 */ 3887 #line 429 "rx-decode.opc" 3888 int rega AU = (op[1] >> 4) & 0x0f; 3889 #line 429 "rx-decode.opc" 3890 int regb AU = op[1] & 0x0f; 3891 if (trace) 3892 { 3893 printf ("\033[33m%s\033[0m %02x %02x\n", 3894 "/** 0011 1111 rega regb rtsd #%1, %2-%0 */", 3895 op[0], op[1]); 3896 printf (" rega = 0x%x,", rega); 3897 printf (" regb = 0x%x\n", regb); 3898 } 3899 SYNTAX("rtsd #%1, %2-%0"); 3900 #line 429 "rx-decode.opc" 3901 ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb); 3902 3903 /*----------------------------------------------------------------------*/ 3904 /* AND */ 3905 3906 } 3907 break; 3908 } 3909 break; 3910 case 0x40: 3911 GETBYTE (); 3912 switch (op[1] & 0x00) 3913 { 3914 case 0x00: 3915 op_semantics_21: 3916 { 3917 /** 0100 00ss rsrc rdst sub %2%S2, %1 */ 3918 #line 564 "rx-decode.opc" 3919 int ss AU = op[0] & 0x03; 3920 #line 564 "rx-decode.opc" 3921 int rsrc AU = (op[1] >> 4) & 0x0f; 3922 #line 564 "rx-decode.opc" 3923 int rdst AU = op[1] & 0x0f; 3924 if (trace) 3925 { 3926 printf ("\033[33m%s\033[0m %02x %02x\n", 3927 "/** 0100 00ss rsrc rdst sub %2%S2, %1 */", 3928 op[0], op[1]); 3929 printf (" ss = 0x%x,", ss); 3930 printf (" rsrc = 0x%x,", rsrc); 3931 printf (" rdst = 0x%x\n", rdst); 3932 } 3933 SYNTAX("sub %2%S2, %1"); 3934 #line 564 "rx-decode.opc" 3935 ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC; 3936 3937 } 3938 break; 3939 } 3940 break; 3941 case 0x41: 3942 GETBYTE (); 3943 switch (op[1] & 0x00) 3944 { 3945 case 0x00: 3946 goto op_semantics_21; 3947 break; 3948 } 3949 break; 3950 case 0x42: 3951 GETBYTE (); 3952 switch (op[1] & 0x00) 3953 { 3954 case 0x00: 3955 goto op_semantics_21; 3956 break; 3957 } 3958 break; 3959 case 0x43: 3960 GETBYTE (); 3961 switch (op[1] & 0x00) 3962 { 3963 case 0x00: 3964 goto op_semantics_21; 3965 break; 3966 } 3967 break; 3968 case 0x44: 3969 GETBYTE (); 3970 switch (op[1] & 0x00) 3971 { 3972 case 0x00: 3973 op_semantics_22: 3974 { 3975 /** 0100 01ss rsrc rdst cmp %2%S2, %1 */ 3976 #line 552 "rx-decode.opc" 3977 int ss AU = op[0] & 0x03; 3978 #line 552 "rx-decode.opc" 3979 int rsrc AU = (op[1] >> 4) & 0x0f; 3980 #line 552 "rx-decode.opc" 3981 int rdst AU = op[1] & 0x0f; 3982 if (trace) 3983 { 3984 printf ("\033[33m%s\033[0m %02x %02x\n", 3985 "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */", 3986 op[0], op[1]); 3987 printf (" ss = 0x%x,", ss); 3988 printf (" rsrc = 0x%x,", rsrc); 3989 printf (" rdst = 0x%x\n", rdst); 3990 } 3991 SYNTAX("cmp %2%S2, %1"); 3992 #line 552 "rx-decode.opc" 3993 ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC; 3994 3995 } 3996 break; 3997 } 3998 break; 3999 case 0x45: 4000 GETBYTE (); 4001 switch (op[1] & 0x00) 4002 { 4003 case 0x00: 4004 goto op_semantics_22; 4005 break; 4006 } 4007 break; 4008 case 0x46: 4009 GETBYTE (); 4010 switch (op[1] & 0x00) 4011 { 4012 case 0x00: 4013 goto op_semantics_22; 4014 break; 4015 } 4016 break; 4017 case 0x47: 4018 GETBYTE (); 4019 switch (op[1] & 0x00) 4020 { 4021 case 0x00: 4022 goto op_semantics_22; 4023 break; 4024 } 4025 break; 4026 case 0x48: 4027 GETBYTE (); 4028 switch (op[1] & 0x00) 4029 { 4030 case 0x00: 4031 op_semantics_23: 4032 { 4033 /** 0100 10ss rsrc rdst add %1%S1, %0 */ 4034 #line 528 "rx-decode.opc" 4035 int ss AU = op[0] & 0x03; 4036 #line 528 "rx-decode.opc" 4037 int rsrc AU = (op[1] >> 4) & 0x0f; 4038 #line 528 "rx-decode.opc" 4039 int rdst AU = op[1] & 0x0f; 4040 if (trace) 4041 { 4042 printf ("\033[33m%s\033[0m %02x %02x\n", 4043 "/** 0100 10ss rsrc rdst add %1%S1, %0 */", 4044 op[0], op[1]); 4045 printf (" ss = 0x%x,", ss); 4046 printf (" rsrc = 0x%x,", rsrc); 4047 printf (" rdst = 0x%x\n", rdst); 4048 } 4049 SYNTAX("add %1%S1, %0"); 4050 #line 528 "rx-decode.opc" 4051 ID(add); SP(ss, rsrc); DR(rdst); F_OSZC; 4052 4053 } 4054 break; 4055 } 4056 break; 4057 case 0x49: 4058 GETBYTE (); 4059 switch (op[1] & 0x00) 4060 { 4061 case 0x00: 4062 goto op_semantics_23; 4063 break; 4064 } 4065 break; 4066 case 0x4a: 4067 GETBYTE (); 4068 switch (op[1] & 0x00) 4069 { 4070 case 0x00: 4071 goto op_semantics_23; 4072 break; 4073 } 4074 break; 4075 case 0x4b: 4076 GETBYTE (); 4077 switch (op[1] & 0x00) 4078 { 4079 case 0x00: 4080 goto op_semantics_23; 4081 break; 4082 } 4083 break; 4084 case 0x4c: 4085 GETBYTE (); 4086 switch (op[1] & 0x00) 4087 { 4088 case 0x00: 4089 op_semantics_24: 4090 { 4091 /** 0100 11ss rsrc rdst mul %1%S1, %0 */ 4092 #line 671 "rx-decode.opc" 4093 int ss AU = op[0] & 0x03; 4094 #line 671 "rx-decode.opc" 4095 int rsrc AU = (op[1] >> 4) & 0x0f; 4096 #line 671 "rx-decode.opc" 4097 int rdst AU = op[1] & 0x0f; 4098 if (trace) 4099 { 4100 printf ("\033[33m%s\033[0m %02x %02x\n", 4101 "/** 0100 11ss rsrc rdst mul %1%S1, %0 */", 4102 op[0], op[1]); 4103 printf (" ss = 0x%x,", ss); 4104 printf (" rsrc = 0x%x,", rsrc); 4105 printf (" rdst = 0x%x\n", rdst); 4106 } 4107 SYNTAX("mul %1%S1, %0"); 4108 #line 671 "rx-decode.opc" 4109 ID(mul); SP(ss, rsrc); DR(rdst); F_____; 4110 4111 } 4112 break; 4113 } 4114 break; 4115 case 0x4d: 4116 GETBYTE (); 4117 switch (op[1] & 0x00) 4118 { 4119 case 0x00: 4120 goto op_semantics_24; 4121 break; 4122 } 4123 break; 4124 case 0x4e: 4125 GETBYTE (); 4126 switch (op[1] & 0x00) 4127 { 4128 case 0x00: 4129 goto op_semantics_24; 4130 break; 4131 } 4132 break; 4133 case 0x4f: 4134 GETBYTE (); 4135 switch (op[1] & 0x00) 4136 { 4137 case 0x00: 4138 goto op_semantics_24; 4139 break; 4140 } 4141 break; 4142 case 0x50: 4143 GETBYTE (); 4144 switch (op[1] & 0x00) 4145 { 4146 case 0x00: 4147 op_semantics_25: 4148 { 4149 /** 0101 00ss rsrc rdst and %1%S1, %0 */ 4150 #line 441 "rx-decode.opc" 4151 int ss AU = op[0] & 0x03; 4152 #line 441 "rx-decode.opc" 4153 int rsrc AU = (op[1] >> 4) & 0x0f; 4154 #line 441 "rx-decode.opc" 4155 int rdst AU = op[1] & 0x0f; 4156 if (trace) 4157 { 4158 printf ("\033[33m%s\033[0m %02x %02x\n", 4159 "/** 0101 00ss rsrc rdst and %1%S1, %0 */", 4160 op[0], op[1]); 4161 printf (" ss = 0x%x,", ss); 4162 printf (" rsrc = 0x%x,", rsrc); 4163 printf (" rdst = 0x%x\n", rdst); 4164 } 4165 SYNTAX("and %1%S1, %0"); 4166 #line 441 "rx-decode.opc" 4167 ID(and); SP(ss, rsrc); DR(rdst); F__SZ_; 4168 4169 } 4170 break; 4171 } 4172 break; 4173 case 0x51: 4174 GETBYTE (); 4175 switch (op[1] & 0x00) 4176 { 4177 case 0x00: 4178 goto op_semantics_25; 4179 break; 4180 } 4181 break; 4182 case 0x52: 4183 GETBYTE (); 4184 switch (op[1] & 0x00) 4185 { 4186 case 0x00: 4187 goto op_semantics_25; 4188 break; 4189 } 4190 break; 4191 case 0x53: 4192 GETBYTE (); 4193 switch (op[1] & 0x00) 4194 { 4195 case 0x00: 4196 goto op_semantics_25; 4197 break; 4198 } 4199 break; 4200 case 0x54: 4201 GETBYTE (); 4202 switch (op[1] & 0x00) 4203 { 4204 case 0x00: 4205 op_semantics_26: 4206 { 4207 /** 0101 01ss rsrc rdst or %1%S1, %0 */ 4208 #line 459 "rx-decode.opc" 4209 int ss AU = op[0] & 0x03; 4210 #line 459 "rx-decode.opc" 4211 int rsrc AU = (op[1] >> 4) & 0x0f; 4212 #line 459 "rx-decode.opc" 4213 int rdst AU = op[1] & 0x0f; 4214 if (trace) 4215 { 4216 printf ("\033[33m%s\033[0m %02x %02x\n", 4217 "/** 0101 01ss rsrc rdst or %1%S1, %0 */", 4218 op[0], op[1]); 4219 printf (" ss = 0x%x,", ss); 4220 printf (" rsrc = 0x%x,", rsrc); 4221 printf (" rdst = 0x%x\n", rdst); 4222 } 4223 SYNTAX("or %1%S1, %0"); 4224 #line 459 "rx-decode.opc" 4225 ID(or); SP(ss, rsrc); DR(rdst); F__SZ_; 4226 4227 } 4228 break; 4229 } 4230 break; 4231 case 0x55: 4232 GETBYTE (); 4233 switch (op[1] & 0x00) 4234 { 4235 case 0x00: 4236 goto op_semantics_26; 4237 break; 4238 } 4239 break; 4240 case 0x56: 4241 GETBYTE (); 4242 switch (op[1] & 0x00) 4243 { 4244 case 0x00: 4245 goto op_semantics_26; 4246 break; 4247 } 4248 break; 4249 case 0x57: 4250 GETBYTE (); 4251 switch (op[1] & 0x00) 4252 { 4253 case 0x00: 4254 goto op_semantics_26; 4255 break; 4256 } 4257 break; 4258 case 0x58: 4259 GETBYTE (); 4260 switch (op[1] & 0x00) 4261 { 4262 case 0x00: 4263 op_semantics_27: 4264 { 4265 /** 0101 1 s ss rsrc rdst movu%s %1, %0 */ 4266 #line 380 "rx-decode.opc" 4267 int s AU = (op[0] >> 2) & 0x01; 4268 #line 380 "rx-decode.opc" 4269 int ss AU = op[0] & 0x03; 4270 #line 380 "rx-decode.opc" 4271 int rsrc AU = (op[1] >> 4) & 0x0f; 4272 #line 380 "rx-decode.opc" 4273 int rdst AU = op[1] & 0x0f; 4274 if (trace) 4275 { 4276 printf ("\033[33m%s\033[0m %02x %02x\n", 4277 "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */", 4278 op[0], op[1]); 4279 printf (" s = 0x%x,", s); 4280 printf (" ss = 0x%x,", ss); 4281 printf (" rsrc = 0x%x,", rsrc); 4282 printf (" rdst = 0x%x\n", rdst); 4283 } 4284 SYNTAX("movu%s %1, %0"); 4285 #line 380 "rx-decode.opc" 4286 ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____; 4287 4288 } 4289 break; 4290 } 4291 break; 4292 case 0x59: 4293 GETBYTE (); 4294 switch (op[1] & 0x00) 4295 { 4296 case 0x00: 4297 goto op_semantics_27; 4298 break; 4299 } 4300 break; 4301 case 0x5a: 4302 GETBYTE (); 4303 switch (op[1] & 0x00) 4304 { 4305 case 0x00: 4306 goto op_semantics_27; 4307 break; 4308 } 4309 break; 4310 case 0x5b: 4311 GETBYTE (); 4312 switch (op[1] & 0x00) 4313 { 4314 case 0x00: 4315 goto op_semantics_27; 4316 break; 4317 } 4318 break; 4319 case 0x5c: 4320 GETBYTE (); 4321 switch (op[1] & 0x00) 4322 { 4323 case 0x00: 4324 goto op_semantics_27; 4325 break; 4326 } 4327 break; 4328 case 0x5d: 4329 GETBYTE (); 4330 switch (op[1] & 0x00) 4331 { 4332 case 0x00: 4333 goto op_semantics_27; 4334 break; 4335 } 4336 break; 4337 case 0x5e: 4338 GETBYTE (); 4339 switch (op[1] & 0x00) 4340 { 4341 case 0x00: 4342 goto op_semantics_27; 4343 break; 4344 } 4345 break; 4346 case 0x5f: 4347 GETBYTE (); 4348 switch (op[1] & 0x00) 4349 { 4350 case 0x00: 4351 goto op_semantics_27; 4352 break; 4353 } 4354 break; 4355 case 0x60: 4356 GETBYTE (); 4357 switch (op[1] & 0x00) 4358 { 4359 case 0x00: 4360 { 4361 /** 0110 0000 immm rdst sub #%2, %0 */ 4362 #line 561 "rx-decode.opc" 4363 int immm AU = (op[1] >> 4) & 0x0f; 4364 #line 561 "rx-decode.opc" 4365 int rdst AU = op[1] & 0x0f; 4366 if (trace) 4367 { 4368 printf ("\033[33m%s\033[0m %02x %02x\n", 4369 "/** 0110 0000 immm rdst sub #%2, %0 */", 4370 op[0], op[1]); 4371 printf (" immm = 0x%x,", immm); 4372 printf (" rdst = 0x%x\n", rdst); 4373 } 4374 SYNTAX("sub #%2, %0"); 4375 #line 561 "rx-decode.opc" 4376 ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC; 4377 4378 } 4379 break; 4380 } 4381 break; 4382 case 0x61: 4383 GETBYTE (); 4384 switch (op[1] & 0x00) 4385 { 4386 case 0x00: 4387 { 4388 /** 0110 0001 immm rdst cmp #%2, %1 */ 4389 #line 543 "rx-decode.opc" 4390 int immm AU = (op[1] >> 4) & 0x0f; 4391 #line 543 "rx-decode.opc" 4392 int rdst AU = op[1] & 0x0f; 4393 if (trace) 4394 { 4395 printf ("\033[33m%s\033[0m %02x %02x\n", 4396 "/** 0110 0001 immm rdst cmp #%2, %1 */", 4397 op[0], op[1]); 4398 printf (" immm = 0x%x,", immm); 4399 printf (" rdst = 0x%x\n", rdst); 4400 } 4401 SYNTAX("cmp #%2, %1"); 4402 #line 543 "rx-decode.opc" 4403 ID(sub); S2C(immm); SR(rdst); F_OSZC; 4404 4405 } 4406 break; 4407 } 4408 break; 4409 case 0x62: 4410 GETBYTE (); 4411 switch (op[1] & 0x00) 4412 { 4413 case 0x00: 4414 { 4415 /** 0110 0010 immm rdst add #%1, %0 */ 4416 #line 525 "rx-decode.opc" 4417 int immm AU = (op[1] >> 4) & 0x0f; 4418 #line 525 "rx-decode.opc" 4419 int rdst AU = op[1] & 0x0f; 4420 if (trace) 4421 { 4422 printf ("\033[33m%s\033[0m %02x %02x\n", 4423 "/** 0110 0010 immm rdst add #%1, %0 */", 4424 op[0], op[1]); 4425 printf (" immm = 0x%x,", immm); 4426 printf (" rdst = 0x%x\n", rdst); 4427 } 4428 SYNTAX("add #%1, %0"); 4429 #line 525 "rx-decode.opc" 4430 ID(add); SC(immm); DR(rdst); F_OSZC; 4431 4432 } 4433 break; 4434 } 4435 break; 4436 case 0x63: 4437 GETBYTE (); 4438 switch (op[1] & 0x00) 4439 { 4440 case 0x00: 4441 { 4442 /** 0110 0011 immm rdst mul #%1, %0 */ 4443 #line 637 "rx-decode.opc" 4444 int immm AU = (op[1] >> 4) & 0x0f; 4445 #line 637 "rx-decode.opc" 4446 int rdst AU = op[1] & 0x0f; 4447 if (trace) 4448 { 4449 printf ("\033[33m%s\033[0m %02x %02x\n", 4450 "/** 0110 0011 immm rdst mul #%1, %0 */", 4451 op[0], op[1]); 4452 printf (" immm = 0x%x,", immm); 4453 printf (" rdst = 0x%x\n", rdst); 4454 } 4455 SYNTAX("mul #%1, %0"); 4456 #line 637 "rx-decode.opc" 4457 if (immm == 1 && rdst == 0) 4458 { 4459 ID(nop2); 4460 SYNTAX ("nop\t; mul\t#1, r0"); 4461 } 4462 else 4463 { 4464 ID(mul); 4465 } 4466 DR(rdst); SC(immm); F_____; 4467 4468 } 4469 break; 4470 } 4471 break; 4472 case 0x64: 4473 GETBYTE (); 4474 switch (op[1] & 0x00) 4475 { 4476 case 0x00: 4477 { 4478 /** 0110 0100 immm rdst and #%1, %0 */ 4479 #line 435 "rx-decode.opc" 4480 int immm AU = (op[1] >> 4) & 0x0f; 4481 #line 435 "rx-decode.opc" 4482 int rdst AU = op[1] & 0x0f; 4483 if (trace) 4484 { 4485 printf ("\033[33m%s\033[0m %02x %02x\n", 4486 "/** 0110 0100 immm rdst and #%1, %0 */", 4487 op[0], op[1]); 4488 printf (" immm = 0x%x,", immm); 4489 printf (" rdst = 0x%x\n", rdst); 4490 } 4491 SYNTAX("and #%1, %0"); 4492 #line 435 "rx-decode.opc" 4493 ID(and); SC(immm); DR(rdst); F__SZ_; 4494 4495 } 4496 break; 4497 } 4498 break; 4499 case 0x65: 4500 GETBYTE (); 4501 switch (op[1] & 0x00) 4502 { 4503 case 0x00: 4504 { 4505 /** 0110 0101 immm rdst or #%1, %0 */ 4506 #line 453 "rx-decode.opc" 4507 int immm AU = (op[1] >> 4) & 0x0f; 4508 #line 453 "rx-decode.opc" 4509 int rdst AU = op[1] & 0x0f; 4510 if (trace) 4511 { 4512 printf ("\033[33m%s\033[0m %02x %02x\n", 4513 "/** 0110 0101 immm rdst or #%1, %0 */", 4514 op[0], op[1]); 4515 printf (" immm = 0x%x,", immm); 4516 printf (" rdst = 0x%x\n", rdst); 4517 } 4518 SYNTAX("or #%1, %0"); 4519 #line 453 "rx-decode.opc" 4520 ID(or); SC(immm); DR(rdst); F__SZ_; 4521 4522 } 4523 break; 4524 } 4525 break; 4526 case 0x66: 4527 GETBYTE (); 4528 switch (op[1] & 0x00) 4529 { 4530 case 0x00: 4531 { 4532 /** 0110 0110 immm rdst mov%s #%1, %0 */ 4533 #line 329 "rx-decode.opc" 4534 int immm AU = (op[1] >> 4) & 0x0f; 4535 #line 329 "rx-decode.opc" 4536 int rdst AU = op[1] & 0x0f; 4537 if (trace) 4538 { 4539 printf ("\033[33m%s\033[0m %02x %02x\n", 4540 "/** 0110 0110 immm rdst mov%s #%1, %0 */", 4541 op[0], op[1]); 4542 printf (" immm = 0x%x,", immm); 4543 printf (" rdst = 0x%x\n", rdst); 4544 } 4545 SYNTAX("mov%s #%1, %0"); 4546 #line 329 "rx-decode.opc" 4547 ID(mov); DR(rdst); SC(immm); F_____; 4548 4549 } 4550 break; 4551 } 4552 break; 4553 case 0x67: 4554 { 4555 /** 0110 0111 rtsd #%1 */ 4556 if (trace) 4557 { 4558 printf ("\033[33m%s\033[0m %02x\n", 4559 "/** 0110 0111 rtsd #%1 */", 4560 op[0]); 4561 } 4562 SYNTAX("rtsd #%1"); 4563 #line 426 "rx-decode.opc" 4564 ID(rtsd); SC(IMM(1) * 4); 4565 4566 } 4567 break; 4568 case 0x68: 4569 GETBYTE (); 4570 switch (op[1] & 0x00) 4571 { 4572 case 0x00: 4573 op_semantics_28: 4574 { 4575 /** 0110 100i mmmm rdst shlr #%2, %0 */ 4576 #line 751 "rx-decode.opc" 4577 int i AU = op[0] & 0x01; 4578 #line 751 "rx-decode.opc" 4579 int mmmm AU = (op[1] >> 4) & 0x0f; 4580 #line 751 "rx-decode.opc" 4581 int rdst AU = op[1] & 0x0f; 4582 if (trace) 4583 { 4584 printf ("\033[33m%s\033[0m %02x %02x\n", 4585 "/** 0110 100i mmmm rdst shlr #%2, %0 */", 4586 op[0], op[1]); 4587 printf (" i = 0x%x,", i); 4588 printf (" mmmm = 0x%x,", mmmm); 4589 printf (" rdst = 0x%x\n", rdst); 4590 } 4591 SYNTAX("shlr #%2, %0"); 4592 #line 751 "rx-decode.opc" 4593 ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC; 4594 4595 } 4596 break; 4597 } 4598 break; 4599 case 0x69: 4600 GETBYTE (); 4601 switch (op[1] & 0x00) 4602 { 4603 case 0x00: 4604 goto op_semantics_28; 4605 break; 4606 } 4607 break; 4608 case 0x6a: 4609 GETBYTE (); 4610 switch (op[1] & 0x00) 4611 { 4612 case 0x00: 4613 op_semantics_29: 4614 { 4615 /** 0110 101i mmmm rdst shar #%2, %0 */ 4616 #line 741 "rx-decode.opc" 4617 int i AU = op[0] & 0x01; 4618 #line 741 "rx-decode.opc" 4619 int mmmm AU = (op[1] >> 4) & 0x0f; 4620 #line 741 "rx-decode.opc" 4621 int rdst AU = op[1] & 0x0f; 4622 if (trace) 4623 { 4624 printf ("\033[33m%s\033[0m %02x %02x\n", 4625 "/** 0110 101i mmmm rdst shar #%2, %0 */", 4626 op[0], op[1]); 4627 printf (" i = 0x%x,", i); 4628 printf (" mmmm = 0x%x,", mmmm); 4629 printf (" rdst = 0x%x\n", rdst); 4630 } 4631 SYNTAX("shar #%2, %0"); 4632 #line 741 "rx-decode.opc" 4633 ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC; 4634 4635 } 4636 break; 4637 } 4638 break; 4639 case 0x6b: 4640 GETBYTE (); 4641 switch (op[1] & 0x00) 4642 { 4643 case 0x00: 4644 goto op_semantics_29; 4645 break; 4646 } 4647 break; 4648 case 0x6c: 4649 GETBYTE (); 4650 switch (op[1] & 0x00) 4651 { 4652 case 0x00: 4653 op_semantics_30: 4654 { 4655 /** 0110 110i mmmm rdst shll #%2, %0 */ 4656 #line 731 "rx-decode.opc" 4657 int i AU = op[0] & 0x01; 4658 #line 731 "rx-decode.opc" 4659 int mmmm AU = (op[1] >> 4) & 0x0f; 4660 #line 731 "rx-decode.opc" 4661 int rdst AU = op[1] & 0x0f; 4662 if (trace) 4663 { 4664 printf ("\033[33m%s\033[0m %02x %02x\n", 4665 "/** 0110 110i mmmm rdst shll #%2, %0 */", 4666 op[0], op[1]); 4667 printf (" i = 0x%x,", i); 4668 printf (" mmmm = 0x%x,", mmmm); 4669 printf (" rdst = 0x%x\n", rdst); 4670 } 4671 SYNTAX("shll #%2, %0"); 4672 #line 731 "rx-decode.opc" 4673 ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC; 4674 4675 } 4676 break; 4677 } 4678 break; 4679 case 0x6d: 4680 GETBYTE (); 4681 switch (op[1] & 0x00) 4682 { 4683 case 0x00: 4684 goto op_semantics_30; 4685 break; 4686 } 4687 break; 4688 case 0x6e: 4689 GETBYTE (); 4690 switch (op[1] & 0x00) 4691 { 4692 case 0x00: 4693 { 4694 /** 0110 1110 dsta dstb pushm %1-%2 */ 4695 #line 393 "rx-decode.opc" 4696 int dsta AU = (op[1] >> 4) & 0x0f; 4697 #line 393 "rx-decode.opc" 4698 int dstb AU = op[1] & 0x0f; 4699 if (trace) 4700 { 4701 printf ("\033[33m%s\033[0m %02x %02x\n", 4702 "/** 0110 1110 dsta dstb pushm %1-%2 */", 4703 op[0], op[1]); 4704 printf (" dsta = 0x%x,", dsta); 4705 printf (" dstb = 0x%x\n", dstb); 4706 } 4707 SYNTAX("pushm %1-%2"); 4708 #line 393 "rx-decode.opc" 4709 ID(pushm); SR(dsta); S2R(dstb); F_____; 4710 4711 } 4712 break; 4713 } 4714 break; 4715 case 0x6f: 4716 GETBYTE (); 4717 switch (op[1] & 0x00) 4718 { 4719 case 0x00: 4720 { 4721 /** 0110 1111 dsta dstb popm %1-%2 */ 4722 #line 390 "rx-decode.opc" 4723 int dsta AU = (op[1] >> 4) & 0x0f; 4724 #line 390 "rx-decode.opc" 4725 int dstb AU = op[1] & 0x0f; 4726 if (trace) 4727 { 4728 printf ("\033[33m%s\033[0m %02x %02x\n", 4729 "/** 0110 1111 dsta dstb popm %1-%2 */", 4730 op[0], op[1]); 4731 printf (" dsta = 0x%x,", dsta); 4732 printf (" dstb = 0x%x\n", dstb); 4733 } 4734 SYNTAX("popm %1-%2"); 4735 #line 390 "rx-decode.opc" 4736 ID(popm); SR(dsta); S2R(dstb); F_____; 4737 4738 } 4739 break; 4740 } 4741 break; 4742 case 0x70: 4743 GETBYTE (); 4744 switch (op[1] & 0x00) 4745 { 4746 case 0x00: 4747 op_semantics_31: 4748 { 4749 /** 0111 00im rsrc rdst add #%1, %2, %0 */ 4750 #line 534 "rx-decode.opc" 4751 int im AU = op[0] & 0x03; 4752 #line 534 "rx-decode.opc" 4753 int rsrc AU = (op[1] >> 4) & 0x0f; 4754 #line 534 "rx-decode.opc" 4755 int rdst AU = op[1] & 0x0f; 4756 if (trace) 4757 { 4758 printf ("\033[33m%s\033[0m %02x %02x\n", 4759 "/** 0111 00im rsrc rdst add #%1, %2, %0 */", 4760 op[0], op[1]); 4761 printf (" im = 0x%x,", im); 4762 printf (" rsrc = 0x%x,", rsrc); 4763 printf (" rdst = 0x%x\n", rdst); 4764 } 4765 SYNTAX("add #%1, %2, %0"); 4766 #line 534 "rx-decode.opc" 4767 ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC; 4768 4769 } 4770 break; 4771 } 4772 break; 4773 case 0x71: 4774 GETBYTE (); 4775 switch (op[1] & 0x00) 4776 { 4777 case 0x00: 4778 goto op_semantics_31; 4779 break; 4780 } 4781 break; 4782 case 0x72: 4783 GETBYTE (); 4784 switch (op[1] & 0x00) 4785 { 4786 case 0x00: 4787 goto op_semantics_31; 4788 break; 4789 } 4790 break; 4791 case 0x73: 4792 GETBYTE (); 4793 switch (op[1] & 0x00) 4794 { 4795 case 0x00: 4796 goto op_semantics_31; 4797 break; 4798 } 4799 break; 4800 case 0x74: 4801 GETBYTE (); 4802 switch (op[1] & 0xf0) 4803 { 4804 case 0x00: 4805 op_semantics_32: 4806 { 4807 /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */ 4808 #line 546 "rx-decode.opc" 4809 int im AU = op[0] & 0x03; 4810 #line 546 "rx-decode.opc" 4811 int rsrc AU = op[1] & 0x0f; 4812 if (trace) 4813 { 4814 printf ("\033[33m%s\033[0m %02x %02x\n", 4815 "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */", 4816 op[0], op[1]); 4817 printf (" im = 0x%x,", im); 4818 printf (" rsrc = 0x%x\n", rsrc); 4819 } 4820 SYNTAX("cmp #%2, %1%S1"); 4821 #line 546 "rx-decode.opc" 4822 ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC; 4823 4824 } 4825 break; 4826 case 0x10: 4827 op_semantics_33: 4828 { 4829 /** 0111 01im 0001rdst mul #%1, %0 */ 4830 #line 649 "rx-decode.opc" 4831 int im AU = op[0] & 0x03; 4832 #line 649 "rx-decode.opc" 4833 int rdst AU = op[1] & 0x0f; 4834 if (trace) 4835 { 4836 printf ("\033[33m%s\033[0m %02x %02x\n", 4837 "/** 0111 01im 0001rdst mul #%1, %0 */", 4838 op[0], op[1]); 4839 printf (" im = 0x%x,", im); 4840 printf (" rdst = 0x%x\n", rdst); 4841 } 4842 SYNTAX("mul #%1, %0"); 4843 #line 649 "rx-decode.opc" 4844 int val = IMMex(im); 4845 if (val == 1 && rdst == 0) 4846 { 4847 SYNTAX("nop\t; mul\t#1, r0"); 4848 switch (im) 4849 { 4850 case 2: ID(nop4); break; 4851 case 3: ID(nop5); break; 4852 case 0: ID(nop6); break; 4853 default: 4854 ID(mul); 4855 SYNTAX("mul #%1, %0"); 4856 break; 4857 } 4858 } 4859 else 4860 { 4861 ID(mul); 4862 } 4863 DR(rdst); SC(val); F_____; 4864 4865 } 4866 break; 4867 case 0x20: 4868 op_semantics_34: 4869 { 4870 /** 0111 01im 0010 rdst and #%1, %0 */ 4871 #line 438 "rx-decode.opc" 4872 int im AU = op[0] & 0x03; 4873 #line 438 "rx-decode.opc" 4874 int rdst AU = op[1] & 0x0f; 4875 if (trace) 4876 { 4877 printf ("\033[33m%s\033[0m %02x %02x\n", 4878 "/** 0111 01im 0010 rdst and #%1, %0 */", 4879 op[0], op[1]); 4880 printf (" im = 0x%x,", im); 4881 printf (" rdst = 0x%x\n", rdst); 4882 } 4883 SYNTAX("and #%1, %0"); 4884 #line 438 "rx-decode.opc" 4885 ID(and); SC(IMMex(im)); DR(rdst); F__SZ_; 4886 4887 } 4888 break; 4889 case 0x30: 4890 op_semantics_35: 4891 { 4892 /** 0111 01im 0011 rdst or #%1, %0 */ 4893 #line 456 "rx-decode.opc" 4894 int im AU = op[0] & 0x03; 4895 #line 456 "rx-decode.opc" 4896 int rdst AU = op[1] & 0x0f; 4897 if (trace) 4898 { 4899 printf ("\033[33m%s\033[0m %02x %02x\n", 4900 "/** 0111 01im 0011 rdst or #%1, %0 */", 4901 op[0], op[1]); 4902 printf (" im = 0x%x,", im); 4903 printf (" rdst = 0x%x\n", rdst); 4904 } 4905 SYNTAX("or #%1, %0"); 4906 #line 456 "rx-decode.opc" 4907 ID(or); SC(IMMex(im)); DR(rdst); F__SZ_; 4908 4909 } 4910 break; 4911 default: UNSUPPORTED(); break; 4912 } 4913 break; 4914 case 0x75: 4915 GETBYTE (); 4916 switch (op[1] & 0xff) 4917 { 4918 case 0x00: 4919 case 0x01: 4920 case 0x02: 4921 case 0x03: 4922 case 0x04: 4923 case 0x05: 4924 case 0x06: 4925 case 0x07: 4926 case 0x08: 4927 case 0x09: 4928 case 0x0a: 4929 case 0x0b: 4930 case 0x0c: 4931 case 0x0d: 4932 case 0x0e: 4933 case 0x0f: 4934 goto op_semantics_32; 4935 break; 4936 case 0x10: 4937 case 0x11: 4938 case 0x12: 4939 case 0x13: 4940 case 0x14: 4941 case 0x15: 4942 case 0x16: 4943 case 0x17: 4944 case 0x18: 4945 case 0x19: 4946 case 0x1a: 4947 case 0x1b: 4948 case 0x1c: 4949 case 0x1d: 4950 case 0x1e: 4951 case 0x1f: 4952 goto op_semantics_33; 4953 break; 4954 case 0x20: 4955 case 0x21: 4956 case 0x22: 4957 case 0x23: 4958 case 0x24: 4959 case 0x25: 4960 case 0x26: 4961 case 0x27: 4962 case 0x28: 4963 case 0x29: 4964 case 0x2a: 4965 case 0x2b: 4966 case 0x2c: 4967 case 0x2d: 4968 case 0x2e: 4969 case 0x2f: 4970 goto op_semantics_34; 4971 break; 4972 case 0x30: 4973 case 0x31: 4974 case 0x32: 4975 case 0x33: 4976 case 0x34: 4977 case 0x35: 4978 case 0x36: 4979 case 0x37: 4980 case 0x38: 4981 case 0x39: 4982 case 0x3a: 4983 case 0x3b: 4984 case 0x3c: 4985 case 0x3d: 4986 case 0x3e: 4987 case 0x3f: 4988 goto op_semantics_35; 4989 break; 4990 case 0x40: 4991 case 0x41: 4992 case 0x42: 4993 case 0x43: 4994 case 0x44: 4995 case 0x45: 4996 case 0x46: 4997 case 0x47: 4998 case 0x48: 4999 case 0x49: 5000 case 0x4a: 5001 case 0x4b: 5002 case 0x4c: 5003 case 0x4d: 5004 case 0x4e: 5005 case 0x4f: 5006 { 5007 /** 0111 0101 0100 rdst mov%s #%1, %0 */ 5008 #line 310 "rx-decode.opc" 5009 int rdst AU = op[1] & 0x0f; 5010 if (trace) 5011 { 5012 printf ("\033[33m%s\033[0m %02x %02x\n", 5013 "/** 0111 0101 0100 rdst mov%s #%1, %0 */", 5014 op[0], op[1]); 5015 printf (" rdst = 0x%x\n", rdst); 5016 } 5017 SYNTAX("mov%s #%1, %0"); 5018 #line 310 "rx-decode.opc" 5019 ID(mov); DR(rdst); SC(IMM (1)); F_____; 5020 5021 } 5022 break; 5023 case 0x50: 5024 case 0x51: 5025 case 0x52: 5026 case 0x53: 5027 case 0x54: 5028 case 0x55: 5029 case 0x56: 5030 case 0x57: 5031 case 0x58: 5032 case 0x59: 5033 case 0x5a: 5034 case 0x5b: 5035 case 0x5c: 5036 case 0x5d: 5037 case 0x5e: 5038 case 0x5f: 5039 { 5040 /** 0111 0101 0101 rsrc cmp #%2, %1 */ 5041 #line 549 "rx-decode.opc" 5042 int rsrc AU = op[1] & 0x0f; 5043 if (trace) 5044 { 5045 printf ("\033[33m%s\033[0m %02x %02x\n", 5046 "/** 0111 0101 0101 rsrc cmp #%2, %1 */", 5047 op[0], op[1]); 5048 printf (" rsrc = 0x%x\n", rsrc); 5049 } 5050 SYNTAX("cmp #%2, %1"); 5051 #line 549 "rx-decode.opc" 5052 ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC; 5053 5054 } 5055 break; 5056 case 0x60: 5057 { 5058 /** 0111 0101 0110 0000 int #%1 */ 5059 if (trace) 5060 { 5061 printf ("\033[33m%s\033[0m %02x %02x\n", 5062 "/** 0111 0101 0110 0000 int #%1 */", 5063 op[0], op[1]); 5064 } 5065 SYNTAX("int #%1"); 5066 #line 1056 "rx-decode.opc" 5067 ID(int); SC(IMM(1)); 5068 5069 } 5070 break; 5071 case 0x70: 5072 GETBYTE (); 5073 switch (op[2] & 0xf0) 5074 { 5075 case 0x00: 5076 { 5077 /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */ 5078 #line 1023 "rx-decode.opc" 5079 int immm AU = op[2] & 0x0f; 5080 if (trace) 5081 { 5082 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5083 "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */", 5084 op[0], op[1], op[2]); 5085 printf (" immm = 0x%x\n", immm); 5086 } 5087 SYNTAX("mvtipl #%1"); 5088 #line 1023 "rx-decode.opc" 5089 ID(mvtipl); SC(immm); 5090 5091 } 5092 break; 5093 default: UNSUPPORTED(); break; 5094 } 5095 break; 5096 case 0x90: 5097 GETBYTE (); 5098 switch (op[2] & 0xff) 5099 { 5100 case 0x1b: 5101 { 5102 /** 0111 0101 1001 0000 0001 1011 mvfdr */ 5103 if (trace) 5104 { 5105 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5106 "/** 0111 0101 1001 0000 0001 1011 mvfdr */", 5107 op[0], op[1], op[2]); 5108 } 5109 SYNTAX("mvfdr"); 5110 #line 1229 "rx-decode.opc" 5111 ID(mvfdr); F_____; 5112 5113 } 5114 break; 5115 default: UNSUPPORTED(); break; 5116 } 5117 break; 5118 case 0xa0: 5119 GETBYTE (); 5120 switch (op[2] & 0x00) 5121 { 5122 case 0x00: 5123 { 5124 /** 0111 0101 1010 0000 rdst rnum dpushm.l %1-%2 */ 5125 #line 1223 "rx-decode.opc" 5126 int rdst AU = (op[2] >> 4) & 0x0f; 5127 #line 1223 "rx-decode.opc" 5128 int rnum AU = op[2] & 0x0f; 5129 if (trace) 5130 { 5131 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5132 "/** 0111 0101 1010 0000 rdst rnum dpushm.l %1-%2 */", 5133 op[0], op[1], op[2]); 5134 printf (" rdst = 0x%x,", rdst); 5135 printf (" rnum = 0x%x\n", rnum); 5136 } 5137 SYNTAX("dpushm.l %1-%2"); 5138 #line 1223 "rx-decode.opc" 5139 ID(dpushm); SCR(rdst); S2CR(rdst + rnum); F_____; 5140 5141 } 5142 break; 5143 } 5144 break; 5145 case 0xa8: 5146 GETBYTE (); 5147 switch (op[2] & 0x00) 5148 { 5149 case 0x00: 5150 { 5151 /** 0111 0101 1010 1000 rdst rnum dpopm.l %1-%2 */ 5152 #line 1217 "rx-decode.opc" 5153 int rdst AU = (op[2] >> 4) & 0x0f; 5154 #line 1217 "rx-decode.opc" 5155 int rnum AU = op[2] & 0x0f; 5156 if (trace) 5157 { 5158 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5159 "/** 0111 0101 1010 1000 rdst rnum dpopm.l %1-%2 */", 5160 op[0], op[1], op[2]); 5161 printf (" rdst = 0x%x,", rdst); 5162 printf (" rnum = 0x%x\n", rnum); 5163 } 5164 SYNTAX("dpopm.l %1-%2"); 5165 #line 1217 "rx-decode.opc" 5166 ID(dpopm); SCR(rdst); S2CR(rdst + rnum); F_____; 5167 5168 } 5169 break; 5170 } 5171 break; 5172 case 0xb0: 5173 GETBYTE (); 5174 switch (op[2] & 0x00) 5175 { 5176 case 0x00: 5177 { 5178 /** 0111 0101 1011 0000 rdst rnum dpushm.d %1-%2 */ 5179 #line 1220 "rx-decode.opc" 5180 int rdst AU = (op[2] >> 4) & 0x0f; 5181 #line 1220 "rx-decode.opc" 5182 int rnum AU = op[2] & 0x0f; 5183 if (trace) 5184 { 5185 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5186 "/** 0111 0101 1011 0000 rdst rnum dpushm.d %1-%2 */", 5187 op[0], op[1], op[2]); 5188 printf (" rdst = 0x%x,", rdst); 5189 printf (" rnum = 0x%x\n", rnum); 5190 } 5191 SYNTAX("dpushm.d %1-%2"); 5192 #line 1220 "rx-decode.opc" 5193 ID(dpushm); SDR(rdst); S2DR(rdst + rnum); F_____; 5194 5195 } 5196 break; 5197 } 5198 break; 5199 case 0xb8: 5200 GETBYTE (); 5201 switch (op[2] & 0x00) 5202 { 5203 case 0x00: 5204 { 5205 /** 0111 0101 1011 1000 rdst rnum dpopm.d %1-%2 */ 5206 #line 1214 "rx-decode.opc" 5207 int rdst AU = (op[2] >> 4) & 0x0f; 5208 #line 1214 "rx-decode.opc" 5209 int rnum AU = op[2] & 0x0f; 5210 if (trace) 5211 { 5212 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 5213 "/** 0111 0101 1011 1000 rdst rnum dpopm.d %1-%2 */", 5214 op[0], op[1], op[2]); 5215 printf (" rdst = 0x%x,", rdst); 5216 printf (" rnum = 0x%x\n", rnum); 5217 } 5218 SYNTAX("dpopm.d %1-%2"); 5219 #line 1214 "rx-decode.opc" 5220 ID(dpopm); SDR(rdst); S2DR(rdst + rnum); F_____; 5221 5222 } 5223 break; 5224 } 5225 break; 5226 default: UNSUPPORTED(); break; 5227 } 5228 break; 5229 case 0x76: 5230 GETBYTE (); 5231 switch (op[1] & 0xff) 5232 { 5233 case 0x00: 5234 case 0x01: 5235 case 0x02: 5236 case 0x03: 5237 case 0x04: 5238 case 0x05: 5239 case 0x06: 5240 case 0x07: 5241 case 0x08: 5242 case 0x09: 5243 case 0x0a: 5244 case 0x0b: 5245 case 0x0c: 5246 case 0x0d: 5247 case 0x0e: 5248 case 0x0f: 5249 goto op_semantics_32; 5250 break; 5251 case 0x10: 5252 case 0x11: 5253 case 0x12: 5254 case 0x13: 5255 case 0x14: 5256 case 0x15: 5257 case 0x16: 5258 case 0x17: 5259 case 0x18: 5260 case 0x19: 5261 case 0x1a: 5262 case 0x1b: 5263 case 0x1c: 5264 case 0x1d: 5265 case 0x1e: 5266 case 0x1f: 5267 goto op_semantics_33; 5268 break; 5269 case 0x20: 5270 case 0x21: 5271 case 0x22: 5272 case 0x23: 5273 case 0x24: 5274 case 0x25: 5275 case 0x26: 5276 case 0x27: 5277 case 0x28: 5278 case 0x29: 5279 case 0x2a: 5280 case 0x2b: 5281 case 0x2c: 5282 case 0x2d: 5283 case 0x2e: 5284 case 0x2f: 5285 goto op_semantics_34; 5286 break; 5287 case 0x30: 5288 case 0x31: 5289 case 0x32: 5290 case 0x33: 5291 case 0x34: 5292 case 0x35: 5293 case 0x36: 5294 case 0x37: 5295 case 0x38: 5296 case 0x39: 5297 case 0x3a: 5298 case 0x3b: 5299 case 0x3c: 5300 case 0x3d: 5301 case 0x3e: 5302 case 0x3f: 5303 goto op_semantics_35; 5304 break; 5305 case 0x90: 5306 GETBYTE (); 5307 switch (op[2] & 0xff) 5308 { 5309 case 0x00: 5310 GETBYTE (); 5311 switch (op[3] & 0x00) 5312 { 5313 case 0x00: 5314 op_semantics_36: 5315 { 5316 /** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */ 5317 #line 1238 "rx-decode.opc" 5318 int srcb AU = (op[2] >> 4) & 0x0f; 5319 #line 1238 "rx-decode.opc" 5320 int rdst AU = (op[3] >> 4) & 0x0f; 5321 #line 1238 "rx-decode.opc" 5322 int srca AU = op[3] & 0x0f; 5323 if (trace) 5324 { 5325 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5326 "/** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */", 5327 op[0], op[1], op[2], op[3]); 5328 printf (" srcb = 0x%x,", srcb); 5329 printf (" rdst = 0x%x,", rdst); 5330 printf (" srca = 0x%x\n", srca); 5331 } 5332 SYNTAX("dadd %1, %2, %0"); 5333 #line 1238 "rx-decode.opc" 5334 ID(dadd); DDR(rdst); SDR(srca); S2DR(srcb); F_____; 5335 5336 } 5337 break; 5338 } 5339 break; 5340 case 0x01: 5341 GETBYTE (); 5342 switch (op[3] & 0x00) 5343 { 5344 case 0x00: 5345 op_semantics_37: 5346 { 5347 /** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */ 5348 #line 1259 "rx-decode.opc" 5349 int srcb AU = (op[2] >> 4) & 0x0f; 5350 #line 1259 "rx-decode.opc" 5351 int rdst AU = (op[3] >> 4) & 0x0f; 5352 #line 1259 "rx-decode.opc" 5353 int srca AU = op[3] & 0x0f; 5354 if (trace) 5355 { 5356 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5357 "/** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */", 5358 op[0], op[1], op[2], op[3]); 5359 printf (" srcb = 0x%x,", srcb); 5360 printf (" rdst = 0x%x,", rdst); 5361 printf (" srca = 0x%x\n", srca); 5362 } 5363 SYNTAX("dsub %1, %2, %0"); 5364 #line 1259 "rx-decode.opc" 5365 ID(dsub); DDR(rdst); SDR(srca); S2DR(srcb); F_____; 5366 5367 } 5368 break; 5369 } 5370 break; 5371 case 0x02: 5372 GETBYTE (); 5373 switch (op[3] & 0x00) 5374 { 5375 case 0x00: 5376 op_semantics_38: 5377 { 5378 /** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */ 5379 #line 1247 "rx-decode.opc" 5380 int srcb AU = (op[2] >> 4) & 0x0f; 5381 #line 1247 "rx-decode.opc" 5382 int rdst AU = (op[3] >> 4) & 0x0f; 5383 #line 1247 "rx-decode.opc" 5384 int srca AU = op[3] & 0x0f; 5385 if (trace) 5386 { 5387 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5388 "/** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */", 5389 op[0], op[1], op[2], op[3]); 5390 printf (" srcb = 0x%x,", srcb); 5391 printf (" rdst = 0x%x,", rdst); 5392 printf (" srca = 0x%x\n", srca); 5393 } 5394 SYNTAX("dmul %1, %2, %0"); 5395 #line 1247 "rx-decode.opc" 5396 ID(dmul); DDR(rdst); SDR(srca); S2DR(srcb); F_____; 5397 5398 } 5399 break; 5400 } 5401 break; 5402 case 0x05: 5403 GETBYTE (); 5404 switch (op[3] & 0x00) 5405 { 5406 case 0x00: 5407 op_semantics_39: 5408 { 5409 /** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */ 5410 #line 1244 "rx-decode.opc" 5411 int srcb AU = (op[2] >> 4) & 0x0f; 5412 #line 1244 "rx-decode.opc" 5413 int rdst AU = (op[3] >> 4) & 0x0f; 5414 #line 1244 "rx-decode.opc" 5415 int srca AU = op[3] & 0x0f; 5416 if (trace) 5417 { 5418 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5419 "/** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */", 5420 op[0], op[1], op[2], op[3]); 5421 printf (" srcb = 0x%x,", srcb); 5422 printf (" rdst = 0x%x,", rdst); 5423 printf (" srca = 0x%x\n", srca); 5424 } 5425 SYNTAX("ddiv %1, %2, %0"); 5426 #line 1244 "rx-decode.opc" 5427 ID(ddiv); DDR(rdst); SDR(srca); S2DR(srcb); F_____; 5428 5429 } 5430 break; 5431 } 5432 break; 5433 case 0x08: 5434 GETBYTE (); 5435 switch (op[3] & 0x00) 5436 { 5437 case 0x00: 5438 op_semantics_40: 5439 { 5440 /** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */ 5441 #line 1241 "rx-decode.opc" 5442 int srcb AU = (op[2] >> 4) & 0x0f; 5443 #line 1241 "rx-decode.opc" 5444 int cond AU = (op[3] >> 4) & 0x0f; 5445 #line 1241 "rx-decode.opc" 5446 int srca AU = op[3] & 0x0f; 5447 if (trace) 5448 { 5449 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5450 "/** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */", 5451 op[0], op[1], op[2], op[3]); 5452 printf (" srcb = 0x%x,", srcb); 5453 printf (" cond = 0x%x,", cond); 5454 printf (" srca = 0x%x\n", srca); 5455 } 5456 SYNTAX("dcmp%0 %1, %2"); 5457 #line 1241 "rx-decode.opc" 5458 ID(dcmp); DCND(cond); SDR(srca); S2DR(srcb); F_____; 5459 5460 } 5461 break; 5462 } 5463 break; 5464 case 0x0c: 5465 GETBYTE (); 5466 switch (op[3] & 0x0f) 5467 { 5468 case 0x00: 5469 op_semantics_41: 5470 { 5471 /** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */ 5472 #line 1179 "rx-decode.opc" 5473 int rsrc AU = (op[2] >> 4) & 0x0f; 5474 #line 1179 "rx-decode.opc" 5475 int rdst AU = (op[3] >> 4) & 0x0f; 5476 if (trace) 5477 { 5478 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5479 "/** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */", 5480 op[0], op[1], op[2], op[3]); 5481 printf (" rsrc = 0x%x,", rsrc); 5482 printf (" rdst = 0x%x\n", rdst); 5483 } 5484 SYNTAX("dmov.d %1, %0"); 5485 #line 1179 "rx-decode.opc" 5486 ID(dmov); DDR(rdst); SDR(rsrc); F_____; 5487 5488 } 5489 break; 5490 case 0x01: 5491 op_semantics_42: 5492 { 5493 /** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */ 5494 #line 1235 "rx-decode.opc" 5495 int rsrc AU = (op[2] >> 4) & 0x0f; 5496 #line 1235 "rx-decode.opc" 5497 int rdst AU = (op[3] >> 4) & 0x0f; 5498 if (trace) 5499 { 5500 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5501 "/** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */", 5502 op[0], op[1], op[2], op[3]); 5503 printf (" rsrc = 0x%x,", rsrc); 5504 printf (" rdst = 0x%x\n", rdst); 5505 } 5506 SYNTAX("dabs %1, %0"); 5507 #line 1235 "rx-decode.opc" 5508 ID(dabs); DDR(rdst); SDR(rsrc); F_____; 5509 5510 } 5511 break; 5512 case 0x02: 5513 op_semantics_43: 5514 { 5515 /** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */ 5516 #line 1250 "rx-decode.opc" 5517 int rsrc AU = (op[2] >> 4) & 0x0f; 5518 #line 1250 "rx-decode.opc" 5519 int rdst AU = (op[3] >> 4) & 0x0f; 5520 if (trace) 5521 { 5522 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5523 "/** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */", 5524 op[0], op[1], op[2], op[3]); 5525 printf (" rsrc = 0x%x,", rsrc); 5526 printf (" rdst = 0x%x\n", rdst); 5527 } 5528 SYNTAX("dneg %1, %0"); 5529 #line 1250 "rx-decode.opc" 5530 ID(dneg); DDR(rdst); SDR(rsrc); F_____; 5531 5532 } 5533 break; 5534 default: UNSUPPORTED(); break; 5535 } 5536 break; 5537 case 0x0d: 5538 GETBYTE (); 5539 switch (op[3] & 0x0f) 5540 { 5541 case 0x00: 5542 op_semantics_44: 5543 { 5544 /** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */ 5545 #line 1256 "rx-decode.opc" 5546 int rsrc AU = (op[2] >> 4) & 0x0f; 5547 #line 1256 "rx-decode.opc" 5548 int rdst AU = (op[3] >> 4) & 0x0f; 5549 if (trace) 5550 { 5551 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5552 "/** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */", 5553 op[0], op[1], op[2], op[3]); 5554 printf (" rsrc = 0x%x,", rsrc); 5555 printf (" rdst = 0x%x\n", rdst); 5556 } 5557 SYNTAX("dsqrt %1, %0"); 5558 #line 1256 "rx-decode.opc" 5559 ID(dsqrt); DDR(rdst); SDR(rsrc); F_____; 5560 5561 } 5562 break; 5563 case 0x08: 5564 op_semantics_45: 5565 { 5566 /** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */ 5567 #line 1265 "rx-decode.opc" 5568 int rsrc AU = (op[2] >> 4) & 0x0f; 5569 #line 1265 "rx-decode.opc" 5570 int rdst AU = (op[3] >> 4) & 0x0f; 5571 if (trace) 5572 { 5573 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5574 "/** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */", 5575 op[0], op[1], op[2], op[3]); 5576 printf (" rsrc = 0x%x,", rsrc); 5577 printf (" rdst = 0x%x\n", rdst); 5578 } 5579 SYNTAX("dtoi %1, %0"); 5580 #line 1265 "rx-decode.opc" 5581 ID(dtoi); DDR(rdst); SDR(rsrc); F_____; 5582 5583 } 5584 break; 5585 case 0x09: 5586 op_semantics_46: 5587 { 5588 /** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */ 5589 #line 1268 "rx-decode.opc" 5590 int rsrc AU = (op[2] >> 4) & 0x0f; 5591 #line 1268 "rx-decode.opc" 5592 int rdst AU = (op[3] >> 4) & 0x0f; 5593 if (trace) 5594 { 5595 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5596 "/** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */", 5597 op[0], op[1], op[2], op[3]); 5598 printf (" rsrc = 0x%x,", rsrc); 5599 printf (" rdst = 0x%x\n", rdst); 5600 } 5601 SYNTAX("dtou %1, %0"); 5602 #line 1268 "rx-decode.opc" 5603 ID(dtou); DDR(rdst); SDR(rsrc); F_____; 5604 5605 } 5606 break; 5607 case 0x0c: 5608 op_semantics_47: 5609 { 5610 /** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */ 5611 #line 1262 "rx-decode.opc" 5612 int rsrc AU = (op[2] >> 4) & 0x0f; 5613 #line 1262 "rx-decode.opc" 5614 int rdst AU = (op[3] >> 4) & 0x0f; 5615 if (trace) 5616 { 5617 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5618 "/** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */", 5619 op[0], op[1], op[2], op[3]); 5620 printf (" rsrc = 0x%x,", rsrc); 5621 printf (" rdst = 0x%x\n", rdst); 5622 } 5623 SYNTAX("dtof %1, %0"); 5624 #line 1262 "rx-decode.opc" 5625 ID(dtof); DDR(rdst); SDR(rsrc); F_____; 5626 5627 } 5628 break; 5629 case 0x0d: 5630 op_semantics_48: 5631 { 5632 /** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */ 5633 #line 1253 "rx-decode.opc" 5634 int rsrc AU = (op[2] >> 4) & 0x0f; 5635 #line 1253 "rx-decode.opc" 5636 int rdst AU = (op[3] >> 4) & 0x0f; 5637 if (trace) 5638 { 5639 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 5640 "/** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */", 5641 op[0], op[1], op[2], op[3]); 5642 printf (" rsrc = 0x%x,", rsrc); 5643 printf (" rdst = 0x%x\n", rdst); 5644 } 5645 SYNTAX("dround %1, %0"); 5646 #line 1253 "rx-decode.opc" 5647 ID(dround); DDR(rdst); SDR(rsrc); F_____; 5648 5649 } 5650 break; 5651 default: UNSUPPORTED(); break; 5652 } 5653 break; 5654 case 0x10: 5655 GETBYTE (); 5656 switch (op[3] & 0x00) 5657 { 5658 case 0x00: 5659 goto op_semantics_36; 5660 break; 5661 } 5662 break; 5663 case 0x11: 5664 GETBYTE (); 5665 switch (op[3] & 0x00) 5666 { 5667 case 0x00: 5668 goto op_semantics_37; 5669 break; 5670 } 5671 break; 5672 case 0x12: 5673 GETBYTE (); 5674 switch (op[3] & 0x00) 5675 { 5676 case 0x00: 5677 goto op_semantics_38; 5678 break; 5679 } 5680 break; 5681 case 0x15: 5682 GETBYTE (); 5683 switch (op[3] & 0x00) 5684 { 5685 case 0x00: 5686 goto op_semantics_39; 5687 break; 5688 } 5689 break; 5690 case 0x18: 5691 GETBYTE (); 5692 switch (op[3] & 0x00) 5693 { 5694 case 0x00: 5695 goto op_semantics_40; 5696 break; 5697 } 5698 break; 5699 case 0x1c: 5700 GETBYTE (); 5701 switch (op[3] & 0x0f) 5702 { 5703 case 0x00: 5704 goto op_semantics_41; 5705 break; 5706 case 0x01: 5707 goto op_semantics_42; 5708 break; 5709 case 0x02: 5710 goto op_semantics_43; 5711 break; 5712 default: UNSUPPORTED(); break; 5713 } 5714 break; 5715 case 0x1d: 5716 GETBYTE (); 5717 switch (op[3] & 0x0f) 5718 { 5719 case 0x00: 5720 goto op_semantics_44; 5721 break; 5722 case 0x08: 5723 goto op_semantics_45; 5724 break; 5725 case 0x09: 5726 goto op_semantics_46; 5727 break; 5728 case 0x0c: 5729 goto op_semantics_47; 5730 break; 5731 case 0x0d: 5732 goto op_semantics_48; 5733 break; 5734 default: UNSUPPORTED(); break; 5735 } 5736 break; 5737 case 0x20: 5738 GETBYTE (); 5739 switch (op[3] & 0x00) 5740 { 5741 case 0x00: 5742 goto op_semantics_36; 5743 break; 5744 } 5745 break; 5746 case 0x21: 5747 GETBYTE (); 5748 switch (op[3] & 0x00) 5749 { 5750 case 0x00: 5751 goto op_semantics_37; 5752 break; 5753 } 5754 break; 5755 case 0x22: 5756 GETBYTE (); 5757 switch (op[3] & 0x00) 5758 { 5759 case 0x00: 5760 goto op_semantics_38; 5761 break; 5762 } 5763 break; 5764 case 0x25: 5765 GETBYTE (); 5766 switch (op[3] & 0x00) 5767 { 5768 case 0x00: 5769 goto op_semantics_39; 5770 break; 5771 } 5772 break; 5773 case 0x28: 5774 GETBYTE (); 5775 switch (op[3] & 0x00) 5776 { 5777 case 0x00: 5778 goto op_semantics_40; 5779 break; 5780 } 5781 break; 5782 case 0x2c: 5783 GETBYTE (); 5784 switch (op[3] & 0x0f) 5785 { 5786 case 0x00: 5787 goto op_semantics_41; 5788 break; 5789 case 0x01: 5790 goto op_semantics_42; 5791 break; 5792 case 0x02: 5793 goto op_semantics_43; 5794 break; 5795 default: UNSUPPORTED(); break; 5796 } 5797 break; 5798 case 0x2d: 5799 GETBYTE (); 5800 switch (op[3] & 0x0f) 5801 { 5802 case 0x00: 5803 goto op_semantics_44; 5804 break; 5805 case 0x08: 5806 goto op_semantics_45; 5807 break; 5808 case 0x09: 5809 goto op_semantics_46; 5810 break; 5811 case 0x0c: 5812 goto op_semantics_47; 5813 break; 5814 case 0x0d: 5815 goto op_semantics_48; 5816 break; 5817 default: UNSUPPORTED(); break; 5818 } 5819 break; 5820 case 0x30: 5821 GETBYTE (); 5822 switch (op[3] & 0x00) 5823 { 5824 case 0x00: 5825 goto op_semantics_36; 5826 break; 5827 } 5828 break; 5829 case 0x31: 5830 GETBYTE (); 5831 switch (op[3] & 0x00) 5832 { 5833 case 0x00: 5834 goto op_semantics_37; 5835 break; 5836 } 5837 break; 5838 case 0x32: 5839 GETBYTE (); 5840 switch (op[3] & 0x00) 5841 { 5842 case 0x00: 5843 goto op_semantics_38; 5844 break; 5845 } 5846 break; 5847 case 0x35: 5848 GETBYTE (); 5849 switch (op[3] & 0x00) 5850 { 5851 case 0x00: 5852 goto op_semantics_39; 5853 break; 5854 } 5855 break; 5856 case 0x38: 5857 GETBYTE (); 5858 switch (op[3] & 0x00) 5859 { 5860 case 0x00: 5861 goto op_semantics_40; 5862 break; 5863 } 5864 break; 5865 case 0x3c: 5866 GETBYTE (); 5867 switch (op[3] & 0x0f) 5868 { 5869 case 0x00: 5870 goto op_semantics_41; 5871 break; 5872 case 0x01: 5873 goto op_semantics_42; 5874 break; 5875 case 0x02: 5876 goto op_semantics_43; 5877 break; 5878 default: UNSUPPORTED(); break; 5879 } 5880 break; 5881 case 0x3d: 5882 GETBYTE (); 5883 switch (op[3] & 0x0f) 5884 { 5885 case 0x00: 5886 goto op_semantics_44; 5887 break; 5888 case 0x08: 5889 goto op_semantics_45; 5890 break; 5891 case 0x09: 5892 goto op_semantics_46; 5893 break; 5894 case 0x0c: 5895 goto op_semantics_47; 5896 break; 5897 case 0x0d: 5898 goto op_semantics_48; 5899 break; 5900 default: UNSUPPORTED(); break; 5901 } 5902 break; 5903 case 0x40: 5904 GETBYTE (); 5905 switch (op[3] & 0x00) 5906 { 5907 case 0x00: 5908 goto op_semantics_36; 5909 break; 5910 } 5911 break; 5912 case 0x41: 5913 GETBYTE (); 5914 switch (op[3] & 0x00) 5915 { 5916 case 0x00: 5917 goto op_semantics_37; 5918 break; 5919 } 5920 break; 5921 case 0x42: 5922 GETBYTE (); 5923 switch (op[3] & 0x00) 5924 { 5925 case 0x00: 5926 goto op_semantics_38; 5927 break; 5928 } 5929 break; 5930 case 0x45: 5931 GETBYTE (); 5932 switch (op[3] & 0x00) 5933 { 5934 case 0x00: 5935 goto op_semantics_39; 5936 break; 5937 } 5938 break; 5939 case 0x48: 5940 GETBYTE (); 5941 switch (op[3] & 0x00) 5942 { 5943 case 0x00: 5944 goto op_semantics_40; 5945 break; 5946 } 5947 break; 5948 case 0x4c: 5949 GETBYTE (); 5950 switch (op[3] & 0x0f) 5951 { 5952 case 0x00: 5953 goto op_semantics_41; 5954 break; 5955 case 0x01: 5956 goto op_semantics_42; 5957 break; 5958 case 0x02: 5959 goto op_semantics_43; 5960 break; 5961 default: UNSUPPORTED(); break; 5962 } 5963 break; 5964 case 0x4d: 5965 GETBYTE (); 5966 switch (op[3] & 0x0f) 5967 { 5968 case 0x00: 5969 goto op_semantics_44; 5970 break; 5971 case 0x08: 5972 goto op_semantics_45; 5973 break; 5974 case 0x09: 5975 goto op_semantics_46; 5976 break; 5977 case 0x0c: 5978 goto op_semantics_47; 5979 break; 5980 case 0x0d: 5981 goto op_semantics_48; 5982 break; 5983 default: UNSUPPORTED(); break; 5984 } 5985 break; 5986 case 0x50: 5987 GETBYTE (); 5988 switch (op[3] & 0x00) 5989 { 5990 case 0x00: 5991 goto op_semantics_36; 5992 break; 5993 } 5994 break; 5995 case 0x51: 5996 GETBYTE (); 5997 switch (op[3] & 0x00) 5998 { 5999 case 0x00: 6000 goto op_semantics_37; 6001 break; 6002 } 6003 break; 6004 case 0x52: 6005 GETBYTE (); 6006 switch (op[3] & 0x00) 6007 { 6008 case 0x00: 6009 goto op_semantics_38; 6010 break; 6011 } 6012 break; 6013 case 0x55: 6014 GETBYTE (); 6015 switch (op[3] & 0x00) 6016 { 6017 case 0x00: 6018 goto op_semantics_39; 6019 break; 6020 } 6021 break; 6022 case 0x58: 6023 GETBYTE (); 6024 switch (op[3] & 0x00) 6025 { 6026 case 0x00: 6027 goto op_semantics_40; 6028 break; 6029 } 6030 break; 6031 case 0x5c: 6032 GETBYTE (); 6033 switch (op[3] & 0x0f) 6034 { 6035 case 0x00: 6036 goto op_semantics_41; 6037 break; 6038 case 0x01: 6039 goto op_semantics_42; 6040 break; 6041 case 0x02: 6042 goto op_semantics_43; 6043 break; 6044 default: UNSUPPORTED(); break; 6045 } 6046 break; 6047 case 0x5d: 6048 GETBYTE (); 6049 switch (op[3] & 0x0f) 6050 { 6051 case 0x00: 6052 goto op_semantics_44; 6053 break; 6054 case 0x08: 6055 goto op_semantics_45; 6056 break; 6057 case 0x09: 6058 goto op_semantics_46; 6059 break; 6060 case 0x0c: 6061 goto op_semantics_47; 6062 break; 6063 case 0x0d: 6064 goto op_semantics_48; 6065 break; 6066 default: UNSUPPORTED(); break; 6067 } 6068 break; 6069 case 0x60: 6070 GETBYTE (); 6071 switch (op[3] & 0x00) 6072 { 6073 case 0x00: 6074 goto op_semantics_36; 6075 break; 6076 } 6077 break; 6078 case 0x61: 6079 GETBYTE (); 6080 switch (op[3] & 0x00) 6081 { 6082 case 0x00: 6083 goto op_semantics_37; 6084 break; 6085 } 6086 break; 6087 case 0x62: 6088 GETBYTE (); 6089 switch (op[3] & 0x00) 6090 { 6091 case 0x00: 6092 goto op_semantics_38; 6093 break; 6094 } 6095 break; 6096 case 0x65: 6097 GETBYTE (); 6098 switch (op[3] & 0x00) 6099 { 6100 case 0x00: 6101 goto op_semantics_39; 6102 break; 6103 } 6104 break; 6105 case 0x68: 6106 GETBYTE (); 6107 switch (op[3] & 0x00) 6108 { 6109 case 0x00: 6110 goto op_semantics_40; 6111 break; 6112 } 6113 break; 6114 case 0x6c: 6115 GETBYTE (); 6116 switch (op[3] & 0x0f) 6117 { 6118 case 0x00: 6119 goto op_semantics_41; 6120 break; 6121 case 0x01: 6122 goto op_semantics_42; 6123 break; 6124 case 0x02: 6125 goto op_semantics_43; 6126 break; 6127 default: UNSUPPORTED(); break; 6128 } 6129 break; 6130 case 0x6d: 6131 GETBYTE (); 6132 switch (op[3] & 0x0f) 6133 { 6134 case 0x00: 6135 goto op_semantics_44; 6136 break; 6137 case 0x08: 6138 goto op_semantics_45; 6139 break; 6140 case 0x09: 6141 goto op_semantics_46; 6142 break; 6143 case 0x0c: 6144 goto op_semantics_47; 6145 break; 6146 case 0x0d: 6147 goto op_semantics_48; 6148 break; 6149 default: UNSUPPORTED(); break; 6150 } 6151 break; 6152 case 0x70: 6153 GETBYTE (); 6154 switch (op[3] & 0x00) 6155 { 6156 case 0x00: 6157 goto op_semantics_36; 6158 break; 6159 } 6160 break; 6161 case 0x71: 6162 GETBYTE (); 6163 switch (op[3] & 0x00) 6164 { 6165 case 0x00: 6166 goto op_semantics_37; 6167 break; 6168 } 6169 break; 6170 case 0x72: 6171 GETBYTE (); 6172 switch (op[3] & 0x00) 6173 { 6174 case 0x00: 6175 goto op_semantics_38; 6176 break; 6177 } 6178 break; 6179 case 0x75: 6180 GETBYTE (); 6181 switch (op[3] & 0x00) 6182 { 6183 case 0x00: 6184 goto op_semantics_39; 6185 break; 6186 } 6187 break; 6188 case 0x78: 6189 GETBYTE (); 6190 switch (op[3] & 0x00) 6191 { 6192 case 0x00: 6193 goto op_semantics_40; 6194 break; 6195 } 6196 break; 6197 case 0x7c: 6198 GETBYTE (); 6199 switch (op[3] & 0x0f) 6200 { 6201 case 0x00: 6202 goto op_semantics_41; 6203 break; 6204 case 0x01: 6205 goto op_semantics_42; 6206 break; 6207 case 0x02: 6208 goto op_semantics_43; 6209 break; 6210 default: UNSUPPORTED(); break; 6211 } 6212 break; 6213 case 0x7d: 6214 GETBYTE (); 6215 switch (op[3] & 0x0f) 6216 { 6217 case 0x00: 6218 goto op_semantics_44; 6219 break; 6220 case 0x08: 6221 goto op_semantics_45; 6222 break; 6223 case 0x09: 6224 goto op_semantics_46; 6225 break; 6226 case 0x0c: 6227 goto op_semantics_47; 6228 break; 6229 case 0x0d: 6230 goto op_semantics_48; 6231 break; 6232 default: UNSUPPORTED(); break; 6233 } 6234 break; 6235 case 0x80: 6236 GETBYTE (); 6237 switch (op[3] & 0x00) 6238 { 6239 case 0x00: 6240 goto op_semantics_36; 6241 break; 6242 } 6243 break; 6244 case 0x81: 6245 GETBYTE (); 6246 switch (op[3] & 0x00) 6247 { 6248 case 0x00: 6249 goto op_semantics_37; 6250 break; 6251 } 6252 break; 6253 case 0x82: 6254 GETBYTE (); 6255 switch (op[3] & 0x00) 6256 { 6257 case 0x00: 6258 goto op_semantics_38; 6259 break; 6260 } 6261 break; 6262 case 0x85: 6263 GETBYTE (); 6264 switch (op[3] & 0x00) 6265 { 6266 case 0x00: 6267 goto op_semantics_39; 6268 break; 6269 } 6270 break; 6271 case 0x88: 6272 GETBYTE (); 6273 switch (op[3] & 0x00) 6274 { 6275 case 0x00: 6276 goto op_semantics_40; 6277 break; 6278 } 6279 break; 6280 case 0x8c: 6281 GETBYTE (); 6282 switch (op[3] & 0x0f) 6283 { 6284 case 0x00: 6285 goto op_semantics_41; 6286 break; 6287 case 0x01: 6288 goto op_semantics_42; 6289 break; 6290 case 0x02: 6291 goto op_semantics_43; 6292 break; 6293 default: UNSUPPORTED(); break; 6294 } 6295 break; 6296 case 0x8d: 6297 GETBYTE (); 6298 switch (op[3] & 0x0f) 6299 { 6300 case 0x00: 6301 goto op_semantics_44; 6302 break; 6303 case 0x08: 6304 goto op_semantics_45; 6305 break; 6306 case 0x09: 6307 goto op_semantics_46; 6308 break; 6309 case 0x0c: 6310 goto op_semantics_47; 6311 break; 6312 case 0x0d: 6313 goto op_semantics_48; 6314 break; 6315 default: UNSUPPORTED(); break; 6316 } 6317 break; 6318 case 0x90: 6319 GETBYTE (); 6320 switch (op[3] & 0x00) 6321 { 6322 case 0x00: 6323 goto op_semantics_36; 6324 break; 6325 } 6326 break; 6327 case 0x91: 6328 GETBYTE (); 6329 switch (op[3] & 0x00) 6330 { 6331 case 0x00: 6332 goto op_semantics_37; 6333 break; 6334 } 6335 break; 6336 case 0x92: 6337 GETBYTE (); 6338 switch (op[3] & 0x00) 6339 { 6340 case 0x00: 6341 goto op_semantics_38; 6342 break; 6343 } 6344 break; 6345 case 0x95: 6346 GETBYTE (); 6347 switch (op[3] & 0x00) 6348 { 6349 case 0x00: 6350 goto op_semantics_39; 6351 break; 6352 } 6353 break; 6354 case 0x98: 6355 GETBYTE (); 6356 switch (op[3] & 0x00) 6357 { 6358 case 0x00: 6359 goto op_semantics_40; 6360 break; 6361 } 6362 break; 6363 case 0x9c: 6364 GETBYTE (); 6365 switch (op[3] & 0x0f) 6366 { 6367 case 0x00: 6368 goto op_semantics_41; 6369 break; 6370 case 0x01: 6371 goto op_semantics_42; 6372 break; 6373 case 0x02: 6374 goto op_semantics_43; 6375 break; 6376 default: UNSUPPORTED(); break; 6377 } 6378 break; 6379 case 0x9d: 6380 GETBYTE (); 6381 switch (op[3] & 0x0f) 6382 { 6383 case 0x00: 6384 goto op_semantics_44; 6385 break; 6386 case 0x08: 6387 goto op_semantics_45; 6388 break; 6389 case 0x09: 6390 goto op_semantics_46; 6391 break; 6392 case 0x0c: 6393 goto op_semantics_47; 6394 break; 6395 case 0x0d: 6396 goto op_semantics_48; 6397 break; 6398 default: UNSUPPORTED(); break; 6399 } 6400 break; 6401 case 0xa0: 6402 GETBYTE (); 6403 switch (op[3] & 0x00) 6404 { 6405 case 0x00: 6406 goto op_semantics_36; 6407 break; 6408 } 6409 break; 6410 case 0xa1: 6411 GETBYTE (); 6412 switch (op[3] & 0x00) 6413 { 6414 case 0x00: 6415 goto op_semantics_37; 6416 break; 6417 } 6418 break; 6419 case 0xa2: 6420 GETBYTE (); 6421 switch (op[3] & 0x00) 6422 { 6423 case 0x00: 6424 goto op_semantics_38; 6425 break; 6426 } 6427 break; 6428 case 0xa5: 6429 GETBYTE (); 6430 switch (op[3] & 0x00) 6431 { 6432 case 0x00: 6433 goto op_semantics_39; 6434 break; 6435 } 6436 break; 6437 case 0xa8: 6438 GETBYTE (); 6439 switch (op[3] & 0x00) 6440 { 6441 case 0x00: 6442 goto op_semantics_40; 6443 break; 6444 } 6445 break; 6446 case 0xac: 6447 GETBYTE (); 6448 switch (op[3] & 0x0f) 6449 { 6450 case 0x00: 6451 goto op_semantics_41; 6452 break; 6453 case 0x01: 6454 goto op_semantics_42; 6455 break; 6456 case 0x02: 6457 goto op_semantics_43; 6458 break; 6459 default: UNSUPPORTED(); break; 6460 } 6461 break; 6462 case 0xad: 6463 GETBYTE (); 6464 switch (op[3] & 0x0f) 6465 { 6466 case 0x00: 6467 goto op_semantics_44; 6468 break; 6469 case 0x08: 6470 goto op_semantics_45; 6471 break; 6472 case 0x09: 6473 goto op_semantics_46; 6474 break; 6475 case 0x0c: 6476 goto op_semantics_47; 6477 break; 6478 case 0x0d: 6479 goto op_semantics_48; 6480 break; 6481 default: UNSUPPORTED(); break; 6482 } 6483 break; 6484 case 0xb0: 6485 GETBYTE (); 6486 switch (op[3] & 0x00) 6487 { 6488 case 0x00: 6489 goto op_semantics_36; 6490 break; 6491 } 6492 break; 6493 case 0xb1: 6494 GETBYTE (); 6495 switch (op[3] & 0x00) 6496 { 6497 case 0x00: 6498 goto op_semantics_37; 6499 break; 6500 } 6501 break; 6502 case 0xb2: 6503 GETBYTE (); 6504 switch (op[3] & 0x00) 6505 { 6506 case 0x00: 6507 goto op_semantics_38; 6508 break; 6509 } 6510 break; 6511 case 0xb5: 6512 GETBYTE (); 6513 switch (op[3] & 0x00) 6514 { 6515 case 0x00: 6516 goto op_semantics_39; 6517 break; 6518 } 6519 break; 6520 case 0xb8: 6521 GETBYTE (); 6522 switch (op[3] & 0x00) 6523 { 6524 case 0x00: 6525 goto op_semantics_40; 6526 break; 6527 } 6528 break; 6529 case 0xbc: 6530 GETBYTE (); 6531 switch (op[3] & 0x0f) 6532 { 6533 case 0x00: 6534 goto op_semantics_41; 6535 break; 6536 case 0x01: 6537 goto op_semantics_42; 6538 break; 6539 case 0x02: 6540 goto op_semantics_43; 6541 break; 6542 default: UNSUPPORTED(); break; 6543 } 6544 break; 6545 case 0xbd: 6546 GETBYTE (); 6547 switch (op[3] & 0x0f) 6548 { 6549 case 0x00: 6550 goto op_semantics_44; 6551 break; 6552 case 0x08: 6553 goto op_semantics_45; 6554 break; 6555 case 0x09: 6556 goto op_semantics_46; 6557 break; 6558 case 0x0c: 6559 goto op_semantics_47; 6560 break; 6561 case 0x0d: 6562 goto op_semantics_48; 6563 break; 6564 default: UNSUPPORTED(); break; 6565 } 6566 break; 6567 case 0xc0: 6568 GETBYTE (); 6569 switch (op[3] & 0x00) 6570 { 6571 case 0x00: 6572 goto op_semantics_36; 6573 break; 6574 } 6575 break; 6576 case 0xc1: 6577 GETBYTE (); 6578 switch (op[3] & 0x00) 6579 { 6580 case 0x00: 6581 goto op_semantics_37; 6582 break; 6583 } 6584 break; 6585 case 0xc2: 6586 GETBYTE (); 6587 switch (op[3] & 0x00) 6588 { 6589 case 0x00: 6590 goto op_semantics_38; 6591 break; 6592 } 6593 break; 6594 case 0xc5: 6595 GETBYTE (); 6596 switch (op[3] & 0x00) 6597 { 6598 case 0x00: 6599 goto op_semantics_39; 6600 break; 6601 } 6602 break; 6603 case 0xc8: 6604 GETBYTE (); 6605 switch (op[3] & 0x00) 6606 { 6607 case 0x00: 6608 goto op_semantics_40; 6609 break; 6610 } 6611 break; 6612 case 0xcc: 6613 GETBYTE (); 6614 switch (op[3] & 0x0f) 6615 { 6616 case 0x00: 6617 goto op_semantics_41; 6618 break; 6619 case 0x01: 6620 goto op_semantics_42; 6621 break; 6622 case 0x02: 6623 goto op_semantics_43; 6624 break; 6625 default: UNSUPPORTED(); break; 6626 } 6627 break; 6628 case 0xcd: 6629 GETBYTE (); 6630 switch (op[3] & 0x0f) 6631 { 6632 case 0x00: 6633 goto op_semantics_44; 6634 break; 6635 case 0x08: 6636 goto op_semantics_45; 6637 break; 6638 case 0x09: 6639 goto op_semantics_46; 6640 break; 6641 case 0x0c: 6642 goto op_semantics_47; 6643 break; 6644 case 0x0d: 6645 goto op_semantics_48; 6646 break; 6647 default: UNSUPPORTED(); break; 6648 } 6649 break; 6650 case 0xd0: 6651 GETBYTE (); 6652 switch (op[3] & 0x00) 6653 { 6654 case 0x00: 6655 goto op_semantics_36; 6656 break; 6657 } 6658 break; 6659 case 0xd1: 6660 GETBYTE (); 6661 switch (op[3] & 0x00) 6662 { 6663 case 0x00: 6664 goto op_semantics_37; 6665 break; 6666 } 6667 break; 6668 case 0xd2: 6669 GETBYTE (); 6670 switch (op[3] & 0x00) 6671 { 6672 case 0x00: 6673 goto op_semantics_38; 6674 break; 6675 } 6676 break; 6677 case 0xd5: 6678 GETBYTE (); 6679 switch (op[3] & 0x00) 6680 { 6681 case 0x00: 6682 goto op_semantics_39; 6683 break; 6684 } 6685 break; 6686 case 0xd8: 6687 GETBYTE (); 6688 switch (op[3] & 0x00) 6689 { 6690 case 0x00: 6691 goto op_semantics_40; 6692 break; 6693 } 6694 break; 6695 case 0xdc: 6696 GETBYTE (); 6697 switch (op[3] & 0x0f) 6698 { 6699 case 0x00: 6700 goto op_semantics_41; 6701 break; 6702 case 0x01: 6703 goto op_semantics_42; 6704 break; 6705 case 0x02: 6706 goto op_semantics_43; 6707 break; 6708 default: UNSUPPORTED(); break; 6709 } 6710 break; 6711 case 0xdd: 6712 GETBYTE (); 6713 switch (op[3] & 0x0f) 6714 { 6715 case 0x00: 6716 goto op_semantics_44; 6717 break; 6718 case 0x08: 6719 goto op_semantics_45; 6720 break; 6721 case 0x09: 6722 goto op_semantics_46; 6723 break; 6724 case 0x0c: 6725 goto op_semantics_47; 6726 break; 6727 case 0x0d: 6728 goto op_semantics_48; 6729 break; 6730 default: UNSUPPORTED(); break; 6731 } 6732 break; 6733 case 0xe0: 6734 GETBYTE (); 6735 switch (op[3] & 0x00) 6736 { 6737 case 0x00: 6738 goto op_semantics_36; 6739 break; 6740 } 6741 break; 6742 case 0xe1: 6743 GETBYTE (); 6744 switch (op[3] & 0x00) 6745 { 6746 case 0x00: 6747 goto op_semantics_37; 6748 break; 6749 } 6750 break; 6751 case 0xe2: 6752 GETBYTE (); 6753 switch (op[3] & 0x00) 6754 { 6755 case 0x00: 6756 goto op_semantics_38; 6757 break; 6758 } 6759 break; 6760 case 0xe5: 6761 GETBYTE (); 6762 switch (op[3] & 0x00) 6763 { 6764 case 0x00: 6765 goto op_semantics_39; 6766 break; 6767 } 6768 break; 6769 case 0xe8: 6770 GETBYTE (); 6771 switch (op[3] & 0x00) 6772 { 6773 case 0x00: 6774 goto op_semantics_40; 6775 break; 6776 } 6777 break; 6778 case 0xec: 6779 GETBYTE (); 6780 switch (op[3] & 0x0f) 6781 { 6782 case 0x00: 6783 goto op_semantics_41; 6784 break; 6785 case 0x01: 6786 goto op_semantics_42; 6787 break; 6788 case 0x02: 6789 goto op_semantics_43; 6790 break; 6791 default: UNSUPPORTED(); break; 6792 } 6793 break; 6794 case 0xed: 6795 GETBYTE (); 6796 switch (op[3] & 0x0f) 6797 { 6798 case 0x00: 6799 goto op_semantics_44; 6800 break; 6801 case 0x08: 6802 goto op_semantics_45; 6803 break; 6804 case 0x09: 6805 goto op_semantics_46; 6806 break; 6807 case 0x0c: 6808 goto op_semantics_47; 6809 break; 6810 case 0x0d: 6811 goto op_semantics_48; 6812 break; 6813 default: UNSUPPORTED(); break; 6814 } 6815 break; 6816 case 0xf0: 6817 GETBYTE (); 6818 switch (op[3] & 0x00) 6819 { 6820 case 0x00: 6821 goto op_semantics_36; 6822 break; 6823 } 6824 break; 6825 case 0xf1: 6826 GETBYTE (); 6827 switch (op[3] & 0x00) 6828 { 6829 case 0x00: 6830 goto op_semantics_37; 6831 break; 6832 } 6833 break; 6834 case 0xf2: 6835 GETBYTE (); 6836 switch (op[3] & 0x00) 6837 { 6838 case 0x00: 6839 goto op_semantics_38; 6840 break; 6841 } 6842 break; 6843 case 0xf5: 6844 GETBYTE (); 6845 switch (op[3] & 0x00) 6846 { 6847 case 0x00: 6848 goto op_semantics_39; 6849 break; 6850 } 6851 break; 6852 case 0xf8: 6853 GETBYTE (); 6854 switch (op[3] & 0x00) 6855 { 6856 case 0x00: 6857 goto op_semantics_40; 6858 break; 6859 } 6860 break; 6861 case 0xfc: 6862 GETBYTE (); 6863 switch (op[3] & 0x0f) 6864 { 6865 case 0x00: 6866 goto op_semantics_41; 6867 break; 6868 case 0x01: 6869 goto op_semantics_42; 6870 break; 6871 case 0x02: 6872 goto op_semantics_43; 6873 break; 6874 default: UNSUPPORTED(); break; 6875 } 6876 break; 6877 case 0xfd: 6878 GETBYTE (); 6879 switch (op[3] & 0x0f) 6880 { 6881 case 0x00: 6882 goto op_semantics_44; 6883 break; 6884 case 0x08: 6885 goto op_semantics_45; 6886 break; 6887 case 0x09: 6888 goto op_semantics_46; 6889 break; 6890 case 0x0c: 6891 goto op_semantics_47; 6892 break; 6893 case 0x0d: 6894 goto op_semantics_48; 6895 break; 6896 default: UNSUPPORTED(); break; 6897 } 6898 break; 6899 default: UNSUPPORTED(); break; 6900 } 6901 break; 6902 default: UNSUPPORTED(); break; 6903 } 6904 break; 6905 case 0x77: 6906 GETBYTE (); 6907 switch (op[1] & 0xf0) 6908 { 6909 case 0x00: 6910 goto op_semantics_32; 6911 break; 6912 case 0x10: 6913 goto op_semantics_33; 6914 break; 6915 case 0x20: 6916 goto op_semantics_34; 6917 break; 6918 case 0x30: 6919 goto op_semantics_35; 6920 break; 6921 default: UNSUPPORTED(); break; 6922 } 6923 break; 6924 case 0x78: 6925 GETBYTE (); 6926 switch (op[1] & 0x00) 6927 { 6928 case 0x00: 6929 op_semantics_49: 6930 { 6931 /** 0111 100b ittt rdst bset #%1, %0 */ 6932 #line 968 "rx-decode.opc" 6933 int b AU = op[0] & 0x01; 6934 #line 968 "rx-decode.opc" 6935 int ittt AU = (op[1] >> 4) & 0x0f; 6936 #line 968 "rx-decode.opc" 6937 int rdst AU = op[1] & 0x0f; 6938 if (trace) 6939 { 6940 printf ("\033[33m%s\033[0m %02x %02x\n", 6941 "/** 0111 100b ittt rdst bset #%1, %0 */", 6942 op[0], op[1]); 6943 printf (" b = 0x%x,", b); 6944 printf (" ittt = 0x%x,", ittt); 6945 printf (" rdst = 0x%x\n", rdst); 6946 } 6947 SYNTAX("bset #%1, %0"); 6948 #line 968 "rx-decode.opc" 6949 ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; 6950 6951 6952 } 6953 break; 6954 } 6955 break; 6956 case 0x79: 6957 GETBYTE (); 6958 switch (op[1] & 0x00) 6959 { 6960 case 0x00: 6961 goto op_semantics_49; 6962 break; 6963 } 6964 break; 6965 case 0x7a: 6966 GETBYTE (); 6967 switch (op[1] & 0x00) 6968 { 6969 case 0x00: 6970 op_semantics_50: 6971 { 6972 /** 0111 101b ittt rdst bclr #%1, %0 */ 6973 #line 980 "rx-decode.opc" 6974 int b AU = op[0] & 0x01; 6975 #line 980 "rx-decode.opc" 6976 int ittt AU = (op[1] >> 4) & 0x0f; 6977 #line 980 "rx-decode.opc" 6978 int rdst AU = op[1] & 0x0f; 6979 if (trace) 6980 { 6981 printf ("\033[33m%s\033[0m %02x %02x\n", 6982 "/** 0111 101b ittt rdst bclr #%1, %0 */", 6983 op[0], op[1]); 6984 printf (" b = 0x%x,", b); 6985 printf (" ittt = 0x%x,", ittt); 6986 printf (" rdst = 0x%x\n", rdst); 6987 } 6988 SYNTAX("bclr #%1, %0"); 6989 #line 980 "rx-decode.opc" 6990 ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____; 6991 6992 6993 } 6994 break; 6995 } 6996 break; 6997 case 0x7b: 6998 GETBYTE (); 6999 switch (op[1] & 0x00) 7000 { 7001 case 0x00: 7002 goto op_semantics_50; 7003 break; 7004 } 7005 break; 7006 case 0x7c: 7007 GETBYTE (); 7008 switch (op[1] & 0x00) 7009 { 7010 case 0x00: 7011 op_semantics_51: 7012 { 7013 /** 0111 110b ittt rdst btst #%2, %1 */ 7014 #line 992 "rx-decode.opc" 7015 int b AU = op[0] & 0x01; 7016 #line 992 "rx-decode.opc" 7017 int ittt AU = (op[1] >> 4) & 0x0f; 7018 #line 992 "rx-decode.opc" 7019 int rdst AU = op[1] & 0x0f; 7020 if (trace) 7021 { 7022 printf ("\033[33m%s\033[0m %02x %02x\n", 7023 "/** 0111 110b ittt rdst btst #%2, %1 */", 7024 op[0], op[1]); 7025 printf (" b = 0x%x,", b); 7026 printf (" ittt = 0x%x,", ittt); 7027 printf (" rdst = 0x%x\n", rdst); 7028 } 7029 SYNTAX("btst #%2, %1"); 7030 #line 992 "rx-decode.opc" 7031 ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC; 7032 7033 7034 } 7035 break; 7036 } 7037 break; 7038 case 0x7d: 7039 GETBYTE (); 7040 switch (op[1] & 0x00) 7041 { 7042 case 0x00: 7043 goto op_semantics_51; 7044 break; 7045 } 7046 break; 7047 case 0x7e: 7048 GETBYTE (); 7049 switch (op[1] & 0xf0) 7050 { 7051 case 0x00: 7052 { 7053 /** 0111 1110 0000 rdst not %0 */ 7054 #line 483 "rx-decode.opc" 7055 int rdst AU = op[1] & 0x0f; 7056 if (trace) 7057 { 7058 printf ("\033[33m%s\033[0m %02x %02x\n", 7059 "/** 0111 1110 0000 rdst not %0 */", 7060 op[0], op[1]); 7061 printf (" rdst = 0x%x\n", rdst); 7062 } 7063 SYNTAX("not %0"); 7064 #line 483 "rx-decode.opc" 7065 ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_; 7066 7067 } 7068 break; 7069 case 0x10: 7070 { 7071 /** 0111 1110 0001 rdst neg %0 */ 7072 #line 504 "rx-decode.opc" 7073 int rdst AU = op[1] & 0x0f; 7074 if (trace) 7075 { 7076 printf ("\033[33m%s\033[0m %02x %02x\n", 7077 "/** 0111 1110 0001 rdst neg %0 */", 7078 op[0], op[1]); 7079 printf (" rdst = 0x%x\n", rdst); 7080 } 7081 SYNTAX("neg %0"); 7082 #line 504 "rx-decode.opc" 7083 ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC; 7084 7085 } 7086 break; 7087 case 0x20: 7088 { 7089 /** 0111 1110 0010 rdst abs %0 */ 7090 #line 586 "rx-decode.opc" 7091 int rdst AU = op[1] & 0x0f; 7092 if (trace) 7093 { 7094 printf ("\033[33m%s\033[0m %02x %02x\n", 7095 "/** 0111 1110 0010 rdst abs %0 */", 7096 op[0], op[1]); 7097 printf (" rdst = 0x%x\n", rdst); 7098 } 7099 SYNTAX("abs %0"); 7100 #line 586 "rx-decode.opc" 7101 ID(abs); DR(rdst); SR(rdst); F_OSZ_; 7102 7103 } 7104 break; 7105 case 0x30: 7106 { 7107 /** 0111 1110 0011 rdst sat %0 */ 7108 #line 906 "rx-decode.opc" 7109 int rdst AU = op[1] & 0x0f; 7110 if (trace) 7111 { 7112 printf ("\033[33m%s\033[0m %02x %02x\n", 7113 "/** 0111 1110 0011 rdst sat %0 */", 7114 op[0], op[1]); 7115 printf (" rdst = 0x%x\n", rdst); 7116 } 7117 SYNTAX("sat %0"); 7118 #line 906 "rx-decode.opc" 7119 ID(sat); DR (rdst); 7120 7121 } 7122 break; 7123 case 0x40: 7124 { 7125 /** 0111 1110 0100 rdst rorc %0 */ 7126 #line 766 "rx-decode.opc" 7127 int rdst AU = op[1] & 0x0f; 7128 if (trace) 7129 { 7130 printf ("\033[33m%s\033[0m %02x %02x\n", 7131 "/** 0111 1110 0100 rdst rorc %0 */", 7132 op[0], op[1]); 7133 printf (" rdst = 0x%x\n", rdst); 7134 } 7135 SYNTAX("rorc %0"); 7136 #line 766 "rx-decode.opc" 7137 ID(rorc); DR(rdst); F__SZC; 7138 7139 } 7140 break; 7141 case 0x50: 7142 { 7143 /** 0111 1110 0101 rdst rolc %0 */ 7144 #line 763 "rx-decode.opc" 7145 int rdst AU = op[1] & 0x0f; 7146 if (trace) 7147 { 7148 printf ("\033[33m%s\033[0m %02x %02x\n", 7149 "/** 0111 1110 0101 rdst rolc %0 */", 7150 op[0], op[1]); 7151 printf (" rdst = 0x%x\n", rdst); 7152 } 7153 SYNTAX("rolc %0"); 7154 #line 763 "rx-decode.opc" 7155 ID(rolc); DR(rdst); F__SZC; 7156 7157 } 7158 break; 7159 case 0x80: 7160 case 0x90: 7161 case 0xa0: 7162 { 7163 /** 0111 1110 10sz rsrc push%s %1 */ 7164 #line 399 "rx-decode.opc" 7165 int sz AU = (op[1] >> 4) & 0x03; 7166 #line 399 "rx-decode.opc" 7167 int rsrc AU = op[1] & 0x0f; 7168 if (trace) 7169 { 7170 printf ("\033[33m%s\033[0m %02x %02x\n", 7171 "/** 0111 1110 10sz rsrc push%s %1 */", 7172 op[0], op[1]); 7173 printf (" sz = 0x%x,", sz); 7174 printf (" rsrc = 0x%x\n", rsrc); 7175 } 7176 SYNTAX("push%s %1"); 7177 #line 399 "rx-decode.opc" 7178 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____; 7179 7180 } 7181 break; 7182 case 0xb0: 7183 { 7184 /** 0111 1110 1011 rdst pop %0 */ 7185 #line 396 "rx-decode.opc" 7186 int rdst AU = op[1] & 0x0f; 7187 if (trace) 7188 { 7189 printf ("\033[33m%s\033[0m %02x %02x\n", 7190 "/** 0111 1110 1011 rdst pop %0 */", 7191 op[0], op[1]); 7192 printf (" rdst = 0x%x\n", rdst); 7193 } 7194 SYNTAX("pop %0"); 7195 #line 396 "rx-decode.opc" 7196 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____; 7197 7198 } 7199 break; 7200 case 0xc0: 7201 case 0xd0: 7202 { 7203 /** 0111 1110 110 crsrc pushc %1 */ 7204 #line 1029 "rx-decode.opc" 7205 int crsrc AU = op[1] & 0x1f; 7206 if (trace) 7207 { 7208 printf ("\033[33m%s\033[0m %02x %02x\n", 7209 "/** 0111 1110 110 crsrc pushc %1 */", 7210 op[0], op[1]); 7211 printf (" crsrc = 0x%x\n", crsrc); 7212 } 7213 SYNTAX("pushc %1"); 7214 #line 1029 "rx-decode.opc" 7215 ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16); 7216 7217 } 7218 break; 7219 case 0xe0: 7220 case 0xf0: 7221 { 7222 /** 0111 1110 111 crdst popc %0 */ 7223 #line 1026 "rx-decode.opc" 7224 int crdst AU = op[1] & 0x1f; 7225 if (trace) 7226 { 7227 printf ("\033[33m%s\033[0m %02x %02x\n", 7228 "/** 0111 1110 111 crdst popc %0 */", 7229 op[0], op[1]); 7230 printf (" crdst = 0x%x\n", crdst); 7231 } 7232 SYNTAX("popc %0"); 7233 #line 1026 "rx-decode.opc" 7234 ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16); 7235 7236 } 7237 break; 7238 default: UNSUPPORTED(); break; 7239 } 7240 break; 7241 case 0x7f: 7242 GETBYTE (); 7243 switch (op[1] & 0xff) 7244 { 7245 case 0x00: 7246 case 0x01: 7247 case 0x02: 7248 case 0x03: 7249 case 0x04: 7250 case 0x05: 7251 case 0x06: 7252 case 0x07: 7253 case 0x08: 7254 case 0x09: 7255 case 0x0a: 7256 case 0x0b: 7257 case 0x0c: 7258 case 0x0d: 7259 case 0x0e: 7260 case 0x0f: 7261 { 7262 /** 0111 1111 0000 rsrc jmp %0 */ 7263 #line 816 "rx-decode.opc" 7264 int rsrc AU = op[1] & 0x0f; 7265 if (trace) 7266 { 7267 printf ("\033[33m%s\033[0m %02x %02x\n", 7268 "/** 0111 1111 0000 rsrc jmp %0 */", 7269 op[0], op[1]); 7270 printf (" rsrc = 0x%x\n", rsrc); 7271 } 7272 SYNTAX("jmp %0"); 7273 #line 816 "rx-decode.opc" 7274 ID(branch); DR(rsrc); 7275 7276 } 7277 break; 7278 case 0x10: 7279 case 0x11: 7280 case 0x12: 7281 case 0x13: 7282 case 0x14: 7283 case 0x15: 7284 case 0x16: 7285 case 0x17: 7286 case 0x18: 7287 case 0x19: 7288 case 0x1a: 7289 case 0x1b: 7290 case 0x1c: 7291 case 0x1d: 7292 case 0x1e: 7293 case 0x1f: 7294 { 7295 /** 0111 1111 0001 rsrc jsr %0 */ 7296 #line 819 "rx-decode.opc" 7297 int rsrc AU = op[1] & 0x0f; 7298 if (trace) 7299 { 7300 printf ("\033[33m%s\033[0m %02x %02x\n", 7301 "/** 0111 1111 0001 rsrc jsr %0 */", 7302 op[0], op[1]); 7303 printf (" rsrc = 0x%x\n", rsrc); 7304 } 7305 SYNTAX("jsr %0"); 7306 #line 819 "rx-decode.opc" 7307 ID(jsr); DR(rsrc); 7308 7309 } 7310 break; 7311 case 0x40: 7312 case 0x41: 7313 case 0x42: 7314 case 0x43: 7315 case 0x44: 7316 case 0x45: 7317 case 0x46: 7318 case 0x47: 7319 case 0x48: 7320 case 0x49: 7321 case 0x4a: 7322 case 0x4b: 7323 case 0x4c: 7324 case 0x4d: 7325 case 0x4e: 7326 case 0x4f: 7327 { 7328 /** 0111 1111 0100 rsrc bra.l %0 */ 7329 #line 812 "rx-decode.opc" 7330 int rsrc AU = op[1] & 0x0f; 7331 if (trace) 7332 { 7333 printf ("\033[33m%s\033[0m %02x %02x\n", 7334 "/** 0111 1111 0100 rsrc bra.l %0 */", 7335 op[0], op[1]); 7336 printf (" rsrc = 0x%x\n", rsrc); 7337 } 7338 SYNTAX("bra.l %0"); 7339 #line 812 "rx-decode.opc" 7340 ID(branchrel); DR(rsrc); 7341 7342 7343 } 7344 break; 7345 case 0x50: 7346 case 0x51: 7347 case 0x52: 7348 case 0x53: 7349 case 0x54: 7350 case 0x55: 7351 case 0x56: 7352 case 0x57: 7353 case 0x58: 7354 case 0x59: 7355 case 0x5a: 7356 case 0x5b: 7357 case 0x5c: 7358 case 0x5d: 7359 case 0x5e: 7360 case 0x5f: 7361 { 7362 /** 0111 1111 0101 rsrc bsr.l %0 */ 7363 #line 828 "rx-decode.opc" 7364 int rsrc AU = op[1] & 0x0f; 7365 if (trace) 7366 { 7367 printf ("\033[33m%s\033[0m %02x %02x\n", 7368 "/** 0111 1111 0101 rsrc bsr.l %0 */", 7369 op[0], op[1]); 7370 printf (" rsrc = 0x%x\n", rsrc); 7371 } 7372 SYNTAX("bsr.l %0"); 7373 #line 828 "rx-decode.opc" 7374 ID(jsrrel); DR(rsrc); 7375 7376 } 7377 break; 7378 case 0x80: 7379 case 0x81: 7380 case 0x82: 7381 { 7382 /** 0111 1111 1000 00sz suntil%s */ 7383 #line 852 "rx-decode.opc" 7384 int sz AU = op[1] & 0x03; 7385 if (trace) 7386 { 7387 printf ("\033[33m%s\033[0m %02x %02x\n", 7388 "/** 0111 1111 1000 00sz suntil%s */", 7389 op[0], op[1]); 7390 printf (" sz = 0x%x\n", sz); 7391 } 7392 SYNTAX("suntil%s"); 7393 #line 852 "rx-decode.opc" 7394 ID(suntil); BWL(sz); F___ZC; 7395 7396 } 7397 break; 7398 case 0x83: 7399 { 7400 /** 0111 1111 1000 0011 scmpu */ 7401 if (trace) 7402 { 7403 printf ("\033[33m%s\033[0m %02x %02x\n", 7404 "/** 0111 1111 1000 0011 scmpu */", 7405 op[0], op[1]); 7406 } 7407 SYNTAX("scmpu"); 7408 #line 843 "rx-decode.opc" 7409 ID(scmpu); F___ZC; 7410 7411 } 7412 break; 7413 case 0x84: 7414 case 0x85: 7415 case 0x86: 7416 { 7417 /** 0111 1111 1000 01sz swhile%s */ 7418 #line 855 "rx-decode.opc" 7419 int sz AU = op[1] & 0x03; 7420 if (trace) 7421 { 7422 printf ("\033[33m%s\033[0m %02x %02x\n", 7423 "/** 0111 1111 1000 01sz swhile%s */", 7424 op[0], op[1]); 7425 printf (" sz = 0x%x\n", sz); 7426 } 7427 SYNTAX("swhile%s"); 7428 #line 855 "rx-decode.opc" 7429 ID(swhile); BWL(sz); F___ZC; 7430 7431 } 7432 break; 7433 case 0x87: 7434 { 7435 /** 0111 1111 1000 0111 smovu */ 7436 if (trace) 7437 { 7438 printf ("\033[33m%s\033[0m %02x %02x\n", 7439 "/** 0111 1111 1000 0111 smovu */", 7440 op[0], op[1]); 7441 } 7442 SYNTAX("smovu"); 7443 #line 846 "rx-decode.opc" 7444 ID(smovu); 7445 7446 } 7447 break; 7448 case 0x88: 7449 case 0x89: 7450 case 0x8a: 7451 { 7452 /** 0111 1111 1000 10sz sstr%s */ 7453 #line 861 "rx-decode.opc" 7454 int sz AU = op[1] & 0x03; 7455 if (trace) 7456 { 7457 printf ("\033[33m%s\033[0m %02x %02x\n", 7458 "/** 0111 1111 1000 10sz sstr%s */", 7459 op[0], op[1]); 7460 printf (" sz = 0x%x\n", sz); 7461 } 7462 SYNTAX("sstr%s"); 7463 #line 861 "rx-decode.opc" 7464 ID(sstr); BWL(sz); 7465 7466 /*----------------------------------------------------------------------*/ 7467 /* RMPA */ 7468 7469 } 7470 break; 7471 case 0x8b: 7472 { 7473 /** 0111 1111 1000 1011 smovb */ 7474 if (trace) 7475 { 7476 printf ("\033[33m%s\033[0m %02x %02x\n", 7477 "/** 0111 1111 1000 1011 smovb */", 7478 op[0], op[1]); 7479 } 7480 SYNTAX("smovb"); 7481 #line 849 "rx-decode.opc" 7482 ID(smovb); 7483 7484 } 7485 break; 7486 case 0x8c: 7487 case 0x8d: 7488 case 0x8e: 7489 { 7490 /** 0111 1111 1000 11sz rmpa%s */ 7491 #line 867 "rx-decode.opc" 7492 int sz AU = op[1] & 0x03; 7493 if (trace) 7494 { 7495 printf ("\033[33m%s\033[0m %02x %02x\n", 7496 "/** 0111 1111 1000 11sz rmpa%s */", 7497 op[0], op[1]); 7498 printf (" sz = 0x%x\n", sz); 7499 } 7500 SYNTAX("rmpa%s"); 7501 #line 867 "rx-decode.opc" 7502 ID(rmpa); BWL(sz); F_OS__; 7503 7504 /*----------------------------------------------------------------------*/ 7505 /* HI/LO stuff */ 7506 7507 } 7508 break; 7509 case 0x8f: 7510 { 7511 /** 0111 1111 1000 1111 smovf */ 7512 if (trace) 7513 { 7514 printf ("\033[33m%s\033[0m %02x %02x\n", 7515 "/** 0111 1111 1000 1111 smovf */", 7516 op[0], op[1]); 7517 } 7518 SYNTAX("smovf"); 7519 #line 858 "rx-decode.opc" 7520 ID(smovf); 7521 7522 } 7523 break; 7524 case 0x93: 7525 { 7526 /** 0111 1111 1001 0011 satr */ 7527 if (trace) 7528 { 7529 printf ("\033[33m%s\033[0m %02x %02x\n", 7530 "/** 0111 1111 1001 0011 satr */", 7531 op[0], op[1]); 7532 } 7533 SYNTAX("satr"); 7534 #line 909 "rx-decode.opc" 7535 ID(satr); 7536 7537 /*----------------------------------------------------------------------*/ 7538 /* FLOAT */ 7539 7540 } 7541 break; 7542 case 0x94: 7543 { 7544 /** 0111 1111 1001 0100 rtfi */ 7545 if (trace) 7546 { 7547 printf ("\033[33m%s\033[0m %02x %02x\n", 7548 "/** 0111 1111 1001 0100 rtfi */", 7549 op[0], op[1]); 7550 } 7551 SYNTAX("rtfi"); 7552 #line 1044 "rx-decode.opc" 7553 ID(rtfi); 7554 7555 } 7556 break; 7557 case 0x95: 7558 { 7559 /** 0111 1111 1001 0101 rte */ 7560 if (trace) 7561 { 7562 printf ("\033[33m%s\033[0m %02x %02x\n", 7563 "/** 0111 1111 1001 0101 rte */", 7564 op[0], op[1]); 7565 } 7566 SYNTAX("rte"); 7567 #line 1047 "rx-decode.opc" 7568 ID(rte); 7569 7570 } 7571 break; 7572 case 0x96: 7573 { 7574 /** 0111 1111 1001 0110 wait */ 7575 if (trace) 7576 { 7577 printf ("\033[33m%s\033[0m %02x %02x\n", 7578 "/** 0111 1111 1001 0110 wait */", 7579 op[0], op[1]); 7580 } 7581 SYNTAX("wait"); 7582 #line 1059 "rx-decode.opc" 7583 ID(wait); 7584 7585 /*----------------------------------------------------------------------*/ 7586 /* SCcnd */ 7587 7588 } 7589 break; 7590 case 0xa0: 7591 case 0xa1: 7592 case 0xa2: 7593 case 0xa3: 7594 case 0xa4: 7595 case 0xa5: 7596 case 0xa6: 7597 case 0xa7: 7598 case 0xa8: 7599 case 0xa9: 7600 case 0xaa: 7601 case 0xab: 7602 case 0xac: 7603 case 0xad: 7604 case 0xae: 7605 case 0xaf: 7606 { 7607 /** 0111 1111 1010 rdst setpsw %0 */ 7608 #line 1020 "rx-decode.opc" 7609 int rdst AU = op[1] & 0x0f; 7610 if (trace) 7611 { 7612 printf ("\033[33m%s\033[0m %02x %02x\n", 7613 "/** 0111 1111 1010 rdst setpsw %0 */", 7614 op[0], op[1]); 7615 printf (" rdst = 0x%x\n", rdst); 7616 } 7617 SYNTAX("setpsw %0"); 7618 #line 1020 "rx-decode.opc" 7619 ID(setpsw); DF(rdst); 7620 7621 } 7622 break; 7623 case 0xb0: 7624 case 0xb1: 7625 case 0xb2: 7626 case 0xb3: 7627 case 0xb4: 7628 case 0xb5: 7629 case 0xb6: 7630 case 0xb7: 7631 case 0xb8: 7632 case 0xb9: 7633 case 0xba: 7634 case 0xbb: 7635 case 0xbc: 7636 case 0xbd: 7637 case 0xbe: 7638 case 0xbf: 7639 { 7640 /** 0111 1111 1011 rdst clrpsw %0 */ 7641 #line 1017 "rx-decode.opc" 7642 int rdst AU = op[1] & 0x0f; 7643 if (trace) 7644 { 7645 printf ("\033[33m%s\033[0m %02x %02x\n", 7646 "/** 0111 1111 1011 rdst clrpsw %0 */", 7647 op[0], op[1]); 7648 printf (" rdst = 0x%x\n", rdst); 7649 } 7650 SYNTAX("clrpsw %0"); 7651 #line 1017 "rx-decode.opc" 7652 ID(clrpsw); DF(rdst); 7653 7654 } 7655 break; 7656 default: UNSUPPORTED(); break; 7657 } 7658 break; 7659 case 0x80: 7660 GETBYTE (); 7661 switch (op[1] & 0x00) 7662 { 7663 case 0x00: 7664 op_semantics_52: 7665 { 7666 /** 10sz 0dsp a dst b src mov%s %1, %0 */ 7667 #line 357 "rx-decode.opc" 7668 int sz AU = (op[0] >> 4) & 0x03; 7669 #line 357 "rx-decode.opc" 7670 int dsp AU = op[0] & 0x07; 7671 #line 357 "rx-decode.opc" 7672 int a AU = (op[1] >> 7) & 0x01; 7673 #line 357 "rx-decode.opc" 7674 int dst AU = (op[1] >> 4) & 0x07; 7675 #line 357 "rx-decode.opc" 7676 int b AU = (op[1] >> 3) & 0x01; 7677 #line 357 "rx-decode.opc" 7678 int src AU = op[1] & 0x07; 7679 if (trace) 7680 { 7681 printf ("\033[33m%s\033[0m %02x %02x\n", 7682 "/** 10sz 0dsp a dst b src mov%s %1, %0 */", 7683 op[0], op[1]); 7684 printf (" sz = 0x%x,", sz); 7685 printf (" dsp = 0x%x,", dsp); 7686 printf (" a = 0x%x,", a); 7687 printf (" dst = 0x%x,", dst); 7688 printf (" b = 0x%x,", b); 7689 printf (" src = 0x%x\n", src); 7690 } 7691 SYNTAX("mov%s %1, %0"); 7692 #line 357 "rx-decode.opc" 7693 ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____; 7694 7695 } 7696 break; 7697 } 7698 break; 7699 case 0x81: 7700 GETBYTE (); 7701 switch (op[1] & 0x00) 7702 { 7703 case 0x00: 7704 goto op_semantics_52; 7705 break; 7706 } 7707 break; 7708 case 0x82: 7709 GETBYTE (); 7710 switch (op[1] & 0x00) 7711 { 7712 case 0x00: 7713 goto op_semantics_52; 7714 break; 7715 } 7716 break; 7717 case 0x83: 7718 GETBYTE (); 7719 switch (op[1] & 0x00) 7720 { 7721 case 0x00: 7722 goto op_semantics_52; 7723 break; 7724 } 7725 break; 7726 case 0x84: 7727 GETBYTE (); 7728 switch (op[1] & 0x00) 7729 { 7730 case 0x00: 7731 goto op_semantics_52; 7732 break; 7733 } 7734 break; 7735 case 0x85: 7736 GETBYTE (); 7737 switch (op[1] & 0x00) 7738 { 7739 case 0x00: 7740 goto op_semantics_52; 7741 break; 7742 } 7743 break; 7744 case 0x86: 7745 GETBYTE (); 7746 switch (op[1] & 0x00) 7747 { 7748 case 0x00: 7749 goto op_semantics_52; 7750 break; 7751 } 7752 break; 7753 case 0x87: 7754 GETBYTE (); 7755 switch (op[1] & 0x00) 7756 { 7757 case 0x00: 7758 goto op_semantics_52; 7759 break; 7760 } 7761 break; 7762 case 0x88: 7763 GETBYTE (); 7764 switch (op[1] & 0x00) 7765 { 7766 case 0x00: 7767 op_semantics_53: 7768 { 7769 /** 10sz 1dsp a src b dst mov%s %1, %0 */ 7770 #line 354 "rx-decode.opc" 7771 int sz AU = (op[0] >> 4) & 0x03; 7772 #line 354 "rx-decode.opc" 7773 int dsp AU = op[0] & 0x07; 7774 #line 354 "rx-decode.opc" 7775 int a AU = (op[1] >> 7) & 0x01; 7776 #line 354 "rx-decode.opc" 7777 int src AU = (op[1] >> 4) & 0x07; 7778 #line 354 "rx-decode.opc" 7779 int b AU = (op[1] >> 3) & 0x01; 7780 #line 354 "rx-decode.opc" 7781 int dst AU = op[1] & 0x07; 7782 if (trace) 7783 { 7784 printf ("\033[33m%s\033[0m %02x %02x\n", 7785 "/** 10sz 1dsp a src b dst mov%s %1, %0 */", 7786 op[0], op[1]); 7787 printf (" sz = 0x%x,", sz); 7788 printf (" dsp = 0x%x,", dsp); 7789 printf (" a = 0x%x,", a); 7790 printf (" src = 0x%x,", src); 7791 printf (" b = 0x%x,", b); 7792 printf (" dst = 0x%x\n", dst); 7793 } 7794 SYNTAX("mov%s %1, %0"); 7795 #line 354 "rx-decode.opc" 7796 ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____; 7797 7798 } 7799 break; 7800 } 7801 break; 7802 case 0x89: 7803 GETBYTE (); 7804 switch (op[1] & 0x00) 7805 { 7806 case 0x00: 7807 goto op_semantics_53; 7808 break; 7809 } 7810 break; 7811 case 0x8a: 7812 GETBYTE (); 7813 switch (op[1] & 0x00) 7814 { 7815 case 0x00: 7816 goto op_semantics_53; 7817 break; 7818 } 7819 break; 7820 case 0x8b: 7821 GETBYTE (); 7822 switch (op[1] & 0x00) 7823 { 7824 case 0x00: 7825 goto op_semantics_53; 7826 break; 7827 } 7828 break; 7829 case 0x8c: 7830 GETBYTE (); 7831 switch (op[1] & 0x00) 7832 { 7833 case 0x00: 7834 goto op_semantics_53; 7835 break; 7836 } 7837 break; 7838 case 0x8d: 7839 GETBYTE (); 7840 switch (op[1] & 0x00) 7841 { 7842 case 0x00: 7843 goto op_semantics_53; 7844 break; 7845 } 7846 break; 7847 case 0x8e: 7848 GETBYTE (); 7849 switch (op[1] & 0x00) 7850 { 7851 case 0x00: 7852 goto op_semantics_53; 7853 break; 7854 } 7855 break; 7856 case 0x8f: 7857 GETBYTE (); 7858 switch (op[1] & 0x00) 7859 { 7860 case 0x00: 7861 goto op_semantics_53; 7862 break; 7863 } 7864 break; 7865 case 0x90: 7866 GETBYTE (); 7867 switch (op[1] & 0x00) 7868 { 7869 case 0x00: 7870 goto op_semantics_52; 7871 break; 7872 } 7873 break; 7874 case 0x91: 7875 GETBYTE (); 7876 switch (op[1] & 0x00) 7877 { 7878 case 0x00: 7879 goto op_semantics_52; 7880 break; 7881 } 7882 break; 7883 case 0x92: 7884 GETBYTE (); 7885 switch (op[1] & 0x00) 7886 { 7887 case 0x00: 7888 goto op_semantics_52; 7889 break; 7890 } 7891 break; 7892 case 0x93: 7893 GETBYTE (); 7894 switch (op[1] & 0x00) 7895 { 7896 case 0x00: 7897 goto op_semantics_52; 7898 break; 7899 } 7900 break; 7901 case 0x94: 7902 GETBYTE (); 7903 switch (op[1] & 0x00) 7904 { 7905 case 0x00: 7906 goto op_semantics_52; 7907 break; 7908 } 7909 break; 7910 case 0x95: 7911 GETBYTE (); 7912 switch (op[1] & 0x00) 7913 { 7914 case 0x00: 7915 goto op_semantics_52; 7916 break; 7917 } 7918 break; 7919 case 0x96: 7920 GETBYTE (); 7921 switch (op[1] & 0x00) 7922 { 7923 case 0x00: 7924 goto op_semantics_52; 7925 break; 7926 } 7927 break; 7928 case 0x97: 7929 GETBYTE (); 7930 switch (op[1] & 0x00) 7931 { 7932 case 0x00: 7933 goto op_semantics_52; 7934 break; 7935 } 7936 break; 7937 case 0x98: 7938 GETBYTE (); 7939 switch (op[1] & 0x00) 7940 { 7941 case 0x00: 7942 goto op_semantics_53; 7943 break; 7944 } 7945 break; 7946 case 0x99: 7947 GETBYTE (); 7948 switch (op[1] & 0x00) 7949 { 7950 case 0x00: 7951 goto op_semantics_53; 7952 break; 7953 } 7954 break; 7955 case 0x9a: 7956 GETBYTE (); 7957 switch (op[1] & 0x00) 7958 { 7959 case 0x00: 7960 goto op_semantics_53; 7961 break; 7962 } 7963 break; 7964 case 0x9b: 7965 GETBYTE (); 7966 switch (op[1] & 0x00) 7967 { 7968 case 0x00: 7969 goto op_semantics_53; 7970 break; 7971 } 7972 break; 7973 case 0x9c: 7974 GETBYTE (); 7975 switch (op[1] & 0x00) 7976 { 7977 case 0x00: 7978 goto op_semantics_53; 7979 break; 7980 } 7981 break; 7982 case 0x9d: 7983 GETBYTE (); 7984 switch (op[1] & 0x00) 7985 { 7986 case 0x00: 7987 goto op_semantics_53; 7988 break; 7989 } 7990 break; 7991 case 0x9e: 7992 GETBYTE (); 7993 switch (op[1] & 0x00) 7994 { 7995 case 0x00: 7996 goto op_semantics_53; 7997 break; 7998 } 7999 break; 8000 case 0x9f: 8001 GETBYTE (); 8002 switch (op[1] & 0x00) 8003 { 8004 case 0x00: 8005 goto op_semantics_53; 8006 break; 8007 } 8008 break; 8009 case 0xa0: 8010 GETBYTE (); 8011 switch (op[1] & 0x00) 8012 { 8013 case 0x00: 8014 goto op_semantics_52; 8015 break; 8016 } 8017 break; 8018 case 0xa1: 8019 GETBYTE (); 8020 switch (op[1] & 0x00) 8021 { 8022 case 0x00: 8023 goto op_semantics_52; 8024 break; 8025 } 8026 break; 8027 case 0xa2: 8028 GETBYTE (); 8029 switch (op[1] & 0x00) 8030 { 8031 case 0x00: 8032 goto op_semantics_52; 8033 break; 8034 } 8035 break; 8036 case 0xa3: 8037 GETBYTE (); 8038 switch (op[1] & 0x00) 8039 { 8040 case 0x00: 8041 goto op_semantics_52; 8042 break; 8043 } 8044 break; 8045 case 0xa4: 8046 GETBYTE (); 8047 switch (op[1] & 0x00) 8048 { 8049 case 0x00: 8050 goto op_semantics_52; 8051 break; 8052 } 8053 break; 8054 case 0xa5: 8055 GETBYTE (); 8056 switch (op[1] & 0x00) 8057 { 8058 case 0x00: 8059 goto op_semantics_52; 8060 break; 8061 } 8062 break; 8063 case 0xa6: 8064 GETBYTE (); 8065 switch (op[1] & 0x00) 8066 { 8067 case 0x00: 8068 goto op_semantics_52; 8069 break; 8070 } 8071 break; 8072 case 0xa7: 8073 GETBYTE (); 8074 switch (op[1] & 0x00) 8075 { 8076 case 0x00: 8077 goto op_semantics_52; 8078 break; 8079 } 8080 break; 8081 case 0xa8: 8082 GETBYTE (); 8083 switch (op[1] & 0x00) 8084 { 8085 case 0x00: 8086 goto op_semantics_53; 8087 break; 8088 } 8089 break; 8090 case 0xa9: 8091 GETBYTE (); 8092 switch (op[1] & 0x00) 8093 { 8094 case 0x00: 8095 goto op_semantics_53; 8096 break; 8097 } 8098 break; 8099 case 0xaa: 8100 GETBYTE (); 8101 switch (op[1] & 0x00) 8102 { 8103 case 0x00: 8104 goto op_semantics_53; 8105 break; 8106 } 8107 break; 8108 case 0xab: 8109 GETBYTE (); 8110 switch (op[1] & 0x00) 8111 { 8112 case 0x00: 8113 goto op_semantics_53; 8114 break; 8115 } 8116 break; 8117 case 0xac: 8118 GETBYTE (); 8119 switch (op[1] & 0x00) 8120 { 8121 case 0x00: 8122 goto op_semantics_53; 8123 break; 8124 } 8125 break; 8126 case 0xad: 8127 GETBYTE (); 8128 switch (op[1] & 0x00) 8129 { 8130 case 0x00: 8131 goto op_semantics_53; 8132 break; 8133 } 8134 break; 8135 case 0xae: 8136 GETBYTE (); 8137 switch (op[1] & 0x00) 8138 { 8139 case 0x00: 8140 goto op_semantics_53; 8141 break; 8142 } 8143 break; 8144 case 0xaf: 8145 GETBYTE (); 8146 switch (op[1] & 0x00) 8147 { 8148 case 0x00: 8149 goto op_semantics_53; 8150 break; 8151 } 8152 break; 8153 case 0xb0: 8154 GETBYTE (); 8155 switch (op[1] & 0x00) 8156 { 8157 case 0x00: 8158 op_semantics_54: 8159 { 8160 /** 1011 w dsp a src b dst movu%s %1, %0 */ 8161 #line 377 "rx-decode.opc" 8162 int w AU = (op[0] >> 3) & 0x01; 8163 #line 377 "rx-decode.opc" 8164 int dsp AU = op[0] & 0x07; 8165 #line 377 "rx-decode.opc" 8166 int a AU = (op[1] >> 7) & 0x01; 8167 #line 377 "rx-decode.opc" 8168 int src AU = (op[1] >> 4) & 0x07; 8169 #line 377 "rx-decode.opc" 8170 int b AU = (op[1] >> 3) & 0x01; 8171 #line 377 "rx-decode.opc" 8172 int dst AU = op[1] & 0x07; 8173 if (trace) 8174 { 8175 printf ("\033[33m%s\033[0m %02x %02x\n", 8176 "/** 1011 w dsp a src b dst movu%s %1, %0 */", 8177 op[0], op[1]); 8178 printf (" w = 0x%x,", w); 8179 printf (" dsp = 0x%x,", dsp); 8180 printf (" a = 0x%x,", a); 8181 printf (" src = 0x%x,", src); 8182 printf (" b = 0x%x,", b); 8183 printf (" dst = 0x%x\n", dst); 8184 } 8185 SYNTAX("movu%s %1, %0"); 8186 #line 377 "rx-decode.opc" 8187 ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____; 8188 8189 } 8190 break; 8191 } 8192 break; 8193 case 0xb1: 8194 GETBYTE (); 8195 switch (op[1] & 0x00) 8196 { 8197 case 0x00: 8198 goto op_semantics_54; 8199 break; 8200 } 8201 break; 8202 case 0xb2: 8203 GETBYTE (); 8204 switch (op[1] & 0x00) 8205 { 8206 case 0x00: 8207 goto op_semantics_54; 8208 break; 8209 } 8210 break; 8211 case 0xb3: 8212 GETBYTE (); 8213 switch (op[1] & 0x00) 8214 { 8215 case 0x00: 8216 goto op_semantics_54; 8217 break; 8218 } 8219 break; 8220 case 0xb4: 8221 GETBYTE (); 8222 switch (op[1] & 0x00) 8223 { 8224 case 0x00: 8225 goto op_semantics_54; 8226 break; 8227 } 8228 break; 8229 case 0xb5: 8230 GETBYTE (); 8231 switch (op[1] & 0x00) 8232 { 8233 case 0x00: 8234 goto op_semantics_54; 8235 break; 8236 } 8237 break; 8238 case 0xb6: 8239 GETBYTE (); 8240 switch (op[1] & 0x00) 8241 { 8242 case 0x00: 8243 goto op_semantics_54; 8244 break; 8245 } 8246 break; 8247 case 0xb7: 8248 GETBYTE (); 8249 switch (op[1] & 0x00) 8250 { 8251 case 0x00: 8252 goto op_semantics_54; 8253 break; 8254 } 8255 break; 8256 case 0xb8: 8257 GETBYTE (); 8258 switch (op[1] & 0x00) 8259 { 8260 case 0x00: 8261 goto op_semantics_54; 8262 break; 8263 } 8264 break; 8265 case 0xb9: 8266 GETBYTE (); 8267 switch (op[1] & 0x00) 8268 { 8269 case 0x00: 8270 goto op_semantics_54; 8271 break; 8272 } 8273 break; 8274 case 0xba: 8275 GETBYTE (); 8276 switch (op[1] & 0x00) 8277 { 8278 case 0x00: 8279 goto op_semantics_54; 8280 break; 8281 } 8282 break; 8283 case 0xbb: 8284 GETBYTE (); 8285 switch (op[1] & 0x00) 8286 { 8287 case 0x00: 8288 goto op_semantics_54; 8289 break; 8290 } 8291 break; 8292 case 0xbc: 8293 GETBYTE (); 8294 switch (op[1] & 0x00) 8295 { 8296 case 0x00: 8297 goto op_semantics_54; 8298 break; 8299 } 8300 break; 8301 case 0xbd: 8302 GETBYTE (); 8303 switch (op[1] & 0x00) 8304 { 8305 case 0x00: 8306 goto op_semantics_54; 8307 break; 8308 } 8309 break; 8310 case 0xbe: 8311 GETBYTE (); 8312 switch (op[1] & 0x00) 8313 { 8314 case 0x00: 8315 goto op_semantics_54; 8316 break; 8317 } 8318 break; 8319 case 0xbf: 8320 GETBYTE (); 8321 switch (op[1] & 0x00) 8322 { 8323 case 0x00: 8324 goto op_semantics_54; 8325 break; 8326 } 8327 break; 8328 case 0xc0: 8329 GETBYTE (); 8330 switch (op[1] & 0x00) 8331 { 8332 case 0x00: 8333 op_semantics_55: 8334 { 8335 /** 11sz sd ss rsrc rdst mov%s %1, %0 */ 8336 #line 335 "rx-decode.opc" 8337 int sz AU = (op[0] >> 4) & 0x03; 8338 #line 335 "rx-decode.opc" 8339 int sd AU = (op[0] >> 2) & 0x03; 8340 #line 335 "rx-decode.opc" 8341 int ss AU = op[0] & 0x03; 8342 #line 335 "rx-decode.opc" 8343 int rsrc AU = (op[1] >> 4) & 0x0f; 8344 #line 335 "rx-decode.opc" 8345 int rdst AU = op[1] & 0x0f; 8346 if (trace) 8347 { 8348 printf ("\033[33m%s\033[0m %02x %02x\n", 8349 "/** 11sz sd ss rsrc rdst mov%s %1, %0 */", 8350 op[0], op[1]); 8351 printf (" sz = 0x%x,", sz); 8352 printf (" sd = 0x%x,", sd); 8353 printf (" ss = 0x%x,", ss); 8354 printf (" rsrc = 0x%x,", rsrc); 8355 printf (" rdst = 0x%x\n", rdst); 8356 } 8357 SYNTAX("mov%s %1, %0"); 8358 #line 335 "rx-decode.opc" 8359 if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0) 8360 { 8361 ID(nop2); 8362 SYNTAX ("nop\t; mov.l\tr0, r0"); 8363 } 8364 else 8365 { 8366 ID(mov); sBWL(sz); F_____; 8367 if ((ss == 3) && (sd != 3)) 8368 { 8369 SD(ss, rdst, sz); DD(sd, rsrc, sz); 8370 } 8371 else 8372 { 8373 SD(ss, rsrc, sz); DD(sd, rdst, sz); 8374 } 8375 } 8376 8377 } 8378 break; 8379 } 8380 break; 8381 case 0xc1: 8382 GETBYTE (); 8383 switch (op[1] & 0x00) 8384 { 8385 case 0x00: 8386 goto op_semantics_55; 8387 break; 8388 } 8389 break; 8390 case 0xc2: 8391 GETBYTE (); 8392 switch (op[1] & 0x00) 8393 { 8394 case 0x00: 8395 goto op_semantics_55; 8396 break; 8397 } 8398 break; 8399 case 0xc3: 8400 GETBYTE (); 8401 switch (op[1] & 0x00) 8402 { 8403 case 0x00: 8404 goto op_semantics_55; 8405 break; 8406 } 8407 break; 8408 case 0xc4: 8409 GETBYTE (); 8410 switch (op[1] & 0x00) 8411 { 8412 case 0x00: 8413 goto op_semantics_55; 8414 break; 8415 } 8416 break; 8417 case 0xc5: 8418 GETBYTE (); 8419 switch (op[1] & 0x00) 8420 { 8421 case 0x00: 8422 goto op_semantics_55; 8423 break; 8424 } 8425 break; 8426 case 0xc6: 8427 GETBYTE (); 8428 switch (op[1] & 0x00) 8429 { 8430 case 0x00: 8431 goto op_semantics_55; 8432 break; 8433 } 8434 break; 8435 case 0xc7: 8436 GETBYTE (); 8437 switch (op[1] & 0x00) 8438 { 8439 case 0x00: 8440 goto op_semantics_55; 8441 break; 8442 } 8443 break; 8444 case 0xc8: 8445 GETBYTE (); 8446 switch (op[1] & 0x00) 8447 { 8448 case 0x00: 8449 goto op_semantics_55; 8450 break; 8451 } 8452 break; 8453 case 0xc9: 8454 GETBYTE (); 8455 switch (op[1] & 0x00) 8456 { 8457 case 0x00: 8458 goto op_semantics_55; 8459 break; 8460 } 8461 break; 8462 case 0xca: 8463 GETBYTE (); 8464 switch (op[1] & 0x00) 8465 { 8466 case 0x00: 8467 goto op_semantics_55; 8468 break; 8469 } 8470 break; 8471 case 0xcb: 8472 GETBYTE (); 8473 switch (op[1] & 0x00) 8474 { 8475 case 0x00: 8476 goto op_semantics_55; 8477 break; 8478 } 8479 break; 8480 case 0xcc: 8481 GETBYTE (); 8482 switch (op[1] & 0x00) 8483 { 8484 case 0x00: 8485 goto op_semantics_55; 8486 break; 8487 } 8488 break; 8489 case 0xcd: 8490 GETBYTE (); 8491 switch (op[1] & 0x00) 8492 { 8493 case 0x00: 8494 goto op_semantics_55; 8495 break; 8496 } 8497 break; 8498 case 0xce: 8499 GETBYTE (); 8500 switch (op[1] & 0x00) 8501 { 8502 case 0x00: 8503 goto op_semantics_55; 8504 break; 8505 } 8506 break; 8507 case 0xcf: 8508 GETBYTE (); 8509 switch (op[1] & 0x00) 8510 { 8511 case 0x00: 8512 goto op_semantics_55; 8513 break; 8514 } 8515 break; 8516 case 0xd0: 8517 GETBYTE (); 8518 switch (op[1] & 0x00) 8519 { 8520 case 0x00: 8521 goto op_semantics_55; 8522 break; 8523 } 8524 break; 8525 case 0xd1: 8526 GETBYTE (); 8527 switch (op[1] & 0x00) 8528 { 8529 case 0x00: 8530 goto op_semantics_55; 8531 break; 8532 } 8533 break; 8534 case 0xd2: 8535 GETBYTE (); 8536 switch (op[1] & 0x00) 8537 { 8538 case 0x00: 8539 goto op_semantics_55; 8540 break; 8541 } 8542 break; 8543 case 0xd3: 8544 GETBYTE (); 8545 switch (op[1] & 0x00) 8546 { 8547 case 0x00: 8548 goto op_semantics_55; 8549 break; 8550 } 8551 break; 8552 case 0xd4: 8553 GETBYTE (); 8554 switch (op[1] & 0x00) 8555 { 8556 case 0x00: 8557 goto op_semantics_55; 8558 break; 8559 } 8560 break; 8561 case 0xd5: 8562 GETBYTE (); 8563 switch (op[1] & 0x00) 8564 { 8565 case 0x00: 8566 goto op_semantics_55; 8567 break; 8568 } 8569 break; 8570 case 0xd6: 8571 GETBYTE (); 8572 switch (op[1] & 0x00) 8573 { 8574 case 0x00: 8575 goto op_semantics_55; 8576 break; 8577 } 8578 break; 8579 case 0xd7: 8580 GETBYTE (); 8581 switch (op[1] & 0x00) 8582 { 8583 case 0x00: 8584 goto op_semantics_55; 8585 break; 8586 } 8587 break; 8588 case 0xd8: 8589 GETBYTE (); 8590 switch (op[1] & 0x00) 8591 { 8592 case 0x00: 8593 goto op_semantics_55; 8594 break; 8595 } 8596 break; 8597 case 0xd9: 8598 GETBYTE (); 8599 switch (op[1] & 0x00) 8600 { 8601 case 0x00: 8602 goto op_semantics_55; 8603 break; 8604 } 8605 break; 8606 case 0xda: 8607 GETBYTE (); 8608 switch (op[1] & 0x00) 8609 { 8610 case 0x00: 8611 goto op_semantics_55; 8612 break; 8613 } 8614 break; 8615 case 0xdb: 8616 GETBYTE (); 8617 switch (op[1] & 0x00) 8618 { 8619 case 0x00: 8620 goto op_semantics_55; 8621 break; 8622 } 8623 break; 8624 case 0xdc: 8625 GETBYTE (); 8626 switch (op[1] & 0x00) 8627 { 8628 case 0x00: 8629 goto op_semantics_55; 8630 break; 8631 } 8632 break; 8633 case 0xdd: 8634 GETBYTE (); 8635 switch (op[1] & 0x00) 8636 { 8637 case 0x00: 8638 goto op_semantics_55; 8639 break; 8640 } 8641 break; 8642 case 0xde: 8643 GETBYTE (); 8644 switch (op[1] & 0x00) 8645 { 8646 case 0x00: 8647 goto op_semantics_55; 8648 break; 8649 } 8650 break; 8651 case 0xdf: 8652 GETBYTE (); 8653 switch (op[1] & 0x00) 8654 { 8655 case 0x00: 8656 goto op_semantics_55; 8657 break; 8658 } 8659 break; 8660 case 0xe0: 8661 GETBYTE (); 8662 switch (op[1] & 0x00) 8663 { 8664 case 0x00: 8665 goto op_semantics_55; 8666 break; 8667 } 8668 break; 8669 case 0xe1: 8670 GETBYTE (); 8671 switch (op[1] & 0x00) 8672 { 8673 case 0x00: 8674 goto op_semantics_55; 8675 break; 8676 } 8677 break; 8678 case 0xe2: 8679 GETBYTE (); 8680 switch (op[1] & 0x00) 8681 { 8682 case 0x00: 8683 goto op_semantics_55; 8684 break; 8685 } 8686 break; 8687 case 0xe3: 8688 GETBYTE (); 8689 switch (op[1] & 0x00) 8690 { 8691 case 0x00: 8692 goto op_semantics_55; 8693 break; 8694 } 8695 break; 8696 case 0xe4: 8697 GETBYTE (); 8698 switch (op[1] & 0x00) 8699 { 8700 case 0x00: 8701 goto op_semantics_55; 8702 break; 8703 } 8704 break; 8705 case 0xe5: 8706 GETBYTE (); 8707 switch (op[1] & 0x00) 8708 { 8709 case 0x00: 8710 goto op_semantics_55; 8711 break; 8712 } 8713 break; 8714 case 0xe6: 8715 GETBYTE (); 8716 switch (op[1] & 0x00) 8717 { 8718 case 0x00: 8719 goto op_semantics_55; 8720 break; 8721 } 8722 break; 8723 case 0xe7: 8724 GETBYTE (); 8725 switch (op[1] & 0x00) 8726 { 8727 case 0x00: 8728 goto op_semantics_55; 8729 break; 8730 } 8731 break; 8732 case 0xe8: 8733 GETBYTE (); 8734 switch (op[1] & 0x00) 8735 { 8736 case 0x00: 8737 goto op_semantics_55; 8738 break; 8739 } 8740 break; 8741 case 0xe9: 8742 GETBYTE (); 8743 switch (op[1] & 0x00) 8744 { 8745 case 0x00: 8746 goto op_semantics_55; 8747 break; 8748 } 8749 break; 8750 case 0xea: 8751 GETBYTE (); 8752 switch (op[1] & 0x00) 8753 { 8754 case 0x00: 8755 goto op_semantics_55; 8756 break; 8757 } 8758 break; 8759 case 0xeb: 8760 GETBYTE (); 8761 switch (op[1] & 0x00) 8762 { 8763 case 0x00: 8764 goto op_semantics_55; 8765 break; 8766 } 8767 break; 8768 case 0xec: 8769 GETBYTE (); 8770 switch (op[1] & 0x00) 8771 { 8772 case 0x00: 8773 goto op_semantics_55; 8774 break; 8775 } 8776 break; 8777 case 0xed: 8778 GETBYTE (); 8779 switch (op[1] & 0x00) 8780 { 8781 case 0x00: 8782 goto op_semantics_55; 8783 break; 8784 } 8785 break; 8786 case 0xee: 8787 GETBYTE (); 8788 switch (op[1] & 0x00) 8789 { 8790 case 0x00: 8791 goto op_semantics_55; 8792 break; 8793 } 8794 break; 8795 case 0xef: 8796 GETBYTE (); 8797 switch (op[1] & 0x00) 8798 { 8799 case 0x00: 8800 goto op_semantics_55; 8801 break; 8802 } 8803 break; 8804 case 0xf0: 8805 GETBYTE (); 8806 switch (op[1] & 0x08) 8807 { 8808 case 0x00: 8809 op_semantics_56: 8810 { 8811 /** 1111 00sd rdst 0bit bset #%1, %0%S0 */ 8812 #line 960 "rx-decode.opc" 8813 int sd AU = op[0] & 0x03; 8814 #line 960 "rx-decode.opc" 8815 int rdst AU = (op[1] >> 4) & 0x0f; 8816 #line 960 "rx-decode.opc" 8817 int bit AU = op[1] & 0x07; 8818 if (trace) 8819 { 8820 printf ("\033[33m%s\033[0m %02x %02x\n", 8821 "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */", 8822 op[0], op[1]); 8823 printf (" sd = 0x%x,", sd); 8824 printf (" rdst = 0x%x,", rdst); 8825 printf (" bit = 0x%x\n", bit); 8826 } 8827 SYNTAX("bset #%1, %0%S0"); 8828 #line 960 "rx-decode.opc" 8829 ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; 8830 8831 } 8832 break; 8833 case 0x08: 8834 op_semantics_57: 8835 { 8836 /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */ 8837 #line 972 "rx-decode.opc" 8838 int sd AU = op[0] & 0x03; 8839 #line 972 "rx-decode.opc" 8840 int rdst AU = (op[1] >> 4) & 0x0f; 8841 #line 972 "rx-decode.opc" 8842 int bit AU = op[1] & 0x07; 8843 if (trace) 8844 { 8845 printf ("\033[33m%s\033[0m %02x %02x\n", 8846 "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */", 8847 op[0], op[1]); 8848 printf (" sd = 0x%x,", sd); 8849 printf (" rdst = 0x%x,", rdst); 8850 printf (" bit = 0x%x\n", bit); 8851 } 8852 SYNTAX("bclr #%1, %0%S0"); 8853 #line 972 "rx-decode.opc" 8854 ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____; 8855 8856 } 8857 break; 8858 } 8859 break; 8860 case 0xf1: 8861 GETBYTE (); 8862 switch (op[1] & 0x08) 8863 { 8864 case 0x00: 8865 goto op_semantics_56; 8866 break; 8867 case 0x08: 8868 goto op_semantics_57; 8869 break; 8870 } 8871 break; 8872 case 0xf2: 8873 GETBYTE (); 8874 switch (op[1] & 0x08) 8875 { 8876 case 0x00: 8877 goto op_semantics_56; 8878 break; 8879 case 0x08: 8880 goto op_semantics_57; 8881 break; 8882 } 8883 break; 8884 case 0xf3: 8885 GETBYTE (); 8886 switch (op[1] & 0x08) 8887 { 8888 case 0x00: 8889 goto op_semantics_56; 8890 break; 8891 case 0x08: 8892 goto op_semantics_57; 8893 break; 8894 } 8895 break; 8896 case 0xf4: 8897 GETBYTE (); 8898 switch (op[1] & 0x0c) 8899 { 8900 case 0x00: 8901 case 0x04: 8902 op_semantics_58: 8903 { 8904 /** 1111 01sd rdst 0bit btst #%2, %1%S1 */ 8905 #line 984 "rx-decode.opc" 8906 int sd AU = op[0] & 0x03; 8907 #line 984 "rx-decode.opc" 8908 int rdst AU = (op[1] >> 4) & 0x0f; 8909 #line 984 "rx-decode.opc" 8910 int bit AU = op[1] & 0x07; 8911 if (trace) 8912 { 8913 printf ("\033[33m%s\033[0m %02x %02x\n", 8914 "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */", 8915 op[0], op[1]); 8916 printf (" sd = 0x%x,", sd); 8917 printf (" rdst = 0x%x,", rdst); 8918 printf (" bit = 0x%x\n", bit); 8919 } 8920 SYNTAX("btst #%2, %1%S1"); 8921 #line 984 "rx-decode.opc" 8922 ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC; 8923 8924 } 8925 break; 8926 case 0x08: 8927 op_semantics_59: 8928 { 8929 /** 1111 01ss rsrc 10sz push%s %1 */ 8930 #line 402 "rx-decode.opc" 8931 int ss AU = op[0] & 0x03; 8932 #line 402 "rx-decode.opc" 8933 int rsrc AU = (op[1] >> 4) & 0x0f; 8934 #line 402 "rx-decode.opc" 8935 int sz AU = op[1] & 0x03; 8936 if (trace) 8937 { 8938 printf ("\033[33m%s\033[0m %02x %02x\n", 8939 "/** 1111 01ss rsrc 10sz push%s %1 */", 8940 op[0], op[1]); 8941 printf (" ss = 0x%x,", ss); 8942 printf (" rsrc = 0x%x,", rsrc); 8943 printf (" sz = 0x%x\n", sz); 8944 } 8945 SYNTAX("push%s %1"); 8946 #line 402 "rx-decode.opc" 8947 ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____; 8948 8949 /*----------------------------------------------------------------------*/ 8950 /* XCHG */ 8951 8952 } 8953 break; 8954 default: UNSUPPORTED(); break; 8955 } 8956 break; 8957 case 0xf5: 8958 GETBYTE (); 8959 switch (op[1] & 0x0c) 8960 { 8961 case 0x00: 8962 case 0x04: 8963 goto op_semantics_58; 8964 break; 8965 case 0x08: 8966 goto op_semantics_59; 8967 break; 8968 default: UNSUPPORTED(); break; 8969 } 8970 break; 8971 case 0xf6: 8972 GETBYTE (); 8973 switch (op[1] & 0x0c) 8974 { 8975 case 0x00: 8976 case 0x04: 8977 goto op_semantics_58; 8978 break; 8979 case 0x08: 8980 goto op_semantics_59; 8981 break; 8982 default: UNSUPPORTED(); break; 8983 } 8984 break; 8985 case 0xf7: 8986 GETBYTE (); 8987 switch (op[1] & 0x0c) 8988 { 8989 case 0x00: 8990 case 0x04: 8991 goto op_semantics_58; 8992 break; 8993 case 0x08: 8994 goto op_semantics_59; 8995 break; 8996 default: UNSUPPORTED(); break; 8997 } 8998 break; 8999 case 0xf8: 9000 GETBYTE (); 9001 switch (op[1] & 0x00) 9002 { 9003 case 0x00: 9004 op_semantics_60: 9005 { 9006 /** 1111 10sd rdst im sz mov%s #%1, %0 */ 9007 #line 313 "rx-decode.opc" 9008 int sd AU = op[0] & 0x03; 9009 #line 313 "rx-decode.opc" 9010 int rdst AU = (op[1] >> 4) & 0x0f; 9011 #line 313 "rx-decode.opc" 9012 int im AU = (op[1] >> 2) & 0x03; 9013 #line 313 "rx-decode.opc" 9014 int sz AU = op[1] & 0x03; 9015 if (trace) 9016 { 9017 printf ("\033[33m%s\033[0m %02x %02x\n", 9018 "/** 1111 10sd rdst im sz mov%s #%1, %0 */", 9019 op[0], op[1]); 9020 printf (" sd = 0x%x,", sd); 9021 printf (" rdst = 0x%x,", rdst); 9022 printf (" im = 0x%x,", im); 9023 printf (" sz = 0x%x\n", sz); 9024 } 9025 SYNTAX("mov%s #%1, %0"); 9026 #line 313 "rx-decode.opc" 9027 ID(mov); DD(sd, rdst, sz); 9028 if ((im == 1 && sz == 0) 9029 || (im == 2 && sz == 1) 9030 || (im == 0 && sz == 2)) 9031 { 9032 BWL (sz); 9033 SC(IMM(im)); 9034 } 9035 else 9036 { 9037 sBWL (sz); 9038 SC(IMMex(im)); 9039 } 9040 F_____; 9041 9042 } 9043 break; 9044 } 9045 break; 9046 case 0xf9: 9047 GETBYTE (); 9048 switch (op[1] & 0xff) 9049 { 9050 case 0x00: 9051 case 0x01: 9052 case 0x02: 9053 case 0x04: 9054 case 0x05: 9055 case 0x06: 9056 case 0x08: 9057 case 0x09: 9058 case 0x0a: 9059 case 0x0c: 9060 case 0x0d: 9061 case 0x0e: 9062 case 0x10: 9063 case 0x11: 9064 case 0x12: 9065 case 0x14: 9066 case 0x15: 9067 case 0x16: 9068 case 0x18: 9069 case 0x19: 9070 case 0x1a: 9071 case 0x1c: 9072 case 0x1d: 9073 case 0x1e: 9074 case 0x20: 9075 case 0x21: 9076 case 0x22: 9077 case 0x24: 9078 case 0x25: 9079 case 0x26: 9080 case 0x28: 9081 case 0x29: 9082 case 0x2a: 9083 case 0x2c: 9084 case 0x2d: 9085 case 0x2e: 9086 case 0x30: 9087 case 0x31: 9088 case 0x32: 9089 case 0x34: 9090 case 0x35: 9091 case 0x36: 9092 case 0x38: 9093 case 0x39: 9094 case 0x3a: 9095 case 0x3c: 9096 case 0x3d: 9097 case 0x3e: 9098 case 0x40: 9099 case 0x41: 9100 case 0x42: 9101 case 0x44: 9102 case 0x45: 9103 case 0x46: 9104 case 0x48: 9105 case 0x49: 9106 case 0x4a: 9107 case 0x4c: 9108 case 0x4d: 9109 case 0x4e: 9110 case 0x50: 9111 case 0x51: 9112 case 0x52: 9113 case 0x54: 9114 case 0x55: 9115 case 0x56: 9116 case 0x58: 9117 case 0x59: 9118 case 0x5a: 9119 case 0x5c: 9120 case 0x5d: 9121 case 0x5e: 9122 case 0x60: 9123 case 0x61: 9124 case 0x62: 9125 case 0x64: 9126 case 0x65: 9127 case 0x66: 9128 case 0x68: 9129 case 0x69: 9130 case 0x6a: 9131 case 0x6c: 9132 case 0x6d: 9133 case 0x6e: 9134 case 0x70: 9135 case 0x71: 9136 case 0x72: 9137 case 0x74: 9138 case 0x75: 9139 case 0x76: 9140 case 0x78: 9141 case 0x79: 9142 case 0x7a: 9143 case 0x7c: 9144 case 0x7d: 9145 case 0x7e: 9146 case 0x80: 9147 case 0x81: 9148 case 0x82: 9149 case 0x84: 9150 case 0x85: 9151 case 0x86: 9152 case 0x88: 9153 case 0x89: 9154 case 0x8a: 9155 case 0x8c: 9156 case 0x8d: 9157 case 0x8e: 9158 case 0x90: 9159 case 0x91: 9160 case 0x92: 9161 case 0x94: 9162 case 0x95: 9163 case 0x96: 9164 case 0x98: 9165 case 0x99: 9166 case 0x9a: 9167 case 0x9c: 9168 case 0x9d: 9169 case 0x9e: 9170 case 0xa0: 9171 case 0xa1: 9172 case 0xa2: 9173 case 0xa4: 9174 case 0xa5: 9175 case 0xa6: 9176 case 0xa8: 9177 case 0xa9: 9178 case 0xaa: 9179 case 0xac: 9180 case 0xad: 9181 case 0xae: 9182 case 0xb0: 9183 case 0xb1: 9184 case 0xb2: 9185 case 0xb4: 9186 case 0xb5: 9187 case 0xb6: 9188 case 0xb8: 9189 case 0xb9: 9190 case 0xba: 9191 case 0xbc: 9192 case 0xbd: 9193 case 0xbe: 9194 case 0xc0: 9195 case 0xc1: 9196 case 0xc2: 9197 case 0xc4: 9198 case 0xc5: 9199 case 0xc6: 9200 case 0xc8: 9201 case 0xc9: 9202 case 0xca: 9203 case 0xcc: 9204 case 0xcd: 9205 case 0xce: 9206 case 0xd0: 9207 case 0xd1: 9208 case 0xd2: 9209 case 0xd4: 9210 case 0xd5: 9211 case 0xd6: 9212 case 0xd8: 9213 case 0xd9: 9214 case 0xda: 9215 case 0xdc: 9216 case 0xdd: 9217 case 0xde: 9218 case 0xe0: 9219 case 0xe1: 9220 case 0xe2: 9221 case 0xe4: 9222 case 0xe5: 9223 case 0xe6: 9224 case 0xe8: 9225 case 0xe9: 9226 case 0xea: 9227 case 0xec: 9228 case 0xed: 9229 case 0xee: 9230 case 0xf0: 9231 case 0xf1: 9232 case 0xf2: 9233 case 0xf4: 9234 case 0xf5: 9235 case 0xf6: 9236 case 0xf8: 9237 case 0xf9: 9238 case 0xfa: 9239 case 0xfc: 9240 case 0xfd: 9241 case 0xfe: 9242 goto op_semantics_60; 9243 break; 9244 case 0x03: 9245 GETBYTE (); 9246 switch (op[2] & 0x0f) 9247 { 9248 case 0x00: 9249 { 9250 /** 1111 1001 0000 0011 rdst 0000 dmov.l #%1, %0 */ 9251 #line 1211 "rx-decode.opc" 9252 int rdst AU = (op[2] >> 4) & 0x0f; 9253 if (trace) 9254 { 9255 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9256 "/** 1111 1001 0000 0011 rdst 0000 dmov.l #%1, %0 */", 9257 op[0], op[1], op[2]); 9258 printf (" rdst = 0x%x\n", rdst); 9259 } 9260 SYNTAX("dmov.l #%1, %0"); 9261 #line 1211 "rx-decode.opc" 9262 ID(dmov); DDRL(rdst); SC(IMMex(0)); F_____; 9263 9264 } 9265 break; 9266 case 0x02: 9267 case 0x03: 9268 { 9269 /** 1111 1001 0000 0011 rdst 001s dmov%s #%1, %0 */ 9270 #line 1208 "rx-decode.opc" 9271 int rdst AU = (op[2] >> 4) & 0x0f; 9272 #line 1208 "rx-decode.opc" 9273 int s AU = op[2] & 0x01; 9274 if (trace) 9275 { 9276 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9277 "/** 1111 1001 0000 0011 rdst 001s dmov%s #%1, %0 */", 9278 op[0], op[1], op[2]); 9279 printf (" rdst = 0x%x,", rdst); 9280 printf (" s = 0x%x\n", s); 9281 } 9282 SYNTAX("dmov%s #%1, %0"); 9283 #line 1208 "rx-decode.opc" 9284 ID(dmov); DDRH(rdst); DL(s); SC(IMMex(0)); F_____; 9285 9286 } 9287 break; 9288 default: UNSUPPORTED(); break; 9289 } 9290 break; 9291 default: UNSUPPORTED(); break; 9292 } 9293 break; 9294 case 0xfa: 9295 GETBYTE (); 9296 switch (op[1] & 0x00) 9297 { 9298 case 0x00: 9299 goto op_semantics_60; 9300 break; 9301 } 9302 break; 9303 case 0xfb: 9304 GETBYTE (); 9305 switch (op[1] & 0x00) 9306 { 9307 case 0x00: 9308 goto op_semantics_60; 9309 break; 9310 } 9311 break; 9312 case 0xfc: 9313 GETBYTE (); 9314 switch (op[1] & 0xff) 9315 { 9316 case 0x03: 9317 GETBYTE (); 9318 switch (op[2] & 0x00) 9319 { 9320 case 0x00: 9321 { 9322 /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */ 9323 #line 576 "rx-decode.opc" 9324 int rsrc AU = (op[2] >> 4) & 0x0f; 9325 #line 576 "rx-decode.opc" 9326 int rdst AU = op[2] & 0x0f; 9327 if (trace) 9328 { 9329 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9330 "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */", 9331 op[0], op[1], op[2]); 9332 printf (" rsrc = 0x%x,", rsrc); 9333 printf (" rdst = 0x%x\n", rdst); 9334 } 9335 SYNTAX("sbb %1, %0"); 9336 #line 576 "rx-decode.opc" 9337 ID(sbb); SR (rsrc); DR(rdst); F_OSZC; 9338 9339 /* FIXME: only supports .L */ 9340 } 9341 break; 9342 } 9343 break; 9344 case 0x07: 9345 GETBYTE (); 9346 switch (op[2] & 0x00) 9347 { 9348 case 0x00: 9349 { 9350 /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */ 9351 #line 507 "rx-decode.opc" 9352 int rsrc AU = (op[2] >> 4) & 0x0f; 9353 #line 507 "rx-decode.opc" 9354 int rdst AU = op[2] & 0x0f; 9355 if (trace) 9356 { 9357 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9358 "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */", 9359 op[0], op[1], op[2]); 9360 printf (" rsrc = 0x%x,", rsrc); 9361 printf (" rdst = 0x%x\n", rdst); 9362 } 9363 SYNTAX("neg %2, %0"); 9364 #line 507 "rx-decode.opc" 9365 ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC; 9366 9367 /*----------------------------------------------------------------------*/ 9368 /* ADC */ 9369 9370 } 9371 break; 9372 } 9373 break; 9374 case 0x0b: 9375 GETBYTE (); 9376 switch (op[2] & 0x00) 9377 { 9378 case 0x00: 9379 { 9380 /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */ 9381 #line 516 "rx-decode.opc" 9382 int rsrc AU = (op[2] >> 4) & 0x0f; 9383 #line 516 "rx-decode.opc" 9384 int rdst AU = op[2] & 0x0f; 9385 if (trace) 9386 { 9387 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9388 "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */", 9389 op[0], op[1], op[2]); 9390 printf (" rsrc = 0x%x,", rsrc); 9391 printf (" rdst = 0x%x\n", rdst); 9392 } 9393 SYNTAX("adc %1, %0"); 9394 #line 516 "rx-decode.opc" 9395 ID(adc); SR(rsrc); DR(rdst); F_OSZC; 9396 9397 } 9398 break; 9399 } 9400 break; 9401 case 0x0f: 9402 GETBYTE (); 9403 switch (op[2] & 0x00) 9404 { 9405 case 0x00: 9406 { 9407 /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */ 9408 #line 589 "rx-decode.opc" 9409 int rsrc AU = (op[2] >> 4) & 0x0f; 9410 #line 589 "rx-decode.opc" 9411 int rdst AU = op[2] & 0x0f; 9412 if (trace) 9413 { 9414 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9415 "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */", 9416 op[0], op[1], op[2]); 9417 printf (" rsrc = 0x%x,", rsrc); 9418 printf (" rdst = 0x%x\n", rdst); 9419 } 9420 SYNTAX("abs %1, %0"); 9421 #line 589 "rx-decode.opc" 9422 ID(abs); DR(rdst); SR(rsrc); F_OSZ_; 9423 9424 /*----------------------------------------------------------------------*/ 9425 /* MAX */ 9426 9427 } 9428 break; 9429 } 9430 break; 9431 case 0x10: 9432 GETBYTE (); 9433 switch (op[2] & 0x00) 9434 { 9435 case 0x00: 9436 op_semantics_61: 9437 { 9438 /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */ 9439 #line 608 "rx-decode.opc" 9440 int ss AU = op[1] & 0x03; 9441 #line 608 "rx-decode.opc" 9442 int rsrc AU = (op[2] >> 4) & 0x0f; 9443 #line 608 "rx-decode.opc" 9444 int rdst AU = op[2] & 0x0f; 9445 if (trace) 9446 { 9447 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9448 "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */", 9449 op[0], op[1], op[2]); 9450 printf (" ss = 0x%x,", ss); 9451 printf (" rsrc = 0x%x,", rsrc); 9452 printf (" rdst = 0x%x\n", rdst); 9453 } 9454 SYNTAX("max %1%S1, %0"); 9455 #line 608 "rx-decode.opc" 9456 if (ss == 3 && rsrc == 0 && rdst == 0) 9457 { 9458 ID(nop3); 9459 SYNTAX("nop\t; max\tr0, r0"); 9460 } 9461 else 9462 { 9463 ID(max); SP(ss, rsrc); DR(rdst); 9464 } 9465 9466 } 9467 break; 9468 } 9469 break; 9470 case 0x11: 9471 GETBYTE (); 9472 switch (op[2] & 0x00) 9473 { 9474 case 0x00: 9475 goto op_semantics_61; 9476 break; 9477 } 9478 break; 9479 case 0x12: 9480 GETBYTE (); 9481 switch (op[2] & 0x00) 9482 { 9483 case 0x00: 9484 goto op_semantics_61; 9485 break; 9486 } 9487 break; 9488 case 0x13: 9489 GETBYTE (); 9490 switch (op[2] & 0x00) 9491 { 9492 case 0x00: 9493 goto op_semantics_61; 9494 break; 9495 } 9496 break; 9497 case 0x14: 9498 GETBYTE (); 9499 switch (op[2] & 0x00) 9500 { 9501 case 0x00: 9502 op_semantics_62: 9503 { 9504 /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */ 9505 #line 628 "rx-decode.opc" 9506 int ss AU = op[1] & 0x03; 9507 #line 628 "rx-decode.opc" 9508 int rsrc AU = (op[2] >> 4) & 0x0f; 9509 #line 628 "rx-decode.opc" 9510 int rdst AU = op[2] & 0x0f; 9511 if (trace) 9512 { 9513 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9514 "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */", 9515 op[0], op[1], op[2]); 9516 printf (" ss = 0x%x,", ss); 9517 printf (" rsrc = 0x%x,", rsrc); 9518 printf (" rdst = 0x%x\n", rdst); 9519 } 9520 SYNTAX("min %1%S1, %0"); 9521 #line 628 "rx-decode.opc" 9522 ID(min); SP(ss, rsrc); DR(rdst); 9523 9524 } 9525 break; 9526 } 9527 break; 9528 case 0x15: 9529 GETBYTE (); 9530 switch (op[2] & 0x00) 9531 { 9532 case 0x00: 9533 goto op_semantics_62; 9534 break; 9535 } 9536 break; 9537 case 0x16: 9538 GETBYTE (); 9539 switch (op[2] & 0x00) 9540 { 9541 case 0x00: 9542 goto op_semantics_62; 9543 break; 9544 } 9545 break; 9546 case 0x17: 9547 GETBYTE (); 9548 switch (op[2] & 0x00) 9549 { 9550 case 0x00: 9551 goto op_semantics_62; 9552 break; 9553 } 9554 break; 9555 case 0x18: 9556 GETBYTE (); 9557 switch (op[2] & 0x00) 9558 { 9559 case 0x00: 9560 op_semantics_63: 9561 { 9562 /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */ 9563 #line 686 "rx-decode.opc" 9564 int ss AU = op[1] & 0x03; 9565 #line 686 "rx-decode.opc" 9566 int rsrc AU = (op[2] >> 4) & 0x0f; 9567 #line 686 "rx-decode.opc" 9568 int rdst AU = op[2] & 0x0f; 9569 if (trace) 9570 { 9571 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9572 "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */", 9573 op[0], op[1], op[2]); 9574 printf (" ss = 0x%x,", ss); 9575 printf (" rsrc = 0x%x,", rsrc); 9576 printf (" rdst = 0x%x\n", rdst); 9577 } 9578 SYNTAX("emul %1%S1, %0"); 9579 #line 686 "rx-decode.opc" 9580 ID(emul); SP(ss, rsrc); DR(rdst); 9581 9582 } 9583 break; 9584 } 9585 break; 9586 case 0x19: 9587 GETBYTE (); 9588 switch (op[2] & 0x00) 9589 { 9590 case 0x00: 9591 goto op_semantics_63; 9592 break; 9593 } 9594 break; 9595 case 0x1a: 9596 GETBYTE (); 9597 switch (op[2] & 0x00) 9598 { 9599 case 0x00: 9600 goto op_semantics_63; 9601 break; 9602 } 9603 break; 9604 case 0x1b: 9605 GETBYTE (); 9606 switch (op[2] & 0x00) 9607 { 9608 case 0x00: 9609 goto op_semantics_63; 9610 break; 9611 } 9612 break; 9613 case 0x1c: 9614 GETBYTE (); 9615 switch (op[2] & 0x00) 9616 { 9617 case 0x00: 9618 op_semantics_64: 9619 { 9620 /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */ 9621 #line 698 "rx-decode.opc" 9622 int ss AU = op[1] & 0x03; 9623 #line 698 "rx-decode.opc" 9624 int rsrc AU = (op[2] >> 4) & 0x0f; 9625 #line 698 "rx-decode.opc" 9626 int rdst AU = op[2] & 0x0f; 9627 if (trace) 9628 { 9629 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9630 "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */", 9631 op[0], op[1], op[2]); 9632 printf (" ss = 0x%x,", ss); 9633 printf (" rsrc = 0x%x,", rsrc); 9634 printf (" rdst = 0x%x\n", rdst); 9635 } 9636 SYNTAX("emulu %1%S1, %0"); 9637 #line 698 "rx-decode.opc" 9638 ID(emulu); SP(ss, rsrc); DR(rdst); 9639 9640 } 9641 break; 9642 } 9643 break; 9644 case 0x1d: 9645 GETBYTE (); 9646 switch (op[2] & 0x00) 9647 { 9648 case 0x00: 9649 goto op_semantics_64; 9650 break; 9651 } 9652 break; 9653 case 0x1e: 9654 GETBYTE (); 9655 switch (op[2] & 0x00) 9656 { 9657 case 0x00: 9658 goto op_semantics_64; 9659 break; 9660 } 9661 break; 9662 case 0x1f: 9663 GETBYTE (); 9664 switch (op[2] & 0x00) 9665 { 9666 case 0x00: 9667 goto op_semantics_64; 9668 break; 9669 } 9670 break; 9671 case 0x20: 9672 GETBYTE (); 9673 switch (op[2] & 0x00) 9674 { 9675 case 0x00: 9676 op_semantics_65: 9677 { 9678 /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */ 9679 #line 710 "rx-decode.opc" 9680 int ss AU = op[1] & 0x03; 9681 #line 710 "rx-decode.opc" 9682 int rsrc AU = (op[2] >> 4) & 0x0f; 9683 #line 710 "rx-decode.opc" 9684 int rdst AU = op[2] & 0x0f; 9685 if (trace) 9686 { 9687 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9688 "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */", 9689 op[0], op[1], op[2]); 9690 printf (" ss = 0x%x,", ss); 9691 printf (" rsrc = 0x%x,", rsrc); 9692 printf (" rdst = 0x%x\n", rdst); 9693 } 9694 SYNTAX("div %1%S1, %0"); 9695 #line 710 "rx-decode.opc" 9696 ID(div); SP(ss, rsrc); DR(rdst); F_O___; 9697 9698 } 9699 break; 9700 } 9701 break; 9702 case 0x21: 9703 GETBYTE (); 9704 switch (op[2] & 0x00) 9705 { 9706 case 0x00: 9707 goto op_semantics_65; 9708 break; 9709 } 9710 break; 9711 case 0x22: 9712 GETBYTE (); 9713 switch (op[2] & 0x00) 9714 { 9715 case 0x00: 9716 goto op_semantics_65; 9717 break; 9718 } 9719 break; 9720 case 0x23: 9721 GETBYTE (); 9722 switch (op[2] & 0x00) 9723 { 9724 case 0x00: 9725 goto op_semantics_65; 9726 break; 9727 } 9728 break; 9729 case 0x24: 9730 GETBYTE (); 9731 switch (op[2] & 0x00) 9732 { 9733 case 0x00: 9734 op_semantics_66: 9735 { 9736 /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */ 9737 #line 722 "rx-decode.opc" 9738 int ss AU = op[1] & 0x03; 9739 #line 722 "rx-decode.opc" 9740 int rsrc AU = (op[2] >> 4) & 0x0f; 9741 #line 722 "rx-decode.opc" 9742 int rdst AU = op[2] & 0x0f; 9743 if (trace) 9744 { 9745 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9746 "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */", 9747 op[0], op[1], op[2]); 9748 printf (" ss = 0x%x,", ss); 9749 printf (" rsrc = 0x%x,", rsrc); 9750 printf (" rdst = 0x%x\n", rdst); 9751 } 9752 SYNTAX("divu %1%S1, %0"); 9753 #line 722 "rx-decode.opc" 9754 ID(divu); SP(ss, rsrc); DR(rdst); F_O___; 9755 9756 } 9757 break; 9758 } 9759 break; 9760 case 0x25: 9761 GETBYTE (); 9762 switch (op[2] & 0x00) 9763 { 9764 case 0x00: 9765 goto op_semantics_66; 9766 break; 9767 } 9768 break; 9769 case 0x26: 9770 GETBYTE (); 9771 switch (op[2] & 0x00) 9772 { 9773 case 0x00: 9774 goto op_semantics_66; 9775 break; 9776 } 9777 break; 9778 case 0x27: 9779 GETBYTE (); 9780 switch (op[2] & 0x00) 9781 { 9782 case 0x00: 9783 goto op_semantics_66; 9784 break; 9785 } 9786 break; 9787 case 0x30: 9788 GETBYTE (); 9789 switch (op[2] & 0x00) 9790 { 9791 case 0x00: 9792 op_semantics_67: 9793 { 9794 /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */ 9795 #line 495 "rx-decode.opc" 9796 int ss AU = op[1] & 0x03; 9797 #line 495 "rx-decode.opc" 9798 int rsrc AU = (op[2] >> 4) & 0x0f; 9799 #line 495 "rx-decode.opc" 9800 int rdst AU = op[2] & 0x0f; 9801 if (trace) 9802 { 9803 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9804 "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */", 9805 op[0], op[1], op[2]); 9806 printf (" ss = 0x%x,", ss); 9807 printf (" rsrc = 0x%x,", rsrc); 9808 printf (" rdst = 0x%x\n", rdst); 9809 } 9810 SYNTAX("tst %1%S1, %2"); 9811 #line 495 "rx-decode.opc" 9812 ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_; 9813 9814 } 9815 break; 9816 } 9817 break; 9818 case 0x31: 9819 GETBYTE (); 9820 switch (op[2] & 0x00) 9821 { 9822 case 0x00: 9823 goto op_semantics_67; 9824 break; 9825 } 9826 break; 9827 case 0x32: 9828 GETBYTE (); 9829 switch (op[2] & 0x00) 9830 { 9831 case 0x00: 9832 goto op_semantics_67; 9833 break; 9834 } 9835 break; 9836 case 0x33: 9837 GETBYTE (); 9838 switch (op[2] & 0x00) 9839 { 9840 case 0x00: 9841 goto op_semantics_67; 9842 break; 9843 } 9844 break; 9845 case 0x34: 9846 GETBYTE (); 9847 switch (op[2] & 0x00) 9848 { 9849 case 0x00: 9850 op_semantics_68: 9851 { 9852 /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */ 9853 #line 474 "rx-decode.opc" 9854 int ss AU = op[1] & 0x03; 9855 #line 474 "rx-decode.opc" 9856 int rsrc AU = (op[2] >> 4) & 0x0f; 9857 #line 474 "rx-decode.opc" 9858 int rdst AU = op[2] & 0x0f; 9859 if (trace) 9860 { 9861 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9862 "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */", 9863 op[0], op[1], op[2]); 9864 printf (" ss = 0x%x,", ss); 9865 printf (" rsrc = 0x%x,", rsrc); 9866 printf (" rdst = 0x%x\n", rdst); 9867 } 9868 SYNTAX("xor %1%S1, %0"); 9869 #line 474 "rx-decode.opc" 9870 ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_; 9871 9872 } 9873 break; 9874 } 9875 break; 9876 case 0x35: 9877 GETBYTE (); 9878 switch (op[2] & 0x00) 9879 { 9880 case 0x00: 9881 goto op_semantics_68; 9882 break; 9883 } 9884 break; 9885 case 0x36: 9886 GETBYTE (); 9887 switch (op[2] & 0x00) 9888 { 9889 case 0x00: 9890 goto op_semantics_68; 9891 break; 9892 } 9893 break; 9894 case 0x37: 9895 GETBYTE (); 9896 switch (op[2] & 0x00) 9897 { 9898 case 0x00: 9899 goto op_semantics_68; 9900 break; 9901 } 9902 break; 9903 case 0x3b: 9904 GETBYTE (); 9905 switch (op[2] & 0x00) 9906 { 9907 case 0x00: 9908 { 9909 /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */ 9910 #line 486 "rx-decode.opc" 9911 int rsrc AU = (op[2] >> 4) & 0x0f; 9912 #line 486 "rx-decode.opc" 9913 int rdst AU = op[2] & 0x0f; 9914 if (trace) 9915 { 9916 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9917 "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */", 9918 op[0], op[1], op[2]); 9919 printf (" rsrc = 0x%x,", rsrc); 9920 printf (" rdst = 0x%x\n", rdst); 9921 } 9922 SYNTAX("not %1, %0"); 9923 #line 486 "rx-decode.opc" 9924 ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_; 9925 9926 /*----------------------------------------------------------------------*/ 9927 /* TST */ 9928 9929 } 9930 break; 9931 } 9932 break; 9933 case 0x40: 9934 GETBYTE (); 9935 switch (op[2] & 0x00) 9936 { 9937 case 0x00: 9938 op_semantics_69: 9939 { 9940 /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */ 9941 #line 408 "rx-decode.opc" 9942 int ss AU = op[1] & 0x03; 9943 #line 408 "rx-decode.opc" 9944 int rsrc AU = (op[2] >> 4) & 0x0f; 9945 #line 408 "rx-decode.opc" 9946 int rdst AU = op[2] & 0x0f; 9947 if (trace) 9948 { 9949 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 9950 "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */", 9951 op[0], op[1], op[2]); 9952 printf (" ss = 0x%x,", ss); 9953 printf (" rsrc = 0x%x,", rsrc); 9954 printf (" rdst = 0x%x\n", rdst); 9955 } 9956 SYNTAX("xchg %1%S1, %0"); 9957 #line 408 "rx-decode.opc" 9958 ID(xchg); DR(rdst); SP(ss, rsrc); 9959 9960 } 9961 break; 9962 } 9963 break; 9964 case 0x41: 9965 GETBYTE (); 9966 switch (op[2] & 0x00) 9967 { 9968 case 0x00: 9969 goto op_semantics_69; 9970 break; 9971 } 9972 break; 9973 case 0x42: 9974 GETBYTE (); 9975 switch (op[2] & 0x00) 9976 { 9977 case 0x00: 9978 goto op_semantics_69; 9979 break; 9980 } 9981 break; 9982 case 0x43: 9983 GETBYTE (); 9984 switch (op[2] & 0x00) 9985 { 9986 case 0x00: 9987 goto op_semantics_69; 9988 break; 9989 } 9990 break; 9991 case 0x44: 9992 GETBYTE (); 9993 switch (op[2] & 0x00) 9994 { 9995 case 0x00: 9996 op_semantics_70: 9997 { 9998 /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */ 9999 #line 951 "rx-decode.opc" 10000 int sd AU = op[1] & 0x03; 10001 #line 951 "rx-decode.opc" 10002 int rsrc AU = (op[2] >> 4) & 0x0f; 10003 #line 951 "rx-decode.opc" 10004 int rdst AU = op[2] & 0x0f; 10005 if (trace) 10006 { 10007 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10008 "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */", 10009 op[0], op[1], op[2]); 10010 printf (" sd = 0x%x,", sd); 10011 printf (" rsrc = 0x%x,", rsrc); 10012 printf (" rdst = 0x%x\n", rdst); 10013 } 10014 SYNTAX("itof %1%S1, %0"); 10015 #line 951 "rx-decode.opc" 10016 ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_; 10017 10018 } 10019 break; 10020 } 10021 break; 10022 case 0x45: 10023 GETBYTE (); 10024 switch (op[2] & 0x00) 10025 { 10026 case 0x00: 10027 goto op_semantics_70; 10028 break; 10029 } 10030 break; 10031 case 0x46: 10032 GETBYTE (); 10033 switch (op[2] & 0x00) 10034 { 10035 case 0x00: 10036 goto op_semantics_70; 10037 break; 10038 } 10039 break; 10040 case 0x47: 10041 GETBYTE (); 10042 switch (op[2] & 0x00) 10043 { 10044 case 0x00: 10045 goto op_semantics_70; 10046 break; 10047 } 10048 break; 10049 case 0x4b: 10050 GETBYTE (); 10051 switch (op[2] & 0x00) 10052 { 10053 case 0x00: 10054 { 10055 /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */ 10056 #line 1077 "rx-decode.opc" 10057 int rsrc AU = (op[2] >> 4) & 0x0f; 10058 #line 1077 "rx-decode.opc" 10059 int rdst AU = op[2] & 0x0f; 10060 if (trace) 10061 { 10062 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10063 "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */", 10064 op[0], op[1], op[2]); 10065 printf (" rsrc = 0x%x,", rsrc); 10066 printf (" rdst = 0x%x\n", rdst); 10067 } 10068 SYNTAX("stz %1, %0"); 10069 #line 1077 "rx-decode.opc" 10070 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z); 10071 10072 } 10073 break; 10074 } 10075 break; 10076 case 0x4f: 10077 GETBYTE (); 10078 switch (op[2] & 0x00) 10079 { 10080 case 0x00: 10081 { 10082 /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */ 10083 #line 1080 "rx-decode.opc" 10084 int rsrc AU = (op[2] >> 4) & 0x0f; 10085 #line 1080 "rx-decode.opc" 10086 int rdst AU = op[2] & 0x0f; 10087 if (trace) 10088 { 10089 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10090 "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */", 10091 op[0], op[1], op[2]); 10092 printf (" rsrc = 0x%x,", rsrc); 10093 printf (" rdst = 0x%x\n", rdst); 10094 } 10095 SYNTAX("stnz %1, %0"); 10096 #line 1080 "rx-decode.opc" 10097 ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz); 10098 10099 } 10100 break; 10101 } 10102 break; 10103 case 0x54: 10104 GETBYTE (); 10105 switch (op[2] & 0x00) 10106 { 10107 case 0x00: 10108 op_semantics_71: 10109 { 10110 /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */ 10111 #line 1137 "rx-decode.opc" 10112 int sd AU = op[1] & 0x03; 10113 #line 1137 "rx-decode.opc" 10114 int rsrc AU = (op[2] >> 4) & 0x0f; 10115 #line 1137 "rx-decode.opc" 10116 int rdst AU = op[2] & 0x0f; 10117 if (trace) 10118 { 10119 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10120 "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */", 10121 op[0], op[1], op[2]); 10122 printf (" sd = 0x%x,", sd); 10123 printf (" rsrc = 0x%x,", rsrc); 10124 printf (" rdst = 0x%x\n", rdst); 10125 } 10126 SYNTAX("utof %1%S1, %0"); 10127 #line 1137 "rx-decode.opc" 10128 ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_; 10129 10130 } 10131 break; 10132 } 10133 break; 10134 case 0x55: 10135 GETBYTE (); 10136 switch (op[2] & 0x00) 10137 { 10138 case 0x00: 10139 goto op_semantics_71; 10140 break; 10141 } 10142 break; 10143 case 0x56: 10144 GETBYTE (); 10145 switch (op[2] & 0x00) 10146 { 10147 case 0x00: 10148 goto op_semantics_71; 10149 break; 10150 } 10151 break; 10152 case 0x57: 10153 GETBYTE (); 10154 switch (op[2] & 0x00) 10155 { 10156 case 0x00: 10157 goto op_semantics_71; 10158 break; 10159 } 10160 break; 10161 case 0x5a: 10162 GETBYTE (); 10163 switch (op[2] & 0x00) 10164 { 10165 case 0x00: 10166 { 10167 /** 1111 1100 0101 1010 rsrc rdst bfmovz %bf */ 10168 #line 1152 "rx-decode.opc" 10169 int rsrc AU = (op[2] >> 4) & 0x0f; 10170 #line 1152 "rx-decode.opc" 10171 int rdst AU = op[2] & 0x0f; 10172 if (trace) 10173 { 10174 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10175 "/** 1111 1100 0101 1010 rsrc rdst bfmovz %bf */", 10176 op[0], op[1], op[2]); 10177 printf (" rsrc = 0x%x,", rsrc); 10178 printf (" rdst = 0x%x\n", rdst); 10179 } 10180 SYNTAX("bfmovz %bf"); 10181 #line 1152 "rx-decode.opc" 10182 ID(bfmovz); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____; 10183 10184 } 10185 break; 10186 } 10187 break; 10188 case 0x5e: 10189 GETBYTE (); 10190 switch (op[2] & 0x00) 10191 { 10192 case 0x00: 10193 { 10194 /** 1111 1100 0101 1110 rsrc rdst bfmov %bf */ 10195 #line 1149 "rx-decode.opc" 10196 int rsrc AU = (op[2] >> 4) & 0x0f; 10197 #line 1149 "rx-decode.opc" 10198 int rdst AU = op[2] & 0x0f; 10199 if (trace) 10200 { 10201 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10202 "/** 1111 1100 0101 1110 rsrc rdst bfmov %bf */", 10203 op[0], op[1], op[2]); 10204 printf (" rsrc = 0x%x,", rsrc); 10205 printf (" rdst = 0x%x\n", rdst); 10206 } 10207 SYNTAX("bfmov %bf"); 10208 #line 1149 "rx-decode.opc" 10209 ID(bfmov); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____; 10210 10211 } 10212 break; 10213 } 10214 break; 10215 case 0x60: 10216 GETBYTE (); 10217 switch (op[2] & 0x00) 10218 { 10219 case 0x00: 10220 op_semantics_72: 10221 { 10222 /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */ 10223 #line 963 "rx-decode.opc" 10224 int sd AU = op[1] & 0x03; 10225 #line 963 "rx-decode.opc" 10226 int rdst AU = (op[2] >> 4) & 0x0f; 10227 #line 963 "rx-decode.opc" 10228 int rsrc AU = op[2] & 0x0f; 10229 if (trace) 10230 { 10231 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10232 "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */", 10233 op[0], op[1], op[2]); 10234 printf (" sd = 0x%x,", sd); 10235 printf (" rdst = 0x%x,", rdst); 10236 printf (" rsrc = 0x%x\n", rsrc); 10237 } 10238 SYNTAX("bset %1, %0%S0"); 10239 #line 963 "rx-decode.opc" 10240 ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; 10241 if (sd == 3) /* bset reg,reg */ 10242 BWL(LSIZE); 10243 10244 } 10245 break; 10246 } 10247 break; 10248 case 0x61: 10249 GETBYTE (); 10250 switch (op[2] & 0x00) 10251 { 10252 case 0x00: 10253 goto op_semantics_72; 10254 break; 10255 } 10256 break; 10257 case 0x62: 10258 GETBYTE (); 10259 switch (op[2] & 0x00) 10260 { 10261 case 0x00: 10262 goto op_semantics_72; 10263 break; 10264 } 10265 break; 10266 case 0x63: 10267 GETBYTE (); 10268 switch (op[2] & 0x00) 10269 { 10270 case 0x00: 10271 goto op_semantics_72; 10272 break; 10273 } 10274 break; 10275 case 0x64: 10276 GETBYTE (); 10277 switch (op[2] & 0x00) 10278 { 10279 case 0x00: 10280 op_semantics_73: 10281 { 10282 /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */ 10283 #line 975 "rx-decode.opc" 10284 int sd AU = op[1] & 0x03; 10285 #line 975 "rx-decode.opc" 10286 int rdst AU = (op[2] >> 4) & 0x0f; 10287 #line 975 "rx-decode.opc" 10288 int rsrc AU = op[2] & 0x0f; 10289 if (trace) 10290 { 10291 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10292 "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */", 10293 op[0], op[1], op[2]); 10294 printf (" sd = 0x%x,", sd); 10295 printf (" rdst = 0x%x,", rdst); 10296 printf (" rsrc = 0x%x\n", rsrc); 10297 } 10298 SYNTAX("bclr %1, %0%S0"); 10299 #line 975 "rx-decode.opc" 10300 ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____; 10301 if (sd == 3) /* bset reg,reg */ 10302 BWL(LSIZE); 10303 10304 } 10305 break; 10306 } 10307 break; 10308 case 0x65: 10309 GETBYTE (); 10310 switch (op[2] & 0x00) 10311 { 10312 case 0x00: 10313 goto op_semantics_73; 10314 break; 10315 } 10316 break; 10317 case 0x66: 10318 GETBYTE (); 10319 switch (op[2] & 0x00) 10320 { 10321 case 0x00: 10322 goto op_semantics_73; 10323 break; 10324 } 10325 break; 10326 case 0x67: 10327 GETBYTE (); 10328 switch (op[2] & 0x00) 10329 { 10330 case 0x00: 10331 goto op_semantics_73; 10332 break; 10333 } 10334 break; 10335 case 0x68: 10336 GETBYTE (); 10337 switch (op[2] & 0x00) 10338 { 10339 case 0x00: 10340 op_semantics_74: 10341 { 10342 /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */ 10343 #line 987 "rx-decode.opc" 10344 int sd AU = op[1] & 0x03; 10345 #line 987 "rx-decode.opc" 10346 int rdst AU = (op[2] >> 4) & 0x0f; 10347 #line 987 "rx-decode.opc" 10348 int rsrc AU = op[2] & 0x0f; 10349 if (trace) 10350 { 10351 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10352 "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */", 10353 op[0], op[1], op[2]); 10354 printf (" sd = 0x%x,", sd); 10355 printf (" rdst = 0x%x,", rdst); 10356 printf (" rsrc = 0x%x\n", rsrc); 10357 } 10358 SYNTAX("btst %2, %1%S1"); 10359 #line 987 "rx-decode.opc" 10360 ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC; 10361 if (sd == 3) /* bset reg,reg */ 10362 BWL(LSIZE); 10363 10364 } 10365 break; 10366 } 10367 break; 10368 case 0x69: 10369 GETBYTE (); 10370 switch (op[2] & 0x00) 10371 { 10372 case 0x00: 10373 goto op_semantics_74; 10374 break; 10375 } 10376 break; 10377 case 0x6a: 10378 GETBYTE (); 10379 switch (op[2] & 0x00) 10380 { 10381 case 0x00: 10382 goto op_semantics_74; 10383 break; 10384 } 10385 break; 10386 case 0x6b: 10387 GETBYTE (); 10388 switch (op[2] & 0x00) 10389 { 10390 case 0x00: 10391 goto op_semantics_74; 10392 break; 10393 } 10394 break; 10395 case 0x6c: 10396 GETBYTE (); 10397 switch (op[2] & 0x00) 10398 { 10399 case 0x00: 10400 op_semantics_75: 10401 { 10402 /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */ 10403 #line 999 "rx-decode.opc" 10404 int sd AU = op[1] & 0x03; 10405 #line 999 "rx-decode.opc" 10406 int rdst AU = (op[2] >> 4) & 0x0f; 10407 #line 999 "rx-decode.opc" 10408 int rsrc AU = op[2] & 0x0f; 10409 if (trace) 10410 { 10411 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10412 "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */", 10413 op[0], op[1], op[2]); 10414 printf (" sd = 0x%x,", sd); 10415 printf (" rdst = 0x%x,", rdst); 10416 printf (" rsrc = 0x%x\n", rsrc); 10417 } 10418 SYNTAX("bnot %1, %0%S0"); 10419 #line 999 "rx-decode.opc" 10420 ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); 10421 if (sd == 3) /* bset reg,reg */ 10422 BWL(LSIZE); 10423 10424 } 10425 break; 10426 } 10427 break; 10428 case 0x6d: 10429 GETBYTE (); 10430 switch (op[2] & 0x00) 10431 { 10432 case 0x00: 10433 goto op_semantics_75; 10434 break; 10435 } 10436 break; 10437 case 0x6e: 10438 GETBYTE (); 10439 switch (op[2] & 0x00) 10440 { 10441 case 0x00: 10442 goto op_semantics_75; 10443 break; 10444 } 10445 break; 10446 case 0x6f: 10447 GETBYTE (); 10448 switch (op[2] & 0x00) 10449 { 10450 case 0x00: 10451 goto op_semantics_75; 10452 break; 10453 } 10454 break; 10455 case 0x78: 10456 GETBYTE (); 10457 switch (op[2] & 0x0f) 10458 { 10459 case 0x08: 10460 op_semantics_76: 10461 { 10462 /** 1111 1100 0111 10sz rdst 1000 dmov.d %1, %0 */ 10463 #line 1185 "rx-decode.opc" 10464 int sz AU = op[1] & 0x03; 10465 #line 1185 "rx-decode.opc" 10466 int rdst AU = (op[2] >> 4) & 0x0f; 10467 if (trace) 10468 { 10469 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10470 "/** 1111 1100 0111 10sz rdst 1000 dmov.d %1, %0 */", 10471 op[0], op[1], op[2]); 10472 printf (" sz = 0x%x,", sz); 10473 printf (" rdst = 0x%x\n", rdst); 10474 } 10475 SYNTAX("dmov.d %1, %0"); 10476 #line 1185 "rx-decode.opc" 10477 int rsrc; 10478 rx_disp(0, sz, rdst, RX_Double, ld); 10479 rsrc = GETBYTE(); 10480 if (rsrc & 0x0f) 10481 UNSUPPORTED(); 10482 else { 10483 ID(dmov); SDR(rsrc >> 4); F_____; 10484 } 10485 10486 } 10487 break; 10488 default: UNSUPPORTED(); break; 10489 } 10490 break; 10491 case 0x79: 10492 GETBYTE (); 10493 switch (op[2] & 0x0f) 10494 { 10495 case 0x08: 10496 goto op_semantics_76; 10497 break; 10498 default: UNSUPPORTED(); break; 10499 } 10500 break; 10501 case 0x7a: 10502 GETBYTE (); 10503 switch (op[2] & 0x0f) 10504 { 10505 case 0x08: 10506 goto op_semantics_76; 10507 break; 10508 default: UNSUPPORTED(); break; 10509 } 10510 break; 10511 case 0x80: 10512 GETBYTE (); 10513 switch (op[2] & 0x00) 10514 { 10515 case 0x00: 10516 op_semantics_77: 10517 { 10518 /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */ 10519 #line 930 "rx-decode.opc" 10520 int sd AU = op[1] & 0x03; 10521 #line 930 "rx-decode.opc" 10522 int rsrc AU = (op[2] >> 4) & 0x0f; 10523 #line 930 "rx-decode.opc" 10524 int rdst AU = op[2] & 0x0f; 10525 if (trace) 10526 { 10527 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10528 "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */", 10529 op[0], op[1], op[2]); 10530 printf (" sd = 0x%x,", sd); 10531 printf (" rsrc = 0x%x,", rsrc); 10532 printf (" rdst = 0x%x\n", rdst); 10533 } 10534 SYNTAX("fsub %1%S1, %0"); 10535 #line 930 "rx-decode.opc" 10536 ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10537 10538 } 10539 break; 10540 } 10541 break; 10542 case 0x81: 10543 GETBYTE (); 10544 switch (op[2] & 0x00) 10545 { 10546 case 0x00: 10547 goto op_semantics_77; 10548 break; 10549 } 10550 break; 10551 case 0x82: 10552 GETBYTE (); 10553 switch (op[2] & 0x00) 10554 { 10555 case 0x00: 10556 goto op_semantics_77; 10557 break; 10558 } 10559 break; 10560 case 0x83: 10561 GETBYTE (); 10562 switch (op[2] & 0x00) 10563 { 10564 case 0x00: 10565 goto op_semantics_77; 10566 break; 10567 } 10568 break; 10569 case 0x84: 10570 GETBYTE (); 10571 switch (op[2] & 0x00) 10572 { 10573 case 0x00: 10574 op_semantics_78: 10575 { 10576 /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */ 10577 #line 924 "rx-decode.opc" 10578 int sd AU = op[1] & 0x03; 10579 #line 924 "rx-decode.opc" 10580 int rsrc AU = (op[2] >> 4) & 0x0f; 10581 #line 924 "rx-decode.opc" 10582 int rdst AU = op[2] & 0x0f; 10583 if (trace) 10584 { 10585 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10586 "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */", 10587 op[0], op[1], op[2]); 10588 printf (" sd = 0x%x,", sd); 10589 printf (" rsrc = 0x%x,", rsrc); 10590 printf (" rdst = 0x%x\n", rdst); 10591 } 10592 SYNTAX("fcmp %1%S1, %0"); 10593 #line 924 "rx-decode.opc" 10594 ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_; 10595 10596 } 10597 break; 10598 } 10599 break; 10600 case 0x85: 10601 GETBYTE (); 10602 switch (op[2] & 0x00) 10603 { 10604 case 0x00: 10605 goto op_semantics_78; 10606 break; 10607 } 10608 break; 10609 case 0x86: 10610 GETBYTE (); 10611 switch (op[2] & 0x00) 10612 { 10613 case 0x00: 10614 goto op_semantics_78; 10615 break; 10616 } 10617 break; 10618 case 0x87: 10619 GETBYTE (); 10620 switch (op[2] & 0x00) 10621 { 10622 case 0x00: 10623 goto op_semantics_78; 10624 break; 10625 } 10626 break; 10627 case 0x88: 10628 GETBYTE (); 10629 switch (op[2] & 0x00) 10630 { 10631 case 0x00: 10632 op_semantics_79: 10633 { 10634 /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */ 10635 #line 918 "rx-decode.opc" 10636 int sd AU = op[1] & 0x03; 10637 #line 918 "rx-decode.opc" 10638 int rsrc AU = (op[2] >> 4) & 0x0f; 10639 #line 918 "rx-decode.opc" 10640 int rdst AU = op[2] & 0x0f; 10641 if (trace) 10642 { 10643 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10644 "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */", 10645 op[0], op[1], op[2]); 10646 printf (" sd = 0x%x,", sd); 10647 printf (" rsrc = 0x%x,", rsrc); 10648 printf (" rdst = 0x%x\n", rdst); 10649 } 10650 SYNTAX("fadd %1%S1, %0"); 10651 #line 918 "rx-decode.opc" 10652 ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10653 10654 } 10655 break; 10656 } 10657 break; 10658 case 0x89: 10659 GETBYTE (); 10660 switch (op[2] & 0x00) 10661 { 10662 case 0x00: 10663 goto op_semantics_79; 10664 break; 10665 } 10666 break; 10667 case 0x8a: 10668 GETBYTE (); 10669 switch (op[2] & 0x00) 10670 { 10671 case 0x00: 10672 goto op_semantics_79; 10673 break; 10674 } 10675 break; 10676 case 0x8b: 10677 GETBYTE (); 10678 switch (op[2] & 0x00) 10679 { 10680 case 0x00: 10681 goto op_semantics_79; 10682 break; 10683 } 10684 break; 10685 case 0x8c: 10686 GETBYTE (); 10687 switch (op[2] & 0x00) 10688 { 10689 case 0x00: 10690 op_semantics_80: 10691 { 10692 /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */ 10693 #line 939 "rx-decode.opc" 10694 int sd AU = op[1] & 0x03; 10695 #line 939 "rx-decode.opc" 10696 int rsrc AU = (op[2] >> 4) & 0x0f; 10697 #line 939 "rx-decode.opc" 10698 int rdst AU = op[2] & 0x0f; 10699 if (trace) 10700 { 10701 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10702 "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */", 10703 op[0], op[1], op[2]); 10704 printf (" sd = 0x%x,", sd); 10705 printf (" rsrc = 0x%x,", rsrc); 10706 printf (" rdst = 0x%x\n", rdst); 10707 } 10708 SYNTAX("fmul %1%S1, %0"); 10709 #line 939 "rx-decode.opc" 10710 ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10711 10712 } 10713 break; 10714 } 10715 break; 10716 case 0x8d: 10717 GETBYTE (); 10718 switch (op[2] & 0x00) 10719 { 10720 case 0x00: 10721 goto op_semantics_80; 10722 break; 10723 } 10724 break; 10725 case 0x8e: 10726 GETBYTE (); 10727 switch (op[2] & 0x00) 10728 { 10729 case 0x00: 10730 goto op_semantics_80; 10731 break; 10732 } 10733 break; 10734 case 0x8f: 10735 GETBYTE (); 10736 switch (op[2] & 0x00) 10737 { 10738 case 0x00: 10739 goto op_semantics_80; 10740 break; 10741 } 10742 break; 10743 case 0x90: 10744 GETBYTE (); 10745 switch (op[2] & 0x00) 10746 { 10747 case 0x00: 10748 op_semantics_81: 10749 { 10750 /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */ 10751 #line 945 "rx-decode.opc" 10752 int sd AU = op[1] & 0x03; 10753 #line 945 "rx-decode.opc" 10754 int rsrc AU = (op[2] >> 4) & 0x0f; 10755 #line 945 "rx-decode.opc" 10756 int rdst AU = op[2] & 0x0f; 10757 if (trace) 10758 { 10759 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10760 "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */", 10761 op[0], op[1], op[2]); 10762 printf (" sd = 0x%x,", sd); 10763 printf (" rsrc = 0x%x,", rsrc); 10764 printf (" rdst = 0x%x\n", rdst); 10765 } 10766 SYNTAX("fdiv %1%S1, %0"); 10767 #line 945 "rx-decode.opc" 10768 ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10769 10770 } 10771 break; 10772 } 10773 break; 10774 case 0x91: 10775 GETBYTE (); 10776 switch (op[2] & 0x00) 10777 { 10778 case 0x00: 10779 goto op_semantics_81; 10780 break; 10781 } 10782 break; 10783 case 0x92: 10784 GETBYTE (); 10785 switch (op[2] & 0x00) 10786 { 10787 case 0x00: 10788 goto op_semantics_81; 10789 break; 10790 } 10791 break; 10792 case 0x93: 10793 GETBYTE (); 10794 switch (op[2] & 0x00) 10795 { 10796 case 0x00: 10797 goto op_semantics_81; 10798 break; 10799 } 10800 break; 10801 case 0x94: 10802 GETBYTE (); 10803 switch (op[2] & 0x00) 10804 { 10805 case 0x00: 10806 op_semantics_82: 10807 { 10808 /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */ 10809 #line 933 "rx-decode.opc" 10810 int sd AU = op[1] & 0x03; 10811 #line 933 "rx-decode.opc" 10812 int rsrc AU = (op[2] >> 4) & 0x0f; 10813 #line 933 "rx-decode.opc" 10814 int rdst AU = op[2] & 0x0f; 10815 if (trace) 10816 { 10817 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10818 "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */", 10819 op[0], op[1], op[2]); 10820 printf (" sd = 0x%x,", sd); 10821 printf (" rsrc = 0x%x,", rsrc); 10822 printf (" rdst = 0x%x\n", rdst); 10823 } 10824 SYNTAX("ftoi %1%S1, %0"); 10825 #line 933 "rx-decode.opc" 10826 ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10827 10828 } 10829 break; 10830 } 10831 break; 10832 case 0x95: 10833 GETBYTE (); 10834 switch (op[2] & 0x00) 10835 { 10836 case 0x00: 10837 goto op_semantics_82; 10838 break; 10839 } 10840 break; 10841 case 0x96: 10842 GETBYTE (); 10843 switch (op[2] & 0x00) 10844 { 10845 case 0x00: 10846 goto op_semantics_82; 10847 break; 10848 } 10849 break; 10850 case 0x97: 10851 GETBYTE (); 10852 switch (op[2] & 0x00) 10853 { 10854 case 0x00: 10855 goto op_semantics_82; 10856 break; 10857 } 10858 break; 10859 case 0x98: 10860 GETBYTE (); 10861 switch (op[2] & 0x00) 10862 { 10863 case 0x00: 10864 op_semantics_83: 10865 { 10866 /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */ 10867 #line 948 "rx-decode.opc" 10868 int sd AU = op[1] & 0x03; 10869 #line 948 "rx-decode.opc" 10870 int rsrc AU = (op[2] >> 4) & 0x0f; 10871 #line 948 "rx-decode.opc" 10872 int rdst AU = op[2] & 0x0f; 10873 if (trace) 10874 { 10875 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10876 "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */", 10877 op[0], op[1], op[2]); 10878 printf (" sd = 0x%x,", sd); 10879 printf (" rsrc = 0x%x,", rsrc); 10880 printf (" rdst = 0x%x\n", rdst); 10881 } 10882 SYNTAX("round %1%S1, %0"); 10883 #line 948 "rx-decode.opc" 10884 ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10885 10886 } 10887 break; 10888 } 10889 break; 10890 case 0x99: 10891 GETBYTE (); 10892 switch (op[2] & 0x00) 10893 { 10894 case 0x00: 10895 goto op_semantics_83; 10896 break; 10897 } 10898 break; 10899 case 0x9a: 10900 GETBYTE (); 10901 switch (op[2] & 0x00) 10902 { 10903 case 0x00: 10904 goto op_semantics_83; 10905 break; 10906 } 10907 break; 10908 case 0x9b: 10909 GETBYTE (); 10910 switch (op[2] & 0x00) 10911 { 10912 case 0x00: 10913 goto op_semantics_83; 10914 break; 10915 } 10916 break; 10917 case 0xa0: 10918 GETBYTE (); 10919 switch (op[2] & 0x00) 10920 { 10921 case 0x00: 10922 op_semantics_84: 10923 { 10924 /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */ 10925 #line 1131 "rx-decode.opc" 10926 int sd AU = op[1] & 0x03; 10927 #line 1131 "rx-decode.opc" 10928 int rsrc AU = (op[2] >> 4) & 0x0f; 10929 #line 1131 "rx-decode.opc" 10930 int rdst AU = op[2] & 0x0f; 10931 if (trace) 10932 { 10933 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10934 "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */", 10935 op[0], op[1], op[2]); 10936 printf (" sd = 0x%x,", sd); 10937 printf (" rsrc = 0x%x,", rsrc); 10938 printf (" rdst = 0x%x\n", rdst); 10939 } 10940 SYNTAX("fsqrt %1%S1, %0"); 10941 #line 1131 "rx-decode.opc" 10942 ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 10943 10944 } 10945 break; 10946 } 10947 break; 10948 case 0xa1: 10949 GETBYTE (); 10950 switch (op[2] & 0x00) 10951 { 10952 case 0x00: 10953 goto op_semantics_84; 10954 break; 10955 } 10956 break; 10957 case 0xa2: 10958 GETBYTE (); 10959 switch (op[2] & 0x00) 10960 { 10961 case 0x00: 10962 goto op_semantics_84; 10963 break; 10964 } 10965 break; 10966 case 0xa3: 10967 GETBYTE (); 10968 switch (op[2] & 0x00) 10969 { 10970 case 0x00: 10971 goto op_semantics_84; 10972 break; 10973 } 10974 break; 10975 case 0xa4: 10976 GETBYTE (); 10977 switch (op[2] & 0x00) 10978 { 10979 case 0x00: 10980 op_semantics_85: 10981 { 10982 /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */ 10983 #line 1134 "rx-decode.opc" 10984 int sd AU = op[1] & 0x03; 10985 #line 1134 "rx-decode.opc" 10986 int rsrc AU = (op[2] >> 4) & 0x0f; 10987 #line 1134 "rx-decode.opc" 10988 int rdst AU = op[2] & 0x0f; 10989 if (trace) 10990 { 10991 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 10992 "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */", 10993 op[0], op[1], op[2]); 10994 printf (" sd = 0x%x,", sd); 10995 printf (" rsrc = 0x%x,", rsrc); 10996 printf (" rdst = 0x%x\n", rdst); 10997 } 10998 SYNTAX("ftou %1%S1, %0"); 10999 #line 1134 "rx-decode.opc" 11000 ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_; 11001 11002 } 11003 break; 11004 } 11005 break; 11006 case 0xa5: 11007 GETBYTE (); 11008 switch (op[2] & 0x00) 11009 { 11010 case 0x00: 11011 goto op_semantics_85; 11012 break; 11013 } 11014 break; 11015 case 0xa6: 11016 GETBYTE (); 11017 switch (op[2] & 0x00) 11018 { 11019 case 0x00: 11020 goto op_semantics_85; 11021 break; 11022 } 11023 break; 11024 case 0xa7: 11025 GETBYTE (); 11026 switch (op[2] & 0x00) 11027 { 11028 case 0x00: 11029 goto op_semantics_85; 11030 break; 11031 } 11032 break; 11033 case 0xc8: 11034 GETBYTE (); 11035 switch (op[2] & 0x0f) 11036 { 11037 case 0x08: 11038 op_semantics_86: 11039 { 11040 /** 1111 1100 1100 10sz rsrc 1000 dmov.d %1, %0 */ 11041 #line 1198 "rx-decode.opc" 11042 int sz AU = op[1] & 0x03; 11043 #line 1198 "rx-decode.opc" 11044 int rsrc AU = (op[2] >> 4) & 0x0f; 11045 if (trace) 11046 { 11047 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 11048 "/** 1111 1100 1100 10sz rsrc 1000 dmov.d %1, %0 */", 11049 op[0], op[1], op[2]); 11050 printf (" sz = 0x%x,", sz); 11051 printf (" rsrc = 0x%x\n", rsrc); 11052 } 11053 SYNTAX("dmov.d %1, %0"); 11054 #line 1198 "rx-decode.opc" 11055 int rdst; 11056 rx_disp(1, sz, rsrc, RX_Double, ld); 11057 rdst = GETBYTE(); 11058 if (rdst & 0x0f) 11059 UNSUPPORTED(); 11060 else { 11061 ID(dmov); DDR(rdst >> 4); F_____; 11062 } 11063 11064 } 11065 break; 11066 default: UNSUPPORTED(); break; 11067 } 11068 break; 11069 case 0xc9: 11070 GETBYTE (); 11071 switch (op[2] & 0x0f) 11072 { 11073 case 0x08: 11074 goto op_semantics_86; 11075 break; 11076 default: UNSUPPORTED(); break; 11077 } 11078 break; 11079 case 0xca: 11080 GETBYTE (); 11081 switch (op[2] & 0x0f) 11082 { 11083 case 0x08: 11084 goto op_semantics_86; 11085 break; 11086 default: UNSUPPORTED(); break; 11087 } 11088 break; 11089 case 0xd0: 11090 GETBYTE (); 11091 switch (op[2] & 0x00) 11092 { 11093 case 0x00: 11094 op_semantics_87: 11095 { 11096 /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */ 11097 #line 1065 "rx-decode.opc" 11098 int sz AU = (op[1] >> 2) & 0x03; 11099 #line 1065 "rx-decode.opc" 11100 int sd AU = op[1] & 0x03; 11101 #line 1065 "rx-decode.opc" 11102 int rdst AU = (op[2] >> 4) & 0x0f; 11103 #line 1065 "rx-decode.opc" 11104 int cond AU = op[2] & 0x0f; 11105 if (trace) 11106 { 11107 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 11108 "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */", 11109 op[0], op[1], op[2]); 11110 printf (" sz = 0x%x,", sz); 11111 printf (" sd = 0x%x,", sd); 11112 printf (" rdst = 0x%x,", rdst); 11113 printf (" cond = 0x%x\n", cond); 11114 } 11115 SYNTAX("sc%1%s %0"); 11116 #line 1065 "rx-decode.opc" 11117 ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond); 11118 11119 /*----------------------------------------------------------------------*/ 11120 /* RXv2 enhanced */ 11121 11122 } 11123 break; 11124 } 11125 break; 11126 case 0xd1: 11127 GETBYTE (); 11128 switch (op[2] & 0x00) 11129 { 11130 case 0x00: 11131 goto op_semantics_87; 11132 break; 11133 } 11134 break; 11135 case 0xd2: 11136 GETBYTE (); 11137 switch (op[2] & 0x00) 11138 { 11139 case 0x00: 11140 goto op_semantics_87; 11141 break; 11142 } 11143 break; 11144 case 0xd3: 11145 GETBYTE (); 11146 switch (op[2] & 0x00) 11147 { 11148 case 0x00: 11149 goto op_semantics_87; 11150 break; 11151 } 11152 break; 11153 case 0xd4: 11154 GETBYTE (); 11155 switch (op[2] & 0x00) 11156 { 11157 case 0x00: 11158 goto op_semantics_87; 11159 break; 11160 } 11161 break; 11162 case 0xd5: 11163 GETBYTE (); 11164 switch (op[2] & 0x00) 11165 { 11166 case 0x00: 11167 goto op_semantics_87; 11168 break; 11169 } 11170 break; 11171 case 0xd6: 11172 GETBYTE (); 11173 switch (op[2] & 0x00) 11174 { 11175 case 0x00: 11176 goto op_semantics_87; 11177 break; 11178 } 11179 break; 11180 case 0xd7: 11181 GETBYTE (); 11182 switch (op[2] & 0x00) 11183 { 11184 case 0x00: 11185 goto op_semantics_87; 11186 break; 11187 } 11188 break; 11189 case 0xd8: 11190 GETBYTE (); 11191 switch (op[2] & 0x00) 11192 { 11193 case 0x00: 11194 goto op_semantics_87; 11195 break; 11196 } 11197 break; 11198 case 0xd9: 11199 GETBYTE (); 11200 switch (op[2] & 0x00) 11201 { 11202 case 0x00: 11203 goto op_semantics_87; 11204 break; 11205 } 11206 break; 11207 case 0xda: 11208 GETBYTE (); 11209 switch (op[2] & 0x00) 11210 { 11211 case 0x00: 11212 goto op_semantics_87; 11213 break; 11214 } 11215 break; 11216 case 0xdb: 11217 GETBYTE (); 11218 switch (op[2] & 0x00) 11219 { 11220 case 0x00: 11221 goto op_semantics_87; 11222 break; 11223 } 11224 break; 11225 case 0xe0: 11226 GETBYTE (); 11227 switch (op[2] & 0x0f) 11228 { 11229 case 0x00: 11230 case 0x01: 11231 case 0x02: 11232 case 0x03: 11233 case 0x04: 11234 case 0x05: 11235 case 0x06: 11236 case 0x07: 11237 case 0x08: 11238 case 0x09: 11239 case 0x0a: 11240 case 0x0b: 11241 case 0x0c: 11242 case 0x0d: 11243 case 0x0e: 11244 op_semantics_88: 11245 { 11246 /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */ 11247 #line 1008 "rx-decode.opc" 11248 int bit AU = (op[1] >> 2) & 0x07; 11249 #line 1008 "rx-decode.opc" 11250 int sd AU = op[1] & 0x03; 11251 #line 1008 "rx-decode.opc" 11252 int rdst AU = (op[2] >> 4) & 0x0f; 11253 #line 1008 "rx-decode.opc" 11254 int cond AU = op[2] & 0x0f; 11255 if (trace) 11256 { 11257 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 11258 "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */", 11259 op[0], op[1], op[2]); 11260 printf (" bit = 0x%x,", bit); 11261 printf (" sd = 0x%x,", sd); 11262 printf (" rdst = 0x%x,", rdst); 11263 printf (" cond = 0x%x\n", cond); 11264 } 11265 SYNTAX("bm%2 #%1, %0%S0"); 11266 #line 1008 "rx-decode.opc" 11267 ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE); 11268 11269 } 11270 break; 11271 case 0x0f: 11272 op_semantics_89: 11273 { 11274 /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */ 11275 #line 996 "rx-decode.opc" 11276 int bit AU = (op[1] >> 2) & 0x07; 11277 #line 996 "rx-decode.opc" 11278 int sd AU = op[1] & 0x03; 11279 #line 996 "rx-decode.opc" 11280 int rdst AU = (op[2] >> 4) & 0x0f; 11281 if (trace) 11282 { 11283 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 11284 "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */", 11285 op[0], op[1], op[2]); 11286 printf (" bit = 0x%x,", bit); 11287 printf (" sd = 0x%x,", sd); 11288 printf (" rdst = 0x%x\n", rdst); 11289 } 11290 SYNTAX("bnot #%1, %0%S0"); 11291 #line 996 "rx-decode.opc" 11292 ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); 11293 11294 } 11295 break; 11296 } 11297 break; 11298 case 0xe1: 11299 GETBYTE (); 11300 switch (op[2] & 0x0f) 11301 { 11302 case 0x00: 11303 case 0x01: 11304 case 0x02: 11305 case 0x03: 11306 case 0x04: 11307 case 0x05: 11308 case 0x06: 11309 case 0x07: 11310 case 0x08: 11311 case 0x09: 11312 case 0x0a: 11313 case 0x0b: 11314 case 0x0c: 11315 case 0x0d: 11316 case 0x0e: 11317 goto op_semantics_88; 11318 break; 11319 case 0x0f: 11320 goto op_semantics_89; 11321 break; 11322 } 11323 break; 11324 case 0xe2: 11325 GETBYTE (); 11326 switch (op[2] & 0x0f) 11327 { 11328 case 0x00: 11329 case 0x01: 11330 case 0x02: 11331 case 0x03: 11332 case 0x04: 11333 case 0x05: 11334 case 0x06: 11335 case 0x07: 11336 case 0x08: 11337 case 0x09: 11338 case 0x0a: 11339 case 0x0b: 11340 case 0x0c: 11341 case 0x0d: 11342 case 0x0e: 11343 goto op_semantics_88; 11344 break; 11345 case 0x0f: 11346 goto op_semantics_89; 11347 break; 11348 } 11349 break; 11350 case 0xe3: 11351 GETBYTE (); 11352 switch (op[2] & 0x0f) 11353 { 11354 case 0x00: 11355 case 0x01: 11356 case 0x02: 11357 case 0x03: 11358 case 0x04: 11359 case 0x05: 11360 case 0x06: 11361 case 0x07: 11362 case 0x08: 11363 case 0x09: 11364 case 0x0a: 11365 case 0x0b: 11366 case 0x0c: 11367 case 0x0d: 11368 case 0x0e: 11369 goto op_semantics_88; 11370 break; 11371 case 0x0f: 11372 goto op_semantics_89; 11373 break; 11374 } 11375 break; 11376 case 0xe4: 11377 GETBYTE (); 11378 switch (op[2] & 0x0f) 11379 { 11380 case 0x00: 11381 case 0x01: 11382 case 0x02: 11383 case 0x03: 11384 case 0x04: 11385 case 0x05: 11386 case 0x06: 11387 case 0x07: 11388 case 0x08: 11389 case 0x09: 11390 case 0x0a: 11391 case 0x0b: 11392 case 0x0c: 11393 case 0x0d: 11394 case 0x0e: 11395 goto op_semantics_88; 11396 break; 11397 case 0x0f: 11398 goto op_semantics_89; 11399 break; 11400 } 11401 break; 11402 case 0xe5: 11403 GETBYTE (); 11404 switch (op[2] & 0x0f) 11405 { 11406 case 0x00: 11407 case 0x01: 11408 case 0x02: 11409 case 0x03: 11410 case 0x04: 11411 case 0x05: 11412 case 0x06: 11413 case 0x07: 11414 case 0x08: 11415 case 0x09: 11416 case 0x0a: 11417 case 0x0b: 11418 case 0x0c: 11419 case 0x0d: 11420 case 0x0e: 11421 goto op_semantics_88; 11422 break; 11423 case 0x0f: 11424 goto op_semantics_89; 11425 break; 11426 } 11427 break; 11428 case 0xe6: 11429 GETBYTE (); 11430 switch (op[2] & 0x0f) 11431 { 11432 case 0x00: 11433 case 0x01: 11434 case 0x02: 11435 case 0x03: 11436 case 0x04: 11437 case 0x05: 11438 case 0x06: 11439 case 0x07: 11440 case 0x08: 11441 case 0x09: 11442 case 0x0a: 11443 case 0x0b: 11444 case 0x0c: 11445 case 0x0d: 11446 case 0x0e: 11447 goto op_semantics_88; 11448 break; 11449 case 0x0f: 11450 goto op_semantics_89; 11451 break; 11452 } 11453 break; 11454 case 0xe7: 11455 GETBYTE (); 11456 switch (op[2] & 0x0f) 11457 { 11458 case 0x00: 11459 case 0x01: 11460 case 0x02: 11461 case 0x03: 11462 case 0x04: 11463 case 0x05: 11464 case 0x06: 11465 case 0x07: 11466 case 0x08: 11467 case 0x09: 11468 case 0x0a: 11469 case 0x0b: 11470 case 0x0c: 11471 case 0x0d: 11472 case 0x0e: 11473 goto op_semantics_88; 11474 break; 11475 case 0x0f: 11476 goto op_semantics_89; 11477 break; 11478 } 11479 break; 11480 case 0xe8: 11481 GETBYTE (); 11482 switch (op[2] & 0x0f) 11483 { 11484 case 0x00: 11485 case 0x01: 11486 case 0x02: 11487 case 0x03: 11488 case 0x04: 11489 case 0x05: 11490 case 0x06: 11491 case 0x07: 11492 case 0x08: 11493 case 0x09: 11494 case 0x0a: 11495 case 0x0b: 11496 case 0x0c: 11497 case 0x0d: 11498 case 0x0e: 11499 goto op_semantics_88; 11500 break; 11501 case 0x0f: 11502 goto op_semantics_89; 11503 break; 11504 } 11505 break; 11506 case 0xe9: 11507 GETBYTE (); 11508 switch (op[2] & 0x0f) 11509 { 11510 case 0x00: 11511 case 0x01: 11512 case 0x02: 11513 case 0x03: 11514 case 0x04: 11515 case 0x05: 11516 case 0x06: 11517 case 0x07: 11518 case 0x08: 11519 case 0x09: 11520 case 0x0a: 11521 case 0x0b: 11522 case 0x0c: 11523 case 0x0d: 11524 case 0x0e: 11525 goto op_semantics_88; 11526 break; 11527 case 0x0f: 11528 goto op_semantics_89; 11529 break; 11530 } 11531 break; 11532 case 0xea: 11533 GETBYTE (); 11534 switch (op[2] & 0x0f) 11535 { 11536 case 0x00: 11537 case 0x01: 11538 case 0x02: 11539 case 0x03: 11540 case 0x04: 11541 case 0x05: 11542 case 0x06: 11543 case 0x07: 11544 case 0x08: 11545 case 0x09: 11546 case 0x0a: 11547 case 0x0b: 11548 case 0x0c: 11549 case 0x0d: 11550 case 0x0e: 11551 goto op_semantics_88; 11552 break; 11553 case 0x0f: 11554 goto op_semantics_89; 11555 break; 11556 } 11557 break; 11558 case 0xeb: 11559 GETBYTE (); 11560 switch (op[2] & 0x0f) 11561 { 11562 case 0x00: 11563 case 0x01: 11564 case 0x02: 11565 case 0x03: 11566 case 0x04: 11567 case 0x05: 11568 case 0x06: 11569 case 0x07: 11570 case 0x08: 11571 case 0x09: 11572 case 0x0a: 11573 case 0x0b: 11574 case 0x0c: 11575 case 0x0d: 11576 case 0x0e: 11577 goto op_semantics_88; 11578 break; 11579 case 0x0f: 11580 goto op_semantics_89; 11581 break; 11582 } 11583 break; 11584 case 0xec: 11585 GETBYTE (); 11586 switch (op[2] & 0x0f) 11587 { 11588 case 0x00: 11589 case 0x01: 11590 case 0x02: 11591 case 0x03: 11592 case 0x04: 11593 case 0x05: 11594 case 0x06: 11595 case 0x07: 11596 case 0x08: 11597 case 0x09: 11598 case 0x0a: 11599 case 0x0b: 11600 case 0x0c: 11601 case 0x0d: 11602 case 0x0e: 11603 goto op_semantics_88; 11604 break; 11605 case 0x0f: 11606 goto op_semantics_89; 11607 break; 11608 } 11609 break; 11610 case 0xed: 11611 GETBYTE (); 11612 switch (op[2] & 0x0f) 11613 { 11614 case 0x00: 11615 case 0x01: 11616 case 0x02: 11617 case 0x03: 11618 case 0x04: 11619 case 0x05: 11620 case 0x06: 11621 case 0x07: 11622 case 0x08: 11623 case 0x09: 11624 case 0x0a: 11625 case 0x0b: 11626 case 0x0c: 11627 case 0x0d: 11628 case 0x0e: 11629 goto op_semantics_88; 11630 break; 11631 case 0x0f: 11632 goto op_semantics_89; 11633 break; 11634 } 11635 break; 11636 case 0xee: 11637 GETBYTE (); 11638 switch (op[2] & 0x0f) 11639 { 11640 case 0x00: 11641 case 0x01: 11642 case 0x02: 11643 case 0x03: 11644 case 0x04: 11645 case 0x05: 11646 case 0x06: 11647 case 0x07: 11648 case 0x08: 11649 case 0x09: 11650 case 0x0a: 11651 case 0x0b: 11652 case 0x0c: 11653 case 0x0d: 11654 case 0x0e: 11655 goto op_semantics_88; 11656 break; 11657 case 0x0f: 11658 goto op_semantics_89; 11659 break; 11660 } 11661 break; 11662 case 0xef: 11663 GETBYTE (); 11664 switch (op[2] & 0x0f) 11665 { 11666 case 0x00: 11667 case 0x01: 11668 case 0x02: 11669 case 0x03: 11670 case 0x04: 11671 case 0x05: 11672 case 0x06: 11673 case 0x07: 11674 case 0x08: 11675 case 0x09: 11676 case 0x0a: 11677 case 0x0b: 11678 case 0x0c: 11679 case 0x0d: 11680 case 0x0e: 11681 goto op_semantics_88; 11682 break; 11683 case 0x0f: 11684 goto op_semantics_89; 11685 break; 11686 } 11687 break; 11688 case 0xf0: 11689 GETBYTE (); 11690 switch (op[2] & 0x0f) 11691 { 11692 case 0x00: 11693 case 0x01: 11694 case 0x02: 11695 case 0x03: 11696 case 0x04: 11697 case 0x05: 11698 case 0x06: 11699 case 0x07: 11700 case 0x08: 11701 case 0x09: 11702 case 0x0a: 11703 case 0x0b: 11704 case 0x0c: 11705 case 0x0d: 11706 case 0x0e: 11707 goto op_semantics_88; 11708 break; 11709 case 0x0f: 11710 goto op_semantics_89; 11711 break; 11712 } 11713 break; 11714 case 0xf1: 11715 GETBYTE (); 11716 switch (op[2] & 0x0f) 11717 { 11718 case 0x00: 11719 case 0x01: 11720 case 0x02: 11721 case 0x03: 11722 case 0x04: 11723 case 0x05: 11724 case 0x06: 11725 case 0x07: 11726 case 0x08: 11727 case 0x09: 11728 case 0x0a: 11729 case 0x0b: 11730 case 0x0c: 11731 case 0x0d: 11732 case 0x0e: 11733 goto op_semantics_88; 11734 break; 11735 case 0x0f: 11736 goto op_semantics_89; 11737 break; 11738 } 11739 break; 11740 case 0xf2: 11741 GETBYTE (); 11742 switch (op[2] & 0x0f) 11743 { 11744 case 0x00: 11745 case 0x01: 11746 case 0x02: 11747 case 0x03: 11748 case 0x04: 11749 case 0x05: 11750 case 0x06: 11751 case 0x07: 11752 case 0x08: 11753 case 0x09: 11754 case 0x0a: 11755 case 0x0b: 11756 case 0x0c: 11757 case 0x0d: 11758 case 0x0e: 11759 goto op_semantics_88; 11760 break; 11761 case 0x0f: 11762 goto op_semantics_89; 11763 break; 11764 } 11765 break; 11766 case 0xf3: 11767 GETBYTE (); 11768 switch (op[2] & 0x0f) 11769 { 11770 case 0x00: 11771 case 0x01: 11772 case 0x02: 11773 case 0x03: 11774 case 0x04: 11775 case 0x05: 11776 case 0x06: 11777 case 0x07: 11778 case 0x08: 11779 case 0x09: 11780 case 0x0a: 11781 case 0x0b: 11782 case 0x0c: 11783 case 0x0d: 11784 case 0x0e: 11785 goto op_semantics_88; 11786 break; 11787 case 0x0f: 11788 goto op_semantics_89; 11789 break; 11790 } 11791 break; 11792 case 0xf4: 11793 GETBYTE (); 11794 switch (op[2] & 0x0f) 11795 { 11796 case 0x00: 11797 case 0x01: 11798 case 0x02: 11799 case 0x03: 11800 case 0x04: 11801 case 0x05: 11802 case 0x06: 11803 case 0x07: 11804 case 0x08: 11805 case 0x09: 11806 case 0x0a: 11807 case 0x0b: 11808 case 0x0c: 11809 case 0x0d: 11810 case 0x0e: 11811 goto op_semantics_88; 11812 break; 11813 case 0x0f: 11814 goto op_semantics_89; 11815 break; 11816 } 11817 break; 11818 case 0xf5: 11819 GETBYTE (); 11820 switch (op[2] & 0x0f) 11821 { 11822 case 0x00: 11823 case 0x01: 11824 case 0x02: 11825 case 0x03: 11826 case 0x04: 11827 case 0x05: 11828 case 0x06: 11829 case 0x07: 11830 case 0x08: 11831 case 0x09: 11832 case 0x0a: 11833 case 0x0b: 11834 case 0x0c: 11835 case 0x0d: 11836 case 0x0e: 11837 goto op_semantics_88; 11838 break; 11839 case 0x0f: 11840 goto op_semantics_89; 11841 break; 11842 } 11843 break; 11844 case 0xf6: 11845 GETBYTE (); 11846 switch (op[2] & 0x0f) 11847 { 11848 case 0x00: 11849 case 0x01: 11850 case 0x02: 11851 case 0x03: 11852 case 0x04: 11853 case 0x05: 11854 case 0x06: 11855 case 0x07: 11856 case 0x08: 11857 case 0x09: 11858 case 0x0a: 11859 case 0x0b: 11860 case 0x0c: 11861 case 0x0d: 11862 case 0x0e: 11863 goto op_semantics_88; 11864 break; 11865 case 0x0f: 11866 goto op_semantics_89; 11867 break; 11868 } 11869 break; 11870 case 0xf7: 11871 GETBYTE (); 11872 switch (op[2] & 0x0f) 11873 { 11874 case 0x00: 11875 case 0x01: 11876 case 0x02: 11877 case 0x03: 11878 case 0x04: 11879 case 0x05: 11880 case 0x06: 11881 case 0x07: 11882 case 0x08: 11883 case 0x09: 11884 case 0x0a: 11885 case 0x0b: 11886 case 0x0c: 11887 case 0x0d: 11888 case 0x0e: 11889 goto op_semantics_88; 11890 break; 11891 case 0x0f: 11892 goto op_semantics_89; 11893 break; 11894 } 11895 break; 11896 case 0xf8: 11897 GETBYTE (); 11898 switch (op[2] & 0x0f) 11899 { 11900 case 0x00: 11901 case 0x01: 11902 case 0x02: 11903 case 0x03: 11904 case 0x04: 11905 case 0x05: 11906 case 0x06: 11907 case 0x07: 11908 case 0x08: 11909 case 0x09: 11910 case 0x0a: 11911 case 0x0b: 11912 case 0x0c: 11913 case 0x0d: 11914 case 0x0e: 11915 goto op_semantics_88; 11916 break; 11917 case 0x0f: 11918 goto op_semantics_89; 11919 break; 11920 } 11921 break; 11922 case 0xf9: 11923 GETBYTE (); 11924 switch (op[2] & 0x0f) 11925 { 11926 case 0x00: 11927 case 0x01: 11928 case 0x02: 11929 case 0x03: 11930 case 0x04: 11931 case 0x05: 11932 case 0x06: 11933 case 0x07: 11934 case 0x08: 11935 case 0x09: 11936 case 0x0a: 11937 case 0x0b: 11938 case 0x0c: 11939 case 0x0d: 11940 case 0x0e: 11941 goto op_semantics_88; 11942 break; 11943 case 0x0f: 11944 goto op_semantics_89; 11945 break; 11946 } 11947 break; 11948 case 0xfa: 11949 GETBYTE (); 11950 switch (op[2] & 0x0f) 11951 { 11952 case 0x00: 11953 case 0x01: 11954 case 0x02: 11955 case 0x03: 11956 case 0x04: 11957 case 0x05: 11958 case 0x06: 11959 case 0x07: 11960 case 0x08: 11961 case 0x09: 11962 case 0x0a: 11963 case 0x0b: 11964 case 0x0c: 11965 case 0x0d: 11966 case 0x0e: 11967 goto op_semantics_88; 11968 break; 11969 case 0x0f: 11970 goto op_semantics_89; 11971 break; 11972 } 11973 break; 11974 case 0xfb: 11975 GETBYTE (); 11976 switch (op[2] & 0x0f) 11977 { 11978 case 0x00: 11979 case 0x01: 11980 case 0x02: 11981 case 0x03: 11982 case 0x04: 11983 case 0x05: 11984 case 0x06: 11985 case 0x07: 11986 case 0x08: 11987 case 0x09: 11988 case 0x0a: 11989 case 0x0b: 11990 case 0x0c: 11991 case 0x0d: 11992 case 0x0e: 11993 goto op_semantics_88; 11994 break; 11995 case 0x0f: 11996 goto op_semantics_89; 11997 break; 11998 } 11999 break; 12000 case 0xfc: 12001 GETBYTE (); 12002 switch (op[2] & 0x0f) 12003 { 12004 case 0x00: 12005 case 0x01: 12006 case 0x02: 12007 case 0x03: 12008 case 0x04: 12009 case 0x05: 12010 case 0x06: 12011 case 0x07: 12012 case 0x08: 12013 case 0x09: 12014 case 0x0a: 12015 case 0x0b: 12016 case 0x0c: 12017 case 0x0d: 12018 case 0x0e: 12019 goto op_semantics_88; 12020 break; 12021 case 0x0f: 12022 goto op_semantics_89; 12023 break; 12024 } 12025 break; 12026 case 0xfd: 12027 GETBYTE (); 12028 switch (op[2] & 0x0f) 12029 { 12030 case 0x00: 12031 case 0x01: 12032 case 0x02: 12033 case 0x03: 12034 case 0x04: 12035 case 0x05: 12036 case 0x06: 12037 case 0x07: 12038 case 0x08: 12039 case 0x09: 12040 case 0x0a: 12041 case 0x0b: 12042 case 0x0c: 12043 case 0x0d: 12044 case 0x0e: 12045 goto op_semantics_88; 12046 break; 12047 case 0x0f: 12048 goto op_semantics_89; 12049 break; 12050 } 12051 break; 12052 case 0xfe: 12053 GETBYTE (); 12054 switch (op[2] & 0x0f) 12055 { 12056 case 0x00: 12057 case 0x01: 12058 case 0x02: 12059 case 0x03: 12060 case 0x04: 12061 case 0x05: 12062 case 0x06: 12063 case 0x07: 12064 case 0x08: 12065 case 0x09: 12066 case 0x0a: 12067 case 0x0b: 12068 case 0x0c: 12069 case 0x0d: 12070 case 0x0e: 12071 goto op_semantics_88; 12072 break; 12073 case 0x0f: 12074 goto op_semantics_89; 12075 break; 12076 } 12077 break; 12078 case 0xff: 12079 GETBYTE (); 12080 switch (op[2] & 0x0f) 12081 { 12082 case 0x00: 12083 case 0x01: 12084 case 0x02: 12085 case 0x03: 12086 case 0x04: 12087 case 0x05: 12088 case 0x06: 12089 case 0x07: 12090 case 0x08: 12091 case 0x09: 12092 case 0x0a: 12093 case 0x0b: 12094 case 0x0c: 12095 case 0x0d: 12096 case 0x0e: 12097 goto op_semantics_88; 12098 break; 12099 case 0x0f: 12100 goto op_semantics_89; 12101 break; 12102 } 12103 break; 12104 default: UNSUPPORTED(); break; 12105 } 12106 break; 12107 case 0xfd: 12108 GETBYTE (); 12109 switch (op[1] & 0xff) 12110 { 12111 case 0x00: 12112 GETBYTE (); 12113 switch (op[2] & 0x00) 12114 { 12115 case 0x00: 12116 op_semantics_90: 12117 { 12118 /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */ 12119 #line 873 "rx-decode.opc" 12120 int a AU = (op[1] >> 3) & 0x01; 12121 #line 873 "rx-decode.opc" 12122 int srca AU = (op[2] >> 4) & 0x0f; 12123 #line 873 "rx-decode.opc" 12124 int srcb AU = op[2] & 0x0f; 12125 if (trace) 12126 { 12127 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12128 "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */", 12129 op[0], op[1], op[2]); 12130 printf (" a = 0x%x,", a); 12131 printf (" srca = 0x%x,", srca); 12132 printf (" srcb = 0x%x\n", srcb); 12133 } 12134 SYNTAX("mulhi %1, %2, %0"); 12135 #line 873 "rx-decode.opc" 12136 ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____; 12137 12138 } 12139 break; 12140 } 12141 break; 12142 case 0x01: 12143 GETBYTE (); 12144 switch (op[2] & 0x00) 12145 { 12146 case 0x00: 12147 op_semantics_91: 12148 { 12149 /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */ 12150 #line 876 "rx-decode.opc" 12151 int a AU = (op[1] >> 3) & 0x01; 12152 #line 876 "rx-decode.opc" 12153 int srca AU = (op[2] >> 4) & 0x0f; 12154 #line 876 "rx-decode.opc" 12155 int srcb AU = op[2] & 0x0f; 12156 if (trace) 12157 { 12158 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12159 "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */", 12160 op[0], op[1], op[2]); 12161 printf (" a = 0x%x,", a); 12162 printf (" srca = 0x%x,", srca); 12163 printf (" srcb = 0x%x\n", srcb); 12164 } 12165 SYNTAX("mullo %1, %2, %0"); 12166 #line 876 "rx-decode.opc" 12167 ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____; 12168 12169 } 12170 break; 12171 } 12172 break; 12173 case 0x02: 12174 GETBYTE (); 12175 switch (op[2] & 0x00) 12176 { 12177 case 0x00: 12178 op_semantics_92: 12179 { 12180 /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */ 12181 #line 1104 "rx-decode.opc" 12182 int a AU = (op[1] >> 3) & 0x01; 12183 #line 1104 "rx-decode.opc" 12184 int srca AU = (op[2] >> 4) & 0x0f; 12185 #line 1104 "rx-decode.opc" 12186 int srcb AU = op[2] & 0x0f; 12187 if (trace) 12188 { 12189 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12190 "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */", 12191 op[0], op[1], op[2]); 12192 printf (" a = 0x%x,", a); 12193 printf (" srca = 0x%x,", srca); 12194 printf (" srcb = 0x%x\n", srcb); 12195 } 12196 SYNTAX("mullh %1, %2, %0"); 12197 #line 1104 "rx-decode.opc" 12198 ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____; 12199 12200 } 12201 break; 12202 } 12203 break; 12204 case 0x03: 12205 GETBYTE (); 12206 switch (op[2] & 0x00) 12207 { 12208 case 0x00: 12209 op_semantics_93: 12210 { 12211 /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */ 12212 #line 1089 "rx-decode.opc" 12213 int a AU = (op[1] >> 3) & 0x01; 12214 #line 1089 "rx-decode.opc" 12215 int srca AU = (op[2] >> 4) & 0x0f; 12216 #line 1089 "rx-decode.opc" 12217 int srcb AU = op[2] & 0x0f; 12218 if (trace) 12219 { 12220 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12221 "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */", 12222 op[0], op[1], op[2]); 12223 printf (" a = 0x%x,", a); 12224 printf (" srca = 0x%x,", srca); 12225 printf (" srcb = 0x%x\n", srcb); 12226 } 12227 SYNTAX("emula %1, %2, %0"); 12228 #line 1089 "rx-decode.opc" 12229 ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____; 12230 12231 } 12232 break; 12233 } 12234 break; 12235 case 0x04: 12236 GETBYTE (); 12237 switch (op[2] & 0x00) 12238 { 12239 case 0x00: 12240 op_semantics_94: 12241 { 12242 /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */ 12243 #line 879 "rx-decode.opc" 12244 int a AU = (op[1] >> 3) & 0x01; 12245 #line 879 "rx-decode.opc" 12246 int srca AU = (op[2] >> 4) & 0x0f; 12247 #line 879 "rx-decode.opc" 12248 int srcb AU = op[2] & 0x0f; 12249 if (trace) 12250 { 12251 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12252 "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */", 12253 op[0], op[1], op[2]); 12254 printf (" a = 0x%x,", a); 12255 printf (" srca = 0x%x,", srca); 12256 printf (" srcb = 0x%x\n", srcb); 12257 } 12258 SYNTAX("machi %1, %2, %0"); 12259 #line 879 "rx-decode.opc" 12260 ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____; 12261 12262 } 12263 break; 12264 } 12265 break; 12266 case 0x05: 12267 GETBYTE (); 12268 switch (op[2] & 0x00) 12269 { 12270 case 0x00: 12271 op_semantics_95: 12272 { 12273 /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */ 12274 #line 882 "rx-decode.opc" 12275 int a AU = (op[1] >> 3) & 0x01; 12276 #line 882 "rx-decode.opc" 12277 int srca AU = (op[2] >> 4) & 0x0f; 12278 #line 882 "rx-decode.opc" 12279 int srcb AU = op[2] & 0x0f; 12280 if (trace) 12281 { 12282 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12283 "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */", 12284 op[0], op[1], op[2]); 12285 printf (" a = 0x%x,", a); 12286 printf (" srca = 0x%x,", srca); 12287 printf (" srcb = 0x%x\n", srcb); 12288 } 12289 SYNTAX("maclo %1, %2, %0"); 12290 #line 882 "rx-decode.opc" 12291 ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____; 12292 12293 } 12294 break; 12295 } 12296 break; 12297 case 0x06: 12298 GETBYTE (); 12299 switch (op[2] & 0x00) 12300 { 12301 case 0x00: 12302 op_semantics_96: 12303 { 12304 /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */ 12305 #line 1092 "rx-decode.opc" 12306 int a AU = (op[1] >> 3) & 0x01; 12307 #line 1092 "rx-decode.opc" 12308 int srca AU = (op[2] >> 4) & 0x0f; 12309 #line 1092 "rx-decode.opc" 12310 int srcb AU = op[2] & 0x0f; 12311 if (trace) 12312 { 12313 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12314 "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */", 12315 op[0], op[1], op[2]); 12316 printf (" a = 0x%x,", a); 12317 printf (" srca = 0x%x,", srca); 12318 printf (" srcb = 0x%x\n", srcb); 12319 } 12320 SYNTAX("maclh %1, %2, %0"); 12321 #line 1092 "rx-decode.opc" 12322 ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____; 12323 12324 } 12325 break; 12326 } 12327 break; 12328 case 0x07: 12329 GETBYTE (); 12330 switch (op[2] & 0x00) 12331 { 12332 case 0x00: 12333 op_semantics_97: 12334 { 12335 /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */ 12336 #line 1083 "rx-decode.opc" 12337 int a AU = (op[1] >> 3) & 0x01; 12338 #line 1083 "rx-decode.opc" 12339 int srca AU = (op[2] >> 4) & 0x0f; 12340 #line 1083 "rx-decode.opc" 12341 int srcb AU = op[2] & 0x0f; 12342 if (trace) 12343 { 12344 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12345 "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */", 12346 op[0], op[1], op[2]); 12347 printf (" a = 0x%x,", a); 12348 printf (" srca = 0x%x,", srca); 12349 printf (" srcb = 0x%x\n", srcb); 12350 } 12351 SYNTAX("emaca %1, %2, %0"); 12352 #line 1083 "rx-decode.opc" 12353 ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____; 12354 12355 } 12356 break; 12357 } 12358 break; 12359 case 0x08: 12360 GETBYTE (); 12361 switch (op[2] & 0x00) 12362 { 12363 case 0x00: 12364 goto op_semantics_90; 12365 break; 12366 } 12367 break; 12368 case 0x09: 12369 GETBYTE (); 12370 switch (op[2] & 0x00) 12371 { 12372 case 0x00: 12373 goto op_semantics_91; 12374 break; 12375 } 12376 break; 12377 case 0x0a: 12378 GETBYTE (); 12379 switch (op[2] & 0x00) 12380 { 12381 case 0x00: 12382 goto op_semantics_92; 12383 break; 12384 } 12385 break; 12386 case 0x0b: 12387 GETBYTE (); 12388 switch (op[2] & 0x00) 12389 { 12390 case 0x00: 12391 goto op_semantics_93; 12392 break; 12393 } 12394 break; 12395 case 0x0c: 12396 GETBYTE (); 12397 switch (op[2] & 0x00) 12398 { 12399 case 0x00: 12400 goto op_semantics_94; 12401 break; 12402 } 12403 break; 12404 case 0x0d: 12405 GETBYTE (); 12406 switch (op[2] & 0x00) 12407 { 12408 case 0x00: 12409 goto op_semantics_95; 12410 break; 12411 } 12412 break; 12413 case 0x0e: 12414 GETBYTE (); 12415 switch (op[2] & 0x00) 12416 { 12417 case 0x00: 12418 goto op_semantics_96; 12419 break; 12420 } 12421 break; 12422 case 0x0f: 12423 GETBYTE (); 12424 switch (op[2] & 0x00) 12425 { 12426 case 0x00: 12427 goto op_semantics_97; 12428 break; 12429 } 12430 break; 12431 case 0x17: 12432 GETBYTE (); 12433 switch (op[2] & 0x70) 12434 { 12435 case 0x00: 12436 { 12437 /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */ 12438 #line 885 "rx-decode.opc" 12439 int a AU = (op[2] >> 7) & 0x01; 12440 #line 885 "rx-decode.opc" 12441 int rsrc AU = op[2] & 0x0f; 12442 if (trace) 12443 { 12444 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12445 "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */", 12446 op[0], op[1], op[2]); 12447 printf (" a = 0x%x,", a); 12448 printf (" rsrc = 0x%x\n", rsrc); 12449 } 12450 SYNTAX("mvtachi %1, %0"); 12451 #line 885 "rx-decode.opc" 12452 ID(mvtachi); DR(a+32); SR(rsrc); F_____; 12453 12454 } 12455 break; 12456 case 0x10: 12457 { 12458 /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */ 12459 #line 888 "rx-decode.opc" 12460 int a AU = (op[2] >> 7) & 0x01; 12461 #line 888 "rx-decode.opc" 12462 int rsrc AU = op[2] & 0x0f; 12463 if (trace) 12464 { 12465 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12466 "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */", 12467 op[0], op[1], op[2]); 12468 printf (" a = 0x%x,", a); 12469 printf (" rsrc = 0x%x\n", rsrc); 12470 } 12471 SYNTAX("mvtaclo %1, %0"); 12472 #line 888 "rx-decode.opc" 12473 ID(mvtaclo); DR(a+32); SR(rsrc); F_____; 12474 12475 } 12476 break; 12477 case 0x30: 12478 { 12479 /** 1111 1101 0001 0111 a011 rsrc mvtacgu %1, %0 */ 12480 #line 1110 "rx-decode.opc" 12481 int a AU = (op[2] >> 7) & 0x01; 12482 #line 1110 "rx-decode.opc" 12483 int rsrc AU = op[2] & 0x0f; 12484 if (trace) 12485 { 12486 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12487 "/** 1111 1101 0001 0111 a011 rsrc mvtacgu %1, %0 */", 12488 op[0], op[1], op[2]); 12489 printf (" a = 0x%x,", a); 12490 printf (" rsrc = 0x%x\n", rsrc); 12491 } 12492 SYNTAX("mvtacgu %1, %0"); 12493 #line 1110 "rx-decode.opc" 12494 ID(mvtacgu); SR(rsrc); DR(a+32); F_____; 12495 12496 } 12497 break; 12498 default: UNSUPPORTED(); break; 12499 } 12500 break; 12501 case 0x18: 12502 GETBYTE (); 12503 switch (op[2] & 0x6f) 12504 { 12505 case 0x00: 12506 { 12507 /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */ 12508 #line 900 "rx-decode.opc" 12509 int a AU = (op[2] >> 7) & 0x01; 12510 #line 900 "rx-decode.opc" 12511 int i AU = (op[2] >> 4) & 0x01; 12512 if (trace) 12513 { 12514 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12515 "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */", 12516 op[0], op[1], op[2]); 12517 printf (" a = 0x%x,", a); 12518 printf (" i = 0x%x\n", i); 12519 } 12520 SYNTAX("racw #%1, %0"); 12521 #line 900 "rx-decode.opc" 12522 ID(racw); SC(i+1); DR(a+32); F_____; 12523 12524 /*----------------------------------------------------------------------*/ 12525 /* SAT */ 12526 12527 } 12528 break; 12529 case 0x40: 12530 { 12531 /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */ 12532 #line 1119 "rx-decode.opc" 12533 int a AU = (op[2] >> 7) & 0x01; 12534 #line 1119 "rx-decode.opc" 12535 int i AU = (op[2] >> 4) & 0x01; 12536 if (trace) 12537 { 12538 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12539 "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */", 12540 op[0], op[1], op[2]); 12541 printf (" a = 0x%x,", a); 12542 printf (" i = 0x%x\n", i); 12543 } 12544 SYNTAX("rdacw #%1, %0"); 12545 #line 1119 "rx-decode.opc" 12546 ID(rdacw); SC(i+1); DR(a+32); F_____; 12547 12548 } 12549 break; 12550 default: UNSUPPORTED(); break; 12551 } 12552 break; 12553 case 0x19: 12554 GETBYTE (); 12555 switch (op[2] & 0x6f) 12556 { 12557 case 0x00: 12558 { 12559 /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */ 12560 #line 1113 "rx-decode.opc" 12561 int a AU = (op[2] >> 7) & 0x01; 12562 #line 1113 "rx-decode.opc" 12563 int i AU = (op[2] >> 4) & 0x01; 12564 if (trace) 12565 { 12566 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12567 "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */", 12568 op[0], op[1], op[2]); 12569 printf (" a = 0x%x,", a); 12570 printf (" i = 0x%x\n", i); 12571 } 12572 SYNTAX("racl #%1, %0"); 12573 #line 1113 "rx-decode.opc" 12574 ID(racl); SC(i+1); DR(a+32); F_____; 12575 12576 } 12577 break; 12578 case 0x40: 12579 { 12580 /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */ 12581 #line 1116 "rx-decode.opc" 12582 int a AU = (op[2] >> 7) & 0x01; 12583 #line 1116 "rx-decode.opc" 12584 int i AU = (op[2] >> 4) & 0x01; 12585 if (trace) 12586 { 12587 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12588 "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */", 12589 op[0], op[1], op[2]); 12590 printf (" a = 0x%x,", a); 12591 printf (" i = 0x%x\n", i); 12592 } 12593 SYNTAX("rdacl #%1, %0"); 12594 #line 1116 "rx-decode.opc" 12595 ID(rdacl); SC(i+1); DR(a+32); F_____; 12596 12597 } 12598 break; 12599 default: UNSUPPORTED(); break; 12600 } 12601 break; 12602 case 0x1e: 12603 GETBYTE (); 12604 switch (op[2] & 0x30) 12605 { 12606 case 0x00: 12607 op_semantics_98: 12608 { 12609 /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */ 12610 #line 891 "rx-decode.opc" 12611 int i AU = op[1] & 0x01; 12612 #line 891 "rx-decode.opc" 12613 int a AU = (op[2] >> 7) & 0x01; 12614 #line 891 "rx-decode.opc" 12615 int m AU = (op[2] >> 6) & 0x01; 12616 #line 891 "rx-decode.opc" 12617 int rdst AU = op[2] & 0x0f; 12618 if (trace) 12619 { 12620 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12621 "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */", 12622 op[0], op[1], op[2]); 12623 printf (" i = 0x%x,", i); 12624 printf (" a = 0x%x,", a); 12625 printf (" m = 0x%x,", m); 12626 printf (" rdst = 0x%x\n", rdst); 12627 } 12628 SYNTAX("mvfachi #%2, %1, %0"); 12629 #line 891 "rx-decode.opc" 12630 ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; 12631 12632 } 12633 break; 12634 case 0x10: 12635 op_semantics_99: 12636 { 12637 /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */ 12638 #line 897 "rx-decode.opc" 12639 int i AU = op[1] & 0x01; 12640 #line 897 "rx-decode.opc" 12641 int a AU = (op[2] >> 7) & 0x01; 12642 #line 897 "rx-decode.opc" 12643 int m AU = (op[2] >> 6) & 0x01; 12644 #line 897 "rx-decode.opc" 12645 int rdst AU = op[2] & 0x0f; 12646 if (trace) 12647 { 12648 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12649 "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */", 12650 op[0], op[1], op[2]); 12651 printf (" i = 0x%x,", i); 12652 printf (" a = 0x%x,", a); 12653 printf (" m = 0x%x,", m); 12654 printf (" rdst = 0x%x\n", rdst); 12655 } 12656 SYNTAX("mvfaclo #%2, %1, %0"); 12657 #line 897 "rx-decode.opc" 12658 ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; 12659 12660 } 12661 break; 12662 case 0x20: 12663 op_semantics_100: 12664 { 12665 /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */ 12666 #line 894 "rx-decode.opc" 12667 int i AU = op[1] & 0x01; 12668 #line 894 "rx-decode.opc" 12669 int a AU = (op[2] >> 7) & 0x01; 12670 #line 894 "rx-decode.opc" 12671 int m AU = (op[2] >> 6) & 0x01; 12672 #line 894 "rx-decode.opc" 12673 int rdst AU = op[2] & 0x0f; 12674 if (trace) 12675 { 12676 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12677 "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */", 12678 op[0], op[1], op[2]); 12679 printf (" i = 0x%x,", i); 12680 printf (" a = 0x%x,", a); 12681 printf (" m = 0x%x,", m); 12682 printf (" rdst = 0x%x\n", rdst); 12683 } 12684 SYNTAX("mvfacmi #%2, %1, %0"); 12685 #line 894 "rx-decode.opc" 12686 ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; 12687 12688 } 12689 break; 12690 case 0x30: 12691 op_semantics_101: 12692 { 12693 /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */ 12694 #line 1107 "rx-decode.opc" 12695 int i AU = op[1] & 0x01; 12696 #line 1107 "rx-decode.opc" 12697 int a AU = (op[2] >> 7) & 0x01; 12698 #line 1107 "rx-decode.opc" 12699 int m AU = (op[2] >> 6) & 0x01; 12700 #line 1107 "rx-decode.opc" 12701 int rdst AU = op[2] & 0x0f; 12702 if (trace) 12703 { 12704 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12705 "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */", 12706 op[0], op[1], op[2]); 12707 printf (" i = 0x%x,", i); 12708 printf (" a = 0x%x,", a); 12709 printf (" m = 0x%x,", m); 12710 printf (" rdst = 0x%x\n", rdst); 12711 } 12712 SYNTAX("mvfacgu #%2, %1, %0"); 12713 #line 1107 "rx-decode.opc" 12714 ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____; 12715 12716 } 12717 break; 12718 } 12719 break; 12720 case 0x1f: 12721 GETBYTE (); 12722 switch (op[2] & 0x30) 12723 { 12724 case 0x00: 12725 goto op_semantics_98; 12726 break; 12727 case 0x10: 12728 goto op_semantics_99; 12729 break; 12730 case 0x20: 12731 goto op_semantics_100; 12732 break; 12733 case 0x30: 12734 goto op_semantics_101; 12735 break; 12736 } 12737 break; 12738 case 0x20: 12739 GETBYTE (); 12740 switch (op[2] & 0x00) 12741 { 12742 case 0x00: 12743 op_semantics_102: 12744 { 12745 /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */ 12746 #line 369 "rx-decode.opc" 12747 int p AU = (op[1] >> 2) & 0x01; 12748 #line 369 "rx-decode.opc" 12749 int sz AU = op[1] & 0x03; 12750 #line 369 "rx-decode.opc" 12751 int rdst AU = (op[2] >> 4) & 0x0f; 12752 #line 369 "rx-decode.opc" 12753 int rsrc AU = op[2] & 0x0f; 12754 if (trace) 12755 { 12756 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12757 "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */", 12758 op[0], op[1], op[2]); 12759 printf (" p = 0x%x,", p); 12760 printf (" sz = 0x%x,", sz); 12761 printf (" rdst = 0x%x,", rdst); 12762 printf (" rsrc = 0x%x\n", rsrc); 12763 } 12764 SYNTAX("mov%s %1, %0"); 12765 #line 369 "rx-decode.opc" 12766 ID(mov); sBWL (sz); SR(rsrc); F_____; 12767 OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0); 12768 12769 } 12770 break; 12771 } 12772 break; 12773 case 0x21: 12774 GETBYTE (); 12775 switch (op[2] & 0x00) 12776 { 12777 case 0x00: 12778 goto op_semantics_102; 12779 break; 12780 } 12781 break; 12782 case 0x22: 12783 GETBYTE (); 12784 switch (op[2] & 0x00) 12785 { 12786 case 0x00: 12787 goto op_semantics_102; 12788 break; 12789 } 12790 break; 12791 case 0x24: 12792 GETBYTE (); 12793 switch (op[2] & 0x00) 12794 { 12795 case 0x00: 12796 goto op_semantics_102; 12797 break; 12798 } 12799 break; 12800 case 0x25: 12801 GETBYTE (); 12802 switch (op[2] & 0x00) 12803 { 12804 case 0x00: 12805 goto op_semantics_102; 12806 break; 12807 } 12808 break; 12809 case 0x26: 12810 GETBYTE (); 12811 switch (op[2] & 0x00) 12812 { 12813 case 0x00: 12814 goto op_semantics_102; 12815 break; 12816 } 12817 break; 12818 case 0x27: 12819 GETBYTE (); 12820 switch (op[2] & 0x00) 12821 { 12822 case 0x00: 12823 { 12824 /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */ 12825 #line 1071 "rx-decode.opc" 12826 int rdst AU = (op[2] >> 4) & 0x0f; 12827 #line 1071 "rx-decode.opc" 12828 int rsrc AU = op[2] & 0x0f; 12829 if (trace) 12830 { 12831 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12832 "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */", 12833 op[0], op[1], op[2]); 12834 printf (" rdst = 0x%x,", rdst); 12835 printf (" rsrc = 0x%x\n", rsrc); 12836 } 12837 SYNTAX("movco %1, [%0]"); 12838 #line 1071 "rx-decode.opc" 12839 ID(movco); SR(rsrc); DR(rdst); F_____; 12840 12841 } 12842 break; 12843 } 12844 break; 12845 case 0x28: 12846 GETBYTE (); 12847 switch (op[2] & 0x00) 12848 { 12849 case 0x00: 12850 op_semantics_103: 12851 { 12852 /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */ 12853 #line 373 "rx-decode.opc" 12854 int p AU = (op[1] >> 2) & 0x01; 12855 #line 373 "rx-decode.opc" 12856 int sz AU = op[1] & 0x03; 12857 #line 373 "rx-decode.opc" 12858 int rsrc AU = (op[2] >> 4) & 0x0f; 12859 #line 373 "rx-decode.opc" 12860 int rdst AU = op[2] & 0x0f; 12861 if (trace) 12862 { 12863 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12864 "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */", 12865 op[0], op[1], op[2]); 12866 printf (" p = 0x%x,", p); 12867 printf (" sz = 0x%x,", sz); 12868 printf (" rsrc = 0x%x,", rsrc); 12869 printf (" rdst = 0x%x\n", rdst); 12870 } 12871 SYNTAX("mov%s %1, %0"); 12872 #line 373 "rx-decode.opc" 12873 ID(mov); sBWL (sz); DR(rdst); F_____; 12874 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0); 12875 12876 } 12877 break; 12878 } 12879 break; 12880 case 0x29: 12881 GETBYTE (); 12882 switch (op[2] & 0x00) 12883 { 12884 case 0x00: 12885 goto op_semantics_103; 12886 break; 12887 } 12888 break; 12889 case 0x2a: 12890 GETBYTE (); 12891 switch (op[2] & 0x00) 12892 { 12893 case 0x00: 12894 goto op_semantics_103; 12895 break; 12896 } 12897 break; 12898 case 0x2c: 12899 GETBYTE (); 12900 switch (op[2] & 0x00) 12901 { 12902 case 0x00: 12903 goto op_semantics_103; 12904 break; 12905 } 12906 break; 12907 case 0x2d: 12908 GETBYTE (); 12909 switch (op[2] & 0x00) 12910 { 12911 case 0x00: 12912 goto op_semantics_103; 12913 break; 12914 } 12915 break; 12916 case 0x2e: 12917 GETBYTE (); 12918 switch (op[2] & 0x00) 12919 { 12920 case 0x00: 12921 goto op_semantics_103; 12922 break; 12923 } 12924 break; 12925 case 0x2f: 12926 GETBYTE (); 12927 switch (op[2] & 0x00) 12928 { 12929 case 0x00: 12930 { 12931 /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */ 12932 #line 1074 "rx-decode.opc" 12933 int rsrc AU = (op[2] >> 4) & 0x0f; 12934 #line 1074 "rx-decode.opc" 12935 int rdst AU = op[2] & 0x0f; 12936 if (trace) 12937 { 12938 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12939 "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */", 12940 op[0], op[1], op[2]); 12941 printf (" rsrc = 0x%x,", rsrc); 12942 printf (" rdst = 0x%x\n", rdst); 12943 } 12944 SYNTAX("movli [%1], %0"); 12945 #line 1074 "rx-decode.opc" 12946 ID(movli); SR(rsrc); DR(rdst); F_____; 12947 12948 } 12949 break; 12950 } 12951 break; 12952 case 0x38: 12953 GETBYTE (); 12954 switch (op[2] & 0x00) 12955 { 12956 case 0x00: 12957 op_semantics_104: 12958 { 12959 /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */ 12960 #line 383 "rx-decode.opc" 12961 int p AU = (op[1] >> 2) & 0x01; 12962 #line 383 "rx-decode.opc" 12963 int sz AU = op[1] & 0x03; 12964 #line 383 "rx-decode.opc" 12965 int rsrc AU = (op[2] >> 4) & 0x0f; 12966 #line 383 "rx-decode.opc" 12967 int rdst AU = op[2] & 0x0f; 12968 if (trace) 12969 { 12970 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 12971 "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */", 12972 op[0], op[1], op[2]); 12973 printf (" p = 0x%x,", p); 12974 printf (" sz = 0x%x,", sz); 12975 printf (" rsrc = 0x%x,", rsrc); 12976 printf (" rdst = 0x%x\n", rdst); 12977 } 12978 SYNTAX("movu%s %1, %0"); 12979 #line 383 "rx-decode.opc" 12980 ID(mov); uBW (sz); DR(rdst); F_____; 12981 OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0); 12982 12983 /*----------------------------------------------------------------------*/ 12984 /* PUSH/POP */ 12985 12986 } 12987 break; 12988 } 12989 break; 12990 case 0x39: 12991 GETBYTE (); 12992 switch (op[2] & 0x00) 12993 { 12994 case 0x00: 12995 goto op_semantics_104; 12996 break; 12997 } 12998 break; 12999 case 0x3a: 13000 GETBYTE (); 13001 switch (op[2] & 0x00) 13002 { 13003 case 0x00: 13004 goto op_semantics_104; 13005 break; 13006 } 13007 break; 13008 case 0x3c: 13009 GETBYTE (); 13010 switch (op[2] & 0x00) 13011 { 13012 case 0x00: 13013 goto op_semantics_104; 13014 break; 13015 } 13016 break; 13017 case 0x3d: 13018 GETBYTE (); 13019 switch (op[2] & 0x00) 13020 { 13021 case 0x00: 13022 goto op_semantics_104; 13023 break; 13024 } 13025 break; 13026 case 0x3e: 13027 GETBYTE (); 13028 switch (op[2] & 0x00) 13029 { 13030 case 0x00: 13031 goto op_semantics_104; 13032 break; 13033 } 13034 break; 13035 case 0x44: 13036 GETBYTE (); 13037 switch (op[2] & 0x00) 13038 { 13039 case 0x00: 13040 op_semantics_105: 13041 { 13042 /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */ 13043 #line 1095 "rx-decode.opc" 13044 int a AU = (op[1] >> 3) & 0x01; 13045 #line 1095 "rx-decode.opc" 13046 int srca AU = (op[2] >> 4) & 0x0f; 13047 #line 1095 "rx-decode.opc" 13048 int srcb AU = op[2] & 0x0f; 13049 if (trace) 13050 { 13051 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13052 "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */", 13053 op[0], op[1], op[2]); 13054 printf (" a = 0x%x,", a); 13055 printf (" srca = 0x%x,", srca); 13056 printf (" srcb = 0x%x\n", srcb); 13057 } 13058 SYNTAX("msbhi %1, %2, %0"); 13059 #line 1095 "rx-decode.opc" 13060 ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____; 13061 13062 } 13063 break; 13064 } 13065 break; 13066 case 0x45: 13067 GETBYTE (); 13068 switch (op[2] & 0x00) 13069 { 13070 case 0x00: 13071 op_semantics_106: 13072 { 13073 /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */ 13074 #line 1101 "rx-decode.opc" 13075 int a AU = (op[1] >> 3) & 0x01; 13076 #line 1101 "rx-decode.opc" 13077 int srca AU = (op[2] >> 4) & 0x0f; 13078 #line 1101 "rx-decode.opc" 13079 int srcb AU = op[2] & 0x0f; 13080 if (trace) 13081 { 13082 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13083 "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */", 13084 op[0], op[1], op[2]); 13085 printf (" a = 0x%x,", a); 13086 printf (" srca = 0x%x,", srca); 13087 printf (" srcb = 0x%x\n", srcb); 13088 } 13089 SYNTAX("msblo %1, %2, %0"); 13090 #line 1101 "rx-decode.opc" 13091 ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____; 13092 13093 } 13094 break; 13095 } 13096 break; 13097 case 0x46: 13098 GETBYTE (); 13099 switch (op[2] & 0x00) 13100 { 13101 case 0x00: 13102 op_semantics_107: 13103 { 13104 /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */ 13105 #line 1098 "rx-decode.opc" 13106 int a AU = (op[1] >> 3) & 0x01; 13107 #line 1098 "rx-decode.opc" 13108 int srca AU = (op[2] >> 4) & 0x0f; 13109 #line 1098 "rx-decode.opc" 13110 int srcb AU = op[2] & 0x0f; 13111 if (trace) 13112 { 13113 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13114 "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */", 13115 op[0], op[1], op[2]); 13116 printf (" a = 0x%x,", a); 13117 printf (" srca = 0x%x,", srca); 13118 printf (" srcb = 0x%x\n", srcb); 13119 } 13120 SYNTAX("msblh %1, %2, %0"); 13121 #line 1098 "rx-decode.opc" 13122 ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____; 13123 13124 } 13125 break; 13126 } 13127 break; 13128 case 0x47: 13129 GETBYTE (); 13130 switch (op[2] & 0x00) 13131 { 13132 case 0x00: 13133 op_semantics_108: 13134 { 13135 /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */ 13136 #line 1086 "rx-decode.opc" 13137 int a AU = (op[1] >> 3) & 0x01; 13138 #line 1086 "rx-decode.opc" 13139 int srca AU = (op[2] >> 4) & 0x0f; 13140 #line 1086 "rx-decode.opc" 13141 int srcb AU = op[2] & 0x0f; 13142 if (trace) 13143 { 13144 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13145 "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */", 13146 op[0], op[1], op[2]); 13147 printf (" a = 0x%x,", a); 13148 printf (" srca = 0x%x,", srca); 13149 printf (" srcb = 0x%x\n", srcb); 13150 } 13151 SYNTAX("emsba %1, %2, %0"); 13152 #line 1086 "rx-decode.opc" 13153 ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____; 13154 13155 } 13156 break; 13157 } 13158 break; 13159 case 0x4c: 13160 GETBYTE (); 13161 switch (op[2] & 0x00) 13162 { 13163 case 0x00: 13164 goto op_semantics_105; 13165 break; 13166 } 13167 break; 13168 case 0x4d: 13169 GETBYTE (); 13170 switch (op[2] & 0x00) 13171 { 13172 case 0x00: 13173 goto op_semantics_106; 13174 break; 13175 } 13176 break; 13177 case 0x4e: 13178 GETBYTE (); 13179 switch (op[2] & 0x00) 13180 { 13181 case 0x00: 13182 goto op_semantics_107; 13183 break; 13184 } 13185 break; 13186 case 0x4f: 13187 GETBYTE (); 13188 switch (op[2] & 0x00) 13189 { 13190 case 0x00: 13191 goto op_semantics_108; 13192 break; 13193 } 13194 break; 13195 case 0x60: 13196 GETBYTE (); 13197 switch (op[2] & 0x00) 13198 { 13199 case 0x00: 13200 { 13201 /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */ 13202 #line 754 "rx-decode.opc" 13203 int rsrc AU = (op[2] >> 4) & 0x0f; 13204 #line 754 "rx-decode.opc" 13205 int rdst AU = op[2] & 0x0f; 13206 if (trace) 13207 { 13208 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13209 "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */", 13210 op[0], op[1], op[2]); 13211 printf (" rsrc = 0x%x,", rsrc); 13212 printf (" rdst = 0x%x\n", rdst); 13213 } 13214 SYNTAX("shlr %2, %0"); 13215 #line 754 "rx-decode.opc" 13216 ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC; 13217 13218 } 13219 break; 13220 } 13221 break; 13222 case 0x61: 13223 GETBYTE (); 13224 switch (op[2] & 0x00) 13225 { 13226 case 0x00: 13227 { 13228 /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */ 13229 #line 744 "rx-decode.opc" 13230 int rsrc AU = (op[2] >> 4) & 0x0f; 13231 #line 744 "rx-decode.opc" 13232 int rdst AU = op[2] & 0x0f; 13233 if (trace) 13234 { 13235 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13236 "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */", 13237 op[0], op[1], op[2]); 13238 printf (" rsrc = 0x%x,", rsrc); 13239 printf (" rdst = 0x%x\n", rdst); 13240 } 13241 SYNTAX("shar %2, %0"); 13242 #line 744 "rx-decode.opc" 13243 ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC; 13244 13245 } 13246 break; 13247 } 13248 break; 13249 case 0x62: 13250 GETBYTE (); 13251 switch (op[2] & 0x00) 13252 { 13253 case 0x00: 13254 { 13255 /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */ 13256 #line 734 "rx-decode.opc" 13257 int rsrc AU = (op[2] >> 4) & 0x0f; 13258 #line 734 "rx-decode.opc" 13259 int rdst AU = op[2] & 0x0f; 13260 if (trace) 13261 { 13262 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13263 "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */", 13264 op[0], op[1], op[2]); 13265 printf (" rsrc = 0x%x,", rsrc); 13266 printf (" rdst = 0x%x\n", rdst); 13267 } 13268 SYNTAX("shll %2, %0"); 13269 #line 734 "rx-decode.opc" 13270 ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC; 13271 13272 } 13273 break; 13274 } 13275 break; 13276 case 0x64: 13277 GETBYTE (); 13278 switch (op[2] & 0x00) 13279 { 13280 case 0x00: 13281 { 13282 /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */ 13283 #line 778 "rx-decode.opc" 13284 int rsrc AU = (op[2] >> 4) & 0x0f; 13285 #line 778 "rx-decode.opc" 13286 int rdst AU = op[2] & 0x0f; 13287 if (trace) 13288 { 13289 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13290 "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */", 13291 op[0], op[1], op[2]); 13292 printf (" rsrc = 0x%x,", rsrc); 13293 printf (" rdst = 0x%x\n", rdst); 13294 } 13295 SYNTAX("rotr %1, %0"); 13296 #line 778 "rx-decode.opc" 13297 ID(rotr); SR(rsrc); DR(rdst); F__SZC; 13298 13299 } 13300 break; 13301 } 13302 break; 13303 case 0x65: 13304 GETBYTE (); 13305 switch (op[2] & 0x00) 13306 { 13307 case 0x00: 13308 { 13309 /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */ 13310 #line 781 "rx-decode.opc" 13311 int rsrc AU = (op[2] >> 4) & 0x0f; 13312 #line 781 "rx-decode.opc" 13313 int rdst AU = op[2] & 0x0f; 13314 if (trace) 13315 { 13316 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13317 "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */", 13318 op[0], op[1], op[2]); 13319 printf (" rsrc = 0x%x,", rsrc); 13320 printf (" rdst = 0x%x\n", rdst); 13321 } 13322 SYNTAX("revw %1, %0"); 13323 #line 781 "rx-decode.opc" 13324 ID(revw); SR(rsrc); DR(rdst); 13325 13326 } 13327 break; 13328 } 13329 break; 13330 case 0x66: 13331 GETBYTE (); 13332 switch (op[2] & 0x00) 13333 { 13334 case 0x00: 13335 { 13336 /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */ 13337 #line 772 "rx-decode.opc" 13338 int rsrc AU = (op[2] >> 4) & 0x0f; 13339 #line 772 "rx-decode.opc" 13340 int rdst AU = op[2] & 0x0f; 13341 if (trace) 13342 { 13343 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13344 "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */", 13345 op[0], op[1], op[2]); 13346 printf (" rsrc = 0x%x,", rsrc); 13347 printf (" rdst = 0x%x\n", rdst); 13348 } 13349 SYNTAX("rotl %1, %0"); 13350 #line 772 "rx-decode.opc" 13351 ID(rotl); SR(rsrc); DR(rdst); F__SZC; 13352 13353 } 13354 break; 13355 } 13356 break; 13357 case 0x67: 13358 GETBYTE (); 13359 switch (op[2] & 0x00) 13360 { 13361 case 0x00: 13362 { 13363 /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */ 13364 #line 784 "rx-decode.opc" 13365 int rsrc AU = (op[2] >> 4) & 0x0f; 13366 #line 784 "rx-decode.opc" 13367 int rdst AU = op[2] & 0x0f; 13368 if (trace) 13369 { 13370 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13371 "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */", 13372 op[0], op[1], op[2]); 13373 printf (" rsrc = 0x%x,", rsrc); 13374 printf (" rdst = 0x%x\n", rdst); 13375 } 13376 SYNTAX("revl %1, %0"); 13377 #line 784 "rx-decode.opc" 13378 ID(revl); SR(rsrc); DR(rdst); 13379 13380 /*----------------------------------------------------------------------*/ 13381 /* BRANCH */ 13382 13383 } 13384 break; 13385 } 13386 break; 13387 case 0x68: 13388 GETBYTE (); 13389 switch (op[2] & 0x00) 13390 { 13391 case 0x00: 13392 op_semantics_109: 13393 { 13394 /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */ 13395 #line 1035 "rx-decode.opc" 13396 int c AU = op[1] & 0x01; 13397 #line 1035 "rx-decode.opc" 13398 int rsrc AU = (op[2] >> 4) & 0x0f; 13399 #line 1035 "rx-decode.opc" 13400 int rdst AU = op[2] & 0x0f; 13401 if (trace) 13402 { 13403 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13404 "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */", 13405 op[0], op[1], op[2]); 13406 printf (" c = 0x%x,", c); 13407 printf (" rsrc = 0x%x,", rsrc); 13408 printf (" rdst = 0x%x\n", rdst); 13409 } 13410 SYNTAX("mvtc %1, %0"); 13411 #line 1035 "rx-decode.opc" 13412 ID(mov); SR(rsrc); DR(c*16+rdst + 16); 13413 13414 } 13415 break; 13416 } 13417 break; 13418 case 0x69: 13419 GETBYTE (); 13420 switch (op[2] & 0x00) 13421 { 13422 case 0x00: 13423 goto op_semantics_109; 13424 break; 13425 } 13426 break; 13427 case 0x6a: 13428 GETBYTE (); 13429 switch (op[2] & 0x00) 13430 { 13431 case 0x00: 13432 op_semantics_110: 13433 { 13434 /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */ 13435 #line 1038 "rx-decode.opc" 13436 int s AU = op[1] & 0x01; 13437 #line 1038 "rx-decode.opc" 13438 int rsrc AU = (op[2] >> 4) & 0x0f; 13439 #line 1038 "rx-decode.opc" 13440 int rdst AU = op[2] & 0x0f; 13441 if (trace) 13442 { 13443 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13444 "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */", 13445 op[0], op[1], op[2]); 13446 printf (" s = 0x%x,", s); 13447 printf (" rsrc = 0x%x,", rsrc); 13448 printf (" rdst = 0x%x\n", rdst); 13449 } 13450 SYNTAX("mvfc %1, %0"); 13451 #line 1038 "rx-decode.opc" 13452 ID(mov); SR((s*16+rsrc) + 16); DR(rdst); 13453 13454 /*----------------------------------------------------------------------*/ 13455 /* INTERRUPTS */ 13456 13457 } 13458 break; 13459 } 13460 break; 13461 case 0x6b: 13462 GETBYTE (); 13463 switch (op[2] & 0x00) 13464 { 13465 case 0x00: 13466 goto op_semantics_110; 13467 break; 13468 } 13469 break; 13470 case 0x6c: 13471 GETBYTE (); 13472 switch (op[2] & 0x00) 13473 { 13474 case 0x00: 13475 op_semantics_111: 13476 { 13477 /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */ 13478 #line 775 "rx-decode.opc" 13479 int i AU = op[1] & 0x01; 13480 #line 775 "rx-decode.opc" 13481 int mmmm AU = (op[2] >> 4) & 0x0f; 13482 #line 775 "rx-decode.opc" 13483 int rdst AU = op[2] & 0x0f; 13484 if (trace) 13485 { 13486 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13487 "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */", 13488 op[0], op[1], op[2]); 13489 printf (" i = 0x%x,", i); 13490 printf (" mmmm = 0x%x,", mmmm); 13491 printf (" rdst = 0x%x\n", rdst); 13492 } 13493 SYNTAX("rotr #%1, %0"); 13494 #line 775 "rx-decode.opc" 13495 ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC; 13496 13497 } 13498 break; 13499 } 13500 break; 13501 case 0x6d: 13502 GETBYTE (); 13503 switch (op[2] & 0x00) 13504 { 13505 case 0x00: 13506 goto op_semantics_111; 13507 break; 13508 } 13509 break; 13510 case 0x6e: 13511 GETBYTE (); 13512 switch (op[2] & 0x00) 13513 { 13514 case 0x00: 13515 op_semantics_112: 13516 { 13517 /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */ 13518 #line 769 "rx-decode.opc" 13519 int i AU = op[1] & 0x01; 13520 #line 769 "rx-decode.opc" 13521 int mmmm AU = (op[2] >> 4) & 0x0f; 13522 #line 769 "rx-decode.opc" 13523 int rdst AU = op[2] & 0x0f; 13524 if (trace) 13525 { 13526 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13527 "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */", 13528 op[0], op[1], op[2]); 13529 printf (" i = 0x%x,", i); 13530 printf (" mmmm = 0x%x,", mmmm); 13531 printf (" rdst = 0x%x\n", rdst); 13532 } 13533 SYNTAX("rotl #%1, %0"); 13534 #line 769 "rx-decode.opc" 13535 ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC; 13536 13537 } 13538 break; 13539 } 13540 break; 13541 case 0x6f: 13542 GETBYTE (); 13543 switch (op[2] & 0x00) 13544 { 13545 case 0x00: 13546 goto op_semantics_112; 13547 break; 13548 } 13549 break; 13550 case 0x70: 13551 GETBYTE (); 13552 switch (op[2] & 0xf0) 13553 { 13554 case 0x20: 13555 op_semantics_113: 13556 { 13557 /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */ 13558 #line 513 "rx-decode.opc" 13559 int im AU = (op[1] >> 2) & 0x03; 13560 #line 513 "rx-decode.opc" 13561 int rdst AU = op[2] & 0x0f; 13562 if (trace) 13563 { 13564 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13565 "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */", 13566 op[0], op[1], op[2]); 13567 printf (" im = 0x%x,", im); 13568 printf (" rdst = 0x%x\n", rdst); 13569 } 13570 SYNTAX("adc #%1, %0"); 13571 #line 513 "rx-decode.opc" 13572 ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC; 13573 13574 } 13575 break; 13576 case 0x40: 13577 op_semantics_114: 13578 { 13579 /** 1111 1101 0111 im00 0100rdst max #%1, %0 */ 13580 #line 595 "rx-decode.opc" 13581 int im AU = (op[1] >> 2) & 0x03; 13582 #line 595 "rx-decode.opc" 13583 int rdst AU = op[2] & 0x0f; 13584 if (trace) 13585 { 13586 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13587 "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */", 13588 op[0], op[1], op[2]); 13589 printf (" im = 0x%x,", im); 13590 printf (" rdst = 0x%x\n", rdst); 13591 } 13592 SYNTAX("max #%1, %0"); 13593 #line 595 "rx-decode.opc" 13594 int val = IMMex (im); 13595 if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0) 13596 { 13597 ID (nop7); 13598 SYNTAX("nop\t; max\t#0x80000000, r0"); 13599 } 13600 else 13601 { 13602 ID(max); 13603 } 13604 DR(rdst); SC(val); 13605 13606 } 13607 break; 13608 case 0x50: 13609 op_semantics_115: 13610 { 13611 /** 1111 1101 0111 im00 0101rdst min #%1, %0 */ 13612 #line 625 "rx-decode.opc" 13613 int im AU = (op[1] >> 2) & 0x03; 13614 #line 625 "rx-decode.opc" 13615 int rdst AU = op[2] & 0x0f; 13616 if (trace) 13617 { 13618 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13619 "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */", 13620 op[0], op[1], op[2]); 13621 printf (" im = 0x%x,", im); 13622 printf (" rdst = 0x%x\n", rdst); 13623 } 13624 SYNTAX("min #%1, %0"); 13625 #line 625 "rx-decode.opc" 13626 ID(min); DR(rdst); SC(IMMex(im)); 13627 13628 } 13629 break; 13630 case 0x60: 13631 op_semantics_116: 13632 { 13633 /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */ 13634 #line 683 "rx-decode.opc" 13635 int im AU = (op[1] >> 2) & 0x03; 13636 #line 683 "rx-decode.opc" 13637 int rdst AU = op[2] & 0x0f; 13638 if (trace) 13639 { 13640 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13641 "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */", 13642 op[0], op[1], op[2]); 13643 printf (" im = 0x%x,", im); 13644 printf (" rdst = 0x%x\n", rdst); 13645 } 13646 SYNTAX("emul #%1, %0"); 13647 #line 683 "rx-decode.opc" 13648 ID(emul); DR(rdst); SC(IMMex(im)); 13649 13650 } 13651 break; 13652 case 0x70: 13653 op_semantics_117: 13654 { 13655 /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */ 13656 #line 695 "rx-decode.opc" 13657 int im AU = (op[1] >> 2) & 0x03; 13658 #line 695 "rx-decode.opc" 13659 int rdst AU = op[2] & 0x0f; 13660 if (trace) 13661 { 13662 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13663 "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */", 13664 op[0], op[1], op[2]); 13665 printf (" im = 0x%x,", im); 13666 printf (" rdst = 0x%x\n", rdst); 13667 } 13668 SYNTAX("emulu #%1, %0"); 13669 #line 695 "rx-decode.opc" 13670 ID(emulu); DR(rdst); SC(IMMex(im)); 13671 13672 } 13673 break; 13674 case 0x80: 13675 op_semantics_118: 13676 { 13677 /** 1111 1101 0111 im00 1000rdst div #%1, %0 */ 13678 #line 707 "rx-decode.opc" 13679 int im AU = (op[1] >> 2) & 0x03; 13680 #line 707 "rx-decode.opc" 13681 int rdst AU = op[2] & 0x0f; 13682 if (trace) 13683 { 13684 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13685 "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */", 13686 op[0], op[1], op[2]); 13687 printf (" im = 0x%x,", im); 13688 printf (" rdst = 0x%x\n", rdst); 13689 } 13690 SYNTAX("div #%1, %0"); 13691 #line 707 "rx-decode.opc" 13692 ID(div); DR(rdst); SC(IMMex(im)); F_O___; 13693 13694 } 13695 break; 13696 case 0x90: 13697 op_semantics_119: 13698 { 13699 /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */ 13700 #line 719 "rx-decode.opc" 13701 int im AU = (op[1] >> 2) & 0x03; 13702 #line 719 "rx-decode.opc" 13703 int rdst AU = op[2] & 0x0f; 13704 if (trace) 13705 { 13706 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13707 "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */", 13708 op[0], op[1], op[2]); 13709 printf (" im = 0x%x,", im); 13710 printf (" rdst = 0x%x\n", rdst); 13711 } 13712 SYNTAX("divu #%1, %0"); 13713 #line 719 "rx-decode.opc" 13714 ID(divu); DR(rdst); SC(IMMex(im)); F_O___; 13715 13716 } 13717 break; 13718 case 0xc0: 13719 op_semantics_120: 13720 { 13721 /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */ 13722 #line 492 "rx-decode.opc" 13723 int im AU = (op[1] >> 2) & 0x03; 13724 #line 492 "rx-decode.opc" 13725 int rdst AU = op[2] & 0x0f; 13726 if (trace) 13727 { 13728 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13729 "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */", 13730 op[0], op[1], op[2]); 13731 printf (" im = 0x%x,", im); 13732 printf (" rdst = 0x%x\n", rdst); 13733 } 13734 SYNTAX("tst #%1, %2"); 13735 #line 492 "rx-decode.opc" 13736 ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_; 13737 13738 } 13739 break; 13740 case 0xd0: 13741 op_semantics_121: 13742 { 13743 /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */ 13744 #line 471 "rx-decode.opc" 13745 int im AU = (op[1] >> 2) & 0x03; 13746 #line 471 "rx-decode.opc" 13747 int rdst AU = op[2] & 0x0f; 13748 if (trace) 13749 { 13750 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13751 "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */", 13752 op[0], op[1], op[2]); 13753 printf (" im = 0x%x,", im); 13754 printf (" rdst = 0x%x\n", rdst); 13755 } 13756 SYNTAX("xor #%1, %0"); 13757 #line 471 "rx-decode.opc" 13758 ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_; 13759 13760 } 13761 break; 13762 case 0xe0: 13763 op_semantics_122: 13764 { 13765 /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */ 13766 #line 417 "rx-decode.opc" 13767 int im AU = (op[1] >> 2) & 0x03; 13768 #line 417 "rx-decode.opc" 13769 int rdst AU = op[2] & 0x0f; 13770 if (trace) 13771 { 13772 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13773 "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */", 13774 op[0], op[1], op[2]); 13775 printf (" im = 0x%x,", im); 13776 printf (" rdst = 0x%x\n", rdst); 13777 } 13778 SYNTAX("stz #%1, %0"); 13779 #line 417 "rx-decode.opc" 13780 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z); 13781 13782 } 13783 break; 13784 case 0xf0: 13785 op_semantics_123: 13786 { 13787 /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */ 13788 #line 420 "rx-decode.opc" 13789 int im AU = (op[1] >> 2) & 0x03; 13790 #line 420 "rx-decode.opc" 13791 int rdst AU = op[2] & 0x0f; 13792 if (trace) 13793 { 13794 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13795 "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */", 13796 op[0], op[1], op[2]); 13797 printf (" im = 0x%x,", im); 13798 printf (" rdst = 0x%x\n", rdst); 13799 } 13800 SYNTAX("stnz #%1, %0"); 13801 #line 420 "rx-decode.opc" 13802 ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz); 13803 13804 /*----------------------------------------------------------------------*/ 13805 /* RTSD */ 13806 13807 } 13808 break; 13809 default: UNSUPPORTED(); break; 13810 } 13811 break; 13812 case 0x72: 13813 GETBYTE (); 13814 switch (op[2] & 0xf0) 13815 { 13816 case 0x00: 13817 { 13818 /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */ 13819 #line 927 "rx-decode.opc" 13820 int rdst AU = op[2] & 0x0f; 13821 if (trace) 13822 { 13823 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13824 "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */", 13825 op[0], op[1], op[2]); 13826 printf (" rdst = 0x%x\n", rdst); 13827 } 13828 SYNTAX("fsub #%1, %0"); 13829 #line 927 "rx-decode.opc" 13830 ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_; 13831 13832 } 13833 break; 13834 case 0x10: 13835 { 13836 /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */ 13837 #line 921 "rx-decode.opc" 13838 int rdst AU = op[2] & 0x0f; 13839 if (trace) 13840 { 13841 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13842 "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */", 13843 op[0], op[1], op[2]); 13844 printf (" rdst = 0x%x\n", rdst); 13845 } 13846 SYNTAX("fcmp #%1, %0"); 13847 #line 921 "rx-decode.opc" 13848 ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_; 13849 13850 } 13851 break; 13852 case 0x20: 13853 { 13854 /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */ 13855 #line 915 "rx-decode.opc" 13856 int rdst AU = op[2] & 0x0f; 13857 if (trace) 13858 { 13859 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13860 "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */", 13861 op[0], op[1], op[2]); 13862 printf (" rdst = 0x%x\n", rdst); 13863 } 13864 SYNTAX("fadd #%1, %0"); 13865 #line 915 "rx-decode.opc" 13866 ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_; 13867 13868 } 13869 break; 13870 case 0x30: 13871 { 13872 /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */ 13873 #line 936 "rx-decode.opc" 13874 int rdst AU = op[2] & 0x0f; 13875 if (trace) 13876 { 13877 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13878 "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */", 13879 op[0], op[1], op[2]); 13880 printf (" rdst = 0x%x\n", rdst); 13881 } 13882 SYNTAX("fmul #%1, %0"); 13883 #line 936 "rx-decode.opc" 13884 ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_; 13885 13886 } 13887 break; 13888 case 0x40: 13889 { 13890 /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */ 13891 #line 942 "rx-decode.opc" 13892 int rdst AU = op[2] & 0x0f; 13893 if (trace) 13894 { 13895 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13896 "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */", 13897 op[0], op[1], op[2]); 13898 printf (" rdst = 0x%x\n", rdst); 13899 } 13900 SYNTAX("fdiv #%1, %0"); 13901 #line 942 "rx-decode.opc" 13902 ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_; 13903 13904 } 13905 break; 13906 default: UNSUPPORTED(); break; 13907 } 13908 break; 13909 case 0x73: 13910 GETBYTE (); 13911 switch (op[2] & 0xe0) 13912 { 13913 case 0x00: 13914 op_semantics_124: 13915 { 13916 /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */ 13917 #line 1032 "rx-decode.opc" 13918 int im AU = (op[1] >> 2) & 0x03; 13919 #line 1032 "rx-decode.opc" 13920 int crdst AU = op[2] & 0x1f; 13921 if (trace) 13922 { 13923 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 13924 "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */", 13925 op[0], op[1], op[2]); 13926 printf (" im = 0x%x,", im); 13927 printf (" crdst = 0x%x\n", crdst); 13928 } 13929 SYNTAX("mvtc #%1, %0"); 13930 #line 1032 "rx-decode.opc" 13931 ID(mov); SC(IMMex(im)); DR(crdst + 16); 13932 13933 } 13934 break; 13935 default: UNSUPPORTED(); break; 13936 } 13937 break; 13938 case 0x74: 13939 GETBYTE (); 13940 switch (op[2] & 0xf0) 13941 { 13942 case 0x20: 13943 goto op_semantics_113; 13944 break; 13945 case 0x40: 13946 goto op_semantics_114; 13947 break; 13948 case 0x50: 13949 goto op_semantics_115; 13950 break; 13951 case 0x60: 13952 goto op_semantics_116; 13953 break; 13954 case 0x70: 13955 goto op_semantics_117; 13956 break; 13957 case 0x80: 13958 goto op_semantics_118; 13959 break; 13960 case 0x90: 13961 goto op_semantics_119; 13962 break; 13963 case 0xc0: 13964 goto op_semantics_120; 13965 break; 13966 case 0xd0: 13967 goto op_semantics_121; 13968 break; 13969 case 0xe0: 13970 goto op_semantics_122; 13971 break; 13972 case 0xf0: 13973 goto op_semantics_123; 13974 break; 13975 default: UNSUPPORTED(); break; 13976 } 13977 break; 13978 case 0x75: 13979 GETBYTE (); 13980 switch (op[2] & 0xff) 13981 { 13982 case 0x80: 13983 GETBYTE (); 13984 switch (op[3] & 0x0f) 13985 { 13986 case 0x00: 13987 op_semantics_125: 13988 { 13989 /** 1111 1101 0111 0101 1000 rdst rsrc 0000 dmov.l %1, %0 */ 13990 #line 1176 "rx-decode.opc" 13991 int rdst AU = op[2] & 0x0f; 13992 #line 1176 "rx-decode.opc" 13993 int rsrc AU = (op[3] >> 4) & 0x0f; 13994 if (trace) 13995 { 13996 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 13997 "/** 1111 1101 0111 0101 1000 rdst rsrc 0000 dmov.l %1, %0 */", 13998 op[0], op[1], op[2], op[3]); 13999 printf (" rdst = 0x%x,", rdst); 14000 printf (" rsrc = 0x%x\n", rsrc); 14001 } 14002 SYNTAX("dmov.l %1, %0"); 14003 #line 1176 "rx-decode.opc" 14004 ID(dmov); DR(rdst); SDRL(rsrc); F_____; 14005 14006 } 14007 break; 14008 case 0x02: 14009 op_semantics_126: 14010 { 14011 /** 1111 1101 0111 0101 1000 rdst rsrc 0010 dmov.l %1, %0 */ 14012 #line 1173 "rx-decode.opc" 14013 int rdst AU = op[2] & 0x0f; 14014 #line 1173 "rx-decode.opc" 14015 int rsrc AU = (op[3] >> 4) & 0x0f; 14016 if (trace) 14017 { 14018 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14019 "/** 1111 1101 0111 0101 1000 rdst rsrc 0010 dmov.l %1, %0 */", 14020 op[0], op[1], op[2], op[3]); 14021 printf (" rdst = 0x%x,", rdst); 14022 printf (" rsrc = 0x%x\n", rsrc); 14023 } 14024 SYNTAX("dmov.l %1, %0"); 14025 #line 1173 "rx-decode.opc" 14026 ID(dmov); DR(rdst); SDRH(rsrc); F_____; 14027 14028 } 14029 break; 14030 case 0x04: 14031 op_semantics_127: 14032 { 14033 /** 1111 1101 0111 0101 1000 rdst rsrc 0100 mvfdc %1, %0 */ 14034 #line 1226 "rx-decode.opc" 14035 int rdst AU = op[2] & 0x0f; 14036 #line 1226 "rx-decode.opc" 14037 int rsrc AU = (op[3] >> 4) & 0x0f; 14038 if (trace) 14039 { 14040 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14041 "/** 1111 1101 0111 0101 1000 rdst rsrc 0100 mvfdc %1, %0 */", 14042 op[0], op[1], op[2], op[3]); 14043 printf (" rdst = 0x%x,", rdst); 14044 printf (" rsrc = 0x%x\n", rsrc); 14045 } 14046 SYNTAX("mvfdc %1, %0"); 14047 #line 1226 "rx-decode.opc" 14048 ID(mvfdc); DR(rdst); SCR(rsrc); F_____; 14049 14050 } 14051 break; 14052 default: UNSUPPORTED(); break; 14053 } 14054 break; 14055 case 0x81: 14056 GETBYTE (); 14057 switch (op[3] & 0x0f) 14058 { 14059 case 0x00: 14060 goto op_semantics_125; 14061 break; 14062 case 0x02: 14063 goto op_semantics_126; 14064 break; 14065 case 0x04: 14066 goto op_semantics_127; 14067 break; 14068 default: UNSUPPORTED(); break; 14069 } 14070 break; 14071 case 0x82: 14072 GETBYTE (); 14073 switch (op[3] & 0x0f) 14074 { 14075 case 0x00: 14076 goto op_semantics_125; 14077 break; 14078 case 0x02: 14079 goto op_semantics_126; 14080 break; 14081 case 0x04: 14082 goto op_semantics_127; 14083 break; 14084 default: UNSUPPORTED(); break; 14085 } 14086 break; 14087 case 0x83: 14088 GETBYTE (); 14089 switch (op[3] & 0x0f) 14090 { 14091 case 0x00: 14092 goto op_semantics_125; 14093 break; 14094 case 0x02: 14095 goto op_semantics_126; 14096 break; 14097 case 0x04: 14098 goto op_semantics_127; 14099 break; 14100 default: UNSUPPORTED(); break; 14101 } 14102 break; 14103 case 0x84: 14104 GETBYTE (); 14105 switch (op[3] & 0x0f) 14106 { 14107 case 0x00: 14108 goto op_semantics_125; 14109 break; 14110 case 0x02: 14111 goto op_semantics_126; 14112 break; 14113 case 0x04: 14114 goto op_semantics_127; 14115 break; 14116 default: UNSUPPORTED(); break; 14117 } 14118 break; 14119 case 0x85: 14120 GETBYTE (); 14121 switch (op[3] & 0x0f) 14122 { 14123 case 0x00: 14124 goto op_semantics_125; 14125 break; 14126 case 0x02: 14127 goto op_semantics_126; 14128 break; 14129 case 0x04: 14130 goto op_semantics_127; 14131 break; 14132 default: UNSUPPORTED(); break; 14133 } 14134 break; 14135 case 0x86: 14136 GETBYTE (); 14137 switch (op[3] & 0x0f) 14138 { 14139 case 0x00: 14140 goto op_semantics_125; 14141 break; 14142 case 0x02: 14143 goto op_semantics_126; 14144 break; 14145 case 0x04: 14146 goto op_semantics_127; 14147 break; 14148 default: UNSUPPORTED(); break; 14149 } 14150 break; 14151 case 0x87: 14152 GETBYTE (); 14153 switch (op[3] & 0x0f) 14154 { 14155 case 0x00: 14156 goto op_semantics_125; 14157 break; 14158 case 0x02: 14159 goto op_semantics_126; 14160 break; 14161 case 0x04: 14162 goto op_semantics_127; 14163 break; 14164 default: UNSUPPORTED(); break; 14165 } 14166 break; 14167 case 0x88: 14168 GETBYTE (); 14169 switch (op[3] & 0x0f) 14170 { 14171 case 0x00: 14172 goto op_semantics_125; 14173 break; 14174 case 0x02: 14175 goto op_semantics_126; 14176 break; 14177 case 0x04: 14178 goto op_semantics_127; 14179 break; 14180 default: UNSUPPORTED(); break; 14181 } 14182 break; 14183 case 0x89: 14184 GETBYTE (); 14185 switch (op[3] & 0x0f) 14186 { 14187 case 0x00: 14188 goto op_semantics_125; 14189 break; 14190 case 0x02: 14191 goto op_semantics_126; 14192 break; 14193 case 0x04: 14194 goto op_semantics_127; 14195 break; 14196 default: UNSUPPORTED(); break; 14197 } 14198 break; 14199 case 0x8a: 14200 GETBYTE (); 14201 switch (op[3] & 0x0f) 14202 { 14203 case 0x00: 14204 goto op_semantics_125; 14205 break; 14206 case 0x02: 14207 goto op_semantics_126; 14208 break; 14209 case 0x04: 14210 goto op_semantics_127; 14211 break; 14212 default: UNSUPPORTED(); break; 14213 } 14214 break; 14215 case 0x8b: 14216 GETBYTE (); 14217 switch (op[3] & 0x0f) 14218 { 14219 case 0x00: 14220 goto op_semantics_125; 14221 break; 14222 case 0x02: 14223 goto op_semantics_126; 14224 break; 14225 case 0x04: 14226 goto op_semantics_127; 14227 break; 14228 default: UNSUPPORTED(); break; 14229 } 14230 break; 14231 case 0x8c: 14232 GETBYTE (); 14233 switch (op[3] & 0x0f) 14234 { 14235 case 0x00: 14236 goto op_semantics_125; 14237 break; 14238 case 0x02: 14239 goto op_semantics_126; 14240 break; 14241 case 0x04: 14242 goto op_semantics_127; 14243 break; 14244 default: UNSUPPORTED(); break; 14245 } 14246 break; 14247 case 0x8d: 14248 GETBYTE (); 14249 switch (op[3] & 0x0f) 14250 { 14251 case 0x00: 14252 goto op_semantics_125; 14253 break; 14254 case 0x02: 14255 goto op_semantics_126; 14256 break; 14257 case 0x04: 14258 goto op_semantics_127; 14259 break; 14260 default: UNSUPPORTED(); break; 14261 } 14262 break; 14263 case 0x8e: 14264 GETBYTE (); 14265 switch (op[3] & 0x0f) 14266 { 14267 case 0x00: 14268 goto op_semantics_125; 14269 break; 14270 case 0x02: 14271 goto op_semantics_126; 14272 break; 14273 case 0x04: 14274 goto op_semantics_127; 14275 break; 14276 default: UNSUPPORTED(); break; 14277 } 14278 break; 14279 case 0x8f: 14280 GETBYTE (); 14281 switch (op[3] & 0x0f) 14282 { 14283 case 0x00: 14284 goto op_semantics_125; 14285 break; 14286 case 0x02: 14287 goto op_semantics_126; 14288 break; 14289 case 0x04: 14290 goto op_semantics_127; 14291 break; 14292 default: UNSUPPORTED(); break; 14293 } 14294 break; 14295 default: UNSUPPORTED(); break; 14296 } 14297 break; 14298 case 0x76: 14299 GETBYTE (); 14300 switch (op[2] & 0xff) 14301 { 14302 case 0xc0: 14303 GETBYTE (); 14304 switch (op[3] & 0xff) 14305 { 14306 case 0x00: 14307 op_semantics_128: 14308 { 14309 /** 1111 1101 0111 0110 1100 rsrc 0000 0000 save %1 */ 14310 #line 1161 "rx-decode.opc" 14311 int rsrc AU = op[2] & 0x0f; 14312 if (trace) 14313 { 14314 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14315 "/** 1111 1101 0111 0110 1100 rsrc 0000 0000 save %1 */", 14316 op[0], op[1], op[2], op[3]); 14317 printf (" rsrc = 0x%x\n", rsrc); 14318 } 14319 SYNTAX("save %1"); 14320 #line 1161 "rx-decode.opc" 14321 ID(save); SR(rsrc); F_____; 14322 14323 } 14324 break; 14325 default: UNSUPPORTED(); break; 14326 } 14327 break; 14328 case 0xc1: 14329 GETBYTE (); 14330 switch (op[3] & 0xff) 14331 { 14332 case 0x00: 14333 goto op_semantics_128; 14334 break; 14335 default: UNSUPPORTED(); break; 14336 } 14337 break; 14338 case 0xc2: 14339 GETBYTE (); 14340 switch (op[3] & 0xff) 14341 { 14342 case 0x00: 14343 goto op_semantics_128; 14344 break; 14345 default: UNSUPPORTED(); break; 14346 } 14347 break; 14348 case 0xc3: 14349 GETBYTE (); 14350 switch (op[3] & 0xff) 14351 { 14352 case 0x00: 14353 goto op_semantics_128; 14354 break; 14355 default: UNSUPPORTED(); break; 14356 } 14357 break; 14358 case 0xc4: 14359 GETBYTE (); 14360 switch (op[3] & 0xff) 14361 { 14362 case 0x00: 14363 goto op_semantics_128; 14364 break; 14365 default: UNSUPPORTED(); break; 14366 } 14367 break; 14368 case 0xc5: 14369 GETBYTE (); 14370 switch (op[3] & 0xff) 14371 { 14372 case 0x00: 14373 goto op_semantics_128; 14374 break; 14375 default: UNSUPPORTED(); break; 14376 } 14377 break; 14378 case 0xc6: 14379 GETBYTE (); 14380 switch (op[3] & 0xff) 14381 { 14382 case 0x00: 14383 goto op_semantics_128; 14384 break; 14385 default: UNSUPPORTED(); break; 14386 } 14387 break; 14388 case 0xc7: 14389 GETBYTE (); 14390 switch (op[3] & 0xff) 14391 { 14392 case 0x00: 14393 goto op_semantics_128; 14394 break; 14395 default: UNSUPPORTED(); break; 14396 } 14397 break; 14398 case 0xc8: 14399 GETBYTE (); 14400 switch (op[3] & 0xff) 14401 { 14402 case 0x00: 14403 goto op_semantics_128; 14404 break; 14405 default: UNSUPPORTED(); break; 14406 } 14407 break; 14408 case 0xc9: 14409 GETBYTE (); 14410 switch (op[3] & 0xff) 14411 { 14412 case 0x00: 14413 goto op_semantics_128; 14414 break; 14415 default: UNSUPPORTED(); break; 14416 } 14417 break; 14418 case 0xca: 14419 GETBYTE (); 14420 switch (op[3] & 0xff) 14421 { 14422 case 0x00: 14423 goto op_semantics_128; 14424 break; 14425 default: UNSUPPORTED(); break; 14426 } 14427 break; 14428 case 0xcb: 14429 GETBYTE (); 14430 switch (op[3] & 0xff) 14431 { 14432 case 0x00: 14433 goto op_semantics_128; 14434 break; 14435 default: UNSUPPORTED(); break; 14436 } 14437 break; 14438 case 0xcc: 14439 GETBYTE (); 14440 switch (op[3] & 0xff) 14441 { 14442 case 0x00: 14443 goto op_semantics_128; 14444 break; 14445 default: UNSUPPORTED(); break; 14446 } 14447 break; 14448 case 0xcd: 14449 GETBYTE (); 14450 switch (op[3] & 0xff) 14451 { 14452 case 0x00: 14453 goto op_semantics_128; 14454 break; 14455 default: UNSUPPORTED(); break; 14456 } 14457 break; 14458 case 0xce: 14459 GETBYTE (); 14460 switch (op[3] & 0xff) 14461 { 14462 case 0x00: 14463 goto op_semantics_128; 14464 break; 14465 default: UNSUPPORTED(); break; 14466 } 14467 break; 14468 case 0xcf: 14469 GETBYTE (); 14470 switch (op[3] & 0xff) 14471 { 14472 case 0x00: 14473 goto op_semantics_128; 14474 break; 14475 default: UNSUPPORTED(); break; 14476 } 14477 break; 14478 case 0xd0: 14479 GETBYTE (); 14480 switch (op[3] & 0xff) 14481 { 14482 case 0x00: 14483 op_semantics_129: 14484 { 14485 /** 1111 1101 0111 0110 1101 rsrc 0000 0000 rstr %1 */ 14486 #line 1155 "rx-decode.opc" 14487 int rsrc AU = op[2] & 0x0f; 14488 if (trace) 14489 { 14490 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14491 "/** 1111 1101 0111 0110 1101 rsrc 0000 0000 rstr %1 */", 14492 op[0], op[1], op[2], op[3]); 14493 printf (" rsrc = 0x%x\n", rsrc); 14494 } 14495 SYNTAX("rstr %1"); 14496 #line 1155 "rx-decode.opc" 14497 ID(rstr); SR(rsrc); F_____; 14498 14499 } 14500 break; 14501 default: UNSUPPORTED(); break; 14502 } 14503 break; 14504 case 0xd1: 14505 GETBYTE (); 14506 switch (op[3] & 0xff) 14507 { 14508 case 0x00: 14509 goto op_semantics_129; 14510 break; 14511 default: UNSUPPORTED(); break; 14512 } 14513 break; 14514 case 0xd2: 14515 GETBYTE (); 14516 switch (op[3] & 0xff) 14517 { 14518 case 0x00: 14519 goto op_semantics_129; 14520 break; 14521 default: UNSUPPORTED(); break; 14522 } 14523 break; 14524 case 0xd3: 14525 GETBYTE (); 14526 switch (op[3] & 0xff) 14527 { 14528 case 0x00: 14529 goto op_semantics_129; 14530 break; 14531 default: UNSUPPORTED(); break; 14532 } 14533 break; 14534 case 0xd4: 14535 GETBYTE (); 14536 switch (op[3] & 0xff) 14537 { 14538 case 0x00: 14539 goto op_semantics_129; 14540 break; 14541 default: UNSUPPORTED(); break; 14542 } 14543 break; 14544 case 0xd5: 14545 GETBYTE (); 14546 switch (op[3] & 0xff) 14547 { 14548 case 0x00: 14549 goto op_semantics_129; 14550 break; 14551 default: UNSUPPORTED(); break; 14552 } 14553 break; 14554 case 0xd6: 14555 GETBYTE (); 14556 switch (op[3] & 0xff) 14557 { 14558 case 0x00: 14559 goto op_semantics_129; 14560 break; 14561 default: UNSUPPORTED(); break; 14562 } 14563 break; 14564 case 0xd7: 14565 GETBYTE (); 14566 switch (op[3] & 0xff) 14567 { 14568 case 0x00: 14569 goto op_semantics_129; 14570 break; 14571 default: UNSUPPORTED(); break; 14572 } 14573 break; 14574 case 0xd8: 14575 GETBYTE (); 14576 switch (op[3] & 0xff) 14577 { 14578 case 0x00: 14579 goto op_semantics_129; 14580 break; 14581 default: UNSUPPORTED(); break; 14582 } 14583 break; 14584 case 0xd9: 14585 GETBYTE (); 14586 switch (op[3] & 0xff) 14587 { 14588 case 0x00: 14589 goto op_semantics_129; 14590 break; 14591 default: UNSUPPORTED(); break; 14592 } 14593 break; 14594 case 0xda: 14595 GETBYTE (); 14596 switch (op[3] & 0xff) 14597 { 14598 case 0x00: 14599 goto op_semantics_129; 14600 break; 14601 default: UNSUPPORTED(); break; 14602 } 14603 break; 14604 case 0xdb: 14605 GETBYTE (); 14606 switch (op[3] & 0xff) 14607 { 14608 case 0x00: 14609 goto op_semantics_129; 14610 break; 14611 default: UNSUPPORTED(); break; 14612 } 14613 break; 14614 case 0xdc: 14615 GETBYTE (); 14616 switch (op[3] & 0xff) 14617 { 14618 case 0x00: 14619 goto op_semantics_129; 14620 break; 14621 default: UNSUPPORTED(); break; 14622 } 14623 break; 14624 case 0xdd: 14625 GETBYTE (); 14626 switch (op[3] & 0xff) 14627 { 14628 case 0x00: 14629 goto op_semantics_129; 14630 break; 14631 default: UNSUPPORTED(); break; 14632 } 14633 break; 14634 case 0xde: 14635 GETBYTE (); 14636 switch (op[3] & 0xff) 14637 { 14638 case 0x00: 14639 goto op_semantics_129; 14640 break; 14641 default: UNSUPPORTED(); break; 14642 } 14643 break; 14644 case 0xdf: 14645 GETBYTE (); 14646 switch (op[3] & 0xff) 14647 { 14648 case 0x00: 14649 goto op_semantics_129; 14650 break; 14651 default: UNSUPPORTED(); break; 14652 } 14653 break; 14654 case 0xe0: 14655 { 14656 /** 1111 1101 0111 0110 1110 0000 save #%1 */ 14657 if (trace) 14658 { 14659 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 14660 "/** 1111 1101 0111 0110 1110 0000 save #%1 */", 14661 op[0], op[1], op[2]); 14662 } 14663 SYNTAX("save #%1"); 14664 #line 1164 "rx-decode.opc" 14665 ID(save); SC(IMM(1)); F_____; 14666 14667 } 14668 break; 14669 case 0xf0: 14670 { 14671 /** 1111 1101 0111 0110 1111 0000 rstr #%1 */ 14672 if (trace) 14673 { 14674 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 14675 "/** 1111 1101 0111 0110 1111 0000 rstr #%1 */", 14676 op[0], op[1], op[2]); 14677 } 14678 SYNTAX("rstr #%1"); 14679 #line 1158 "rx-decode.opc" 14680 ID(rstr); SC(IMM(1)); F_____; 14681 14682 } 14683 break; 14684 default: UNSUPPORTED(); break; 14685 } 14686 break; 14687 case 0x77: 14688 GETBYTE (); 14689 switch (op[2] & 0xff) 14690 { 14691 case 0x00: 14692 case 0x01: 14693 case 0x02: 14694 case 0x03: 14695 case 0x04: 14696 case 0x05: 14697 case 0x06: 14698 case 0x07: 14699 case 0x08: 14700 case 0x09: 14701 case 0x0a: 14702 case 0x0b: 14703 case 0x0c: 14704 case 0x0d: 14705 case 0x0e: 14706 case 0x0f: 14707 case 0x10: 14708 case 0x11: 14709 case 0x12: 14710 case 0x13: 14711 case 0x14: 14712 case 0x15: 14713 case 0x16: 14714 case 0x17: 14715 case 0x18: 14716 case 0x19: 14717 case 0x1a: 14718 case 0x1b: 14719 case 0x1c: 14720 case 0x1d: 14721 case 0x1e: 14722 case 0x1f: 14723 goto op_semantics_124; 14724 break; 14725 case 0x80: 14726 GETBYTE (); 14727 switch (op[3] & 0x0f) 14728 { 14729 case 0x00: 14730 op_semantics_130: 14731 { 14732 /** 1111 1101 0111 0111 1000 rsrc rdst 0000 dmov.l %1, %0 */ 14733 #line 1170 "rx-decode.opc" 14734 int rsrc AU = op[2] & 0x0f; 14735 #line 1170 "rx-decode.opc" 14736 int rdst AU = (op[3] >> 4) & 0x0f; 14737 if (trace) 14738 { 14739 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14740 "/** 1111 1101 0111 0111 1000 rsrc rdst 0000 dmov.l %1, %0 */", 14741 op[0], op[1], op[2], op[3]); 14742 printf (" rsrc = 0x%x,", rsrc); 14743 printf (" rdst = 0x%x\n", rdst); 14744 } 14745 SYNTAX("dmov.l %1, %0"); 14746 #line 1170 "rx-decode.opc" 14747 ID(dmov); DDRL(rdst); SR(rsrc); F_____; 14748 14749 } 14750 break; 14751 case 0x02: 14752 case 0x03: 14753 op_semantics_131: 14754 { 14755 /** 1111 1101 0111 0111 1000 rsrc rdst 001s dmov%s %1, %0 */ 14756 #line 1167 "rx-decode.opc" 14757 int rsrc AU = op[2] & 0x0f; 14758 #line 1167 "rx-decode.opc" 14759 int rdst AU = (op[3] >> 4) & 0x0f; 14760 #line 1167 "rx-decode.opc" 14761 int s AU = op[3] & 0x01; 14762 if (trace) 14763 { 14764 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14765 "/** 1111 1101 0111 0111 1000 rsrc rdst 001s dmov%s %1, %0 */", 14766 op[0], op[1], op[2], op[3]); 14767 printf (" rsrc = 0x%x,", rsrc); 14768 printf (" rdst = 0x%x,", rdst); 14769 printf (" s = 0x%x\n", s); 14770 } 14771 SYNTAX("dmov%s %1, %0"); 14772 #line 1167 "rx-decode.opc" 14773 ID(dmov); DDRH(rdst); SR(rsrc); DL(s); F_____; 14774 14775 } 14776 break; 14777 case 0x04: 14778 op_semantics_132: 14779 { 14780 /** 1111 1101 0111 0111 1000 rdst rsrc 0100 mvtdc %1, %0 */ 14781 #line 1232 "rx-decode.opc" 14782 int rdst AU = op[2] & 0x0f; 14783 #line 1232 "rx-decode.opc" 14784 int rsrc AU = (op[3] >> 4) & 0x0f; 14785 if (trace) 14786 { 14787 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14788 "/** 1111 1101 0111 0111 1000 rdst rsrc 0100 mvtdc %1, %0 */", 14789 op[0], op[1], op[2], op[3]); 14790 printf (" rdst = 0x%x,", rdst); 14791 printf (" rsrc = 0x%x\n", rsrc); 14792 } 14793 SYNTAX("mvtdc %1, %0"); 14794 #line 1232 "rx-decode.opc" 14795 ID(mvtdc); DCR(rdst); SR(rsrc); F_____; 14796 14797 } 14798 break; 14799 case 0x09: 14800 op_semantics_133: 14801 { 14802 /** 1111 1101 0111 0111 1000 rsrc rdst 1001 itod %1, %0 */ 14803 #line 1274 "rx-decode.opc" 14804 int rsrc AU = op[2] & 0x0f; 14805 #line 1274 "rx-decode.opc" 14806 int rdst AU = (op[3] >> 4) & 0x0f; 14807 if (trace) 14808 { 14809 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14810 "/** 1111 1101 0111 0111 1000 rsrc rdst 1001 itod %1, %0 */", 14811 op[0], op[1], op[2], op[3]); 14812 printf (" rsrc = 0x%x,", rsrc); 14813 printf (" rdst = 0x%x\n", rdst); 14814 } 14815 SYNTAX("itod %1, %0"); 14816 #line 1274 "rx-decode.opc" 14817 ID(itod); DDR(rdst); SR(rsrc); F_____; 14818 14819 } 14820 break; 14821 case 0x0a: 14822 op_semantics_134: 14823 { 14824 /** 1111 1101 0111 0111 1000 rsrc rdst 1010 ftod %1, %0 */ 14825 #line 1271 "rx-decode.opc" 14826 int rsrc AU = op[2] & 0x0f; 14827 #line 1271 "rx-decode.opc" 14828 int rdst AU = (op[3] >> 4) & 0x0f; 14829 if (trace) 14830 { 14831 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14832 "/** 1111 1101 0111 0111 1000 rsrc rdst 1010 ftod %1, %0 */", 14833 op[0], op[1], op[2], op[3]); 14834 printf (" rsrc = 0x%x,", rsrc); 14835 printf (" rdst = 0x%x\n", rdst); 14836 } 14837 SYNTAX("ftod %1, %0"); 14838 #line 1271 "rx-decode.opc" 14839 ID(ftod); DDR(rdst); SR(rsrc); F_____; 14840 14841 } 14842 break; 14843 case 0x0d: 14844 op_semantics_135: 14845 { 14846 /** 1111 1101 0111 0111 1000 rsrc rdst 1101 utod %1, %0 */ 14847 #line 1277 "rx-decode.opc" 14848 int rsrc AU = op[2] & 0x0f; 14849 #line 1277 "rx-decode.opc" 14850 int rdst AU = (op[3] >> 4) & 0x0f; 14851 if (trace) 14852 { 14853 printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n", 14854 "/** 1111 1101 0111 0111 1000 rsrc rdst 1101 utod %1, %0 */", 14855 op[0], op[1], op[2], op[3]); 14856 printf (" rsrc = 0x%x,", rsrc); 14857 printf (" rdst = 0x%x\n", rdst); 14858 } 14859 SYNTAX("utod %1, %0"); 14860 #line 1277 "rx-decode.opc" 14861 ID(dsqrt); DDR(rdst); SR(rsrc); F_____; 14862 14863 } 14864 break; 14865 default: UNSUPPORTED(); break; 14866 } 14867 break; 14868 case 0x81: 14869 GETBYTE (); 14870 switch (op[3] & 0x0f) 14871 { 14872 case 0x00: 14873 goto op_semantics_130; 14874 break; 14875 case 0x02: 14876 case 0x03: 14877 goto op_semantics_131; 14878 break; 14879 case 0x04: 14880 goto op_semantics_132; 14881 break; 14882 case 0x09: 14883 goto op_semantics_133; 14884 break; 14885 case 0x0a: 14886 goto op_semantics_134; 14887 break; 14888 case 0x0d: 14889 goto op_semantics_135; 14890 break; 14891 default: UNSUPPORTED(); break; 14892 } 14893 break; 14894 case 0x82: 14895 GETBYTE (); 14896 switch (op[3] & 0x0f) 14897 { 14898 case 0x00: 14899 goto op_semantics_130; 14900 break; 14901 case 0x02: 14902 case 0x03: 14903 goto op_semantics_131; 14904 break; 14905 case 0x04: 14906 goto op_semantics_132; 14907 break; 14908 case 0x09: 14909 goto op_semantics_133; 14910 break; 14911 case 0x0a: 14912 goto op_semantics_134; 14913 break; 14914 case 0x0d: 14915 goto op_semantics_135; 14916 break; 14917 default: UNSUPPORTED(); break; 14918 } 14919 break; 14920 case 0x83: 14921 GETBYTE (); 14922 switch (op[3] & 0x0f) 14923 { 14924 case 0x00: 14925 goto op_semantics_130; 14926 break; 14927 case 0x02: 14928 case 0x03: 14929 goto op_semantics_131; 14930 break; 14931 case 0x04: 14932 goto op_semantics_132; 14933 break; 14934 case 0x09: 14935 goto op_semantics_133; 14936 break; 14937 case 0x0a: 14938 goto op_semantics_134; 14939 break; 14940 case 0x0d: 14941 goto op_semantics_135; 14942 break; 14943 default: UNSUPPORTED(); break; 14944 } 14945 break; 14946 case 0x84: 14947 GETBYTE (); 14948 switch (op[3] & 0x0f) 14949 { 14950 case 0x00: 14951 goto op_semantics_130; 14952 break; 14953 case 0x02: 14954 case 0x03: 14955 goto op_semantics_131; 14956 break; 14957 case 0x04: 14958 goto op_semantics_132; 14959 break; 14960 case 0x09: 14961 goto op_semantics_133; 14962 break; 14963 case 0x0a: 14964 goto op_semantics_134; 14965 break; 14966 case 0x0d: 14967 goto op_semantics_135; 14968 break; 14969 default: UNSUPPORTED(); break; 14970 } 14971 break; 14972 case 0x85: 14973 GETBYTE (); 14974 switch (op[3] & 0x0f) 14975 { 14976 case 0x00: 14977 goto op_semantics_130; 14978 break; 14979 case 0x02: 14980 case 0x03: 14981 goto op_semantics_131; 14982 break; 14983 case 0x04: 14984 goto op_semantics_132; 14985 break; 14986 case 0x09: 14987 goto op_semantics_133; 14988 break; 14989 case 0x0a: 14990 goto op_semantics_134; 14991 break; 14992 case 0x0d: 14993 goto op_semantics_135; 14994 break; 14995 default: UNSUPPORTED(); break; 14996 } 14997 break; 14998 case 0x86: 14999 GETBYTE (); 15000 switch (op[3] & 0x0f) 15001 { 15002 case 0x00: 15003 goto op_semantics_130; 15004 break; 15005 case 0x02: 15006 case 0x03: 15007 goto op_semantics_131; 15008 break; 15009 case 0x04: 15010 goto op_semantics_132; 15011 break; 15012 case 0x09: 15013 goto op_semantics_133; 15014 break; 15015 case 0x0a: 15016 goto op_semantics_134; 15017 break; 15018 case 0x0d: 15019 goto op_semantics_135; 15020 break; 15021 default: UNSUPPORTED(); break; 15022 } 15023 break; 15024 case 0x87: 15025 GETBYTE (); 15026 switch (op[3] & 0x0f) 15027 { 15028 case 0x00: 15029 goto op_semantics_130; 15030 break; 15031 case 0x02: 15032 case 0x03: 15033 goto op_semantics_131; 15034 break; 15035 case 0x04: 15036 goto op_semantics_132; 15037 break; 15038 case 0x09: 15039 goto op_semantics_133; 15040 break; 15041 case 0x0a: 15042 goto op_semantics_134; 15043 break; 15044 case 0x0d: 15045 goto op_semantics_135; 15046 break; 15047 default: UNSUPPORTED(); break; 15048 } 15049 break; 15050 case 0x88: 15051 GETBYTE (); 15052 switch (op[3] & 0x0f) 15053 { 15054 case 0x00: 15055 goto op_semantics_130; 15056 break; 15057 case 0x02: 15058 case 0x03: 15059 goto op_semantics_131; 15060 break; 15061 case 0x04: 15062 goto op_semantics_132; 15063 break; 15064 case 0x09: 15065 goto op_semantics_133; 15066 break; 15067 case 0x0a: 15068 goto op_semantics_134; 15069 break; 15070 case 0x0d: 15071 goto op_semantics_135; 15072 break; 15073 default: UNSUPPORTED(); break; 15074 } 15075 break; 15076 case 0x89: 15077 GETBYTE (); 15078 switch (op[3] & 0x0f) 15079 { 15080 case 0x00: 15081 goto op_semantics_130; 15082 break; 15083 case 0x02: 15084 case 0x03: 15085 goto op_semantics_131; 15086 break; 15087 case 0x04: 15088 goto op_semantics_132; 15089 break; 15090 case 0x09: 15091 goto op_semantics_133; 15092 break; 15093 case 0x0a: 15094 goto op_semantics_134; 15095 break; 15096 case 0x0d: 15097 goto op_semantics_135; 15098 break; 15099 default: UNSUPPORTED(); break; 15100 } 15101 break; 15102 case 0x8a: 15103 GETBYTE (); 15104 switch (op[3] & 0x0f) 15105 { 15106 case 0x00: 15107 goto op_semantics_130; 15108 break; 15109 case 0x02: 15110 case 0x03: 15111 goto op_semantics_131; 15112 break; 15113 case 0x04: 15114 goto op_semantics_132; 15115 break; 15116 case 0x09: 15117 goto op_semantics_133; 15118 break; 15119 case 0x0a: 15120 goto op_semantics_134; 15121 break; 15122 case 0x0d: 15123 goto op_semantics_135; 15124 break; 15125 default: UNSUPPORTED(); break; 15126 } 15127 break; 15128 case 0x8b: 15129 GETBYTE (); 15130 switch (op[3] & 0x0f) 15131 { 15132 case 0x00: 15133 goto op_semantics_130; 15134 break; 15135 case 0x02: 15136 case 0x03: 15137 goto op_semantics_131; 15138 break; 15139 case 0x04: 15140 goto op_semantics_132; 15141 break; 15142 case 0x09: 15143 goto op_semantics_133; 15144 break; 15145 case 0x0a: 15146 goto op_semantics_134; 15147 break; 15148 case 0x0d: 15149 goto op_semantics_135; 15150 break; 15151 default: UNSUPPORTED(); break; 15152 } 15153 break; 15154 case 0x8c: 15155 GETBYTE (); 15156 switch (op[3] & 0x0f) 15157 { 15158 case 0x00: 15159 goto op_semantics_130; 15160 break; 15161 case 0x02: 15162 case 0x03: 15163 goto op_semantics_131; 15164 break; 15165 case 0x04: 15166 goto op_semantics_132; 15167 break; 15168 case 0x09: 15169 goto op_semantics_133; 15170 break; 15171 case 0x0a: 15172 goto op_semantics_134; 15173 break; 15174 case 0x0d: 15175 goto op_semantics_135; 15176 break; 15177 default: UNSUPPORTED(); break; 15178 } 15179 break; 15180 case 0x8d: 15181 GETBYTE (); 15182 switch (op[3] & 0x0f) 15183 { 15184 case 0x00: 15185 goto op_semantics_130; 15186 break; 15187 case 0x02: 15188 case 0x03: 15189 goto op_semantics_131; 15190 break; 15191 case 0x04: 15192 goto op_semantics_132; 15193 break; 15194 case 0x09: 15195 goto op_semantics_133; 15196 break; 15197 case 0x0a: 15198 goto op_semantics_134; 15199 break; 15200 case 0x0d: 15201 goto op_semantics_135; 15202 break; 15203 default: UNSUPPORTED(); break; 15204 } 15205 break; 15206 case 0x8e: 15207 GETBYTE (); 15208 switch (op[3] & 0x0f) 15209 { 15210 case 0x00: 15211 goto op_semantics_130; 15212 break; 15213 case 0x02: 15214 case 0x03: 15215 goto op_semantics_131; 15216 break; 15217 case 0x04: 15218 goto op_semantics_132; 15219 break; 15220 case 0x09: 15221 goto op_semantics_133; 15222 break; 15223 case 0x0a: 15224 goto op_semantics_134; 15225 break; 15226 case 0x0d: 15227 goto op_semantics_135; 15228 break; 15229 default: UNSUPPORTED(); break; 15230 } 15231 break; 15232 case 0x8f: 15233 GETBYTE (); 15234 switch (op[3] & 0x0f) 15235 { 15236 case 0x00: 15237 goto op_semantics_130; 15238 break; 15239 case 0x02: 15240 case 0x03: 15241 goto op_semantics_131; 15242 break; 15243 case 0x04: 15244 goto op_semantics_132; 15245 break; 15246 case 0x09: 15247 goto op_semantics_133; 15248 break; 15249 case 0x0a: 15250 goto op_semantics_134; 15251 break; 15252 case 0x0d: 15253 goto op_semantics_135; 15254 break; 15255 default: UNSUPPORTED(); break; 15256 } 15257 break; 15258 default: UNSUPPORTED(); break; 15259 } 15260 break; 15261 case 0x78: 15262 GETBYTE (); 15263 switch (op[2] & 0xf0) 15264 { 15265 case 0x20: 15266 goto op_semantics_113; 15267 break; 15268 case 0x40: 15269 goto op_semantics_114; 15270 break; 15271 case 0x50: 15272 goto op_semantics_115; 15273 break; 15274 case 0x60: 15275 goto op_semantics_116; 15276 break; 15277 case 0x70: 15278 goto op_semantics_117; 15279 break; 15280 case 0x80: 15281 goto op_semantics_118; 15282 break; 15283 case 0x90: 15284 goto op_semantics_119; 15285 break; 15286 case 0xc0: 15287 goto op_semantics_120; 15288 break; 15289 case 0xd0: 15290 goto op_semantics_121; 15291 break; 15292 case 0xe0: 15293 goto op_semantics_122; 15294 break; 15295 case 0xf0: 15296 goto op_semantics_123; 15297 break; 15298 default: UNSUPPORTED(); break; 15299 } 15300 break; 15301 case 0x7b: 15302 GETBYTE (); 15303 switch (op[2] & 0xe0) 15304 { 15305 case 0x00: 15306 goto op_semantics_124; 15307 break; 15308 default: UNSUPPORTED(); break; 15309 } 15310 break; 15311 case 0x7c: 15312 GETBYTE (); 15313 switch (op[2] & 0xf0) 15314 { 15315 case 0x20: 15316 goto op_semantics_113; 15317 break; 15318 case 0x40: 15319 goto op_semantics_114; 15320 break; 15321 case 0x50: 15322 goto op_semantics_115; 15323 break; 15324 case 0x60: 15325 goto op_semantics_116; 15326 break; 15327 case 0x70: 15328 goto op_semantics_117; 15329 break; 15330 case 0x80: 15331 goto op_semantics_118; 15332 break; 15333 case 0x90: 15334 goto op_semantics_119; 15335 break; 15336 case 0xc0: 15337 goto op_semantics_120; 15338 break; 15339 case 0xd0: 15340 goto op_semantics_121; 15341 break; 15342 case 0xe0: 15343 goto op_semantics_122; 15344 break; 15345 case 0xf0: 15346 goto op_semantics_123; 15347 break; 15348 default: UNSUPPORTED(); break; 15349 } 15350 break; 15351 case 0x7f: 15352 GETBYTE (); 15353 switch (op[2] & 0xe0) 15354 { 15355 case 0x00: 15356 goto op_semantics_124; 15357 break; 15358 default: UNSUPPORTED(); break; 15359 } 15360 break; 15361 case 0x80: 15362 GETBYTE (); 15363 switch (op[2] & 0x00) 15364 { 15365 case 0x00: 15366 op_semantics_136: 15367 { 15368 /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */ 15369 #line 757 "rx-decode.opc" 15370 int immmm AU = op[1] & 0x1f; 15371 #line 757 "rx-decode.opc" 15372 int rsrc AU = (op[2] >> 4) & 0x0f; 15373 #line 757 "rx-decode.opc" 15374 int rdst AU = op[2] & 0x0f; 15375 if (trace) 15376 { 15377 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 15378 "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */", 15379 op[0], op[1], op[2]); 15380 printf (" immmm = 0x%x,", immmm); 15381 printf (" rsrc = 0x%x,", rsrc); 15382 printf (" rdst = 0x%x\n", rdst); 15383 } 15384 SYNTAX("shlr #%2, %1, %0"); 15385 #line 757 "rx-decode.opc" 15386 ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC; 15387 15388 /*----------------------------------------------------------------------*/ 15389 /* ROTATE */ 15390 15391 } 15392 break; 15393 } 15394 break; 15395 case 0x81: 15396 GETBYTE (); 15397 switch (op[2] & 0x00) 15398 { 15399 case 0x00: 15400 goto op_semantics_136; 15401 break; 15402 } 15403 break; 15404 case 0x82: 15405 GETBYTE (); 15406 switch (op[2] & 0x00) 15407 { 15408 case 0x00: 15409 goto op_semantics_136; 15410 break; 15411 } 15412 break; 15413 case 0x83: 15414 GETBYTE (); 15415 switch (op[2] & 0x00) 15416 { 15417 case 0x00: 15418 goto op_semantics_136; 15419 break; 15420 } 15421 break; 15422 case 0x84: 15423 GETBYTE (); 15424 switch (op[2] & 0x00) 15425 { 15426 case 0x00: 15427 goto op_semantics_136; 15428 break; 15429 } 15430 break; 15431 case 0x85: 15432 GETBYTE (); 15433 switch (op[2] & 0x00) 15434 { 15435 case 0x00: 15436 goto op_semantics_136; 15437 break; 15438 } 15439 break; 15440 case 0x86: 15441 GETBYTE (); 15442 switch (op[2] & 0x00) 15443 { 15444 case 0x00: 15445 goto op_semantics_136; 15446 break; 15447 } 15448 break; 15449 case 0x87: 15450 GETBYTE (); 15451 switch (op[2] & 0x00) 15452 { 15453 case 0x00: 15454 goto op_semantics_136; 15455 break; 15456 } 15457 break; 15458 case 0x88: 15459 GETBYTE (); 15460 switch (op[2] & 0x00) 15461 { 15462 case 0x00: 15463 goto op_semantics_136; 15464 break; 15465 } 15466 break; 15467 case 0x89: 15468 GETBYTE (); 15469 switch (op[2] & 0x00) 15470 { 15471 case 0x00: 15472 goto op_semantics_136; 15473 break; 15474 } 15475 break; 15476 case 0x8a: 15477 GETBYTE (); 15478 switch (op[2] & 0x00) 15479 { 15480 case 0x00: 15481 goto op_semantics_136; 15482 break; 15483 } 15484 break; 15485 case 0x8b: 15486 GETBYTE (); 15487 switch (op[2] & 0x00) 15488 { 15489 case 0x00: 15490 goto op_semantics_136; 15491 break; 15492 } 15493 break; 15494 case 0x8c: 15495 GETBYTE (); 15496 switch (op[2] & 0x00) 15497 { 15498 case 0x00: 15499 goto op_semantics_136; 15500 break; 15501 } 15502 break; 15503 case 0x8d: 15504 GETBYTE (); 15505 switch (op[2] & 0x00) 15506 { 15507 case 0x00: 15508 goto op_semantics_136; 15509 break; 15510 } 15511 break; 15512 case 0x8e: 15513 GETBYTE (); 15514 switch (op[2] & 0x00) 15515 { 15516 case 0x00: 15517 goto op_semantics_136; 15518 break; 15519 } 15520 break; 15521 case 0x8f: 15522 GETBYTE (); 15523 switch (op[2] & 0x00) 15524 { 15525 case 0x00: 15526 goto op_semantics_136; 15527 break; 15528 } 15529 break; 15530 case 0x90: 15531 GETBYTE (); 15532 switch (op[2] & 0x00) 15533 { 15534 case 0x00: 15535 goto op_semantics_136; 15536 break; 15537 } 15538 break; 15539 case 0x91: 15540 GETBYTE (); 15541 switch (op[2] & 0x00) 15542 { 15543 case 0x00: 15544 goto op_semantics_136; 15545 break; 15546 } 15547 break; 15548 case 0x92: 15549 GETBYTE (); 15550 switch (op[2] & 0x00) 15551 { 15552 case 0x00: 15553 goto op_semantics_136; 15554 break; 15555 } 15556 break; 15557 case 0x93: 15558 GETBYTE (); 15559 switch (op[2] & 0x00) 15560 { 15561 case 0x00: 15562 goto op_semantics_136; 15563 break; 15564 } 15565 break; 15566 case 0x94: 15567 GETBYTE (); 15568 switch (op[2] & 0x00) 15569 { 15570 case 0x00: 15571 goto op_semantics_136; 15572 break; 15573 } 15574 break; 15575 case 0x95: 15576 GETBYTE (); 15577 switch (op[2] & 0x00) 15578 { 15579 case 0x00: 15580 goto op_semantics_136; 15581 break; 15582 } 15583 break; 15584 case 0x96: 15585 GETBYTE (); 15586 switch (op[2] & 0x00) 15587 { 15588 case 0x00: 15589 goto op_semantics_136; 15590 break; 15591 } 15592 break; 15593 case 0x97: 15594 GETBYTE (); 15595 switch (op[2] & 0x00) 15596 { 15597 case 0x00: 15598 goto op_semantics_136; 15599 break; 15600 } 15601 break; 15602 case 0x98: 15603 GETBYTE (); 15604 switch (op[2] & 0x00) 15605 { 15606 case 0x00: 15607 goto op_semantics_136; 15608 break; 15609 } 15610 break; 15611 case 0x99: 15612 GETBYTE (); 15613 switch (op[2] & 0x00) 15614 { 15615 case 0x00: 15616 goto op_semantics_136; 15617 break; 15618 } 15619 break; 15620 case 0x9a: 15621 GETBYTE (); 15622 switch (op[2] & 0x00) 15623 { 15624 case 0x00: 15625 goto op_semantics_136; 15626 break; 15627 } 15628 break; 15629 case 0x9b: 15630 GETBYTE (); 15631 switch (op[2] & 0x00) 15632 { 15633 case 0x00: 15634 goto op_semantics_136; 15635 break; 15636 } 15637 break; 15638 case 0x9c: 15639 GETBYTE (); 15640 switch (op[2] & 0x00) 15641 { 15642 case 0x00: 15643 goto op_semantics_136; 15644 break; 15645 } 15646 break; 15647 case 0x9d: 15648 GETBYTE (); 15649 switch (op[2] & 0x00) 15650 { 15651 case 0x00: 15652 goto op_semantics_136; 15653 break; 15654 } 15655 break; 15656 case 0x9e: 15657 GETBYTE (); 15658 switch (op[2] & 0x00) 15659 { 15660 case 0x00: 15661 goto op_semantics_136; 15662 break; 15663 } 15664 break; 15665 case 0x9f: 15666 GETBYTE (); 15667 switch (op[2] & 0x00) 15668 { 15669 case 0x00: 15670 goto op_semantics_136; 15671 break; 15672 } 15673 break; 15674 case 0xa0: 15675 GETBYTE (); 15676 switch (op[2] & 0x00) 15677 { 15678 case 0x00: 15679 op_semantics_137: 15680 { 15681 /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */ 15682 #line 747 "rx-decode.opc" 15683 int immmm AU = op[1] & 0x1f; 15684 #line 747 "rx-decode.opc" 15685 int rsrc AU = (op[2] >> 4) & 0x0f; 15686 #line 747 "rx-decode.opc" 15687 int rdst AU = op[2] & 0x0f; 15688 if (trace) 15689 { 15690 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 15691 "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */", 15692 op[0], op[1], op[2]); 15693 printf (" immmm = 0x%x,", immmm); 15694 printf (" rsrc = 0x%x,", rsrc); 15695 printf (" rdst = 0x%x\n", rdst); 15696 } 15697 SYNTAX("shar #%2, %1, %0"); 15698 #line 747 "rx-decode.opc" 15699 ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC; 15700 15701 15702 } 15703 break; 15704 } 15705 break; 15706 case 0xa1: 15707 GETBYTE (); 15708 switch (op[2] & 0x00) 15709 { 15710 case 0x00: 15711 goto op_semantics_137; 15712 break; 15713 } 15714 break; 15715 case 0xa2: 15716 GETBYTE (); 15717 switch (op[2] & 0x00) 15718 { 15719 case 0x00: 15720 goto op_semantics_137; 15721 break; 15722 } 15723 break; 15724 case 0xa3: 15725 GETBYTE (); 15726 switch (op[2] & 0x00) 15727 { 15728 case 0x00: 15729 goto op_semantics_137; 15730 break; 15731 } 15732 break; 15733 case 0xa4: 15734 GETBYTE (); 15735 switch (op[2] & 0x00) 15736 { 15737 case 0x00: 15738 goto op_semantics_137; 15739 break; 15740 } 15741 break; 15742 case 0xa5: 15743 GETBYTE (); 15744 switch (op[2] & 0x00) 15745 { 15746 case 0x00: 15747 goto op_semantics_137; 15748 break; 15749 } 15750 break; 15751 case 0xa6: 15752 GETBYTE (); 15753 switch (op[2] & 0x00) 15754 { 15755 case 0x00: 15756 goto op_semantics_137; 15757 break; 15758 } 15759 break; 15760 case 0xa7: 15761 GETBYTE (); 15762 switch (op[2] & 0x00) 15763 { 15764 case 0x00: 15765 goto op_semantics_137; 15766 break; 15767 } 15768 break; 15769 case 0xa8: 15770 GETBYTE (); 15771 switch (op[2] & 0x00) 15772 { 15773 case 0x00: 15774 goto op_semantics_137; 15775 break; 15776 } 15777 break; 15778 case 0xa9: 15779 GETBYTE (); 15780 switch (op[2] & 0x00) 15781 { 15782 case 0x00: 15783 goto op_semantics_137; 15784 break; 15785 } 15786 break; 15787 case 0xaa: 15788 GETBYTE (); 15789 switch (op[2] & 0x00) 15790 { 15791 case 0x00: 15792 goto op_semantics_137; 15793 break; 15794 } 15795 break; 15796 case 0xab: 15797 GETBYTE (); 15798 switch (op[2] & 0x00) 15799 { 15800 case 0x00: 15801 goto op_semantics_137; 15802 break; 15803 } 15804 break; 15805 case 0xac: 15806 GETBYTE (); 15807 switch (op[2] & 0x00) 15808 { 15809 case 0x00: 15810 goto op_semantics_137; 15811 break; 15812 } 15813 break; 15814 case 0xad: 15815 GETBYTE (); 15816 switch (op[2] & 0x00) 15817 { 15818 case 0x00: 15819 goto op_semantics_137; 15820 break; 15821 } 15822 break; 15823 case 0xae: 15824 GETBYTE (); 15825 switch (op[2] & 0x00) 15826 { 15827 case 0x00: 15828 goto op_semantics_137; 15829 break; 15830 } 15831 break; 15832 case 0xaf: 15833 GETBYTE (); 15834 switch (op[2] & 0x00) 15835 { 15836 case 0x00: 15837 goto op_semantics_137; 15838 break; 15839 } 15840 break; 15841 case 0xb0: 15842 GETBYTE (); 15843 switch (op[2] & 0x00) 15844 { 15845 case 0x00: 15846 goto op_semantics_137; 15847 break; 15848 } 15849 break; 15850 case 0xb1: 15851 GETBYTE (); 15852 switch (op[2] & 0x00) 15853 { 15854 case 0x00: 15855 goto op_semantics_137; 15856 break; 15857 } 15858 break; 15859 case 0xb2: 15860 GETBYTE (); 15861 switch (op[2] & 0x00) 15862 { 15863 case 0x00: 15864 goto op_semantics_137; 15865 break; 15866 } 15867 break; 15868 case 0xb3: 15869 GETBYTE (); 15870 switch (op[2] & 0x00) 15871 { 15872 case 0x00: 15873 goto op_semantics_137; 15874 break; 15875 } 15876 break; 15877 case 0xb4: 15878 GETBYTE (); 15879 switch (op[2] & 0x00) 15880 { 15881 case 0x00: 15882 goto op_semantics_137; 15883 break; 15884 } 15885 break; 15886 case 0xb5: 15887 GETBYTE (); 15888 switch (op[2] & 0x00) 15889 { 15890 case 0x00: 15891 goto op_semantics_137; 15892 break; 15893 } 15894 break; 15895 case 0xb6: 15896 GETBYTE (); 15897 switch (op[2] & 0x00) 15898 { 15899 case 0x00: 15900 goto op_semantics_137; 15901 break; 15902 } 15903 break; 15904 case 0xb7: 15905 GETBYTE (); 15906 switch (op[2] & 0x00) 15907 { 15908 case 0x00: 15909 goto op_semantics_137; 15910 break; 15911 } 15912 break; 15913 case 0xb8: 15914 GETBYTE (); 15915 switch (op[2] & 0x00) 15916 { 15917 case 0x00: 15918 goto op_semantics_137; 15919 break; 15920 } 15921 break; 15922 case 0xb9: 15923 GETBYTE (); 15924 switch (op[2] & 0x00) 15925 { 15926 case 0x00: 15927 goto op_semantics_137; 15928 break; 15929 } 15930 break; 15931 case 0xba: 15932 GETBYTE (); 15933 switch (op[2] & 0x00) 15934 { 15935 case 0x00: 15936 goto op_semantics_137; 15937 break; 15938 } 15939 break; 15940 case 0xbb: 15941 GETBYTE (); 15942 switch (op[2] & 0x00) 15943 { 15944 case 0x00: 15945 goto op_semantics_137; 15946 break; 15947 } 15948 break; 15949 case 0xbc: 15950 GETBYTE (); 15951 switch (op[2] & 0x00) 15952 { 15953 case 0x00: 15954 goto op_semantics_137; 15955 break; 15956 } 15957 break; 15958 case 0xbd: 15959 GETBYTE (); 15960 switch (op[2] & 0x00) 15961 { 15962 case 0x00: 15963 goto op_semantics_137; 15964 break; 15965 } 15966 break; 15967 case 0xbe: 15968 GETBYTE (); 15969 switch (op[2] & 0x00) 15970 { 15971 case 0x00: 15972 goto op_semantics_137; 15973 break; 15974 } 15975 break; 15976 case 0xbf: 15977 GETBYTE (); 15978 switch (op[2] & 0x00) 15979 { 15980 case 0x00: 15981 goto op_semantics_137; 15982 break; 15983 } 15984 break; 15985 case 0xc0: 15986 GETBYTE (); 15987 switch (op[2] & 0x00) 15988 { 15989 case 0x00: 15990 op_semantics_138: 15991 { 15992 /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */ 15993 #line 737 "rx-decode.opc" 15994 int immmm AU = op[1] & 0x1f; 15995 #line 737 "rx-decode.opc" 15996 int rsrc AU = (op[2] >> 4) & 0x0f; 15997 #line 737 "rx-decode.opc" 15998 int rdst AU = op[2] & 0x0f; 15999 if (trace) 16000 { 16001 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 16002 "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */", 16003 op[0], op[1], op[2]); 16004 printf (" immmm = 0x%x,", immmm); 16005 printf (" rsrc = 0x%x,", rsrc); 16006 printf (" rdst = 0x%x\n", rdst); 16007 } 16008 SYNTAX("shll #%2, %1, %0"); 16009 #line 737 "rx-decode.opc" 16010 ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC; 16011 16012 16013 } 16014 break; 16015 } 16016 break; 16017 case 0xc1: 16018 GETBYTE (); 16019 switch (op[2] & 0x00) 16020 { 16021 case 0x00: 16022 goto op_semantics_138; 16023 break; 16024 } 16025 break; 16026 case 0xc2: 16027 GETBYTE (); 16028 switch (op[2] & 0x00) 16029 { 16030 case 0x00: 16031 goto op_semantics_138; 16032 break; 16033 } 16034 break; 16035 case 0xc3: 16036 GETBYTE (); 16037 switch (op[2] & 0x00) 16038 { 16039 case 0x00: 16040 goto op_semantics_138; 16041 break; 16042 } 16043 break; 16044 case 0xc4: 16045 GETBYTE (); 16046 switch (op[2] & 0x00) 16047 { 16048 case 0x00: 16049 goto op_semantics_138; 16050 break; 16051 } 16052 break; 16053 case 0xc5: 16054 GETBYTE (); 16055 switch (op[2] & 0x00) 16056 { 16057 case 0x00: 16058 goto op_semantics_138; 16059 break; 16060 } 16061 break; 16062 case 0xc6: 16063 GETBYTE (); 16064 switch (op[2] & 0x00) 16065 { 16066 case 0x00: 16067 goto op_semantics_138; 16068 break; 16069 } 16070 break; 16071 case 0xc7: 16072 GETBYTE (); 16073 switch (op[2] & 0x00) 16074 { 16075 case 0x00: 16076 goto op_semantics_138; 16077 break; 16078 } 16079 break; 16080 case 0xc8: 16081 GETBYTE (); 16082 switch (op[2] & 0x00) 16083 { 16084 case 0x00: 16085 goto op_semantics_138; 16086 break; 16087 } 16088 break; 16089 case 0xc9: 16090 GETBYTE (); 16091 switch (op[2] & 0x00) 16092 { 16093 case 0x00: 16094 goto op_semantics_138; 16095 break; 16096 } 16097 break; 16098 case 0xca: 16099 GETBYTE (); 16100 switch (op[2] & 0x00) 16101 { 16102 case 0x00: 16103 goto op_semantics_138; 16104 break; 16105 } 16106 break; 16107 case 0xcb: 16108 GETBYTE (); 16109 switch (op[2] & 0x00) 16110 { 16111 case 0x00: 16112 goto op_semantics_138; 16113 break; 16114 } 16115 break; 16116 case 0xcc: 16117 GETBYTE (); 16118 switch (op[2] & 0x00) 16119 { 16120 case 0x00: 16121 goto op_semantics_138; 16122 break; 16123 } 16124 break; 16125 case 0xcd: 16126 GETBYTE (); 16127 switch (op[2] & 0x00) 16128 { 16129 case 0x00: 16130 goto op_semantics_138; 16131 break; 16132 } 16133 break; 16134 case 0xce: 16135 GETBYTE (); 16136 switch (op[2] & 0x00) 16137 { 16138 case 0x00: 16139 goto op_semantics_138; 16140 break; 16141 } 16142 break; 16143 case 0xcf: 16144 GETBYTE (); 16145 switch (op[2] & 0x00) 16146 { 16147 case 0x00: 16148 goto op_semantics_138; 16149 break; 16150 } 16151 break; 16152 case 0xd0: 16153 GETBYTE (); 16154 switch (op[2] & 0x00) 16155 { 16156 case 0x00: 16157 goto op_semantics_138; 16158 break; 16159 } 16160 break; 16161 case 0xd1: 16162 GETBYTE (); 16163 switch (op[2] & 0x00) 16164 { 16165 case 0x00: 16166 goto op_semantics_138; 16167 break; 16168 } 16169 break; 16170 case 0xd2: 16171 GETBYTE (); 16172 switch (op[2] & 0x00) 16173 { 16174 case 0x00: 16175 goto op_semantics_138; 16176 break; 16177 } 16178 break; 16179 case 0xd3: 16180 GETBYTE (); 16181 switch (op[2] & 0x00) 16182 { 16183 case 0x00: 16184 goto op_semantics_138; 16185 break; 16186 } 16187 break; 16188 case 0xd4: 16189 GETBYTE (); 16190 switch (op[2] & 0x00) 16191 { 16192 case 0x00: 16193 goto op_semantics_138; 16194 break; 16195 } 16196 break; 16197 case 0xd5: 16198 GETBYTE (); 16199 switch (op[2] & 0x00) 16200 { 16201 case 0x00: 16202 goto op_semantics_138; 16203 break; 16204 } 16205 break; 16206 case 0xd6: 16207 GETBYTE (); 16208 switch (op[2] & 0x00) 16209 { 16210 case 0x00: 16211 goto op_semantics_138; 16212 break; 16213 } 16214 break; 16215 case 0xd7: 16216 GETBYTE (); 16217 switch (op[2] & 0x00) 16218 { 16219 case 0x00: 16220 goto op_semantics_138; 16221 break; 16222 } 16223 break; 16224 case 0xd8: 16225 GETBYTE (); 16226 switch (op[2] & 0x00) 16227 { 16228 case 0x00: 16229 goto op_semantics_138; 16230 break; 16231 } 16232 break; 16233 case 0xd9: 16234 GETBYTE (); 16235 switch (op[2] & 0x00) 16236 { 16237 case 0x00: 16238 goto op_semantics_138; 16239 break; 16240 } 16241 break; 16242 case 0xda: 16243 GETBYTE (); 16244 switch (op[2] & 0x00) 16245 { 16246 case 0x00: 16247 goto op_semantics_138; 16248 break; 16249 } 16250 break; 16251 case 0xdb: 16252 GETBYTE (); 16253 switch (op[2] & 0x00) 16254 { 16255 case 0x00: 16256 goto op_semantics_138; 16257 break; 16258 } 16259 break; 16260 case 0xdc: 16261 GETBYTE (); 16262 switch (op[2] & 0x00) 16263 { 16264 case 0x00: 16265 goto op_semantics_138; 16266 break; 16267 } 16268 break; 16269 case 0xdd: 16270 GETBYTE (); 16271 switch (op[2] & 0x00) 16272 { 16273 case 0x00: 16274 goto op_semantics_138; 16275 break; 16276 } 16277 break; 16278 case 0xde: 16279 GETBYTE (); 16280 switch (op[2] & 0x00) 16281 { 16282 case 0x00: 16283 goto op_semantics_138; 16284 break; 16285 } 16286 break; 16287 case 0xdf: 16288 GETBYTE (); 16289 switch (op[2] & 0x00) 16290 { 16291 case 0x00: 16292 goto op_semantics_138; 16293 break; 16294 } 16295 break; 16296 case 0xe0: 16297 GETBYTE (); 16298 switch (op[2] & 0xf0) 16299 { 16300 case 0x00: 16301 case 0x10: 16302 case 0x20: 16303 case 0x30: 16304 case 0x40: 16305 case 0x50: 16306 case 0x60: 16307 case 0x70: 16308 case 0x80: 16309 case 0x90: 16310 case 0xa0: 16311 case 0xb0: 16312 case 0xc0: 16313 case 0xd0: 16314 case 0xe0: 16315 op_semantics_139: 16316 { 16317 /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */ 16318 #line 1011 "rx-decode.opc" 16319 int bittt AU = op[1] & 0x1f; 16320 #line 1011 "rx-decode.opc" 16321 int cond AU = (op[2] >> 4) & 0x0f; 16322 #line 1011 "rx-decode.opc" 16323 int rdst AU = op[2] & 0x0f; 16324 if (trace) 16325 { 16326 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 16327 "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */", 16328 op[0], op[1], op[2]); 16329 printf (" bittt = 0x%x,", bittt); 16330 printf (" cond = 0x%x,", cond); 16331 printf (" rdst = 0x%x\n", rdst); 16332 } 16333 SYNTAX("bm%2 #%1, %0%S0"); 16334 #line 1011 "rx-decode.opc" 16335 ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst); 16336 16337 /*----------------------------------------------------------------------*/ 16338 /* CONTROL REGISTERS */ 16339 16340 } 16341 break; 16342 case 0xf0: 16343 op_semantics_140: 16344 { 16345 /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */ 16346 #line 1004 "rx-decode.opc" 16347 int bittt AU = op[1] & 0x1f; 16348 #line 1004 "rx-decode.opc" 16349 int rdst AU = op[2] & 0x0f; 16350 if (trace) 16351 { 16352 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 16353 "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */", 16354 op[0], op[1], op[2]); 16355 printf (" bittt = 0x%x,", bittt); 16356 printf (" rdst = 0x%x\n", rdst); 16357 } 16358 SYNTAX("bnot #%1, %0"); 16359 #line 1004 "rx-decode.opc" 16360 ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst); 16361 16362 16363 } 16364 break; 16365 } 16366 break; 16367 case 0xe1: 16368 GETBYTE (); 16369 switch (op[2] & 0xf0) 16370 { 16371 case 0x00: 16372 case 0x10: 16373 case 0x20: 16374 case 0x30: 16375 case 0x40: 16376 case 0x50: 16377 case 0x60: 16378 case 0x70: 16379 case 0x80: 16380 case 0x90: 16381 case 0xa0: 16382 case 0xb0: 16383 case 0xc0: 16384 case 0xd0: 16385 case 0xe0: 16386 goto op_semantics_139; 16387 break; 16388 case 0xf0: 16389 goto op_semantics_140; 16390 break; 16391 } 16392 break; 16393 case 0xe2: 16394 GETBYTE (); 16395 switch (op[2] & 0xf0) 16396 { 16397 case 0x00: 16398 case 0x10: 16399 case 0x20: 16400 case 0x30: 16401 case 0x40: 16402 case 0x50: 16403 case 0x60: 16404 case 0x70: 16405 case 0x80: 16406 case 0x90: 16407 case 0xa0: 16408 case 0xb0: 16409 case 0xc0: 16410 case 0xd0: 16411 case 0xe0: 16412 goto op_semantics_139; 16413 break; 16414 case 0xf0: 16415 goto op_semantics_140; 16416 break; 16417 } 16418 break; 16419 case 0xe3: 16420 GETBYTE (); 16421 switch (op[2] & 0xf0) 16422 { 16423 case 0x00: 16424 case 0x10: 16425 case 0x20: 16426 case 0x30: 16427 case 0x40: 16428 case 0x50: 16429 case 0x60: 16430 case 0x70: 16431 case 0x80: 16432 case 0x90: 16433 case 0xa0: 16434 case 0xb0: 16435 case 0xc0: 16436 case 0xd0: 16437 case 0xe0: 16438 goto op_semantics_139; 16439 break; 16440 case 0xf0: 16441 goto op_semantics_140; 16442 break; 16443 } 16444 break; 16445 case 0xe4: 16446 GETBYTE (); 16447 switch (op[2] & 0xf0) 16448 { 16449 case 0x00: 16450 case 0x10: 16451 case 0x20: 16452 case 0x30: 16453 case 0x40: 16454 case 0x50: 16455 case 0x60: 16456 case 0x70: 16457 case 0x80: 16458 case 0x90: 16459 case 0xa0: 16460 case 0xb0: 16461 case 0xc0: 16462 case 0xd0: 16463 case 0xe0: 16464 goto op_semantics_139; 16465 break; 16466 case 0xf0: 16467 goto op_semantics_140; 16468 break; 16469 } 16470 break; 16471 case 0xe5: 16472 GETBYTE (); 16473 switch (op[2] & 0xf0) 16474 { 16475 case 0x00: 16476 case 0x10: 16477 case 0x20: 16478 case 0x30: 16479 case 0x40: 16480 case 0x50: 16481 case 0x60: 16482 case 0x70: 16483 case 0x80: 16484 case 0x90: 16485 case 0xa0: 16486 case 0xb0: 16487 case 0xc0: 16488 case 0xd0: 16489 case 0xe0: 16490 goto op_semantics_139; 16491 break; 16492 case 0xf0: 16493 goto op_semantics_140; 16494 break; 16495 } 16496 break; 16497 case 0xe6: 16498 GETBYTE (); 16499 switch (op[2] & 0xf0) 16500 { 16501 case 0x00: 16502 case 0x10: 16503 case 0x20: 16504 case 0x30: 16505 case 0x40: 16506 case 0x50: 16507 case 0x60: 16508 case 0x70: 16509 case 0x80: 16510 case 0x90: 16511 case 0xa0: 16512 case 0xb0: 16513 case 0xc0: 16514 case 0xd0: 16515 case 0xe0: 16516 goto op_semantics_139; 16517 break; 16518 case 0xf0: 16519 goto op_semantics_140; 16520 break; 16521 } 16522 break; 16523 case 0xe7: 16524 GETBYTE (); 16525 switch (op[2] & 0xf0) 16526 { 16527 case 0x00: 16528 case 0x10: 16529 case 0x20: 16530 case 0x30: 16531 case 0x40: 16532 case 0x50: 16533 case 0x60: 16534 case 0x70: 16535 case 0x80: 16536 case 0x90: 16537 case 0xa0: 16538 case 0xb0: 16539 case 0xc0: 16540 case 0xd0: 16541 case 0xe0: 16542 goto op_semantics_139; 16543 break; 16544 case 0xf0: 16545 goto op_semantics_140; 16546 break; 16547 } 16548 break; 16549 case 0xe8: 16550 GETBYTE (); 16551 switch (op[2] & 0xf0) 16552 { 16553 case 0x00: 16554 case 0x10: 16555 case 0x20: 16556 case 0x30: 16557 case 0x40: 16558 case 0x50: 16559 case 0x60: 16560 case 0x70: 16561 case 0x80: 16562 case 0x90: 16563 case 0xa0: 16564 case 0xb0: 16565 case 0xc0: 16566 case 0xd0: 16567 case 0xe0: 16568 goto op_semantics_139; 16569 break; 16570 case 0xf0: 16571 goto op_semantics_140; 16572 break; 16573 } 16574 break; 16575 case 0xe9: 16576 GETBYTE (); 16577 switch (op[2] & 0xf0) 16578 { 16579 case 0x00: 16580 case 0x10: 16581 case 0x20: 16582 case 0x30: 16583 case 0x40: 16584 case 0x50: 16585 case 0x60: 16586 case 0x70: 16587 case 0x80: 16588 case 0x90: 16589 case 0xa0: 16590 case 0xb0: 16591 case 0xc0: 16592 case 0xd0: 16593 case 0xe0: 16594 goto op_semantics_139; 16595 break; 16596 case 0xf0: 16597 goto op_semantics_140; 16598 break; 16599 } 16600 break; 16601 case 0xea: 16602 GETBYTE (); 16603 switch (op[2] & 0xf0) 16604 { 16605 case 0x00: 16606 case 0x10: 16607 case 0x20: 16608 case 0x30: 16609 case 0x40: 16610 case 0x50: 16611 case 0x60: 16612 case 0x70: 16613 case 0x80: 16614 case 0x90: 16615 case 0xa0: 16616 case 0xb0: 16617 case 0xc0: 16618 case 0xd0: 16619 case 0xe0: 16620 goto op_semantics_139; 16621 break; 16622 case 0xf0: 16623 goto op_semantics_140; 16624 break; 16625 } 16626 break; 16627 case 0xeb: 16628 GETBYTE (); 16629 switch (op[2] & 0xf0) 16630 { 16631 case 0x00: 16632 case 0x10: 16633 case 0x20: 16634 case 0x30: 16635 case 0x40: 16636 case 0x50: 16637 case 0x60: 16638 case 0x70: 16639 case 0x80: 16640 case 0x90: 16641 case 0xa0: 16642 case 0xb0: 16643 case 0xc0: 16644 case 0xd0: 16645 case 0xe0: 16646 goto op_semantics_139; 16647 break; 16648 case 0xf0: 16649 goto op_semantics_140; 16650 break; 16651 } 16652 break; 16653 case 0xec: 16654 GETBYTE (); 16655 switch (op[2] & 0xf0) 16656 { 16657 case 0x00: 16658 case 0x10: 16659 case 0x20: 16660 case 0x30: 16661 case 0x40: 16662 case 0x50: 16663 case 0x60: 16664 case 0x70: 16665 case 0x80: 16666 case 0x90: 16667 case 0xa0: 16668 case 0xb0: 16669 case 0xc0: 16670 case 0xd0: 16671 case 0xe0: 16672 goto op_semantics_139; 16673 break; 16674 case 0xf0: 16675 goto op_semantics_140; 16676 break; 16677 } 16678 break; 16679 case 0xed: 16680 GETBYTE (); 16681 switch (op[2] & 0xf0) 16682 { 16683 case 0x00: 16684 case 0x10: 16685 case 0x20: 16686 case 0x30: 16687 case 0x40: 16688 case 0x50: 16689 case 0x60: 16690 case 0x70: 16691 case 0x80: 16692 case 0x90: 16693 case 0xa0: 16694 case 0xb0: 16695 case 0xc0: 16696 case 0xd0: 16697 case 0xe0: 16698 goto op_semantics_139; 16699 break; 16700 case 0xf0: 16701 goto op_semantics_140; 16702 break; 16703 } 16704 break; 16705 case 0xee: 16706 GETBYTE (); 16707 switch (op[2] & 0xf0) 16708 { 16709 case 0x00: 16710 case 0x10: 16711 case 0x20: 16712 case 0x30: 16713 case 0x40: 16714 case 0x50: 16715 case 0x60: 16716 case 0x70: 16717 case 0x80: 16718 case 0x90: 16719 case 0xa0: 16720 case 0xb0: 16721 case 0xc0: 16722 case 0xd0: 16723 case 0xe0: 16724 goto op_semantics_139; 16725 break; 16726 case 0xf0: 16727 goto op_semantics_140; 16728 break; 16729 } 16730 break; 16731 case 0xef: 16732 GETBYTE (); 16733 switch (op[2] & 0xf0) 16734 { 16735 case 0x00: 16736 case 0x10: 16737 case 0x20: 16738 case 0x30: 16739 case 0x40: 16740 case 0x50: 16741 case 0x60: 16742 case 0x70: 16743 case 0x80: 16744 case 0x90: 16745 case 0xa0: 16746 case 0xb0: 16747 case 0xc0: 16748 case 0xd0: 16749 case 0xe0: 16750 goto op_semantics_139; 16751 break; 16752 case 0xf0: 16753 goto op_semantics_140; 16754 break; 16755 } 16756 break; 16757 case 0xf0: 16758 GETBYTE (); 16759 switch (op[2] & 0xf0) 16760 { 16761 case 0x00: 16762 case 0x10: 16763 case 0x20: 16764 case 0x30: 16765 case 0x40: 16766 case 0x50: 16767 case 0x60: 16768 case 0x70: 16769 case 0x80: 16770 case 0x90: 16771 case 0xa0: 16772 case 0xb0: 16773 case 0xc0: 16774 case 0xd0: 16775 case 0xe0: 16776 goto op_semantics_139; 16777 break; 16778 case 0xf0: 16779 goto op_semantics_140; 16780 break; 16781 } 16782 break; 16783 case 0xf1: 16784 GETBYTE (); 16785 switch (op[2] & 0xf0) 16786 { 16787 case 0x00: 16788 case 0x10: 16789 case 0x20: 16790 case 0x30: 16791 case 0x40: 16792 case 0x50: 16793 case 0x60: 16794 case 0x70: 16795 case 0x80: 16796 case 0x90: 16797 case 0xa0: 16798 case 0xb0: 16799 case 0xc0: 16800 case 0xd0: 16801 case 0xe0: 16802 goto op_semantics_139; 16803 break; 16804 case 0xf0: 16805 goto op_semantics_140; 16806 break; 16807 } 16808 break; 16809 case 0xf2: 16810 GETBYTE (); 16811 switch (op[2] & 0xf0) 16812 { 16813 case 0x00: 16814 case 0x10: 16815 case 0x20: 16816 case 0x30: 16817 case 0x40: 16818 case 0x50: 16819 case 0x60: 16820 case 0x70: 16821 case 0x80: 16822 case 0x90: 16823 case 0xa0: 16824 case 0xb0: 16825 case 0xc0: 16826 case 0xd0: 16827 case 0xe0: 16828 goto op_semantics_139; 16829 break; 16830 case 0xf0: 16831 goto op_semantics_140; 16832 break; 16833 } 16834 break; 16835 case 0xf3: 16836 GETBYTE (); 16837 switch (op[2] & 0xf0) 16838 { 16839 case 0x00: 16840 case 0x10: 16841 case 0x20: 16842 case 0x30: 16843 case 0x40: 16844 case 0x50: 16845 case 0x60: 16846 case 0x70: 16847 case 0x80: 16848 case 0x90: 16849 case 0xa0: 16850 case 0xb0: 16851 case 0xc0: 16852 case 0xd0: 16853 case 0xe0: 16854 goto op_semantics_139; 16855 break; 16856 case 0xf0: 16857 goto op_semantics_140; 16858 break; 16859 } 16860 break; 16861 case 0xf4: 16862 GETBYTE (); 16863 switch (op[2] & 0xf0) 16864 { 16865 case 0x00: 16866 case 0x10: 16867 case 0x20: 16868 case 0x30: 16869 case 0x40: 16870 case 0x50: 16871 case 0x60: 16872 case 0x70: 16873 case 0x80: 16874 case 0x90: 16875 case 0xa0: 16876 case 0xb0: 16877 case 0xc0: 16878 case 0xd0: 16879 case 0xe0: 16880 goto op_semantics_139; 16881 break; 16882 case 0xf0: 16883 goto op_semantics_140; 16884 break; 16885 } 16886 break; 16887 case 0xf5: 16888 GETBYTE (); 16889 switch (op[2] & 0xf0) 16890 { 16891 case 0x00: 16892 case 0x10: 16893 case 0x20: 16894 case 0x30: 16895 case 0x40: 16896 case 0x50: 16897 case 0x60: 16898 case 0x70: 16899 case 0x80: 16900 case 0x90: 16901 case 0xa0: 16902 case 0xb0: 16903 case 0xc0: 16904 case 0xd0: 16905 case 0xe0: 16906 goto op_semantics_139; 16907 break; 16908 case 0xf0: 16909 goto op_semantics_140; 16910 break; 16911 } 16912 break; 16913 case 0xf6: 16914 GETBYTE (); 16915 switch (op[2] & 0xf0) 16916 { 16917 case 0x00: 16918 case 0x10: 16919 case 0x20: 16920 case 0x30: 16921 case 0x40: 16922 case 0x50: 16923 case 0x60: 16924 case 0x70: 16925 case 0x80: 16926 case 0x90: 16927 case 0xa0: 16928 case 0xb0: 16929 case 0xc0: 16930 case 0xd0: 16931 case 0xe0: 16932 goto op_semantics_139; 16933 break; 16934 case 0xf0: 16935 goto op_semantics_140; 16936 break; 16937 } 16938 break; 16939 case 0xf7: 16940 GETBYTE (); 16941 switch (op[2] & 0xf0) 16942 { 16943 case 0x00: 16944 case 0x10: 16945 case 0x20: 16946 case 0x30: 16947 case 0x40: 16948 case 0x50: 16949 case 0x60: 16950 case 0x70: 16951 case 0x80: 16952 case 0x90: 16953 case 0xa0: 16954 case 0xb0: 16955 case 0xc0: 16956 case 0xd0: 16957 case 0xe0: 16958 goto op_semantics_139; 16959 break; 16960 case 0xf0: 16961 goto op_semantics_140; 16962 break; 16963 } 16964 break; 16965 case 0xf8: 16966 GETBYTE (); 16967 switch (op[2] & 0xf0) 16968 { 16969 case 0x00: 16970 case 0x10: 16971 case 0x20: 16972 case 0x30: 16973 case 0x40: 16974 case 0x50: 16975 case 0x60: 16976 case 0x70: 16977 case 0x80: 16978 case 0x90: 16979 case 0xa0: 16980 case 0xb0: 16981 case 0xc0: 16982 case 0xd0: 16983 case 0xe0: 16984 goto op_semantics_139; 16985 break; 16986 case 0xf0: 16987 goto op_semantics_140; 16988 break; 16989 } 16990 break; 16991 case 0xf9: 16992 GETBYTE (); 16993 switch (op[2] & 0xf0) 16994 { 16995 case 0x00: 16996 case 0x10: 16997 case 0x20: 16998 case 0x30: 16999 case 0x40: 17000 case 0x50: 17001 case 0x60: 17002 case 0x70: 17003 case 0x80: 17004 case 0x90: 17005 case 0xa0: 17006 case 0xb0: 17007 case 0xc0: 17008 case 0xd0: 17009 case 0xe0: 17010 goto op_semantics_139; 17011 break; 17012 case 0xf0: 17013 goto op_semantics_140; 17014 break; 17015 } 17016 break; 17017 case 0xfa: 17018 GETBYTE (); 17019 switch (op[2] & 0xf0) 17020 { 17021 case 0x00: 17022 case 0x10: 17023 case 0x20: 17024 case 0x30: 17025 case 0x40: 17026 case 0x50: 17027 case 0x60: 17028 case 0x70: 17029 case 0x80: 17030 case 0x90: 17031 case 0xa0: 17032 case 0xb0: 17033 case 0xc0: 17034 case 0xd0: 17035 case 0xe0: 17036 goto op_semantics_139; 17037 break; 17038 case 0xf0: 17039 goto op_semantics_140; 17040 break; 17041 } 17042 break; 17043 case 0xfb: 17044 GETBYTE (); 17045 switch (op[2] & 0xf0) 17046 { 17047 case 0x00: 17048 case 0x10: 17049 case 0x20: 17050 case 0x30: 17051 case 0x40: 17052 case 0x50: 17053 case 0x60: 17054 case 0x70: 17055 case 0x80: 17056 case 0x90: 17057 case 0xa0: 17058 case 0xb0: 17059 case 0xc0: 17060 case 0xd0: 17061 case 0xe0: 17062 goto op_semantics_139; 17063 break; 17064 case 0xf0: 17065 goto op_semantics_140; 17066 break; 17067 } 17068 break; 17069 case 0xfc: 17070 GETBYTE (); 17071 switch (op[2] & 0xf0) 17072 { 17073 case 0x00: 17074 case 0x10: 17075 case 0x20: 17076 case 0x30: 17077 case 0x40: 17078 case 0x50: 17079 case 0x60: 17080 case 0x70: 17081 case 0x80: 17082 case 0x90: 17083 case 0xa0: 17084 case 0xb0: 17085 case 0xc0: 17086 case 0xd0: 17087 case 0xe0: 17088 goto op_semantics_139; 17089 break; 17090 case 0xf0: 17091 goto op_semantics_140; 17092 break; 17093 } 17094 break; 17095 case 0xfd: 17096 GETBYTE (); 17097 switch (op[2] & 0xf0) 17098 { 17099 case 0x00: 17100 case 0x10: 17101 case 0x20: 17102 case 0x30: 17103 case 0x40: 17104 case 0x50: 17105 case 0x60: 17106 case 0x70: 17107 case 0x80: 17108 case 0x90: 17109 case 0xa0: 17110 case 0xb0: 17111 case 0xc0: 17112 case 0xd0: 17113 case 0xe0: 17114 goto op_semantics_139; 17115 break; 17116 case 0xf0: 17117 goto op_semantics_140; 17118 break; 17119 } 17120 break; 17121 case 0xfe: 17122 GETBYTE (); 17123 switch (op[2] & 0xf0) 17124 { 17125 case 0x00: 17126 case 0x10: 17127 case 0x20: 17128 case 0x30: 17129 case 0x40: 17130 case 0x50: 17131 case 0x60: 17132 case 0x70: 17133 case 0x80: 17134 case 0x90: 17135 case 0xa0: 17136 case 0xb0: 17137 case 0xc0: 17138 case 0xd0: 17139 case 0xe0: 17140 goto op_semantics_139; 17141 break; 17142 case 0xf0: 17143 goto op_semantics_140; 17144 break; 17145 } 17146 break; 17147 case 0xff: 17148 GETBYTE (); 17149 switch (op[2] & 0xf0) 17150 { 17151 case 0x00: 17152 case 0x10: 17153 case 0x20: 17154 case 0x30: 17155 case 0x40: 17156 case 0x50: 17157 case 0x60: 17158 case 0x70: 17159 case 0x80: 17160 case 0x90: 17161 case 0xa0: 17162 case 0xb0: 17163 case 0xc0: 17164 case 0xd0: 17165 case 0xe0: 17166 goto op_semantics_139; 17167 break; 17168 case 0xf0: 17169 goto op_semantics_140; 17170 break; 17171 } 17172 break; 17173 default: UNSUPPORTED(); break; 17174 } 17175 break; 17176 case 0xfe: 17177 GETBYTE (); 17178 switch (op[1] & 0xff) 17179 { 17180 case 0x00: 17181 GETBYTE (); 17182 switch (op[2] & 0x00) 17183 { 17184 case 0x00: 17185 op_semantics_141: 17186 { 17187 /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */ 17188 #line 363 "rx-decode.opc" 17189 int sz AU = (op[1] >> 4) & 0x03; 17190 #line 363 "rx-decode.opc" 17191 int isrc AU = op[1] & 0x0f; 17192 #line 363 "rx-decode.opc" 17193 int bsrc AU = (op[2] >> 4) & 0x0f; 17194 #line 363 "rx-decode.opc" 17195 int rdst AU = op[2] & 0x0f; 17196 if (trace) 17197 { 17198 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 17199 "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */", 17200 op[0], op[1], op[2]); 17201 printf (" sz = 0x%x,", sz); 17202 printf (" isrc = 0x%x,", isrc); 17203 printf (" bsrc = 0x%x,", bsrc); 17204 printf (" rdst = 0x%x\n", rdst); 17205 } 17206 SYNTAX("mov%s %0, [%1, %2]"); 17207 #line 363 "rx-decode.opc" 17208 ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; 17209 17210 } 17211 break; 17212 } 17213 break; 17214 case 0x01: 17215 GETBYTE (); 17216 switch (op[2] & 0x00) 17217 { 17218 case 0x00: 17219 goto op_semantics_141; 17220 break; 17221 } 17222 break; 17223 case 0x02: 17224 GETBYTE (); 17225 switch (op[2] & 0x00) 17226 { 17227 case 0x00: 17228 goto op_semantics_141; 17229 break; 17230 } 17231 break; 17232 case 0x03: 17233 GETBYTE (); 17234 switch (op[2] & 0x00) 17235 { 17236 case 0x00: 17237 goto op_semantics_141; 17238 break; 17239 } 17240 break; 17241 case 0x04: 17242 GETBYTE (); 17243 switch (op[2] & 0x00) 17244 { 17245 case 0x00: 17246 goto op_semantics_141; 17247 break; 17248 } 17249 break; 17250 case 0x05: 17251 GETBYTE (); 17252 switch (op[2] & 0x00) 17253 { 17254 case 0x00: 17255 goto op_semantics_141; 17256 break; 17257 } 17258 break; 17259 case 0x06: 17260 GETBYTE (); 17261 switch (op[2] & 0x00) 17262 { 17263 case 0x00: 17264 goto op_semantics_141; 17265 break; 17266 } 17267 break; 17268 case 0x07: 17269 GETBYTE (); 17270 switch (op[2] & 0x00) 17271 { 17272 case 0x00: 17273 goto op_semantics_141; 17274 break; 17275 } 17276 break; 17277 case 0x08: 17278 GETBYTE (); 17279 switch (op[2] & 0x00) 17280 { 17281 case 0x00: 17282 goto op_semantics_141; 17283 break; 17284 } 17285 break; 17286 case 0x09: 17287 GETBYTE (); 17288 switch (op[2] & 0x00) 17289 { 17290 case 0x00: 17291 goto op_semantics_141; 17292 break; 17293 } 17294 break; 17295 case 0x0a: 17296 GETBYTE (); 17297 switch (op[2] & 0x00) 17298 { 17299 case 0x00: 17300 goto op_semantics_141; 17301 break; 17302 } 17303 break; 17304 case 0x0b: 17305 GETBYTE (); 17306 switch (op[2] & 0x00) 17307 { 17308 case 0x00: 17309 goto op_semantics_141; 17310 break; 17311 } 17312 break; 17313 case 0x0c: 17314 GETBYTE (); 17315 switch (op[2] & 0x00) 17316 { 17317 case 0x00: 17318 goto op_semantics_141; 17319 break; 17320 } 17321 break; 17322 case 0x0d: 17323 GETBYTE (); 17324 switch (op[2] & 0x00) 17325 { 17326 case 0x00: 17327 goto op_semantics_141; 17328 break; 17329 } 17330 break; 17331 case 0x0e: 17332 GETBYTE (); 17333 switch (op[2] & 0x00) 17334 { 17335 case 0x00: 17336 goto op_semantics_141; 17337 break; 17338 } 17339 break; 17340 case 0x0f: 17341 GETBYTE (); 17342 switch (op[2] & 0x00) 17343 { 17344 case 0x00: 17345 goto op_semantics_141; 17346 break; 17347 } 17348 break; 17349 case 0x10: 17350 GETBYTE (); 17351 switch (op[2] & 0x00) 17352 { 17353 case 0x00: 17354 goto op_semantics_141; 17355 break; 17356 } 17357 break; 17358 case 0x11: 17359 GETBYTE (); 17360 switch (op[2] & 0x00) 17361 { 17362 case 0x00: 17363 goto op_semantics_141; 17364 break; 17365 } 17366 break; 17367 case 0x12: 17368 GETBYTE (); 17369 switch (op[2] & 0x00) 17370 { 17371 case 0x00: 17372 goto op_semantics_141; 17373 break; 17374 } 17375 break; 17376 case 0x13: 17377 GETBYTE (); 17378 switch (op[2] & 0x00) 17379 { 17380 case 0x00: 17381 goto op_semantics_141; 17382 break; 17383 } 17384 break; 17385 case 0x14: 17386 GETBYTE (); 17387 switch (op[2] & 0x00) 17388 { 17389 case 0x00: 17390 goto op_semantics_141; 17391 break; 17392 } 17393 break; 17394 case 0x15: 17395 GETBYTE (); 17396 switch (op[2] & 0x00) 17397 { 17398 case 0x00: 17399 goto op_semantics_141; 17400 break; 17401 } 17402 break; 17403 case 0x16: 17404 GETBYTE (); 17405 switch (op[2] & 0x00) 17406 { 17407 case 0x00: 17408 goto op_semantics_141; 17409 break; 17410 } 17411 break; 17412 case 0x17: 17413 GETBYTE (); 17414 switch (op[2] & 0x00) 17415 { 17416 case 0x00: 17417 goto op_semantics_141; 17418 break; 17419 } 17420 break; 17421 case 0x18: 17422 GETBYTE (); 17423 switch (op[2] & 0x00) 17424 { 17425 case 0x00: 17426 goto op_semantics_141; 17427 break; 17428 } 17429 break; 17430 case 0x19: 17431 GETBYTE (); 17432 switch (op[2] & 0x00) 17433 { 17434 case 0x00: 17435 goto op_semantics_141; 17436 break; 17437 } 17438 break; 17439 case 0x1a: 17440 GETBYTE (); 17441 switch (op[2] & 0x00) 17442 { 17443 case 0x00: 17444 goto op_semantics_141; 17445 break; 17446 } 17447 break; 17448 case 0x1b: 17449 GETBYTE (); 17450 switch (op[2] & 0x00) 17451 { 17452 case 0x00: 17453 goto op_semantics_141; 17454 break; 17455 } 17456 break; 17457 case 0x1c: 17458 GETBYTE (); 17459 switch (op[2] & 0x00) 17460 { 17461 case 0x00: 17462 goto op_semantics_141; 17463 break; 17464 } 17465 break; 17466 case 0x1d: 17467 GETBYTE (); 17468 switch (op[2] & 0x00) 17469 { 17470 case 0x00: 17471 goto op_semantics_141; 17472 break; 17473 } 17474 break; 17475 case 0x1e: 17476 GETBYTE (); 17477 switch (op[2] & 0x00) 17478 { 17479 case 0x00: 17480 goto op_semantics_141; 17481 break; 17482 } 17483 break; 17484 case 0x1f: 17485 GETBYTE (); 17486 switch (op[2] & 0x00) 17487 { 17488 case 0x00: 17489 goto op_semantics_141; 17490 break; 17491 } 17492 break; 17493 case 0x20: 17494 GETBYTE (); 17495 switch (op[2] & 0x00) 17496 { 17497 case 0x00: 17498 goto op_semantics_141; 17499 break; 17500 } 17501 break; 17502 case 0x21: 17503 GETBYTE (); 17504 switch (op[2] & 0x00) 17505 { 17506 case 0x00: 17507 goto op_semantics_141; 17508 break; 17509 } 17510 break; 17511 case 0x22: 17512 GETBYTE (); 17513 switch (op[2] & 0x00) 17514 { 17515 case 0x00: 17516 goto op_semantics_141; 17517 break; 17518 } 17519 break; 17520 case 0x23: 17521 GETBYTE (); 17522 switch (op[2] & 0x00) 17523 { 17524 case 0x00: 17525 goto op_semantics_141; 17526 break; 17527 } 17528 break; 17529 case 0x24: 17530 GETBYTE (); 17531 switch (op[2] & 0x00) 17532 { 17533 case 0x00: 17534 goto op_semantics_141; 17535 break; 17536 } 17537 break; 17538 case 0x25: 17539 GETBYTE (); 17540 switch (op[2] & 0x00) 17541 { 17542 case 0x00: 17543 goto op_semantics_141; 17544 break; 17545 } 17546 break; 17547 case 0x26: 17548 GETBYTE (); 17549 switch (op[2] & 0x00) 17550 { 17551 case 0x00: 17552 goto op_semantics_141; 17553 break; 17554 } 17555 break; 17556 case 0x27: 17557 GETBYTE (); 17558 switch (op[2] & 0x00) 17559 { 17560 case 0x00: 17561 goto op_semantics_141; 17562 break; 17563 } 17564 break; 17565 case 0x28: 17566 GETBYTE (); 17567 switch (op[2] & 0x00) 17568 { 17569 case 0x00: 17570 goto op_semantics_141; 17571 break; 17572 } 17573 break; 17574 case 0x29: 17575 GETBYTE (); 17576 switch (op[2] & 0x00) 17577 { 17578 case 0x00: 17579 goto op_semantics_141; 17580 break; 17581 } 17582 break; 17583 case 0x2a: 17584 GETBYTE (); 17585 switch (op[2] & 0x00) 17586 { 17587 case 0x00: 17588 goto op_semantics_141; 17589 break; 17590 } 17591 break; 17592 case 0x2b: 17593 GETBYTE (); 17594 switch (op[2] & 0x00) 17595 { 17596 case 0x00: 17597 goto op_semantics_141; 17598 break; 17599 } 17600 break; 17601 case 0x2c: 17602 GETBYTE (); 17603 switch (op[2] & 0x00) 17604 { 17605 case 0x00: 17606 goto op_semantics_141; 17607 break; 17608 } 17609 break; 17610 case 0x2d: 17611 GETBYTE (); 17612 switch (op[2] & 0x00) 17613 { 17614 case 0x00: 17615 goto op_semantics_141; 17616 break; 17617 } 17618 break; 17619 case 0x2e: 17620 GETBYTE (); 17621 switch (op[2] & 0x00) 17622 { 17623 case 0x00: 17624 goto op_semantics_141; 17625 break; 17626 } 17627 break; 17628 case 0x2f: 17629 GETBYTE (); 17630 switch (op[2] & 0x00) 17631 { 17632 case 0x00: 17633 goto op_semantics_141; 17634 break; 17635 } 17636 break; 17637 case 0x40: 17638 GETBYTE (); 17639 switch (op[2] & 0x00) 17640 { 17641 case 0x00: 17642 op_semantics_142: 17643 { 17644 /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */ 17645 #line 360 "rx-decode.opc" 17646 int sz AU = (op[1] >> 4) & 0x03; 17647 #line 360 "rx-decode.opc" 17648 int isrc AU = op[1] & 0x0f; 17649 #line 360 "rx-decode.opc" 17650 int bsrc AU = (op[2] >> 4) & 0x0f; 17651 #line 360 "rx-decode.opc" 17652 int rdst AU = op[2] & 0x0f; 17653 if (trace) 17654 { 17655 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 17656 "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */", 17657 op[0], op[1], op[2]); 17658 printf (" sz = 0x%x,", sz); 17659 printf (" isrc = 0x%x,", isrc); 17660 printf (" bsrc = 0x%x,", bsrc); 17661 printf (" rdst = 0x%x\n", rdst); 17662 } 17663 SYNTAX("mov%s [%1, %2], %0"); 17664 #line 360 "rx-decode.opc" 17665 ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; 17666 17667 } 17668 break; 17669 } 17670 break; 17671 case 0x41: 17672 GETBYTE (); 17673 switch (op[2] & 0x00) 17674 { 17675 case 0x00: 17676 goto op_semantics_142; 17677 break; 17678 } 17679 break; 17680 case 0x42: 17681 GETBYTE (); 17682 switch (op[2] & 0x00) 17683 { 17684 case 0x00: 17685 goto op_semantics_142; 17686 break; 17687 } 17688 break; 17689 case 0x43: 17690 GETBYTE (); 17691 switch (op[2] & 0x00) 17692 { 17693 case 0x00: 17694 goto op_semantics_142; 17695 break; 17696 } 17697 break; 17698 case 0x44: 17699 GETBYTE (); 17700 switch (op[2] & 0x00) 17701 { 17702 case 0x00: 17703 goto op_semantics_142; 17704 break; 17705 } 17706 break; 17707 case 0x45: 17708 GETBYTE (); 17709 switch (op[2] & 0x00) 17710 { 17711 case 0x00: 17712 goto op_semantics_142; 17713 break; 17714 } 17715 break; 17716 case 0x46: 17717 GETBYTE (); 17718 switch (op[2] & 0x00) 17719 { 17720 case 0x00: 17721 goto op_semantics_142; 17722 break; 17723 } 17724 break; 17725 case 0x47: 17726 GETBYTE (); 17727 switch (op[2] & 0x00) 17728 { 17729 case 0x00: 17730 goto op_semantics_142; 17731 break; 17732 } 17733 break; 17734 case 0x48: 17735 GETBYTE (); 17736 switch (op[2] & 0x00) 17737 { 17738 case 0x00: 17739 goto op_semantics_142; 17740 break; 17741 } 17742 break; 17743 case 0x49: 17744 GETBYTE (); 17745 switch (op[2] & 0x00) 17746 { 17747 case 0x00: 17748 goto op_semantics_142; 17749 break; 17750 } 17751 break; 17752 case 0x4a: 17753 GETBYTE (); 17754 switch (op[2] & 0x00) 17755 { 17756 case 0x00: 17757 goto op_semantics_142; 17758 break; 17759 } 17760 break; 17761 case 0x4b: 17762 GETBYTE (); 17763 switch (op[2] & 0x00) 17764 { 17765 case 0x00: 17766 goto op_semantics_142; 17767 break; 17768 } 17769 break; 17770 case 0x4c: 17771 GETBYTE (); 17772 switch (op[2] & 0x00) 17773 { 17774 case 0x00: 17775 goto op_semantics_142; 17776 break; 17777 } 17778 break; 17779 case 0x4d: 17780 GETBYTE (); 17781 switch (op[2] & 0x00) 17782 { 17783 case 0x00: 17784 goto op_semantics_142; 17785 break; 17786 } 17787 break; 17788 case 0x4e: 17789 GETBYTE (); 17790 switch (op[2] & 0x00) 17791 { 17792 case 0x00: 17793 goto op_semantics_142; 17794 break; 17795 } 17796 break; 17797 case 0x4f: 17798 GETBYTE (); 17799 switch (op[2] & 0x00) 17800 { 17801 case 0x00: 17802 goto op_semantics_142; 17803 break; 17804 } 17805 break; 17806 case 0x50: 17807 GETBYTE (); 17808 switch (op[2] & 0x00) 17809 { 17810 case 0x00: 17811 goto op_semantics_142; 17812 break; 17813 } 17814 break; 17815 case 0x51: 17816 GETBYTE (); 17817 switch (op[2] & 0x00) 17818 { 17819 case 0x00: 17820 goto op_semantics_142; 17821 break; 17822 } 17823 break; 17824 case 0x52: 17825 GETBYTE (); 17826 switch (op[2] & 0x00) 17827 { 17828 case 0x00: 17829 goto op_semantics_142; 17830 break; 17831 } 17832 break; 17833 case 0x53: 17834 GETBYTE (); 17835 switch (op[2] & 0x00) 17836 { 17837 case 0x00: 17838 goto op_semantics_142; 17839 break; 17840 } 17841 break; 17842 case 0x54: 17843 GETBYTE (); 17844 switch (op[2] & 0x00) 17845 { 17846 case 0x00: 17847 goto op_semantics_142; 17848 break; 17849 } 17850 break; 17851 case 0x55: 17852 GETBYTE (); 17853 switch (op[2] & 0x00) 17854 { 17855 case 0x00: 17856 goto op_semantics_142; 17857 break; 17858 } 17859 break; 17860 case 0x56: 17861 GETBYTE (); 17862 switch (op[2] & 0x00) 17863 { 17864 case 0x00: 17865 goto op_semantics_142; 17866 break; 17867 } 17868 break; 17869 case 0x57: 17870 GETBYTE (); 17871 switch (op[2] & 0x00) 17872 { 17873 case 0x00: 17874 goto op_semantics_142; 17875 break; 17876 } 17877 break; 17878 case 0x58: 17879 GETBYTE (); 17880 switch (op[2] & 0x00) 17881 { 17882 case 0x00: 17883 goto op_semantics_142; 17884 break; 17885 } 17886 break; 17887 case 0x59: 17888 GETBYTE (); 17889 switch (op[2] & 0x00) 17890 { 17891 case 0x00: 17892 goto op_semantics_142; 17893 break; 17894 } 17895 break; 17896 case 0x5a: 17897 GETBYTE (); 17898 switch (op[2] & 0x00) 17899 { 17900 case 0x00: 17901 goto op_semantics_142; 17902 break; 17903 } 17904 break; 17905 case 0x5b: 17906 GETBYTE (); 17907 switch (op[2] & 0x00) 17908 { 17909 case 0x00: 17910 goto op_semantics_142; 17911 break; 17912 } 17913 break; 17914 case 0x5c: 17915 GETBYTE (); 17916 switch (op[2] & 0x00) 17917 { 17918 case 0x00: 17919 goto op_semantics_142; 17920 break; 17921 } 17922 break; 17923 case 0x5d: 17924 GETBYTE (); 17925 switch (op[2] & 0x00) 17926 { 17927 case 0x00: 17928 goto op_semantics_142; 17929 break; 17930 } 17931 break; 17932 case 0x5e: 17933 GETBYTE (); 17934 switch (op[2] & 0x00) 17935 { 17936 case 0x00: 17937 goto op_semantics_142; 17938 break; 17939 } 17940 break; 17941 case 0x5f: 17942 GETBYTE (); 17943 switch (op[2] & 0x00) 17944 { 17945 case 0x00: 17946 goto op_semantics_142; 17947 break; 17948 } 17949 break; 17950 case 0x60: 17951 GETBYTE (); 17952 switch (op[2] & 0x00) 17953 { 17954 case 0x00: 17955 goto op_semantics_142; 17956 break; 17957 } 17958 break; 17959 case 0x61: 17960 GETBYTE (); 17961 switch (op[2] & 0x00) 17962 { 17963 case 0x00: 17964 goto op_semantics_142; 17965 break; 17966 } 17967 break; 17968 case 0x62: 17969 GETBYTE (); 17970 switch (op[2] & 0x00) 17971 { 17972 case 0x00: 17973 goto op_semantics_142; 17974 break; 17975 } 17976 break; 17977 case 0x63: 17978 GETBYTE (); 17979 switch (op[2] & 0x00) 17980 { 17981 case 0x00: 17982 goto op_semantics_142; 17983 break; 17984 } 17985 break; 17986 case 0x64: 17987 GETBYTE (); 17988 switch (op[2] & 0x00) 17989 { 17990 case 0x00: 17991 goto op_semantics_142; 17992 break; 17993 } 17994 break; 17995 case 0x65: 17996 GETBYTE (); 17997 switch (op[2] & 0x00) 17998 { 17999 case 0x00: 18000 goto op_semantics_142; 18001 break; 18002 } 18003 break; 18004 case 0x66: 18005 GETBYTE (); 18006 switch (op[2] & 0x00) 18007 { 18008 case 0x00: 18009 goto op_semantics_142; 18010 break; 18011 } 18012 break; 18013 case 0x67: 18014 GETBYTE (); 18015 switch (op[2] & 0x00) 18016 { 18017 case 0x00: 18018 goto op_semantics_142; 18019 break; 18020 } 18021 break; 18022 case 0x68: 18023 GETBYTE (); 18024 switch (op[2] & 0x00) 18025 { 18026 case 0x00: 18027 goto op_semantics_142; 18028 break; 18029 } 18030 break; 18031 case 0x69: 18032 GETBYTE (); 18033 switch (op[2] & 0x00) 18034 { 18035 case 0x00: 18036 goto op_semantics_142; 18037 break; 18038 } 18039 break; 18040 case 0x6a: 18041 GETBYTE (); 18042 switch (op[2] & 0x00) 18043 { 18044 case 0x00: 18045 goto op_semantics_142; 18046 break; 18047 } 18048 break; 18049 case 0x6b: 18050 GETBYTE (); 18051 switch (op[2] & 0x00) 18052 { 18053 case 0x00: 18054 goto op_semantics_142; 18055 break; 18056 } 18057 break; 18058 case 0x6c: 18059 GETBYTE (); 18060 switch (op[2] & 0x00) 18061 { 18062 case 0x00: 18063 goto op_semantics_142; 18064 break; 18065 } 18066 break; 18067 case 0x6d: 18068 GETBYTE (); 18069 switch (op[2] & 0x00) 18070 { 18071 case 0x00: 18072 goto op_semantics_142; 18073 break; 18074 } 18075 break; 18076 case 0x6e: 18077 GETBYTE (); 18078 switch (op[2] & 0x00) 18079 { 18080 case 0x00: 18081 goto op_semantics_142; 18082 break; 18083 } 18084 break; 18085 case 0x6f: 18086 GETBYTE (); 18087 switch (op[2] & 0x00) 18088 { 18089 case 0x00: 18090 goto op_semantics_142; 18091 break; 18092 } 18093 break; 18094 case 0xc0: 18095 GETBYTE (); 18096 switch (op[2] & 0x00) 18097 { 18098 case 0x00: 18099 op_semantics_143: 18100 { 18101 /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */ 18102 #line 366 "rx-decode.opc" 18103 int sz AU = (op[1] >> 4) & 0x03; 18104 #line 366 "rx-decode.opc" 18105 int isrc AU = op[1] & 0x0f; 18106 #line 366 "rx-decode.opc" 18107 int bsrc AU = (op[2] >> 4) & 0x0f; 18108 #line 366 "rx-decode.opc" 18109 int rdst AU = op[2] & 0x0f; 18110 if (trace) 18111 { 18112 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 18113 "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */", 18114 op[0], op[1], op[2]); 18115 printf (" sz = 0x%x,", sz); 18116 printf (" isrc = 0x%x,", isrc); 18117 printf (" bsrc = 0x%x,", bsrc); 18118 printf (" rdst = 0x%x\n", rdst); 18119 } 18120 SYNTAX("movu%s [%1, %2], %0"); 18121 #line 366 "rx-decode.opc" 18122 ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____; 18123 18124 } 18125 break; 18126 } 18127 break; 18128 case 0xc1: 18129 GETBYTE (); 18130 switch (op[2] & 0x00) 18131 { 18132 case 0x00: 18133 goto op_semantics_143; 18134 break; 18135 } 18136 break; 18137 case 0xc2: 18138 GETBYTE (); 18139 switch (op[2] & 0x00) 18140 { 18141 case 0x00: 18142 goto op_semantics_143; 18143 break; 18144 } 18145 break; 18146 case 0xc3: 18147 GETBYTE (); 18148 switch (op[2] & 0x00) 18149 { 18150 case 0x00: 18151 goto op_semantics_143; 18152 break; 18153 } 18154 break; 18155 case 0xc4: 18156 GETBYTE (); 18157 switch (op[2] & 0x00) 18158 { 18159 case 0x00: 18160 goto op_semantics_143; 18161 break; 18162 } 18163 break; 18164 case 0xc5: 18165 GETBYTE (); 18166 switch (op[2] & 0x00) 18167 { 18168 case 0x00: 18169 goto op_semantics_143; 18170 break; 18171 } 18172 break; 18173 case 0xc6: 18174 GETBYTE (); 18175 switch (op[2] & 0x00) 18176 { 18177 case 0x00: 18178 goto op_semantics_143; 18179 break; 18180 } 18181 break; 18182 case 0xc7: 18183 GETBYTE (); 18184 switch (op[2] & 0x00) 18185 { 18186 case 0x00: 18187 goto op_semantics_143; 18188 break; 18189 } 18190 break; 18191 case 0xc8: 18192 GETBYTE (); 18193 switch (op[2] & 0x00) 18194 { 18195 case 0x00: 18196 goto op_semantics_143; 18197 break; 18198 } 18199 break; 18200 case 0xc9: 18201 GETBYTE (); 18202 switch (op[2] & 0x00) 18203 { 18204 case 0x00: 18205 goto op_semantics_143; 18206 break; 18207 } 18208 break; 18209 case 0xca: 18210 GETBYTE (); 18211 switch (op[2] & 0x00) 18212 { 18213 case 0x00: 18214 goto op_semantics_143; 18215 break; 18216 } 18217 break; 18218 case 0xcb: 18219 GETBYTE (); 18220 switch (op[2] & 0x00) 18221 { 18222 case 0x00: 18223 goto op_semantics_143; 18224 break; 18225 } 18226 break; 18227 case 0xcc: 18228 GETBYTE (); 18229 switch (op[2] & 0x00) 18230 { 18231 case 0x00: 18232 goto op_semantics_143; 18233 break; 18234 } 18235 break; 18236 case 0xcd: 18237 GETBYTE (); 18238 switch (op[2] & 0x00) 18239 { 18240 case 0x00: 18241 goto op_semantics_143; 18242 break; 18243 } 18244 break; 18245 case 0xce: 18246 GETBYTE (); 18247 switch (op[2] & 0x00) 18248 { 18249 case 0x00: 18250 goto op_semantics_143; 18251 break; 18252 } 18253 break; 18254 case 0xcf: 18255 GETBYTE (); 18256 switch (op[2] & 0x00) 18257 { 18258 case 0x00: 18259 goto op_semantics_143; 18260 break; 18261 } 18262 break; 18263 case 0xd0: 18264 GETBYTE (); 18265 switch (op[2] & 0x00) 18266 { 18267 case 0x00: 18268 goto op_semantics_143; 18269 break; 18270 } 18271 break; 18272 case 0xd1: 18273 GETBYTE (); 18274 switch (op[2] & 0x00) 18275 { 18276 case 0x00: 18277 goto op_semantics_143; 18278 break; 18279 } 18280 break; 18281 case 0xd2: 18282 GETBYTE (); 18283 switch (op[2] & 0x00) 18284 { 18285 case 0x00: 18286 goto op_semantics_143; 18287 break; 18288 } 18289 break; 18290 case 0xd3: 18291 GETBYTE (); 18292 switch (op[2] & 0x00) 18293 { 18294 case 0x00: 18295 goto op_semantics_143; 18296 break; 18297 } 18298 break; 18299 case 0xd4: 18300 GETBYTE (); 18301 switch (op[2] & 0x00) 18302 { 18303 case 0x00: 18304 goto op_semantics_143; 18305 break; 18306 } 18307 break; 18308 case 0xd5: 18309 GETBYTE (); 18310 switch (op[2] & 0x00) 18311 { 18312 case 0x00: 18313 goto op_semantics_143; 18314 break; 18315 } 18316 break; 18317 case 0xd6: 18318 GETBYTE (); 18319 switch (op[2] & 0x00) 18320 { 18321 case 0x00: 18322 goto op_semantics_143; 18323 break; 18324 } 18325 break; 18326 case 0xd7: 18327 GETBYTE (); 18328 switch (op[2] & 0x00) 18329 { 18330 case 0x00: 18331 goto op_semantics_143; 18332 break; 18333 } 18334 break; 18335 case 0xd8: 18336 GETBYTE (); 18337 switch (op[2] & 0x00) 18338 { 18339 case 0x00: 18340 goto op_semantics_143; 18341 break; 18342 } 18343 break; 18344 case 0xd9: 18345 GETBYTE (); 18346 switch (op[2] & 0x00) 18347 { 18348 case 0x00: 18349 goto op_semantics_143; 18350 break; 18351 } 18352 break; 18353 case 0xda: 18354 GETBYTE (); 18355 switch (op[2] & 0x00) 18356 { 18357 case 0x00: 18358 goto op_semantics_143; 18359 break; 18360 } 18361 break; 18362 case 0xdb: 18363 GETBYTE (); 18364 switch (op[2] & 0x00) 18365 { 18366 case 0x00: 18367 goto op_semantics_143; 18368 break; 18369 } 18370 break; 18371 case 0xdc: 18372 GETBYTE (); 18373 switch (op[2] & 0x00) 18374 { 18375 case 0x00: 18376 goto op_semantics_143; 18377 break; 18378 } 18379 break; 18380 case 0xdd: 18381 GETBYTE (); 18382 switch (op[2] & 0x00) 18383 { 18384 case 0x00: 18385 goto op_semantics_143; 18386 break; 18387 } 18388 break; 18389 case 0xde: 18390 GETBYTE (); 18391 switch (op[2] & 0x00) 18392 { 18393 case 0x00: 18394 goto op_semantics_143; 18395 break; 18396 } 18397 break; 18398 case 0xdf: 18399 GETBYTE (); 18400 switch (op[2] & 0x00) 18401 { 18402 case 0x00: 18403 goto op_semantics_143; 18404 break; 18405 } 18406 break; 18407 case 0xe0: 18408 GETBYTE (); 18409 switch (op[2] & 0x00) 18410 { 18411 case 0x00: 18412 goto op_semantics_143; 18413 break; 18414 } 18415 break; 18416 case 0xe1: 18417 GETBYTE (); 18418 switch (op[2] & 0x00) 18419 { 18420 case 0x00: 18421 goto op_semantics_143; 18422 break; 18423 } 18424 break; 18425 case 0xe2: 18426 GETBYTE (); 18427 switch (op[2] & 0x00) 18428 { 18429 case 0x00: 18430 goto op_semantics_143; 18431 break; 18432 } 18433 break; 18434 case 0xe3: 18435 GETBYTE (); 18436 switch (op[2] & 0x00) 18437 { 18438 case 0x00: 18439 goto op_semantics_143; 18440 break; 18441 } 18442 break; 18443 case 0xe4: 18444 GETBYTE (); 18445 switch (op[2] & 0x00) 18446 { 18447 case 0x00: 18448 goto op_semantics_143; 18449 break; 18450 } 18451 break; 18452 case 0xe5: 18453 GETBYTE (); 18454 switch (op[2] & 0x00) 18455 { 18456 case 0x00: 18457 goto op_semantics_143; 18458 break; 18459 } 18460 break; 18461 case 0xe6: 18462 GETBYTE (); 18463 switch (op[2] & 0x00) 18464 { 18465 case 0x00: 18466 goto op_semantics_143; 18467 break; 18468 } 18469 break; 18470 case 0xe7: 18471 GETBYTE (); 18472 switch (op[2] & 0x00) 18473 { 18474 case 0x00: 18475 goto op_semantics_143; 18476 break; 18477 } 18478 break; 18479 case 0xe8: 18480 GETBYTE (); 18481 switch (op[2] & 0x00) 18482 { 18483 case 0x00: 18484 goto op_semantics_143; 18485 break; 18486 } 18487 break; 18488 case 0xe9: 18489 GETBYTE (); 18490 switch (op[2] & 0x00) 18491 { 18492 case 0x00: 18493 goto op_semantics_143; 18494 break; 18495 } 18496 break; 18497 case 0xea: 18498 GETBYTE (); 18499 switch (op[2] & 0x00) 18500 { 18501 case 0x00: 18502 goto op_semantics_143; 18503 break; 18504 } 18505 break; 18506 case 0xeb: 18507 GETBYTE (); 18508 switch (op[2] & 0x00) 18509 { 18510 case 0x00: 18511 goto op_semantics_143; 18512 break; 18513 } 18514 break; 18515 case 0xec: 18516 GETBYTE (); 18517 switch (op[2] & 0x00) 18518 { 18519 case 0x00: 18520 goto op_semantics_143; 18521 break; 18522 } 18523 break; 18524 case 0xed: 18525 GETBYTE (); 18526 switch (op[2] & 0x00) 18527 { 18528 case 0x00: 18529 goto op_semantics_143; 18530 break; 18531 } 18532 break; 18533 case 0xee: 18534 GETBYTE (); 18535 switch (op[2] & 0x00) 18536 { 18537 case 0x00: 18538 goto op_semantics_143; 18539 break; 18540 } 18541 break; 18542 case 0xef: 18543 GETBYTE (); 18544 switch (op[2] & 0x00) 18545 { 18546 case 0x00: 18547 goto op_semantics_143; 18548 break; 18549 } 18550 break; 18551 default: UNSUPPORTED(); break; 18552 } 18553 break; 18554 case 0xff: 18555 GETBYTE (); 18556 switch (op[1] & 0xff) 18557 { 18558 case 0x00: 18559 GETBYTE (); 18560 switch (op[2] & 0x00) 18561 { 18562 case 0x00: 18563 op_semantics_144: 18564 { 18565 /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */ 18566 #line 570 "rx-decode.opc" 18567 int rdst AU = op[1] & 0x0f; 18568 #line 570 "rx-decode.opc" 18569 int srca AU = (op[2] >> 4) & 0x0f; 18570 #line 570 "rx-decode.opc" 18571 int srcb AU = op[2] & 0x0f; 18572 if (trace) 18573 { 18574 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 18575 "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */", 18576 op[0], op[1], op[2]); 18577 printf (" rdst = 0x%x,", rdst); 18578 printf (" srca = 0x%x,", srca); 18579 printf (" srcb = 0x%x\n", srcb); 18580 } 18581 SYNTAX("sub %2, %1, %0"); 18582 #line 570 "rx-decode.opc" 18583 ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC; 18584 18585 /*----------------------------------------------------------------------*/ 18586 /* SBB */ 18587 18588 } 18589 break; 18590 } 18591 break; 18592 case 0x01: 18593 GETBYTE (); 18594 switch (op[2] & 0x00) 18595 { 18596 case 0x00: 18597 goto op_semantics_144; 18598 break; 18599 } 18600 break; 18601 case 0x02: 18602 GETBYTE (); 18603 switch (op[2] & 0x00) 18604 { 18605 case 0x00: 18606 goto op_semantics_144; 18607 break; 18608 } 18609 break; 18610 case 0x03: 18611 GETBYTE (); 18612 switch (op[2] & 0x00) 18613 { 18614 case 0x00: 18615 goto op_semantics_144; 18616 break; 18617 } 18618 break; 18619 case 0x04: 18620 GETBYTE (); 18621 switch (op[2] & 0x00) 18622 { 18623 case 0x00: 18624 goto op_semantics_144; 18625 break; 18626 } 18627 break; 18628 case 0x05: 18629 GETBYTE (); 18630 switch (op[2] & 0x00) 18631 { 18632 case 0x00: 18633 goto op_semantics_144; 18634 break; 18635 } 18636 break; 18637 case 0x06: 18638 GETBYTE (); 18639 switch (op[2] & 0x00) 18640 { 18641 case 0x00: 18642 goto op_semantics_144; 18643 break; 18644 } 18645 break; 18646 case 0x07: 18647 GETBYTE (); 18648 switch (op[2] & 0x00) 18649 { 18650 case 0x00: 18651 goto op_semantics_144; 18652 break; 18653 } 18654 break; 18655 case 0x08: 18656 GETBYTE (); 18657 switch (op[2] & 0x00) 18658 { 18659 case 0x00: 18660 goto op_semantics_144; 18661 break; 18662 } 18663 break; 18664 case 0x09: 18665 GETBYTE (); 18666 switch (op[2] & 0x00) 18667 { 18668 case 0x00: 18669 goto op_semantics_144; 18670 break; 18671 } 18672 break; 18673 case 0x0a: 18674 GETBYTE (); 18675 switch (op[2] & 0x00) 18676 { 18677 case 0x00: 18678 goto op_semantics_144; 18679 break; 18680 } 18681 break; 18682 case 0x0b: 18683 GETBYTE (); 18684 switch (op[2] & 0x00) 18685 { 18686 case 0x00: 18687 goto op_semantics_144; 18688 break; 18689 } 18690 break; 18691 case 0x0c: 18692 GETBYTE (); 18693 switch (op[2] & 0x00) 18694 { 18695 case 0x00: 18696 goto op_semantics_144; 18697 break; 18698 } 18699 break; 18700 case 0x0d: 18701 GETBYTE (); 18702 switch (op[2] & 0x00) 18703 { 18704 case 0x00: 18705 goto op_semantics_144; 18706 break; 18707 } 18708 break; 18709 case 0x0e: 18710 GETBYTE (); 18711 switch (op[2] & 0x00) 18712 { 18713 case 0x00: 18714 goto op_semantics_144; 18715 break; 18716 } 18717 break; 18718 case 0x0f: 18719 GETBYTE (); 18720 switch (op[2] & 0x00) 18721 { 18722 case 0x00: 18723 goto op_semantics_144; 18724 break; 18725 } 18726 break; 18727 case 0x20: 18728 GETBYTE (); 18729 switch (op[2] & 0x00) 18730 { 18731 case 0x00: 18732 op_semantics_145: 18733 { 18734 /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */ 18735 #line 537 "rx-decode.opc" 18736 int rdst AU = op[1] & 0x0f; 18737 #line 537 "rx-decode.opc" 18738 int srca AU = (op[2] >> 4) & 0x0f; 18739 #line 537 "rx-decode.opc" 18740 int srcb AU = op[2] & 0x0f; 18741 if (trace) 18742 { 18743 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 18744 "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */", 18745 op[0], op[1], op[2]); 18746 printf (" rdst = 0x%x,", rdst); 18747 printf (" srca = 0x%x,", srca); 18748 printf (" srcb = 0x%x\n", srcb); 18749 } 18750 SYNTAX("add %2, %1, %0"); 18751 #line 537 "rx-decode.opc" 18752 ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC; 18753 18754 /*----------------------------------------------------------------------*/ 18755 /* CMP */ 18756 18757 } 18758 break; 18759 } 18760 break; 18761 case 0x21: 18762 GETBYTE (); 18763 switch (op[2] & 0x00) 18764 { 18765 case 0x00: 18766 goto op_semantics_145; 18767 break; 18768 } 18769 break; 18770 case 0x22: 18771 GETBYTE (); 18772 switch (op[2] & 0x00) 18773 { 18774 case 0x00: 18775 goto op_semantics_145; 18776 break; 18777 } 18778 break; 18779 case 0x23: 18780 GETBYTE (); 18781 switch (op[2] & 0x00) 18782 { 18783 case 0x00: 18784 goto op_semantics_145; 18785 break; 18786 } 18787 break; 18788 case 0x24: 18789 GETBYTE (); 18790 switch (op[2] & 0x00) 18791 { 18792 case 0x00: 18793 goto op_semantics_145; 18794 break; 18795 } 18796 break; 18797 case 0x25: 18798 GETBYTE (); 18799 switch (op[2] & 0x00) 18800 { 18801 case 0x00: 18802 goto op_semantics_145; 18803 break; 18804 } 18805 break; 18806 case 0x26: 18807 GETBYTE (); 18808 switch (op[2] & 0x00) 18809 { 18810 case 0x00: 18811 goto op_semantics_145; 18812 break; 18813 } 18814 break; 18815 case 0x27: 18816 GETBYTE (); 18817 switch (op[2] & 0x00) 18818 { 18819 case 0x00: 18820 goto op_semantics_145; 18821 break; 18822 } 18823 break; 18824 case 0x28: 18825 GETBYTE (); 18826 switch (op[2] & 0x00) 18827 { 18828 case 0x00: 18829 goto op_semantics_145; 18830 break; 18831 } 18832 break; 18833 case 0x29: 18834 GETBYTE (); 18835 switch (op[2] & 0x00) 18836 { 18837 case 0x00: 18838 goto op_semantics_145; 18839 break; 18840 } 18841 break; 18842 case 0x2a: 18843 GETBYTE (); 18844 switch (op[2] & 0x00) 18845 { 18846 case 0x00: 18847 goto op_semantics_145; 18848 break; 18849 } 18850 break; 18851 case 0x2b: 18852 GETBYTE (); 18853 switch (op[2] & 0x00) 18854 { 18855 case 0x00: 18856 goto op_semantics_145; 18857 break; 18858 } 18859 break; 18860 case 0x2c: 18861 GETBYTE (); 18862 switch (op[2] & 0x00) 18863 { 18864 case 0x00: 18865 goto op_semantics_145; 18866 break; 18867 } 18868 break; 18869 case 0x2d: 18870 GETBYTE (); 18871 switch (op[2] & 0x00) 18872 { 18873 case 0x00: 18874 goto op_semantics_145; 18875 break; 18876 } 18877 break; 18878 case 0x2e: 18879 GETBYTE (); 18880 switch (op[2] & 0x00) 18881 { 18882 case 0x00: 18883 goto op_semantics_145; 18884 break; 18885 } 18886 break; 18887 case 0x2f: 18888 GETBYTE (); 18889 switch (op[2] & 0x00) 18890 { 18891 case 0x00: 18892 goto op_semantics_145; 18893 break; 18894 } 18895 break; 18896 case 0x30: 18897 GETBYTE (); 18898 switch (op[2] & 0x00) 18899 { 18900 case 0x00: 18901 op_semantics_146: 18902 { 18903 /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */ 18904 #line 677 "rx-decode.opc" 18905 int rdst AU = op[1] & 0x0f; 18906 #line 677 "rx-decode.opc" 18907 int srca AU = (op[2] >> 4) & 0x0f; 18908 #line 677 "rx-decode.opc" 18909 int srcb AU = op[2] & 0x0f; 18910 if (trace) 18911 { 18912 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 18913 "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */", 18914 op[0], op[1], op[2]); 18915 printf (" rdst = 0x%x,", rdst); 18916 printf (" srca = 0x%x,", srca); 18917 printf (" srcb = 0x%x\n", srcb); 18918 } 18919 SYNTAX("mul %2, %1, %0"); 18920 #line 677 "rx-decode.opc" 18921 ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____; 18922 18923 /*----------------------------------------------------------------------*/ 18924 /* EMUL */ 18925 18926 } 18927 break; 18928 } 18929 break; 18930 case 0x31: 18931 GETBYTE (); 18932 switch (op[2] & 0x00) 18933 { 18934 case 0x00: 18935 goto op_semantics_146; 18936 break; 18937 } 18938 break; 18939 case 0x32: 18940 GETBYTE (); 18941 switch (op[2] & 0x00) 18942 { 18943 case 0x00: 18944 goto op_semantics_146; 18945 break; 18946 } 18947 break; 18948 case 0x33: 18949 GETBYTE (); 18950 switch (op[2] & 0x00) 18951 { 18952 case 0x00: 18953 goto op_semantics_146; 18954 break; 18955 } 18956 break; 18957 case 0x34: 18958 GETBYTE (); 18959 switch (op[2] & 0x00) 18960 { 18961 case 0x00: 18962 goto op_semantics_146; 18963 break; 18964 } 18965 break; 18966 case 0x35: 18967 GETBYTE (); 18968 switch (op[2] & 0x00) 18969 { 18970 case 0x00: 18971 goto op_semantics_146; 18972 break; 18973 } 18974 break; 18975 case 0x36: 18976 GETBYTE (); 18977 switch (op[2] & 0x00) 18978 { 18979 case 0x00: 18980 goto op_semantics_146; 18981 break; 18982 } 18983 break; 18984 case 0x37: 18985 GETBYTE (); 18986 switch (op[2] & 0x00) 18987 { 18988 case 0x00: 18989 goto op_semantics_146; 18990 break; 18991 } 18992 break; 18993 case 0x38: 18994 GETBYTE (); 18995 switch (op[2] & 0x00) 18996 { 18997 case 0x00: 18998 goto op_semantics_146; 18999 break; 19000 } 19001 break; 19002 case 0x39: 19003 GETBYTE (); 19004 switch (op[2] & 0x00) 19005 { 19006 case 0x00: 19007 goto op_semantics_146; 19008 break; 19009 } 19010 break; 19011 case 0x3a: 19012 GETBYTE (); 19013 switch (op[2] & 0x00) 19014 { 19015 case 0x00: 19016 goto op_semantics_146; 19017 break; 19018 } 19019 break; 19020 case 0x3b: 19021 GETBYTE (); 19022 switch (op[2] & 0x00) 19023 { 19024 case 0x00: 19025 goto op_semantics_146; 19026 break; 19027 } 19028 break; 19029 case 0x3c: 19030 GETBYTE (); 19031 switch (op[2] & 0x00) 19032 { 19033 case 0x00: 19034 goto op_semantics_146; 19035 break; 19036 } 19037 break; 19038 case 0x3d: 19039 GETBYTE (); 19040 switch (op[2] & 0x00) 19041 { 19042 case 0x00: 19043 goto op_semantics_146; 19044 break; 19045 } 19046 break; 19047 case 0x3e: 19048 GETBYTE (); 19049 switch (op[2] & 0x00) 19050 { 19051 case 0x00: 19052 goto op_semantics_146; 19053 break; 19054 } 19055 break; 19056 case 0x3f: 19057 GETBYTE (); 19058 switch (op[2] & 0x00) 19059 { 19060 case 0x00: 19061 goto op_semantics_146; 19062 break; 19063 } 19064 break; 19065 case 0x40: 19066 GETBYTE (); 19067 switch (op[2] & 0x00) 19068 { 19069 case 0x00: 19070 op_semantics_147: 19071 { 19072 /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */ 19073 #line 447 "rx-decode.opc" 19074 int rdst AU = op[1] & 0x0f; 19075 #line 447 "rx-decode.opc" 19076 int srca AU = (op[2] >> 4) & 0x0f; 19077 #line 447 "rx-decode.opc" 19078 int srcb AU = op[2] & 0x0f; 19079 if (trace) 19080 { 19081 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19082 "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */", 19083 op[0], op[1], op[2]); 19084 printf (" rdst = 0x%x,", rdst); 19085 printf (" srca = 0x%x,", srca); 19086 printf (" srcb = 0x%x\n", srcb); 19087 } 19088 SYNTAX("and %2, %1, %0"); 19089 #line 447 "rx-decode.opc" 19090 ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19091 19092 /*----------------------------------------------------------------------*/ 19093 /* OR */ 19094 19095 } 19096 break; 19097 } 19098 break; 19099 case 0x41: 19100 GETBYTE (); 19101 switch (op[2] & 0x00) 19102 { 19103 case 0x00: 19104 goto op_semantics_147; 19105 break; 19106 } 19107 break; 19108 case 0x42: 19109 GETBYTE (); 19110 switch (op[2] & 0x00) 19111 { 19112 case 0x00: 19113 goto op_semantics_147; 19114 break; 19115 } 19116 break; 19117 case 0x43: 19118 GETBYTE (); 19119 switch (op[2] & 0x00) 19120 { 19121 case 0x00: 19122 goto op_semantics_147; 19123 break; 19124 } 19125 break; 19126 case 0x44: 19127 GETBYTE (); 19128 switch (op[2] & 0x00) 19129 { 19130 case 0x00: 19131 goto op_semantics_147; 19132 break; 19133 } 19134 break; 19135 case 0x45: 19136 GETBYTE (); 19137 switch (op[2] & 0x00) 19138 { 19139 case 0x00: 19140 goto op_semantics_147; 19141 break; 19142 } 19143 break; 19144 case 0x46: 19145 GETBYTE (); 19146 switch (op[2] & 0x00) 19147 { 19148 case 0x00: 19149 goto op_semantics_147; 19150 break; 19151 } 19152 break; 19153 case 0x47: 19154 GETBYTE (); 19155 switch (op[2] & 0x00) 19156 { 19157 case 0x00: 19158 goto op_semantics_147; 19159 break; 19160 } 19161 break; 19162 case 0x48: 19163 GETBYTE (); 19164 switch (op[2] & 0x00) 19165 { 19166 case 0x00: 19167 goto op_semantics_147; 19168 break; 19169 } 19170 break; 19171 case 0x49: 19172 GETBYTE (); 19173 switch (op[2] & 0x00) 19174 { 19175 case 0x00: 19176 goto op_semantics_147; 19177 break; 19178 } 19179 break; 19180 case 0x4a: 19181 GETBYTE (); 19182 switch (op[2] & 0x00) 19183 { 19184 case 0x00: 19185 goto op_semantics_147; 19186 break; 19187 } 19188 break; 19189 case 0x4b: 19190 GETBYTE (); 19191 switch (op[2] & 0x00) 19192 { 19193 case 0x00: 19194 goto op_semantics_147; 19195 break; 19196 } 19197 break; 19198 case 0x4c: 19199 GETBYTE (); 19200 switch (op[2] & 0x00) 19201 { 19202 case 0x00: 19203 goto op_semantics_147; 19204 break; 19205 } 19206 break; 19207 case 0x4d: 19208 GETBYTE (); 19209 switch (op[2] & 0x00) 19210 { 19211 case 0x00: 19212 goto op_semantics_147; 19213 break; 19214 } 19215 break; 19216 case 0x4e: 19217 GETBYTE (); 19218 switch (op[2] & 0x00) 19219 { 19220 case 0x00: 19221 goto op_semantics_147; 19222 break; 19223 } 19224 break; 19225 case 0x4f: 19226 GETBYTE (); 19227 switch (op[2] & 0x00) 19228 { 19229 case 0x00: 19230 goto op_semantics_147; 19231 break; 19232 } 19233 break; 19234 case 0x50: 19235 GETBYTE (); 19236 switch (op[2] & 0x00) 19237 { 19238 case 0x00: 19239 op_semantics_148: 19240 { 19241 /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */ 19242 #line 465 "rx-decode.opc" 19243 int rdst AU = op[1] & 0x0f; 19244 #line 465 "rx-decode.opc" 19245 int srca AU = (op[2] >> 4) & 0x0f; 19246 #line 465 "rx-decode.opc" 19247 int srcb AU = op[2] & 0x0f; 19248 if (trace) 19249 { 19250 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19251 "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */", 19252 op[0], op[1], op[2]); 19253 printf (" rdst = 0x%x,", rdst); 19254 printf (" srca = 0x%x,", srca); 19255 printf (" srcb = 0x%x\n", srcb); 19256 } 19257 SYNTAX("or %2, %1, %0"); 19258 #line 465 "rx-decode.opc" 19259 ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19260 19261 /*----------------------------------------------------------------------*/ 19262 /* XOR */ 19263 19264 } 19265 break; 19266 } 19267 break; 19268 case 0x51: 19269 GETBYTE (); 19270 switch (op[2] & 0x00) 19271 { 19272 case 0x00: 19273 goto op_semantics_148; 19274 break; 19275 } 19276 break; 19277 case 0x52: 19278 GETBYTE (); 19279 switch (op[2] & 0x00) 19280 { 19281 case 0x00: 19282 goto op_semantics_148; 19283 break; 19284 } 19285 break; 19286 case 0x53: 19287 GETBYTE (); 19288 switch (op[2] & 0x00) 19289 { 19290 case 0x00: 19291 goto op_semantics_148; 19292 break; 19293 } 19294 break; 19295 case 0x54: 19296 GETBYTE (); 19297 switch (op[2] & 0x00) 19298 { 19299 case 0x00: 19300 goto op_semantics_148; 19301 break; 19302 } 19303 break; 19304 case 0x55: 19305 GETBYTE (); 19306 switch (op[2] & 0x00) 19307 { 19308 case 0x00: 19309 goto op_semantics_148; 19310 break; 19311 } 19312 break; 19313 case 0x56: 19314 GETBYTE (); 19315 switch (op[2] & 0x00) 19316 { 19317 case 0x00: 19318 goto op_semantics_148; 19319 break; 19320 } 19321 break; 19322 case 0x57: 19323 GETBYTE (); 19324 switch (op[2] & 0x00) 19325 { 19326 case 0x00: 19327 goto op_semantics_148; 19328 break; 19329 } 19330 break; 19331 case 0x58: 19332 GETBYTE (); 19333 switch (op[2] & 0x00) 19334 { 19335 case 0x00: 19336 goto op_semantics_148; 19337 break; 19338 } 19339 break; 19340 case 0x59: 19341 GETBYTE (); 19342 switch (op[2] & 0x00) 19343 { 19344 case 0x00: 19345 goto op_semantics_148; 19346 break; 19347 } 19348 break; 19349 case 0x5a: 19350 GETBYTE (); 19351 switch (op[2] & 0x00) 19352 { 19353 case 0x00: 19354 goto op_semantics_148; 19355 break; 19356 } 19357 break; 19358 case 0x5b: 19359 GETBYTE (); 19360 switch (op[2] & 0x00) 19361 { 19362 case 0x00: 19363 goto op_semantics_148; 19364 break; 19365 } 19366 break; 19367 case 0x5c: 19368 GETBYTE (); 19369 switch (op[2] & 0x00) 19370 { 19371 case 0x00: 19372 goto op_semantics_148; 19373 break; 19374 } 19375 break; 19376 case 0x5d: 19377 GETBYTE (); 19378 switch (op[2] & 0x00) 19379 { 19380 case 0x00: 19381 goto op_semantics_148; 19382 break; 19383 } 19384 break; 19385 case 0x5e: 19386 GETBYTE (); 19387 switch (op[2] & 0x00) 19388 { 19389 case 0x00: 19390 goto op_semantics_148; 19391 break; 19392 } 19393 break; 19394 case 0x5f: 19395 GETBYTE (); 19396 switch (op[2] & 0x00) 19397 { 19398 case 0x00: 19399 goto op_semantics_148; 19400 break; 19401 } 19402 break; 19403 case 0x60: 19404 GETBYTE (); 19405 switch (op[2] & 0x00) 19406 { 19407 case 0x00: 19408 op_semantics_149: 19409 { 19410 /** 1111 1111 0110 rdst srca srcb xor %2, %1, %0 */ 19411 #line 1146 "rx-decode.opc" 19412 int rdst AU = op[1] & 0x0f; 19413 #line 1146 "rx-decode.opc" 19414 int srca AU = (op[2] >> 4) & 0x0f; 19415 #line 1146 "rx-decode.opc" 19416 int srcb AU = op[2] & 0x0f; 19417 if (trace) 19418 { 19419 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19420 "/** 1111 1111 0110 rdst srca srcb xor %2, %1, %0 */", 19421 op[0], op[1], op[2]); 19422 printf (" rdst = 0x%x,", rdst); 19423 printf (" srca = 0x%x,", srca); 19424 printf (" srcb = 0x%x\n", srcb); 19425 } 19426 SYNTAX("xor %2, %1, %0"); 19427 #line 1146 "rx-decode.opc" 19428 ID(xor); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19429 19430 } 19431 break; 19432 } 19433 break; 19434 case 0x61: 19435 GETBYTE (); 19436 switch (op[2] & 0x00) 19437 { 19438 case 0x00: 19439 goto op_semantics_149; 19440 break; 19441 } 19442 break; 19443 case 0x62: 19444 GETBYTE (); 19445 switch (op[2] & 0x00) 19446 { 19447 case 0x00: 19448 goto op_semantics_149; 19449 break; 19450 } 19451 break; 19452 case 0x63: 19453 GETBYTE (); 19454 switch (op[2] & 0x00) 19455 { 19456 case 0x00: 19457 goto op_semantics_149; 19458 break; 19459 } 19460 break; 19461 case 0x64: 19462 GETBYTE (); 19463 switch (op[2] & 0x00) 19464 { 19465 case 0x00: 19466 goto op_semantics_149; 19467 break; 19468 } 19469 break; 19470 case 0x65: 19471 GETBYTE (); 19472 switch (op[2] & 0x00) 19473 { 19474 case 0x00: 19475 goto op_semantics_149; 19476 break; 19477 } 19478 break; 19479 case 0x66: 19480 GETBYTE (); 19481 switch (op[2] & 0x00) 19482 { 19483 case 0x00: 19484 goto op_semantics_149; 19485 break; 19486 } 19487 break; 19488 case 0x67: 19489 GETBYTE (); 19490 switch (op[2] & 0x00) 19491 { 19492 case 0x00: 19493 goto op_semantics_149; 19494 break; 19495 } 19496 break; 19497 case 0x68: 19498 GETBYTE (); 19499 switch (op[2] & 0x00) 19500 { 19501 case 0x00: 19502 goto op_semantics_149; 19503 break; 19504 } 19505 break; 19506 case 0x69: 19507 GETBYTE (); 19508 switch (op[2] & 0x00) 19509 { 19510 case 0x00: 19511 goto op_semantics_149; 19512 break; 19513 } 19514 break; 19515 case 0x6a: 19516 GETBYTE (); 19517 switch (op[2] & 0x00) 19518 { 19519 case 0x00: 19520 goto op_semantics_149; 19521 break; 19522 } 19523 break; 19524 case 0x6b: 19525 GETBYTE (); 19526 switch (op[2] & 0x00) 19527 { 19528 case 0x00: 19529 goto op_semantics_149; 19530 break; 19531 } 19532 break; 19533 case 0x6c: 19534 GETBYTE (); 19535 switch (op[2] & 0x00) 19536 { 19537 case 0x00: 19538 goto op_semantics_149; 19539 break; 19540 } 19541 break; 19542 case 0x6d: 19543 GETBYTE (); 19544 switch (op[2] & 0x00) 19545 { 19546 case 0x00: 19547 goto op_semantics_149; 19548 break; 19549 } 19550 break; 19551 case 0x6e: 19552 GETBYTE (); 19553 switch (op[2] & 0x00) 19554 { 19555 case 0x00: 19556 goto op_semantics_149; 19557 break; 19558 } 19559 break; 19560 case 0x6f: 19561 GETBYTE (); 19562 switch (op[2] & 0x00) 19563 { 19564 case 0x00: 19565 goto op_semantics_149; 19566 break; 19567 } 19568 break; 19569 case 0x80: 19570 GETBYTE (); 19571 switch (op[2] & 0x00) 19572 { 19573 case 0x00: 19574 op_semantics_150: 19575 { 19576 /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */ 19577 #line 1125 "rx-decode.opc" 19578 int rdst AU = op[1] & 0x0f; 19579 #line 1125 "rx-decode.opc" 19580 int srca AU = (op[2] >> 4) & 0x0f; 19581 #line 1125 "rx-decode.opc" 19582 int srcb AU = op[2] & 0x0f; 19583 if (trace) 19584 { 19585 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19586 "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */", 19587 op[0], op[1], op[2]); 19588 printf (" rdst = 0x%x,", rdst); 19589 printf (" srca = 0x%x,", srca); 19590 printf (" srcb = 0x%x\n", srcb); 19591 } 19592 SYNTAX("fsub %2, %1, %0"); 19593 #line 1125 "rx-decode.opc" 19594 ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19595 19596 } 19597 break; 19598 } 19599 break; 19600 case 0x81: 19601 GETBYTE (); 19602 switch (op[2] & 0x00) 19603 { 19604 case 0x00: 19605 goto op_semantics_150; 19606 break; 19607 } 19608 break; 19609 case 0x82: 19610 GETBYTE (); 19611 switch (op[2] & 0x00) 19612 { 19613 case 0x00: 19614 goto op_semantics_150; 19615 break; 19616 } 19617 break; 19618 case 0x83: 19619 GETBYTE (); 19620 switch (op[2] & 0x00) 19621 { 19622 case 0x00: 19623 goto op_semantics_150; 19624 break; 19625 } 19626 break; 19627 case 0x84: 19628 GETBYTE (); 19629 switch (op[2] & 0x00) 19630 { 19631 case 0x00: 19632 goto op_semantics_150; 19633 break; 19634 } 19635 break; 19636 case 0x85: 19637 GETBYTE (); 19638 switch (op[2] & 0x00) 19639 { 19640 case 0x00: 19641 goto op_semantics_150; 19642 break; 19643 } 19644 break; 19645 case 0x86: 19646 GETBYTE (); 19647 switch (op[2] & 0x00) 19648 { 19649 case 0x00: 19650 goto op_semantics_150; 19651 break; 19652 } 19653 break; 19654 case 0x87: 19655 GETBYTE (); 19656 switch (op[2] & 0x00) 19657 { 19658 case 0x00: 19659 goto op_semantics_150; 19660 break; 19661 } 19662 break; 19663 case 0x88: 19664 GETBYTE (); 19665 switch (op[2] & 0x00) 19666 { 19667 case 0x00: 19668 goto op_semantics_150; 19669 break; 19670 } 19671 break; 19672 case 0x89: 19673 GETBYTE (); 19674 switch (op[2] & 0x00) 19675 { 19676 case 0x00: 19677 goto op_semantics_150; 19678 break; 19679 } 19680 break; 19681 case 0x8a: 19682 GETBYTE (); 19683 switch (op[2] & 0x00) 19684 { 19685 case 0x00: 19686 goto op_semantics_150; 19687 break; 19688 } 19689 break; 19690 case 0x8b: 19691 GETBYTE (); 19692 switch (op[2] & 0x00) 19693 { 19694 case 0x00: 19695 goto op_semantics_150; 19696 break; 19697 } 19698 break; 19699 case 0x8c: 19700 GETBYTE (); 19701 switch (op[2] & 0x00) 19702 { 19703 case 0x00: 19704 goto op_semantics_150; 19705 break; 19706 } 19707 break; 19708 case 0x8d: 19709 GETBYTE (); 19710 switch (op[2] & 0x00) 19711 { 19712 case 0x00: 19713 goto op_semantics_150; 19714 break; 19715 } 19716 break; 19717 case 0x8e: 19718 GETBYTE (); 19719 switch (op[2] & 0x00) 19720 { 19721 case 0x00: 19722 goto op_semantics_150; 19723 break; 19724 } 19725 break; 19726 case 0x8f: 19727 GETBYTE (); 19728 switch (op[2] & 0x00) 19729 { 19730 case 0x00: 19731 goto op_semantics_150; 19732 break; 19733 } 19734 break; 19735 case 0xa0: 19736 GETBYTE (); 19737 switch (op[2] & 0x00) 19738 { 19739 case 0x00: 19740 op_semantics_151: 19741 { 19742 /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */ 19743 #line 1122 "rx-decode.opc" 19744 int rdst AU = op[1] & 0x0f; 19745 #line 1122 "rx-decode.opc" 19746 int srca AU = (op[2] >> 4) & 0x0f; 19747 #line 1122 "rx-decode.opc" 19748 int srcb AU = op[2] & 0x0f; 19749 if (trace) 19750 { 19751 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19752 "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */", 19753 op[0], op[1], op[2]); 19754 printf (" rdst = 0x%x,", rdst); 19755 printf (" srca = 0x%x,", srca); 19756 printf (" srcb = 0x%x\n", srcb); 19757 } 19758 SYNTAX("fadd %2, %1, %0"); 19759 #line 1122 "rx-decode.opc" 19760 ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19761 19762 } 19763 break; 19764 } 19765 break; 19766 case 0xa1: 19767 GETBYTE (); 19768 switch (op[2] & 0x00) 19769 { 19770 case 0x00: 19771 goto op_semantics_151; 19772 break; 19773 } 19774 break; 19775 case 0xa2: 19776 GETBYTE (); 19777 switch (op[2] & 0x00) 19778 { 19779 case 0x00: 19780 goto op_semantics_151; 19781 break; 19782 } 19783 break; 19784 case 0xa3: 19785 GETBYTE (); 19786 switch (op[2] & 0x00) 19787 { 19788 case 0x00: 19789 goto op_semantics_151; 19790 break; 19791 } 19792 break; 19793 case 0xa4: 19794 GETBYTE (); 19795 switch (op[2] & 0x00) 19796 { 19797 case 0x00: 19798 goto op_semantics_151; 19799 break; 19800 } 19801 break; 19802 case 0xa5: 19803 GETBYTE (); 19804 switch (op[2] & 0x00) 19805 { 19806 case 0x00: 19807 goto op_semantics_151; 19808 break; 19809 } 19810 break; 19811 case 0xa6: 19812 GETBYTE (); 19813 switch (op[2] & 0x00) 19814 { 19815 case 0x00: 19816 goto op_semantics_151; 19817 break; 19818 } 19819 break; 19820 case 0xa7: 19821 GETBYTE (); 19822 switch (op[2] & 0x00) 19823 { 19824 case 0x00: 19825 goto op_semantics_151; 19826 break; 19827 } 19828 break; 19829 case 0xa8: 19830 GETBYTE (); 19831 switch (op[2] & 0x00) 19832 { 19833 case 0x00: 19834 goto op_semantics_151; 19835 break; 19836 } 19837 break; 19838 case 0xa9: 19839 GETBYTE (); 19840 switch (op[2] & 0x00) 19841 { 19842 case 0x00: 19843 goto op_semantics_151; 19844 break; 19845 } 19846 break; 19847 case 0xaa: 19848 GETBYTE (); 19849 switch (op[2] & 0x00) 19850 { 19851 case 0x00: 19852 goto op_semantics_151; 19853 break; 19854 } 19855 break; 19856 case 0xab: 19857 GETBYTE (); 19858 switch (op[2] & 0x00) 19859 { 19860 case 0x00: 19861 goto op_semantics_151; 19862 break; 19863 } 19864 break; 19865 case 0xac: 19866 GETBYTE (); 19867 switch (op[2] & 0x00) 19868 { 19869 case 0x00: 19870 goto op_semantics_151; 19871 break; 19872 } 19873 break; 19874 case 0xad: 19875 GETBYTE (); 19876 switch (op[2] & 0x00) 19877 { 19878 case 0x00: 19879 goto op_semantics_151; 19880 break; 19881 } 19882 break; 19883 case 0xae: 19884 GETBYTE (); 19885 switch (op[2] & 0x00) 19886 { 19887 case 0x00: 19888 goto op_semantics_151; 19889 break; 19890 } 19891 break; 19892 case 0xaf: 19893 GETBYTE (); 19894 switch (op[2] & 0x00) 19895 { 19896 case 0x00: 19897 goto op_semantics_151; 19898 break; 19899 } 19900 break; 19901 case 0xb0: 19902 GETBYTE (); 19903 switch (op[2] & 0x00) 19904 { 19905 case 0x00: 19906 op_semantics_152: 19907 { 19908 /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */ 19909 #line 1128 "rx-decode.opc" 19910 int rdst AU = op[1] & 0x0f; 19911 #line 1128 "rx-decode.opc" 19912 int srca AU = (op[2] >> 4) & 0x0f; 19913 #line 1128 "rx-decode.opc" 19914 int srcb AU = op[2] & 0x0f; 19915 if (trace) 19916 { 19917 printf ("\033[33m%s\033[0m %02x %02x %02x\n", 19918 "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */", 19919 op[0], op[1], op[2]); 19920 printf (" rdst = 0x%x,", rdst); 19921 printf (" srca = 0x%x,", srca); 19922 printf (" srcb = 0x%x\n", srcb); 19923 } 19924 SYNTAX("fmul %2, %1, %0"); 19925 #line 1128 "rx-decode.opc" 19926 ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_; 19927 19928 } 19929 break; 19930 } 19931 break; 19932 case 0xb1: 19933 GETBYTE (); 19934 switch (op[2] & 0x00) 19935 { 19936 case 0x00: 19937 goto op_semantics_152; 19938 break; 19939 } 19940 break; 19941 case 0xb2: 19942 GETBYTE (); 19943 switch (op[2] & 0x00) 19944 { 19945 case 0x00: 19946 goto op_semantics_152; 19947 break; 19948 } 19949 break; 19950 case 0xb3: 19951 GETBYTE (); 19952 switch (op[2] & 0x00) 19953 { 19954 case 0x00: 19955 goto op_semantics_152; 19956 break; 19957 } 19958 break; 19959 case 0xb4: 19960 GETBYTE (); 19961 switch (op[2] & 0x00) 19962 { 19963 case 0x00: 19964 goto op_semantics_152; 19965 break; 19966 } 19967 break; 19968 case 0xb5: 19969 GETBYTE (); 19970 switch (op[2] & 0x00) 19971 { 19972 case 0x00: 19973 goto op_semantics_152; 19974 break; 19975 } 19976 break; 19977 case 0xb6: 19978 GETBYTE (); 19979 switch (op[2] & 0x00) 19980 { 19981 case 0x00: 19982 goto op_semantics_152; 19983 break; 19984 } 19985 break; 19986 case 0xb7: 19987 GETBYTE (); 19988 switch (op[2] & 0x00) 19989 { 19990 case 0x00: 19991 goto op_semantics_152; 19992 break; 19993 } 19994 break; 19995 case 0xb8: 19996 GETBYTE (); 19997 switch (op[2] & 0x00) 19998 { 19999 case 0x00: 20000 goto op_semantics_152; 20001 break; 20002 } 20003 break; 20004 case 0xb9: 20005 GETBYTE (); 20006 switch (op[2] & 0x00) 20007 { 20008 case 0x00: 20009 goto op_semantics_152; 20010 break; 20011 } 20012 break; 20013 case 0xba: 20014 GETBYTE (); 20015 switch (op[2] & 0x00) 20016 { 20017 case 0x00: 20018 goto op_semantics_152; 20019 break; 20020 } 20021 break; 20022 case 0xbb: 20023 GETBYTE (); 20024 switch (op[2] & 0x00) 20025 { 20026 case 0x00: 20027 goto op_semantics_152; 20028 break; 20029 } 20030 break; 20031 case 0xbc: 20032 GETBYTE (); 20033 switch (op[2] & 0x00) 20034 { 20035 case 0x00: 20036 goto op_semantics_152; 20037 break; 20038 } 20039 break; 20040 case 0xbd: 20041 GETBYTE (); 20042 switch (op[2] & 0x00) 20043 { 20044 case 0x00: 20045 goto op_semantics_152; 20046 break; 20047 } 20048 break; 20049 case 0xbe: 20050 GETBYTE (); 20051 switch (op[2] & 0x00) 20052 { 20053 case 0x00: 20054 goto op_semantics_152; 20055 break; 20056 } 20057 break; 20058 case 0xbf: 20059 GETBYTE (); 20060 switch (op[2] & 0x00) 20061 { 20062 case 0x00: 20063 goto op_semantics_152; 20064 break; 20065 } 20066 break; 20067 default: UNSUPPORTED(); break; 20068 } 20069 break; 20070 default: UNSUPPORTED(); break; 20071 } 20072 #line 1280 "rx-decode.opc" 20073 20074 return rx->n_bytes; 20075 } 20076