diff options
| -rw-r--r-- | doc/mdk_gstart.texi | 6 | ||||
| -rw-r--r-- | doc/mdk_mixvm.texi | 48 | 
2 files changed, 49 insertions, 5 deletions
| diff --git a/doc/mdk_gstart.texi b/doc/mdk_gstart.texi index 4c8b025..25764a0 100644 --- a/doc/mdk_gstart.texi +++ b/doc/mdk_gstart.texi @@ -423,7 +423,11 @@ thus, in the above example we have requested a breakpoint at a line  which does not correspond to a MIX instruction and the breakpoint is set  at the first line containing a real instruction after the given one. To  unset breakpoints, use @code{cbpa ADDRESS} and @code{cbp LINE_NO}, or -@code{cabp} to remove all currently set breakpoints.  +@code{cabp} to remove all currently set breakpoints. You can also set +conditional breakpoints, i.e., tell @code{mixvm} to interrupt program +execution whenever a register, a memory cell, the comparison flag or the +overflow toggle change using the commands @w{@code{sbp[rmco]}} +(@pxref{Debug commands}).  MIXAL lets you define symbolic constants, either using the @code{EQU}  pseudoinstruction or starting an instruction line with a label (which diff --git a/doc/mdk_mixvm.texi b/doc/mdk_mixvm.texi index 87449b1..f5538cd 100644 --- a/doc/mdk_mixvm.texi +++ b/doc/mdk_mixvm.texi @@ -220,6 +220,7 @@ execution).  @end deffn  @deffn {debug command} sbp line_number +@deffnx {debug command} cbp line_no  Sets a breakpoint at the specified source file line number. If the line  specified corresponds to a command or to a MIXAL pseudoinstruction which  does not produce a MIX instruction in the binary file (such as @@ -252,22 +253,61 @@ since line 7 is the first one compiled into a MIX instruction (at  address 3000). In order to @code{sbp} to work, the source file must be  compiled using the @code{-g} flags, which tells @code{mixasm} to include  debug information in the binary @file{.mix} file. + +The command @code{cbp} clears a (previously set) breakpoint at the given +source file line.  @end deffn  @deffn {debug command} spba address +@deffnx {debug command} cbpa address  Sets a breakpoint at the given memory @var{address}. The argument must  be a valid MIX memory address, i.e., it must belong into the range  @w{[0-3999]}. Note that no check is performed to verify that the  specified address is reachable during program execution. No debug  information is needed to set a breakpoint by address with @code{sbpa}. +The command @code{cbpa} clears a (previously set) breakpoint at the +given memory address. +@end deffn + +@deffn {debug command} sbpr A | X | J | Ii +@deffnx {debug command} cbpr A | X | J | Ii +Sets a conditional breakpoint on the specified register change. For +instance,  + +@example +sbpr I1 +@end example + +@noindent +will cause an interruption during program execution whenever the +contents or register @code{I1} changes. A previously set breakpoint is +cleared using the @code{cbpr} command. +@end deffn + +@deffn {debug command} sbpm address +@deffnx {debug command} cbpm address +Sets a conditional breakpoint on the specified memory cell change. The +argument must be a valid MIX memory address, i.e., it must belong into +the range @w{[0-3999]}. For instance, + +@example +sbpm 1000 +@end example + +@noindent +will cause an interruption during program execution whenever the +contents or of the memory cell number 1000 changes. A previously set +breakpoint is cleared using the @code{cbpm} command.  @end deffn -@deffn {debug command} cbp line_no -Clears a (previously set) breakpoint at the given source file line. +@deffn {debug command} sbpo  +@deffnx {debug command} cbpo  +Sets/clears a conditional breakpoint on overflow toggle change.  @end deffn -@deffn {debug command} cbpa address -Clears a (previously set) breakpoint at the given memory address. +@deffn {debug command} sbpc  +@deffnx {debug command} cbpc  +Sets/clears a conditional breakpoint on comparison flag change.  @end deffn  @deffn {debug command} cabp | 
