From: Toni Wilen Date: Sun, 20 Nov 2022 11:48:19 +0000 (+0200) Subject: Disassembler fix X-Git-Tag: 41000~60 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=42dce94781590e22504e314e50097b800e4e9efd;p=francis%2Fwinuae.git Disassembler fix --- diff --git a/disasm.cpp b/disasm.cpp index eb1ec4cd..fa094d1b 100644 --- a/disasm.cpp +++ b/disasm.cpp @@ -2355,6 +2355,7 @@ uae_u32 m68k_disasm_2(TCHAR *buf, int bufsize, uaecptr pc, uae_u16 *bufpc, int b if (lookup->mnemo == i_RTS || lookup->mnemo == i_RTD || lookup->mnemo == i_RTR || lookup->mnemo == i_RTE) { uaecptr a = regs.regs[15]; TCHAR eas[100]; + eas[0] = 0; if (lookup->mnemo == i_RTE || lookup->mnemo == i_RTR) { a += 2; } @@ -2387,20 +2388,28 @@ uae_u32 m68k_disasm_2(TCHAR *buf, int bufsize, uaecptr pc, uae_u16 *bufpc, int b *deaddr = pc; if ((opcode & 0xf000) == 0xf000) { if (currprefs.fpu_model) { - buf = buf_out(buf, &bufsize, disasm_lc_hex(_T(" == $%08X")), addr2); - if (fpp_cond(dp->cc)) { - buf = buf_out(buf, &bufsize, _T(" (T)")); - } else { - buf = buf_out(buf, &bufsize, _T(" (F)")); + if (disasm_flags & DISASM_FLAG_EA) { + buf = buf_out(buf, &bufsize, disasm_lc_hex(_T(" == $%08X")), addr2); + } + if (disasm_flags & DISASM_FLAG_CC) { + if (fpp_cond(dp->cc)) { + buf = buf_out(buf, &bufsize, _T(" (T)")); + } else { + buf = buf_out(buf, &bufsize, _T(" (F)")); + } } } } else { if (dp->mnemo == i_Bcc || dp->mnemo == i_DBcc) { - buf = buf_out(buf, &bufsize, disasm_lc_hex(_T(" == $%08X")), addr2); - if (cctrue(dp->cc)) { - buf = buf_out(buf, &bufsize, _T(" (T)")); - } else { - buf = buf_out(buf, &bufsize, _T(" (F)")); + if (disasm_flags & DISASM_FLAG_EA) { + buf = buf_out(buf, &bufsize, disasm_lc_hex(_T(" == $%08X")), addr2); + } + if (disasm_flags & DISASM_FLAG_CC) { + if (cctrue(dp->cc)) { + buf = buf_out(buf, &bufsize, _T(" (T)")); + } else { + buf = buf_out(buf, &bufsize, _T(" (F)")); + } } } else { if (disasm_flags & DISASM_FLAG_CC) {