Google
 

Trailing-Edge - PDP-10 Archives - BB-L289B-RK - ddt11.mem
There are 5 other files named ddt11.mem 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 14-45













           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.