is an optional condition code.
NOP does nothing. If
not implemented as a specific instruction on your target architecture, the
assembler treats it as a pseudo-instruction and generates an alternative
instruction that does nothing, such as
MOV r0, r0 (ARM)
MOV r8, r8 (Thumb).
NOP is not necessarily a time-consuming
The processor might remove it from the pipeline before it reaches
the execution stage.
You can use
NOP for padding, for
example to place the following instruction on a 64-bit boundary in
ARM, or a 32-bit boundary in Thumb.
This ARM instruction is available in ARMv6K and above.
This 32-bit Thumb instruction is available in ARMv6T2 and above.
This 16-bit Thumb instruction is available in ARMv6T2 and above.
NOP is available on all other ARM
and Thumb architectures as a pseudo-instruction.