NOP

The no-operation (English No Operation; assembler mnemonic: NOP or NOOP ) is a command - specifically a processor instruction - in machine programs or communications protocols, which does nothing.

Processor instruction

On a microprocessor executing a NOP instruction does nothing, except incrementing the program counter and the time consumption for bringing this command from the main memory and its interpretation. The opcode of the instruction is between 1-9 bytes long.

On x86 - compatible processors is the original version of the one -byte NOP instruction, which is AX (opcode 90h ) an alias for XCHG (E) AX, (E) and is implemented on all x86 processors. The multi-byte variant may not be supported by all processors.

The command is used to

  • Produce a particular alignment in memory,
  • A - usually, however, only roughly predictable - time delay to cause (possibly in a loop called multiple times ), for example to avoid race conditions or to define the timing of an external signal,
  • Pipeline hazards to prevent
  • A branch delay slot or to fill
  • As " filler " when not occupied memory (eg BIOS ROMs or embedded systems).

Command in communication protocols

In the following communication protocols, a NOOP command is implemented, which the client can send without requiring the server to perform an action:

  • Telnet
  • FTP
  • SMTP
  • X11
  • POP3
  • NNTP
  • Finger
  • IMAP4
  • BitTorrent
607493
de