 in computer science, a nop or noop (short for no operation) is an assembly language instruction, sequence of computer programming language statements, or computer protocol command that effectively does nothing at all, in fact it only increments the program counter by the length of the instruction itself. == machine instruction == some computer instruction sets include an instruction whose explicit purpose is to not change the state of any of the programmer-accessible registers, status flags, or memory and which may require a specific number of clock cycles to execute. in other instruction sets, a nop has to be simulated by executing an instruction having operands that cause the same effect (e.g., on the sparc processor, the instruction sethi 0, %g0 is the recommended solution). a nop is most commonly used for timing purposes, to force memory alignment, to prevent hazards, to occupy a branch delay slot, or as a place-holder to be replaced by active instructions later on in program development (or to replace removed instructions when refactoring would be problematic or time-consuming). in some cases, a nop can have minor side effects; for example, on the motorola 68000 series of processors, the nop opcode causes a synchronization of the pipeline. here are the characteristics of the nop instruction for some cpu architectures: {| class="wikitable" border="1" |- ! cpu architecture ! mnemonic ! bytes ! opcode ! notes |- | intel x86 cpu family | nop | 1; 1â9 for i686 | 0x90; 0x0f 0x1f | actually 0x90 decodes to xchg eax, eax, which has no effect. |- | intel 8051 / mcs-51 family | nop | 1 | 0x00 | |- | arm a32 | nop | 4 | 0x00000000 | this stands for andeq r0, r0, r0 which has no effect. the assembly instruction nop will most likely expand to mov r0, r0 which is encoded 0xe1a00000.arm information center - nop |- | arm t32 (16 bit) | nop | 2 | 0xbf00 | opcode for add sp, #0 - add zero to the stack pointer (no operation) |- | arm t32 (32 bit) | nop | 4 | 0xf3af 1000 | |- | arm a64 (64 bit) | nop | 4 | 0xd503201f | |- | [[mips architectu
Computing_acronyms Machine_code Nothing X86_instructions