NOP does nothing. If NOP is 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)
or MOV r8, r8 (Thumb).
NOP is not necessarily a time-consuming NOP.
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.