Группа команд передачи управления
К командам передачи управления относятся команды безусловного и условного переходов, команды безусловного и условного вызова и выхода из подпрограммы, а также команды перезапуска.
Команды этой группы не изменяют состояния битов условий флагового регистра, а используют их при своем выполнении, осуществляя переход по указанному адресу, если один из четырех битов условий находится в состоянии «1» или «0».
Рассмотрим условия переходов:
Условие | Условия перехода | |
NZ | Результат операции не равен 0 | (Z=0) |
Z | Результат операции равен 0 | (Z=1) |
NC | Переноса не было | (CY=0) |
С | Был перенос | (CY=1) |
РЕ | Число единиц в аккумуляторе четно | (P=1) |
РО | Число единиц в аккумуляторе нечетно (Р=0) | |
Р | Результат операции положителен | (S=0) |
М | Результат операции отрицателен | (S=1) |
Команды условного перехода имеют следующий формат:
Jcond Adr
где cond- одно из условий перехода перечисленных в таблице;
Adr- адрес перехода, расположенный в следующих двух байтах команды.
Выполнение команд условных переходов происходит следующим образом: если условие перехода истинно, то управление передается по указанному в команде адресу перехода, в противоположном случае выполняется следующая команда. В соответствии с приведенными в таблице условиями перехода в систему команд МП входят следующие команды условного перехода:
JNZ JZ JNC JC JPE JPO JP JM
Пример: пусть требуется числу, находящемуся в памяти по адресу 0860 пять раз прибавить число, находящееся в памяти по адресу 0861.
Адрес | Команда | Содержание ячейки памяти | Комментарий |
LDA | A<-M0860 | ||
LXI H | HL<-0861 | ||
MOV B, M | B<-M0861 C<- 5 | ||
MVI C | |||
ADD B | A <- A+B | ||
080А | DCR C | C<- C-1 — установка флагов (Z) | |
080В | JNZ | Если в результате последней операции получился не ноль, то перейти по адресу 0809 | |
080C | |||
080D | |||
080E | HLT |
Команда безусловного перехода, имеющая формат JMP Adrосуществляет безусловный переход по указанному адресу во втором и третьем байтах адреса перехода.
Команды условного вызова подпрограмм имеют следующий формат:
Ccond Adr
где cond- одно из условий перехода, перечисленных в таблице;
Adr- адрес перехода, расположенный в последующих двух байтах команды.
Выполнение команд условных вызовов подпрограмм происходит следующим образом: если условие истинно, то управление передается по указанному в команде адресу перехода, а содержимое программного счетчика (регистр PC)загружается в стек (в стеке сохраняется адрес возврата).
В соответствии с приведенными в таблице условиями перехода в систему команд МП входят следующие команды условного вызова подпрограмм:
Дата добавления: 2021-09-07; просмотров: 349;