home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
program
/
dasmblr
/
dis.doc
next >
Wrap
Text File
|
1988-06-12
|
7KB
|
168 lines
Instructions for DIS, a 68000 dissassembler
Version 2.20 - 5th June 1988
Introduction
DIS is a 68000 disassembler which is distributed as 'shareware'. You
can copy it to others freely provided that you do not modify it and
provided that they too abide by this condition. DIS is not in the
public domain and must not be sold for profit without the written
permission of the author. DIS has been tested fairly well but its
operation is not guaranteed in any way. No doubt bugs still remain and
if you find any please let me know of them and the circumstances in
which they occur.
Operation of DIS
On entry DIS displays a > prompt and awaits a command line which
consists of a letter followed by further parameters depending on the
command. Parameters are separated by either commas or blank spaces and
numeric inputs and outputs are normally in hexadecimal form. In the
following command descriptions 'x1', 'x2' etc. represent numeric number
parameters.
Command Function
I x1 x2 Disassemble Instructions from x1 to x2
B x1 x2 Disassemble data Bytes (8 bits) from x1 to x2
W x1 x2 Disassemble data Words (16 bits) from x1 to x2
L x1 x2 Disassemble Long words (32 bits) from x1 to x2
C x1 x2 Disassemble in Character format from x1 to x2
A x1 x2 Disassemble a table of Addresses from x1 to x2
E x1 x2 Output label Equates for address ouside range x1 to x2
J x1 x2 Compile labels (Jumps) from x1 to x2 into symbol table
F x1 x2 xx.. Find positions of hex sequence xx.. between x1 and x2
F x1 x2 "cc.." Find positions of the string "cc.." between x1 and x2
U x1 x2 Set range limits for disassembly
U Reset to initial range limits
M x1 Enter (Make) a symbol at address x1
O x1 Set an Offset value for disassembly at a different
execution address (enter execute address or prefix
x1 with + or - to set an actual offset value. This
command is for use with absolute labels as results
with relative labels can be confusing (the setting
of an execution address (ie. O without +/-) in the
relative label mode is not recommended. Note that
offset = memory_position - execution_position
Y x1 Set sYmbol form x1 = 0: short relative
x1 = 1: long relative
x1 = 2: long absolute
N x1 Disassembly control -- X1 can be a sum of the values 1,
2, 4 and 8 to produce the desired effect as follows:
x1 = 1: enter labels into the symbol table
x1 = 2: display internal labels in output
x1 = 4: display external labels in output
x1 = 8: use any symbols loaded with program
where internal and external labels reference addresses
inside and outside the program area respectively. The
program symbols will only be available if the program
contains a symbol table.
H+ H- Turn Hexadecimal code output on (+) or off (-) during
the disassembly of instructions
D+ D- Turn character code output on (+) or off (-) during the
disassembly of instructions
P program_name Load a Program for disassembly
P- Unload a Program (or image file)
R file_name Load (Read) a binary image file for disassembly
R- Unload a binary image file (or program)
S file_name Output (Save) disassembly from here onwards to a
specified file
S- Turn off saving and close output file
Q Output (Query) file name and range information
K Delete (Kill) all symbol table entries
X Exit
V Output Version/author information
T Compile an auto_disassembly control Table (see later)
T- Clear auto Table
G Run (Go) auto disassembly (see later)
When a program or image file is loaded and the relative label form
is set (Y = 0 or Y = 1) address values are relative to the start of the
file; when no program or file is loaded then relative labels take zero
as a base and are therefore effectively absolute. Input values will
either be absolute or relative depending on the value set by the Y
command. In relative input mode an absolute number can be input by
preceeding it with a '$' sign. If the second number of an input pair is
preceeded by a '+' sign the value input is added to the value of the
first parameter to form the second parameter. If a '*' is entered
instead of an input value then the current value of the relevant
parameter is used.
Pressing the SPACE bar during disassembly will pause the output;
pressing space again will resume output while any other key will return
to command mode. Pressing ESC during disassembly will return
immediately to command mode. During disassembly the x1 parameter is
continuously updated so that a stopped disassembly can be restarted
with using a * in the first parameter position. In number pair commands
if no second value is given then a convenient number of lines will be
disassembled to the screen. A RETURN entered at the > prompt will
repeat the previous command.
Automatic Disassembly
The T command allows a table to be input in the following form to
control dissassembly:
L1 x1
L2 x2
...
Ln xn
where Ln is one of the letters (I,B,W,L,C,A,X) and xn is a hexadecimal
number as normal. After a table has been input a G command starts
dissassembly. Each entry in the table is processed in turn with the
letter determining the type of dissassembly and the address indicating
where to start. The address for the next entry determines where
dissassembly finishes and restarts in a new form with the last entry
(an X) indicating the end of the process. When entering the table an
entry can be corrected by simply entering a new entry with the same
address value (or a Z with the same address if it is to be removed). To
end table input simply type a RETURN in response to the prompt. The
output can be saved if required by issuing an S command before and
after the G command.
Bug Reports and Contibutions to:
Brian Gladman
8 College Grove
Great Malvern
Worcs WR14 3HP
United Kingdom
Revision 4 (5th June 1988)
ə