Specifications

Page 6
power of two and will correspond to the length of the ROM. For example, the file
size of a complete image of a 27256 EPROM will be 32,768 bytes.
Assuming at this stage that you do not know which areas of the binary image are
code and which are data, it is sensible to use the code threading feature. For code
threading to work, you must provide at least one code entry point. This requires
code, vector or vectab entries in a symbol file. For example, if you are
disassembling a ROM image from the uppermost region of the 6800
microprocessor address space, then four vector entries for the standard interrupt
and reset vectors will be all that is initially required to provide the necessary entry
points. You can also improve the readability of the disassembled output by
defining symbols for all known hardware addresses (e.g. PIA registers and other
ports).
Try modifying one of the supplied example symbol files to suit your application. It
is important that the correct processor type is specified using a cpu directive in the
symbol file (or by command line switch). The disassembler will not make much
sense of Z80 code if it thinks that the processor is a 6502!
Run the disassembler with code threading. This will identify all known areas of
code. Data and unknown areas will be listed as byte data rather than disassembled
into instruction mnemonics. Due to limitations of the code threading process (see
below) not all code areas may be identified. Any additional code entry points or
address vector tables can be added to the symbol file. Similarly, areas of byte,
word or string data that can be identified from examination of the disassembly
listing can also be recorded in the symbol file.
Using a repeated "disassemble, inspect listing, update symbol file" cycle a
comprehensive disassembly of an image can be built up quite quickly.
Finally, if you are satisfied that you have identified all main data areas, try
disassembling without code threading. This will help pick up areas of code that
may have been missed by the code threading and subsequent manual investigation
process.
Platform
DASMx
is a Win32 console application. This means that it is a 32-bit application
that requires Windows 95/98/Millenium or Windows NT/2000 to run. Typically,
you will run the disassembler from a DOS box command line.