To trigger on the nth recursive call of a recursive
function
1
Go to the state analyzer’s Trigger menu.
2
Define the terms CALL_ADD, F_START, and F_END to represent the
called address of the recursive function, and the start and end
addresses of the function. Define F_EXIT to represent the address of
the first program statement executed after the original recursive call
has terminated.
Typically, CALL_ADD is the address of the code that sets up the activation
record on the stack, F_START is the address of the first statement in the
function, and F_END is the address of the last instruction of the function,
which does not necessarily correspond to the address of the last statement. If
the start of the function and the address called by recursive calls are the
same, or you are not interested in the function initialization code, you can use
F_START for both CALL_ADD and F_START.
3
Change State Sequence Level 1’s macro to "Find event2 n times after
event1 before event3 occurs."
4
In the pop-up, enter the following sequence specification:
•
While storing anystate Find "CALL_ADD" "9" times after "F_START"
before "F_EXIT" occurs.
You should use your value for n-1 instead of "9" in the specification.
5
Insert another sequence level before the current one. Select the User
Level macro and enter the following specification:
•
While storing "no state" Find "F_END" occurs "1" Else on "no state" go to
level 1.
As with the trigger specification for "To trigger on the nth iteration of a loop,"
this specification helps avoid potential problems on pipelined processors by
requiring that the processor already be in the first recursive call before
advancing the sequencer. Depending on the exact code used for the calls,
you may need to experiment with different trigger sequences to find one that
captures only the data you want to view.
Single-Machine Trigger Examples
To trigger on the nth recursive call of a recursive function
5-8
Содержание 1660CS
Страница 5: ...Introduction iv ...
Страница 16: ...1 Logic Analyzer Overview ...
Страница 24: ...2 Connecting Peripherals ...
Страница 33: ...2 10 ...
Страница 34: ...3 Using the Logic Analyzer ...
Страница 55: ...3 22 ...
Страница 56: ...4 Using the Trigger Menu ...
Страница 75: ...4 20 ...
Страница 76: ...5 Triggering Examples ...
Страница 109: ...5 34 ...
Страница 110: ...6 File Management ...
Страница 114: ...Saving the system configuration for programmatic control File Management To save a configuration 6 5 ...
Страница 119: ...6 10 ...
Страница 120: ...7 Reference ...
Страница 221: ...7 102 ...
Страница 222: ...8 System Performance Analysis SPA Software ...
Страница 241: ...SPA Time Interval System Performance Analysis SPA Software SPA measurement processes 8 20 ...
Страница 252: ...9 Concepts ...
Страница 273: ...HP 1660CS series analyzer theory HP 1660C CS logic analyzer The Analyzer Hardware HP 1660CS series analyzer theory 9 22 ...
Страница 279: ...Oscilloscope board theory Oscilloscope board The Analyzer Hardware Oscilloscope board theory 9 28 ...
Страница 284: ...10 Troubleshooting ...
Страница 298: ...11 Specifications ...
Страница 311: ...11 14 ...
Страница 312: ...12 Operator s Service ...
Страница 324: ...Troubleshooting Flowchart 2 Troubleshooting To use the flowcharts 12 13 ...
Страница 337: ...Glossary 4 ...