在CCS中嵌入BRA指令,为什么编译不通过?

2019-03-24 10:28发布

嵌入BRA指令如下,目的是强行跳转到0x20266地址去执行

__asm("BRA #20266");
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
dontium
1楼-- · 2019-03-24 11:53
既然是在编译时就不通过,说明写法有误。

CCS的C编译器,对嵌入的汇编语言不作检查。不应该是本语句问题。

asm前有没有下划线,都可以通过的。
darkduck
2楼-- · 2019-03-24 16:11
 精彩回答 2  元偷偷看……
darkduck
3楼-- · 2019-03-24 17:33
问题已经找到了!
应该写成 __asm(" BRA #20266");
即在BRA指令前至少要有一个空格!
在MSP430汇编指令的手册中有如下规定:
“A mnemonic cannot begin in column 1 or it will be interpreted as a label. Mnemonic opcodes and assembler directive names without the . prefix are valid label names. Remember to always use whitespace before the mnemonic, or the assembler will think the identifier is a new label definition.

再次感谢大家的热心回复!

一周热门 更多>

相关问题

    相关文章