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.

[参考译文] TMS320F280049:在 CLA 中嵌入汇编语言并从 CLA 调用汇编语言

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1036502/tms320f280049-embed-assembly-in-c-cla-and-call-assembly-from-c-cla

器件型号:TMS320F280049

尊敬的香榭丽舍

我向我们的客户提出这一问题。

用户希望在相同的 CLA 文件中编写汇编代码并从 CLA 调用、并需要我们进行澄清。

同一 C 文件中嵌入的汇编语言

我们应该能够在 C 代码中直接使用这种语句、对吧?

asm (" EALLOW");

但是、用户还可以直接使用指令吗?

例如、这是来自我们竞争对手之一的用于声明变量或常量的代码。

_ASM__volatile (".EQU MAX_FREQUENCY、22000");// 220kHz

我们是否可以使用 asm ("...")来执行包括所有指令在内的所有汇编代码?

如果没有、限制或关注的是什么?

2. 嵌入在同一 CLA 文件中的汇编

与上面的(1)一样、它是否也适用于 CLA 的.cla 文件?

3.从 C 调用汇编语言

如果用户使用函数并从.asm 文件调用该函数、他们该怎么做?

我们是否有任何示例和文档来展示这一点?

4.从 CLA 调用汇编语言。

与上面的(3)一样、用户如何处理 CLA 上的.CLA 文件?

黄维恩

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

    您好、Wayne、

    请参阅《汇编语言工具指南》:此指南提供了您在上述问题中所需的所有信息。

    https://www.ti.com/lit/spru513

    此处是编译器优化指南的链接、以防此处提供一些信息

    https://www.ti.com/lit/spru514

    谢谢、
    Ashwini

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

    尊敬的 Ashwini:

    我们知道这两个文档、但该文档中的信息似乎太多、无法找到解决方案。

    对于上述问题、您是否会明确指出我们可以首先参考哪些部分?

    黄维恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="4952" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1036502/tms320f280049-embed-assembly-in-c-cla-and-call-assembly-from-c-cla "]

    我们应该能够在 C 代码中直接使用这种语句、对吧?

    asm (" EALLOW");

    [/报价]

    您可以。  但是、在这种特定情况下、存在编译器内在函数。  请在 C28x 编译器手册中搜索 标题 为"使用内在函数访问汇编语言语句"的子章节。  请注意内在函数__EALLOW。  这样的内在函数总是优于 asm 语句。

    [引用 userid="4952" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1036502/tms320f280049-embed-assembly-in-c-cla-and-call-assembly-from-c-cla "]但用户是否也可以直接使用指令?

    视情况而定。  asm 语句的内容受到限制。  请在 C28x 编译器手册中搜索 标题 为_asm 语句的子章节。   

    [引用 userid="4952" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1036502/tms320f280049-embed-assembly-in-c-cla-and-call-assembly-from-c-cla "]如果用户使用函数并从.asm 文件调用该函数,他们该怎么做?[/quot]

    请在 C28x 编译器手册中搜索 标题 为"使用汇编语言连接 C 和 C++"的子章节。 本文档适用于 C28x 和 CLA 代码。  我的建议是从非常小、非常简单但完整的程序开始。  使用这些小型程序了解其工作原理。  然后缓慢地将其扩展到您的完整程序。

    谢谢、此致、

    乔治