■ ニーモニック⇔機械語対照表(その2)

 第二回目の機械語とニーモニックの対照表は、主に算術演算・論理演算関連の命令を中心として構成されている。ただし、個々の表自体は同類となっているが、全体では余白を活用してその他の命令群も含まれているので、誤解のなきよう。
 16ビット算術演算表を見ると、インデックスレジスタ(IX,IY)を除く16ビットレジスタ(HL,BC,DE)のうち、BCとDEはHLをサポートするための脇役であることが明白になる。数値を一時的に記憶するという機能は同じでも、自らが変化を伴う演算対象となっていないのだ。
 もちろん、ブロック転送/サーチ命令(前回に掲載)などで固有の役割は担っているが、BCとDEに対する算術演算には、HLへの置換が必要となるなど不便な側面があるのは否めない。といっても、そういった設計思想下でのヤリクリこそが、Z80マシン語プログラミングの醍醐味なのである。

ニーモニック⇔機械語対照表(その2)
 n :8ビットの数値
 nn:16ビットの数値
 d :8ビットの数値
 e :相対アドレシングの変位置
 x :上部に並んでいるレジスタ名や条件を示す

8ビット算術論理演算
x→
A
B
C
D
E
H
L
(HL)
(IX+d)
(IY+d)
n
ADD A,x
87
80
81
82
83
84
85
86
DD
86
d
FD
86
d
C6
n
ADC A,x
8F
88
89
8A
8B
8C
8D
8E
DD
8E
d
FD
8E
d
CE
n
SUB x
97
90
91
92
93
94
95
96
DD
96
d
FD
96
d
D6
n
SBC A,x
9F
98
99
9A
9B
9C
9D
9E
DD
9E
d
FD
9E
d
DE
n
AND x
A7
A0
A1
A2
A3
A4
A5
A6
DD
A6
d
FD
A6
d
E6
n
XOR x
AF
A8
A9
AA
AB
AC
AD
AE
DD
AE
d
FD
AE
d
EE
n
OR x
B7
B0
B1
B2
B3
B4
B5
B6
DD
B6
d
FD
B6
d
F6
n
CP x
BF
B8
B9
BA
BB
BC
BD
BE
DD
BE
d
FD
BE
d
FE
n
INC x
3C
04
0C
14
1C
24
2C
34
DD
34
d
FD
34
d
 
DEC x
3D
05
0D
15
1D
25
2D
35
DD
35
d
FD
35
d
 

16ビット算術演算
x→
BC
DE
HL
SP
IX
IY
ADD HL,x
09
19
29
39
 
 
ADD IX,x
DD
09
DD
19
 
DD
39
DD
29
 
ADD IY,x
FD
09
FD
19
 
FD
39
FD
29
 
ADC HL,x
ED
4A
ED
5A
ED
6A
ED
7A
 
 
SBC HL,x
ED
42
ED
52
ED
62
ED
72
 
 
INC x
03
13
23
33
DD
23
FD
23
DEC x
0B
1B
2B
3B
DD
2B
FD
2B

エクスチェンジ
EX AF,AF'
08
EX DE,HL
EB
EX (SP),HL
E3
EX (SP),IX
DD
E3
EX (SP),IY
FD
E3
EXX
D9
アキュムレータ操作
DAA
27
CPL
2F
NEG
ED
44
CCF
3F
SCF
37
CPUコントロール
NOP
00
HALT
76
DI
F3
EI
FB
IM 0
ED
46
IM 1
ED
56
EM 2
ED
5E