Executes a specified number of instructions (low-level step), and completely executes program calls.


If a breakpoint is set on an instruction that is encompassed by the STEPOINSTR 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.



STEPOINSTR =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 in the current function, including instructions that fail a conditional execution test, count towards the number of instructions executed. Function calls count as one instruction.


The STEPOINSTR command executes a specified number of instructions. If the instructions include procedure calls, these are stepped over, counting as only one instruction.

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

The STEPOINSTR 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 STEPOINSTR:


Step the program by one instruction.

stepoinstr 5

Step the program five instructions.

soi =0x8000,5

Starting at address 0x8000, step the program five instructions, counting a subroutine call as one instruction.


SOINSTR is an alias of STEPOINSTR.

See also

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