Moh*_*din 5 assembly arm code-composer
有人可以告诉我,如何使用TI代码编写器工作室(针对ARM)在C代码中执行内联汇编代码?
我搜索并尝试但没有任何效果.
例如,当我尝试这个非常简单的代码时:
asm("push r0\n");
Run Code Online (Sandbox Code Playgroud)
或这个
__asm("push r0\n");
Run Code Online (Sandbox Code Playgroud)
我总是得到:
[E0002]非法助记符指定推r0
1装配错误,无装配警告
我读到的东西说我以前的代码是GCC风格,TI编译器不接受它!那么我该如何执行自己的内联汇编代码呢?
最后我找到了解决方案!!
主要问题将通过在汇编指令之前添加一个空格或制表符来解决,如下所示:
asm(" MOVS R0, #5\n");
Run Code Online (Sandbox Code Playgroud)
这行不通:
asm("MOVS R0, #5\n");
Run Code Online (Sandbox Code Playgroud)
在推送中,我们必须将寄存器放在大括号 {R0} 中
asm(" PUSH {R0}\n");
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
| 归档时间: |
|
| 查看次数: |
4302 次 |
| 最近记录: |