page34
Команда
T
Код
Пояснения
C
Z
P
S
N
H
INDR
21
11
101
101
(HL)←(C) ADR
←
B/C
1
X
X
1
X
(16)
10
111
010
затем B ← B-1
HL ← HL-1
и повтор до B=0
OUT (n),A
11
11
010
011
(n) ← A ADR ← A/n
-
n
-
OUT (C),r
12
11
101
101
(C) ← r ADR ← B/C
01
r
001
OUTI
16
11
101
101
(C)←(HL) ADR
←
B/C
?
X
X
1
X
10
100
011
затем B ← B-1
Z=1, если B-1=0
HL ← HL+1
Z=0, если B-1≠0
OTIR
21
11
101
101
(C)←(HL) ADR
←
B/C
1
X
X
1
X
(16)
10
110
011
затем B ← B-1
HL ← HL+1
и повтор до B=0
OUTD
16
11
101
101
(C)←(HL) ADR
←
B/C
?
X
X
1
X
10
101
011
затем B ← B-1
Z=1, если B-1=0
HL ← HL-1
Z=0, если B-1≠0
OTDR
21
11
101
101
(C)←(HL) ADR
←
B/C
1
X
X
1
X
1
(16)
10
111
011
затем B ← B-1
HL ← HL-1
и повтор до B=0
Таблица 5.1.10. Команды вызова и возврата
Команда
T
Код
Пояснения
C
Z
P
S
N
H
CALL nn
17
11
001
101
(SP-1) ← PC
H
-
n
-
(SP-2) ← PC
L
-
n
-
PC ← nn
CALL cc,nn
17
11
cc
100
(10)
-
n
-
(SP-2) ← PC
L
-
n
-
PC
←
nn, если cc верно
PC←PC+3, если нет
RET
10
11
001
001
PC
L
← (SP)
PC
H
← (SP+1)
RET cc
11
11
cc
000
PC
L
← (SP)
(6)
PC
H
← (SP+1)
PC ← PC+1, если cc
не выполняется
RETI
14
11
101
101
Возврат из INT
01
001
101
RETN
14
11
101
101
Возврат из NMI
01
000
101
RST p
11
11
a
111
(SP-1) ← PC
H
(SP-2) ← PC
L
PC ← 0 PC
L
← p
Для некоторых команд в колонке T указано два значения - без скобок и в скобках:
- для условных команд JR, CALL, RET в скобках указано количество тактов выполнения
команды при невыполнении условия;
- для "цикличных" команд DJNZ, LDIR, LDDR, CPIR, CPDR, INIR, INDR, OTIR. OTDR в
скобках
указано
количество
тактов,
за
которое
выполняется
команда
в
последний
(перед
завершением) раз.
Таблица 5.1.11. Команды сдвига и вращения
Команда
T
Код
Пояснения
C
Z
P
S
N
H
RLCA
4
00
000
111
?
0
0
RLA
4
00
010
111
?
0
0
RRCA
4
00
001
111
?
0
0
RRA
4
00
011
111
?
0
0