Provided by: z80dasm_1.1.6-1_amd64 bug

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.

       -r, --sym-order=SORT
              Ordering of symbols in the symbol file. SORT can be  default  (sort  by  value)  or
              frequency (sort by usage frequency).

       -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.

       -u, --undoc
              By  default, all undocumented instructions are disassembled as defb directives with
              the instruction name in a comment. This is due to missing or buggy support for many
              of  these  instructions  in  z80asm.  If  this  option  is  specified, undocumented
              instructions are written directly into the 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:  [  unlabeled  ] [ start | first ] address [ unlabeled ] [ end | last ] 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. Keywords
              "start" and "first" are synonymous. If the keyword "end" is used, the  end  address
              is the 16 bit address of the last byte in the block plus one. If the keyword "last"
              is used, the end address is the 16 bit address of the last byte in block.

              Normally labels are defined at the addresses specified  in  the  block  definition.
              This can be suppressed by adding the keyword "unlabeled" before the address.

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