Trailing-Edge
-
PDP-10 Archives
-
BB-H311C-RM
-
swskit-documentation/ddt41a.doc
There are 2 other files named ddt41a.doc in the archive. Click here to see a list.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 1
January 1982
COPYRIGHT (C) 1970, 1982 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.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) 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 version 41A is a maintenance release incorporating 30 edits
since the last release. Many bug fixes have been made, and a few
enhancements have been included. These are documented under External
Changes, section 2.0, and Internal Changes, section 5.0.
WARNING
A FEW OF THE NEW FEATURES IN DDT 41A 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 41A. SEE
SECTION 2 FOR MORE INFORMATION.
DDT 41A supersedes all previous versions. It runs under all
supported monitors, and has been tested under TOPS-10 7.01, and under
TOPS-20 releases 4 and 5. All edits made through 30-Nov-81 have been
incorporated into DDT 41A.
For DECsystem-10 sites, DDT is documented in the Utilities
manual, which is part of notebook 12 of the TOPS-10 Software
Notebooks. The manual can also be ordered separately as order number
DEC-10-UTILA-A-D. Although this manual documents version 37, most
commands are still supported as outlined in the manual. FILDDT is
also documented in notebook 12.
For DECSYSTEM-20 sites, DDT is not documented.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 3
EXTERNAL CHANGES
2.0 EXTERNAL CHANGES
Most of the external changes in DDT 41A are new features that
make the debugging process easier. Following is a list of new
commands and 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 41A. THE
FOLLOWING LIST DESCRIBES ALL SUCH
CHANGES. PLEASE BE SURE YOU UNDERSTAND
THIS LIST BEFORE ATTEMPTING TO USE DDT
41A.
1. RP20 disks are now supported in FILDDT.
2. Users who build DDT-10 with FTYANK on may turn off $Y echo by
typing 4$1M (1B33); this sets a TTY control bit which
determines whether echoing occurs or not. The default is to
echo the $Y input/output (0B33).
3. DDT types short error messages under certain conditions now.
Attempting to deposit in a write-locked page will generate
the message "?NOT WRITABLE".
4. The $? and $$? commands have been implemented. The $?
command types the last DDT error such as NOT WRITABLE, etc.
The $$? command types the last TOPS-20 process error
encountered.
5. The $$Z command has been removed. The new command format is
start-address<end-address>new-contents$Z. If "new-contents"
is not specified, the default is 0.
6. The $$1X command has been implemented. This command is
similar to $$X, except that no "dangerous instruction"
checking is done. Dangerous instructions are those which can
alter the PSI/APR status, do I/O, or in any way alter the
environment which DDT perceives. This command is offered for
convenience only since it executes much faster, but is not
recommended. The normal $$X command should still be used.
7. TOPS-20 User-mode DDTs and FILDDT now have the command $2F to
type double precision floating point numbers. Single
precision numbers now use the FLOUT% JSYS rather than the
cumbersome "by-hand" method used on TOPS-10. Thus the
typeout format is slightly different, and rounding may make a
1 digit difference in the displayed value.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 4
EXTERNAL CHANGES
8. New GFLOATING opcodes are recognized by DDT. These include
GFAD, GFSB, GFDV, and GFMP.
9. FILDDT now types out the $M and $U masks upon command. These
masks cannot be changed as in other DDTs; the command
new-value$M or new-value$U must still be used.
10. The command $$0> has been added to abort a patch. Starting a
new patch while another is in progress is no longer possible,
thus users are protected against accidentally destroying a
patch by typing $< instead of $> to finish. It is also
possible to type ^Z followed by DDT to reenter with patch
mode reset.
11. The close-patch command format is now $n>, where "n" is the
decimal number of returns desired. The default is 2, but can
be set from 0 to any value. The instructions inserted are
JUMPAs, with the AC field starting at 0 and "pegging" at 17.
12. The $T command will now only type a single right-justified
character if the entire word is zero (except for the
character itself). Previously, a single character would be
typed whenever the first byte was a null, rendering it
impossible to type text if the first character in a word was
null.
13. The new $0T command types ASCIZ strings starting at any
address (default is "."). Repeated issuance of $0T will
continue stepping through memory, typing consecutive strings.
Typeout may be halted by typing any character.
14. FILDDT-20 no longer searches non-zero sections in data files.
The search will stop after the last page in the file.
15. If a FILOP. error occurs when loading a file with FILDDT-10,
the radix is set back to octal by FILDDT's error handling
routine.
16. Exec mode DDT now supports ^S/^Q and typeahead.
17. If the FTYANK feature is enabled (TOPS-10 only), DDT can
automatically execute a command string each time a breakpoint
is reached. The command list address is specified when
setting the breakpoint, using the following format:
"addr-to-display<command-list-addr>breakpoint-addr$nB". The
command string can be defined into memory with the
double-quote command, and must be left-justified ASCIZ.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 5
KNOWN BUGS AND DEFICIENCIES
3.0 KNOWN BUGS AND DEFICIENCIES
The following is a complete list of all known bugs and
deficiencies in DDT 41A as of 7-Jan-82.
1. DDT does not detect many illegal commands, for example, 18
octal is accepted and treated as 20 octal. DDT does not
detect arguments to commands which are ignored, e.g., $23Q is
the same as $Q.
2. The commands $<CR>, and $<LF> do not detect the attempt to
recall more than was saved.
3. When looking at user rather than exec memory in FILDDT-10
(e.g. n$mU), the AC's still come from CRSHAC rather than the
user pages.
4. Symbolic typeout is turned off for $O mode, thus addresses
are absolute rather than relative.
4.0 INSTALLATION INSTRUCTIONS
4.1 TOPS-10
To install DDT version 41A on your system, copy the files
DDT.EXE, VMDDT.EXE, FILDDT.EXE, DDT.REL, and EDDT.REL from the
distribution tape to SYS:. DDT41A.DOC should be installed on DOC: or
HLP:.
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.
4.2 TOPS-20
To install DDT version 41A on your system, copy the files
UDDT.EXE, SDDT.EXE, FILDDT.EXE, RDDT.REL, EDDT.REL, and MDDT.REL from
the distribution tape to SYS:. DDT41A.DOC should be installed on DOC:
or HLP:.
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.
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 6
INTERNAL CHANGES
5.0 INTERNAL CHANGES
Following is a list of changes from DDT 41(265) to DDT 41A(323):
Edit Who Date SPR
-----------------------------------
266 DIB 18-FEB-80
Add RP20 support to FILDDT.
267 BPK 11-APR-80
Replace SUB in LOOK10 with equivalent code that doesn't overflow.
270 BPK 17-APR-80
Turn off CTRL-O whenever we stop at a breakpoint.
271 DLM 4-OCT-79
Flag in TTYMSK for instruction typeout on breakpoint, warning if
breakpoint insertion/removal fails, diagnostics on memory reference
failure, run in non-zero section if possible.
272 JBS 9-NOV-80 SPR 10-30155
Add ^E text to -10 help message.
273 JBS 10-NOV-80 SPR 10-30019
Fix overflow in ADD instruction at L4+18.
274 JBS 12-NOV-80 SPR 10-30058
Fix SUB at DOITX0 that set CARRY1 and CARRY0 in user context.
275 JBS 14-NOV-80
Fix ERJMP/ERCAL $X routines to agree with edit 274.
276 JBS 17-NOV-80 SPR 10-30156
Move PUSH out of conditionals to agree with POP in RDBIN.
277 JBS 18-NOV-80 SPR 20-15067
Fix $<RET> after $<TAB>.
300 JBS 19-NOV-80 SPR 10-30237
Add user TTY control bit for $Y echo during file read/execution.
301 JBS 25-NOV-80
All kinds of misc. edits to fix little things here and there.
302 JBS 3-DEC-80 SPR 10-30277
Fix moving of PAT.. in $< mode.
303 JBS 4-DEC-80
Make $Z abort with "?" if any mem. write fails, remove $$Z,
move /H text around for -10 version, fix extended addressing bug.
304 JBS 10-DEC-80 SPR 10-30337
Fix ILDB typeout in extended addressing mode - was messing up section #
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 7
INTERNAL CHANGES
when ac AC was used.
305 JBS 29-DEC-80
Remove temporary patch that bypassed MACRO bug, revise edit 300.
306 JBS 29-DEC-80 SPR 10-30404
Add $$1X feature to do quicker $$X by not checking for dangerous
instructions. Used over long but safe PUSHJ's, etc.
307 JBS/RDH 30-JAN-81
Setup location .JBBPT with $0BPT for TOPS-10 user/exec DDT's,
Change floating output subroutine TFLOT to use FLOUT JSYS on
TOPS-20, add $2F double-precision floating typeout on TOPS-20,
allow reading $M and $U masks in FILDDT (special-case them),
remove $L paper tape punch code, add $[any digit] command to
abort patch insert mode, make $[any digit]< illegal, clear
"patch mode" flag and reset location pointers at start-up,
don't allow nested patching, change <LF> and ^H to recognize
double-word mode on TOPS-20 (i.e., double precision floating typeout),
change $X code to clear input buffer and reset ^O before next
instruction typeout.
310 JBS 22-JAN-81 SPR 20-15518
Change handling of text insertion - automatically close location
upon receipt of text delimiter.
311 JBS 6-FEB-81
Redefine patch abort command to $0>, fix breakpoint typeahead
clearing bug - was munching first chr. typed after breakpoint
stuff began typing out, fix FILDDT bug which would setup PAGTBL
wrong (sometimes) for pages over 4000, change text insertion mode
so it won't force a CRLF if a location is open but nothing has
been deposited yet (revision of edit 310), reinstall edit 273
with a change (edit 303 removed edit 273).
312 RDH/JBS 4-MAR-81
Fix broken negative integer typeout, fix TOPS-10 output broken by
edit 305, make $7T mode do right-justified typeout only if left 29
bits are all null, change patch abort (again) to $$0>, make a botched
patch-insert fix PTLOC before losing, make $N> set maximum skip
returns from patch (N=1 gives 1 JUMPA, etc.), fix bug that would set
"." to zero after ^C/DDT commands, add $0T/$$0T command to type the
ASCIZ string starting at ".", make XMOVEI type out AC contents after
$X.
313 JBS 10-APR-81
Edits 302 and 312 must be installed first -
Add <addr.>$0T to type ASCIZ string at <addr.>, change $0T code to
be more efficient, allow user to stop $0T typeout anytime, more work
to get $T to work right for right-justified single chr., handle RPACS%
error if section doesn't exist, make FILDDT stop searching after EOF
on data files, fix moving of PAT.. when an undefined symbol exists
and a new definition is made (cache problem), make conditional
breakpoint instruction execute in user context, don't force $P
DDT41A.DOC -- Changes from DDT 41(265) to DDT 41A(323) Page 8
INTERNAL CHANGES
default to 1 if user has specified own number.
314 JBS 10-AUG-81
Remove auto CRLF after long string insertion, fix another bug with
undefined symbols not getting fixed up.
315 JBS 13-AUG-81 SPR 10-31459
Output radix wasn't setup before typing FILOP. error code, causing
garbage to print out. FILDDT-10 only.
316 JBS 17-AUG-81
Find "real" EOF for a TOPS-20 file - edit 313 broke this because it
assumed SIZEF% returned EOF. But EOF doesn't really exist in TOPS-20!
317 JBS/RDH 19-AUG-81
[JBS] Fix FILDDT-20 for big data file again.
[RDH] Handle ^S/^Q in exec mode, implement exec mode typeahead,
implement xxx<adr>n$B where "adr" is address of command string to
be executed on breakpoint (depends on FTYANK), handle $X'ing in
the ACs in non-zero section (PC always local, therefore always
a "register" address).
320 RDH/JBS 30-SEP-81
Edit 317 broke typing something to get out of a (e.g.) search
loop (EXEC mode only), preserve APR bits in EXEC mode, type "/"
instead of a space in $0T command.
321 JBS 30-SEP-81
Remove definition of RADIX50 PAT from list of patch locations in
user mode.
322 JBS 6-OCT-81
Physically remove desupported $L code.
323 JBS 30-NOV-81
Don't use JSYSes for numeric typeout in TOPS-20 EXEC DDT's.
6.0 SUGGESTIONS
The following suggestion list has been accumulated from various
sources, including SPRs and DECUS sessions. The appearance of a
suggestion on this list does not necessarily mean that DIGITAL ever
intends to implement it.
1. Implement a byte typein and typeout facility.
2. Implement sorted and block-structured symbol tables.
[End of DDT41A.DOC]
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 9
October 1979
COPYRIGHT (C) 1979 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.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 10
SUMMARY
7.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 version 41 is 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 41 supercedes all previous versions. It runs under all
supported monitors, and has been tested under TOPS-10 6.03A, and under
TOPS-20 releases 3A and 4. All patches published through 31-Dec-78
have been incorporated into DDT 41.
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
AA-4179B-TM.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 11
EXTERNAL CHANGES
8.0 EXTERNAL CHANGES
Most of the external changes in DDT 41 are new features that make
the debugging process easier. Refer to the file DDT41.MAN 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.
8.1 36-Bit Addresses
All addresses used by DDT are now 36-bit numbers, including the
current location counter ".". Commands like "/" that take addresses
as arguments will now take all 36 bits of the argument as the address
to be used.
This change can cause DDT to type "?" unexpectedly on some
commands that worked with previous versions of DDT. The following
typescript illustrates a typical sequence that performs differently
with DDT 41:
FOO/ <old contents> -1,,TEXT<tab>
777777,,TEXT/ ?
777777,,TEXT+1/ ?
The user obviously expected to open location TEXT, but DDT 41
interpreted the entire expression as an address and opened a very
large nonexistent address. Another example is:
DISP/ 10327,,17346 $$Q/ ? .=17346,,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.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 12
EXTERNAL CHANGES
If DDT types "?" when it should have typed real data, and you
suspect that you may have ended up at a huge address, you can type .=
or linefeed to verify whether or not this has indeed happened. If it
has, the command ,./ (three adjacent keys on most terminals) will
quickly get you to the corresponding address with a zero left half.
You can get DDT to ignore the left half of the argument to a
location opening command such as / or tab by including a space
somewhere in the argument. Space means to retain the left half of the
current location when opening a new location. For instance, the first
example above could have been done as follows:
FOO/ <old contents> -1,,TEXT<space><tab>
TEXT/ ANDI 360732(16)
TEXT+1/ CONSZ 30,500000(14)
This command sequence would deposit -1,,TEXT in location FOO, but open
location 0,,TEXT, since the left half of the current address "." is 0.
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. However, the user did
not have to include an explicit space before the tab, since the
argument to the tab already contained the space between the JRST and
the PAT... In fact, this kind of example is exactly why space has
been implemented as a "retain the current section" command.
The ramifications of 36-bit addresses are more complex than can
be described in this short summary. Refer to the file DDT41.MAN for
complete documentation.
8.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 41, it will be interpreted as
a command to set a breakpoint at the full-word address A,,B, which is
usually illegal.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 13
KNOWN BUGS AND DEFICIENCIES
9.0 KNOWN BUGS AND DEFICIENCIES
The following list is currently incomplete. It will be updated
before DDT 41 is finally released.
The following is a complete list of all known bugs and
deficiencies in DDT 41 as of 1-Mar-79.
1. DDT does not detect many illegal commands, for example, 18
octal is accepted and treated as 20 octal. DDT does not
detect arguments to commands which are ignored, e.g., $23Q is
the same as $Q.
2. The commands $<CR>, and $<LF> do not detect the attempt to
recall more than was saved.
3. When looking at user rather than exec memory (e.g. n$mU),
the AC's still come from CRSHAC rather than the user pages.
4. $X cannot handle the INIT MUUO in user mode.
5. Rubout, CTRL/U, and CTRL/W are not handled properly when
ASCII or SIXBIT text is typed in (the " and $" commands).
Text may be stored in memory even if it is rubbed out later.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 14
INSTALLATION INSTRUCTIONS
10.0 INSTALLATION INSTRUCTIONS
10.1 TOPS-10
To install DDT version 41 on your system, copy the files DDT.EXE,
VMDDT.EXE, FILDDT.EXE, DDT.REL, EDDT.REL, and DDT41.MAN 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.
10.2 TOPS-20
To install DDT version 41 on your system, copy the files
UDDT.EXE, SDDT.EXE, FILDDT.EXE, RDDT.REL, EDDT.REL, MDDT.REL, and
DDT41.MAN 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*:<*>DDT41.MAN (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.
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 15
INTERNAL CHANGES
11.0 INTERNAL CHANGES
11.1 Changes From DDT 37(201) To DDT 40A(250)
200 RDH 14-NOV-76 SPR 10-17714
VALIDITY-CHECK THE SYMBOL POINTER FOR THE HIGH-SEG SYMBOL
TABLE (.JBHSM) RATHER THAN ARBITRARILY BELIEVING IT (AND
SUBSEQUENTLY ILL MEM REF'ING, ETC.).
201 RDH 14-NOV-76 SPR 10-18806
MORE OF EDIT 200, AT DEF1:
202 RDH 14-NOV-76 SPR 10-19661
TREAT THE MAP INSTRUCTION "E" FIELD AS AN IMMEDIATE QUANTITY
RATHER THAN AS A MEMORY REFERENCE.
203 RDH 14-NOV-76
EXPAND FILDDT TO HANDLE FULL 22-BIT ADDRESSING IN EXE-FORMAT
FILES (SPECIFICALLY CRASH.EXE).
204 RDH 14-NOV-76 SPR 10-20165
IMPLEMENT SPECIAL BYTE-FORMAT TYPEOUT FOR THE VARIOUS
BYTE MANIPULATION INSTRUCTIONS. CODE COURTESY OF THE
UNIVERSITY OF ARIZONA.
205 RDH 15-NOV-76
PUT TAG PTDFLG: UNDER FTYANK RATHER THAN FTEXEC!FTFILE FOR
THOSE SITES THAT WISH TO TAKE THEIR CHANCES WITH $Y IN EITHER
UDDT OR VMDDT (NOTE: $Y USES I/O CHANNEL 17 - BE WARNED)
206 RDH 4-DEC-76
REWRITTEN CODE IN CHKADR (TO BETTER HANDLE KL'S) FORGOT HOW
KA'S WORKED AND LOST THE APR PI ASSIGNMENT.
207 RDH 4-DEC-76
IMPLEMENT "/D" FOR FILDDT -- TREAT FILE SPECIFIED AS PURE
DATA FILE - DON'T CRUMP ON FIRST 20 LOCATIONS (THE "ACS"),
DON'T LOOK FOR SYMBOL TABLE. IF NOT .EXE FORMAT AND NOT .XPN
FORMAT THEN "/D" IS ASSUMED.
210 RDH 6-DEC-76
EXTEND THE $M COMMAND -- <M>$<N>M -- WHERE <N> IS THE
MASK NUMBER AND <M> IS THE ASSOCIATED MASK.
<N> = 0 OR NOT-SPECIFIED THEN <M> IS THE SEARCH MASK
<N> = 1 THEN <M> IS TTY CONTROL MASK:
1B35 = 1 THEN "ECHO" <DEL>'S AS <BS><SP><BS>
211 RDH 6-DEC-76
NEW ASSEMBLY PARAMETER "SKPMAX" TO SET MAXIMUM NUMBER OF
LOCATIONS SKIPPED FOR $X LOGIC. IF <INSTR>$X THEN TYPE
<SKP> FOR EACH LOCATION SKIPPED. IF $$X THEN DO INDEFINITE
$X UNTIL OLD-PC .LT. NEW-PC .LE. OLD-PC+SKPMAX
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 16
INTERNAL CHANGES
212 RDH 7-DEC-76
[214] MATCH ANGLE BRACKETTS -- <<
WHEN PATCHING ($>) DON'T INSERT A 0 WORD UNLESS USER EXPLICITLY
TYPED IT - I.E., ALLOW THE $> TO APPEAR BY ITSELF - THE WAY MOST
PEOPLE TEND TO USE IT.
213 RDH 9-DEC-76
CHANGE SKIPN'S TO SKIPE'S IN [207] AND CAILE TO CAIL IN [210]
214 RDH 18-DEC-76
MATCH ANGLE BRACKETTS IN EDIT [212] COMMENTS TO KEEP VARIOUS
AND SUNDRY PEOPLE HAPPY.
215 RDH 19-DEC-76
IF SPYSEG THEN NO HISEG SYMBOL TABLE.
216 RDH 19-DEC-76
CHKHSM ROUTINE ([200],[201]) IS TOO RESTRICTIVE, WON'T ALLOW
.JBHSM TO POINT TO LOW SEG; CHKADR ROUTINE WON'T ALLOW RANDOM
NON-CONTIGUOUS PAGES.
217 RDH 19-DEC-76
NAMSET ROUTINE (TO HANDLE MODULE$:) ASSUMES HIGH SEGMENT ALWAYS
STARTS AT 400000, LEADING TO SUBSEQUENT ILL MEM REF'S.
220 JNG 28-JAN-77
PREVENT ILL MEM REF ON PATCH CLOSE WHEN USING A WRITE-LOCKED
(E.G. HISEG) SYMBOL TABLE.
DDT %40(220) MARCH, 1977
221 TAH 13-MAR-77
ADD COMMAND FRONT END TO INTERFACE FILDDT TO TOPS-20 SYSTEM.
ADD KL PAGING CODE TO CVTADR, ALL UNDER FTFD20 CONDITIONAL
(FTFILE MUST STILL BE ON ALSO).
222 ASM 13-MAR-77
IN EXEC DDT DETERMINE EXEC VIRTUAL ADDRESS OF EPT BY SCANNING
EXEC VIRT ADR SPACE IF PAGING IS ON.
223 TAH 13-MAR-77
MAKE LPDL LARGER FOR TOPS-20 MDDT
224 RDH 13-MAR-77
MAKE SEARCHES HANDLE NON-CONTIGUOUS CORE/FILE IMAGES, ADD
TWO NEW ASSEMBLY PARAMETERS:
INDPTH ;MAX INDIRECT NESTING FOR $E SEARCHES
LISCNT ;NUM OF <PUSHJ P,LISTEN>'S TWEEN INCHRS'S
225 RDH 13-MAR-77
HANDLE TYPEOUT RADIX .GE. 10 (E.G., HEX) MORE GRACEFULLY
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 17
INTERNAL CHANGES
226 RDH 13-MAR-77
EDIT 215 IS WRONG, .GTSGN == 14
227 JNG 13-MAR-77
ADD CODE TO DDT TO WRITE-ENABLE PAGES ON TOPS-20 BEFORE
ATTEMPTING TO WRITE THEM - E.G., FOR BREAKPOINTS, PATCHS,
AND SO FORTH. IF PAGE NOT WRITE-ENABLED, SET COPY-ON-WRITE
SO AS NOT TO ZAP OTHER USERS "SHARING" THE PAGE.
230 RDH 13-MAR-77
WHEN IN A COMMAND FILE ($Y) THEN DO NOT CHECK THE COMMAND
FILE FOR INPUT ON CALLS TO LISTEN - ONLY ACCEPT PHYSICAL
TTY INPUT.
231 RDH 14-MAR-77
CLEAR $U POINTERS IN FILDDT ON ^Z, START SEQUENCE
232 RDH 14-MAR-77
UPDATE LH(.JBSA) ON PATCH END IF .JBFF WAS DEFAULTED TO
ON PATCH BEGIN. THIS WAY THE PATCH IS AT LEAST SAVED ON
SAVE'S, RESET'S, AD NAUSEUM.
233 RDH 14-MAR-77
REVAMP PATCH LOGIC ($< AND $>) TO DISPLAY LOCATION BEFORE
MODIFYING SAME LOCATION SO THAT FILDDT CAN PATCH RUNNING
MONITOR (ALSO LOOKS NEATER).
234 RDH 23-MAR-77
ADD NEW "MASK" COMMAND <N>$2M TO SET THE SYMBOL OFFSET RANGE
(I.E. THE RANGE IN WHICH VALUES WILL BE TYPED IN THE FORM
SYMBOL+<OFFSET>) TO <N>. ADD ASSEMBLY PARAMETER "ADRNGE"
AS THE DEFAULT VALUE. ALSO MAKE $1M/ ETC. WORK.
235 RDH 24-MAR-77
REVAMP BYTE TYPEOUT LOGIC: ADD <N>$3M AS BYTE TYPEOUT MASK
(EACH "1" BIT IN THE MASK MARKS THE END OF A BYTE, BIT 35
IS ALWAYS CONSIDERED THE END OF A BYTE). FOR VALUES OF <N>
SUCH THAT 1 .LE. <N> .LE. 36(10) THE COMMANDS $<N>O & $$<N>O
WORK AS USUAL BY SETTING AN INTERNAL BYTE MASK. FOR <N> = 0
THE $3M BYTE MASK WILL BE USED. FOR <N> = <NULL> (I.E. THE
$O COMMAND) THE CURRENTLY PREVAILING $O OR $$O MASK WILL
BE USED IF NON-BLANK, ELSE THE $3M MASK WILL BE USED.
$$O MAKES PERMANENT THE CURRENTLY PREVAILING $O (OR $$O)
BYTE MASK.
236 RDH 14-APR-77
ADD IFN FTYANK CONDITIONALS SO THAT FILDDT CAN BE ASSEMBLED
WITH FTYANK TURNED OFF
237 RDH 17-APR-77
GENERAL CLEANUP AND REARRANGEMENT. MAKE TOPS-10 DDT SEARCH
THE "C" UNIVERSAL FILE. TYPE OUT "DDT" WHEN USER MODE DDT
IS ENTERED. PUT TOPS-10-SPECIFIC CODE UNDER "IFN FTDEC10"
RATHER THAN "IFE FTDEC20".
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 18
INTERNAL CHANGES
240 RDH 15-JUN-77
ADD CODE TO TYPE OUT SYMBOLIC WORDS WITH USER-DEFINED SYMBOLS
SUCH AS THE CALLI OR JSYS MNEMONICS. ORDER OF SEARCH IS:
1) OPCODE & AC & I & X & Y FIELDS
2) OPCODE & I & X & Y FIELDS (E.G. CALLI OR JSYS)
3) OPCODE & AC FIELDS (E.G. TTCALLS)
4) OPCODE ONLY
5) HARDWARE-KNOWN OPCODE (JRST, ETC.)
PUT CODE UNDER FTOPX .NE. 0 CONDITIONAL SINCE UNTIL SORTED
SYMBOL TABLES AVAILABLE THIS CODE TAKES MUCH RUN TIME.
ALSO MAKE TRXX AND TLXX TYPE OUT ADDRESS AS OCTAL RATHER
THAN SYMBOL+OFFSET.
241 RDH 15-SEP-77 SPR # 10-22011
"777777" COULD GET TYPED OUT AS "-1" WHEN $X'ING IF THE
AC BEING TYPED OUT WAS TYPED OUT IN XWD FORMAT.
242 RDH 16-SEP-77 SPR # 10-22616
"AOS UND#(AC)" LOST BOTH THE UND SYMBOL AND THE AC IN
THE WORD BEING BUILT (I.E., LEFT ONLY THE AOS).
243 RDH 16-SEP-77 SPR # 10-22788
PATCHING WITH FILDDT WRONG IF NONE OF THE USUAL PATCHING
SYMBOLS (PAT.., PAT, PATCH) ARE PRESENT AND THUS PATCHING
DEFAULTS TO C(.JBFF) - THE .JBFF USED WAS FILDDT'S, NOT
THE FILE'S.
244 RDH 16-SEP-77 SPR # 10-22894
SOME RUBOUT'S STILL GET TYPED OUT.
245 RDH 17-SEP-77 SPR # 10-23013
AFTER REFERENCING AN UNDEFINED SYMBOL, THE UNDEFINED SYMBOL
IS LEFT IN THE SYMBOL CACHE WITH ITS BOGUS VALUE (E.G., THE
ADDRESS TO FIX UP).
246 RDH 25-SEP-77
BE MORE CHOOSEY ABOUT TYPE-IN INVOLVING UNDEFINEDS - CATCH ERRORS
SUCH AS "PUSHJ UND#,FOO" OR "MOVE 4,(UND#)"
250 JNG 15-Aug-78
Search UUOSYM, MACTEN instead of C.
DDT %40A(250) October, 1978
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 19
INTERNAL CHANGES
11.2 Changes From DDT 40A(250) To DDT 41(265)
247 RDH/JNG 16-OCT-77 TO 28-JUN-78
MASSIVE DEVELOPMENT AND REVAMPING: EXTENDED ADDRESSING; JSYSIZE FILDDT;
REMOVE SYMBOL CACHE; ADD $0W AND $1W; DISK SUPER I/O (FILDDT);
PHYSICAL MEMORY ADDRESSING; KS-10 SUPPORT; KI/KL PAGING SUPPORT;
$Z; $8T AND $9T; $.; $U ENHANCEMENTS; $B ENHANCEMENTS; $X EN-
HANCEMENTS; DECOMMIT EXEC PAPER TAPE STUFF; SYMBOLIC TYPEOUT
ENHANCEMENTS; $Y ENHANCEMENTS (TOPS-10 ONLY); NUMEROUS RANDOM
BUG FIXES. CALL VERSION 41.
251 JNG/RDH 15-Aug-78 to 26-Jan-79
Continuing and fixing bugs in 247: Implement hiseg symbol tables
in FILDDT; Allow the symbol table to be in another address space
for EDDT and MDDT; Add $: with no argument; Add "M" error.
252 JNG 4-Feb-79
Change hidden symbol logic to do exec virtual BLT's instead
of switching the EPT base address.
253 DIB 8-Mar-79
Insert a new symbol table cache for output only. Also move
data pages below code pages so symbol cache will fit in UDDT.
254 JNG/RDH 8-Mar-79
Get FAKEAC logic right in $U commands. Broken by 251. Only
setup .JBVER if FILDDT. Add /A (abort on command error) for
$Y. Make ^W work more reasonably on -10. Make fancy rubout
handling automatic on -10 (7.01 only). Add $$. as previous
$. (useful for $$.<$$X etc.).
255 RDH 31-Mar-79
Lost instruction in EDDT for KI-10's. Suppress address breaks
in fetch and store logic. If $$X'ing (or $W'ing (searching)
or $Z'ing (depositing)) and user types a ? then give a quickie
typeout status. Second field test for TOPS-10 7.00.
256 RDH 17-Apr-79
Random version 41 bugs (in particular $P of a breakpoint caused
by XCT'ing a breakpoint location failed). Handle ERCAL/JMP on
$P. Handle INIT UUO.
257 JNG 21-Apr-79
Convert $U command to function codes.
260 RDH 13-May-79
Add ADR$V command to "watch" a location and report any change in
its contents (ADR defaults to last location opened).
261 RDH 22-May-79
Stupid little bugs.
262 RDH 8-Jul-79
DDT41.DOC -- Changes from DDT 37(201)/40A(220) to DDT 41(265) Page 20
INTERNAL CHANGES
XJRSTF and friends want all 36 bits of PC flags, not just the
left-most 18 bits. $I+3 is 36-bit PC flags, $I+4 is 36-bit PC.
263 RDH 16-Jul-79
More stupid little buggies. In particular, n$P broke.
264 DZN 25-Oct-79
Replace SUB in LOOKDN with equivalent code that doesn't overflow.
265 DZN 6-Nov-79
Remove multiply-defined globals $nB, $I, $M when KDDT and MDDT are
loaded together.
12.0 SUGGESTIONS
The following suggestion list has been accumulated from various
sources, including SPRs and DECUS sessions. The appearance of a
suggestion on this list does not necessarily mean that DIGITAL ever
intends to implement it.
1. Implement a byte typein and typeout facility.
2. Implement sorted and block-structured symbol tables.
3. Add error messages.
[End of DDT41.DOC]