NAME¶
z80dasm - Z80 assembly generating disassembler
SYNOPSIS¶
z80dasm [
options ]
file
DESCRIPTION¶
z80dasm disassembles a binary file containing Z80 machine code into Z80
assembly language source (including a number of undocumented opcodes). It can
try to guess locations of labels in the code or the labels can be specified by
hand in the form of a symbol file. If given proper information the
disassembler can also split the binary file into code and data sections of
several different types.
Generated source file can be assembled back into the original binary using
z80asm, zasm or the original Zilog assembler (when the
--zilog option
was used).
OPTIONS¶
- -a, --address
- Print the address of the memory location corresponding to
each line of assembly code in a comment at the end of the line.
- -b, --block-def=FILE
- Read block information from a file. If this option is not
specified the default is for the entire file to contain machine code. See
BLOCK FILE below.
- -g, --origin=ORG
- Specify the start address of the binary code being
disassembled. A corresponding org directive is generated in the
output file. The argument is read in hexadecimal if it begins with 0x or
0X, in octal if it begins with 0, and in base 10 otherwise. Default is
0x0100.
- -h, --help
- Show summary of options and exit.
- -l, --labels
- Try to guess label locations from jump instructions and add
them to the assembly code.
- -o, --output=FILE
- Specify the output file. Default is to write to standard
output.
- -s, --sym-output=FILE
- Write symbol information into a file.
- -S, --sym-input=FILE
- Read symbol information from a file. See SYMBOL FILE
below.
- -t, --source
- Print the binary data corresponding to each line of
assembly code in a comment at the end of the line. Data is printed in hex
and ASCII. This is useful for identifying data sections in the first
disassembly.
- -v, --verbose
- Increase verbosity level. Specify multiple times to be more
verbose. Messages are sent to standard error.
- -V, --version
- Display version information and exit.
- -z, --zilog
- Enable compatibility mode for the original Zilog Z80
assembler. This currently only changes the syntax of relative jumps.
SYMBOL FILE¶
Symbol files written by
z80dasm can be directly used as input symbol
files with the
--sym-input option. The following directives are
recognized in input symbol files and are propagated to the output symbol
files:
- include "filename"
- Include another symbol file. Double quotes are mandatory.
Included files must be in the current directory.
- symbol: equ value
- Define a symbol with a value. The value is read in
hexadecimal if it begins with 0x or 0X, in octal if it begins with 0, and
in base 10 otherwise. Default is 0x0100.
- ; comment
- All characters between a semi-colon and end of line are
ignored.
BLOCK FILE¶
Block files specify the boundaries between different blocks (sections) of binary
data in the disassembler input file. The following directives are recognized:
- name: start address end address
type type
- Define a block with the start and end address that contains
a certain type of binary data. Start address is the 16 bit address of the
first byte in the block. End address is the 16 bit address of the last
byte in the block plus one.
- ; comment
- All characters between a semi-colon and end of line are
ignored.
The following block types are supported:
- code
- Block containing Z80 machine code. Data in this block will
be written in Z80 assembly language.
- bytedata
- Data block containing separate bytes. Data in this block
will be written with defb directives.
- worddata
- Data block containing 16 bit words (low order byte first).
Data in this block will be written with defw directives.
- pointers
- Data block containing 16 bit pointers (low order byte
first). This type is equivalent to worddata except that values will
be replaced with labels where that is possible.
DIAGNOSTICS¶
If disassembly was successful
z80dasm returns 0. On error diagnostic
messages are printed to standard error and
z80dasm returns 1.
BUGS¶
Please report bugs to
tomaz.solc@tablix.org
AUTHOR¶
z80dasm is based largely on
dz80 , written by Jan Panteltje.
Feature enhancements and bug fixes were made by Tomaz Solc.
SEE ALSO¶
z80asm(1)