Система команд МП ВМ80: классификация и общая характеристика. Команды перемещения данных. Команды пересылки данных

Страницы работы

Содержание работы

Вопрос 21. Система команд МП ВМ80: классификация и общая характеристика.

Всего 244 команды. Из них 76  имеют свою мнемонику.

Команды делятся на:

1.  команды перемещения данных.

2.  команды арифметические.

3.  команды поразрядной обработки данных.

4.  команды передачи управления.

5.  команды управления МП.

  1. Команды перемещения данных.

Команды пересылки данных – осуществляют перенос данных между объектами (регистры, порты , ячейки памяти)

При перемещении данных они копируются. Команды перемещения не влияют на флаги.

В зависимости от того между какими объектами осуществляется перемещение выделяют термины:

Пересылка – между регистрами.

Запоминание – из регистров в память.

Загрузка регистра – перемещение из данных из памяти в регистр.

Эти команды деляться на:

  1. команды пересылки, запоминания,  загрузки и обмена.

Mov, MVI, LXI, LHLD, SHLD, LDA, STA, LDAX, STAX, SPHL, XCHG.

  1. команды и операции со стеком

POP, PUSH, XTHL.

  1. команды ввода-вывода: IN, OUT.

2. Арифметические команды.

Арифметические команды делятся на несколько групп:

  • команды сложения 8-разрядных данных

ADD, ADI, ADC, ACI

  • команды вычитания 8-разрядных данных

SUB,  SUI, SBB, SBI

  • команды сложения 16-разрядных данных

DAD

  • команды инкремента

INR, INX

  • команды декремента

DCR, DCX

  • DAA – команда десятичной коррекции аккумулятора

Все эти команды обычно изменяют флаги МП.

3. Команды поразрядной обработки данных.

  • логические команды (участвуют обычно два операнда – один в А другой в других регистрах или памяти.

ANA, ANI – лог И

ORA, ORI – лог ИЛИ

XRA, XRI – лог искл. ИЛИ

СМА – лог. инвертирование.

  • команды сдвига содержимого аккумулятора

RLC, RRC – сдвиг влево, сдвиг вправо

RAL, RАR – арифметический сдвиг влево, вправо. 

  • команды сравнения

CMP, CPI

  • команды управления флагом переноса

STC – установить флаг переноса.

CTC – инвертировать флаг переноса.

Все эти команды обычно изменяют флаги МП.

  1. Команды передачи управления
  • команды перехода
  • команды вызова подпрограмм
  • команды возврата из подпрограмм

Команды могут быть безусловными или условными. Безусловные команды выполняются всегда, условные только при выполнении условия содержащегося в команде. Условие в МП-рах это признаки, которые фиксируются флагами.

Условия, которые могут выполняться в МП.

Условие, проверяемое в команде

Проверяемый флаг

Мнемоника условия

Неравенство нулю

Z=0

NZ

Равенство нулю

Z=1

Z

Наличие переноса

CY=1

C

Отсутствие переноса

CY=0

NC

Нечетность

P=0

PO

Четность

P=1

PE

Положительность

S=0

P

Отрицательность

S=1

M

Команды перехода позволяют произвольно изменять адрес выполняемой команды.

  1. команды перехода безусловные

JMP ADR; (PC)<-ADR переход на адрес, указанный в (РС)

PCHL (PC)<-(HL) происходит переход по адресу, находящемуся в (HL)

  1. условные команды перехода Jcond ADR

JNZ, JZ, JNZ, JC, JNC, JPO, JPE, JP, JM

Если условие выполняется, то (РС)<-ADR, если нет то (РС)<-(РС)+3, так команда перехода трехбайтная.

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

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

Команды вызова бывают условные и безусловные.

  1. Безусловные:

CALL ADR; (PC)<-ADR

RST N, N – номер рестарта (0-7), косвенно содержит адрес начала подпрограммы обработки прерывания.

  1. Условные: CNZ, CZ, CNC, CPO, CC, CPE,  CP, CM

Команды возврата из подпрограммы.

  1. Безусловные. RET
  2. Условные RNZ, RZ, RNC, RPO, RPE, RM, RP 

Команды управления МП. Они управляют МП, а не данными.

EI – разрешение прерываний. После выполнения МП реагирует на запросы прерываний. Она устанавливает триггер разрешения прерываний INTE=1

DI – запрещение прерываний, триггер разрешения прерываний INTЕ сбрасывается.

HLT – остановка работы МП. После этой команды содержимое РС не меняется.

NOP – нет операции, пустая команда. Эта команда не производит никаких действий, только увеличивает РС на 1. Она используется для временных задержек и для закрытия дыр в программе.

Похожие материалы

Информация о работе