久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 空操作NOP指令在ARM和C51的區別

空操作NOP指令在ARM和C51的區別

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

#include

本文引用地址:http://cqxgywz.com/article/201611/317732.htm

_nop_();

(二)ARM下調用方法


__asmvoidnop(void)
{
NOP

}

然后在之后的C代碼中調用該函數:

voidmain()
{
...

nop();

...
}

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


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

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

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

MOV R7,A



評論


技術專區

關閉