|
Таблица 5.1.1. 8-битовые команды загрузки | ||||
|
Команда |
T |
Код |
Пояснения |
C Z P S N H |
|
LD r1,r2 LD (HL),n |
4 10 |
01 r1 r2 - n - - n - |
r1 ^ r2 (HL) ^ n | |
|
LD r,(IX+d) |
19 |
11 011 101 |
r ^ (IX+d) | |
|
LD (IX+d),n |
19 |
11 011 101 - n - - d - |
(IX+d) ^ n | |
|
LD A,(BC) |
7 |
00 001 010 - n - - n - |
A ^ (BC) | |
|
LD (BC),A |
7 |
00 000 010 - n - - n - |
(BC) ^ А | |
|
LD A,I |
9 |
11 101 101 |
A ^ I |
? IF ? 0 0 |
|
Таблица 5.1.2. 16-битовые команды загрузки | ||||
|
Команда |
T |
Код |
Пояснения |
C Z P S N H |
|
LD dd,nn LD IY,nn LD HL,(nn) |
10 14 16 |
00 dd0 001 - n - - n - - n - - n - - n - - n - - n - - n - |
dd ^ nn IY ^ nn H ^ (nn+1) L ^ (nn) | |
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P S N |
H | ||
|
LD dd,(nn) |
20 |
11 |
101 |
101 |
ddH ^ (nn+1) | ||||
|
LD IX,(nn) |
20 |
11 00 |
n |
101 |
IXH ^ (nn+1) | ||||
|
LD IY,(nn) |
20 |
11 00 |
n |
101 |
IYH ^ (nn+1) | ||||
|
LD (nn),HL |
16 |
00 |
100 |
010 |
(nn+1) ^ H (nn) ^ L | ||||
|
LD (nn),dd |
20 |
11 |
n |
101 |
(nn+1) ^ ddH | ||||
|
LD (nn),IX |
20 |
11 00 |
n |
101 |
(nn+1) ^ IXH | ||||
|
LD (nn),IY |
20 |
11 00 |
n |
101 |
(nn+1) ^ IYH | ||||
|
LD SP,HL LD SP,IY PUSH qq PUSH IX PUSH IY POP qq POP IX POP IY |
6 10 11 15 15 10 14 14 |
11 11 11 |
111 011 011 |
001 101 101 |
SP ^ HL SP ^ IY (SP-2) ^ qqL | ||||
|
Таблица 5.1.З. Команды обработки блоков | |||||||||
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P S N |
H | ||
|
LDI LDD |
16 21 16 |
11 11 11 |
101 101 101 |
101 000 101 000 101 000 |
(DE) ^ (HL) |
P= P= |
? 0 0 0 ? 0 |
0 0 | |
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P |
S |
N |
H | ||
|
LDDR |
21 |
11 |
101 |
101 |
(DE) ^ (HL) |
0 |
0 |
0 | |||
|
(16) |
10 |
111 |
000 |
затем DE ^ DE-1 | |||||||
|
HL ^ HL-1 | |||||||||||
|
BC ^ BC-1 | |||||||||||
|
и повтор до BC=0 | |||||||||||
|
CPI |
16 |
11 |
101 |
101 |
A-(HL)=? |
? |
? |
? |
1 |
? | |
|
затем HL ^ HL+1 |
Z= |
1, если A=(HL) | |||||||||
|
ВС^ВС-1 |
Z=0, если A^(HL) | ||||||||||
|
Р= |
0, если BC-1 |
=0 | |||||||||
|
Р= |
=1, если BC-1^0 | ||||||||||
|
CPIR |
21 |
11 |
101 |
101 |
A-(HL)=? |
? |
? |
? |
1 |
? | |
|
(16) |
10 |
110 |
001 |
затем HL ^ HL+1 |
Z= |
1, если A=(HL) | |||||
|
ВС^ВС-1 |
Z=0, если A^(HL) | ||||||||||
|
и повтор по BC=0 |
Р= |
0, если BC-1 |
=0 | ||||||||
|
или A=(HL) |
Р= |
=1, если BC-1^0 | |||||||||
|
CPD |
16 |
11 |
101 |
101 |
A-(HL)=? |
? |
? |
? |
1 |
? | |
|
10 |
101 |
001 |
затем HL ^ HL-1 |
Z= |
1, если A=(HL) | ||||||
|
ВС^ВС-1 |
Z=0, если A^(HL) | ||||||||||
|
Р= |
0, если BC-1 |
=0 | |||||||||
|
Р= |
=1, если BC-1^0 | ||||||||||
|
CPDR |
21 |
11 |
101 |
101 |
A-(HL)=? |
? |
? |
? |
1 |
? | |
|
(16) |
10 |
111 |
001 |
затем HL ^ HL-1 |
Z= |
1, если A=(HL) | |||||
|
ВС^ВС-1 |
Z=0, если A^(HL) | ||||||||||
|
и повтор по BC=0 |
Р= |
0, если BC-1 |
=0 | ||||||||
|
или A=(HL) |
Р= |
=1, если BC-1^0 | |||||||||
|
Таблица 5.1.4. 8-битовые арифметические и логические команды | |||||||||||
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P |
S |
N |
H | ||
|
ADD A,r |
4 |
10 |
000 |
r |
A ^ A+r |
? |
? |
V |
? |
0 |
? |
|
ADD A,n |
7 |
11 |
110 |
A ^ A+n |
? |
? |
V |
? |
0 |
? | |
|
ADD A,(HL) |
7 |
10 |
n 000 |
110 |
A ^ A+(HL) |
? |
? |
V |
? |
0 |
? |
|
ADD A,(IX+d) |
19 |
11 |
011 |
101 |
A ^ A+(IX+d) |
? |
? |
V |
? |
0 |
? |
|
10 |
000 |
110 | |||||||||
|
- |
d |
- | |||||||||
|
ADD A,(IY+d) |
19 |
11 |
111 |
101 |
A ^ A+(IY+d) |
? |
? |
V |
? |
0 |
? |
|
10 |
000 |
110 | |||||||||
|
- |
d |
- | |||||||||
|
ADC A,s |
001 |
A ^ A+s+C |
? |
? |
V |
? |
0 |
? | |||
|
SUB s |
010 |
A ^ A-s |
? |
? |
V |
? |
1 |
? | |||
|
SBC A,s |
011 |
A ^ A-s-C |
? |
? |
V |
? |
1 |
? | |||
|
AND s |
100 |
A ^ A AND s |
0 |
? |
P |
? |
0 |
1 | |||
|
OR s |
110 |
A ^ A OR a |
0 |
? |
P |
? |
0 |
0 | |||
|
XOR s |
101 |
A ^ A XOR a |
0 |
? |
P |
? |
0 |
0 | |||
|
CP s |
111 |
A-s=? |
? |
? |
V |
? |
1 |
? | |||
|
Код подставляется | |||||||||||
|
вместо 000 | |||||||||||
|
в командах | |||||||||||
|
INC r |
4 |
00 |
r |
100 |
г ^ r+1 |
? |
V |
? |
0 |
? | |
|
INC (HL) |
11 |
00 |
110 |
100 |
(HL) ^ (HL) + 1 |
? |
V |
? |
0 |
? | |
|
INC (IX+d) |
23 |
11 |
011 |
101 |
(IX+d) ^ (IX+d)+1 |
? |
V |
? |
0 |
? | |
|
00 |
110 |
100 | |||||||||
|
- |
d |
- | |||||||||
|
INC (IY+d) |
23 |
11 |
111 |
101 |
(IY+d) ^ (IY+d)+1 |
? |
V |
? |
0 |
? | |
|
00 |
110 |
100 | |||||||||
|
- |
d |
- | |||||||||
|
DEC t |
101 |
t ^ t-1 |
? |
V |
? |
1 |
? | ||||
|
Код подставляется | |||||||||||
|
вместо 100 | |||||||||||
|
в командах INC | |||||||||||
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P |
S |
N |
H | ||
|
DAA |
4 |
00 |
100 |
111 |
Двоично-десятичная |
? |
? |
P |
? |
? | |
|
коррекция A | |||||||||||
|
CPL |
4 |
00 |
101 |
111 |
A ^ инверсия A |
1 |
1 | ||||
|
NEG |
8 |
11 |
101 |
101 |
А ^ -А |
? |
? |
V |
? |
1 |
? |
|
01 |
000 |
100 | |||||||||
|
CCF |
4 |
00 |
111 |
111 |
C ^ инверсия C |
? |
0 |
X | |||
|
SCF |
4 |
00 |
110 |
111 |
C ^ 1 |
1 |
0 |
0 | |||
|
Таблица 5.1.5. 16 битовые арифметические команды | |||||||||||
|
Команда |
T |
Код |
Пояснения |
C |
Z |
P |
S |
N |
H | ||
|
ADD HL,dd |
11 |
00 |
dd1 |
001 |
HL ^ HL+dd |
? |
0 |
X | |||
|
ADC HL,dd |
15 |
11 |
101 |
101 |
HL ^ HL+dd+C |
? |
? |
V |
? |
0 |
X |
|
01 |
dd1 |
010 | |||||||||
|
SBC HL,dd |
15 |
11 |
101 |
101 |
HL ^ HL-dd-C |
? |
? |
V |
? |
1 |
X |
|
01 |
dd0 |
010 | |||||||||
|
ADD IX,pp |
15 |
11 |
011 |
101 |
IX ^ IX+pp |
? |
0 |
X | |||
|
00 |
pp1 |
001 | |||||||||
|
ADD IY,rr |
15 |
11 |
111 |
101 |
IY ^ IY+rr |
? |
0 |
X | |||
|
00 |
rr1 |
001 | |||||||||
|
INC dd |
6 |
00 |
dd0 |
011 |
dd ^ dd+1 | ||||||
|
INC IX |
10 |
11 |
011 |
101 |
IX ^ IX+1 | ||||||
|
00 |
100 |
011 | |||||||||
|
INC IY |
10 |
11 |
111 |
101 |
IY ^ IY+1 | ||||||
|
00 |
100 |
011 | |||||||||
|
DEC dd |
6 |
00 |
dd1 |
011 |
dd ^ dd-1 | ||||||
|
DEC IX |
10 |
11 |
011 |
101 |
IX ^ IX-1 | ||||||
|
00 |
101 |
011 | |||||||||
|
DEC IY |
10 |
11 |
111 |
101 |
IY ^ IY-1 | ||||||
|
Таблица 5.1.6. Команд] JP nn JP cc,nn JR e JR NC,e JR Z,e JR NZ,e JP (HL) JP (IY) |
ы перехс 10 12 4 8 |
00 11 11 00 00 00 00 11 |
101 Код 000 e-2 110 e-2 101 e-2 100 e-2 101 |
011 011 010 000 000 000 000 001 |
Пояснения PC ^ nn PC ^ nn, если PC ^ PC+e, еcли PC ^ PC+2, если PC ^ PC+e, если PC ^ PC+2, если PC ^ PC+e, если PC ^ PC+2, если PC ^ PC+e, если PC ^ PC+2, если PC ^ HL |
C |
Z |
P |
S |
N |
H |
|
Команда |
T |
Код |
Пояснения |
C Z P S N H |
|
DJNZ e |
13 |
00 010 000 |
B ^ B-1, при B=0 PC ^ PC+2 |
Таблица 5.1.7 Команды для работы с битами
|
Команда |
T |
Код |
Пояснения |
C Z |
P |
S |
N |
H | |
|
BIT b,r |
8 |
11 001 |
011 |
Z ^ инверсия rb |
? |
X |
X |
0 |
1 |
|
01 b |
r | ||||||||
|
BIT b,(HL) |
12 |
11 001 |
011 |
Z ^ инверсия (HL)b |
? |
X |
X |
0 |
1 |
|
01 b |
110 | ||||||||
|
BIT b,(IX+d) |
20 |
11 011 |
101 |
Z ^ инверсия (IX+d)b |
? |
X |
X |
0 |
1 |
|
11 001 |
011 | ||||||||
|
- d |
- | ||||||||
|
01 b |
110 | ||||||||
|
BIT b,(IY+d) |
20 |
11 111 |
101 |
Z ^ инверсия (IY+d)b |
? |
X |
X |
0 |
1 |
|
11 001 |
011 | ||||||||
|
- d |
- | ||||||||
|
01 b |
110 | ||||||||
|
SET b.r |
8 |
11 001 |
011 |
rb ^ 1 | |||||
|
11 b |
r | ||||||||
|
SET b,(HL) |
15 |
11 001 |
011 |
(HL)b ^ 1 | |||||
|
11 b |
110 | ||||||||
|
SET b,(IX+d) |
23 |
11 011 |
101 |
(IX+d)b ^ 1 | |||||
|
11 001 |
011 | ||||||||
|
- d |
- | ||||||||
|
11 b |
110 | ||||||||
|
SET b,(IY+d) |
23 |
11 111 |
101 |
(IY+d)b ^ 1 | |||||
|
11 001 |
011 | ||||||||
|
- d |
- | ||||||||
|
11 b |
110 | ||||||||
|
RES b,t |
10 |
tb ^ 0. Код 10 | |||||||
|
подставляется вместо | |||||||||
|
11 в командах SET | |||||||||
Таблица 5.1.8 Команды обмена
|
Команда |
T |
Код |
Пояснения |
C Z P S N H | ||
|
EX DE,HL |
4 |
11 |
101 |
011 |
DE ~ HL | |
|
EX AF,AF' |
4 |
00 |
001 |
000 |
AF ~ AF' | |
|
EXX |
4 |
11 |
011 |
001 |
BC ~ ВС' DE ~ DE' | |
|
HL ~ HL' | ||||||
|
EX (SP),HL |
19 |
11 |
100 |
011 |
H ~ (SP+1) L ~ (SP) | |
|
EX (SP),IX |
23 |
11 |
011 |
101 |
IXh ~ (SP+1) | |
|
11 |
100 |
011 |
IXL ~ (SP) | |||
|
EX (SP),IY |
23 |
11 |
111 |
101 |
IYh ~ (SP+1) | |
|
11 |
100 |
011 |
IYl ~ (SP) | |||
Таблица 5.1.9. Команды ввода вывода
|
Команда |
T |
Код |
Пояснения |
C Z |
P |
S |
N |
H | ||
|
IN A,(n) |
11 |
11 |
011 |
011 |
A ^ (n) ADR ^ A/n | |||||
|
IN r,1C) |
12 |
11 |
n |
101 |
r ^ (C) ADR ^ B/C |
? |
P |
? |
0 |
? |
|
01 |
r |
000 | ||||||||
|
INF |
12 |
11 |
101 |
101 |
F ^ (C) ADR ^ B/C |
? |
P |
? |
0 |
? |
|
01 |
110 |
000 |
F-регистр флагов | |||||||
|
INI |
16 |
11 |
101 |
101 |
(HL)^(C) ADR^B/C |
? |
X |
X |
1 |
X |
|
10 |
100 |
010 |
затем B ^ B-1 |
Z= |
1, если B- |
1=0 | ||||
|
HL ^ HL+1 |
Z=0, если B-1^0 | |||||||||
|
INIR |
21 |
11 |
101 |
101 |
(HL)^(C) ADR^B/C |
1 |
X |
X |
1 |
X |
|
(16) |
10 |
110 |
010 |
затем B ^ B-1 | ||||||
|
HL ^ HL+1 | ||||||||||
|
и повтор до B=0 | ||||||||||
|
IND |
16 |
11 |
101 |
101 |
(HL)^(C) ADR^B/C |
? |
X |
X |
1 |
X |
|
10 |
101 |
010 |
затем B ^ B-1 |
Z= |
1, если B- |
1=0 | ||||
|
HL ^ HL-1 |
Z=0, если B-1^0 | |||||||||
Для некоторых команд в колонке T указано два значения - без скобок и в скобках:
- для условных команд JR, CALL, RET в скобках указано количество тактов выполнения
команды при невыполнении условия;
- для "цикличных" команд DJNZ, LDIR, LDDR, CPIR, CPDR, INIR, INDR, OTIR. OTDR в
скобках указано количество тактов, за которое выполняется команда в последний (перед
завершением) раз.