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.

[参考译文] TMS320C5517:C55x 汇编器:RPT 和 RPTB 问题。

Guru**** 2609895 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654783/tms320c5517-c55x-assembler-rpt-and-rptb-questions

器件型号:TMS320C5517

在 TMS320C5xx DSP 助记符指令集2002中、我看到了这一点

1) RPT 指令是可中断的。  
使用此类指令的 C IRQ 处理程序是否会自动保存和恢复 RPTC 值(如果已声明),例如 :interrupt void MyIsr (void)?

2) RPTB 是可中断的还是不可中断的?
本手册不涉及此类问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    团队将收到通知。 他们将直接在此处发布反馈。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    2) 2)是、RPT 和 RPTB 均可中断。
    1)是的、需要 C IRQ 处理程序来保存和恢复 RPTC、BRC0和 BRC1、以及所有其他与循环相关的寄存器、例如 BRS0、BRS1、RSA0、RSA0、 等等 请记住、只有当有人修改寄存器时、才需要保存和恢复寄存器、这可能意味着在 IRQ 中执行 RPT 或 RPTB 指令、或者调用某些可能使用 RPT 或 RPTB 的函数。

    所需的保存-恢复顺序有点棘手。 IHO、如果可能、我会让编译器生成它。

    实际上、您是否在尝试在中断内部使用 RPT 或 RPTB?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢您的反馈。

    我不打算在 IRQ 处理程序中使用 RPT 或 RPTB、因为我只想使用 C 语言、而是优化的 C 语言编译器

    可以代表我插入 RPT 或 RPTB ...

    实际上、我只通过 asm 指令在 back灌浆"等待周期"函数中使用 RPT。


    因此、我想知道 C 中断限定符是否会自动预检所有敏感的已用寄存器...