pc += 2;
p = instrname + _tcslen(instrname);
_stprintf(p, (extra & 0x8000) ? _T(",A%d") : _T(",D%d"), (extra >> 12) & 7);
+ } else if (lookup->mnemo == i_ORSR || lookup->mnemo == i_ANDSR || lookup->mnemo == i_EORSR) {
+ pc = ShowEA(NULL, pc, opcode, dp->sreg, dp->smode, dp->size, instrname, &seaddr2, safemode);
+ _tcscat(instrname, dp->size == sz_byte ? _T(",CCR") : _T(",SR"));
+ } else if (lookup->mnemo == i_MVR2USP) {
+ pc = ShowEA(NULL, pc, opcode, dp->sreg, dp->smode, dp->size, instrname, &seaddr2, safemode);
+ _tcscat(instrname, _T(",USP"));
+ } else if (lookup->mnemo == i_MVUSP2R) {
+ _tcscat(instrname, _T("USP,"));
+ pc = ShowEA(NULL, pc, opcode, dp->sreg, dp->smode, dp->size, instrname, &seaddr2, safemode);
+ } else if (lookup->mnemo == i_MV2SR) {
+ pc = ShowEA(NULL, pc, opcode, dp->sreg, dp->smode, dp->size, instrname, &seaddr2, safemode);
+ _tcscat(instrname, dp->size == sz_byte ? _T(",CCR") : _T(",SR"));
+ } else if (lookup->mnemo == i_MVSR2) {
+ _tcscat(instrname, dp->size == sz_byte ? _T("CCR,") : _T("SR,"));
+ pc = ShowEA(NULL, pc, opcode, dp->sreg, dp->smode, dp->size, instrname, &seaddr2, safemode);
} else if (lookup->mnemo == i_MVMEL) {
uae_u16 mask = extra;
pc += 2;
{ 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_ORSR, _T("ORSR"), _T("OR"), 0 },
+ { i_ANDSR, _T("ANDSR"), _T("AND"), 0 },
+ { i_EORSR, _T("EORSR"), _T("EOR"), 0 },
{ i_SUB, _T("SUB"), NULL, 1 },
{ i_SUBA, _T("SUBA"), NULL, 1 },
{ i_SUBX, _T("SUBX"), NULL, 0 },
{ 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_MVPRM, _T("MVPRM"), _T("MOVEP"), 0 },
+ { i_MVPMR, _T("MVPMR"), _T("MOVEP"), 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_MVSR2, _T("MVSR2"), _T("MOVE"), 0 },
+ { i_MV2SR, _T("MV2SR"), _T("MOVE"), 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_MVR2USP, _T("MVR2USP"), _T("MOVE"), 0 },
+ { i_MVUSP2R, _T("MVUSP2R"), _T("MOVE"), 0 },
{ i_NOP, _T("NOP"), NULL, 0 },
{ i_RESET, _T("RESET"), NULL, 0 },
{ i_RTE, _T("RTE"), 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_ASRW, _T("ASRW"), _T("ASR"), 1 },
+ { i_ASLW, _T("ASLW"), _T("ASL"), 1 },
+ { i_LSRW, _T("LSRW"), _T("LSR"), 1 },
+ { i_LSLW, _T("LSLW"), _T("LSL"), 1 },
+ { i_ROLW, _T("ROLW"), _T("ROL"), 1 },
+ { i_RORW, _T("RORW"), _T("ROR"), 1 },
+ { i_ROXLW, _T("ROXLW"), _T("ROXL"), 1 },
+ { i_ROXRW, _T("ROXRW"), _T("ROXR"), 1 },
{ i_MOVE2C, _T("MOVE2C"), _T("MOVEC"), 0 },
{ i_MOVEC2, _T("MOVEC2"), _T("MOVEC"), 0 },
{ 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_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_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 },