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.

[参考译文] MSP430F5438A:C 代码中的 ASM 标签不可预测的行为?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1121669/msp430f5438a-asm-labels-in-c-code-unpredictable-behavior

器件型号:MSP430F5438A

您好!

为了实现测试自动化、C 代码要求在代码中添加 ASM 标签、如随附的屏幕截图所示。

但是、TI 文档-适用于 MSP430的 SLAU132Y 第6.6.5节的 陈述如下

标签使用方式如下:

标签如上所示添加 、按预期工作、在测试中未发现任何问题。

此代码用于机器关键型应用、您能否确认、如上屏幕截图所示、C 代码中使用的标签将导致不可预知的控制器行为?

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

    Ankal、您好!

    我只能确认您突出显示的语言。 将"[asm]跳转或标签插入 C/C++代码... 可能会产生 不可预测的结果。" 这并不意味着它将会发生、这取决于 ASM 程序插入操作或不操作的内容。 此处的关键是编译器不检查或读取 ASM 插入、因此在操作时假设可以忽略插入中的任何内容。 因此、基本而言、如果您想使用 ASM 插入功能、您应该非常自信。  

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

    我想优化也会用到这一点、因此您可能需要将其关闭。