Другие команды
Прямой доступ к памяти (ПДП). Тогда обмен информации между устройствами ввода, вывода и запоминающего устройства может осуществляться напрямую, минуя аккумулятор. Все персональные компьютеры и многие микроконтроллеры используют этот принцип. Он сложен в технической реализации, но обеспечивает большую пропускную способность.
Команды ввода и вывода данных.
Команды управления (безусловный и условные переходы)
4.1. Команда безусловного перехода
Б1 Б2 Б3 | JMP |
младшие разряды | Адрес перехода |
старшие разряды |
(Счетчик команд РС)←(< Б3>< Б2>)
Пример: JMP 8105h ; (Счетчик команд РС)←8105h
4.2. Команды условных переходов (JM, JNM,JZ, JNZ)
Все команды условного перехода 3-х байтные: в 1-м байте КОП, в 3- м и 2-м байтах команды адрес перехода.
Последовательность выполнения команды условного перехода: если условие КОП выполняется, то в PC заносится адрес перехода из 3-го и 2-ого байтов команды. Если условие КОП не выполняется, то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.
Команда перехода, если минус:
Б1 Б2 Б3 | JM |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(< Б3>< Б2>), если S=1
(PC)←(РС)+3, если S=0
Команда перехода, если минус, т.е. если предыдущий результат отрицательный (S=1), то в PC заносится адрес 3- и 2- ого байтов команды и происходит переход по этому адресу. Если условие КОП не выполняется (S=0), то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.
Пример команды:
Команда перехода, если ноль:
Б1 Б2 Б3 | JZ |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(< Б3>< Б2>), если Z=1
(PC)←(РС)+3, если Z=0
Команда перехода, если не ноль:
Б1 Б2 Б3 | JNZ |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(<Б3>< Б2>), если Z=0
(PC)←(РС)+3, если Z=1
Ввод и вывод данных организуется двумя способами:
1) Ввод и вывод данных только через аккумулятор. Данный способ обычно используется в восьмиразрядных системах. Он прост в технической реализации МП. В изучаемом нами МП применяется данный способ обмена.
5.1. Команда ввода данных
Б1 Б2 | IN |
Адрес устройства ввода |
(А)←([< Б2>])
Пример команды:
IN INPORT1; (A)←([INPORT1]), где INPORT1символический адрес порта ввода.
5.2. Команда вывода данных
Б1 Б2 | OUT |
Адрес устройства вывода |
([<Б2>])←(A)
OUT OUTPORT2 ; ([OUTPORT2])←(A)
6.1 Команды работы со стеком (стековой памятью).
Стековая память – область ОЗУ, предназначенная для временного хранения данных, в том числе и адресов возврата в основную программу при обращении к подпрограмме.
Обмен со стековой памятью осуществляется только парами регистров (В-С, D-E, H-L, PSW).
Для организации стековой памяти необходимо определить начальный адрес (вершину стека).
Примечание: в некоторых МПС начальный адрес стека определяется автоматически.
Для задания вершины стека используются два варианта команд:
1-ый вариант:
Б1 Б2 Б3 | LXI |
младший разряд | Адрес регист- ровой пары |
старший разряд |
(SР)←(< Б3>< Б2>)