オペコード (Z80)
読み:オペコード
外語:opcode

 Z80プロセッサーに対する命令を表わす番号。
目次

概要
 元々はIntelの8080用に設計され採用されたものが初出。
 8080の上位互換としてZ80が開発され、新命令のオペコードも8080で未使用だった部分を用いて拡張された。

特徴
 256種類ある中で252種類を1バイトのオペコードに使い、残り4つ(CB、ED、DD、FD)を拡張およびプリフィックスに用いている。
 追加されたプリフィックスは、次のとおりである。
 Z80には、次のプリフィックスの組み合わせがある
 Z80の後継(Z180、Z280、Z380)や互換プロセッサー(R800、eZ80、μPD780など)では、さらに追加命令がある。これらの命令の符号化のために、次のようなプリフィックスの組み合わせも使用されることがある。

一覧

1バイトオペコード

0x

1x

2x

3x

4x

5x

6x

7x

8x

9x

Ax

Bx

Cx

Dx

Ex

Fx

CB拡張

CB 0x

CB 1x

CB 2x

CB 3x

CB 4x

CB 5x

CB 6x

CB 7x

CB 8x

CB 9x

CB Ax

CB Bx

CB Cx

CB Dx

CB Ex

CB Fx

DD拡張

DD 0x

DD 1x

DD 2x

DD 3x

DD 4x

DD 5x

DD 6x

DD 7x

DD 8x

DD 9x

DD Ax

DD Bx

DD Cx

DD Ex

DD Fx

DD CB拡張
 LD r,xxx(IX+d)は未定義命令で、非公式ニーモニックである。Z80では偶然動作するが、他のCPUでの動作保障はない。実際に、このオペコードは、Z380などでは別の用途に使われている。
 この命令のr=H/Lは、IXH/IXLであるかもしれない。

DD CB d 0x

DD CB d 1x

DD CB d 2x

DD CB d 3x

DD CB d 4x‐7x

DD CB d 8x

DD CB d 9x

DD CB d Ax

DD CB d Bx

DD CB d Cx

DD CB d Dx

DD CB d Ex

DD CB d Fx

FD拡張

FD 0x

FD 1x

FD 2x

FD 3x

FD 4x

FD 5x

FD 6x

FD 7x

FD 8x

FD 9x

FD Ax

FD Bx

FD Cx

FD Ex

FD Fx

FD CB拡張
 LD r,xxx(IY+d)は未定義命令。Z80では偶然動作するが、他のCPUでの動作保障はない。実際に、このオペコードは、Z380などでは別の用途に使われている。
 この命令のr=H/Lは、IYH/IYLであるかもしれない。

FD CB d 0x

FD CB d 1x

FD CB d 2x

FD CB d 3x

FD CB d 4x‐7x

FD CB d 8x

FD CB d 9x

FD CB d Ax

FD CB d Bx

FD CB d Cx

FD CB d Dx

FD CB d Ex

FD CB d Fx

ED拡張
 理論上はEDの前にDDを付けると、例えば「DD ED 4A = ADC IX,BC」のようなオペコードが想定される。しかし、Z80はDD EDというオペコードに対応していない。
 これが実際に利用できるのはZ280だけである。つまり、Z280以外は、IX/IYのADC/SBCなどの命令は、このオペコードでは使えない。

ED 4x

ED 5x

ED 6x

ED 7x
 ED 70/71は、Z180、R800、eZ80でも同様に動作するが、Z380では未定義、Z280では別の命令が定義されている。

ED Ax

ED Bx

Z80未定義命令
 これらは、後継CPUや互換CPUでは動作しないことがある。

再検索