1

我正在尝试测量在我的汇编程序中执行时每条指令所需的时钟,但 IAR 不允许我在 MACRO 内设置断点。我可以在 MACRO 调用之前设置一个断点,然后单击“Step Over”几次,直到它退出循环,但我看不到 MACRO 上的每条指令都执行了,我每次只能看到相同的指令闪烁(那个调用宏)直到它完成,然后移动到下一条指令。

有谁知道如何在 MACRO 中放置断点?或者如何测量 MACRO 中每条指令所需的时钟?

谢谢!

4

1 回答 1

2

如果在宏之前设置断点,则可以在反汇编窗口中列出宏函数生成的代码的任何点设置另一个断点。您可以通过在反汇编代码上设置断点,以任何您喜欢的方式单步执行代码。

如果您想知道宏运行需要多少时钟或处理器周期,那么您可以使用处理器的数据表来为反汇编窗口中可见的编译输出中的每个指令添加周期计数,或者您可以查看 CPU Registers 窗口中的 CYCLECOUNTER 值。这适用于调试器模拟器模式或某些 MSP 系列(我将它与 MSP430F5XXX 一起使用),它适用于物理设备和 JTAG/SPY-BI-WIRE 接口。

于 2013-05-14T09:06:03.270 回答