Triggering

To store and time the execution of a subroutineTo store and time the execution of a subroutine

Most systems software of any kind is composed of a hierarchy of functions and procedures. During integration, testing, and performance evaluation, you will want to look at specific procedures to verify that they are executing correctly and that the implementation is efficient. The analyzer allows you to do this by triggering on entry to the address range of the subroutine and counting the elapsed time since the trigger state.

1Select the state analyzer Trigger menu.

2Set Count to Time.

Setting the Count to Time causes the state analyzer to store a time stamp for each data point that is stored in trace memory. The trace list will show these time stamps next to each state.

3Define a range term, such as Range1, to represent the address range of the subroutine of interest.

You may need to examine the structure of your code to help determine this. If your subroutine calls are really procedure calls, then there is likely to be some code at the beginning of the routine that adjusts the stack for local variable allocation. This will precede the address of the first statement in the procedure. If your subroutine has no local storage and is called by a jump or branch, then the first statement will also be the entry address.

4Under State Sequence Levels, enter the following sequence specification:

While storing “no state” Trigger on “In_range1” 1 time

While storing “In_range1” Then find “Out_range1” 1 time

Store “no state”

1–3