NAME
ucdas - the Universal Cross Disassembler
SYNOPSIS
ucdas
DESCRIPTION
With ucdas you can disassemble portions of binary code for
several microcontrollers. The size of the binary code may
not exceed 32768 bytes.
Currently the following cpu's are supported: Z80, 68HC11 and
compatibles and the 8051.
The users may add some other CPUs by defining their opcodes
in a separate <cpu-brand>.dat file. The disassembled code
can be fed to the ucasm assembler in order to reassemble it.
ucdas has also the ability to download and to receive data
over the serial link so one can have an evaluation board or
similar connected to the PC. There is also a special mode
wich downloads another binary file (configurable) first
before the actual loaded file is transfered. This can be
used for example to program On-Chip-EEproms if the special
file has the code for programming in it.
ucdas starts with the disassemble window on the left hand
side and with a small serial monitor window on the right
hand side. It tries to load the last disassembled file. If
there was already some work done on this file a symbol file
containing the previously inserted labels is loaded. If the
<RETURN> key is pressed the binary code is disassembled from
the current adress to make one line of assembly source code.
Once the current position reaches the end of the binary file
disassembling restarts at position 0. In order to see all
self-inserted labels one has to have at least one pass over
the complete binary code. This can be done with the "P" Hot-
key (visible in the main menubar). A self-inserted label
depends on special marked opcodes which are described later
under the item "Format of <CPUFILE>.dat" and is formed from
the string "L_" and its hexadecimal adress.
The Menus
<F>ile
The popup menu for file operations cames up.
to be continued ..
<E>dit
Switches to patch mode. In patch mode the cursor can
only placed over a hexadecimal number in the current
visible text. Only '0'-'9' and 'A'-'F' keystrokes are
recognized in order to insert a hexadecimal number.
Pressing the <ESC> Key switches back to normal
disassembling mode.
to be continued ..
<O>ptions
The popup menu for some configurable features cames up.
to be continued ..
<L>abels
The popup for adding or editing Labels cames up.
to be continued ..
<T>erminal
switches to termional mode. In terminal mode the window
is horizontally tiled. All keystrokes are sent
instantly over the serial line and echoed (received)
chars are displayed in the upper window.
to be continued ..
<P>ass One
disassembles the binary code in a first pass without
displaying the results.
<C>lear
erase all previously assigned symbols and clears the
internal hashtables.
Format of .dat
to be continued ..
ENVIRONMENT
No environment variables are used
BUGS
1) The instructions AJMP and ACALL are interpreted incorrectly.
These instructions have 11-bit operands with bits 10..8 coming
from the TOP(High) 3 bits of the opcode. UCDAS takes bits 10..8
from the BOTTOM(Low) 3 bits of the opcode.
AUTHOR
Thomas Pantzer, pantec@aix520.informatik.uni-leipzig.de, 1992