KEIL Real view MDK中插入空操作NOP .
折騰了大半天,才搞明白一個(gè)空操作的指令
本文引用地址:http://dyxdggzs.com/article/148070.htm先在網(wǎng)上查有的說(shuō)是__asm{NOP},從intrins.h里調用,可犄角旮旯全找了,也沒(méi)看到什么intrint.h的文件。如果直接用,就出現
error: #1113: Inline assembler not permitted when generating Thumb code
最后搜索這條錯誤,知道是因為_(kāi)_asm(指令);這種語(yǔ)法是內聯(lián)匯編(inline assembly)的語(yǔ)法。而RMDK下,內聯(lián)匯編僅支持ARM匯編語(yǔ)言,不支持Thumb或者Thumb-2匯編語(yǔ)言;但內嵌匯編器支持Thumb和Thumb-2。
__asm放到一個(gè)單獨的子函數再被調用就沒(méi)問(wèn)題了
如下:
__asm void nop(void)
{
}
然后在之后的C代碼中調用該函數:
void main()
{
...
nop();
...
}
評論