Команды ветвления и переходов

Данная группа команд содержит команды переходов, вызова, возврата и повторного запуска (рестарт). Эта группа команд изменяет нормальный (последовательный) ход программы. Она включает команды двух типов: условного и безусловного переходов. Безусловные переходы выполняют операцию, определенную счетчиком команд; условные – проверяют состояние одного из признаков МП для определения целесообразности задаваемого ветвления. В командах условного перехода 3-разрядный указатель перехода (cnd) задает условие передачи управления по адресу, указанному в команде. Возможны задания восьми вариантов условия перехода: по наличию переноса, отсутствию переноса, нулевому, ненулевому, положительному, отрицательному, четному и нечетному результату. В таблице 2.8 приведены коды условий (cnd), используемых в командах условного перехода, вызова подпрограмм и возврата из них.

Таблица 2.8 Коды условий (cnd)

Код Мнемоника Условия
NZ Не ноль (Z = 0)
Z Ноль (Z = 1)
NC Нет переноса (C = 0)
C Есть перенос (C = 1)
P0 Нечетный результат (P = 0)
PE Четный результат (P = 1)
P Результат положительный (S = 0)
M Результат отрицательный (S = 1)

В таблице 2.9 приведены команды ветвления и переходов.

Таблица 2.9 Команды ветвления и переходов

Мнемоника команды Код операции Количество байтов в команде Время выполнения команды, циклы Выполняемые действия
JMP addr 11000011 3 3 Ветвление. (PC) (байт3)(байт2).
Jcnd addr 11cnd010 3 5 Условное ветвление. Если (cnd), то (PC) ((байт3)(байт2). Иначе (PC) (PC)+1
CALL addr 11001101 - 3 Вызов подпрограммы. M(SP-1) (PCH), M(SP-2) (PCL), (SP) (SP)-2); (PC) (байт3)байт2).
Ccnd addr 11cnd100 3 5 Если условие выполняется, то действия те же, что и в команде CALL, иначе (PC) (PC)+1
RET 11001001 1 3 Возврат из полпрограммы. M(SP) (PCL); M(SP+1) (PCH); (SP) (SP)+2.
Rcnd 11cnd000 1 3 Условный возврат из подпрограммы. Если условие выполняется, то действия те же, что и в RET, иначе (PC) (PC)+1
RST N 11NNN111 1 3 Рестарт. M(SP)-1) (PCH), M(SP-2) (PCL), (SP) ((SP)-2); (PC) (NNN´8).
PCHL 11101001 1 1 Косвенный переход по адресу, указанному в паре регистров HL. (PCH) (H); (PCL) (L).

2.3.5. Команды управления, ввода/вывода и работы со стеком

Команды этой группы выполняют операции помещения в стек и извлечения из него, ввода и вывода данных, обмена данными, разрешения и запрещения прерываний, содержит команды отсутствия операций и останова. В таблице 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 Нет операций. Не выполняется никаких операций.







Дата добавления: 2015-04-25; просмотров: 1192;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.