]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
MOVEQ, ADDQ, ADDAQ, SUBQ and SUBAQ disassembler support. (Was previously disassembled...
authorToni Wilen <twilen@winuae.net>
Thu, 2 Jan 2020 18:36:17 +0000 (20:36 +0200)
committerToni Wilen <twilen@winuae.net>
Thu, 2 Jan 2020 18:36:17 +0000 (20:36 +0200)
disasm.cpp

index 6438b2a3b6704beb78c6d5de243ea4ee57c84363..8055ab062fffafb722153093ae192da1ff6857a4 100644 (file)
@@ -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 "));