Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/debugging-tools/dnddt.doc
There are no other files named dnddt.doc in the archive.
DNDDT will initially ask for the node you wish to
examine. In general, the only node that can be examined is
the DN20 on your 2040/50/60 system. Therefore, the standard
answer will be your front end node name. If the reply to the EXAMINE
NODE: prompt is a null name (i.e. a <CR>), the program will
assume that this is not to be a memory examine, and will not
create any logical links. At this time, the program may be
directed to use a dump file.
DNDDT is a modified FEDDT, and, other than the above,
can be used in the same manner with the same commands.
[End of DNDDT hints]
Document: FEDDT
Date: 23 April 1976
Project: Front End
Support
Charge Number:
Product ID:
Functional Specification for FEDDT
Page 2
1.0 Product Overview
1.1 Product Description
FEDDT is a symbolic debugger for the TOPS-20 front end
computer. It runs under timesharing, and allows the user to
read and print selected portions of front end crashes.
1.2 Markets
FEDDT is intended as a support and development tool for
Digital Equipment Corporation. Due to the proprietary
nature of front end software, FEDDT is not intended for sale
or release to customers.
1.3 Competitive Analysis
Not applicable
1.4 Product Audience
FEDDT is intended for use by DEC software specialists or
software development personnel.
2.0 Product Goals
2.1 FEDDT will be able to read crash dumps produced by
the DECsystem-20 of the front end PDP11.
2.2 FEDDT will allow the user to examine arbitrary
locations in the dump.
2.3 FEDDT will allow the user to select octal, symbolic,
or PDP-11 instructions as the output format for data.
2.4 FEDDT will allow the user to define addresses
symbolically, or to read in symbol tables produced by RSX20F
TKB, LNKX11, or MACY11.
2.5 FEDDT will allow the user to divert output to any
TOPS-20 device, and to dump selected regions of the file (or
the entire file) in any of the modes defined in section
1.2.3
2.6 FEDDT will allow the user to compare selected
portions of two binary dumps, and output the differences to
any TOPS-20 output device.
2.7 It is an explicit non-goal of version 1 of FEDDT to
Page 3
be run on 1080 or any non TOPS20 system.
3.0 Functional Definition
3.1 Operational description
FEDDT will be run as a job on the TOPS-20 operating system.
No special privileges are required, except access to a front
end dump file.
3.2 Restrictions
None
4.0 Compatibility
4.1 DEC Products
FEDDT is built from Dave McLure's DDT-11. It is modeled
after PDP-10 symbolic DDT. The main differences are that
FEDDT manipulates PDP-11 type data structures, and contains
PDP-11 instructions as its initial symbol table.
4.2 DEC Standards
To as great a degree as possible, FEDDT will conform to the
TOPS-20 coding standards.
4.3 External Standards
5.0 External Interactions and Impact
5.1 Users
FEDDT should have no impact on DECsystem-20 users, other
than as specified in section 4.
5.2 Software Products
5.2.1 Products That Use This Product
FEDDT is for use during timesharing on TOPS-20 systems.
5.2.2 Products That This Product Uses
FEDDT reads the dumps produced by RSX20F (more specifically,
the bootstrap ROM in the front end PDP-11). These are
transmitted to the TOPS-20 file system by SETSPD, a job run
at system startup. FEDDT also reads symbol files produced
by MACY11, LNKX11, TKB, and PDP-11 MACRO.
5.3 Other Systems (Networks)
FEDDT does not currently support networks, but has been
written to allow expansion to DCOPS when DCOPS is released
Page 4
for TOPS-20.
5.4 Data Storage, File Structures, Data Formats and
Retrieval Subsystem
5.4.1 Dump File Format
FEDDT expects the dump file of the front end to be a binary
file. Each 36 bit word is interpreted as two 18 bit bytes,
each containing one 16 bit PDP-11 word:
------------------------------------------------
!z!z! 16 bits of data !z!z! 16 bits of data !
------------------------------------------------
Note-- z = must be zero
5.4.2 Internal Representation of Data
FEDDT stores data in KL10 core in exactly the same way in
which it is stored on the disk.
5.4.3 Symbol File Formats
Several types of symbol table files are allowed. If the
extension is .MAP, the file is assumed to be either a LNKX11
map, or a TKB map. Symbols are recognized as a symbol,
follwed by a space or tab, follwed by a string of six or
fewer letters, preceeded by at least one space or tab,
followed by at least one space or tab, followed by a number.
The first symbol is located by searching for at least two
line feeds follwed by a string as specified above.
If the extension is other than .MAP, FEDDT searches for
symbols by looking for numbers followed by an equal sign, a
percent sign (which indicates register definition), or the
letter "r" (indicating a relocatable symbol). If one of
these is found, the last sixbit quantity read before the
number is assumed to be the symbol name. If a symbol is
relocatable, FEDDT will ignore it unless the user has issued
a $P command to enable loading of relocatable symbols.
5.4.4 Internal Representation of Symbols
Pre-defined symbols (such as instruction mnemonics) are
assembled with the program, and have the format:
-------------------------------------------------
! SIXBIT symbol name !
-------------------------------------------------
! flags ! value !
-------------------------------------------------
! pointer to next symbol block !
-------------------------------------------------
Page 5
5.5 Protocols
This version of FEDDT has no protocol conventions.
6.0 Reliability/Availability/Serviceability (RAS)
FEDDT will be distributed to software specialists as part of
the front end support kit. It will not be available for
customer use, and will not itself be a supported product.
7.0 Packaging and System Generation
7.1 Distribution Media
FEDDT will be distributed on magnetic tape as part of the
front end support kit for software specialists (this is part
of a larger Software Support Kit for the DECsystem-20).
7.2 Sysgen Procedures
FEDDT is assembled using a command file (FEDDT.CTL), which
is submitted to the BATCH system using the SUBMIT command.
8.0 Documentation
8.1 Project Plan for Front End DDT
8.2 This Functional Specification
8.3 FEDDT Users Manual (included as an appendix)
9.0 References
The coding standards for TOPS-20 are detailed in the
DECsystem-20 Update Course Student Guide, Book 2, Module 2.
10.0 Appendix
The appendix to this Functional Specification is the Users
Manual for FEDDT.
APPENDIX A
FEDDT USER MANUAL
FEDDT Front End Debugger Page A-2
FEDDT - TOPS-20 FRONT END DEBUGGER
The information in this document is subject to change
without notice and should not be construed as a commitment
by Digital Equipment Corporation.
Actual distribution of the software described in this
specification will be subject to terms and conditions to be
announced at some future date by Digital Equipment
Corporation.
DEC assumes no responsibility for the use or reliability of
its software on equipment which is not supplied by DEC.
FEDDT Front End Debugger Page A-3
FEDDT - TOPS-20 Front End Debugger
FEDDT is a version of Dave Mcclure's DDT-11 which has been
adapted for use on TOPS-20. FEDDT provides a tool for
symbolic debugging of dumps taken of front end crashes on a
DECsystem-20 (RSX20F), or for symbolically examining and
depositing in the physical front end memory, using the
DTE-20 and the primary protocol examine and deposit
functions. Numeric expressions are parsed strictly left to
right without precedence. This implies that an expression
such as 100+20*2 = 120*2 = 240, rather than the erhaps to be
expected 140.
FEDDT can type PDP-11 addresses as instructions, numbers in
a given radix, or bytes of a given size. It has the
capability for accepting user defined symbols, either read
from a .map or .crf listing (with a $$Y command), or defined
at the terminal (using a colon command). In addition, FEDDT
has an initial symbol table of all PDP-11/40 instructions.
FEDDT usually reads a binary dump file of PDP-11 core. This
file normally comes across the DTE-20 when SETSPD runs after
the front end crashes, and is named <SYSTEM>0dump11.BIN.
The user should transfer this file to some other directory
if it is to be saved. The file is read by FEDDT using the
$Y command. FEDDT provides the capability for outputting
selected portions of this file in ASCII to any device (with
a $$D command, or for comparing selected portions of this
file with any other file, and outputting the result in ASCII
to any device (with a $$X command). Example of the use of
FEDDT
@ru feddt
[FEDDT] ;this is the prompt
$$y ;escape escape y
SYMBOL FILE: exec.map ;name of file
READ 291 SYMBOLS ;done
;at this point,
;RSX20F symbols
;have been read
^C ;back to the exec
@save fesym ;save symbols copy
@reenter ;back into FEDDT
$y ;escape y
INPUT FILE: <system>0dump11.bin ;read latest crash
CORE SIZE IS 28K ;size of dump
4/ DV.HNG = 1000 ;trap location
1000/ BIT 177776,#PS ;user typed tab
;user does more editing
.
.
.
FEDDT Front End Debugger Page A-4
COMMANDS
The following is a brief description of the available
commands. In examples, the expression [value] indicates an
arbitrary pdp-11 number (square brackets are not part of the
command).
COMMAND EFFECT
[tab] Causes the current location to be closed. The
current location is then set to the current
value, and the new location is opened, as with a
[slash] command.
[lf] Examines the next location
[cr] Closes the current location
CTRL-U Same as rubout
[space] Ends the current expression, and adds it
to the current value.
! Ends the current expression, and sets
the current value to the logical or of the current
value and the current expression.
Ends the current expression, and sets the
current value to the logical and of the current
value and the current expression.
^ Ends the current expression, and xor it
with the current value.
* End the current expression, and multiply it
by the current value.
+ End the current expression, and add it to the
current value
- End the current expression, and subtract it
from the current value
. Has the value of the current location.
/ Make the current location the current value,
open it, and print the contents.
: This following an ASCII string of six or fewer
characters defines the ascii string as a symbol
whose value is the current value.
= Ends the current expression, and types its
value a number in the current radix.
FEDDT Front End Debugger Page A-5
\ Ends the current expression, and examines its
value as a symbolic expression. The location counter
is not changed.
RUBOUT Aborts the current expression
ALT-MODE COMMANDS
Command Effect
$A Set address mode
$B Set byte mode
$C Set constant mode
$D Dump PDP-11 memory to output device. The
format is [start-address]<[end address]>$D
Asks for the output file specification.
$I Set output mode to ebcdic text
$K Suppresses the previous symbol typed either
by the user or FEDDT.
$M Set the mask word for searches.
$N Search memory for words which when and'ed
with the mask word are not equal to the word
specified. The format is:
[start-address]<[end-address]>[word]$N
$P Enable relocation on symbol table readin.
A number typed before the escape is added to
every relocatable symbol to determine its actual
value.
$R Set radix (values may be 2 through 16).
$S Set output mode to symbolic.
$T Set output mode to bytes of size specified before
the escape.
$W Search memory for words which when and'ed with
the mask word equal the word requested.
The format is as in the $N command.
$X Compare selected portions of memory with the file
already selected with the $$X command (q.v.).
The command requests an output device.
$Y Read in a binary dump file. Requests the
input file description. This command resets
the job starting address so that it can be
saved with a dump read in and then restarted.
$$A Set address mode permanently.
$$B Set byte mode permanently.
$$C Set constant mode permanantly.
$$K Compliment the "suppress all symbols" switch
$$O Open physical PDP-11 core
$$P Clear the relocation allowed flag.
$$R Permanently set the radix.
$$S Set symbolic mode permanently.
$$T Set byte mode permanently.
$$X Read in another binary file, compare it with
the present one, and output the differences to
a specified device. The actual format is:
FEDDT Front End Debugger Page A-6
[low-limit]<[high-limit]>$$X
$$Y Read in a symbol table file. If the
extension of the file is .map, it is assumed
to be a map produced by LNKX11 or PDP-11
TKB. Otherwise, it is assumed to be a
CREF listing produced by MACY11.