Specifications

Page 1
Introduction
DASMx
is a disassembler for a range of common 8-bit microprocessors. The
following main processor families are supported:
Motorola 6800 family and single chip variants (including Hitachi 630X
devices);
Motorola 6809;
MOS Technology 6502 and Rockwell 65C0X;
Zilog Z80;
Sharp LR35902 (single chip Z80 variant as used in the Nintendo
GameBoy);
Intel MCS-80/85
TM
family (i.e. 8080 and 8085);
Intel MCS-48
TM
family (i.e. 8048 et al);
Intel MCS-51
TM
family (i.e. 8051 et al);
Signetics 2650.
The disassembler takes as input a binary code/data image file (typically a ROM
image) and generates either an assembler source file or a listing file.
DASMx
is a
multi-pass disassembler with automatic symbol generation.
DASMx
can optionally
use a symbol file containing user-defined symbols and specifications of data areas
within the source image.
DASMx
includes a powerful feature called code threading. Using known code entry
points (e.g. reset and interrupt vectors) and by performing partial emulation of the
processor, the disassembler is able to follow known code paths within a source
binary image.
Use of code threading, together with the multi-pass operation and symbol table
management permits readable assembly code output from source images that
contain large amounts of data (which tend to confuse most disassemblers).
DASMx
is copyright software. This version (1.30) may be distributed and used
freely provided that all files are included in the distribution, no files are modified
(including the distribution zip file) and no charge is made beyond that reasonable
to cover copying (say 5 UK pounds).
Historical note: Version 1.10 of
DASMx
superseded the Motorola 680x
disassembler,
dasm6800
(last released as version 1.00 on 25
th
January 1997). The
change of name reflected the wide range of processors then covered.