Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
При выполнении пересылок, арифметических и логических операций содержимое программного счетчика автоматически изменялось на число, соответствующее количеству байтов в команде. Команды управления принудительно изменяют его состояние, то есть изменяется ход выполнения программы. Команды управления служат для организации циклов, разветвлений прерывания и тому подобное. Различают команды безусловных переходов и команды переходов по условию. В таблице 5.7 приведены в общем виде команды управления.
Таблица 5.7 – Команды управления
Мнемоника | Двоичный код | К-во байт | Символическое обозначение действий |
JMP adr | adr ® (PC) | ||
PCHL | (HL) ® (PC) | ||
Jccc adr | 11CCC010 | If ccc then adr®РCelsе(PC)+3®(PC) | |
CALL adr | (ст1/2 PC) ® ((SP) – 1); | ||
(мл1/2 PC) ® ((SP) – 2); | |||
((SP) – 2) ® (SP); adr ® PC | |||
Продолжение таблицы 5.7 | |||
11CCC100 | If ccc then (cm1/2 PC) ® ((SP) – 1); | ||
(мл1/2 PC) ® ((SP) – 2) | |||
Cccc adr | (A) – data 8 ® (A) | ||
(PC) + 3 ® (PC) | |||
RET | ((SP)) ® (мл1/2 PC); | ||
((SP) + 1) ® (cm1/2 PC); | |||
(SP) + 2 ® (SP) | |||
Rccc | 11CCC000 | If ccc then ((SP)) ® (мл1/2 PC); | |
((SP) + 1) ® (cm1/2 PC) | |||
(SP) + 2 ® (SP) elsE (PC) + 1 ® PC) | |||
RST n | 11NNN111 | (cm1/2 PC) ® ((SP) – 1); | |
(мл1/2 PC) ® ((SP) – 2) | |||
((SP) – 2 ® (SP) 8 * n ® PC, | |||
где n = 0000H, 0008H, 0010H, 018H, | |||
0020H, 0028H, 0030H, 0038H | |||
EI | Разрешить прерывание | ||
DI | Запретить прерывание | ||
HLT | Стоп |
Условия, с которыми оперируют команды управления, определяются состоянием битов регистра признаков F. В таблице 5.7 приведены коды ССС различных условий.
Таблица 5.8 – Коды условий переходов
Условие | Обозначение | Двоичный код ссс |
Z = 0 | NZ (NOT ZEROU – ненулевой результат) | |
Z = 1 | Z (ZEROU – нулевой результат) | |
CY = 0 | NC (NO CARRY – отсутствие переноса) | |
CY = 1 | C (CARRY – перенос) | |
P = 0 | PO (PARITY DLD – нечетный результат) | |
P = 1 | PE (PARITY EVEN – четный результат) | |
S = 0 | P (PLUS – плюс, положительное число) | |
S = 1 | M (MINUS – отрицательное число) |
Например, рассмотрим команду Jccc adr. Код команды 11ССС010. Описание команды: если условие ССС выполнено, то перейти к выполнению команды, адрес которой указан во 2-ом и 3-ем байтах команды, в противном случае перейти к выполнению следующей команды. Допустим, что в качестве признака используется условие Z = 0, тогда команда запишется в виде JNZ адрес. Код команды будет иметь вид 11000010, так как в этом случае код условия – 000, а обозначения признака ненулевой резуль-
тат – NZ.
Например, нужно проверить число (операнд), находящееся в регистре А, чтобы узнать четное оно или нет. В этом случае применяют команду Сссс adr. Код этой команды в общем виде – 11ССС101. Обозначение признака четности – РЕ, код условия – 101.
СРЕ adr, ее код будет иметь вид 1110 1100 D
Е С = (ЕС)н
Если число четное, то процессор начнет выполнять программу, указанную адресом adr, а если нет, то в программный счетчик РС занесется новое число, большее на 3, так как команда СРЕ занимает три байта и процессор начнет выполнять команду, следующую за командой СРЕ.
Дата публикования: 2015-01-23; Прочитано: 279 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!