Re: [hatari-devel] WinUAE CPU core disassembler output options : fix for DISASM_FLAG_EA

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 21/11/2022 à 02:26, Eero Tamminen a écrit :
Hi,

On 20.11.2022 23.42, Nicolas Pomarède wrote:
Le 20/11/2022 à 21:15, Eero Tamminen a écrit :
On 20.11.2022 21.23, Nicolas Pomarède wrote:
pushed the changes to WinUAE and they're now in Hatari, so disasm flags should work as expected now.

I'm still seeing these:
-------------------------
2470 C800  movea.l (a0,a4.l,$00) == $00e502ac,a2
...
206F 0004  movea.l (a7,$0004),a0
...
2070 0000  movea.l (a0,d0.w,$00) == $00002304,a0
...
4232 0000  clr.b (a2,d0.w,$00) == $00e729f8
-------------------------

So I guess some additional fixes are needed.

After that, having instruction and its parameters in separate columns (like with ext disassembler) would be final readability improvement.

(Having that "== ..." info in its own column would help readability when that extra info is configured to be shown.)

what DISASM_FLAG do you think is not correctly applied ?

By default Hatari disables all of these:
DISASM_FLAG_CC | DISASM_FLAG_EA | DISASM_FLAG_VAL

I think they should be enough to disable all value showing.

Here's a small patch to fix these missing checks of the flags

Toni, I'm not sure if the flag to test in these cases should be DISASM_FLAG_VAL or DISASM_FLAG_EA (the later seems to be used only in bsr/jsr and the like with pc relative values ?)

Nicolas




--- /tmp/disasm.c.orig	2022-11-26 13:43:43.542599103 +0100
+++ /tmp/disasm.c	2022-11-26 13:43:43.463595767 +0100
@@ -458,8 +458,10 @@
 		addr = base + outer;
 
 		if (buffer) {
-			_stprintf(p, disasm_lc_hex(_T(" == $%08X")), addr);
-			p += _tcslen(p);
+			if (disasm_flags & DISASM_FLAG_VAL) {
+				_stprintf(p, disasm_lc_hex(_T(" == $%08X")), addr);
+				p += _tcslen(p);
+			}
 		}
 
 	} else {
@@ -1692,7 +1694,9 @@
 	if (opcode == 0x4ef9) { // JMP x.l
 		TCHAR *p = s + _tcslen(s);
 		uae_u32 addr2 = get_long_debug(addr + 2);
-		_stprintf(p, disasm_lc_hex(_T(" == $%08X ")), addr2);
+		if (disasm_flags & DISASM_FLAG_VAL) {
+			_stprintf(p, disasm_lc_hex(_T(" == $%08X ")), addr2);
+		}
 		showea_val(p + _tcslen(p), opcode, addr2, 4);
 		TCHAR txt[256];
 		bool ext;


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/