Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИКУМ ПО ОМПТ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
662.53 Кб
Скачать

2.6. Команды управления

Назначение команд этой группы — изменение обычного последовательного хода программы, а также выполнение управляющих операций над самим микропроцессором. Команды этой группы не изменяют состояния разрядов регистра признаков.

2.6.1. Команды безусловной передачи управления

JMP ADR (Jump)

ADR  PC

Безусловный переход. Передать управление команде, адрес которой определяется третьим и вторым байтами текущей команды.

Циклов: 3

Тактов: 10

Признаки: отсутствуют

PCHL (Jump H and L indirect - move H and L to PC)

<HL>  PC

Безусловный переход с косвенной адресацией через регистровую пару H. Содержимое регистра H занести в восемь старших разрядов счетчика команд PC, содержимое регистра L занести в восемь младших разрядов команд PC.

Циклов: 1

Тактов: 5

Признаки: отсутствуют

CALL ADR (Call)

<PC>  M(<SP>-1)M(<SP>-2); <SP>-2  SP; ADR  PC

Переход к подпрограмме. Старшие восемь разрядов адреса очередной команды загружаются в ячейку памяти, адрес которой на единицу меньше исходного содержимого регистра SP. Младшие восемь разрядов адреса очередной команды засылаются в ячейку памяти, адрес которой на две единицы меньше исходного содержимого регистра SP. Содержимое регистра SP уменьшается на 2. Управление передается команде, адрес которой определяется вторым и третьим байтами текущей команды.

Циклов: 5

Тактов: 17

Признаки: отсутствуют

RET (Return)

<M(<SP>)M(<SP>+1)>  PC; <SP>+2  SP

Возврат из подпрограммы. Содержимое ячейки памяти, адрес которой определяется содержимым регистра SP, заносится на место младших восьми разрядов в счетчик команд PC. Содержимое ячейки памяти, адрес которой на единицу больше исходного содержимого регистра SP, заносится на место старших восьми разрядов в счетчик команд PC. Содержимое регистра SP увеличивается на 2.

Циклов: 3

Тактов: 10

Признаки: отсутствуют

RST X (Restart)

<PC>  M(<SP>-1)M(<SP>-2); <SP>-2  SP; 8*X  PC

Переход к фиксированной подпрограмме. Восемь старших разрядов адреса очередной команды заносятся в ячейку памяти, адрес которой на единицу меньше исходного содержимого регистра SP. Восемь младших разрядов адреса очередной команды заносятся в ячейку памяти, адрес которой меньше исходного содержимого регистра SP на 2. Содержимое регистра SP уменьшается на 2. Управление передается команде, адрес которой определяется как номер фиксированной подпрограммы X, умноженный на 8 (для X=0 адрес – 0000H, для X=1 адрес – 0008H, для X=2 адрес – 0010H, для X=3 адрес – 0018H, …, для X=7 адрес – 0038H).

Циклов: 3

Тактов: 11

Признаки: отсутствуют

2.6.2. Команды условной передачи управления

Мнемонические обозначения команд условной передачи управления включают символы –CON, обозначающие проверяемое в команде условие – нулевое или ненулевое значение признаков нуля Z, переноса CY, четности P или знака S (см. табл. 4). Таким образом, для каждой из команд возможно 8 вариантов. Например, варианты команд условного перехода: JZ, JNZ, JNC, JC, JPO, JPE, JP, JM.

J-CON ADR (Conditional jump)

Если CON=1, то ADR  PC

Условный переход. Если условие истинно, то адрес перехода по программе определяется содержимым второго и третьего байтов команды, в противном случае продолжается выполнение программы

Циклов: 3

Тактов: 10

Признаки: отсутствуют

С-CON ADR (Condition call)

Если CON=1, то <PC>  M(<SP>-1)M(<SP>-2); <SP>-2  SP; ADR  PC

Условный переход к подпрограмме. Если условие истинно, то действия определяются выполнением команды CALL (см. выше), в противном случае продолжается выполнение программы.

Циклов: 3 / 5

Тактов: 11 / 17

Признаки: отсутствуют

R-CON (Condition return)

Если CON=1, то <M(<SP>)M(<SP>+1)>  PC; <SP>+2  SP

Условный возврат из подпрограммы. Если условие истинно, то действия определяются выполнением команды RET (см. выше), в противном случае продолжается выполнение программы.

Циклов: 1 / З

Тактов: 5 / 11

Признаки: отсутствуют