From 86684a7abc8adc1313a3b9e3afda38cb362e5c5b Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 2 Jan 2020 20:36:17 +0200 Subject: [PATCH] MOVEQ, ADDQ, ADDAQ, SUBQ and SUBAQ disassembler support. (Was previously disassembled without "Q"), EXT.B -> EXTB.L. --- disasm.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/disasm.cpp b/disasm.cpp index 6438b2a3..8055ab06 100644 --- a/disasm.cpp +++ b/disasm.cpp @@ -725,11 +725,25 @@ static bool movemout (TCHAR *out, uae_u16 mask, int mode, int fpmode, bool dst) static void disasm_size (TCHAR *instrname, struct instr *dp) { + int size = dp->size; if (dp->unsized) { _tcscat(instrname, _T(" ")); return; } - switch (dp->size) + int m = dp->mnemo; + if (dp->suse && dp->smode == immi && + (m == i_MOVE || m == i_ADD || m == i_ADDA || m == i_SUB || m == i_SUBA)) { + _tcscat(instrname, _T("Q")); + if (m == i_MOVE) + size = -1; + } + // EXT.B -> EXTB.L + if (m == i_EXT && dp->size == sz_byte) { + _tcscat(instrname,_T("B")); + size = sz_long; + } + + switch (size) { case sz_byte: _tcscat (instrname, _T(".B ")); -- 2.47.3