 
 The On-Line Debugging Tool (ODT) is an interactive debugging aid that is
 added to a  task by the Task Builder /DA (debugging aid) switch.  Among its
 capabilities, ODT allows the setting of breakpoints and the opening, display
 (in various formats), and modification of task locations. 
 
 For a complete explanation of ODT terminology (what are relocation registers
 and breakpoints) and capabilities, see the IAS/RSX-11 ODT Reference Manual.
 
 For information about addressing and open location displays, type
 
	HELP ODT DISPLAYS
 
 For information about ODT's internal registers, type
 
	HELP ODT REGISTERS
 
 For information about ODT's commands, type
 
	HELP ODT COMMANDS
2 DISPLAYS

 An address is opened by typing an address expression followed by
 one of the following format commands:
 
	/  Word mode octal		\  Byte mode octal
	"  Word mode ASCII		'  Byte mode ASCII
	%  Word mode Radix-50
 
 An address expression has the general form [r,]k[c] where r is the
 number of a relocation register, k is an address, and c is a
 positive or negative constant.  For example,
 
	_0,123+20/ 001433
 
 Once a location is open, it can be be displayed in another format or closed
 by one of the following commands.  If an octal number precedes one of the
 following commands, that number replaces the contents of the open location.
 
	"<CR>"	Close open location and give ODT prompt
	"<LF>"	Open next sequential location
	"^"	Open preceding location
	"@"	Use contents of open location as the absolute
		address of next location to be opened
	"_"	Use contents of open location as PC relative
		offset and open the target location
	">"	Use low order byte of location as the offset in a
		branch instruction and open the target location
2 REGISTERS

 User register n is opened by typing $n/
 ODT has a number of internal registers that can be opened by  typing $x or
 $nx, where x is one of the following and n is the  number of the register
 within the register set (if appropriate). 
 
 S	User PS (Processor Status word)
 W	User $DSW (Directive Status Word)
 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 preceed count registers
 nI	Breakpoint instruction registers
 nR	Relocation registers
 nV	SST vector registers
 nE	SST stack contents registers
 nD	Device control LUN registers
2 COMMANDS

 ODT's commands are:
 
 =	Interpret and display expression
 B	Breakpoint commands (set and remove)
 K	Compute distance
 F	Fill memory
 G	Go (begin execution)
 O	Calculate branch and jump offsets
 P	Proceed from breakpoint
 R	Relocation register commands
 S	Single step
 W	Search memory for bit pattern matches
 K	Search memory for bit pattern exceptions
 E	Search memory for effective address
 L	List memory
 V	Enable ODT's handling of all SST vectors
 X	Exit from ODT (and therefore from the task)
 
 M-PLUS only:
 
 D	Access data space
 I	Access instruction space
 U	Set user mode
 Z	Set supervisor mode
 
 For more information on each command, type
 
	HELP ODT COMMANDS command-symbol
3 =
 k=	Interpret and print expression k as six octal digits and
	store this word in the Q (quantity) register.  For example,
 
	_50122+152=50274
	_
3 B
 B	Remove all breakpoints
 
 nB	Remove nth breakpoint
 
 a;B	Set the next available sequential breakpoint at location a
 
 a;nB	Set breakpoint n at location a
3 K
 K	Using the relocation register whose contents are equal to or closest
	to (but less than) the address of the currently open location,
	compute the physical distance in bytes between the address of the
	currently open location and the value contained in the selected
	relocation register; print this offset and store it in the Q
	(quantity) register.
 
 nK	Do the above using the nth relocation register
 
 a;nK	Do the above between the address a and the nth relocation register
3 F
 F	Fill memory locations within the address limits specified by the low
	memory limit register ($L) and the high memory limit register ($H)
	with contents of the search argument register ($A).
 
 kF	Do the above, but first put the value k into $A.
3 G
 G	Begin execution at the location contained in the User PC ($7).
 
 aG	Begin execution at (put a into $7 and then G).
3 O
 aO	Calculate and print the PC-relative (jump) offset and the 8-bit branch
	displacement from the currently open location to address a.
 
 a;kO	Do the above calculation for address a to address k.
3 P
 P	Proceed from the current breakpoint.
 
 kP	Proceed from the current breakpoint k times before breakpointing
	to the console again.
3 R
 R	Disable the use of all relocation registers (set them to 177777)
 
 nR	Disable the use of relocation register n.
 
 a;R	Set relocation register 0 to the value a
 
 a;nR	Set relocation register n to the value a
3 S
 S	Single step (execute the next instruction and then to an
	automatic breakpoint)
 
 nS	Execute n instructions and then do an automatic breakpoint
3 W
	W or kW or m;W or m;kW
 
 Search memory between the address limits specified by the low
 memory limit register ($L) and the high memory limit register
 ($H) for words with bit patterns which match those of the search
 argument specified in the search argument register ($A).  Compare
 each memory word and the search argument for equality under the
 mask specified in the search mask register ($M).  If m and k are
 specified, put their values into $A and $M before searching.
3 N
	N or kN or m;N or m;kN
 
 Search memory between the address limits specified by the low memory
 limit register ($L) and the high memory limit register ($H) for
 words with bit patterns which do not macth those of the search
 argument register ($A) under the search mask register ($M).  If m
 and k are specified, put their values into $A and $M before searching.
3 E
	E or kE or m;E or m;kE
 
 Search memory between the address limits specified by the low memory limit
 register ($L) and the high memory limit register ($H).  Examine these
 locations for references to the effective address specified in the search
 argument register ($A), as masked by the value specified in the search mask
 register ($M). If m and/or k are specified, their values are placed in $M and
 $A before the search is started.
3 L
	L  or  kL  or  a;L  or  a;kL  or  n;a;kL
 
 List on an output device  all word or byte locations in the task
 between the address  limits specified by the low memory limit register
 ($L) and the  high memory limit register.  If k and/or a is 
 specified, their values are placed in $H (high search limit register) 
 and $L (low search limit register) before the search begins. 
3 F
 F	Fill memory locations within the address limits specified by the
	low memory limit register ($L) and the high memory limit register
	($H) with the contents of the search argument register ($A).
 
 kF	Fill memory as above, but put the value k into $A before beginning.
3 V
 V	Enable ODT's handling of all SST vectors.  See the V registers ($nV).
3 X
 X	Exit from ODT and therefore from the task.
 
