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的幫助文檔。
根據(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
+關注
關注
0文章
9瀏覽量
1933
發(fā)布評論請先 登錄
相關推薦
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指令是什么
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次下載
51單片機C語言的nop_()指令有什么作用和詳細資料說明
C語言中沒有_nop_()函數(shù)。在51C中一般包含在#include “intrins.h” 頭文件中。該函數(shù)是在51單片機中用的延時函數(shù),表示執(zhí)行一條沒有什么意義的指令,延時一個指令周期,有的
發(fā)表于 07-05 17:41
?1次下載
如何用NOP指令覆蓋相關代碼繞開鑒權(quán)
啟動后檢查一次注冊碼是否有效——一個 if 判斷,他也認定,若反匯編軟件只要 欺騙過這條判斷加密措施蕩然無存。 群里我給他一個破解設計思想:“利用NOP指令覆蓋相關代碼繞開鑒權(quán)”。 2. 演示 下面是我做的一個例子演示運用NOP
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次下載
評論