オペコード
読み:オペコード
外語:op. code
プロセッサーに対する命令を表わす番号。機械語のうち、命令の種類を表わす部分をいう。プロセッサーは、メモリーからこの符号を読み取り、解読して実行する。
概要
マイクロプロセッサーが理解できる言語を機械語という。
機械語は様々な情報をまとめて一つの単位とし、それが固定長のものもあれば、不定長のものもある。パソコンで主に使われているIntelのプロセッサーx86シリーズは不定長である。
この時、命令の種類を表わす番号をオペコードという。
特徴
基本
例えば、Z80やx86など、古くからのパーソナルコンピューター向けCPUの場合、8ビットを1バイトとする単位の不定長であり、原則として機械語列の1バイト目がオペコードになる。
加算命令、減算命令、といった命令ごとに番号を振ることになり、その番号が1バイト目に書かれることになる。
拡張
命令が増えてくると、1バイトだけで表わせなくなる。
この場合、後から拡張されることになり、特定のバイト列に続けて拡張バイトで拡張命令を表わすようなことになる。
- Z80のオペコード 8ビットCPUのZ80は、8080の拡張で、8080で未使用だったバイトを利用して命令の数を増やした。
- IA-32のオペコード x86の場合は0Fが来た場合は次の1バイトも含めてオペコードになる。
更なる拡張で、0F 38、0F 3Aの何れかが来た場合は、更に次の1バイトも含めてオペコードになる。
不定長の機械語を採用しているマイクロプロセッサーは、オペコードなどを見て命令の全体長を把握することになる。
再検索