Google
 

Trailing-Edge - PDP-10 Archives - BB-H138C-BM - 5-documentation/ddt42.doc
There are 4 other files named ddt42.doc in the archive. Click here to see a list.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 1
October 1981
































COPYRIGHT (C) 1981 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 2
SUMMARY


1.0  SUMMARY

     DDT is a symbolic assembly language debugger for the DECsystem-10
and  DECSYSTEM-20.   DDT provides many debugging facilities, including
breakpoints, program single-stepping, and the ability  to  examine  or
deposit  programs  or  data  symbolically.   The  source  file DDT.MAC
assembles into the following different versions of DDT:

TOPS-10         TOPS-20         FUNCTION

VMDDT.EXE       UDDT.EXE        Brought in by the DDT command.
DDT.EXE         SDDT.EXE        DDT with system symbols.
FILDDT.EXE      FILDDT.EXE      For EXE or binary data files.
DDT.REL         RDDT.REL        Relocatable user DDT.
EDDT.REL        EDDT.REL        Exec mode DDT.
  --            MDDT.REL        TOPS-20 monitor process DDT.
  --  KDDT.REL TOPS-20 monitor specific EDDT.

     DDT 42 includes bug fixes and some small changes  since  DDT  41.
Much  of  this document describes changes made prior to release of DDT
41 and previously described in DDT41.DOC,  DDT41.MAN,  and  DDT41.MEM.
The  descriptions  herein  have been updated as necessary to correctly
describe  DDT  42.   Note  that  some  cases  in  which  DDT  41   was
incompatible  with  previous  versions have been changed such that the
incompatibility is no longer evident.

     DDT version 41 was a significant development  release  with  many
new features, including KL10 model B extended addressing support, 2020
support, native mode FILDDT on TOPS-20, and many minor enhancements to
make the debugging process easier.


                               WARNING

               A FEW OF THE NEW FEATURES IN DDT 41  ARE
               NOT COMPATABLE WITH PREVIOUS VERSIONS OF
               DDT.  SOME  COMMANDS  THAT  WORKED  WITH
               PREVIOUS VERSIONS OF DDT MAY NOT WORK OR
               DO DIFFERENT THINGS WITH  DDT  41.   SEE
               SECTION 2 FOR MORE INFORMATION.



     DDT 42 supercedes all  previous  versions.   It  runs  under  all
supported monitors.

     For DECsystem-10 sites, DDT is  documented  in  the  DDT  manual,
which  is  part  of  volume  9 of the TOPS-10 Software Notebooks.  The
manual   can   also   be   ordered   separately   as   order    number
DEC-10-UDDTA-A-D.

     For DECSYSTEM-20 sites, DDT is documented in the  TOPS-20  User's
Guide,  which  is  part of volume 1 of the TOPS-20 Software Notebooks.
The User's Guide can  also  be  ordered  separately  as  order  number
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 3
SUMMARY


AA-4179B-TM.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 4
CHANGES FROM DDT 41 TO DDT 42


2.0  CHANGES FROM DDT 41 TO DDT 42

     1.  When opening registers,  DDT  will  default  to  the  current
section  if  no  section  is typed*.  For example, if DDT is currently
referencing section 3, and FOO=1000, then:
        FOO/

     will open location 3,,1000.  Since  tags  are  generally  defined
with  a  0  section number, this makes it much more convenient to work
with a program loaded into a non-0 section.

     If you type an explicit section  number  (e.g.   0,,FOO  or  even
,FOO),  DDT will never use the default.  Note however that if DDT (but
not FILDDT) is running in section 0, it will ignore the left  half  of
quantities typed as addresses.  E.g.,

        123,,456/

     will open location 456 (in section 0).  By forcing EFIW, you  can
get DDT to try to look at non-0 sections, but it will always fail when
running in section 0.

     Note that you can force DDT to follow an  EFIW  (extended  format
indirect  word).   This  is done by putting 2 ESCs before the register
opening command.  E.g.,
        FOO$$/

     will open location FOO in section 0 and set the  current  section
to  0.   This  syntax  for EFIWs has been in DDT for some time but few
people know about it.  It is handy for following pointers in  extended
programs.  E.g.,
        FOO/   5,,1234   $$<tab>
        5,,1234/   ...

     DDT will also update the default section number whenever  DDT  is
entered,  setting  it  to  the  section  in which the user program was
running.

     If a quantity with bits 0-5 not 0 is typed  as  an  address,  DDT
will  ignore  the  entire  left  half and default the current section.
Hence, the following will do about what you expect:

        3,,100/   12345,,54321

        $$Q/   ...        (.=3,,12345)

     2.  On certain commands other than register opening commands, the
default  section  will  be  used in the absence of an explicit section
number.  These commands are $G and $B.  E.g.,
        FOO$G

     will go to FOO in the current section, not section 0.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 5
CHANGES FROM DDT 41 TO DDT 42


     3.  Defining tags at "." sets the section  to  0  thus  remaining
consistent with tags defined during assembly.  E.g.,
        2,,100/   0   FOO:

     will define FOO as 100, not 2,,100.  Note however  that  exp<FOO:
will set FOO to the 36-bit value of 'exp'.

     4.  Some bugs causing you to drop  into  section  0  unexpectedly
when patching or using $<CR> have been fixed.

     5.  DDT will create a private section the first time you  attempt
to  store  in  a  previously  non-existant  section (provided that DDT
itself is running in a non-0 section).

     6.  DDT now has some special logic  for  examining  its  internal
locations  $I,  $M,  etc.   There  is  no  change  to  the syntax, but
examining or changing these locations  does  not  use  or  change  the
current  section  for  regular program examines.  Also, if you examine
one of these locations and then step forward or back with LF  or  "^",
DDT  will identify and open locations only if they are meaningful ones
for the user to see or change.

     * - In FILDDT, a section number is never  defaulted;   the  given
section number is always used.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 6
CHANGES IN DDT 41


3.0  CHANGES IN DDT 41

     Most of the external changes in DDT 41 are new features that make
the  debugging  process  easier.   Refer  to  the file DDT42.MEM for a
detailed description of all new features.


                         INCOMPATABLE CHANGES

               SOME OF THE CHANGES  TO  DDT  MAY  CAUSE
               COMMANDS   THAT  WORKED  UNDER  PREVIOUS
               VERSIONS  OF  DDT  TO  NOT  WORK  OR  DO
               DIFFERENT   THINGS  WITH  DDT  41.   THE
               FOLLOWING  LIST   DESCRIBES   ALL   SUCH
               CHANGES.   PLEASE BE SURE YOU UNDERSTAND
               THIS LIST BEFORE ATTEMPTING TO  USE  DDT
               41.





3.1  Extended Addresses

     When DDT is running in a non-0 section,  all  addresses  are  now
30-bit  numbers, including the current location counter ".".  Commands
like "/" that take addresses as arguments will now take all 30 bits of
the  argument  as  the  address to be used.  When running in section 0
(always on TOPS10), DDT will ignore the left half on quantities  typed
as addresses and so will appear to work as in previous versions except
if EFIW interpretation is forced (see below).

     FILDDT always accepts 35 bits of address, although no file  could
be that large.

     When running under extended addressing, DDT will type "?"  on  an
attempt  to  examine  any  location  in a section that does not exist.
Hence, if DDT fails to open a location  when  expected,  it  is  often
useful  to  check  the  value of "." (type ".=") to see if the current
section is the intended one.  address.  An example is:

        DISP/   10327,,346   $$Q/   ?   .=346,,10327

In this case, the user wanted to follow the address in the  left  half
of location DISP, but ended up looking at a huge address instead.  The
$$Q means "the last quantity typed out with the halves swapped", which
has  non-zero  bits  in  the  left half.  The .= verifies that this is
indeed what has happened.  To  get  back  to  the  right  place,  type
sec,,./ (or just ,./ if you want to be in section 0).

     If you type an expression with a 0 left half and  no  comma,  DDT
will   default   the  section  to  the  current  section.   Hence,  if
.=3,,12345,
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 7
CHANGES IN DDT 41


     FOO/

will open location FOO in  section  3.   DDT  will  also  default  the
section  if  the  left  half of the expression could not possibly be a
legitimate section number, i.e.  bits 0-5 are non-0.

        3,,DISP/   10327,,17346   $$Q/   stuff   .=3,,10327

Another example is:

        LOOP1+3/   PUSHJ P,ERROR   JRST PAT..<tab>
        PAT../   0

In this example, the user wanted to deposit a JRST PAT..  at  LOOP1+3,
and then open location PAT.. to write a patch.

     The ramifications of extended addresses are more complex than can
be  described  in this short summary.  Refer to the file DDT42.MEM for
complete documentation.



3.2  Auto-typeout On Breakpoints

     The command to set a location to  type  out  automatically  on  a
breakpoint has changed, as follows:

Old way:

                A,,B$B  or  B(A)$B

New way:

                A<B$B

This command means to set a breakpoint at location  B,  and  type  out
location  A  symbolically  every time the program hits the breakpoint.
If the old-style command is typed to DDT 42, it will be interpreted as
a command to set a breakpoint at the full-word address A,,B, which may
be non-existant.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 8
KNOWN BUGS AND DEFICIENCIES


4.0  KNOWN BUGS AND DEFICIENCIES
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)   Page 9
INSTALLATION INSTRUCTIONS


5.0  INSTALLATION INSTRUCTIONS

5.1  TOPS-10

     To install DDT version 42 on your system, copy the files DDT.EXE,
VMDDT.EXE,  FILDDT.EXE,  DDT.REL,  EDDT.REL,  and  DDT42.MEM  from the
distribution tape to SYS:.

     The  batch  control   file   DDT.CTL   contains   all   necessary
instructions  to  assemble  and load DDT.  It will normally have to be
modified slightly to correspond to the installation configuration.



5.2  TOPS-20

     To install  DDT  version  42  on  your  system,  copy  the  files
UDDT.EXE,  SDDT.EXE,  FILDDT.EXE,  RDDT.REL,  EDDT.REL,  MDDT.REL, and
DDT42.MEM from the distribution tape to SYS:.  This  can  be  done  by
mounting the tape labelled Distribution Tape on MTA0:, then typing the
following commands:

     R DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600-BPI
     SKIP 2
     RESTORE DSK*:<*>*DDT.EXE (TO) SYS:*.*.-1, -
     DSK*:<*>*DDT.REL (TO) SYS:*.*.-1, -
     DSK*:<*>DDT42.MEM (TO) SYS:*.*.-1
     REWIND

     To rebuild DDT from sources, mount the tape labelled Distribution
Tape on MTA0:, then type the following commands:

     R DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600-BPI
     SKIP 3
     RESTORE DSK*:<*>*.*.* (TO) <self>*.*.*
     REWIND
     CTRL/C
     !At this point, you should TYPE DDT.CTL to see what it does.
     SUBMIT DDT.CTL/TIME/RESTART

     The batch control file DDT.CTL contains the procedures  necessary
to  rebuild  DDT from sources.  It may have to be modified slightly to
run at your installation, so you should type it to see  what  it  does
before typing the SUBMIT command above.
DDT42.DOC -- Changes from DDT 37(201)/40A(220) to DDT 42(320)  Page 10
INTERNAL CHANGES


6.0  INTERNAL CHANGES


[End of DDT42.DOC]