新聞中心

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

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

作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
(一)C51調(diào)用方法

#include

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

_nop_();

(二)ARM下調(diào)用方法


__asmvoidnop(void)
{
NOP

}

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

voidmain()
{
...

nop();

...
}

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


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

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

單片機(jī)0xFF對(duì)應(yīng)的指令如下

MOV R7,A



關(guān)鍵詞: 空操作NOP指令A(yù)RMC5

評(píng)論


技術(shù)專區(qū)

關(guān)閉