File:  [CSRG BSD Unix] / 43BSDReno / share / doc / ucs / sumacc / ddt68.1
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:57 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43reno
BSD 4.3reno

.TH DDT68 1 MC68000
.SU
.SH NAME
ddt68, fddt68 \- symbolic debugger for 68000
.SH SYNOPSIS
.B fddt68
b.out
.br
.B cc68 ... -lddt (Sun)

.SH DESCRIPTION
.I fddt68
is a symbolic disassembler for b.out files created by the 68000 linker
(ld68). Its main purpose is to allow testing of ddt logic in a
more hospitable environment than the 68000.  It also gives a way of inspecting
the assembly language form of a program without having to produce a .s file.
In addition it gives a check on the operation of as68 and ld68.  It is called
by typing:
.sp
fddt68 
.I filename
.sp
on the Vax.
.PP
.I ddt68
is a symbolic debugger for the 68000.  It is loaded at link edit time with
the cc68 flag -lddt.  On starting a program with ddt loaded the user will be
at the ddt command level.  Breakpoints may be set, and the program started,
using the commands described below.
.SH COMMANDS
.I ddt68
recognizes the following commands (\fI$\fP is used for \fI<esc>\fP):
.TP
.IB expression /
.TP
.IB expression \e
open the location at \fIexpression\fP and display the contents in the
current typeout mode.  The user may then optionally type an expression, whose
value replaces the contents of the open location.  Finally the location is
\fIclosed\fP by typing one of \fIreturn\fP (to return to \fIddt\fP's main
command loop), \fI/\fP (to open the next location), or \fI\\\fP (to open the
previous location).
.TP
.IB expression $g
go - plant any breakpoints set with the \fI$b\fP command, load the registers,
and start execution at \fIexpression\fP. If \fIexpression\fP is unspecified
or zero, execution resumes starting from the current value of \fI$pc\fP
(normally the point where the program was last interrupted).
.TP
.IB expression $x
execute the next \fIexpression\fP instructions, starting from the current
value of \fI$pc\fP and printing out all executed instructions.  If
\fIexpression\fP is omitted, 1 is assumed.
.TP
.IB expression $$x
same as above except execute subroutine calls and traps as single instructions,
i.e. do not descend into the called subroutine.
.TP
.IB expression $p
proceed - like \fIgo\fP with no argument, except that if we are presently at
a breakpoint then \fIexpression\fP counts the number of times to pass this
breakpoint before breaking.  \fI1$p\fP is synonymous with \fI$g\fP.
.TP
.IB expression $ bno b
set breakpoint \fIbno\fP (in the range 1-9) at \fIexpression\fP.  If \fIbno\fP
is omitted the first unused breakpoint number is assigned (the commonest
usage).  If \fIexpression\fP is 0 the named breakpoint is cleared, or if there
is no named breakpoint (\fIbno\fP is omitted) all breakpoints are cleared.
If \fIexpression\fP is omitted all breakpoints are printed, whether or not
\fIbno\fP is present.
.TP
.BI $ rspec /
.TP
.BI $ rspec \e
examine register \fIrspec\fP where \fIrspec\fP is one of:
.RS
.TP
.B d0-d7
data registers 0-7
.TP
.B a0-a7
address registers 0-7
.TP
.B fp
frame pointer (synonym for \fIa6\fP)
.TP
.B sp
stack pointer (synonym for \fIa7\fP)
.TP
.B pc
program counter
.TP
.B sr
status register
.RE
.TP
.IB expression $=
type out \fIexpression\fP in current output radix.
.TP
.IB lowlimit < highlimit > pattern ?
search for \fIpattern\fP in the range \fIlowlimit\fP (inclusive) to
\fIhighlimit\fP (exclusive).
The pattern is interpreted as an object of the type in force as
the current typeout mode, with instructions and strings being treated as
2-byte words.  Objects are assumed to be aligned on word (2-byte)
boundaries except for 1-byte types and strings which are aligned on byte
boundaries.  A mask (set with the following command) determines how much of
the pattern is
significant in the search, except that if the pattern is a string constant a
separate mask matched to the length of the string is used.
The three arguments to the search command are
sticky; thus if \fIlowlimit<\fP (resp. \fIhighlimit\fP>) is omitted, the
most recent lowlimit (resp. highlimit) applies.  While \fIpattern\fP may be
omitted, the final ? may not be omitted.
.TP
.IB expression $m
set the search mask to \fIexpression\fP.  \fI-1$m\fP forces a complete match,
\fIf$m\fP checks only the low order 4 bits, \fI0$m\fP will make the search
pattern match anything.
.TP
.IB base $ir
set input radix to \fIbase\fP. (Note \fI10$i\fP can never change the radix.)
If \fIbase\fP is omitted hexadecimal is assumed.
.TP
.IB base $or
set output radix to \fIbase\fP.
If \fIbase\fP is omitted hexadecimal is assumed.
.TP
.BI $ type t
temporarily set typeout mode to \fItype\fP where \fItype\fP is one of:
.RS
.TP
.B <space>
deduce type from type of nearest symbol
.TP
.B c
type out bytes as ascii characters.
.TP
.B h
type out bytes in current output radix.
.TP
.B w
type out words in current radix.
.TP
.B l
type out longs in current radix.
.TP
.B s
type out strings in current radix.  (In this mode new values cannot be
entered.)
.TP
.B i
type out as 68000 symbolic instructions.  (In this mode only the first
two bytes of the opened location may be changed; the new value is typed in as
a numeric expression rather than as a symbolic instruction.)
.RE
The new typeout mode stays in effect until a \fIreturn\fP is typed.
.TP
.BI $$ type t
permanently set typeout mode to \fItype\fP.
.PP
An \fIexpression\fP is composed of symbols, numeric constants, string
constants, and the operators \fI+\fP,
\fI-\fP, and \fI|\fP representing 2's complement addition,
subtraction, and inclusive bitwise or.
Symbols are delimited by operators or \fI<esc>\fP.  A string constant has from
1 to 4 characters which are packed right justified into one long to form a
numeric constant; thus "did"=646A64.  String constants are particularly
useful in conjunction witht the search command for searching for a string.
The single character \fI.\fP (dot) as a symbol on its own represents
the address of the currently open memory location.
All operations are carried out using 32 bit arithmetic and evaluated
strictly left to right.
.SH AUTHORS
Jim Lawson and Vaughan Pratt

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.