新聞中心

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

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

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

        #include

        本文引用地址:http://www.104case.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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 金华市| 邵阳县| 庆云县| 法库县| 昌图县| 巴楚县| 申扎县| 南澳县| 克什克腾旗| 灵石县| 天峨县| 运城市| 上虞市| 鱼台县| 赤水市| 温宿县| 吕梁市| 东乌珠穆沁旗| 桐梓县| 新河县| 新巴尔虎右旗| 永兴县| 商城县| 池州市| 昆山市| 大兴区| 景泰县| 大新县| 阜新市| 彩票| 黄平县| 通榆县| 淳化县| 东阳市| 金沙县| 镇宁| 石楼县| 嘉祥县| 崇州市| 五家渠市| 龙州县|