2.3.130. STEPINSTR

Executes a specified number of processor instructions (low-level step).


If a breakpoint is set on an instruction that is encompassed by the STEPINSTR command, then the breakpoint is actioned. The breakpoint behavior depends on any condition qualifiers that are assigned. If you do not want the breakpoint to be actioned, then either disable or clear the breakpoint before stepping.



STEPINSTR =starting_address [,value]



Specifies where execution is to begin. If you do not supply this parameter execution continues from the current PC.


Specifying an address is equivalent to directly modifying the PC. Do not specify a starting address unless you are sure of the consequences to the processor and program state.


Specifies the number of instructions to be executed.

If you do not supply this parameter a single instruction is executed. All instructions, including instructions that fail a conditional execution test, count towards the number of instructions executed.


The STEPINSTR command executes a specified number of instructions. If the instructions include procedure calls, these are stepped into.


For some procedure call standards there is code inserted between the call site and the destination of the call by the linker, and this might not have debug information or source code available. If this is the case for your code, a STEPINSTR call that stops in this code causes the source window to be blanked.

It is normal to use this instruction in conjunction with the disassembly mode of the source window, selected using the MODE command.

The STEPINSTR command cannot be used in a macro if the macro is attached to another entity, such as a breakpoint.


The following examples show how to use STEPINSTR:


Step the program by one instruction.

si 5

Step the program five instructions.

si =0x8000,5

Starting at address 0x8000, step the program five instructions.


SINSTR is an alias of STEPINSTR.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0175N