trunk/src/emu/cpu/dsp56k/inst.h
| r19805 | r19806 | |
| 354 | 354 | case BBB_MIDDLE: m_iVal <<= 4; break; |
| 355 | 355 | case BBB_LOWER: m_iVal <<= 0; break; |
| 356 | 356 | |
| 357 | | case BBB_INVALID: return false; break; |
| 357 | case BBB_INVALID: return false; |
| 358 | 358 | } |
| 359 | 359 | |
| 360 | 360 | assemble_D_from_P_table(BITSn(word0,0x0020), BITSn(word0,0x001f), dString); |
| r19805 | r19806 | |
| 415 | 415 | case BBB_MIDDLE: m_iVal <<= 4; break; |
| 416 | 416 | case BBB_LOWER: m_iVal <<= 0; break; |
| 417 | 417 | |
| 418 | | case BBB_INVALID: return false; break; |
| 418 | case BBB_INVALID: return false; |
| 419 | 419 | } |
| 420 | 420 | |
| 421 | 421 | decode_RR_table(BITSn(word0,0x0003), m_r); |
| r19805 | r19806 | |
| 481 | 481 | case BBB_MIDDLE: m_iVal <<= 4; break; |
| 482 | 482 | case BBB_LOWER: m_iVal <<= 0; break; |
| 483 | 483 | |
| 484 | | case BBB_INVALID: return false; break; |
| 484 | case BBB_INVALID: return false; |
| 485 | 485 | } |
| 486 | 486 | |
| 487 | 487 | decode_DDDDD_table(BITSn(word0,0x001f), m_destination); |
trunk/src/emu/cpu/dsp56k/tables.c
| r19805 | r19806 | |
| 756 | 756 | { |
| 757 | 757 | switch(regId) |
| 758 | 758 | { |
| 759 | | case iX: return "X"; break; |
| 760 | | case iX0: return "X0"; break; |
| 761 | | case iX1: return "X1"; break; |
| 762 | | case iY: return "Y"; break; |
| 763 | | case iY0: return "Y0"; break; |
| 764 | | case iY1: return "Y1"; break; |
| 765 | | case iA: return "A"; break; |
| 766 | | case iA0: return "A0"; break; |
| 767 | | case iA1: return "A1"; break; |
| 768 | | case iA2: return "A2"; break; |
| 769 | | case iB: return "B"; break; |
| 770 | | case iB0: return "B0"; break; |
| 771 | | case iB1: return "B1"; break; |
| 772 | | case iB2: return "B2"; break; |
| 773 | | case iR0: return "R0"; break; |
| 774 | | case iR1: return "R1"; break; |
| 775 | | case iR2: return "R2"; break; |
| 776 | | case iR3: return "R3"; break; |
| 777 | | case iN0: return "N0"; break; |
| 778 | | case iN1: return "N1"; break; |
| 779 | | case iN2: return "N2"; break; |
| 780 | | case iN3: return "N3"; break; |
| 781 | | case iM0: return "M0"; break; |
| 782 | | case iM1: return "M1"; break; |
| 783 | | case iM2: return "M2"; break; |
| 784 | | case iM3: return "M3"; break; |
| 785 | | case iLC: return "LC"; break; |
| 786 | | case iSR: return "SR"; break; |
| 787 | | case iOMR: return "OMR"; break; |
| 788 | | case iSP: return "SP"; break; |
| 789 | | case iSSH: return "SSH"; break; |
| 790 | | case iSSL: return "SSL"; break; |
| 791 | | case iLA: return "LA"; break; |
| 792 | | case iMR: return "MR"; break; |
| 793 | | case iCCR: return "CCR"; break; |
| 794 | | case iF: return "F"; break; |
| 795 | | case iFHAT: return "^F"; break; |
| 796 | | case iINVALID: return "!!"; break; |
| 797 | | case iWEIRD: return "?"; break; |
| 759 | case iX: return "X"; |
| 760 | case iX0: return "X0"; |
| 761 | case iX1: return "X1"; |
| 762 | case iY: return "Y"; |
| 763 | case iY0: return "Y0"; |
| 764 | case iY1: return "Y1"; |
| 765 | case iA: return "A"; |
| 766 | case iA0: return "A0"; |
| 767 | case iA1: return "A1"; |
| 768 | case iA2: return "A2"; |
| 769 | case iB: return "B"; |
| 770 | case iB0: return "B0"; |
| 771 | case iB1: return "B1"; |
| 772 | case iB2: return "B2"; |
| 773 | case iR0: return "R0"; |
| 774 | case iR1: return "R1"; |
| 775 | case iR2: return "R2"; |
| 776 | case iR3: return "R3"; |
| 777 | case iN0: return "N0"; |
| 778 | case iN1: return "N1"; |
| 779 | case iN2: return "N2"; |
| 780 | case iN3: return "N3"; |
| 781 | case iM0: return "M0"; |
| 782 | case iM1: return "M1"; |
| 783 | case iM2: return "M2"; |
| 784 | case iM3: return "M3"; |
| 785 | case iLC: return "LC"; |
| 786 | case iSR: return "SR"; |
| 787 | case iOMR: return "OMR"; |
| 788 | case iSP: return "SP"; |
| 789 | case iSSH: return "SSH"; |
| 790 | case iSSL: return "SSL"; |
| 791 | case iLA: return "LA"; |
| 792 | case iMR: return "MR"; |
| 793 | case iCCR: return "CCR"; |
| 794 | case iF: return "F"; |
| 795 | case iFHAT: return "^F"; |
| 796 | case iINVALID: return "!!"; |
| 797 | case iWEIRD: return "?"; |
| 798 | 798 | } |
| 799 | 799 | |
| 800 | 800 | return "INVALID_REG_ID"; |
| r19805 | r19806 | |
| 804 | 804 | { |
| 805 | 805 | switch(mnem) |
| 806 | 806 | { |
| 807 | | case oCC: return "cc"; break; |
| 808 | | case oGE: return "ge"; break; |
| 809 | | case oNE: return "ne"; break; |
| 810 | | case oPL: return "pl"; break; |
| 811 | | case oNN: return "nn"; break; |
| 812 | | case oEC: return "ec"; break; |
| 813 | | case oLC: return "lc"; break; |
| 814 | | case oGT: return "gt"; break; |
| 815 | | case oCS: return "cs"; break; |
| 816 | | case oLT: return "lt"; break; |
| 817 | | case oEQ: return "eq"; break; |
| 818 | | case oMI: return "mi"; break; |
| 819 | | case oNR: return "nr"; break; |
| 820 | | case oES: return "es"; break; |
| 821 | | case oLS: return "ls"; break; |
| 822 | | case oLE: return "le"; break; |
| 807 | case oCC: return "cc"; |
| 808 | case oGE: return "ge"; |
| 809 | case oNE: return "ne"; |
| 810 | case oPL: return "pl"; |
| 811 | case oNN: return "nn"; |
| 812 | case oEC: return "ec"; |
| 813 | case oLC: return "lc"; |
| 814 | case oGT: return "gt"; |
| 815 | case oCS: return "cs"; |
| 816 | case oLT: return "lt"; |
| 817 | case oEQ: return "eq"; |
| 818 | case oMI: return "mi"; |
| 819 | case oNR: return "nr"; |
| 820 | case oES: return "es"; |
| 821 | case oLS: return "ls"; |
| 822 | case oLE: return "le"; |
| 823 | 823 | |
| 824 | | case oSS: return "ss"; break; |
| 825 | | case oSU: return "su"; break; |
| 826 | | case oUU: return "uu"; break; |
| 827 | | case oINVALID: return "!!"; break; |
| 824 | case oSS: return "ss"; |
| 825 | case oSU: return "su"; |
| 826 | case oUU: return "uu"; |
| 827 | case oINVALID: return "!!"; |
| 828 | 828 | } |
| 829 | 829 | |
| 830 | 830 | return "INVALID_OPCODE_MNEMONIC"; |
trunk/src/emu/cpu/i386/i386.c
| r19805 | r19806 | |
| 1342 | 1342 | else |
| 1343 | 1343 | i286_task_switch(cpustate,desc.selector,0); |
| 1344 | 1344 | return; |
| 1345 | | break; |
| 1346 | 1345 | case 0x04: // 286 Call Gate |
| 1347 | 1346 | case 0x0c: // 386 Call Gate |
| 1348 | 1347 | logerror("JMP: Call gate at %08x\n",cpustate->pc); |
| r19805 | r19806 | |
| 1479 | 1478 | else |
| 1480 | 1479 | i286_task_switch(cpustate,call_gate.selector,0); |
| 1481 | 1480 | return; |
| 1482 | | break; |
| 1483 | 1481 | default: // invalid segment type |
| 1484 | 1482 | logerror("JMP: Invalid segment type (%i) to jump to.\n",desc.flags & 0x000f); |
| 1485 | 1483 | FAULT(FAULT_GP,segment & 0xfffc) |
| r19805 | r19806 | |
| 1631 | 1629 | else |
| 1632 | 1630 | i286_task_switch(cpustate,desc.selector,1); |
| 1633 | 1631 | return; |
| 1634 | | break; |
| 1635 | 1632 | case 0x04: // 286 call gate |
| 1636 | 1633 | case 0x0c: // 386 call gate |
| 1637 | 1634 | if((desc.flags & 0x000f) == 0x04) |
| r19805 | r19806 | |
| 1908 | 1905 | else |
| 1909 | 1906 | i286_task_switch(cpustate,desc.selector,1); |
| 1910 | 1907 | return; |
| 1911 | | break; |
| 1912 | 1908 | default: |
| 1913 | 1909 | logerror("CALL: Invalid special segment type (%i) to jump to.\n",desc.flags & 0x000f); |
| 1914 | 1910 | FAULT(FAULT_GP,selector & ~0x07) // #GP(selector) |