NOP 【No Operation】 NOOP / ノーオペレーション命令
CPUが機械語のプログラムを実行する際、NOP命令が現れるとプロセッサは何もしないが、命令ひとつ分の実行時間は消費される。他の装置やプログラムなどとタイミングを合わせるために待たせたり、後で命令を追加する場所に埋め草としてとりあえず置いておくといった用途に用いられる。
CPUの種類により、専用の命令として用意される場合と、「移動元も移動先も同じレジスタであるデータ移動命令」のように既存の命令を用いて「実行しても何も起きない命令文」を構成することでNOPとする場合がある。後者の方式は意図しない副作用が生じる場合があるため、近年の命令セットの多くは専用のNOP命令を用意するようになっている。
高水準プログラミング言語(高級言語)でも、命令として存在はするが実際の処理上は「何もしない」構文や表記のことをNOPということがある。制御構文などの文法の都合で何か命令を書かなければならないが、その箇所では何もする必要がない場合などに使われる。Pythonのpass文のように、専用の命令文や関数、メソッドなどが用意されている場合もある。
また、通信プロトコルのコマンド(命令)文の一つとしてNOPが用意されている場合がある。受信側は特に何もせず応答を返す。通信が切断されていないか定期的に確認する場合などに使われる。FTPやSMTP、POP3の「NOOP」コマンド、Telnetの「NOP」コマンドなどが該当する。
(2023.2.21更新)