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 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 from 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)