Z80命令表(一部)

8bitロード命令

\ x A B C D E H L n (mn) 意味
LD A, x 7F 78 79 7A 7B 7C 7D 3E n 3A n m Aレジスタに値を入れる
LD B, x 47 40 41 42 43 44 45 06 n - Bレジスタに値を入れる
LD C, x 4F 48 49 4A 4B 4C 4D 0E n - Cレジスタに値を入れる
LD D, x 57 50 51 52 53 54 55 16 n - Dレジスタに値を入れる
LD E, x 5F 58 59 5A 5B 5C 5D 1E n - Eレジスタに値を入れる
LD H, x 67 60 61 62 63 64 65 26 n - Hレジスタに値を入れる
LD L, x 6F 68 69 6A 6B 6C 6D 2E n - Lレジスタに値を入れる
LD (mn), x 32 n m - - - - - - - - mn番地にに値を入れる
ADD A, x 87 80 81 82 83 84 85 C6 - Aレジスタに値を加える
SUB x 97 90 91 92 93 94 95 D6 - Aレジスタから値を引く
AND x A7 A0 A1 A2 A3 A4 A5 E6 - Aレジスタと値のANDをとる
XOR x AF A8 A9 AA AB AC AD EE - Aレジスタと値のXORをとる
OR x B7 B0 B1 B2 B3 B4 B5 F6 - Aレジスタと値のORをとる
INC x 3C 04 0C 14 1C 24 2C - - 値を1つ増やす
DEC x 4D 05 0D 15 1D 25 2D - - 値を1つ減らす

ジャンプ命令

命令\ オプション なし Z NZ M 意味
JP x, mn C3 n m CA n m C2 n m FA n m mn番地にジャンプする
CALL x, mn CD n m CC n m C4 n m FC n m mn番地のサブルーチンを呼び出す
意味 無条件 直前の演算結果が0のとき 直前の演算結果が0で無いとき 直前の演算結果がマイナスのとき

入出力

命令 マシン語 意味
IN A,(x) DB x I/Oポートxから値を読みAレジスタに入れる
OUT (x),A D3 x Aレジスタの値をI/Oポートxに書き込む

回転

命令 マシン語 意味
RLA 17 Aレジスタの内容を左にシフトする
RRA 1F Aレジスタの内容を右にシフトする

サブルーチン

内容 アドレス 仕様
キー入力 08E0H Aレジスタにキー番号を返す。何も入力されてない時はFFHが返る。A,Bレジスタ使用。
音を出す 08B8H Aレジスタの値に対応した音を出力する。Aレジスタ使用。
7セグメントLED表示 01C0H 83F4H~84F7Hの内容を7セグメントLEDに表示する。A~Lレジスタ使用。
タイマー1 0779H 50ms待つ。A,Bレジスタ使用。
タイマー2 077BH 1ms×Bレジスタの値だけ待つ。A,Bレジスタ使用。

IOポート

アドレス機能
F9H8個のトグルスイッチの値を読み取る(上が1、したが0で8ビットの2進数)
F8H8個のLEDを光らせる(8ビットのデータを2進数にして1がON,0がOFF)