Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Группа логических команд

Функциональные и логические состязания сигналов | Синтез схем, свободных от логических состязании | Анализ комбинационных схем с целью выявления состязаний | Состязания сигналов в последовательностных схемах | Существенные состязания | Порядок выполнения работы | Краткие теоретические сведения | Организация памяти и функционирование микроконтроллера | Запись исходного текста программы на языке программирования ASM-51 | Встроенные имена |


Читайте также:
  1. I чемпионата по силовому многоборью г. Красноярска среди команд
  2. II группа
  3. II. Психологизация управления людьми и группами
  4. III. Работа в группах.
  5. III. Третья группа профессиональных вредностей возникает вследствие несоблюдения общесанитарных условий в местах работы.
  6. IV. Анализ предложений. Работа в группах.
  7. IV. Участники и команды. Требования к ним и снаряжению.

Команды поразрядной обработки информации отличаются от команд арифметических операций тем, что работают с отдельными битами независимо от содержимого байта в целом. Такие команды есть для байтового и битового формата данных. Их также называют логическими командами, потому что с их помощью можно вычислять функции алгебры логики НЕ, И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ. Приведем для справки таблицу значений этих функций:

Табл. 6.

X Y X.AND.Y X.OR.Y X.XOR.Y
    l      
           
           
           

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

Для получения обратного кода (логическая функция НЕ) при байто­вом формате данных предназначена команда:

CPL А

Мнемоника этой командыComPLement означает «дополнение», хотя в результате ее выполненияполучается не дополнительный, а обратный код. Имеются две команды аналогичного назначения, работающие с отдельными битами, например:

CPL С

CPL Rn.j

Здесь Rn.j обозначает j, бит регистра Rn

Кроме того, инверсия бита может быть использована вкомандах И и ИЛИ, как показано далее.

Команды для вычисления функции И в байтовом формате используют разнообразные способы адресации. По-видимому, мнемоника команды расшифровывается как ANd Logical:

ANL А,#dat8

ANL А,Rn

ANL А,@Ri

ANL А,dat8

ANL dat8,A

ANL 1dat8,#2dat8

Эти команды могут использоваться, например, для очистки отдельных битовдвоичного кода или для проверкиналичия 1 в некотором наборе битов. Имеются две команды, вычисляющие функциюИ в битовом формате:

ANL C,Rn.j

ANL С,/Rn.j

Символ косой черты во второй команде означает, что для вычисления логической функции используется инвертированное значение бита.

 

Аналогичный набор команд имеется и для функции ИЛИ вбайтовом формате с мнемоникой ORLogical:

ORL A, # dat8

ORL А, Rn

ORL A, @Ri

ORL А, dat8

ORL dat8, A

ORL 1dat8, #2 dat8

Эти команды могут использоваться, например, для установки отдельных битов двоичного кода в “1”. Имеются две аналогичные команды, вычис­ляющие функцию ИЛИ в битовом формате:

ORL С,Rn.j

ORL С,/Rn.j

Символ косой черты во второй команде означает, что для вычисления логической функции используется инвертированное значение бита.

Для функции ИСКЛЮЧАЮЩЕЕ ИЛИ аналогичныекоманды суще­ствуют только в байтовом формате. Наверное соответствующая команда расшифровывается как exclusive oR Logical:

XRL A,#dat8

XRL A, Rn

XRL A,dat8

XRL A,@Ri

XRL dat8,A

XRL 1dat8,#2dat8

Эти команды могут использоваться, например, для изменения значения отдельных битов двоичного кода на обратное (toggle). Они могут также использоваться для проверки кодов на совпадение.

К командам поразрядной обработки информации можно отнести команды циклического сдвига влево и вправо, работающие с 8 битами (аккумулятор) или с 9 битами (аккумулятор + бит переноса):

RL A

RR А

RRC А

Первая буква в мнемокодах этих команд означает Rotate (поворачивать), вторая указывает па направление (Left или Right), а третья - на участие бита

 

 

переноса. При сдвиге влево во все биты накопителя кроме самого младшего записывается старое содержимое соседнего правого бита. При сдвиге вправо во все биты накопителя кроме самого старшего запи­сывается старое содержимое соседнего левого бита. Если бит переноса не участвует в операции циклического сдвига, то при сдвиге влево в самый младший байт записывается старое содержимое самого старшего бита, а при сдвиге вправо в самый старший байт записывается старое содержи­мое самого младшего бита. При участии бита переноса его содержимое включается в цепочку циклического переноса, что позволяет осуществ­лять сдвиги содержимого многобайтовых кодов. К операции циклическо­го сдвига на 4 разряда без участия бита переноса можно отнести команду:

SWAP A

Она осуществляетобмен полубайтов содержимого накопителя, так что ее можно интерпретировать как сдвиг младшего полубайта, на 4 разрада влево и. сдвиг старшего полубайта на 4 разрада вправо.

Если перед выполнением команды сдвига очистить бит переноса, то сдвиг с участием этого бита, может использоваться в качестве команды арифметической операции.Сдвиг вправо соответствуетделению положительного числа на 2, притом в бит переноса записывается остаток от деления. Сдвиг влево соответствует умножению положительного числа на 2, притом “1” в бите переноса сигнализируето переполнении.


Дата добавления: 2015-07-20; просмотров: 58 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Группа команд пересылки данных| Группа арифметических команд

mybiblioteka.su - 2015-2024 год. (0.007 сек.)