请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28075 工具/软件:TI C/C++编译器
我想创建一个运行时统计代码分析器。 我已经设置了一个计时器来生成周期性中断。 在定时器 ISR 中、我想在 ISR 上下文切换之前捕获程序计数器的值。
在《TMS320C28x CPU 和指令集参考指南》的第3.1节中、它指出当前的程序上下文(st0、T、Al、AH、PLM PH、 AR0、AR1、DP、ST1、DBGSTAT、 当中断被处理时、PC 和 IER)被保存在堆栈上。
问题:
1) 1)您能告诉我这些寄存器按什么顺序存储在堆栈上吗?
2) 2)我假设我可以使用堆栈指针的适当地址偏移来读取 PC 值。 这是否有效?
3) 3)我是否必须考虑 ASP 和 NASP 汇编指令才能以这种方式使用栈指针?
4) 4)我是否应该考虑其他方法来执行我想要执行的操作?
谢谢