オペコードとは?

最終更新日 2019年10月11日

オペコードとは何か

CPU は命令を読み込み解析し命令通りに処理を実行しますが、命令を機械語(マシン語)で書くと0と1の羅列となります。

具体的にどのような命令なのかを8個の数字、命令により処理する対象となるデータを4個の数字で表すとし、00000001 は加算命令、0001 はレジスタA、0010 はレジスタBを意味するとし、レジスタAとレジスタBに格納されている数値を加算しレジスタAに格納するという命令を機械語で書くと以下のようになると仮定します。

00000001 0001 0010

加算命令、データ部分それぞれの部分がわかりやすいように1文字空けています。

加算命令等により処理する対象となるデータをオペランドと呼び、この例の機械語における命令部分は 00000001、オペランド部分は 0001 0010 です。

命令部分とオペランド部分を合わせた一つ分の命令が書かれた機械語、上記の例だと 00000001 0001 0010 をオペコードと呼びます。

機械語の命令部分、上記の例だと 00000001 をオペコードと呼ぶこともあります。この場合は、オペコードとオペランド部分は区別されます。

人間にとって機械語だとわかりにくいので、CPU への命令はアセンブリ言語で書かれることがあります。

上記の例だと、ADD A,B のように書くことができます。ADD は命令部分であり加算命令を意味し、A,B はオペランド部分であり、A はレジスタA、BはレジスタBを意味します。

アセンブリ言語の命令部分は短い文字数で表されますが、これをニーモニックと呼びます。上記の例だと ADD はニーモニックです。アセンブリ言語において命令により処理対象となるデータも、オペランドと呼びます。

アセンブリ言語における命令部分を、ニーモニックではなくオペコードと呼ぶこともあります。


キャンペーン情報
富士通
・大ボーナスセール
クーポン利用で16〜24%OFF等の11大特典
(12月1日迄)
シークレットクーポン
特別割引のクーポン
(1月12日迄)

プロセッサーとプログラム



デル株式会社