trunk/src/emu/cpu/arcompact/arcompactdasm.c
| r242262 | r242263 | |
| 689 | 689 | |
| 690 | 690 | int arcompact_handle04_20_dasm(DASM_OPS_32) |
| 691 | 691 | { |
| 692 | // todo, other bits (in none long immediate mode at least) |
| 693 | |
| 694 | int size = 4; |
| 692 | 695 | int C = (op & 0x00000fc0) >> 6; |
| 696 | UINT8 condition = op & 0x0000001f; |
| 697 | |
| 693 | 698 | op &= ~0x00000fc0; |
| 694 | 699 | |
| 695 | 700 | if (C == LIMM_REG) |
| 696 | 701 | { |
| 697 | 702 | UINT32 limm; |
| 698 | 703 | GET_LIMM_32; |
| 699 | | |
| 700 | | |
| 701 | | print("Jcc %08x (%08x)", limm, op); |
| 704 | size = 8; |
| 705 | |
| 706 | print("J(%s) %08x (%08x)", conditions[condition], limm, op); |
| 702 | 707 | } |
| 703 | 708 | else |
| 704 | 709 | { |
| 705 | | print("Jcc (%04x) (%08x)", C, op); |
| 710 | print("J(%s) (r%d) (%08x)", conditions[condition], C, op); |
| 706 | 711 | } |
| 707 | 712 | |
| 708 | | return 4; |
| 713 | return size; |
| 709 | 714 | } |
| 710 | 715 | |
| 716 | |
| 717 | |
| 711 | 718 | int arcompact_handle04_21_dasm(DASM_OPS_32) { print("Jcc.D (%08x)", op); return 4;} |
| 712 | 719 | int arcompact_handle04_22_dasm(DASM_OPS_32) { print("JLcc (%08x)", op); return 4;} |
| 713 | 720 | int arcompact_handle04_23_dasm(DASM_OPS_32) { print("JLcc.D (%08x)", op); return 4;} |