大家好、
客户提出的问题需要您的帮助:
最近将 OS 移植到 DSP28335、需要考虑 CPU 浮点寄存器上下文保存、反汇编发现、仅中断服务上下文 RBS、R0H、R1H、R2H、R3H、 和 STF。 其他与浮点相关的寄存器未保存、这是否不会影响浮点计算?
CCS 版本:12.1.0.00007,最新的编译器和其他较早的编译器也试用过,两者都是相同的。 反汇编中断服务函数的代码、如下图所示:

我查看图中所示的浮点寄存器技术文档、红色圆圈部分未保存:

请帮您检查此问题吗? 谢谢、
此致、
本
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
客户提出的问题需要您的帮助:
最近将 OS 移植到 DSP28335、需要考虑 CPU 浮点寄存器上下文保存、反汇编发现、仅中断服务上下文 RBS、R0H、R1H、R2H、R3H、 和 STF。 其他与浮点相关的寄存器未保存、这是否不会影响浮点计算?
CCS 版本:12.1.0.00007,最新的编译器和其他较早的编译器也试用过,两者都是相同的。 反汇编中断服务函数的代码、如下图所示:

我查看图中所示的浮点寄存器技术文档、红色圆圈部分未保存:

请帮您检查此问题吗? 谢谢、
此致、
本
否 例如、考虑寄存器 R4H。 它不像 R3H 那样被显式保留。 这是因为编译器观察到的寄存器惯例保留了 R4H。 请在 C28x 编译器手册中搜索 标题 为 TMS320C28x 寄存器使用和保留的子章节。 了解术语"输入时保存"和"呼叫时保存"之间的区别。 当一个中断发生时、所有被修改的寄存器必须被保存。 如果中断函数调用另一个函数、例如 TaskT、它不必保留每个寄存器。 它只需保留调用寄存器的保存。 如果 TaskT 修改 R4H、寄存器惯例要求 TaskT 保留 R4H、而不是调用 TaskT 的函数。 其他寄存器也是如此、例如 XAR1。
谢谢、此致、
乔治