Выбор (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; просмотров: 588;











