trunk/src/emu/cpu/arcompact/arcompactdasm.c
| r242264 | r242265 | |
| 30 | 30 | |
| 31 | 31 | #define LIMM_REG 62 |
| 32 | 32 | |
| 33 | #define GET_LIMM_32 \ |
| 34 | limm = oprom[6] | (oprom[7] << 8); \ |
| 35 | limm |= (oprom[4] << 16) | (oprom[5] << 24); \ |
| 36 | |
| 33 | 37 | int arcompact_handle04_00_dasm(DASM_OPS_32); |
| 34 | 38 | int arcompact_handle04_01_dasm(DASM_OPS_32); |
| 35 | 39 | int arcompact_handle04_02_dasm(DASM_OPS_32); |
| r242264 | r242265 | |
| 225 | 229 | int arcompact_handle04_2f_3f_3e_dasm(DASM_OPS_32); |
| 226 | 230 | int arcompact_handle04_2f_3f_3f_dasm(DASM_OPS_32); |
| 227 | 231 | |
| 232 | int arcompact_handle05_00_dasm(DASM_OPS_32); |
| 233 | int arcompact_handle05_01_dasm(DASM_OPS_32); |
| 234 | int arcompact_handle05_02_dasm(DASM_OPS_32); |
| 235 | int arcompact_handle05_03_dasm(DASM_OPS_32); |
| 236 | int arcompact_handle05_04_dasm(DASM_OPS_32); |
| 237 | int arcompact_handle05_05_dasm(DASM_OPS_32); |
| 238 | int arcompact_handle05_06_dasm(DASM_OPS_32); |
| 239 | int arcompact_handle05_07_dasm(DASM_OPS_32); |
| 240 | int arcompact_handle05_08_dasm(DASM_OPS_32); |
| 241 | int arcompact_handle05_09_dasm(DASM_OPS_32); |
| 242 | int arcompact_handle05_0a_dasm(DASM_OPS_32); |
| 243 | int arcompact_handle05_0b_dasm(DASM_OPS_32); |
| 244 | int arcompact_handle05_0c_dasm(DASM_OPS_32); |
| 245 | int arcompact_handle05_0d_dasm(DASM_OPS_32); |
| 246 | int arcompact_handle05_0e_dasm(DASM_OPS_32); |
| 247 | int arcompact_handle05_0f_dasm(DASM_OPS_32); |
| 248 | int arcompact_handle05_10_dasm(DASM_OPS_32); |
| 249 | int arcompact_handle05_11_dasm(DASM_OPS_32); |
| 250 | int arcompact_handle05_12_dasm(DASM_OPS_32); |
| 251 | int arcompact_handle05_13_dasm(DASM_OPS_32); |
| 252 | int arcompact_handle05_14_dasm(DASM_OPS_32); |
| 253 | int arcompact_handle05_15_dasm(DASM_OPS_32); |
| 254 | int arcompact_handle05_16_dasm(DASM_OPS_32); |
| 255 | int arcompact_handle05_17_dasm(DASM_OPS_32); |
| 256 | int arcompact_handle05_18_dasm(DASM_OPS_32); |
| 257 | int arcompact_handle05_19_dasm(DASM_OPS_32); |
| 258 | int arcompact_handle05_1a_dasm(DASM_OPS_32); |
| 259 | int arcompact_handle05_1b_dasm(DASM_OPS_32); |
| 260 | int arcompact_handle05_1c_dasm(DASM_OPS_32); |
| 261 | int arcompact_handle05_1d_dasm(DASM_OPS_32); |
| 262 | int arcompact_handle05_1e_dasm(DASM_OPS_32); |
| 263 | int arcompact_handle05_1f_dasm(DASM_OPS_32); |
| 264 | int arcompact_handle05_20_dasm(DASM_OPS_32); |
| 265 | int arcompact_handle05_21_dasm(DASM_OPS_32); |
| 266 | int arcompact_handle05_22_dasm(DASM_OPS_32); |
| 267 | int arcompact_handle05_23_dasm(DASM_OPS_32); |
| 268 | int arcompact_handle05_24_dasm(DASM_OPS_32); |
| 269 | int arcompact_handle05_25_dasm(DASM_OPS_32); |
| 270 | int arcompact_handle05_26_dasm(DASM_OPS_32); |
| 271 | int arcompact_handle05_27_dasm(DASM_OPS_32); |
| 272 | int arcompact_handle05_28_dasm(DASM_OPS_32); |
| 273 | int arcompact_handle05_29_dasm(DASM_OPS_32); |
| 274 | int arcompact_handle05_2a_dasm(DASM_OPS_32); |
| 275 | int arcompact_handle05_2b_dasm(DASM_OPS_32); |
| 276 | int arcompact_handle05_2c_dasm(DASM_OPS_32); |
| 277 | int arcompact_handle05_2d_dasm(DASM_OPS_32); |
| 278 | int arcompact_handle05_2e_dasm(DASM_OPS_32); |
| 279 | int arcompact_handle05_2f_dasm(DASM_OPS_32); |
| 280 | int arcompact_handle05_30_dasm(DASM_OPS_32); |
| 281 | int arcompact_handle05_31_dasm(DASM_OPS_32); |
| 282 | int arcompact_handle05_32_dasm(DASM_OPS_32); |
| 283 | int arcompact_handle05_33_dasm(DASM_OPS_32); |
| 284 | int arcompact_handle05_34_dasm(DASM_OPS_32); |
| 285 | int arcompact_handle05_35_dasm(DASM_OPS_32); |
| 286 | int arcompact_handle05_36_dasm(DASM_OPS_32); |
| 287 | int arcompact_handle05_37_dasm(DASM_OPS_32); |
| 288 | int arcompact_handle05_38_dasm(DASM_OPS_32); |
| 289 | int arcompact_handle05_39_dasm(DASM_OPS_32); |
| 290 | int arcompact_handle05_3a_dasm(DASM_OPS_32); |
| 291 | int arcompact_handle05_3b_dasm(DASM_OPS_32); |
| 292 | int arcompact_handle05_3c_dasm(DASM_OPS_32); |
| 293 | int arcompact_handle05_3d_dasm(DASM_OPS_32); |
| 294 | int arcompact_handle05_3e_dasm(DASM_OPS_32); |
| 295 | int arcompact_handle05_3f_dasm(DASM_OPS_32); |
| 296 | |
| 297 | |
| 298 | |
| 299 | |
| 228 | 300 | int arcompact_handle0e_00_dasm(DASM_OPS_16); |
| 229 | 301 | int arcompact_handle0e_01_dasm(DASM_OPS_16); |
| 230 | 302 | int arcompact_handle0e_02_dasm(DASM_OPS_16); |
| r242264 | r242265 | |
| 405 | 477 | /* 17 */ "0x17 <illegal>", |
| 406 | 478 | /* 18 */ "ASL_S (multiple)", |
| 407 | 479 | /* 19 */ "LSR_S (multiple)", |
| 408 | | /* 1a */ "ASR_S (multiple)", |
| 409 | | /* 1b */ "ASL_S (single)", |
| 410 | | /* 1c */ "LSR_S (single)", |
| 411 | | /* 1d */ "ASR_S (single)", |
| 412 | | /* 1e */ "TRAP (not a5?)", |
| 413 | | /* 1f */ "BRK_S" // 0x7fff only? |
| 480 | /* 1a */ "ASR_S (multiple)", |
| 481 | /* 1b */ "ASL_S (single)", |
| 482 | /* 1c */ "LSR_S (single)", |
| 483 | /* 1d */ "ASR_S (single)", |
| 484 | /* 1e */ "TRAP (not a5?)", |
| 485 | /* 1f */ "BRK_S" // 0x7fff only? |
| 414 | 486 | }; |
| 415 | 487 | |
| 416 | 488 | static const char *table0f_00[0x8] = |
| r242264 | r242265 | |
| 445 | 517 | if (op & 0x00010000) |
| 446 | 518 | { // Branch Unconditionally Far |
| 447 | 519 | // 00000 ssssssssss 1 SSSSSSSSSS N R TTTT |
| 448 | | INT32 address = (op & 0x07fe0000) >> 17; |
| 449 | | address |= ((op & 0x0000ffc0) >> 6) << 10; |
| 450 | | address |= ((op & 0x0000000f) >> 0) << 20; |
| 451 | | if (address & 0x800000) address = -(address&0x7fffff); |
| 520 | INT32 address = (op & 0x07fe0000) >> 17; |
| 521 | address |= ((op & 0x0000ffc0) >> 6) << 10; |
| 522 | address |= ((op & 0x0000000f) >> 0) << 20; |
| 523 | if (address & 0x800000) address = -(address & 0x7fffff); |
| 452 | 524 | |
| 453 | | print("B %08x (%08x)", pc + (address *2) + 2, op & ~0xffffffcf ); |
| 525 | print("B %08x (%08x)", pc + (address * 2) + 2, op & ~0xffffffcf); |
| 454 | 526 | } |
| 455 | 527 | else |
| 456 | 528 | { // Branch Conditionally |
| 457 | 529 | // 00000 ssssssssss 0 SSSSSSSSSS N QQQQQ |
| 458 | | INT32 address = (op & 0x07fe0000) >> 17; |
| 459 | | address |= ((op & 0x0000ffc0) >> 6) << 10; |
| 460 | | if (address & 0x800000) address = -(address&0x7fffff); |
| 530 | INT32 address = (op & 0x07fe0000) >> 17; |
| 531 | address |= ((op & 0x0000ffc0) >> 6) << 10; |
| 532 | if (address & 0x800000) address = -(address & 0x7fffff); |
| 461 | 533 | |
| 462 | 534 | UINT8 condition = op & 0x0000001f; |
| 463 | 535 | |
| 464 | | print("B(%s) %08x (%08x)", conditions[condition], pc + (address *2) + 2, op & ~0xffffffdf ); |
| 536 | print("B(%s) %08x (%08x)", conditions[condition], pc + (address * 2) + 2, op & ~0xffffffdf); |
| 465 | 537 | } |
| 466 | 538 | return 4; |
| 467 | 539 | } |
| 468 | 540 | |
| 469 | 541 | int arcompact_handle01_dasm(DASM_OPS_32) |
| 470 | 542 | { |
| 543 | int size = 4; |
| 544 | |
| 471 | 545 | if (op & 0x00010000) |
| 472 | 546 | { |
| 473 | 547 | if (op & 0x00000010) |
| 474 | 548 | { // Branch on Compare / Bit Test - Register-Immediate |
| 475 | 549 | // 00001 bbb sssssss 1 S BBB UUUUUU N 1 iiii |
| 476 | 550 | UINT8 subinstr = op & 0x0000000f; |
| 477 | | INT32 address = (op & 0x00fe0000) >> 17; |
| 478 | | address |= ((op & 0x00008000) >> 15) << 7; |
| 479 | | if (address & 0x80) address = -(address&0x7f); |
| 551 | INT32 address = (op & 0x00fe0000) >> 17; |
| 552 | address |= ((op & 0x00008000) >> 15) << 7; |
| 553 | if (address & 0x80) address = -(address & 0x7f); |
| 480 | 554 | |
| 481 | | |
| 482 | | print("%s (reg-imm) %08x (%08x)", table01_01_0x[subinstr], pc + (address *2) + 4, op & ~0xf8fe800f); |
| 483 | 555 | |
| 556 | print("%s (reg-imm) %08x (%08x)", table01_01_0x[subinstr], pc + (address * 2) + 4, op & ~0xf8fe800f); |
| 484 | 557 | |
| 558 | |
| 485 | 559 | } |
| 486 | 560 | else |
| 487 | 561 | { |
| 488 | 562 | // Branch on Compare / Bit Test - Register-Register |
| 489 | 563 | // 00001 bbb sssssss 1 S BBB CCCCCC N 0 iiii |
| 490 | 564 | UINT8 subinstr = op & 0x0000000f; |
| 491 | | INT32 address = (op & 0x00fe0000) >> 17; |
| 492 | | address |= ((op & 0x00008000) >> 15) << 7; |
| 493 | | if (address & 0x80) address = -(address&0x7f); |
| 565 | INT32 address = (op & 0x00fe0000) >> 17; |
| 566 | address |= ((op & 0x00008000) >> 15) << 7; |
| 567 | if (address & 0x80) address = -(address & 0x7f); |
| 494 | 568 | |
| 495 | | print("%s (reg-reg) %08x (%08x)", table01_01_0x[subinstr], pc + (address *2) + 4, op & ~0xf8fe800f); |
| 569 | int c = (op & 0x00000fc0)>> 6; |
| 570 | int b = (op & 0x07000000) >> 24; |
| 571 | b |= ((op & 0x00007000) >> 12) << 3; |
| 496 | 572 | |
| 573 | op &= ~0x07007fe0; |
| 574 | |
| 575 | if ((b != LIMM_REG) && (c != LIMM_REG)) |
| 576 | { |
| 577 | print("%s (reg-reg) (r%d) (r%d) %08x (%08x)", table01_01_0x[subinstr], b, c, pc + (address * 2) + 4, op & ~0xf8fe800f); |
| 578 | } |
| 579 | else |
| 580 | { |
| 581 | UINT32 limm; |
| 582 | GET_LIMM_32; |
| 583 | size = 8; |
| 584 | |
| 585 | if ((b == LIMM_REG) && (c != LIMM_REG)) |
| 586 | { |
| 587 | print("%s (reg-reg) (%08x) (r%d) %08x (%08x)", table01_01_0x[subinstr], limm, c, pc + (address * 2) + 4, op & ~0xf8fe800f); |
| 588 | } |
| 589 | else if ((c == LIMM_REG) && (b != LIMM_REG)) |
| 590 | { |
| 591 | print("%s (reg-reg) (r%d) (%08x) %08x (%08x)", table01_01_0x[subinstr], b, limm, pc + (address * 2) + 4, op & ~0xf8fe800f); |
| 592 | } |
| 593 | else |
| 594 | { |
| 595 | // b and c are LIMM? invalid?? |
| 596 | print("%s (reg-reg) (%08x) (%08x) (illegal?) %08x (%08x)", table01_01_0x[subinstr], limm, limm, pc + (address * 2) + 4, op & ~0xf8fe800f); |
| 597 | |
| 598 | } |
| 599 | } |
| 600 | |
| 497 | 601 | } |
| 498 | 602 | |
| 499 | 603 | } |
| r242264 | r242265 | |
| 523 | 627 | } |
| 524 | 628 | |
| 525 | 629 | } |
| 526 | | return 4; |
| 630 | return size; |
| 527 | 631 | } |
| 528 | 632 | |
| 529 | 633 | int arcompact_handle02_dasm(DASM_OPS_32) |
| r242264 | r242265 | |
| 683 | 787 | int arcompact_handle04_1e_dasm(DASM_OPS_32) { print("<illegal 0x04_1e> (%08x)", op); return 4;} |
| 684 | 788 | int arcompact_handle04_1f_dasm(DASM_OPS_32) { print("<illegal 0x04_1f> (%08x)", op); return 4;} |
| 685 | 789 | |
| 686 | | #define GET_LIMM_32 \ |
| 687 | | limm = oprom[6] | (oprom[7] << 8); \ |
| 688 | | limm |= (oprom[4] << 16) | (oprom[5] << 24); \ |
| 689 | 790 | |
| 791 | |
| 690 | 792 | int arcompact_handle04_20_dasm(DASM_OPS_32) |
| 691 | 793 | { |
| 692 | 794 | // todo, other bits (in none long immediate mode at least) |
| r242264 | r242265 | |
| 1044 | 1146 | |
| 1045 | 1147 | |
| 1046 | 1148 | |
| 1047 | | |
| 1149 | // this is an Extension ALU group, maybe optional on some CPUs? |
| 1048 | 1150 | int arcompact_handle05_dasm(DASM_OPS_32) |
| 1049 | 1151 | { |
| 1050 | | print("op a,b,c (05 ARC ext) (%08x)", op ); |
| 1051 | | return 4; |
| 1152 | int size = 4; |
| 1153 | UINT8 subinstr = (op & 0x003f0000) >> 16; |
| 1154 | op &= ~0x003f0000; |
| 1155 | |
| 1156 | switch (subinstr) |
| 1157 | { |
| 1158 | case 0x00: size = arcompact_handle05_00_dasm(DASM_PARAMS); break; // ASL |
| 1159 | case 0x01: size = arcompact_handle05_01_dasm(DASM_PARAMS); break; // LSR |
| 1160 | case 0x02: size = arcompact_handle05_02_dasm(DASM_PARAMS); break; // ASR |
| 1161 | case 0x03: size = arcompact_handle05_03_dasm(DASM_PARAMS); break; // ROR |
| 1162 | case 0x04: size = arcompact_handle05_04_dasm(DASM_PARAMS); break; // MUL64 |
| 1163 | case 0x05: size = arcompact_handle05_05_dasm(DASM_PARAMS); break; // MULU64 |
| 1164 | case 0x06: size = arcompact_handle05_06_dasm(DASM_PARAMS); break; // ADDS |
| 1165 | case 0x07: size = arcompact_handle05_07_dasm(DASM_PARAMS); break; // SUBS |
| 1166 | case 0x08: size = arcompact_handle05_08_dasm(DASM_PARAMS); break; // DIVAW |
| 1167 | case 0x09: size = arcompact_handle05_09_dasm(DASM_PARAMS); break; // illegal |
| 1168 | case 0x0a: size = arcompact_handle05_0a_dasm(DASM_PARAMS); break; // ASLS |
| 1169 | case 0x0b: size = arcompact_handle05_0b_dasm(DASM_PARAMS); break; // ASRS |
| 1170 | case 0x0c: size = arcompact_handle05_0c_dasm(DASM_PARAMS); break; // illegal |
| 1171 | case 0x0d: size = arcompact_handle05_0d_dasm(DASM_PARAMS); break; // illegal |
| 1172 | case 0x0e: size = arcompact_handle05_0e_dasm(DASM_PARAMS); break; // illegal |
| 1173 | case 0x0f: size = arcompact_handle05_0f_dasm(DASM_PARAMS); break; // illegal |
| 1174 | case 0x10: size = arcompact_handle05_10_dasm(DASM_PARAMS); break; // illegal |
| 1175 | case 0x11: size = arcompact_handle05_11_dasm(DASM_PARAMS); break; // illegal |
| 1176 | case 0x12: size = arcompact_handle05_12_dasm(DASM_PARAMS); break; // illegal |
| 1177 | case 0x13: size = arcompact_handle05_13_dasm(DASM_PARAMS); break; // illegal |
| 1178 | case 0x14: size = arcompact_handle05_14_dasm(DASM_PARAMS); break; // illegal |
| 1179 | case 0x15: size = arcompact_handle05_15_dasm(DASM_PARAMS); break; // illegal |
| 1180 | case 0x16: size = arcompact_handle05_16_dasm(DASM_PARAMS); break; // illegal |
| 1181 | case 0x17: size = arcompact_handle05_17_dasm(DASM_PARAMS); break; // illegal |
| 1182 | case 0x18: size = arcompact_handle05_18_dasm(DASM_PARAMS); break; // illegal |
| 1183 | case 0x19: size = arcompact_handle05_19_dasm(DASM_PARAMS); break; // illegal |
| 1184 | case 0x1a: size = arcompact_handle05_1a_dasm(DASM_PARAMS); break; // illegal |
| 1185 | case 0x1b: size = arcompact_handle05_1b_dasm(DASM_PARAMS); break; // illegal |
| 1186 | case 0x1c: size = arcompact_handle05_1c_dasm(DASM_PARAMS); break; // illegal |
| 1187 | case 0x1d: size = arcompact_handle05_1d_dasm(DASM_PARAMS); break; // illegal |
| 1188 | case 0x1e: size = arcompact_handle05_1e_dasm(DASM_PARAMS); break; // illegal |
| 1189 | case 0x1f: size = arcompact_handle05_1f_dasm(DASM_PARAMS); break; // illegal |
| 1190 | case 0x20: size = arcompact_handle05_20_dasm(DASM_PARAMS); break; // illegal |
| 1191 | case 0x21: size = arcompact_handle05_21_dasm(DASM_PARAMS); break; // illegal |
| 1192 | case 0x22: size = arcompact_handle05_22_dasm(DASM_PARAMS); break; // illegal |
| 1193 | case 0x23: size = arcompact_handle05_23_dasm(DASM_PARAMS); break; // illegal |
| 1194 | case 0x24: size = arcompact_handle05_24_dasm(DASM_PARAMS); break; // illegal |
| 1195 | case 0x25: size = arcompact_handle05_25_dasm(DASM_PARAMS); break; // illegal |
| 1196 | case 0x26: size = arcompact_handle05_26_dasm(DASM_PARAMS); break; // illegal |
| 1197 | case 0x27: size = arcompact_handle05_27_dasm(DASM_PARAMS); break; // illegal |
| 1198 | case 0x28: size = arcompact_handle05_28_dasm(DASM_PARAMS); break; // ADDSDW |
| 1199 | case 0x29: size = arcompact_handle05_29_dasm(DASM_PARAMS); break; // SUBSDW |
| 1200 | case 0x2a: size = arcompact_handle05_2a_dasm(DASM_PARAMS); break; // illegal |
| 1201 | case 0x2b: size = arcompact_handle05_2b_dasm(DASM_PARAMS); break; // illegal |
| 1202 | case 0x2c: size = arcompact_handle05_2c_dasm(DASM_PARAMS); break; // illegal |
| 1203 | case 0x2d: size = arcompact_handle05_2d_dasm(DASM_PARAMS); break; // illegal |
| 1204 | case 0x2e: size = arcompact_handle05_2e_dasm(DASM_PARAMS); break; // illegal |
| 1205 | case 0x2f: size = arcompact_handle05_2f_dasm(DASM_PARAMS); break; // SOPs |
| 1206 | case 0x30: size = arcompact_handle05_30_dasm(DASM_PARAMS); break; // illegal |
| 1207 | case 0x31: size = arcompact_handle05_31_dasm(DASM_PARAMS); break; // illegal |
| 1208 | case 0x32: size = arcompact_handle05_32_dasm(DASM_PARAMS); break; // illegal |
| 1209 | case 0x33: size = arcompact_handle05_33_dasm(DASM_PARAMS); break; // illegal |
| 1210 | case 0x34: size = arcompact_handle05_34_dasm(DASM_PARAMS); break; // illegal |
| 1211 | case 0x35: size = arcompact_handle05_35_dasm(DASM_PARAMS); break; // illegal |
| 1212 | case 0x36: size = arcompact_handle05_36_dasm(DASM_PARAMS); break; // illegal |
| 1213 | case 0x37: size = arcompact_handle05_37_dasm(DASM_PARAMS); break; // illegal |
| 1214 | case 0x38: size = arcompact_handle05_38_dasm(DASM_PARAMS); break; // illegal |
| 1215 | case 0x39: size = arcompact_handle05_39_dasm(DASM_PARAMS); break; // illegal |
| 1216 | case 0x3a: size = arcompact_handle05_3a_dasm(DASM_PARAMS); break; // illegal |
| 1217 | case 0x3b: size = arcompact_handle05_3b_dasm(DASM_PARAMS); break; // illegal |
| 1218 | case 0x3c: size = arcompact_handle05_3c_dasm(DASM_PARAMS); break; // illegal |
| 1219 | case 0x3d: size = arcompact_handle05_3d_dasm(DASM_PARAMS); break; // illegal |
| 1220 | case 0x3e: size = arcompact_handle05_3e_dasm(DASM_PARAMS); break; // illegal |
| 1221 | case 0x3f: size = arcompact_handle05_3f_dasm(DASM_PARAMS); break; // illegal |
| 1222 | } |
| 1223 | |
| 1224 | return size; |
| 1052 | 1225 | } |
| 1053 | 1226 | |
| 1227 | int arcompact_handle05_00_dasm(DASM_OPS_32) { print("ASL a <- b asl c (%08x)", op); return 4;} |
| 1228 | int arcompact_handle05_01_dasm(DASM_OPS_32) { print("LSR a <- b lsr c (%08x)", op); return 4;} |
| 1229 | int arcompact_handle05_02_dasm(DASM_OPS_32) { print("ASR a <- b asr c (%08x)", op); return 4;} |
| 1230 | int arcompact_handle05_03_dasm(DASM_OPS_32) { print("ROR a <- b ror c (%08x)", op); return 4;} |
| 1231 | int arcompact_handle05_04_dasm(DASM_OPS_32) { print("MUL64 mulres <- b * c (%08x)", op); return 4;} |
| 1232 | int arcompact_handle05_05_dasm(DASM_OPS_32) { print("MULU64 mulres <- b * c (%08x)", op); return 4;} |
| 1233 | int arcompact_handle05_06_dasm(DASM_OPS_32) { print("ADDS a <- sat32 (b + c) (%08x)", op); return 4;} |
| 1234 | int arcompact_handle05_07_dasm(DASM_OPS_32) { print("SUBS a <- sat32 (b + c) (%08x)", op); return 4;} |
| 1235 | int arcompact_handle05_08_dasm(DASM_OPS_32) { print("DIVAW (%08x)", op); return 4;} |
| 1236 | int arcompact_handle05_09_dasm(DASM_OPS_32) { print("<illegal 0x05_09> (%08x)", op); return 4;} |
| 1237 | int arcompact_handle05_0a_dasm(DASM_OPS_32) { print("ASLS a <- sat32 (b << c) (%08x)", op); return 4;} |
| 1238 | int arcompact_handle05_0b_dasm(DASM_OPS_32) { print("ASRS a ,- sat32 (b >> c) (%08x)", op); return 4;} |
| 1239 | int arcompact_handle05_0c_dasm(DASM_OPS_32) { print("<illegal 0x05_0c> (%08x)", op); return 4;} |
| 1240 | int arcompact_handle05_0d_dasm(DASM_OPS_32) { print("<illegal 0x05_0d> (%08x)", op); return 4;} |
| 1241 | int arcompact_handle05_0e_dasm(DASM_OPS_32) { print("<illegal 0x05_0e> (%08x)", op); return 4;} |
| 1242 | int arcompact_handle05_0f_dasm(DASM_OPS_32) { print("<illegal 0x05_0f> (%08x)", op); return 4;} |
| 1243 | int arcompact_handle05_10_dasm(DASM_OPS_32) { print("<illegal 0x05_10> (%08x)", op); return 4;} |
| 1244 | int arcompact_handle05_11_dasm(DASM_OPS_32) { print("<illegal 0x05_11> (%08x)", op); return 4;} |
| 1245 | int arcompact_handle05_12_dasm(DASM_OPS_32) { print("<illegal 0x05_12> (%08x)", op); return 4;} |
| 1246 | int arcompact_handle05_13_dasm(DASM_OPS_32) { print("<illegal 0x05_13> (%08x)", op); return 4;} |
| 1247 | int arcompact_handle05_14_dasm(DASM_OPS_32) { print("<illegal 0x05_14> (%08x)", op); return 4;} |
| 1248 | int arcompact_handle05_15_dasm(DASM_OPS_32) { print("<illegal 0x05_15> (%08x)", op); return 4;} |
| 1249 | int arcompact_handle05_16_dasm(DASM_OPS_32) { print("<illegal 0x05_16> (%08x)", op); return 4;} |
| 1250 | int arcompact_handle05_17_dasm(DASM_OPS_32) { print("<illegal 0x05_17> (%08x)", op); return 4;} |
| 1251 | int arcompact_handle05_18_dasm(DASM_OPS_32) { print("<illegal 0x05_18> (%08x)", op); return 4;} |
| 1252 | int arcompact_handle05_19_dasm(DASM_OPS_32) { print("<illegal 0x05_19> (%08x)", op); return 4;} |
| 1253 | int arcompact_handle05_1a_dasm(DASM_OPS_32) { print("<illegal 0x05_1a> (%08x)", op); return 4;} |
| 1254 | int arcompact_handle05_1b_dasm(DASM_OPS_32) { print("<illegal 0x05_1b> (%08x)", op); return 4;} |
| 1255 | int arcompact_handle05_1c_dasm(DASM_OPS_32) { print("<illegal 0x05_1c> (%08x)", op); return 4;} |
| 1256 | int arcompact_handle05_1d_dasm(DASM_OPS_32) { print("<illegal 0x05_1d> (%08x)", op); return 4;} |
| 1257 | int arcompact_handle05_1e_dasm(DASM_OPS_32) { print("<illegal 0x05_1e> (%08x)", op); return 4;} |
| 1258 | int arcompact_handle05_1f_dasm(DASM_OPS_32) { print("<illegal 0x05_1f> (%08x)", op); return 4;} |
| 1259 | int arcompact_handle05_20_dasm(DASM_OPS_32) { print("<illegal 0x05_20> (%08x)", op); return 4;} |
| 1260 | int arcompact_handle05_21_dasm(DASM_OPS_32) { print("<illegal 0x05_21> (%08x)", op); return 4;} |
| 1261 | int arcompact_handle05_22_dasm(DASM_OPS_32) { print("<illegal 0x05_22> (%08x)", op); return 4;} |
| 1262 | int arcompact_handle05_23_dasm(DASM_OPS_32) { print("<illegal 0x05_23> (%08x)", op); return 4;} |
| 1263 | int arcompact_handle05_24_dasm(DASM_OPS_32) { print("<illegal 0x05_24> (%08x)", op); return 4;} |
| 1264 | int arcompact_handle05_25_dasm(DASM_OPS_32) { print("<illegal 0x05_25> (%08x)", op); return 4;} |
| 1265 | int arcompact_handle05_26_dasm(DASM_OPS_32) { print("<illegal 0x05_26> (%08x)", op); return 4;} |
| 1266 | int arcompact_handle05_27_dasm(DASM_OPS_32) { print("<illegal 0x05_27> (%08x)", op); return 4;} |
| 1267 | int arcompact_handle05_28_dasm(DASM_OPS_32) { print("ADDSDW (%08x)", op); return 4;} |
| 1268 | int arcompact_handle05_29_dasm(DASM_OPS_32) { print("SUBSDW (%08x)", op); return 4;} |
| 1269 | int arcompact_handle05_2a_dasm(DASM_OPS_32) { print("<illegal 0x05_2a> (%08x)", op); return 4;} |
| 1270 | int arcompact_handle05_2b_dasm(DASM_OPS_32) { print("<illegal 0x05_2b> (%08x)", op); return 4;} |
| 1271 | int arcompact_handle05_2c_dasm(DASM_OPS_32) { print("<illegal 0x05_2c> (%08x)", op); return 4;} |
| 1272 | int arcompact_handle05_2d_dasm(DASM_OPS_32) { print("<illegal 0x05_2d> (%08x)", op); return 4;} |
| 1273 | int arcompact_handle05_2e_dasm(DASM_OPS_32) { print("<illegal 0x05_2e> (%08x)", op); return 4;} |
| 1274 | int arcompact_handle05_2f_dasm(DASM_OPS_32) { print("SOP (another table) (%08x)", op); return 4;} |
| 1275 | int arcompact_handle05_30_dasm(DASM_OPS_32) { print("<illegal 0x05_30> (%08x)", op); return 4;} |
| 1276 | int arcompact_handle05_31_dasm(DASM_OPS_32) { print("<illegal 0x05_31> (%08x)", op); return 4;} |
| 1277 | int arcompact_handle05_32_dasm(DASM_OPS_32) { print("<illegal 0x05_32> (%08x)", op); return 4;} |
| 1278 | int arcompact_handle05_33_dasm(DASM_OPS_32) { print("<illegal 0x05_33> (%08x)", op); return 4;} |
| 1279 | int arcompact_handle05_34_dasm(DASM_OPS_32) { print("<illegal 0x05_34> (%08x)", op); return 4;} |
| 1280 | int arcompact_handle05_35_dasm(DASM_OPS_32) { print("<illegal 0x05_35> (%08x)", op); return 4;} |
| 1281 | int arcompact_handle05_36_dasm(DASM_OPS_32) { print("<illegal 0x05_36> (%08x)", op); return 4;} |
| 1282 | int arcompact_handle05_37_dasm(DASM_OPS_32) { print("<illegal 0x05_37> (%08x)", op); return 4;} |
| 1283 | int arcompact_handle05_38_dasm(DASM_OPS_32) { print("<illegal 0x05_38> (%08x)", op); return 4;} |
| 1284 | int arcompact_handle05_39_dasm(DASM_OPS_32) { print("<illegal 0x05_39> (%08x)", op); return 4;} |
| 1285 | int arcompact_handle05_3a_dasm(DASM_OPS_32) { print("<illegal 0x05_3a> (%08x)", op); return 4;} |
| 1286 | int arcompact_handle05_3b_dasm(DASM_OPS_32) { print("<illegal 0x05_3b> (%08x)", op); return 4;} |
| 1287 | int arcompact_handle05_3c_dasm(DASM_OPS_32) { print("<illegal 0x05_3c> (%08x)", op); return 4;} |
| 1288 | int arcompact_handle05_3d_dasm(DASM_OPS_32) { print("<illegal 0x05_3d> (%08x)", op); return 4;} |
| 1289 | int arcompact_handle05_3e_dasm(DASM_OPS_32) { print("<illegal 0x05_3e> (%08x)", op); return 4;} |
| 1290 | int arcompact_handle05_3f_dasm(DASM_OPS_32) { print("<illegal 0x05_3f> (%08x)", op); return 4;} |
| 1291 | |
| 1292 | |
| 1293 | |
| 1054 | 1294 | int arcompact_handle06_dasm(DASM_OPS_32) |
| 1055 | 1295 | { |
| 1056 | 1296 | print("op a,b,c (06 ARC ext) (%08x)", op ); |