On-line Debugging Tool: Difference between revisions

Content deleted Content added
Example: Had incorrect PDP-11 syntax for immediate mode and character literal
m Fix link to bitsavers.
 
(11 intermediate revisions by 11 users not shown)
Line 1:
'''On-line Debugging Tool''' ('''ODT''') wasis useda tofamily describeof several [[debugger]] programs developed for [[Digital Equipment Corporation]] (DEC) hardware. Various [[operating system]]s including [[OS/8]], [[RT-11]], [[RSX-11]], and [[RSTS/E]] implementedimplement ODT, as did the [[firmware]] console of all of the [[LSI-11]]-family processors including the 11/03, 11/23/24, 11/53, [[PDP-11/73|11/73]], and 11/83/84.
 
The debugger allowedallows access to memory using [[octal]] addresses and data. Within the [[software system]]s, the debugger accessedaccesses the process's address space. DEC's line of PDP-11 processors diddo not implement [[virtual memory]], from an operating system perspective, but instead workedwork off ofin a fixed address space, which wasis mapped into a unified view of the program's address space, using an Active Page Register (APR). An APR couldcan map the program's RAM in increments of 4K 16-bit words, to a maximum of 32K. In other words, an APR couldcan map 8 segments of RAM, each limited to 4K. Because of this structure, the maximum RAM an APR wasis able to map wasa maximum of 32K 16-bit words in RAM. In the case of RSTS/E, this usually meantmeans that a Runtime System, or RTS, mappedmaps to the upper portion of the address space and a user program residedresides in the lower portion of the address space. The RTS providedprovides code to support access to the Operating System, on behalf of the user program; the RTS itself storedstores any of its non-static data in the address space of the user program, because the RTS wasis typically read-only. The operating system loadedloads a single copy of the RTS and this wasis mapped to any user program that requiredrequires that RTS. The APR would beis set to map the RTS into the upper portion of the program's address space, in 4K4 KiB increments. So the BASIC Plus RTS (for the Basic+ Programming Language) typically mappedmaps 16K16 KiB to itself and the user program wasis mapped, in 4K4 KiB increments, in the lower 16K16 KiB. The RT11 RTS occupiedoccupies 4K4 KiB, so a user program, like the RT11-based Peripheral Interchange Program (PIP), couldcan expand to a maximum of 28K28 KiB.
 
ODT couldcan be used to "patch" binary modules, like an RTS, without requiring the re-compilation of the binary's source.
 
The firmware console implementation accessedaccesses [[physical memory]].
 
ODT is a non-symbolic debugger and implements similar functionality to [[Advanced Debugger]] (adb) on [[Unix]] systems.
 
==Console ODT==
Console ODT<ref>p192-202 ''PDP-11 Processor Handbook: pdp11/04/24/34a/44/70'', Digital, 1981</ref> replacedreplaces the "lights and switches" console of many of the earlier processors.
 
Access to console ODT is obtained either from power up (with appropriate power up mode selected), by the execution of a HALT instruction in kernel mode, or by use of the front panel halt switch or button.
Line 24:
 
This deposits the program
<syntaxhighlight lang="nasm">
 
MOVB #'A', @#177566 ; Move 'A' into console transmit register
JMP @#1000 ; Jump back to start
</syntaxhighlight>
 
The deposit to the PC [Program Counter], sets the PC to the start of the program and the deposit to the PSW [Program Status Word] locks out interrupts.
 
Line 47:
The underscore is the standard ODT prompt.
 
Addresses in the ODT debugger are 16 -bit addresses in the mode in which ODT is operating, not the physical addresses used with console ODT.
 
==OS/8 SeeOctal alsoDebugging Technique==
The [[PDP-8]]'s [[OS/8]] operating system's ODT command<ref>Reference manual DEC-D8-COCO-D, ODT-8, Dec. 1967 {{cite web
* [[Dynamic debugging technique|Dynamic Debugging Technique]]
|url=http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DEC-D8-COCO-D%20ODT-8.pdf
<!-- [[XDT]] -- Executive Debugging Technique -->
|title=DEC-D8-COCO-D ODT.pdf |website=BitSavers.org}}</ref> invokes its ''Octal Debugging Technique'' tool.
 
As with the subsequent PDP-11 ODT programs, it is non-symbolic, and it can examine or modify memory, and also set breakpoints.
 
==See also ==
* [[Dynamic debugging technique|Dynamic Debugging Technique]] (DDT)
* [[Executive Debugging Technique]] (XDT)<!-- link with possibilities -->
 
==References==
{{Reflist}}
 
{{Digital Equipment Corporation}}
 
[[Category:Debuggers]]
[[Category:DECDigital operatingEquipment systemsCorporation]]