新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 空操作NOP指令在ARM和C51的區(qū)別

空操作NOP指令在ARM和C51的區(qū)別

作者: 時間:2016-11-09 來源:網絡 收藏
(一)C51調用方法

#include

本文引用地址:http://m.butianyuan.cn/article/201611/317732.htm

_nop_();

(二)ARM下調用方法


__asmvoidnop(void)
{
NOP

}

然后在之后的C代碼中調用該函數(shù):

voidmain()
{
...

nop();

...
}

關于NOP指令
在MCS-51單片機指令集中NOP的指令碼為0x00,而ARM指令集中的NOP是一條偽指令,編譯系統(tǒng)用一條MOV指令替代其執(zhí)行。


NOP
編譯系統(tǒng)生成的機器碼:[0xe1a00000] nop
MOV r0, r0, lsl #0
編譯系統(tǒng)生成的機器碼:[0xe1a00000] nop

那么ARM指令集中有沒有指令碼為0x00的指令呢?有!
ANDEQ r0,r0,r0
編譯系統(tǒng)生成的機器碼:[0x00000000] andeq r0,r0,r0

單片機0xFF對應的指令如下

MOV R7,A



評論


技術專區(qū)

關閉