Команды управления, ввода/вывода и работы со стеком
Команды этой группы выполняют операции помещения в стек и извлечения из него, ввода и вывода данных, обмена данными, разрешения и запрещения прерываний, содержит команды отсутствия операций и останова. В таблице 2.10 приведены команды управления, ввода/вывода и работы со стеком.
Таблица 2.10 Команды управления, ввода/вывода и работы со стеком
Мнемоника команды | Код операции | Количество байтов в команде | Время выполнения команды, циклы | Выполняемые действия |
IN port | 11011011 | 2 | 3 | Ввести данные (A) (port) |
OUT port | 11010011 | 2 | 3 | Вывести данные (port) (A) |
PUSH RP | 11RP0101 | 1 | 3 | Загрузить в стек содержимое пары регистров. M(SP-1) (RH); M(SP-2) ) (RL); (SP) (SP-2). |
PUSH PSW | 11110101 | 1 | 3 | Загрузить в стек содержимое регистра флагов. M(SP-1) (A); M(SP-2) PSW; (SP) (SP-2). |
POP RP | 11RP0001 | 1 | 3 | Считать из стека содержимое пары регистров. (RL) M(SP); (RH) M(SP+1); (SP) ((SP)+2). |
POP PSW | 11110001 | 1 | 3 | Считать из стека содержимое регистра флагов. (PSW) M(SP); (A) M(SP+1)); (SP) (SP)+2). |
XTHL | 11100011 | 1 | 3 | Обмен содержимым верхушки стека и пары регистров HL. (L) « M(SP); (H) « M(SP+1) |
SPHL | 11111001 | 1 | 3 | (SP) (HL). |
EI | 11111011 | 1 | 1 | Разрешение прерываний после выполнения следующей команды. |
DI | 11110011 | 1 | 1 | Запрещение прерываний после выполнения следующей команды. |
HLT | 01110110 | 1 | 1 | Останов. Процессор останавливается. |
NOP | 00000000 | 1 | 1 | Нет операций. Не выполняется никаких операций. |