Incorrect LABEL/EQU in Used Labels
linuxha opened this issue · 2 comments
Working with:
f9dasm: M6800/1/2/3/8/9 / H6309 Binary/OS9/FLEX9 Disassembler V1.82
Command line:
f9dasm -info liebert.info | tee liebert.asm
Options part of the info file (-out doesn't work):
FILE MC6803-P8nP9.bin C000
OPTION begin C000
OPTION noflex
OPTION 6801
OPTION asc
OPTION out liebert.dis
Info file(s) are huge, some 2199 lines.
I have this line for P1ADDR (... indicate skipped lines):
...
LABEL 0000 P1DDR *; Port 1 Data Direction Register
...
LABEL 00OC OCPLOB *; Output Compare Register (LSB)
LABEL 00OD ICPHIB *; Input Capture Register (MSB)
LABEL 00OE ICPLOB *; Input Capture Register (LSB)
*
LABEL 00OF P3CSR *; Port 3 Control and Status Register
*
LABEL 0010 RMCREG *; Rate & Mode Control Register
...
But I see in the output:
P3CSR EQU $0000
P2DDR EQU $0001
P1DR EQU $0002
P2DR EQU $0003
P3DDR EQU $0004
P4DDR EQU $0005
P3DR EQU $0006
P4DR EQU $0007
TCSR EQU $0008
CRHIB EQU $0009
M000A EQU $000A
M000B EQU $000B
M000D EQU $000D
RMCREG EQU $0010
Note the problems with the first LABEL @ $0000 (should be P1ADDR) and the M000A thru M000D. I'm not sure about any others LABEL issues at this time. If I comment out the P3CSR label in my info file, it takes the previous label in the info file (ICPLOB).
Not sure what files to post as I don't have permission to post the binary.
You might want to change the Ohs zu Zeroes in the address parts of
LABEL 00OC OCPLOB *; Output Compare Register (LSB)
LABEL 00OD ICPHIB *; Input Capture Register (MSB)
LABEL 00OE ICPLOB *; Input Capture Register (LSB)
*
LABEL 00OF P3CSR *; Port 3 Control and Status Register
f9dasm interprets all of these as 0, since the address parsing terminates at the first non-hex character, so the last label given for address 0 (P3CSR) wins.
Zero good grief1 ;-)
Thanks for finding that.