| Re: [hatari-devel] External disassembler and FPU instructions | 
[ Thread Index | 
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
] 
Hi,
On 4/17/19 11:25 AM, Thomas Huth wrote:
On 17/04/2019 01.03, Eero Tamminen wrote:
It seems that internal disassembler misses some fmovem variant:
s/internal/external/ ?
Yes.
d $00002a16
$002a16: 670c            beq.s     $2a24
$002a18: f229            DC.W      $f229
$002a1a: d0ff            DC.W      $d0ff
$002a1c: 03bc            DC.W      $03bc
$002a1e: f229 9c00 041c  fmovem    $41c(a1),fpiar/fpsr/fpcr
$002a24: f369 0428       frestore  $428(a1)
One more reason to finally get rid of the external disassembler again :-)
Honestly, that code is IMHO causing more work for us than benefit. In my
eyes, the code is very ugly, with huuuuge functions and many nested
indentation levels. I don't think that we should spent much more time on
fixing this. Better focus on the internal disassembler instead.
Yes, the ext disassembler C-code is really ugly, but:
* IMHO its m68k disassembly output looks nicer (not ALL CAPS)
  than (Win)UAE one
* it has options for the output looks:
--------------------------------------------------
$ hatari --disasm help
....
Flag values:
	1: no brackets around absolute addressing
	2: opcodes in small letters
	4: register names in small letters
	8: stack pointer as 'SP', not 'A7'
Current settings are:
	--disasm ext --disasm 0xf
--------------------------------------------------
* more importantly for profiler, its output is column based
  and one can disable & replace some of those columns if they
  e.g. would make output width unpredictable / too long.
Are these kind of changes something that would be acceptable
to WinUAE:
- lower-case opcode names
- ability to optionally skip instruction hex code and "== values"
  parts to reduce how much screen space it takes, and make line
  widths more predictable
- ability to show provided comment with disassembly
  (= profile information)
?
(This leaves the question of what to do with OldAUE disassembler.)
	- Eero