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;