伪指令(Pseudo Instruction)是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有机器代码,只用于汇编过程中为汇编程序提供汇编信息。伪指令包括ADR、ADRL、LDR、NOP。
NOP伪指令使用以及描述如下:
SyntaxNOP
Description:NOP generates the preferred ARM no-operation code:MOV r0,r0
Note: NOP is not a pseudo-instruction in architecture versions that include a NOP instruction (ARMv6K, ARMv6T2, ARMv7, ARMv8-M).
NOP在汇编过程中,将r0寄存器的数据赋值给r0寄存器,相当于做了一次无用功。下图也给出了NOP的语法、描述。
此图来自IAR的帮助文档,很多问题都可以在帮助文档里面找到答案,也堪称攻城狮的一****宝。
根据百度百科的解释,NOP的主要作用如下:1. 字节填充对齐
2. 精确延时和计时3. 破解程序的call验证4. 等待其他设备执行完毕5. 清除由上一个算术逻辑指令设置的flag位6. 辅助jmp、call等指令