Trailing-Edge
-
PDP-10 Archives
-
BB-J992D-SB_1984
-
ddt11.doc
There are 19 other files named ddt11.doc in the archive. Click here to see a list.
TOPS-10/TOPS-20 DDT11 Manual
AA-M494A-TK
January, 1982
ABSTRACT
The DDT11 program is a symbolic
debugging program that runs on TOPS-10
and TOPS-20, communicating with PDP-11
based front ends and remote nodes. This
manual describes how to use the DDT11
program.
TOPS-10 Version 7.01
TOPS-20 Version 4.0
DDT11 Version 5(51)
RSX-20F Version 15(54)
Digital Equipment Corporation . Maynard, Massachusetts
Page 2
First Printing, November 1980
Revised, January 1982
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that may appear in this document.
The software described in this document is furnished under a license
and may only be used or copied in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by DIGITAL or its affiliated companies.
Copyright C , 1980, 1982 Digital Equipment Corporation.
All Rights Reserved.
The postage-prepaid READER'S COMMENTS form on the last page of this
document requests the user's critical evaluation to assist us in
preparing future documentation.
The following are trademarks of Digital Equipment Corporation:
DEC DECnet IAS
DECUS DECsystem-10 MASSBUS
Digital Logo DECSYSTEM-20 PDT
PDP DECwriter RSTS
UNIBUS DIBOL RSX
VAX EduSystem VMS
VT
Page 3
1.0 CREATING A NODE-SPECIFIC DDT11 . . . . . . . . . . . 5
1.1 Loading Symbols For TOPS-10 Nodes . . . . . . . . 5
1.2 Loading Symbols For A RSX-20F Front End . . . . . 6
2.0 INITIAL DDT11 DIALOG . . . . . . . . . . . . . . . . 6
2.1 Accessing A Node . . . . . . . . . . . . . . . . . 7
2.1.1 To Examine An ANF-10 Node . . . . . . . . . . . 7
2.1.2 To Access A DN60 Node . . . . . . . . . . . . . 7
2.1.3 To Access The RSX-20F Front End . . . . . . . . 7
2.1.4 To Access A Non-Running Node . . . . . . . . . . 8
2.2 To Access Dump Files . . . . . . . . . . . . . . . 8
2.2.1 To Access Dumps From TOPS-10 Nodes . . . . . . . 8
2.2.2 To Access Dumps From RSX-20F . . . . . . . . . . 8
2.3 Switches For The Input Specification . . . . . . . 9
3.0 SETTING OUTPUT MODES . . . . . . . . . . . . . . . 10
4.0 USING DDT11 TO EXAMINE MEMORY . . . . . . . . . . 11
4.1 Moving The Location Pointer . . . . . . . . . . 12
4.2 Displaying The Contents Of A Location . . . . . 12
4.3 Searching For A Word . . . . . . . . . . . . . . 13
4.4 Using Masks To Search For Matches . . . . . . . 14
5.0 USING DDT11 TO DEPOSIT INTO MEMORY . . . . . . . . 14
6.0 STARTING EXECUTION . . . . . . . . . . . . . . . . 15
7.0 MONITORING A LOCATION . . . . . . . . . . . . . . 16
8.0 DUMPING MEMORY . . . . . . . . . . . . . . . . . . 16
9.0 USING SYMBOLS . . . . . . . . . . . . . . . . . . 17
9.1 Defining Symbols . . . . . . . . . . . . . . . . 17
9.2 Controlling Symbol Typeout . . . . . . . . . . . 17
9.3 Matching Symbols . . . . . . . . . . . . . . . . 18
9.4 Completing Partial Symbols . . . . . . . . . . . 18
10.0 USING COMMAND FILES IN DDT11 . . . . . . . . . . . 18
10.1 Command File Echoing . . . . . . . . . . . . . . 18
10.2 Using Macro-Style Arguments . . . . . . . . . . 19
10.3 Using Tags In Command Files . . . . . . . . . . 19
11.0 WRITING A BINARY FILE . . . . . . . . . . . . . . 20
APPENDIX A SUMMARY OF DDT11 COMMANDS
APPENDIX B USING DDT11 ON DN92 REMOTE STATIONS
Page 4
PREFACE
The DDT11 Program
The DDT11 program runs on TOPS-10 and TOPS-20 host systems, and is
customer-installed and customer-supported. DDT11 provides the
following functions for DC76, ANF-10, IBM communications, and RSX-20F
front ends and remote nodes. However, some functions are not provided
on all of the communications products and nodes. The following is a
list of the functions available using DDT11:
o Examine and deposit memory on a running node and branch to an
arbitrary location.
o Examine dumps.
o Examine and deposit in the system image file (for example, to
patch the system).
o Simulate the console terminal, and execution of PDP-11
instructions and the clock functions. The core image can be
obtained from any system image file or dump file.
Instructions can be executed in a free-running mode or one
instruction at a time.
DDT11 runs only on a TOPS-10 or TOPS-20 host system, and input and
output are directed to/from your controlling terminal, unless you
specify otherwise.
Although this manual reflects version 5 of DDT11, it is sufficient for
use of any later versions, because DDT11 is upward-compatible.
This Manual
The DDT11 Manual is intended to provide information for the moderately
to very experienced user of the TOPS-10 or TOPS-20 system. In
addition, the reader should be familiar with the configuration of the
system network, including both the software and hardware of front ends
and remote stations.
The purpose of this manual is twofold: first, to introduce DDT11 to
users who have never used DDT11 before, and second, to bring obscure
and new information to users experienced with DDT11. Therefore, the
descriptions in this manual are organized both functionally and in
reference format. However, it is recommended that you become familiar
with the standard DDT before you attempt to use DDT11.
Page 5
CONVENTIONS USED IN THIS MANUAL
The following notations are used in this manual:
<ESC> Indicates a place where you should press the ESCAPE key.
<CTRL/x> Indicates a place where you should hold the CTRL key and
press the character indicated by x.
<LF> Indicates a place where you should press the line-feed key.
<RET> Indicates a place where you should press the RETURN key.
DOCUMENTS REFERENCED IN THIS MANUAL
Users of DDT11 should be familiar with, and have access to, one of the
following manuals. Choose the manual appropriate to the
communications you will be working with.
TOPS-10 Networks Software Installation Guide AA-5156E-TB
TOPS-10/TOPS-20 RSX-20F System Reference Manual AA-H352B-TK
TOPS-10 IBM Emulation/Termination DN61: 2780/3780 AA-D612A-TB
TOPS-20 IBM Emulation/Termination AA-5095B-TM
TOPS-10 Users Guide AA-4179C-TM
TOPS-10 Operating System Commands Manual AA-0196D-TB
TOPS-10 Utilities Manual AA-0998A-TB
(In particular, the section on DDT)
Page 6
1.0 CREATING A NODE-SPECIFIC DDT11
Before you can use DDT11 to examine and debug a specific node, you
must create a version of DDT11 that contains both the standard PDP-11
symbols and the symbols specific to the software that is running on
the node in question.
The standard PDP-11 and PDP-8 assembly operation codes are defined as
symbols in DDT11. You can define additional symbols by loading them
with DDT11 from appropriate symbol files. The following sections
describe this procedure for both the TOPS-10 based nodes, and for the
RSX-20F front end.
1.1 Loading Symbols For TOPS-10 Nodes
You can use the following command sequence to generate a DDT11.EXE
file that contains symbols that are specific to the node. Note that
the RSX-20F front end is discussed in following section of this
manual.
The first step to loading node-specific symbols is to start DDT11 and
to load the symbol file that you previously created with MACDLX. This
procedure is described in the TOPS-10 Networks Software Installation
Guide.
To create a node-specific copy of DDT11, you must first run a standard
copy of DDT11. The following examples show the procedure for loading
symbols that are specific to the software generated for a DN82 node
with a node number of 22, on a TOPS-10 host system. The file name
shown here is, of course, specific to this case. You must specify the
file that was the CREF output file from MACDLX. Therefore, the
default file extension for this file is .CRF. In this example, the
file name is DN8222.CRF.
.R DDT11 ;load a standard copy of DDT11
DDT11 5(22) ;DDT11 identifies itself
Input: DN8222/SYMBOL ;load symbols from the file DN8222.CRF
;note that you must use the /SYMBOL switch
loaded nn symbols ;DDT11 tells you how many symbols were loaded
Input: <CTRL/Z> ;exit DDT11
EXIT ;DDT11 signs off
This sequence loads the specific symbols with the standard symbols in
DDT11. When DDT11 requests another input file, press <CTRL/Z> to exit
from DDT11.
You must now save the loaded program by using the SAVE command:
.SAVE DN8222 ;name and save the node-specific DDT11
DN8222 saved ;DN8222.EXE is saved
. ;TOPS-10 prompt
Page 7
1.2 Loading Symbols For A RSX-20F Front End
The RSX-20F front end also contains specific symbols, which must be
loaded into DDT11. However, the symbol file is distributed with the
front end software as RSX20F.MAP. Therefore, you should specify this
symbol file when loading the symbols. (Note that this example shows
the process as accomplished on a TOPS-20 host system.)
@DDT11 ;load a standard copy of DDT11
DDT11 5(22) ;DDT11 identifies itself
Input: RSX20F/FESYM ;load symbols from the front-end file
;note that you must use the /FESYM switch
loaded nn symbols ;DDT11 tells you how many symbols were loaded
Input: <CTRL/Z> ;exit DDT11
EXIT ;DDT11 signs off
The RSX-20F symbols are now loaded with the standard DDT11 symbols.
It is important that you specify the /FESYM switch after the filename.
Now you must save the loaded DDT11, using the monitor SAVE command:
@SAVE RSX20F ;name and save the node-specific DDT11
RSX20F saved ;RSX20F.EXE is saved
@ ;TOPS-20 prompt
2.0 INITIAL DDT11 DIALOG
You can use DDT11 to examine a running node, deposit instructions into
the running node, or examine dumps from the node. In any case, you
must start the specific DDT11 that you created in the previous
section. To start the node-specific DDT11, use the system RUN
command, with the name of the program that you created with the SAVE
command.
For example, to start the DDT11 for the DN82, as in the first example
in the previous section, type:
.RUN DN8222<RET>
DDT11 will print one line identifying itself by version number and
specifying the cross-reference file it was generated from. The
response to the above command would be:
DDT11 5(22) = DN8222/ SYMBOLS = DSK:DN8222.LST 14:14 13-JAN-82
DDT11 then asks you what you want to look at with the prompt:
Input:
Your response to the input prompt is determined by the function you
want to perform. If you want to examine/deposit a running node, you
must supply a node identification here. If you want to examine a dump
or system image file, you must supply the file specification here.
Page 8
2.1 Accessing A Node
To examine a running node, you must first access that node. To access
the node, you must respond to the Input: prompt by specifying the
node or port number for the node. This is determined by the
communications software that is running on the node. You must have
privileges to examine a running node or front end.
2.1.1 To Examine An ANF-10 Node - You can specify an ANF-10 node by
typing the /NODE:node-id switch in response to the Input: prompt.
For example, the following is used to examine node 82, which was used
in previous examples:
.R DN8222<RET>
DDT11 5(61) = DN8222/ SYMBOLS = DSK:DN8222.LST 12:03 01-JAN-82
Input:/NODE:82<RET>
The /NODE switch provides sufficient node specification for all ANF-10
nodes except the DN87 connected to TOPS-10 through the DL10.
Therefore, the DL10/DN87 node is discussed in the following section.
If you intend to deposit into the node, you must include the /PATCH
switch on the input line.
2.1.2 To Access A DN60 Node - To examine nodes that are running DN6x
software (any software in the DN60 line), or a DN87 node connected to
the host through a DL10, you must specify the /PORT switch, instead of
the /NODE switch. The port specification is the number of the port
through which the node communicates with the TOPS-10 host system. The
following example shows how such a node is specified:
.R DN60<RET>
DDT11 5(61) = DN60/ SYMBOLS = DSK:DN60.LST 18:12 10-DEC-81
Input:/PORT:5<RET>
To enable writing to the node, be sure to include the /PATCH switch in
the input specification.
2.1.3 To Access The RSX-20F Front End - You can examine the RSX-20F
front end by typing the /FE switch for the input specification. The
switch /FE:n requires that you include the CPU number (n). For
TOPS-20 systems, n will always be 0. For TOPS-10 systems, n is the
number of the CPU to which the front end is connected. The following
example shows the procedure for examining a front end from a TOPS-20
host system:
@RSX20F<RET>
DDT11 5(61) = RSX20F/SYMBOLS = FE:RSX20F.MAP[1,8] 7:18 16-SEP-81
Input:/FE:0<RET>
If you wish to deposit into the memory of the front end, include the
/PATCH switch on the same line as /FESYMB.
Page 9
2.1.4 To Access A Non-Running Node - You can use DDT11 to look at the
memory of a node that is not running network software, but is running
only the down-line load ROM. To examine such a node, use the /NODE
switch to specify a running node that is adjacent to the non-running
node in the network. Include the /LINE switch in the input
specification. Use /LINE to indicate the line in the running node to
which the non-running node is connected. In the following example, to
examine node 41 from the TOPS-10 host, you must specify node 31. In
node 31, line 12 is connected to node 41. The input line would look
like this:
Input:/NODE:31/LINE:12
2.2 To Access Dump Files
To examine a dump from one of the nodes, you must specify the dump
file specification instead of the node specification. This file name
must consist of 6 characters or less, and if the file does not exist
in the area that you are logged into, must include the PPN of the
user's area where the file exists.
2.2.1 To Access Dumps From TOPS-10 Nodes - To examine a dump from a
TOPS-10 node, run the node-specific DDT11 that was built for the node.
For input, specify the file name of the dump file. The default file
extension is .LSD. The following example shows how a dump file might
be read by a node-specific version of DDT11:
.R DN8222 ;Run the node-specific DDT11
DDT11 5(61) = DN60/ SYMBOLS = DSK:DN60.LST 10:05 15-OCT-81
Input:DN8222 ;File name of dump file
2.2.2 To Access Dumps From RSX-20F - You can look at a dump from
RSX-20F using the same procedure, but specify the RSX-20F version of
DDT11, and the RSX-20F dump file. Remember to rename the dump file to
have a file name of six characters or less. Also, be sure to specify
the extension, if different from .LSD.
NOTE
A TOPS-20 file must be specified by a
PPN, if it does not exist in the area
that you are logged into. Therefore,
use the TRANSLATE command to obtain the
PPN for the file specification. Refer
to the TOPS-20 User's Guide.
Finally, you must specify the /DTELDR switch after the filespec of the
dump file from RSX-20F.
The following example shows the dialog used to initiate examination of
a dump file from a RSX-20F front end.
Page 10
@RSX20F.EXE ;Run the specific version of DDT11
DDT11 5(61) = RSX20F/SYMBOLS = FE:RSX20F.MAP[1,8] 7:18 16-SEP-81
Input:DUMP11.BIN/DTELDR ;Type the dump file name
In this example, the node-specific version of DDT11 is named
RSX20F.EXE. The dump file had been renamed to DUMP11.BIN.
NOTE
When you specify a file as input to
DDT11, as described in Section ?, the
file is loaded into memory. You can
perform the same functions on a file as
you would perform on a running node.
Therefore, for the purposes of this
manual, "memory" describes the memory
you are working with, whether a running
system or a previously loaded file.
2.3 Switches For The Input Specification
The following is a list of all the switches that you can use in the
input specification:
/11 The same as /PDP11.
/8 The same as /PDP8.
/BINARY Reads the file as binary.
/CORE:nK Allocates the specified amount of core to read a dump or
binary file.
/DTELDR Reads the file as a DTELDR dump. This switch is used when
looking at a RSX-20F dump.
/DUMP Reads the file as a dump.
/FE:n Indicates that the node is an RSX-20F front end. The value
n is the number of the CPU to which the front end is
connected. On TOPS-20, n is always 0.
/FESYMB:n
Loads symbols from a listing file for the RSX-20F front
end. The value of n is the disk block number from which to
begin loading symbols. The disk block number is optional.
/GO Uses the core image saved with the DDT11 program.
/LA36 Defines your terminal to be a hardcopy terminal. This
affects echo of deleted characters. Refer to Section 1 for
more information.
/LINE:n Specifies the line number on a running node of a remote
node that you want to examine. (Refer to Section 3.4 for
more information.)
Page 11
/LOCK Locks DDT11 in core (TOPS-10 only).
/LSD Same as /DUMP.
/MERGE Reads a new dump and appends it to the existing dump file.
/NODE:node-id
Specifies the node that you wish to examine. The node-id
can be a node name or node number.
/PATCH Enables deposits. You must have privileges to deposit into
a running node.
/PDP11 Uses only PDP-11 symbols. This is the default setting.
/PDP8 Uses only PDP-8 symbols. You must specify this switch when
you examine a PDP-8 node (that is, a DN92).
/PORT:n Specifies the port number of the node you wish to examine.
/RELOCA:sym
Adds an offset to symbols loaded from a RSX-20F dump, where
sym is the offset symbol.
/SYMBOL:n
Loads symbols froma CREF listing file starting at n where n
is the disk block number. The disk block number is
optional.
/UBA:n Specifies the UBA when running standalone on a KS10, where
n is the UBA number of the node.
/VT52 Defines your terminal to be a video terminal. This affects
echo of deleted characters. Refer to Section 1 for more
information.
3.0 SETTING OUTPUT MODES
DDT11 output can take the form of instructions, numbers, bytes, ASCII
text, or addresses. You can control the output in either temporary or
permanent mode. Temporary mode exists until you press the RETURN key.
Permanent mode exists until you change it with a new mode instruction.
Numeric information can be displayed in any numeric radix from 2
(binary) through 16 (hexadecimal). The default radix is octal. To
set the numeric radix temporarily, type:
<ESC>nR Where n is the temporary radix number.
To set the radix in permanent mode, type:
<ESC><ESC>nR Where n is the permanent radix number.
You can control the format of output to your terminal by using the
following commands. If n is present, it must be entered as an octal
number, a decimal number (identified by a decimal point or "8" or "9"
within the number), or an expression enclosed by parentheses such as
(3*3). The default format is Instruction format.
<ESC>nA Sets Absolute address format in temporary mode.
In this mode, the address field (right half) of
each word is typed out in absolute numeric form.
Page 12
Each typeout will consist of n addresses. If you
omit n, the default is one address.
<ESC><ESC>nA Sets Address format in permanent mode.
<ESC>nB Sets Byte format in temporary mode. The two bytes
in the word will be switched, interpreted, and the
result displayed in numeric. Each typeout will
consist of n bytes. If you omit n, the default is
two bytes.
<ESC><ESC>nB Sets Byte format in permanent mode.
<ESC>nC Sets Current format in temporary mode. Numeric
word format will be displayed in the current
radix. Each typeout will consist of n words. If
you omit n, the default is one word.
<ESC><ESC>nC Sets Current format in permanent mode.
<ESC>nI Sets IBM format in temporary mode. Each typeout
will consist of n EBCDIC bytes. If you omit n,
the default is two bytes.
<ESC><ESC>nI Sets IBM format in permanent mode.
<ESC>nS Sets Symbolic format in temporary mode. The
typeout will consist of instructions of one, two,
or three words, depending on the type of
instruction. The variable n specifies the number
of instructions per typeout. If you omit n, the
default is one instruction.
<ESC><ESC>nS Sets Symbolic format in permanent mode.
<ESC>nT Sets Text format in temporary mode. Each typeout
will consist of n ASCII characters. If you omit
n, the default is two characters.
<ESC><ESC>nT Sets Text format in permanent mode.
4.0 USING DDT11 TO EXAMINE MEMORY
After starting the appropriate node-specific DDT11, you can examine
the dump file or the running node. Your response to the Input:
prompt determines which function you wish to perform (refer to Section
?). After you specify the node or dump file, DDT11 is ready for your
use.
As you use DDT11, your terminal input and output from the program take
place at a defined location in memory. This location is designated by
the location pointer. The location pointer is an invisible mark in
memory from which DDT11 will output text at your request, and where
your changes are deposited.
Page 13
4.1 Moving The Location Pointer
Each address in memory designates a location. DDT11 allows you to
examine one location at a time on your terminal. You can access the
locations in memory that you wish to examine or change by moving the
location pointer to that location, and by opening the location. When
a location is "open," you can examine or change its contents.
When you first start DDT11, the location pointer is set to location 0.
To move the location pointer to another location, type the octal
address of that location, or the symbolic expression in the program,
followed by a backslash (/). This action moves the pointer, opens the
location, and displays the contents of the location. For example:
3001/ ;type this to move to location 3001
or
REV0/ ;type this to move to REV0
When you type /, DDT11 will open the location and display its contents
on your terminal.
After you reach the desired location, you can move your location
pointer to the adjacent locations. Press the line-feed key <LF> to
move to the next location, open it and display its contents. Press
the up-arrow (^), or circumflex, to move to the next location, open
it, and display its contents. The uparrow is echoed on your terminal.
NOTE
PDP-11 instructions can be 1, 2, or 3
words long (2, 4, or 6 bytes). A
line-feed given in Symbolic format
(<ESC>S) will display the next
succeeding instruction regardless of the
length of the instruction. The up-arrow
will move to the previous address and
try to interpret that as an instruction.
In all other formats, line-feed moves
down n bytes and up-arrow moves up n
bytes. (See Section 4.)
4.2 Displaying The Contents Of A Location
You can see the current location in any one of various modes, by
typing one of the following:
. ;displays the address of the current location
addr[ ;opens and displays the location in octal numbers.
; ;opens and displays the location in current typeout
mode
_ ;opens and displays the location as an instruction
Page 14
= ;opens and displays the location in current numeric
radix
The backslash (/) is used after many DDT11 commands, to display the
contents of the location.
Many instructions indicate movement to another part of the program.
Such instructions may contain a branching statement, or a reference to
another location. To move the location pointer to a subroutine or
referenced address, press <TAB> at that location. For example:
3001/ BR 1466<TAB> ;display current location and
press <TAB>
1466 RESET ;DDT11 moves to location of BR
and displays contents
If the <TAB> key is used on other than a branch instruction, DDT11
sets the
location pointer to the address specified by the last quantity in the
current
location (whether it was DDT11 typeout or input), and will move to
that
location.
Once at the routine that you branched to, you can move back to the
location
at which you pressed <TAB. by pressing <ESC> followed by a RETURN.
Pressing <ESC> before a circumflex (^) moves back to the location, and
then moves to the previous location and displays its contents. Press
<ESC>
followed by <LF> to move back and then move to the next location.
4.3 Searching For A Word
DDT11 has a search facility that will scan a specified area in memory
for either a match or a no-match condition on a 16-bit search
argument. The formats of the two commands are as follows:
loaddr<hiaddr>string <ESC>W ;for a match
loaddr<hiaddr>string <ESC>N ;for no match
Where:
loaddr is the lower limit of the search area.
<hiaddr> is the upper limit of the search area.
string is the search argument (the word to be searched
for).
<ESC>W is the DDT11 command to search for all words that
match the search argument.
<ESC>N is the DDT11 command to search for all words that
do not match the search argument.
If you do not specify search limits, the previous limits are used.
The default limits are zero when examining a running node. When
reading a dump file, the default limits are the entire file.
Page 15
4.4 Using Masks To Search For Matches
It is possible to specify a partial string, which DDT11 can use to
find matches on that string. DDT11 uses a mask facility to provide
for the matching of specific bits in a word. The initial value of the
mask is 177777 (match on all bits). To change the mask, enter the
following:
<ESC>M/ 177777 newmask<RET>
Where:
<ESC>M/ is the DDT11 command to display the current mask.
177777 is DDT11's reply (the current mask, displayed in
octal).
newmask is the new mask to be in effect.
For example, to perform a search that matches only on the right half
of a word (bits 7 through 0), set the mask equal to 377. A match on
only the left half of a word, bits 15 through 8, would require a mask
of 177400.
5.0 USING DDT11 TO DEPOSIT INTO MEMORY
To patch a program that is running in a node or make changes to a
binary file residing in auxiliary storage, run the node-specific
DDT11. Note that to patch a running node you must have privileges,
and you must specify the /PATCH switch on the input specification
line. Use the examine functions to locate and open the location to be
patched. For example, the following examine entry displays location
3314. (DDT11 is in numeric single-word typeout mode.)
3314/ 12737
The location pointer is now set to 3314. If you now enter an octal or
symbolic value followed by <RET>, <LF>, or ^, the contents of 3314
will be replaced by this new value.
If you enter an octal number consisting of more than 16 bits, only the
rightmost 16 bits will be deposited.
To enter ASCII text, type a double quote ("), followed by a character
to serve as a delimiter. Then type the string of characters, and
repeat the delimiter. Each character is stored as 7 bits plus a zero
parity bit. The string is stored at the current location.
To type in multiple words or expressions, separate them with commas.
You can use any of the following expression operators:
+ addition
- subtraction
multiplication
' division
! inclusive OR
Page 16
& and
<space> usually equivalent to +
<CTRL/X> exclusive OR
Operators are performed in the following order:
1. Logical operations (from left to right)
2. Multiplication and division (from left to right)
3. Addition and subtraction (from left to right)
During typein, you can use any of the following before you press
RETURN, to edit the input line:
DELETE Deletes the previously typed character.
NOTE
The DELETE key echoes differently,
depending on the type of terminal you are
using and the type you have specified
(with either /LA36 or /VT52). If a
hardcopy terminal, DELETE echoes the
deleted characters between slashes. If a
display terminal, DELETE erases the
deleted characters from the screen.
<CTRL/W> Deletes the previous expression (refer to your
system commands manual for more detail).
<CTRL/U> Deletes the whole input line and rings the bell.
<CTRL/R> Reprints the input line.
6.0 STARTING EXECUTION
When you are finished examining and writing into memory, you can start
execution with the <ESC>G command. You can specify an address or
symbol in front of <ESC>G to start execution at that point. If you do
not specify a starting location, execution starts at the current
location. For example:
FOO<ESC>G ;where FOO is the symbol to start at
To simulate execution of a single instruction, use the <ESC>X command.
As in <ESC>G, you can type an address or symbol in front of <ESC>X to
specify the location. To specify the number of instructions to
execute, type the number of instructions between <ESC> and X.
To execute a call to a subroutine, type <ESC><ESC>X. Execution will
continue until it returns to the main program.
Page 17
7.0 MONITORING A LOCATION
When you are examining a running node, it may be useful to monitor a
particular location for changes. The <ESC>V command can be used to
display the contents of an opened location when the contents change.
For example, to open location FRECNT and monitor its contents, enter:
<ESC>C FRECNT/ 141 <ESC>V
DDT11 will then display each observed change in contents as:
FRECNT/ 143
FRECNT/ 141
FRECNT/ 142
FRECNT/ 145
FRECNT/ 141
.
.
.
To end monitoring, type any character.
NOTE
If changes are occurring rapidly, some
may not be detected.
The masking feature of the search function (refer to Section ?) is
also active during the monitor function. If the initial mask value is
in effect (177777), the monitored location is displayed when any of
the 16 bits changes. If, for example, you want to monitor a change in
bit 12 of some status word, set the mask as follows:
<ESC>M/ oldmask 10000<RET>
Where:
<ESC>M/ is the command to display the current mask and set
the location pointer.
oldmask is the current mask displayed by DDT11.
10000 is the new mask with only bit 12 set on.
8.0 DUMPING MEMORY
Occasionally, it is desirable to dump portions of memory to a line
printer or a disk file. Use the <ESC>D command to initiate a dump and
set the dump limits with the following command:
loaddr<hiaddr><ESC>D
Where:
loaddr is the lowest address to be dumped.
<hiaddr> is the highest address to be dumped.
<ESC>D is the dump command.
Page 18
DDT11 will then prompt you for a file specification:
FILE:
Enter a file name and extension. If you omit the extension, the
default is .LSD.
When the file specification is accepted by DDT11, the file is opened,
the dump is recorded, and the file is then closed. Therefore, each
range of memory locations that is dumped is recorded in a separate
dump file.
If a file of the same name already exists, the new dump will be
appended to the old dump. If the dump is part of a command file, the
device specification for the command file will be used for the dump
file.
The current output format is used for output. To create a file that
looks like an assembly listing, use the /DISASSEMBLE switch after the
dump file name.
9.0 USING SYMBOLS
DDT11 always has the standard PDP-11 instructions defined as symbols.
The current location pointer may be referred to with the period (.).
The last word output by DDT11 or input to DDT11 may be referenced with
the command <ESC>Q. For example:
2002/ MOV 6(R5),@(R5)+ <ESC>Q=6
2020/ BR 1466 <ESC>Q=622
9.1 Defining Symbols
You can define a symbol with a value equal to the current location
counter by typing the new symbol and terminating it with a colon (:).
For example:
5570/ RESET START:
You can also directly assign a value to a symbol by typing the value,
a left angle bracket (<) and the symbol, terminated by a colon. For
example:
105<Q:
9.2 Controlling Symbol Typeout
Type <ESC>K if you wish to make the last symbol typed (by you or
DDT11) unavailable for typeout from DDT11. You can also remove
symbols from the DDT11 symbol table by typing <ESC><ESC>K.
Page 19
9.3 Matching Symbols
If you type a question mark (?) when entering a symbol, DDT11 will
search its symbol table for partial matches. A partial match is any
symbol that begins the same as the partially typed-in symbol. If any
partial matches are discovered, DDT11 will type:
following are partial matches
DDT11 will then type all of the partial matches and their values in
the current output radix. If the symbols are suppressed, the value
will be followed by:
spd
If no symbols match the partially typed symbol, DDT11 will respond:
no partial matches for symbol
After displaying the partial matches, DDT11 will retype the input and
you can continue typing your symbol.
9.4 Completing Partial Symbols
If you type <CTRL/F> with a symbol, DDT11 will search for partial
symbol matches. DDT11 will then add as many unambiguous characters as
it can to the typed-in symbol. If the symbol has no matches, DDT11
will give a bell response. If the symbol is not ambiguous, DDT11 will
fill in the unambiguous portion (if any) and then give a bell
response.
For example, you type:
FO<CTRL/F>
DDT11 will search its symbol tables for symbols beginning with FO. If
it finds only FOOP, it will complete the symbol for you by finishing
it with OP, and then it will give the bell signal.
If, however, DDT11 knows the symbols FOOP and FOO1, it will add one
"O" and then give a bell response, because the symbol is ambiguous.
10.0 USING COMMAND FILES IN DDT11
You can use a command file as input to DDT11. To start a command
file, type the <ESC>Y command. After you type <ESC>Y, DDT11 will ask
where to log responses. You may type a file name for the log file, or
TTY: to see output on your terminal. Then DDT11 prints the FILE:
prompt. Here, you should type the name of the command file.
10.1 Command File Echoing
Usually, as characters are read from a command file, they are echoed
into the log file. If a CTRL/S is encountered in the command file,
echoing will be suspended until a CTRL/Q is encountered.
Page 20
10.2 Using Macro-Style Arguments
During the execution of command files, CTRL/A is used to delimit
symbols whose values are to be converted to ASCII text. For example,
if the symbol FOO has a value of 13, and if the command file contains
the string:
L<CTRL/A>FOO<CTRL/A>BLK
the string will be processed as if it were:
L13BLK
10.3 Using Tags In Command Files
Command files may contain tags. Tags are of the form:
%tag:
Where tag is an alphanumeric string.
The first character after the percent sign (%) should be alphabetic.
Only the first five alphanumeric characters are used. Be careful when
you choose tag names. A text input string with a percent sign might
be confused with a tag elsewhere in the file.
Command files may contain unconditional branches by including %GOTO
%TAG commands. The %TAG may be anywhere in the command file.
Conditional branches may be included in the command files. For
numeric tests, the expression is a general expression. For DEF or
NDF, the expression is a single symbol name. If the condition is
true, control will be transferred to %TAG. The conditions which can
be tested for are:
DEF The symbol is tested for existence.
DF Same as DEF.
E Same as EQ.
Expression is tested for a zero value.
ERR Tests and clears the error flag. The error flag is set if
an undefined symbol is used in an expression, or if an
illegal command is typed.
G Same as GT.
GE The expression is tested for a positive value.
GT The expression is tested for a positive, nonzero value.
N Same as NE.
NDF The symbol is tested for nonexistence.
NE The expression is tested for a nonzero value.
L Same as LT.
Page 21
LE The expression is tested for a zero or negative value.
LT The expression is tested for a negative value.
11.0 WRITING A BINARY FILE
After DDT11 has read in a binary file, the <ESC>P command can be used
to write another binary file. Switches may accompany the file
specification. Legal switches include:
/BM873 To indicate tape wanted for punching a BM873 ROM.
/IMAGE To PIP a file to a PTP with /I.
/M9301 To make a tape for a M9301 ROM.
/PACKED To make a packed binary file suitable for BOOT11 or NETLDR.
This is the default switch.
APPENDIX A
SUMMARY OF DDT11 COMMANDS
The following table contains all the commands (characters and escape
sequences) that are significant to DDT11. The first column of Table
A-1 shows the command character, the second column shows the section
of the manual where the command is described, if applicable, and the
the final column contains a brief description of the function of each
command.
Section
Character Reference Function
<CTRL/A> 14 In command files, delimits symbols
whose values are to be converted to
ASCII text.
<CTRL/C> System command to return to System.
<CTRL/F> 14 Requests DDT11 to type in the rest of
the symbolic name (if unique).
Backspace 10 Same as DELETE.
<TAB> 8 If currently at a branching
instruction, displays the branch
routine.
<LF> 8 Displays the next sequential
instruction.
<RET> 8 Stores a value (if any) in the open
location and then closes it.
<CTRL/N> Stores the new value (if any).
<CTRL/O> System command to shut off typeout.
<CTRL/Q> System command to resume output;
also, within a command file, <CTRL/Q>
resumes logging.
<CTRL/R> 6 System command to retype a partial
command.
<CTRL/S> System command to pause output; also
within a command file, <CTRL/S> stops
logging.
<CTRL/T> System command to force USESTAT
command (if RTCOMP is not set),
otherwise, <CTRL/T> is illegal.
SUMMARY OF DDT11 COMMANDS Page A-2
Section
Character Reference Significance in DDT11
<CTRL/U> 6 System command to delete current
typein.
<CTRL/W> 6 System command to delete last word in
typein.
<CTRL/X> 6 Logical exclusive OR operator.
<CTRL/Z> 1 Requests DDT11 to clean up and exit
to the operating system.
<ESC> 33 Meaning depends on next character.
<SPACE> 6 Between symbolic names, same as "+".
! 6 Logical inclusive OR operator.
" 6 Initiates text typein.
# In instruction typein, denotes
immediate mode.
$ (The dollar sign character) forms
symbolic names.
%tag: 15 Denotes a tag in a command file.
& 6 Logical AND operator.
' 6 Division operator.
( Symbol for start-of-index register.
) Symbol for end-of-index register.
* 6 Multiplication operator.
+ 6 Addition operator.
, 6 Separator for multiword expressions.
- 6 Subtraction operator.
. 8 If used alone, stands for current
location pointer; otherwise, stands
for a character in a symbolic name.
addr/ 8 Moves pointer to specified location
and prints contents.
0-7 Octal digit. Used either as a
character in a symbolic name, or as a
character in an octal or decimal
number.
SUMMARY OF DDT11 COMMANDS Page A-3
Section
Character Reference Significance in DDT11
8-9 Used either as a character in a
symbolic name, or as character in a
decimal number.
; 8 Displays current location in current
mode.
val<symb 14 Assigns the value (val) to the symbol
(symb).
= 8 Retypes previous input or output in
current radix.
loaddr<hiaddr> 9 Defines the lower and upper limits
for a search, dump, or output.
? 14 Prints a list of symbols that match.
@ Identifies address as indirect.
addr[ 8 Moves pointer to specified location
and prints its contents in numeric
mode.
\ Deposits an expression (if any) and
opens the new location without
changing the position of the location
pointer.
^ 8 Moves pointer to previous location
and prints its contents.
_ 8 Prints contents of location as
instruction.
<DELETE> 6 Deletes the previous character that
you typed. (Also known as RUBOUT.)
<ESC><LF> 8 Returns pointer to location before
<TAB> and prints contents of next
location.
<ESC><RET> 8 Returns pointer to location before
<TAB> and prints contents of the
location.
<ESC>nA 7 Sets Address format for typeout in
temporary mode.
<ESC><ESC>nA 7 Sets Address format in permanent
mode.
<ESC>nB 7 Sets Byte format for typeout in
temporary mode.
<ESC><ESC>nB 7 Sets Byte format in permanent mode.
<ESC>nC 7 Sets Current word format for typeout
in temporary mode.
<ESC><ESC>nC 7 Sets Current word format in permanent
SUMMARY OF DDT11 COMMANDS Page A-4
mode.
<ESC>D 12 Dumps memory to a disk file.
<ESC>G 13 Starts execution.
SUMMARY OF DDT11 COMMANDS Page A-5
Section
Character Reference Significance in DDT11
<ESC>nI 7 Sets IBM format for typeout in
temporary mode.
<ESC><ESC>nI 7 Sets IBM format in permanent mode.
<ESC>K 14 Makes previously referenced symbol
unavailable for output.
<ESC><ESC>K 14 Removes previously referenced symbol
from symbol table.
<ESC>M 9 Displays the current mask.
<ESC>N 9 Searches for words that do not match
the string that you specified.
<ESC>P 16 Punches a binary file on paper tape.
<ESC>Q 14 Types out the last word referenced.
<ESC>nR 7 Sets numeric radix for typeout in
temporary mode
<ESC><ESC>nR 7 Sets numeric radix in permanent mode.
<ESC>nS 7 Sets Symbolic format for typeout in
temporary mode.
<ESC><ESC>nS 7 Sets Symbolic format in permanent
mode.
<ESC>nT 7 Sets Text format for typeout in
temporary mode.
<ESC><ESC>nT 7 Sets Text format in permanent mode.
<ESC>V 10 Types out the current location every
time its contents change.
<ESC>W 9 Searches for words that match the
string you specified.
<ESC>X 17 Executes a single instruction.
<ESC><ESC>X 17 Executes a subroutine call.
<ESC>Y 15 Starts a command file.
<ESC>^ 8 Returns pointer to location before
<TAB> and prints contents of previous
location.
APPENDIX B
USING DDT11 ON DN92 REMOTE STATIONS
DDT11 can be used to examine a running PDP-8 node such as the DN92
node and the dumps of a DC72 node. DDT11 can also be used to examine
a non-running DN92 node if it is in its bootstrap ROM and if it is
next to a running node.
The restrictions to using DDT11 on PDP-8 nodes are:
o DDT11 cannot use some older PAL-10 listing files for
symbol-referencing.
o DDT11 cannot use some symbols since they overlap across PDP-8
fields.
o DDT11 requires that you shift the left six bits of the PDP-8
value two bits to the left when depositing a value into a
DN92 node. For instance to store 1234, type 5034.
In Example 1, the DDT11 is used to examine a running DN92 (node 24).
The /PDP8 switch must be given to identify that a PDP-8 is being
examined.
.RUN DDT92 ;run DDT11 with DN92 symbols
DDT11 5(22) = DDT92
Input:/NODE:24/PDP8
NODE10 NODE40 NODE24
+--------------+ +-------+ +-----+
| | | | 0 +---+ +---+ 0 | |
| TOPS-10 |--| DN87S |---| M |--...-| M |---| DN92|
| HOST | | | +---+ +---+ | |
| | | | |BM873|
+--------------+ +-------+ +-----+
Figure 1 Specifying a Remote Node to DDT11
DDT11, Version 5(22), requires that you shift the left six bits
of the PDP-8 value two bits to the left when depositing a value into a
DN92 node. For instance to store 1234, type 5034.