OPeration品詞:名詞マイクロプロセッサーの命令の一つ。MPUでの実装x86(IA-32)ARM概要どのようなマイクロプロセッサーにも、必ず実装されている命令である。AXという実質なんの変化もない命令で代用する場合などがある。RISCでは、ゼロレジスターへの書き込みをNOPとする実装が多い。用途アラインメントのためのパディングや、タイミング調整など、幾つかの目的のために使われる。CISCの場合、数クロックのCPU時間を消費するものが多く、タイミング調整に使われる。RISCの場合、プロセッサーによっては実行ステージに到達する前にパイプラインから削除され、CPU時間を消費しないこともあり、主としてパディング用として使われる。主な実装方法は次の通り。詳細があるものは後述。(2ハーフワード)x86(IA-32)Pentium以降では、メモリーアクセス付きのマルチバイトNOP命令が追加されている。レジスター間接の場合は、不正メモリーアクセスにならないようレジスターの種類または内容に配慮する必要があることは言うまでもない。00HAMD64/Intel64以降は、REXプリフィックスを使うと更に長くできる気がする。00HARMARMの命令セットでは、従来はNOPを専用に用意していなかった。r8」という、何もしない命令に置き換える。AXという何もしない命令をNOPに使うx86(IA-32)と同様。NOP命令が専用に用意されたのは、ARM命令はARMv6K以降、Thumb命令はARMv6T2以降である。(2ハーフワード)ARM命令は、データ処理グループの一つとして用意された。16ビットThumb命令は、IT命令と同じオペコードだが、mask=='0000'かつfirstcond=='0000'の時にNOPであるとして定義された。32ビットThumb命令は、分岐命令と同じオペコードだが、その隙間に様々な命令が詰め込まれ、その一つがNOPであった。