Z80命令表


凡例:n;実数                                        
      A〜E,H,L;レジスタ(二つ並ぶ時はレジスタペア)   
      SP;スタックポインタ                           
      PC;プログラムカウンタ                         
      IX+d,IY+d;インデックスレジスタ+d              
      F;フラグ(AFはアキュムレータレジスタとのペア)  
      (nn);()で挟まれている場合、アドレスを示す。   
      X';’が付くと裏レジスタ。                     
      (例)BC';裏レジスタペアを示す。                

      (注)まだ作成途中です。16進コードも付ける予     
          定です。                                   
          未定義命令について一部記載しました。       
ニモニック 第一オペランド 第二オペランド 備考
ADC A, HL (8ビット) n, A〜E, H, L, (HL), (IX+d), (IY+d)
(16ビット) BC, DE, HL, SP
8/16ビット加算命令(キャリー含む)
ADD A, HL, IX, IY (8ビット) n, A〜E , H, L, (HL), (IX+d), (IY+d)
(16ビット) BC, DE, HL, SP, IX, IY
8/16ビット加算命令(キャリー含まず)
AND n, A〜E, H, L, (HL), (IX+d), (IY+d) - アキュムレータと第一オペランドの論理積
BIT 0〜7 A〜E, H, L, (HL), (IX+d), (IY+d) 特定のビットを調べ、Zフラグをセット/リセット
CALL nn
(条件分岐) NZ, Z, NC, C, PO, PE, P, M
(条件分岐) nn 無条件/条件分岐(RET命令参照)
CCF - - キャリーフラグ反転
CP n, A〜E, H, L, (HL), (IX+d), (IY+d) - アキュムレータと第一オペランドの比較
CPD - - (HL)とアキュムレータの比較
CPDR - - (HL)とアキュムレータの比較
CPI - - (HL)とアキュムレータの比較
CPIR - - (HL)とアキュムレータの比較
CPL - - アキュムレータの内容を反転
DAA - - アキュムレータの内容を10進補正
DEC (8ビット) A〜E, H, L, (HL), (IX+d), (IY+d)
(16ビット) BC, DE, HL, SP, IX, IY
- 第一オペランドから-1
DI - - 割り込み処理禁止命令(EI参照)
DJNZ e - Bレジスタを0になるまで-1し、その度にeだけ相対ジャンプ
EI - - 割り込み禁止処理解除命令(DI参照)
EX (SP), AF, DE HL, IX, IY, AF' 8/16ビットデータ交換
EXX - - BC, DE, HL レジスタペアを裏レジスタと交換
HALT - - CPUを停止
IM 0〜2 - 割り込みモードの設定
IN A〜E, H, L (n), (C) 第二オペランドで指定したポートからデータ読み込み
INC (8ビット) A〜E, H, L, (HL), (IX+d), (IY+d)
(16ビット) BC, DE, HL, SP, IX, IY
- 第一オペランドに+1
IND - - I/Oポートから読み込み
INDR - - I/Oポートから読み込み
INI - - I/Oポートから読み込み
INIR - - I/Oポートから読み込み
JP nn, HL, (IX), (IY)
(条件分岐) NZ, Z, NC, C, PO, PE, P, M
nn ジャンプ命令
JR e
(条件分岐) NZ, Z, NC, C
e 相対アドレスジャンプ
LD (8ビット) nn, A〜E, H, L, (BC), (DE), (HL), (IX+d), (IY+d), I, R, IXh, IXl, IYh, IYl
(16ビット) BC, DE, HL, SP, IX, IY, SP, (nn)
(8ビット) n, (nn), A〜E, H, L, (BC), (DE), (HL), (IX+d), (IY+d), I, R, IXh, IXl, IYh, IYl
(16ビット) BC, DE, HL, SP, IX, IY, nn, (nn)
8/16ビット転送命令
LDD - - データ転送命令
LDDR - - データ転送命令
LDI - - データ転送命令
LDIR - - データ転送命令
NEG - - アキュムレータの補数をとる
NOP - - 何もしない
OR n, A〜E, H, L, (HL), (IX+d), (IY+d) - アキュムレータと第一オペランドの論理和
OTDR - - ポートへの出力を繰り返す
OTIR - - ポートへの出力を繰り返す
OUT (n), (C) A〜E, H, L I/Oポートへ出力
OUTD - - I/Oポートへ出力
OUTI - - I/Oポートへ出力
PUSH AF, BC, DE, HL, IX, IY - レジスタペアの値を退避
POP AF, BC, DE, HL, IX, IY - スタックポインタのアドレスからレジスタペアに値を読み込む
RES 0〜7 A〜E, H, L, (HL), (IX+d), (IY+d) 特定のビットをリセット
RET NZ, Z, NC, C, PO, PE, P, M - (条件により)サブルーチンからリターン
RETI - - 割り込みサブルーチンからのリターン
RETN - - ノンマスク割り込み処理用サブルーチンからのリターン命令
RL A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を左に1ビットシフトする
RLA - - アキュムレータの値を1ビット左にシフトする
RLC A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を1ビット左にシフトする
RLCA - - アキュムレータの値を1ビット左にシフトする
RLD - - アキュムレータの値と(HL)の値の入れ替え
RR A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を1ビット右にシフトする
RRA - - アキュムレータの値を1ビット右にシフトする
RRC A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を1ビット右にシフトする
RRCA - - アキュムレータの値を1ビット右にシフトする
RRD - - アキュムレータの値と(HL)の値の入れ替え
RST 00, 08, 10, 18, 20, 28, 30, 38 - サブルーチン呼び出し
SBC (8ビット) A
(16ビット) HL
(8ビット) n, A〜E, H, L, (HL), (IX+d), (IY+d)
(16ビット) BC, DE, HL, SP
8ビット/16ビット減算命令
SCF - - キャリーフラグをセット
SET 0〜7 A〜E, H, L, (HL), (IX+d), (IY+d) 特定のビットをセット
SLA A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を左に1ビットシフトする
SRA A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を右に1ビットシフトする
SRL A〜E, H, L, (HL), (IX+d), (IY+d) - レジスタの値を右に1ビットシフトする
SUB n, A〜E, H, L, (HL), (IX+d), (IY+d) - 減算命令
XOR n, A〜E, H, L, (HL), (IX+d), (IY+d) - 排他的論理和命令
SLL A〜E, H, L, (HL) - レジスタの値を左に1ビットシフトする
ビット0をセットする

表紙へ戻る ソフトウェアに戻る
inserted by FC2 system