Die Nulloperation (englisch No Operation; Assembler-Mnemonic: NOP oder NOOP) ist ein Befehl – genauer eine Prozessoranweisung – in Maschinenprogrammen oder Kommunikationsprotokollen, der nichts bewirkt.
Auf einem Mikroprozessor bewirkt das Ausführen einer NOP-Instruktion nichts, außer dem Inkrementieren des Befehlszählers und dem Zeitverbrauch für das Holen dieses Befehls aus dem Arbeitsspeicher und seiner Interpretation. Der Opcode der Instruktion ist zwischen einem und neun Bytes lang.
Auf x86-kompatiblen Prozessoren ist die ursprüngliche Variante der ein Byte lange NOP-Befehl mit dem Opcode 0x90, der ein Alias für XCHG (E)AX, (E)AX, d. h. dem Austausch des Registerwertes mit sich selbst, ist und auf allen x86-Prozessoren implementiert ist. Die Multi-Byte-Variante wird ggf. nicht von allen Prozessoren unterstützt.
Der Befehl wird verwendet, um
In folgenden Kommunikationsprotokollen ist ein NOOP-Befehl implementiert. Der Server antwortet auf den NOOP-Befehl mit einer Statusrückmeldung. Somit kann der Befehl unter anderem verwendet werden, um in Phasen längerer Inaktivität zu prüfen, ob weiterhin eine Verbindung besteht.