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