Re: [hatari-devel] External disassembler and FPU instructions |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Le 18/04/2019 à 14:34, Toni Wilen a écrit :
On Mittwoch, 17. April 2019 20:15:42 CEST Eero Tamminen wrote:
lower-case opcode names
IIRC it is not only a problem of upper/lowercase. The internal disassembler
takes (most of) the opcode names from table68k. These are not the real
instruction names in all cases (MVPMR, EORSR for example).
I have been slowly improving it recently. Most weird opcode names are
already gone but some still remains (like MVPMR).
I can add lower/uppercase (and other) options if needed.
Hi
that could be interesting if such options could be added to WinUAE.
Ideally, maybe there could be a combination of flags that would issue
some disasm code that could be directly assembled (it's sometimes handy
to copy/paste from the debugger to an assembler to compile a suspicious
bit of code).
In the external disassembler that was added to Hatari, we have some bits
that can be or-ed :
typedef enum {
doptNoBrackets = 1, // hide brackets around absolute addressing
doptOpcodesSmall = 2, // opcodes are small letters
doptRegisterSmall = 4, // register names are small letters
doptStackSP = 8 // stack pointer is named "SP" instead
of "A7" (except for MOVEM)
} Diss68kOptions;
considering WinUAE disasm, some config bits could be added to show/not
show memory content / current value (remove [], () or '==' parts) :
for example, change :
00FC0038 0cb9 fa52 235f 00fa 0000 CMP.L #$fa52235f,$00fa0000 [abcdef42]
00FC0042 660a BNE.B #$0a == $00fc004e (T)
00FC0044 4dfa 0008 LEA.L (PC,$0008) == $00fc004e,A6
To :
00FC0038 0cb9 fa52 235f 00fa 0000 CMP.L #$fa52235f,$00fa0000
00FC0042 660a BNE.B #$0a
00FC0044 4dfa 0008 LEA.L (PC,$0008),A6
Or even to (code that could be assembled directly) :
CMP.L #$fa52235f,$00fa0000
BNE.B #$0a
LEA.L (PC,$0008),A6
Nicolas