ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.02.2020

Просмотров: 2356

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица 2.22. Команды, влияющие на установку флагов

Мнемоника

Флаги

Мнемоника

Флаги

С

OV

AC

С

OV

AC

ADD

X

X

X

CLR С

0





ADDC

X

X

X

CPL С

X





SUBB

X

X

X

ANL С, bit

X





MUL

0

X



.ANL С,/bit

X





DIV

-0

X



ORL C, bit

X





DA

X





ORL C,/bit

X





RRC

X





MOV C,/bit

X





RLC

X





CJNE

X





SETB С

1













Примечания:

1. X - флаг равен 0 или 1.

2. Операции над SFR с адресом байта 208 или с адресами битов 209—215 (т.е. PSW или бит PSW) также влияют на установку флагов.

Таблица 2.23

Обозначение, символ

Назначение

А

Аккумулятор

Rr

Регистры текущего выбранного банка регистров.

г

Номер загружаемого регистра, указанного в команде.

direct

Прямо адресуемый 8-битовый внутренний адрес ячейки данных, который может быть ячейкой внутреннего ОЗУ данных (0-127) или SFR (128-255).

@Rr

Косвенно адресуемая 8-битовая ячейка внутрен­него ОЗУ данных.

data 8

8-битовое непосредственное данное, входящее в код операции (КОП).

data 16

16-битовое непосредственное данное, входящее КОП.


Обозначение, символ

Назначение

data H

Старшие биты (15-8) непосредственных 16-бито­вых данных.

data L

Младшие биты (7-0) непосредственных 16-бито­вых данных.

addr 11

11-битовый адрес назначения.

addr 16

16-битовый адрес назначения.

addr L

Младшие биты адреса назначения.

disp 8

8-битовый байт смещения со знаком.

bit

Бит с прямой адресацией, адрес которого со­держит КОП, находящийся во внутреннем ОЗУ данных или SFR.

al5,al4...a0

Биты адреса назначения.

(X)

Содержимое элемента Х

((X)) (X)[Ml

Содержимое по адресу, хранящемуся в элементе Х Разряд М элемента Х

(X)[M1-M2]

Группа разрядов М1-М2 элемента Х

+

*

/ AND OR XOR

/X

Операции: сложения вычитания умножения деления логического умножения (операция И) логического сложения (операция ИЛИ) сложения по модулю 2 (операция "Исключающее ИЛИ") инверсия элемента Х

В АЛУ производятся действия над целыми числами без знака. I двухоперандных операциях: сложение (ADD), сложение с переносом (ADDC) i вычитание с заемом (SUBB) аккумулятор является первым операндом и принимае результат операции. Вторым операндом может быть рабочий регистр выбранног банка рабочих регистров, регистр внутренней памяти данных с косвенно-регистрово и прямой адресацией или байт непосредственных данных. Указанные операци влияют на флаги: переполнения, переноса, промежуточного переноса и флг четности в слове состояния процессора (PSW).

Использование разряда переноса позволяет многократно повысить точность пр операциях сложения (ADDC) и вычитания (SUBB).


Выполнение операций сложения и вычитания с учетом знака может быть осуществлено с помощью программного управления флагом переполнения (OV) регистра PSW. Флаг промежуточного переноса (АС) обеспечивает выполнение арифметических операций в двоично-десятичном коде.

Операции инкрементирования и декрементирования на флаги не влияют.

Операции сравнения не влияют ни на операнд назначения, ни на операнд источника, но они влияют на флаг переноса.

Существуют три арифметические операции, которые выполняются только на аккумуляторе: две команды проверки содержимого аккумулятора A (JZ, JNZ), и команда десятичной коррекции при сложении двоично-десятичных кодов.

При операции умножения содержимое аккумулятора А умножается на содержимое регистра В и результат размещается следующим образом: младший байт в регистре В, старший в регистре А.

В случае выполнения операции деления целое от деления помещается в аккумулятор А, остаток от деления в регистр В.

2.4.2 Логические команды с байтовыми переменными.

Система команд ОМЭВМ позволяет реализовать логические операции: "И", "ИЛИ", "ИСКЛЮЧАЮЩЕЕ ИЛИ" на регистре-аккумуляторе (А) и байте-источнике. Вторым операндом (байтом-источником) при этом может быть рабочий регистр в выбранном банке рабочих регистров; регистр внутреннего ОЗУ, адресуемый с помощью косвенно-регистровой адресации; прямоадресуемые ячейки внутреннего ОЗУ и регистры специального назначения; непосредственная величина.

Указанные логические операции могут быть реализованы на любом прямоадре-суемом регистре внутреннего ОЗУ или регистре специального назначения с исполь­зованием в качестве второго операнда содержимого аккумулятора А или непосредственных данных.

Существуют логические операции, которые выполняются только на аккумуляторе: сброс и инвертирование всех восьми разрядов А; циклический сдвиг влево и вправо; циклический сдвиг влево и вправо с учетом флага переноса; обмен местами старшей и младшей тетрад (ниблов) внутри аккумулятора.

2.4.3 Команды передачи данных

Таблицы символов (кодов), зашитые в ПЗУ программы могут быть выбраны с помощью команд передачи данных с использованием косвенной адресации. Байт константы может быть передан в аккумулятор из ячейки памяти программ, адресуемой суммой базового регистра (PC или DPTR) и индексного регистра (содержимого А). Это обеспечивает, например, удобное средство реализации алгоритма преобразования кода ASCII в семисегментный код.

Любая ячейка 256-байтового блока внешнего ОЗУ данных может быть выбрана с использованием косвенно-регистровой адресации через регистры указатели R0 или R1 (выбранного банка рабочих регистров).

Ячейка внутри адресного пространства 64 Кбайт внешнего ОЗУ также может быть выбрана с использованием косвенно-регистровой адресации через регистр-указатель данных DPTR.


Команды передачи между прямоадресуемыми регистрами позволяют заносить величину из порта в ячейку внутреннего ОЗУ без использования рабочих регистров или аккумулятора.

В логическом процессоре любой прямоадресуемый бит может быть помещен в бит переноса и наоборот.

Содержимое аккумулятора может быть обменено с содержимым рабочих регис­тров (выбранного банка) и с содержимым адресуемых с помощью косвенно-регис­тровой адресации ячеек внутреннего ОЗУ, а также с содержимым прямо-адресуемых ячеек внутреннего ОЗУ и с содержимым регистров специального назначения.

Младший нибл (разряды 3—0) содержимого аккумулятора, может быть обменен с младшим ниблом содержимого ячеек внутреннего ОЗУ, выбираемых с помощью косвенно-регистровой адресации.


2.4.4 Команды битового процессора.

Битовый процессор является частью архитектуры ОМЭВМ семейства МК51 и его можно рассматривать как независимый процессор побитовой обработки. Битовый процессор выполняет свой набор команд, имеет свое побитово-адресуемое ОЗУ и свой ввод-вывод.

Команды, оперирующие с битами, обеспечивают прямую адресацию 128 битов (0—127) в шестнадцати ячейках внутреннего ОЗУ (ячейки с адресами 20Н—2FH) и прямую побитовую адресацию регистров специального назначения, адреса которых кратны восьми:

Р0(80Н), TCON(88H), РК90Н). SCON(98H), Р2(А0Н), 1Е(А8Н), РЗ(В0Н), IP(B8H), PSW(D0H), A(E0H), B(F0H).

Каждый из отдельно адресуемых битов может быть установлен в "I", сброшен в "0", инвертирован, проверен. Могут быть реализованы переходы: если бит установлен; если бит не установлен; переход, если бит установлен, со сбросом этого бита; бит может быть перезаписан в (из) разряда переноса. Между любым прямоадресуемым битом и флагом переноса могут быть произведены логические 1 операции "И", "ИЛИ", где результат заносится в разряд флага переноса. Команды, побитовой обработки обеспечивают реализацию сложных функций комбинаторной^ логики и оптимизацию программ пользователя.

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

Адресное пространство памяти программ ОМЭВМ не имеет страничной органи­зации, что позволяет свободно перемещать фрагменты программы внутри адресного пространства, при этом не требуется перезасылка (изменение) номера страницы.

Перемещение отдельных фрагментов программы обеспечивает возможность использования перемещаемых программных модулей различными программами.

Команды 16-разрядных переходов и вызовов подпрограмм позволяют осуществлять переход в любую точку адресного пространства памяти программ объемом 64 Кбайт.

Команды 11-разрядных переходов и вызовов подпрограмм обеспечивают переходы внутри программного модуля емкостью 2 Кбайт. В системе команд имеют­ся команды условных и безусловных переходов относительно начального адреса сле­дующей команды в пределах от (РО-128 до (РС)+127. Команды проверки отдельных разрядов позволяют осуществлять условные переходы по состоянию "0" или "1" прямоадресуемых битов. Команды проверки содержимого аккумулятора (на ноль / не ноль) позволяют осуществлять условные переходы по содержимому А.

Косвенно-регистровые переходы в системе команд ОМЭВМ обеспечиваю! ветвление относительно базового регистра (содержимого DPTR или PC) со смещением, находящимся в аккумуляторе А.

2.4.6. Способы адресации операндов

Существуют следующие способы адресации операндов-источников:

— регистровая адресация;

— прямая адресация;

— косвенно-регистровая адресация;

— непосредственная адресация;

— косвенная адресация по сумме базового и индексного регистра.

Первые три способа используются также для адресации операнда назначена Указанные пять способов адресации, используемые в различных сочетаниям обеспечивают 21 режим адресации.