How to know No. of cycles used by a C statement?

Hellow all,

In the uVision 2.0 for 8051, how to determine the exact No. of cycles taken to execute a C Language statement? Given that performane analyzer works only on complete functions, not on a single line basis.

e.g.
Temp = P2; // Takes (??) cycles
Array[Counter] = Temp; // Takes (??) cycles

If(SignBit == 1) // Takes (??) cycles
Temp = 0xF0; // Takes (??) cycles
else
Temp = 0x0; // Takes (??) cycles


Thanks in advance for your time.

Parents
  • In the uVision 2.0 for 8051, how to determine the exact No. of cycles taken to execute a C Language statement?

    The following knowledgebase article terlls one way to do this.

    http://www.keil.com/support/docs/971.htm

    Given that performane analyzer works only on complete functions, not on a single line basis.

    That is not correct. The performance analyzer works on ranges of code as well as functions. To define a range in the Performance Analyzer Dialog, you must specify the starting address, a comma (','), and the ending address. You may use file/line number IDs if you like, For example \main\23 refers to line 23 in the main source file.

    Jon

Reply
  • In the uVision 2.0 for 8051, how to determine the exact No. of cycles taken to execute a C Language statement?

    The following knowledgebase article terlls one way to do this.

    http://www.keil.com/support/docs/971.htm

    Given that performane analyzer works only on complete functions, not on a single line basis.

    That is not correct. The performance analyzer works on ranges of code as well as functions. To define a range in the Performance Analyzer Dialog, you must specify the starting address, a comma (','), and the ending address. You may use file/line number IDs if you like, For example \main\23 refers to line 23 in the main source file.

    Jon

Children
No data
More questions in this forum