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.

[参考译文] C2000/TMS320F28375D:2.8375万:将C中的外部阵列声明给汇编器?

Guru**** 2428300 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/591430/c2000-tms320f28375d-declaring-extern-array-in-c-to-assembler

部件号:TMS320F2.8375万D

工具/软件:TI C/C++编译器

小问题:

如果我有:

文件1.c

float myVar[2]={1.0 ,2.0 };

文件2.c

外部浮点myVar[2];

文件3.asm

全局_myVar

以上内容适用于单个浮点var,

问: 如何将浮点数组传递给C文件中定义的汇编程序?

问: 如何在汇编程序中处理浮点数组?

MOV32   DP,#_myVar

MOV32   R?H,@μ_myVar

这是对单个var执行的操作,如何访问第二个数组元素?

我就这么做了
MOVL   xar#,#_myVar

MOV32  R?H,*xar#+[0]

MOV32  R?H,*xar#+[2]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    A1:"通过"是什么意思? 如果在C中声明一个具有外部链接的数组,则整个程序都可以访问该数组。 只需使用.global,就可以看到汇编代码。 如果你的意思不是这样,我不知道你的意思是什么。

    解答2:是,或者您可以使用MOV32 R?H,@(_myvar + 2)