Man Linux: Main Page and Category List

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)