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

                                        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

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


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


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

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

@ru feddt
[FEDDT]                                 ;this is the prompt
$$y                                     ;escape escape y
SYMBOL FILE:                ;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


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


[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


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:
$P      Enable relocation on symbol table readin. 
        A number typed before the escape is added to 
        every relocatable symbol to determine its actual 
$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

$$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.