On-line Debugging Tool

On-line Debugging Tool
For other expansions of "ODT", see ODT.

On-line Debugging Tool, or ODT, was the name of several debugger programs originally developed for DEC hardware. Various operating systems including OS/8, RT-11, RSX-11, and RSTS/E implemented ODT as did the firmware console of all of the LSI-11-family processors including the 11/03, 11/23/24, 11/53, 11/73, and 11/83/84.

The debugger allowed access to memory using octal addresses and data. Within the software systems, the debugger accessed the process's virtual memory. The firmware console implementation accessed physical memory.

ODT is a non-symbolic debugger and implements similar functionality to adb on Unix systems.

Contents

Console ODT

Console ODT[1] replaced 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.

Commands

Console ODT commands are as follows:

Command Effect
/ or a/ Opens the current memory location or a if specified
<CR> Close currently open location or register
<LF> Close currently open location or register and open next
P Proceed, execute next instruction with no imlied reset If the halt switch is down this is allows for single steppinng
<addr>G Load PC with <addr>, reset and commence execution at address
Rn/ or $n/ Open register n
RS/ or $S/ Open PSW
If console ODT encounters a bus timeout it displays ?<CR><LF>

Example

@1000/ xxxxxx 112737<LF>
001002 xxxxxx 101<LF>
001004 xxxxxx 177566<LF>
001006 xxxxxx 137<LF>
001010 xxxxxx 1000<CR>
>R7/xxxxxx 1000<CR>
>RS/340

This deposits the program

MOVB 'A', @#177566  ; Move 'A' into console transmit register
JMP @#1000        ; Jump back to start

The deposit to the PC, sets the PC to the start of the program and the deposit to the PSW locks out interrupts.

The effect of this will be to write a stream of "A" to the console. As there is no check for transmitter ready, it is highly probable that a large number of garbage characters will be displayed.

RSX-11M-Plus ODT

The RSX-11M-Plus ODT[2] is essentially a superset of all other ODT implementations.

ODT is implemented as code that is linked with a task using the Task Builder /DA switch.

TKB HELLO/DA,HELLO/CR=HELLO

Once any task built with ODT is run ODT is invoked on entry.

RUN HELLO
ODT:TT0
_

The underscore is the standard ODT prompt.

It should be remembered that addresses in the ODT debugger are 16 bit virtual addresses in the mode in which ODT is currently operating, not the physical addresses used with console ODT.

Commands

Command Effect
. Current location indicator i.e. address of last location opened
<CR> or k<CR> Closes current location/register. If k is specified stores the value k in the currently open location before closing it.
<LF> or k<LF> Closes current location/register and opens next If k is specified stores the value k in the currently open location before closing it.
^ or k^ Closes currently open location and opens immediately preceding. If k is specified stores the value k in the currently open location before closing it.
_ or k_ Opens the location calculated by using the contents of the present location as a PC relative offset if k is specified deposits the value k in the present location before opening the new location
@ or k@ As _ except using the contents of the current location as an absolute address
> or k> Treats the low order byte of the currently open location as a branch offset, calculates the destination address of the branch and opens that location. If k specified stores the value k in the currently open location before opening the new location
< or k< If the currently opened location was opened using the commands _ or > or @ closes the currently open location and reopens the location most recently opened using <lf>, ^, or /.
$n One of the eight general purpose processor registers
$x or $nx Represents the address of one of ODT's internal registers
Identifier Register
S PSW
W Directive status word for user task
A Search argument register
M Search mask register
L Low memory limit register
H High memory limit register
C Constant register
Q Quantity Register
F Format Register
X Reentry vector register
nB Breakpoint address registers
nG Breakpoint proceed count registers
nR Relocation registers
nV SST vector registers
nE SST stack contents registers
nD Device control (LUN registers)
" or a" Word mode ASCII Displays contents of the location a or the currently open location as ASCII and stores the contents of this location to $Q register.
' or a' Byte mode ASCII
 % or a% Radix50 operator. Displays the contents of the location a or the currently open location as RADIX 50 and stores the contents of this location to $Q register.
/ or a/ Word mode octal operator. operator. Displays the contents of the location a or the currently open location as octal and stores the contents of this location to $Q register. \ or a\ Byte mode octal operator. operator. Displays the contents of the location a or the currently open location as octal and stores the contents of this location to $Q register.
k= Evaluates the expression k, displays its value in octal and stores the result to $Q
B Removes all breakpoints from current task
nB Removes breakpoint n from current task
a;nB Sets breakpoint n at address a in user task
C Represents the contents of the $C register
D I/D systems only access D space
E or kE or m;E or m;kE Searches memory from $L (low memory limit register) to $H high memory limit register for references to the effective address specified by $A (search argument register) as masked by the value specified by $M (search mask register). If k is specified k replaces the contents of $A. If m is specified m replaces the contents of $M. References will match if they are an absolute match, a pc relative match or a branch displacement to $A.
F or kF Fills memory from $L to $H with the contents of $A. If k is specified k replaces the contents of $A before the command is executed.
G or aG Substitutes all breakpoints with BPT instructions. Restores user registers. If a is specified the PC is loaded with a, and begins executing user task.
I I and D systems only - access I space
P or kP Proceeds with program execution and stops when the end of the program or the next breakpoint is reached. If k is specified the program stops only after it has executed the next breakpoint k times.
S or nS Ececutes one instruction or n instructions if n specified.
U RSX-11M-Plus only accesses user mode memory
V Enables ODT handling of all SST vectors
X Exits user program and ODT and returns to the executive.
Z RSX-11M-Plus only accesses supervisor memory

See also

References

  1. ^ p192-202 PDP-11 Processor Handbook: pdp11/04/24/34a/44/70, Digital, 1981
  2. ^ IAS/RSX-11 ODT Reference Manual, Order Number AA-M507A-TC, Digital, 1982



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Delta Debugging — automates the scientific method of debugging. The Delta Debugging algorithm isolates failure causes automatically by systematically narrowing down failure inducing circumstances until a minimal set remains. Delta Debugging has been applied to… …   Wikipedia

  • ODT — The term ODT can refer to several things, among them: .ODT, the word processing file format of OpenDocument, an open standard for electronic documents Otago Daily Times New Zealand s oldest daily newspaper O.D.T., Or Die Trying, is a video game… …   Wikipedia

  • Debugger — A debugger or debugging tool is a computer program that is used to test and debug other programs (the target program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great… …   Wikipedia

  • Atmel AVR — AVR logo. Atmel AVR ATmega8 in 28 pin DIP . The AVR is a …   Wikipedia

  • List of build automation software — Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with the build automation process. Contents 1 Make based tools 2 Non Make based tools 3… …   Wikipedia

  • Core dump — A core dump gets its name from an old memory technology using tiny magnetic cores, shown here at 50x magnification. In computing, a core dump (more properly a memory dump or storage dump) consists of the recorded state of the working memory of a… …   Wikipedia

  • Digital electronics — Main articles: Electronics and Electronic circuit Digital electronics represent signals by discrete bands of analog levels, rather than by a continuous range. All levels within a band represent the same signal state. Relatively small changes to… …   Wikipedia

  • Joint Test Action Group — (JTAG) is the usual name used for the IEEE 1149.1 standard entitled Standard Test Access Port and Boundary Scan Architecture for test access ports used for testing printed circuit boards using boundary scan.JTAG was an industry group formed in… …   Wikipedia

  • High Level Assembly — Infobox Software name = High Level Assembly (HLA) Language developer = Randall Hyde latest release version = 1.102 Beta latest release date = release date|2008|05|02 operating system = Windows, Linux, FreeBSD, Mac OS X genre = Assembler license …   Wikipedia

  • MAC/65 — was an assembler produced by Optimized Systems Software for the Atari 8 bit family of microcomputers. It was a direct descendant of OSS s EASMD. Much like the Atari Assembler Editor cartridge, MAC/65 combined a line editor, assembler, and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”