标题: KEIL Real view MDK中插入空操作NOP [打印本页]

作者: 51hei社区    时间: 2016-1-16 07:07
标题: KEIL Real view MDK中插入空操作NOP
                        折腾了大半天,才搞明白一个空操作的指令

先在网上查有的说是__asm{"NOP"},从intrins.h里调用,可犄角旮旯全找了,也没看到什么intrint.h的文件。如果直接用,就出现
error: #1113: Inline assembler not permitted when generating Thumbcode

最后搜索这条错误,知道是因为__asm("指令");这种语法是内联汇编(inlineassembly)的语法。而RMDK下,内联汇编仅支持ARM汇编语言,不支持Thumb或者Thumb-2汇编语言;但内嵌汇编器支持Thumb和Thumb-2。
__asm放到一个单独的子函数再被调用就没问题了

如下:
__asm void nop(void)
{
    NOP
}
然后在之后的C代码中调用该函数:
void main()
{
...
nop();
...
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1