Z80280(Z280)資料


1.追加定義命令

 Z80に対して追加定義された命令を記述。ザイログニーモニック。

A’F’
B’C’
D’E’
H’L’
レジスタセット
IXHIXL
IYHIYL
SP
SSP
PC

略称フラグ名称
サインフラグ(sf)
ゼロフラグ(zf)
ハーフキャリーフラグ
パリティ・オーバーフローフラグ(pf)
Pはパリティフラグとして
Vはオーバーフローフラグとして動作した事を示す
減算フラグ
キャリーフラグ(cf)
表記説明
 11に変化
 00に変化
 #演算結果に沿った変化
 ?不定
 -変化しない

 命令の増加により、一部命令の書式が変更されているものがある(バイナリコードは同じ)。

 IXレジスタを使用した命令のオペコードDDに色がついている場合、IYレジスタを使用した同一命令が存在する。オペコードはそのDDをFDに読み換える事。

8ビットロード命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
LD t,ut←u ------ 11 011 101
01   t     u
DD
 
2  t Reg. u Reg.
000 B 100 IXH
001 C 101 IXL
010 D
011 E
100 IXH
101 IXL

111 A
 
 
ww Reg.
00 PC
01 IX
10 IY
11 HL
 
xx Reg.
01 IX
10 IY
11 HL
 
wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
LD u,tu←t ------ 11 011 101
01   u     t
DD
 
2 
LD u,nu←n ------ 11 011 101
00   t   110
--- n ---
DD
 
 
3 
LD A,(wx)A←(wx) ------ 11 011 101
01 111 0wx
DD
 
2 
LD A,(SP+dd)A←(SP+dd) ------ 11 011 101
01 111 000
--- d ---
--- d ---
DD
78
 
 
4 
LD A,(ww+dd)A←(ww+dd) ------ 11 111 101
01 111 0ww
--- d ---
--- d ---
FD4 
LD (wx),A(wx)←A ------ 11 101 101
00 0wx 011
ED
 
2 
LD (SP+dd),A(SP+dd)←A ------ 11 101 101
00 000 011
--- d ---
--- d ---
ED
03
 
 
4 
LD (ww+dd),A(ww+dd)←A ------ 11 101 101
00 1ww 011
--- d ---
--- d ---
ED4 
LD (dd),n(dd)←n ------ 11 011 101
00 111 110
--- d ---
--- d ---
--- n ---
ED
3E
5 
LDUD A,(HL)A←(HL) ------ 11 101 101
10 000 110
ED
86
2 user data area
load/store
LDUD A,(IX+d)A←(IX+d) ------ 11 011 110
11 101 101
10 000 110
--- d ---
DD
ED
86
 
4 
LDUD (HL),A(HL)←A ------ 11 101 110
10 001 110
ED
8E
2 
LDUD (IX+d),A(IX+d)←A ------ 11 011 110
11 101 110
10 001 110
--- d ---
DD
ED
8E
 
4 
LDUP A,(HL)A←(HL) ------ 11 101 101
10 010 110
ED
96
2 user program area
load/store
LDUP A,(IX+d)A←(IX+d) ------ 11 011 110
11 101 101
10 010 110
--- d ---
DD
ED
96
 
4 
LDUP (HL),A(HL)←A ------ 11 101 101
10 011 110
ED
9E
2 
LDUP (IX+d),A(IX+d)←A ------ 11 101 101
11 101 101
10 011 110
--- d ---
DD
ED
9E
 
4 

16ビットロード命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
LD rp,(HL)
LDW rp,(HL)
rpL←(HL)
rpH←(HL+1)
------ 11 101 101
00 rp0 110
ED
 
2  rp Pair Reg.
00 BC
01 DE
10 HL
11 SP
 
ww Reg.
00 PC
01 IX
10 IY
11 HL
 
wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
LD rp,(IX+d)
LDW rp,(IX+d)
rpL←(IX+d)
rpH←(IX+d+1)
------ 11 011 101
11 101 101
00 rp0 110
--- d ---
DD
ED
 
 
4 
LD HL,(wx)
LDW HL,(wx)
L←(wx)
H←(wx+1)
------ 11 101 101
00 0wx 100
ED
 
2 
LD IX,(wx)
LDW IX,(wx)
IXL←(wx)
IXH←(wx+1)
------ 11 011 101
11 1011 01
00 0wx 100
DD
ED
 
3 
LD HL,(SP+dd)
LDW HL,(SP+dd)
L←(SP+dd)
H←(SP+dd+1)
------ 11 101 101
00 000 100
--- d ---
--- d ---
ED
04
4 
LD IX,(SP+dd)
LDW IX,(SP+dd)
IXL←(SP+dd)
IXH←(SP+dd+1)
------ 11 011 101
11 101 101
00 000 100
--- d ---
--- d ---
DD
ED
04
5 
LD HL,(ww+dd)
LDW HL,(ww+dd)
L←(ww+dd)
H←(ww+dd+1)
------ 11 101 101
00 1ww 100
--- d ---
--- d ---
ED4 
LD IX,(ww+dd)
LDW IX,(ww+dd)
IXL←(ww+dd)
IXH←(ww+dd+1)
------ 11 011 101
11 101 101
00 1ww 100
--- d ---
--- d ---
DD
ED
5 
LD (HL),rp
LDW (HL),rp
(HL)←rpL
(HL+1)←rpH
------ 11 101 101
00 rp1 110
ED
 
2 
LD (HL),mn
LDW (HL),mn
(HL)←n
(HL+1)←m
------ 11 011 101
00 000 001
--- n ---
--- m ---
DD
01
 
 
4 
LD (IX+d),rp
LDW (IX+d),rp
(IX+d)←rpL
(IX+d+1)←rpH
------ 11 011 101
11 101 101
00 rp1 110
--- d ---
DD
ED
 
 
4 
LD (wx),HL
LDW (wx),HL
(wx)←L
(wx+1)←H
------ 11 101 101
00 0wx 101
ED
 
2 
LD (wx),IX
LDW (wx),IX
(wx)←IXL
(wx+1)←IXH
------ 11 011 101
11 1011 01
00 0wx 101
DD
ED
 
3 
LD (SP+dd),HL
LDW (SP+dd),HL
(SP+dd)←L
(SP+dd+1)←H
------ 11 101 101
00 000 101
--- d ---
--- d ---
ED
05
4 
LD (SP+dd),IX
LDW (SP+dd),IX
(SP+dd)←IXL
(SP+dd+1)←IXH
------ 11 011 101
11 101 101
00 000 101
--- d ---
--- d ---
DD
ED
05
5 
LD (ww+dd),HL
LDW (ww+dd),HL
(ww+dd)←L
(ww+dd+1)←H
------ 11 101 101
00 1ww 101
--- d ---
--- d ---
ED4 
LD (ww+dd),IX
LDW (ww+dd),IX
(ww+dd)←IXL
(ww+dd+1)←IXH
------ 11 011 101
11 101 101
00 1ww 101
--- d ---
--- d ---
DD
ED
5 
LD (PC+dd),mn
LDW (PC+dd),mn
(PC+dd)←n
(PC+dd+1)←m
------ 11 011 101
00 110 001
--- d ---
--- d ---
--- n ---
--- m ---
DD
31
6 
LD (dd),mn
LDW (dd),mn
(dd)←n
(dd+1)←m
------ 11 011 101
00 010 001
--- d ---
--- d ---
--- n ---
--- m ---
DD
11
6 
LDA HL,(wx)HL←wx ------ 11 101 101
00 0wx 010
ED
 
2  実行アドレス算出
LDA IX,(wx)IX←wx ------ 11 011 101
11 101 101
00 0wx 010
DD
ED
 
3 
LDA HL,(ww+dd)HL←ww+dd ------ 11 101 101
00 1ww 010
--- d ---
--- d ---
ED4 
LDA IX,(ww+dd)IX←ww+dd ------ 11 011 101
11 101 101
00 1ww 010
--- d ---
--- d ---
DD
ED
5 
LDA HL,(SP+dd)HL←SP+dd ------ 11 101 101
00 000 010
--- d ---
--- d ---
ED4 
LDA IX,(SP+dd)HL←SP+dd ------ 11 011 101
11 101 101
00 000 010
--- d ---
--- d ---
DD
ED
5 
PUSH (HL)(SP-2)←(HL)
(SP-1)←(HL+1)
SP←SP-2
------ 11 011 101
11 000 101
DD
C5
2   
PUSH (PC+dd)(SP-2)←(PC+dd)
(SP-1)←(PC+dd+1)
SP←SP-2
------ 11 011 101
11 110 101
--- d ---
--- d ---
DD
F5
4 
PUSH (dd)(SP-2)←(dd)
(SP-1)←(dd+1)
SP←SP-2
------ 11 011 101
11 010 101
--- d ---
--- d ---
DD
D5
4 
PUSH mn(SP-2)←n
(SP-1)←m
SP←SP-2
------ 11 111 101
11 110 101
--- n ---
--- m ---
FD
F5
4 
POP (HL)(HL+1)←(SP+1)
(HL)←(SP)
SP←SP+2
------ 11 011 101
11 000 001
DD
C1
2 
POP (PC+dd)(PC+dd+1)←(SP+1)
(PC+dd)←(SP)
SP←SP+2
------ 11 011 101
11 110 001
--- d ---
--- d ---
DD
F1
4 
POP (dd)(dd+1)←(SP+1)
(dd)←(SP)
SP←SP+2
------ 11 011 101
11 010 001
--- d ---
--- d ---
DD
D1
4 
LDCTL HL,USPHL←user SP ------ 11 101 101
10 000 111
ED
87
2  User stack read/write
LDCTL IX,USPIX←user SP ------ 11 011 101
11 101 101
10 000 111
DD
ED
87
3 
LDCTL USP,HLuser SP←HL ------ 11 101 101
10 001 111
ED
8F
2 
LDCTL USP,IXuser SP←IX ------ 11 011 101
11 101 101
10 001 111
DD
ED
8F
3 

8ビット算術論理演算命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
ADD A,uA←A+u ###V0# 11 011 101
10 000   u
DD
 
2  u Reg.
100 IXH
101 IXL

 
 
ww Reg.
00 PC
01 IX
10 IY
11 HL
 
wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
ADD A,(wx)A←A+(wx) ###V0# 11 011 101
10 000 0wx
DD
 
2 
ADD A,(SP+dd)A←A+(SP+dd) ###V0# 11 011 101
10 000 000
--- d ---
--- d ---
DD4 
ADD A,(dd)A←A+(dd) ###V0# 11 011 011
10 000 111
--- d ---
--- d ---
DD4 
ADD A,(ww+dd)A←A+(ww+dd) ###V0# 11 111 101
10 000 0ww
FD
 
2 
ADC A,sA←A+s+cf ###V0# ** 001 ***    ADD命令と同様の
繰り返し
s=u,(wx),(SP+dd),
 (dd),(ww+dd)
SUB A,sA←A-s ###V1# ** 010 ***
SBC A,sA←A-s-cf ###V1# ** 011 ***
AND A,sA←A and s ##1P00 ** 100 ***
XOR A,sA←A xor s ##0P00 ** 101 ***
OR A,sA←A or s ##0P00 ** 110 ***
CP A,sA-s ###V1# ** 111 ***
TSET rsf←r7
r←0FFh
#----- 11 001 011
00 110   r
CB
 
2  
TSET (HL)sf←(HL)7
(HL)←0FFh
#----- 11 001 011
00 110 110
CB
36
2 
TSET (IX+d)sf←(IX+d)7
(IX+d)←0FFh
#----- 11 011 101
11 001 011
--- d ---
00 110 110
DD
CB
 
36
4 
INC uu←u+1 ###V0- 11 011 101
00   u   100
DD
 
2  
INC (wx)(wx)←(wx)+1 ###V0- 11 011 101
00 0wx 100
DD
 
2 
INC (SP+dd)(SP+dd)←
 (SP+dd)+1
###V0- 11 011 101
00 000 100
--- d ---
--- d ---
DD4 
INC (dd)(dd)←(dd)+1 ###V0- 11 011 101
00 111 100
--- d ---
--- d ---
DD4 
INC (ww+dd)(ww+dd)←
 (ww+dd)+1
###V0- 11 111 101
00 0ww 100
--- d ---
--- d ---
FD4 
DEC ss←s-1 ###V1- ** *** 101   INC命令と同様の
繰り返し
s=u,(wx),(SP+dd),
 (dd),(ww+dd)

16ビット算術演算命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
ADD HL,AHL←HL+A ##?V0# 11 101 101
01 101 101
ED
6D
2  
ADD IX,AIX←IX+A ##?V0# 11 011 101
11 101 101
01 101 101
DD
ED
6D
3 
ADC IX,rxIX←IX+rx+cf ##?V0# 11 011 101
11 101 101
01 rx1 010
DD
ED
 
3  rp Pair Reg.
00 BC
01 DE
10 HL
11 SP
 
rx Pair Reg.
00 BC
01 DE
10 IX
11 SP
SBC IX,rxIX←IX-rx-cf ##?V1# 11 011 101
11 101 101
01 rx0 010
DD
ED
 
3 
ADDW HL,rpHL←HL+rp ##?V0# 11 101 101
11 rp0 110
ED
 
2 
ADDW HL,IXHL←HL+IX ##?V0# 11 011 101
11 101 101
11 100 110
DD
ED
 
3 
ADDW HL,(HL)HL←HL+(HL) ##?V0# 11 011 101
11 101 101
11 000 110
DD
ED
 
3 
ADDW HL,(dd)HL←HL+(dd) ##?V0# 11 011 101
11 101 101
11 010 110
--- d ---
--- d ---
DD
ED
 
5 
ADDW HL,(PC+dd)HL←
 HL+(PC+dd)
##?V0# 11 011 101
11 101 101
11 110 110
--- d ---
--- d ---
DD
ED
 
5 
ADDW HL,(IX+dd)HL←
 HL+(IX+dd)
##?V0# 11 111 101
11 101 101
11 000 110
--- d ---
--- d ---
FD
ED
 
5 
ADDW HL,(IY+dd)HL←
 HL+(IY+dd)
##?V0# 11 111 101
11 101 101
11 010 110
--- d ---
--- d ---
FD
ED
 
5 
ADDW HL,mnHL←HL+mn ##?V0# 11 111 101
11 101 101
11 110 110
--- n ---
--- m ---
FD
ED
 
5 
SUBW HL,ssHL←HL-ss ##?V1# ** **1 110    ADDW命令と同様の
繰り返し
ss=rp,IX,(HL),(dd),(PC+dd),
 (IX+dd),(IY+dd),mn
CPW HL,ssHL-ss ##?V1# ** **0 111
INCW (HL)(HL)←(HL)+1 ------ 11 011 101
00 000 011
DD
 
2 word pointer
INCW (dd)(dd)←(dd)+1 ------ 11 011 101
00 010 011
--- d ---
--- d ---
DD4 
INCW (PC+dd)(PC+dd)←
 (PC+dd)+1
------ 11 011 101
00 110 011
--- d ---
--- d ---
DD4 
INCW (IX+dd)(IX+dd)←
 (IX+dd)+1
------ 11 111 101
00 000 011
--- d ---
--- d ---
FD4 
INCW (IY+dd)(IX+dd)←
 (IX+dd)+1
------ 11 111 101
00 010 011
--- d ---
--- d ---
FD4 
DECW ssss←ss-1 ------ ** **1 011   INCW命令と同様の繰り返し
ss=(HL),(dd),(PC+dd),
 (IX+dd),(IY+dd)

乗除算命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
MULT A,rHL←A×r ###V0# 11 101 101
11   r   000
ED
 
2  r Reg. u Reg.
000 B 100 IXH
001 C 101 IXL
010 D
011 E
100 H
101 L
111 A
MULT A,(HL)HL←A×(HL) ###V0# 11 101 101
11 110 000
ED
 
2 
MULT A,(IX+d)HL←A×(IX+d) ###V0# 11 011 101
11 101 101
11 110 000
--- d ---
DD
ED
4 
MULT A,uHL←A×u ###V0# 11 011 101
11 101 101
11   u   000
DD
ED
 
3 
MULT A,(wx)HL←A×(wx) ###V0# 11 011 101
11 101 101
11 0wx 000
DD
ED
 
3  ww Reg.
00 PC
01 IX
10 IY
11 HL
 
wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
MULT A,(SP+dd)HL←
 A×(SP+dd)
###V0# 11 011 101
11 101 101
11 000 000
--- d ---
--- d ---
DD
ED
5 
MULT A,(dd)HL←A×(dd) ###V0# 11 011 011
11 101 101
11 111 000
--- d ---
--- d ---
DD
ED
5 
MULT A,(ww+dd)HL←
 A×(ww+dd)
###V0# 11 111 101
11 101 101
11 0ww 000
--- d ---
--- d ---
FD
ED
5 
MULTU A,sHL←A×s -##V0# ** *** 001   MULT命令と同様の
繰り返し
s=r,u,(HL),(IX+d),(wx),
 (SP+dd),(dd),(ww+dd)
DIV HL,sA←HL÷s
L←余り
###V0# ** *** 100
DIVU HL,sA←HL÷s
L←余り
-##V0# ** *** 101
MULTW HL,rpDE:HL←HL×rp ##?V0# 11 101 101
11 rp0 010
ED
 
2  rp Pair Reg.
00 BC
01 DE
10 HL
11 SP
 
word pointer
MULTW HL,IXDE:HL←HL×IX ##?V0# 11 011 101
11 101 101
11 100 010
DD
ED
 
3 
MULTW HL,(HL)DE:HL←HL×(HL) ##?V0# 11 011 101
11 101 101
11 000 010
DD
ED
 
3 
MULTW HL,(dd)DE:HL←HL×(dd) ##?V0# 11 011 101
11 101 101
11 010 010
--- d ---
--- d ---
DD
ED
 
5 
MULTW HL,(PC+dd)DE:HL←
 HL×(PC+dd)
##?V0# 11 011 101
11 101 101
11 110 010
--- d ---
--- d ---
DD
ED
 
5 
MULTW HL,(IX+dd)DE:HL←
 HL×(IX+dd)
##?V0# 11 111 101
11 101 101
11 000 010
--- d ---
--- d ---
FD
ED
 
5 
MULTW HL,(IY+dd)DE:HL←
 HL×(IY+dd)
##?V0# 11 111 101
11 101 101
11 010 010
--- d ---
--- d ---
FD
ED
 
5 
MULTW HL,mnDE:HL←HL×mn ##?V0# 11 111 101
11 101 101
11 110 010
--- n ---
--- m ---
FD
ED
 
5 
MULTUW HL,ssDE:HL←HL×ss -#?V0# ** **0 011    MULTW命令と同様の
繰り返し
ss=rp,IX,(HL),(dd),(PC+dd),
 (IX+dd),(IY+dd),mn
DIVW DEHL,ssHL←DE:HL÷ss
DE←余り
##?V0# ** **1 010
DIVUW DEHL,ssHL←DE:HL÷ss
DE←余り
-#?V0# ** **1 011

ジャンプ命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
JP (PC+dd)PC←PC+dd ------ 11 111 101
11 000 011
--- d ---
--- d ---
FD
C3
 
 
4  cc 条件
000 NZ non zero
001 Z zero
010 NC non carry
011 C carry
100 PO parity odd
101 PE parity even
110 P sign positive
111 M sign negative
JP cc,(HL)条件がccなら
PC←HL
そうでなければ
何もしない
------ 11 011 101
11 cc  010
DD
 
2 
JP cc,(PC+dd)条件がccなら
JP (PC+dd)に同じ
そうでなければ
何もしない
------ 11 111 101
11 cc  010
--- d ---
--- d ---
FD
4 
JAF e裏AFレジスタを
使用中なら
PC←PC+e
そうでなければ
何もしない
------ 11 011 101
00 101 000
-- e-3 --
DD
28
 
3 
True
 
 
False
JAR e裏レジスタを
使用中なら
PC←PC+e
そうでなければ
何もしない
------ 11 011 101
00 100 000
-- e-3 --
DD
20
 
3 
True
 
False

e 相対アドレッシングモードにおける変位値(符号付き2の補数-128〜+127)
e-3 eの実効変位値(オペランド即値)

コール命令/リターン命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
CALL (HL)(SP-1)←PCH
(SP-2)←PCL
SP←SP-2
PC←HL
------ 11 011 101
11 001 101
DD
CD
2  cc 条件
000 NZ non zero
001 Z zero
010 NC non carry
011 C carry
100 PO parity odd
101 PE parity even
110 P sign positive
111 M sign negative
CALL (PC+dd)(SP-1)←PCH
(SP-2)←PCL
SP←SP-2
PC←PC+dd
------ 11 111 101
11 001 101
--- d ---
--- d ---
FD
CD
4 
CALL cc,(HL)条件がccなら
CALL (HL)に同じ
そうでなければ
何もしない
------ 11 011 101
11 cc  100
DD
 
2 
True
 
False
CALL cc,(PC+dd)条件がccなら
CALL (PC+dd)に同じ
そうでなければ
何もしない
------ 11 111 101
11 cc  100
--- d ---
--- d ---
FD4 
True
 
False
SC mnシステムコール ------ 11 101 101
01 110 001
--- n ---
--- m ---
ED
71
4  
RETIL? ------ 11 101 101
01 010 101
ED
55
2 

入出力命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
TSTI (C)(BC)pポート入力値を
フラグに反映
###P0- 11 101 101
01 110 000
ED
70
2  u Reg.
100 IXH
101 IXL

 
 
CがAB0〜AB7
BがAB8〜AB15
IN u,(C)u←(BC)p ###P0- 11 011 101
11 101 101
01   u   000
DD
ED
 
3 
IN (wx),(C)(wx)m←(BC)p ###P0- 11 011 101
11 101 101
01 0wx 000
DD
ED
 
3 
IN (SP+dd),(C)(SP+dd)m←(BC)p ###P0- 11 011 101
11 101 101
01 000 000
--- d ---
--- d ---
DD
ED
40
5 
IN (ww+dd),(C)(ww+dd)m←(BC)p ###P0- 11 111 101
11 101 101
01 0ww 000
--- d ---
--- d ---
FD
ED
5 
IN (dd),(C)(dd)m←(BC)p ###P0- 11 011 101
11 101 101
01 111 000
--- d ---
--- d ---
DD
ED
78
5 
IN HL,(C)
INW HL,(C)
L←(BC)p
H←(BC+1)p
###P0- 11 101 101
10 110 111
ED
B7
2 
INIW(HL)m←(BC)p
(HL+1)m←(BC+1)p
HL←HL+2
B←B-1
?*1??1- 11 101 101
10 000 010
ED
82
2 
INIRWINIW命令を
B=0まで繰り返し
?1??1- 11 101 101
10 010 010
ED
92
2 
B≠0
 
B=0
INDW(HL+1)m←(BC+1)p
(HL)m←(BC)p
HL←HL-2
B←B-1
?*1??1- 11 101 101
10 001 010
ED
8A
2 
INDRWINDW命令を
B=0まで繰り返し
?1??1- 11 101 101
10 011 010
ED
9A
2 
B≠0
 
B=0
OUT (C),u(BC)p←u ------ 11 011 101
11 101 101
01   u   001
DD
ED
 
3 
OUT (C),(wx)(BC)p←(wx)m ------ 11 011 101
11 101 101
01 0wx 001
DD
ED
 
3 
OUT (C),(SP+dd)(BC)p←(SP+dd)m ------ 11 011 101
11 101 101
01 000 001
--- d ---
--- d ---
DD
ED
41
5 
OUT (C),(ww+dd)(BC)p←(ww+dd)m ------ 11 111 101
11 101 101
01 0ww 001
--- d ---
--- d ---
FD
ED
5 
OUT (C),(dd)(BC)p←(dd)m ------ 11 011 101
11 101 101
01 111 001
--- d ---
--- d ---
DD
ED
79
5 
OUT (C),HL
OUTW (C),HL
(BC)p←L
(BC+1)p←H
------ 11 101 101
10 111 111
ED
BF
2 
OUTIW(BC)p←(HL)m
(BC+1)p←(HL+1)m
HL←HL+2
B←B-1
?*1??1- 11 101 101
10 000 011
ED
83
2 
OTIRWOUTIW命令を
B=0まで繰り返し
?1??1- 11 101 101
10 010 011
ED
93
2 
B≠0
 
B=0
OUTDW(BC+1)p←(HL+1)m
(BC)p←(HL)m
HL←HL-2
B←B-1
?*1??1- 11 101 101
10 001 011
ED
8B
2 
OTDRWOUTDW命令を
B=0まで繰り返し
?1??1- 11 101 101
10 011 011
ED
9B
2 
B≠0
 
B=0
LDCTL HL,(C)L←(BC)p
H←(BC+1)p
###P0- 11 101 101
01 100 110
ED
66
2   
LDCTL IX,(C)IXL←(BC)p
IXH←(BC+1)p
###P0- 11 011 101
11 101 101
01 100 110
DD
ED
66
3 
LDCTL (C),HL(BC)p←L
(BC+1)p←H
------ 11 101 101
01 101 110
ED
6E
2 
LDCTL (C),IX(BC)p←IXL
(BC+1)p←IXH
------ 11 011 101
11 101 101
01 101 110
DD
ED
6E
3 

(**)mはメモリアドレス、(**)pはI/Oアドレスを表わす。
*1 Bレジスタ=0なら1

CPU制御命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
DI nIFF←0 ------ 11 101 101
01 110 111
--- n ---
ED
77
 
3   
EI nIFF←1 ------ 11 101 101
01 111 111
--- n ---
ED
7F
 
3   
IM 3割り込みモード
設定
------ 11 101 101
01 001 110
ED
4E
2  
PCACHEキャッシュクリア ------ 11 101 101
01 100 101
ED
65
2  

コプロセッサ制御命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
EPUF  ------ 11 101 101
10 010 111
ED
97
2   
EPUI  ------ 11 101 101
10 011 111
ED
9F
2 
EPUM (HL)  ------ 11 101 101
10 100 110
ED
A6
2  wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
 
ww Reg.
00 PC
01 IX
10 IY
11 HL
EPUM (dd)  ------ 11 101 101
10 100 111
--- d ---
--- d ---
ED
A7
4 
EPUM (wx)  ------ 11 101 101
10 0wx 100
ED
 
2 
EPUM (SP+dd)  ------ 11 101 101
10 000 100
--- d ---
--- d ---
ED4 
EPUM (ww+dd)  ------ 11 101 101
10 1ww 100
--- d ---
--- d ---
ED4 
MEPU (HL)  ------ 11 101 101
10 101 110
ED
AE
2  EPUM命令と同様の
繰り返し
ss=(wx),(SP+dd),(ww+dd)
MEPU (dd)  ------ 11 101 101
10 101 111
--- d ---
--- d ---
ED
AF
4 
MEPU ss  ------ ** *** 101   

アキュムレータ操作命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
NEG HLHL←0-HL
HLの2の補数をとる
###V1# 11 101 101
01 001 100
ED
4C
2  NEGate HL
EXTS AH7…0←A7 ------ 11 101 101
01 100 100
ED
64
2  符号拡張
EXTS HLDE15…0←H7 ------ 11 101 101
01 101 100
ED
6C
2 

エクスチェンジ命令

ニーモニックオペレーションフラグOPコードバイトステートコメント
76 543 210Hex
EX A,rA←→r ------ 11 101 101
00   r   111
ED
 
2  r Reg. u Reg.
000 B 100 IXH
001 C 101 IXL
010 D
011 E
100 H
101 L
111 A
 
ww Reg.
00 PC
01 IX
10 IY
11 HL
 
wx Index Regs.
01 HL+IX
10 HL+IY
11 IX+IY
EX H,LH←→L ------ 11 101 101
11 101 111
ED
EF
2 
EX A,(HL)A←→(HL) ------ 11 101 101
00 110 111
ED
37
2 
EX A,(IX+d)A←→(IX+d) ------ 11 011 101
11 101 101
00 110 111
--- d ---
DD
ED
37
 
4 
EX A,uA←→u ------ 11 011 101
11 101 101
00   u   111
DD
ED
 
3 
EX A,(wx)A←→(wx) ------ 11 011 101
11 101 101
00 0wx 111
DD
ED
 
3 
EX A,(SP+dd)A←→(SP+dd) ------ 11 011 101
11 101 101
00 000 111
--- d ---
--- d ---
DD
ED
07
 
 
5 
EX A,(ww+dd)A←→(ww+dd) ------ 11 111 101
11 101 101
00 0ww 111
--- d ---
--- d ---
FD
ED
5 
EX A,(dd)A←→(dd) ------ 11 011 101
11 101 101
00 111 111
--- d ---
--- d ---
DD
ED
3F
 
 
5 
EX IX,HLIX←→HL ------ 11 011 101
11 101 011
DD
EB
2 


2.削除命令

 Z180で追加された命令は、Z280では未定義命令のため動作しない。
 Z80のSLL r命令のオペコードは、Z280ではTSET rとして定義されている。


3.未定義命令

 Z80の未定義命令のうち、第一、第二オペコードがそれぞれDDh,CBhまたはFDh,CBhのものは動作しない。


μPD780余多話に戻る