AT or ATA - set action breakpoint.
Syntax:
at <address>[<op>][;<userrout>] <commands>
Where:
- <address>
- tells TRACE where to set the breakpoint.
- <op>
- is an optional operator indicating conditions under which
the breakpoint should be triggered. Possible values of
"op" are
- :eq:
- trigger breakpoint only if zero indicator is on
- :ne:
- trigger breakpoint only if zero indicator is off
- :lt:
- trigger breakpoint only if negative indicator is
on
- :le:
- trigger breakpoint only if negative or zero
indicator is on
- :gt:
- trigger breakpoint only if negative or zero
indicators are off
- :ge:
- trigger breakpoint only if negative indicator is
off
- :llt:
- trigger breakpoint only if carry indicator is off
- :lle:
- trigger breakpoint only if carry indicator is off
or zero indicator is on
- :lgt:
- trigger breakpoint only if carry indicator is on
and zero indicator is off
- :lge:
- trigger breakpoint only if carry indicator is on
- <userrout>
- is the address of a user-supplied routine. This routine
is called to determine what action should be taken once
the breakpoint is triggered. For further information, see
below.
- <commands>
- is a list of TRACE commands separated by /'s. These
commands will normally be executed when the program hits
the breakpoint, although other factors can prevent this
from happening (see below). If you want the program to
continue after performing the requested actions, the last
command should be "r" (resume).
Description:
An action break point is a breakpoint where the user has
specified a list of actions that the trace package is supposed to
do whenever the breakpoint is reached.
The user may supply the address of code that is called to
determine what action should be taken when the breakpoint is
triggered. The code is called with a TSX1 instruction. Upon entry
to the user-supplied code, index register 3 points to the values
of the IC and I registers, and index register 4 points to normal
register values. The user-supplied routine indicates what action
to take by returning to some offset from X1.
- TRA 0,1
- tells TRACE to do nothing -- just execute the instruction
at the breakpoint and keep going.
- TRA 1,1
- tells TRACE to execute the commands associated with the
breakpoint, then to resume normal execution with the
instruction at the breakpoint.
- TRA 2,1
- tells TRACE to execute the commands associated with the
breakpoint, then pause for user interaction.
- TRA 3,1
- tells TRACE to pause.
Examples:
at 001003 x/r
will display the A register whenever location 1003 is reached.
The space to hold the command string is allocated from the
same pool as that used by the ALLOcate command. Deleting an AT
type breakpoint does not return memory to the pool, but the pool
can be reset using the "I S" (Initialize Storage)
command. You must of course delete and replace all AT type break
points if you do this.
See Also:
- expl trace allocate
- for more information about the memory pool.
- expl trace b
- for how to establish a normal breakpoint.
- expl trace i
- for how to re-initialize the memory pool.
Copyright © 1996, Thinkage Ltd.