Trailing-Edge
-
PDP-10 Archives
-
AP-D543V_SB
-
ddt40a.doc
There is 1 other file named ddt40a.doc in the archive. Click here to see a list.
DDT.DOC -- Changes from V40(220) to V40A(250)
July 1978
COPYRIGHT (C) 1974,1978 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.
DDT40A.DOC Page 2
DDT.DOC -- Changes from V40(220) to V40A(250)
July 1978
1.0 SUMMARY
DDT version 40A is a maintenence release intended to increase the
reliablity of DDT in the field. Several minor features have also been
added.
This version of DDT has not been tested under the TOPS-20 operating
system, but there are no known problems that will prevent it from
working under TOPS-20.
This version of DDT supersedes all previous versions. It runs under
all supported TOPS-10 monitors and EDDT runs stand-alone on KA10,
KI10, and KL10 (including 1088) systems.
DDT is documented in Software Notebook vol. 2, 8, and 12.
2.0 EXTERNAL CHANGES
The maximum offset at which DDT is willing to type a value in the
"symbol plus offset" form is now user-settable. The command format is
n$2M, where n is the maximum offset to use. The default value has
also been changed to 1000 octal in all flavors of DDT.
The $O command has been enhanced to allow typeout of variable-sized
bytes. To do this, the user should set a byte mask via n$3M, where
each bit set in n indicates the rightmost bit of a byte (bit 35 should
always be set). To use the byte mask, the user should specify a byte
size of zero ($0O). In addition, a blank byte size (just $O) will use
the prevailing byte size if any, or the $3M byte mask if not.
Radices greater than 10 now work correctly in the $nR command. In
particular, $16R will now correctly type out hexadecimal. All digits
greater than 9 are mapped onto the alphabet for typeout.
The $< patching feature puts the patch at .JBFF if it cannot find any
of the standard patching symbols (PAT.., PAT, or PATCH). With DDT
V40A, the $> command will now update the left half of .JBSA, so that
the patch will not be overwritten by a RESET UUO.
Word searches ($W, $N, and $E) now correctly search through
non-contiguous pages.
Several typeout bugs relating to the symbol cache have been fixed.
Code has been added to make DDT smarter when typing out UUOs, TTCALLs,
user LUUOs, and OPDEFs. This code is under the FTOPX feature test,
which is normally off in released DDT. Sites wishing to turn this
feature test on are warned that it slows down typeout a great deal,
DDT40A.DOC Page 3
and will continue to do so until sorted symbol tables are available.
Several other minor bugs from user complaints and SPRs have been
fixed.
3.0 KNOWN BUGS AND DEFICIENCIES
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.
The commands $<CR>, and $<LF> do not detect the attempt to recall more
than was saved.
When looking at user rather than exec memory (e.g. n$mU), the AC's
still come from CRSHAC rather than the user pages.
Users may experience some problems with high segment symbol tables,
especially if the high segment starts at an address other than 400000.
Some problems relating to the symbol cache are known to remain. In
particular, typing a value out as "symbol plus offset" may select
different symbols at different times.
$X cannot handle the INIT MUUO in user mode.
4.0 INSTALLATION INSTRUCTIONS
Copy the following files from the distribution tape onto SYS:
DDT.REL
DDT.EXE
EDDT.REL
FILDDT.EXE
DDT.VMX (VM systems only)
5.0 INTERNAL CHANGES
Edit #
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.
DDT40A.DOC Page 4
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
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.
DDT40A.DOC Page 5
$$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".
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#)"
247 Reserved for development.
DDT40A.DOC Page 6
250 JNG 15-Aug-78
Search UUOSYM, MACTEN instead of C.
6.0 SUGGESTIONS
Many, on file at DIGITAL.
[End of DDT40A.DOC]
[DDT40.DOC is appended as an integral part of DDT40A.DOC]
DDT40.DOC Page 7
DDT.DOC -- Changes from V36(152) to V40(220)
January 1977
1.0 SUMMARY
This version of DDT includes a number of new features, input text
editing (rubout, control-U, control-R, etc.), improved KL10 support,
patch command, effective address calculation and several minor
features.
DDT version 40 also fully supports the TOPS-20 operating system.
This version of DDT supersedes all previous versions. It runs under
all supported TOPS-10 and TOPS-20 monitors and EDDT runs stand-alone
on KA10, KI10, and KL10 (including 1088) systems.
DDT is documented in Software Notebook vol. 2B, 5, and 7.
2.0 EXTERNAL CHANGES
Full input text editing. This means you can delete the last character
with rubout, delete the last field with ^W. ^U deletes the whole line
and is generally equivalent to rubout in previous versions of DDT.
Stack of previous sequences. Each time a new sequence is explicitly
begun, the current location is saved in a ring buffer. The commands
$<LF>,$<CR>, and $^ remove the last item from this ring buffer and
make it the current location. Previous DDTs had only one such saved
location.
The command $<CR> pops the saved location stack as above, then it
opens and types out that location. Previously, the saved location was
made current, but the register was not opened.
During $W, $N, and $E searches, each location found is added to the
saved location stack. Thus, successive $<CR> commands will let you
scan through the set of locations found, making any changes necessary.
Text typing (" and $") allows you to type multiple words of text. As
each word is filled, it is stored in the next successive location at
or following the current open register. If no register is open,
characters after the first word are ignored.
***WARNING***
Words are stored in memory as they are assembled. If ^U or repeated
rubouts are used to cancel the command, memory may have been altered
anyway. The value of the location counter (.) will always be correct.
DDT40.DOC Page 8
The effective address of the typed quantity will be computed and used
to open a register if any register opening command is preceeded by $,
i.e., 1(P)$/ will open the location following the one pointed to by P.
The patch command has been added. This consists of:
$< - patch before
$$< - patch after
$> - end patch
$ or $$ inserts a patch into the currently open register. 'Before'
means before the instruction at that location; 'after' means after
it. When you begin a patch, DDT will open the first location in the
patch area. The patch area is defined by the symbol PAT.. (or PAT or
PATCH whichever is found first). Alternately, you can type a single
symbol preceeding the patch begin command (e.g., FF$<), and it will be
taken as the beginning of the patch area. If you are doing a patch
'after', DDT will insert your original instruction and then open the
next location. You may now proceed to enter your patch.
When you have finished the patch, type $> and DDT will:
1. Close the current register if any.
2. If a patch 'before' was originally given, DDT will insert the
instruction from the original location.
3. DDT will insert JUMPA 1,LOC+1 and JUMPA 2,LOC+2, where LOC is
the original patch location. Thus skipping instructions may
be patched.
4. DDT will now replace your original instruction with a JUMPA
to the start of the patch and will redefine PAT.. (or
wherever the patch location came from) to be the first free
cell after your patch.
Note that the original location is not changed until the patch
completion command is given. Thus, you can give up or restart
the patch at any time. DDT remembers the parameters of the most
recent patch begin command and uses them at the patch completion
whereupon they are forgotten. A second patch completion command
given will produce an error indication.
DDT was modified to run under the TOPS-20 operating system.
All impure storage has been collected and is located at the end of
DDT.
A bug in FILDDT has been corrected. In previous versions, FILDDT
would not produce the message "%PATCHING NOT ENABLED BY /P" in all
cases.
DDT40.DOC Page 9
$V is now illegal, $$Q should be used instead. Version 36 generated a
warning message.
DDT no longer outputs rubouts in user mode.
Several bugs related to write protected symbol tables with undefined
symbols have been corrected.
When using $X under TOPS-20 DDT will print either $, $$, or $$$
depending if the instruction does not skip, skips or double skips.
EDDT will now print ? if an exec node reference would cause a page
failure on a KI10, KL10 or 2040.
On a KL10 or 2040 EDDT preserves the contents of the performance
meter, time base and interval timer.
On a KL10 or 2040 EDDT will allow the exec page table to be moved.
This is required for 1088.
"/D" to FILDDT edits file in data mode, not as .EXE or .XPN format.
Useful for .REL files etc., or to look at .EXE directories. The /D
switch is assumed if the file is not .XPN or .EXE format.
FILDDT will handle a file up to 8192 pages (4 mega-words) in length.
"1$1M" causes <DEL> to echo as backspace space backspace, "0$1M"
returns to "echoing" the deleted character (this is useful only on
TOPS-10 or in EXEC mode, on certain video terminals).
The "$Y" command is now available in user mode DDT. Channel 17 is
used to read in the command file.
3.0 KNOWN BUGS AND DEFICIENCIES
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.
The commands $<CR>, and $<LF> do not detect the attempt to recall more
than was saved.
A control-Z, start sequence does not clear the $U pointers.
When looking at user rather than exec memory (e.g. n$mU), the AC's
still come from CRSHAC rather than the user pages.
Word searches do not correctly search all existing pages if some pages
are non-contiguous.
Users may experience some problems with high segment symbol tables,
especially if the high segment starts at an address other than 400000.
DDT40.DOC Page 10
4.0 INSTALLATION INSTRUCTIONS
Full details of the assembly procedure are given in the DDT control
file.
5.0 INTERNAL CHANGES
None.
6.0 SUGGESTIONS
None.
[End of DDT40.DOC]
[DDT36.DOC is appended as an integral part of DDT40.DOC]
DDT36.DOC Page 11
DDT.DOC -- Changes from V35 to V36
January, 1975
1.0 SUMMARY
This version of DDT includes a number of new features, KL10 support,
support for .EXE files in FILDDT, speedup of FILDDT and support for
page maps in exec and file DDT.
This version of DDT supersedes all previous versions. It runs under
all monitors and EDDT runs stand-alone on KA10, KI10, and KL10
systems. This version corrects the DATE75 bug in version 35.
DDT is documented in Software Notebook vol. 2B, 5, and 7.
2.0 EXTERNAL CHANGES
Redefine device code 200 from UTC to DTE for the DTE-20. (EDDT and
FILDDT only).
Print "VMDDT" when VMDDT is started. (VMDDT only)
Modify FILDDT to handle .EXE files produced by 6.02. If the file
begins with a word with 1776 in the left half it is assumed to be in
.EXE format. If word zero is zero it is assumed to be an .XPN format
file. If word zero is neither 1776,,N or zero a warning message is
printed and the file is assumed to be in .XPN format except FILDDT
will not look for symbols. (FILDDT only)
FILDDT now uses multiple buffers to hold the file it is using. The
number of buffers is controlled by the symbol CT.RES which is
currently 5. The buffer size has been increased from 400 words to 1
page. This edit makes FILDDT much faster. (FILDDT only).
FILDDT now handles AC differently. If the file being read is not
being patched, FILDDT will copy the AC's from CRSHAC to DDT's internal
AC save area. This allows crash AC's to be examined by typing 5/
instead of CRSHAC+5. Any attempt to modify 0-17 will only change
DDT's internal AC save area and never modify the running monitor or
the file. This is handy for doing effective address searchs on a
crashed or running monitor. (FILDDT only)
EXEC DDT now runs on a KL10. (EDDT only).
Any attempt to use $V will generate the message "%USE $$Q". There is
no other change to $V. (all DDT's)
If an instruction is executed with $X and it skips "<SKP>" is printed.
In single instruction mode "<JMP>" is printed after a successful jump.
A successful jump is one which the PC is other than .+1 or .+2.
(EDDT, UDDT, and VMDDT only).
DDT36.DOC Page 12
There is a new FILDDT feature for use on KI10s and KL10s in KI PAGING
mode. The feature works as follows:
$U sets absolute addressing
k$U sets user paging with UPT at page k
k$nU sets exec paging with UPT at page k and EPT at n
Thus "502$U 500/" would display user 500 not exec 500. This is
especially nice because tab, $$Q and other neat DDT commands are
useable.
If the undefined symbol table points to a hiseg which has been deleted
with a CORE UUO or GETSEG previous versions of DDT would halt on any
attempt to deposit. This has been changed so that DDT will not halt,
however, DDT may not be able to fix up undefined symbols while in this
state.
If a location is opened with a square bracket ([) and a line-feed is
typed DDT will open the next location with a square bracket instead of
a slash (/).
DDT now operates correctly with hisegs that begin at other than
400000.
The following KL10 opcodes have been added to DDT's built-in table:
JSYS, EXTEND, DADD, DSUB, DMUL, DDIV, and ADJSP.
OPDEFS have been added for KL10 "funny instructions". These opcodes
are: APRID, WRFIL, RDERA, SBDIAG, CLRPT, SWPIA, SWPVA, SWPUA, SWPIO,
SWPVO, SWPUO, RDPERF, RDTIME, WRPAE, RDMACT, and RDEACT.
DDT has been changed to perserve $R or $S mode around $O commands.
Also if the permanant mode is $O (e.g. $$4O) and $O is used to
generate a temproary mode ($$18O), DDT now remembers the permanant
byte size not the temporary.
3.0 KNOWN BUGS AND DEFICIENCIES
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., $23M is the same as $M.
4.0 INSTALLATION INSTRUCTIONS
None.
DDT36.DOC Page 13
5.0 INTERNAL CHANGES
None.
6.0 SUGGESTIONS
None.
[End of DDT36.DOC]
[DDT35.DOC is appended as an integral part of DDT36.DOC]
DDT35.DOC Page 14
DDT.DOC -- Changes from V34 to V35
April 1974
1.0 SUMMARY
This release of DDT supports several new features. First, is a single
instruction procede feature. This allows the user to single step
through his program 1 instruction at a time (subroutines may be traced
or executed as a block). There is also support for virtual memory.
Under 6.01 DDT will use the PAGE. UUO to determine if a page may be
accessed. There is also a new assembly option for DDT to produce
DDT.VMX (DDT.VMX is a special version of DDT loaded on the DDT command
if .JBDDT is zero).
This version supersedes all previous versions and has no new
deficiencies. It's only dependence is that 5.04 (or later) is
required if patching the running monitor is desired. If DDT.VMX is to
be used the 6.01 monitor is required.
DDT is documented in the software notebook vol. 6. FILDDT is
described in PATMON, located in software notebook vol. 9.
2.0 EXTERNAL CHANGES
A feature has been added to DDT to allow a single step execute. It
operates as follows:
$X (without an argument) executes the next instruction. This is the
instrction about to be executed either when the last breakpoint
was hit or after the last $X was executed. After the instruction
is executed the PC is updated (however, the breakpoint is not
moved). $P will always do the right thing after any number of
$x's. AFTER executing the instruction, DDT prints out the
contents of referenced locations. These are printed in floating
point where appropriate. The modified flags are also printed out
for JRSTF and JFCL. Then the next instruction is printed out
(always in symbolic despite temporary or permanent output mode
settings). A blank line is between the operands and the next
instruction if the instruction executed was a skip or a jump that
actually skiped or jumped.
n$X where n2**27: performs $X n times, as above.
n$$X where n2**27: same as n$X except that printout is suppressed for
all but the last instruction executed.
$$X (without an argument) performs $X indefinately, without printing
anything, until the PC reaches either .+1 or .+2. This is useful
if one wants to execute a debbuged subroutine.
n$X (where n is a instruction) functions as it always has.
DDT35.DOC Page 15
Notes:
1. DDT looks for typein after each instruction in an n$X cycle.
This is the same as done by the search logic.
2. Breakpoints are not in place during a $X.
3. In exec mode, DDT does not restore the PI system during $X.
3.0 KNOWN BUGS AND DEFICIENCIES
There are 2 minor problems in exec mode on a KI10. First, if single
instruction procede ($X) is used to execute an executive execute the
memory operand displayed is shown in exec rather than user address
space, however, the instruction did execute correctly. Second, if a
break point is placed on an MUUO exec mode DDT will not procede
correctly.
4.0 CHANGES IN INSTALLATION INSTRUCTIONS
All are represented in DDT.CTL file.
5.0 INTERNAL CHANGES.
The breakpoint logic was improved to work correctly on a KI10 in exec
mode (except for the cases noted in section 3). In particular, a
breakpoint on a XCT will always operate correctly.
DDT will no longer fail on a KI10 if one of the sense switches is set.
DDT will use the PAGE. UUO (in 6.01 monitors) to determine if a page
may be read or written. This allows non-contiguous core images to
work correctly.
FILDDT patching logic was corrected to work properly.
6.0 SUGGESTIONS
None.
[End of DDT35.DOC]