7 setting and clearing breakpoints, 8 continuing the program, 9 single step – ElmoMC SimplIQ Software Manual User Manual
Page 92: 1 run to cursor, Setting and clearing breakpoints -30, Continuing the program -30, Single step -30

SimplIQ
Software Manual
Program Development and Execution
MAN-SIMSW (Ver. 1.4)
6-30
6.7.7
Setting and Clearing Breakpoints
The
SimplIQ
drive supports up to six breakpoints simultaneously: five user-defined
breakpoints and one for internal IDE use. Breakpoints can be set any time and any place,
regardless of if the program is running or not.
Syntax:
DP##BP=xxx
Sets a breakpoint at program counter xxx
DB##BP=xxx,n
Sets a breakpoint at line program counter, activated only after
n
repetitions
DB##BC=xxx Removes
a
breakpoint at the program counter
DB##BC
Removes all breakpoints
where:
xxx is 4 bytes unsigned long.
n is 2 bytes signed short.
6.7.8
Continuing the Program
When the program reaches a breakpoint, it stops running the entire set of existing virtual
machines. To continue running the program, the DB##GO is used.
Syntax:
DB##GO and DB##GO[N]
where N is a handle of a specified VAC machine.
The program continues to run from the current program counter. The DB##GO command
continues running all VAC machines, while the DB##GO[N] command continues running
the specified VAC machine.
In order to determine which existing VAC machine has a program counter equal to the
program counter of the breakpoint, the DB##MS command must first be sent in order to
determine which VAC machines exist. Afterwards, the DB##PS command must be sent for
all existing VAC machines in order to get the program counter for comparison with the
breakpoint program counter. It is possible that several VAC machines will have a program
counter equal to the breakpoint program counter; in such a case, they may all be chosen as
the specified VAC machine.
6.7.9
Single Step
When a program reaches a breakpoint, the user may decide to continue running in single-
step mode.
6.7.9.1 Run to Cursor
In this situation, the IDE sets a fake breakpoint with a single repetition. When the
breakpoint is reached, it must be removed from the breakpoint list. There is no need to
define a special debug command for this.