Выбор (A) и (F) из стека
POP PSW | <B1> | F1 |
7 0
F [(SP)]; A [(SP)+1]; SP (SP)+2
Действие этой команды противоположно действию команды 2.6. Эта команда аналогична команде 2.7 и отличается лишь регистрами. Команда выполняется за три цикла (10 тактов). Содержимое регистра признаков изменяется в соответствии с кодом записанного в стеке слова.
Пример:
D) POP PSW
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
080D | F1 | F1 |
SP | 0BAC | 0BAE |
0BAC | ||
0BAD | ||
A | ||
FL | ||
PC | 080D | 080E |
Обмен данными
а) Обмен между DE и HL .
XCHG | (H) «(D) ; (L) « (E)<B1> | EB |
7 0
б)Обмен вершины стека с HL
XTHL | (L) «[(SP)];(H) « [(SP) +1] <B1> | E3 |
7 0
По этим командам происходит обмен данными между регистрами D и H, E и L (а) или между регистрами и ячейками памяти (б), адреса которых выбираются из регистра SP (указателя стека). Команды однобайтовые и выполняются за 1 или 5 циклов (4 или 13 тактов) соответственно для команд a) и б). После выполнения команды содержимое регистра признаков не изменяется.
Примеры:
D1) XTHL
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
00D1 | E3 | E3 |
L | 2A | 5A |
H | 0C | |
SP | 12B2 | 12B2 |
12B2 | 5A | 2A |
12B3 | 0C | |
PC | 00D1 | 00D2 |
После выполнения операции содержимое указателя стека остается таким же, как и до выполнения операции.
E) XCHG
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
080E | EB | EB |
D | ||
E | FA | 2B |
H | ||
L | 2B | FA |
FL | ||
PC | 080E | 080F |
Пересылка НL
а) Пересылка в указатель стека
SPHL | (SP)(H) (L) <B1> | F9 |
7 0
б) Пересылка в счетчик команд
PCHL | (PC)(H) (L) <B1> | E9 |
7 0
При выполнении этих команд содержимое регистровой пары HL передается в регистрSP - указатель стека (а) или в регистр PC -счетчик команд (б). При этом старший байт принимается из регистра Н, а младший - из регистра L. Содержимое регистров Н и L при выполнении команды не изменяется. Не изменяется также содержимое регистра признаков F. Команда выполняется за один цикл (5 тактов).
Примеры:
F) SPHL
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
080F | F9 | F9 |
SP | 0BB0 | 0BAC |
H | 0B | 0B |
L | AC | AC |
FL | ||
PC | 080F |
PCHL
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
E9 | E9 | |
PC | 09AE | |
H | ||
L | AE | AE |
FL |
2.11 Контрольные вопросы и здания
1. Назначение команд пересылки.
2. Размер команд пересылки.
3. Какие из следующих команд не относятся к группе команд пересылки:
- PUSH D;
- MVI M, A6;
- LXI H, 012E;
- CALL 023D;
- LDAX D;
- CMA.
4. Как влияют команды пересылки на состояние регистра признаков?
5. Как выполняется команда MOV D, M?
6. Какая или какие из приведенных ниже мнемонических значений ошибочны:
- MOV D, B4;
- LHLD 01D6;
- PUSH PSW;
- PCHL;
- POP C;
- LDA B4;
- STAX D.
7. Какая из команд MOV C,M и MOV D,E требует для своего выполнения больше времени и почему?
8. В каком случае после выполнения команды MOV H, L содержимое регистров H и L не изменится?
9. Как выполняется команда SPHL?
10. Особенности выполнения команды POP PSW.
Дата добавления: 2021-02-19; просмотров: 426;