--- previous/src/cpu/readcpu.c 2018/04/24 19:31:45 1.1.1.3 +++ previous/src/cpu/readcpu.c 2018/04/24 19:33:34 1.1.1.4 @@ -16,141 +16,141 @@ int nr_cpuop_funcs; struct mnemolookup lookuptab[] = { - { i_ILLG, _T("ILLEGAL") }, - { i_OR, _T("OR") }, - { i_CHK, _T("CHK") }, - { i_CHK2, _T("CHK2") }, - { i_AND, _T("AND") }, - { i_EOR, _T("EOR") }, - { i_ORSR, _T("ORSR") }, - { i_ANDSR, _T("ANDSR") }, - { i_EORSR, _T("EORSR") }, - { i_SUB, _T("SUB") }, - { i_SUBA, _T("SUBA") }, - { i_SUBX, _T("SUBX") }, - { i_SBCD, _T("SBCD") }, - { i_ADD, _T("ADD") }, - { i_ADDA, _T("ADDA") }, - { i_ADDX, _T("ADDX") }, - { i_ABCD, _T("ABCD") }, - { i_NEG, _T("NEG") }, - { i_NEGX, _T("NEGX") }, - { i_NBCD, _T("NBCD") }, - { i_CLR, _T("CLR") }, - { i_NOT, _T("NOT") }, - { i_TST, _T("TST") }, - { i_BTST, _T("BTST") }, - { i_BCHG, _T("BCHG") }, - { i_BCLR, _T("BCLR") }, - { i_BSET, _T("BSET") }, - { i_CMP, _T("CMP") }, - { i_CMPM, _T("CMPM") }, - { i_CMPA, _T("CMPA") }, - { i_MVPRM, _T("MVPRM") }, - { i_MVPMR, _T("MVPMR") }, - { i_MOVE, _T("MOVE") }, - { i_MOVEA, _T("MOVEA") }, - { i_MVSR2, _T("MVSR2") }, - { i_MV2SR, _T("MV2SR") }, - { i_SWAP, _T("SWAP") }, - { i_EXG, _T("EXG") }, - { i_EXT, _T("EXT") }, - { i_MVMEL, _T("MVMEL"), _T("MOVEM") }, - { i_MVMLE, _T("MVMLE"), _T("MOVEM") }, - { i_TRAP, _T("TRAP") }, - { i_MVR2USP, _T("MVR2USP") }, - { i_MVUSP2R, _T("MVUSP2R") }, - { i_NOP, _T("NOP") }, - { i_RESET, _T("RESET") }, - { i_RTE, _T("RTE") }, - { i_RTD, _T("RTD") }, - { i_LINK, _T("LINK") }, - { i_UNLK, _T("UNLK") }, - { i_RTS, _T("RTS") }, - { i_STOP, _T("STOP") }, - { i_TRAPV, _T("TRAPV") }, - { i_RTR, _T("RTR") }, - { i_JSR, _T("JSR") }, - { i_JMP, _T("JMP") }, - { i_BSR, _T("BSR") }, - { i_Bcc, _T("Bcc") }, - { i_LEA, _T("LEA") }, - { i_PEA, _T("PEA") }, - { i_DBcc, _T("DBcc") }, - { i_Scc, _T("Scc") }, - { i_DIVU, _T("DIVU") }, - { i_DIVS, _T("DIVS") }, - { i_MULU, _T("MULU") }, - { i_MULS, _T("MULS") }, - { i_ASR, _T("ASR") }, - { i_ASL, _T("ASL") }, - { i_LSR, _T("LSR") }, - { i_LSL, _T("LSL") }, - { i_ROL, _T("ROL") }, - { i_ROR, _T("ROR") }, - { i_ROXL, _T("ROXL") }, - { i_ROXR, _T("ROXR") }, - { i_ASRW, _T("ASRW") }, - { i_ASLW, _T("ASLW") }, - { i_LSRW, _T("LSRW") }, - { i_LSLW, _T("LSLW") }, - { i_ROLW, _T("ROLW") }, - { i_RORW, _T("RORW") }, - { i_ROXLW, _T("ROXLW") }, - { i_ROXRW, _T("ROXRW") }, - - { i_MOVE2C, _T("MOVE2C"), _T("MOVEC") }, - { i_MOVEC2, _T("MOVEC2"), _T("MOVEC") }, - { i_CAS, _T("CAS") }, - { i_CAS2, _T("CAS2") }, - { i_MULL, _T("MULL") }, - { i_DIVL, _T("DIVL") }, - { i_BFTST, _T("BFTST") }, - { i_BFEXTU, _T("BFEXTU") }, - { i_BFCHG, _T("BFCHG") }, - { i_BFEXTS, _T("BFEXTS") }, - { i_BFCLR, _T("BFCLR") }, - { i_BFFFO, _T("BFFFO") }, - { i_BFSET, _T("BFSET") }, - { i_BFINS, _T("BFINS") }, - { i_PACK, _T("PACK") }, - { i_UNPK, _T("UNPK") }, - { i_TAS, _T("TAS") }, - { i_BKPT, _T("BKPT") }, - { i_CALLM, _T("CALLM") }, - { i_RTM, _T("RTM") }, - { i_TRAPcc, _T("TRAPcc") }, - { i_MOVES, _T("MOVES") }, - { i_FPP, _T("FPP") }, - { i_FDBcc, _T("FDBcc") }, - { i_FScc, _T("FScc") }, - { i_FTRAPcc, _T("FTRAPcc") }, - { i_FBcc, _T("FBcc") }, - { i_FBcc, _T("FBcc") }, - { i_FSAVE, _T("FSAVE") }, - { i_FRESTORE, _T("FRESTORE") }, - - { i_CINVL, _T("CINVL") }, - { i_CINVP, _T("CINVP") }, - { i_CINVA, _T("CINVA") }, - { i_CPUSHL, _T("CPUSHL") }, - { i_CPUSHP, _T("CPUSHP") }, - { i_CPUSHA, _T("CPUSHA") }, - { i_MOVE16, _T("MOVE16") }, - - { i_MMUOP030, _T("MMUOP030") }, - { i_PFLUSHN, _T("PFLUSHN") }, - { i_PFLUSH, _T("PFLUSH") }, - { i_PFLUSHAN, _T("PFLUSHAN") }, - { i_PFLUSHA, _T("PFLUSHA") }, - - { i_PLPAR, _T("PLPAR") }, - { i_PLPAW, _T("PLPAW") }, - { i_PTESTR, _T("PTESTR") }, - { i_PTESTW, _T("PTESTW") }, + { i_ILLG, _T("ILLEGAL"), NULL, 0 }, + { i_OR, _T("OR"), NULL, 1 }, + { i_CHK, _T("CHK"), NULL, 0 }, + { i_CHK2, _T("CHK2"), NULL, 0 }, + { i_AND, _T("AND"), NULL, 1 }, + { i_EOR, _T("EOR"), NULL, 1 }, + { i_ORSR, _T("ORSR"), NULL, 0 }, + { i_ANDSR, _T("ANDSR"), NULL, 0 }, + { i_EORSR, _T("EORSR"), NULL, 0 }, + { i_SUB, _T("SUB"), NULL, 1 }, + { i_SUBA, _T("SUBA"), NULL, 1 }, + { i_SUBX, _T("SUBX"), NULL, 0 }, + { i_SBCD, _T("SBCD"), NULL, 0 }, + { i_ADD, _T("ADD"), NULL, 1 }, + { i_ADDA, _T("ADDA"), NULL, 1 }, + { i_ADDX, _T("ADDX"), NULL, 0 }, + { i_ABCD, _T("ABCD"), NULL, 0 }, + { i_NEG, _T("NEG"), NULL, 1 }, + { i_NEGX, _T("NEGX"), NULL, 1 }, + { i_NBCD, _T("NBCD"), NULL, 0 }, + { i_CLR, _T("CLR"), NULL, 0 }, + { i_NOT, _T("NOT"), NULL, 1 }, + { i_TST, _T("TST"), NULL, 1 }, + { i_BTST, _T("BTST"), NULL, 1 }, + { i_BCHG, _T("BCHG"), NULL, 1 }, + { i_BCLR, _T("BCLR"), NULL, 1 }, + { i_BSET, _T("BSET"), NULL, 1 }, + { i_CMP, _T("CMP"), NULL, 1 }, + { i_CMPM, _T("CMPM"), NULL, 1 }, + { i_CMPA, _T("CMPA"), NULL, 1 }, + { i_MVPRM, _T("MVPRM"), NULL, 0 }, + { i_MVPMR, _T("MVPMR"), NULL, 0 }, + { i_MOVE, _T("MOVE"), NULL, 1 }, + { i_MOVEA, _T("MOVEA"), NULL, 1 }, + { i_MVSR2, _T("MVSR2"), NULL, 0 }, + { i_MV2SR, _T("MV2SR"), NULL, 0 }, + { i_SWAP, _T("SWAP"), NULL, 0 }, + { i_EXG, _T("EXG"), NULL, 0 }, + { i_EXT, _T("EXT"), NULL, 0 }, + { i_MVMEL, _T("MVMEL"), _T("MOVEM"), 0 }, + { i_MVMLE, _T("MVMLE"), _T("MOVEM"), 0 }, + { i_TRAP, _T("TRAP"), NULL, 0 }, + { i_MVR2USP, _T("MVR2USP"), NULL, 0 }, + { i_MVUSP2R, _T("MVUSP2R"), NULL, 0 }, + { i_NOP, _T("NOP"), NULL, 0 }, + { i_RESET, _T("RESET"), NULL, 0 }, + { i_RTE, _T("RTE"), NULL, 0 }, + { i_RTD, _T("RTD"), NULL, 0 }, + { i_LINK, _T("LINK"), NULL, 0 }, + { i_UNLK, _T("UNLK"), NULL, 0 }, + { i_RTS, _T("RTS"), NULL, 0 }, + { i_STOP, _T("STOP"), NULL, 0 }, + { i_TRAPV, _T("TRAPV"), NULL, 0 }, + { i_RTR, _T("RTR"), NULL, 0 }, + { i_JSR, _T("JSR"), NULL, 0 }, + { i_JMP, _T("JMP"), NULL, 0 }, + { i_BSR, _T("BSR"), NULL, 0 }, + { i_Bcc, _T("Bcc"), NULL, 0 }, + { i_LEA, _T("LEA"), NULL, 0 }, + { i_PEA, _T("PEA"), NULL, 0 }, + { i_DBcc, _T("DBcc"), NULL, 0 }, + { i_Scc, _T("Scc"), NULL, 1 }, + { i_DIVU, _T("DIVU"), NULL, 1 }, + { i_DIVS, _T("DIVS"), NULL, 1 }, + { i_MULU, _T("MULU"), NULL, 1 }, + { i_MULS, _T("MULS"), NULL, 1 }, + { i_ASR, _T("ASR"), NULL, }, + { i_ASL, _T("ASL"), NULL, 0 }, + { i_LSR, _T("LSR"), NULL, 0 }, + { i_LSL, _T("LSL"), NULL, 0 }, + { i_ROL, _T("ROL"), NULL, 0 }, + { i_ROR, _T("ROR"), NULL, 0 }, + { i_ROXL, _T("ROXL"), NULL, 1 }, + { i_ROXR, _T("ROXR"), NULL, 1 }, + { i_ASRW, _T("ASRW"), NULL, 1 }, + { i_ASLW, _T("ASLW"), NULL, 1 }, + { i_LSRW, _T("LSRW"), NULL, 1 }, + { i_LSLW, _T("LSLW"), NULL, 1 }, + { i_ROLW, _T("ROLW"), NULL, 1 }, + { i_RORW, _T("RORW"), NULL, 1 }, + { i_ROXLW, _T("ROXLW"), NULL, 1 }, + { i_ROXRW, _T("ROXRW"), NULL, 1 }, + + { i_MOVE2C, _T("MOVE2C"), _T("MOVEC"), 0 }, + { i_MOVEC2, _T("MOVEC2"), _T("MOVEC"), 0 }, + { i_CAS, _T("CAS"), NULL, 1 }, + { i_CAS2, _T("CAS2"), NULL, 1 }, + { i_MULL, _T("MULL"), NULL, 0 }, + { i_DIVL, _T("DIVL"), NULL, 0 }, + { i_BFTST, _T("BFTST"), NULL, 0 }, + { i_BFEXTU, _T("BFEXTU"), NULL, 0 }, + { i_BFCHG, _T("BFCHG"), NULL, 0 }, + { i_BFEXTS, _T("BFEXTS"), NULL, 0 }, + { i_BFCLR, _T("BFCLR"), NULL, 0 }, + { i_BFFFO, _T("BFFFO"), NULL, 0 }, + { i_BFSET, _T("BFSET"), NULL, 0 }, + { i_BFINS, _T("BFINS"), NULL, 0 }, + { i_PACK, _T("PACK"), NULL, 0 }, + { i_UNPK, _T("UNPK"), NULL, 0 }, + { i_TAS, _T("TAS"), NULL, 1 }, + { i_BKPT, _T("BKPT"), NULL, 0 }, + { i_CALLM, _T("CALLM"), NULL, 0 }, + { i_RTM, _T("RTM"), NULL, 0 }, + { i_TRAPcc, _T("TRAPcc"), NULL, 0 }, + { i_MOVES, _T("MOVES"), NULL, 1 }, + { i_FPP, _T("FPP"), NULL, 0 }, + { i_FDBcc, _T("FDBcc"), NULL, 0 }, + { i_FScc, _T("FScc"), NULL, 0 }, + { i_FTRAPcc, _T("FTRAPcc"), NULL, 0 }, + { i_FBcc, _T("FBcc"), NULL, 0 }, + { i_FBcc, _T("FBcc"), NULL, 0 }, + { i_FSAVE, _T("FSAVE"), NULL, 0 }, + { i_FRESTORE, _T("FRESTORE"), NULL, 0 }, + + { i_CINVL, _T("CINVL"), NULL, 0 }, + { i_CINVP, _T("CINVP"), NULL, 0 }, + { i_CINVA, _T("CINVA"), NULL, 0 }, + { i_CPUSHL, _T("CPUSHL"), NULL, 0 }, + { i_CPUSHP, _T("CPUSHP"), NULL, 0 }, + { i_CPUSHA, _T("CPUSHA"), NULL, 0 }, + { i_MOVE16, _T("MOVE16"), NULL, 0 }, + + { i_MMUOP030, _T("MMUOP030"), NULL, 0 }, + { i_PFLUSHN, _T("PFLUSHN"), NULL, 0 }, + { i_PFLUSH, _T("PFLUSH"), NULL, 0 }, + { i_PFLUSHAN, _T("PFLUSHAN"), NULL, 0 }, + { i_PFLUSHA, _T("PFLUSHA"), NULL, 0 }, + + { i_PLPAR, _T("PLPAR"), NULL, 0 }, + { i_PLPAW, _T("PLPAW"), NULL, 0 }, + { i_PTESTR, _T("PTESTR"), NULL, 0 }, + { i_PTESTW, _T("PTESTW"), NULL, 0 }, - { i_LPSTOP, _T("LPSTOP") }, - { i_ILLG, _T("") }, + { i_LPSTOP, _T("LPSTOP"), NULL, 0 }, + { i_ILLG, _T(""), NULL, 0 }, }; struct instr *table68k;