0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

NOP指令實現(xiàn)過程

嵌入式應用開發(fā) ? 來源:嵌入式應用開發(fā) ? 作者:嵌入式應用開發(fā) ? 2022-09-28 15:47 ? 次閱讀

NOP(No Operation)意為無操作,是匯編語言的一個指令。NOP指令既空指令。NOP指令通常作為偽指令。但是,如果在ARMv6K、ARMv6T2、ARMv7、ARMv8-M結(jié)構(gòu)體系中,NOP不是偽指令。
偽指令(Pseudo Instruction)是用于對匯編過程進行控制的指令,該類指令并不是可執(zhí)行指令,沒有機器代碼,只用于匯編過程中為匯編程序提供匯編信息。偽指令包括ADR、ADRL、LDR、NOP。

NOP偽指令使用以及描述如下:

Syntax

NOP在匯編過程中,將r0寄存器的數(shù)據(jù)賦值給r0寄存器,相當于做了一次無用功。下圖也給出了NOP的語法、描述。

此圖來自IAR的幫助文檔。

pYYBAGMz-_aAQS3EAAGmu8VSF2U079.png

根據(jù)百度百科的解釋,NOP的主要作用如下:

1. 字節(jié)填充對齊

2. 精確延時和計時3. 破解程序的call驗證4. 等待其他設備執(zhí)行完畢5. 清除由上一個算術邏輯指令設置的flag位6. 輔助jmp、call等指令

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指令
    +關注

    關注

    1

    文章

    611

    瀏覽量

    35792
  • nop
    nop
    +關注

    關注

    0

    文章

    9

    瀏覽量

    1933
收藏 人收藏

    評論

    相關推薦

    STM8S的NOP指令一個周期是多少?

    大家好,STM8S的NOP指令一個周期是多少?現(xiàn)在外部晶振16MHZ,CPU不分頻,請問NOP的周期是多少?因為想用NOP做延時,謝謝!
    發(fā)表于 04-09 07:54

    ST芯片中nop指令的延時問題

    如題,在程序運行中經(jīng)常用到延時。出了常用的定時器以外,還有一種直接調(diào)用指令nop()來產(chǎn)生 延時的方法。這條指令的延時是取決于時鐘頻率的,我的疑惑是,直接調(diào)用nop()
    發(fā)表于 06-02 09:54

    請問在C語言調(diào)用匯編指令asm (" NOP ");便是等待一個指令周期,asm (" NOP 5");表示什么意思?

    您好TI:在C語言調(diào)用匯編指令asm (" NOP ");便是等待一個指令周期,asm (" NOP 5");表示什么意思?
    發(fā)表于 07-24 09:00

    _NOP() 與asm("nop")這兩個空指令有啥區(qū)別?

    _NOP() 與asm("nop")這兩個空指令有啥區(qū)別???
    發(fā)表于 08-08 03:52

    NOP指令是什么

    github:“nop”函數(shù)對于延時很短,要求在us級的,采用“nop”函數(shù),這個函數(shù)相當匯編NOP指令,延時幾微秒。NOP
    發(fā)表于 07-20 08:06

    __NOP();延時函數(shù) 精選資料分享

    不用系統(tǒng)時鐘與通用外設時鐘的延時函數(shù)介紹下__NOP();函數(shù);它類似于匯編里的偽指令,也稱作“空指令”;它不執(zhí)行操作,但占一個程序步???b class='flag-5'>指令使用時會占用執(zhí)行一個
    發(fā)表于 08-18 07:26

    RISC-V沒有NOP指令,如何實現(xiàn)執(zhí)行多個NOP?

    RISC-V,沒有NOP指令,如何實現(xiàn),執(zhí)行多個NOP?,并且不能被編譯器優(yōu)化了
    發(fā)表于 05-26 06:07

    如何在s32k中添加NOP指令?

    所以我需要生成一些等待延遲幾微秒,我需要在延遲循環(huán)中添加 NOP 指令,我找不到 s32k146 的 NOP 指令。 我在用 ARM 的 S32 設計工作室 版本:2018.R1 內(nèi)
    發(fā)表于 04-28 07:12

    #define NOP() _nop_() /* 定義空指令 */這個空指令怎么用的啊?

    #defineNOP() _nop_()/* 定義空指令 */ 這個空指令怎么用的?。?/div>
    發(fā)表于 06-19 07:47

    單片機C語言中如何使用nop函數(shù)進行短延時的效果資料和程序說明

    單片機C語言中如何使用nop函數(shù)進行短延時的效果資料和程序說明 標準的C語言中沒有空語句。但在單片機的C語言編程中,經(jīng)常需要用幾個空指令產(chǎn)生短延時的效果。這在匯編語言中很容易實現(xiàn),寫幾個no
    發(fā)表于 03-05 11:01 ?10次下載
    單片機C語言中如何使用<b class='flag-5'>nop</b>函數(shù)進行短延時的效果資料和程序說明

    51單片機C語言的nop_()指令有什么作用和詳細資料說明

    C語言中沒有_nop_()函數(shù)。在51C中一般包含在#include “intrins.h” 頭文件中。該函數(shù)是在51單片機中用的延時函數(shù),表示執(zhí)行一條沒有什么意義的指令,延時一個指令周期,有的
    發(fā)表于 07-05 17:41 ?1次下載
    51單片機C語言的<b class='flag-5'>nop</b>_()<b class='flag-5'>指令</b>有什么作用和詳細資料說明

    如何用NOP指令覆蓋相關代碼繞開鑒權(quán)

    啟動后檢查一次注冊碼是否有效——一個 if 判斷,他也認定,若反匯編軟件只要 欺騙過這條判斷加密措施蕩然無存。 群里我給他一個破解設計思想:“利用NOP指令覆蓋相關代碼繞開鑒權(quán)”。 2. 演示 下面是我做的一個例子演示運用NOP
    的頭像 發(fā)表于 09-24 10:37 ?2335次閱讀

    plc中常見指令的操作方法

    與母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨使用。 2、NOP(空操作指令) 是一條空操作指令,用于程序的修改。它
    發(fā)表于 12-17 14:14 ?5196次閱讀

    nop不同晶振頻率下的延時時間

    _nop_()函數(shù)包括在庫函數(shù)intrins.h中的表示空循環(huán)一個機器指令的時間,12M中表示1us;6M中表示2us;24M中表示0.5us(微妙)1S=1000ms=1000000us;NOP
    發(fā)表于 01-18 10:22 ?7次下載
    <b class='flag-5'>nop</b>不同晶振頻率下的延時時間

    使用NOP912/NOP914達到精密測量應用

    使用NOP912/NOP914達到精密測量應用
    的頭像 發(fā)表于 08-10 11:07 ?556次閱讀