Команды управления процессором

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

Мнемоника Код Число циклов Число тактов Флаги: CY, Z, M, P, C, AC Содержание
PCHL E9     ----- PC <- HL
JMP addr C3     ----- PC <- addr
JC addr DA     ----- if (CY) PC <- addr
JNC addr D2     ----- if (!CY) PC <- addr
JZ/JNZ addr CA/C2     ----- if (Z /!Z) PC <- addr
JM/JP addr FA/F2     ----- if (M /!M) PC <- addr
JPE/JPO addr EA/E2     ----- if (P /!P) PC <- addr
CALL addr CD     ----- -(SP) <- PC <- addr
CC/CNC addr DC/D4 3/5 11/17 ----- if (CY /!CY) CALL addr
CZ/CNZ addr CC/C4 3/5 11/17 ----- if (Z /!Z) CALL addr
CM/CP addr FC/F4 3/5 11/17 ----- if (M /!M) CALL addr
CPE/CPO addr EC/E4 3/5 11/17 ----- if (P /!P) CALL addr
RET C9     ----- PC <- (SP)+
RC/RNC D8/D0 1/3 5/11 ----- if (CY /!CY) RET
RZ/RNZ C8/C0 1/3 5/11 ----- if (Z /!Z) RET
RM/RP F8/F0 1/3 5/11 ----- if (M /!M) RET
RPE/RPO E8/E0 1/3 5/11 ----- if (P /!P) RET

Эти команды содержат три основные операции, типичные для большинства МП, и организуют безусловный переход:

JMP Переход

CALL Вызов подпрограммы

RET Возврат из подпрограммы

Для поддержки условной передачи управления на их базе построены три соответствующие модификации базовых операций:

Jcc Условный переход

Ccc Условный вызов ПП

Rcc Условный возврат из ПП

Каждая операция обеспечивает проверку 8 условий, в соответствии с результатами которой меняются значения поля СС:

C Carry CY=1 M Minus M=1

NC Not Carry CY=0 P Positive M=0

Z Zero Z=1 PE Parity Even P=1

NZ Not Zero Z=0 PO Parity Odd P=0

Передача управления осуществляется в любую точку 64 килобайтовой области пространства памяти.

Наличие команды PCHL решает важную проблему передачи управления по вычисляемому адресу.

Сюда входят две команды ВВ с прямой адресацией порта IN, OUT. Команды EI и DI разрешают и запрещают прием запросов на прерывания, сбрасывая и устанавливая маску прерывания.

Однобайтовая команда RST n, n=0..7, представляющая собой укороченный вариант команды CALL addr при addr=8*n, обеспечивает возможность программной инициализации процедур обслуживания прерываний и вызова операционной системы или ее специальных средств.

Команда HLT приостанавливает работу МП, который, однако, сохраняет возможность обслуживания запросов на прерывания при сброшенной маске. МП может быть выведен из состояния останова двумя путями: перезапуском и по сигналу прерывания.

Команда NOP может быть полезна для организации коротких пауз и установки “заплат” на объектный код при его модификации.

Мнемоника Код Число циклов Число тактов Флаги: CY, Z, M, P, C, AC Содержание
IN port DB     ----- A <- IOSEG (port)
OUT port D3     ----- IOSEG (port) <- A
RST n 11NNN111     ----- -(SP) <- PC <- 8*n, n=0..7
EI FB     ----- Разрешить прерывание
DI F3     ----- Запретить прерывание
RIM*   - - ----- Чтение маски
SIM*   - - ----- Установка маски
HLT       ----- Останов
NOP       ----- Нет операции

На рисунке 3.10 показано окно эмулятора микропроцессорной системы на МП КР580ВМ80А

Рисунок 3.10 — Окно эмулятора микропроцессорной системы на МП КР580ВМ80А


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: