opcode
opcodeは、コンピューターのハードウェアレベルで動作する最も基本的な命令形式です。中央処理装置(CPU)が命令を読み込んだ際、その命令が具体的にどのような操作(例えばデータの移動、算術演算、論理演算など)を行うべきかを決定する識別子として機能します。一般的に、マシン語の命令は、このopcodeと、操作の対象となるデータやメモリ番地を示すオペランド(operand)の組み合わせで構成されています。
命令セットアーキテクチャとの関係opcodeの定義や種類は、使用されるプロセッサの命令セットアーキテクチャ(ISA)によって完全に異なります。例えば、x86アーキテクチャとARMアーキテクチャでは、同じ操作を行うためのopcodeの値が異なるため、一方のプロセッサで動作するバイナリコードをもう一方で直接実行することはできません。開発者が記述する高水準言語のコードは、コンパイラやアセンブラを通じて、最終的にこれらの具体的なopcodeへと変換されます。
オペランドとの区別
混同しやすい概念にオペランド(operand)がありますが、役割が明確に異なります。opcodeが何をすべきかという動作(命令)を指定するのに対し、オペランドは何に対して行うかという対象(データやアドレス)を指定します。例えば、AとBを加算せよという命令において、加算せよに相当するのがopcodeであり、AやBに相当するのがオペランドです。
意味
中央処理装置が実行すべき操作を指定する、マシン語命令の一部であること
The processor reads the opcode to determine whether to perform an addition or a subtraction.
プロセッサはオペコードを読み取り、加算を行うか減算を行うかを判断する。