请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:AM3357 工具/软件:TI C/C++编译器
您好,
我看到TI在其源代码中使用了以下内容(例如,在StarterWare 2.0 1.1 的文件"CPU.c"中):
/***
IRQ禁用功能的Wrapper函数
**
*/
void CPUirqd(void){
/*在CPSR中禁用IRQ */
ASM (" Mrs. R0,CPSR\n\t"
" Orr. r0,r0,#0x80\n\t"
" MSR cpsr_c,r0");
}
同时,TI说在C函数主体中使用_ASM语句可能会出现问题:
我想问一下,上面的实施是否会引起任何问题,或者是否应该写以下内容(上面 链接中的代码):
__ASM(".sect \".text:CPUirqd\"\n"\}
".clink\n"
".global CPUirqd\n"
"CPUirqd:\n"
"夫人 R0,CPSR\n\t"
" Orr. r0,r0,#0x80\n\t"
" MSR cpsr_c,r0\n\t"
" LR");
我期待着从TI编译器专家那里得到一个清晰的陈述。 谢谢。
此致,
Patrick