Intel 80L188EC ユーザーズマニュアル

ページ / 88
5-7
iECM-86 COMMANDS
5
5.3.3
Program Execution
These commands start and stop execution of user code. The commands provided are:
GO
GO FOREVER
GO FROM 
code_addr 
GO FROM 
code_addr FOREVER
GO FROM 
code_addr TILL code_addr 
GO FROM 
code_addr TILL code_addr OR code_addr 
GO TILL
 code_addr 
GO TILL 
code_addr OR code_addr 
HALT
If a GO with breakpoint command is entered, the user code bytes at the breakpoints are saved and
INT3s are substituted. When a breakpoint is reached, the user’s software stops before the
instruction that caused the breakpoint and the iECM-86 software restores the original user code.
Note that this differs from the operation of most ICE modules, which stop just after the
instruction executes. A problem associated with stopping before the break instruction executes is
that subsequent GO commands may run into the breakpoint before any user code is executed. The
iECM-86 avoids this problem by skipping the setting of any breakpoints set on the instruction
that the current PC points to. If this happens to remove the last breakpoint set, you are warned,
but the GO still executes with no breakpoints enabled. If this happens, you can use the HALT
command to stop the program.
None of the GO commands can be executed while the user’s code is already running; the HALT
command cannot be executed if the user’s code is not running. The GO commands that set
breakpoints use BR[0] and possibly BR[1]. Any break value already in one of these breakpoints
is overwritten and destroyed by these GO commands. If possible, the user should reserve the first
two breakpoints for use by the GO commands, and set the remaining breakpoints (if required)
explicitly with the BR commands.
GO
This command starts execution of the user’s code using the current 
value of user’s program counter (PC) and the current breakpoint 
array. 
GO FOREVER
This command clears the breakpoint array and starts execution at the 
current value of the user’s PC. 
GO FROM code_addr 
This command loads the user’s PC with code_addr and starts 
execution of the user’s code using the current breakpoint array.