4893

Применение логических инструкций

Доклад

Информатика, кибернетика и программирование

Применение логических инструкций Логические команды служат для сброса или установки отдельных бит в байте или слове. Они включают булевы операторы НЕ, И, ИЛИ, исключающее ИЛИ и операцию тестирования, которая устанавливает флаги, но не изменяет значе...

Русский

2012-11-28

43 KB

2 чел.

Применение логических инструкций

Логические команды служат для сброса или установки отдельных бит в байте или слове. Они включают булевы операторы НЕ, И, ИЛИ, исключающее ИЛИ и операцию тестирования, которая устанавливает флаги, но не изменяет значения своих операндов.

Логические инструкции

not dst

Инструкция not инвертирует все биты байта или слова.

and dst, src

Инструкция and выполняет операции логическое И двух операндов (байтов или слов) и возвращает результат в операнд-приемник. Бит результата устанавливается в 1, если установлены в 1 оба соответствующих ему бита операндов, и устанавливаются в 0 противном случае.

or dst, src

Инструкция or выполняет операции логическое ИЛИ двух операторов (байтов или слов) и помещает результат на место операнда-приемника. Бит результата устанавливается в 1, если равен 1 хотя бы один из двух соответствующих ему битов операндов и устанавливается в 0 в противном случае.

xor dst, src

Инструкция xor выполняет операцию логическое исключающее ИЛИ двух операндов и помещает результат на место операнда-приемника. Бит результата устанавливается в 1, если соответствующие ему биты операндов имеют противоположные значения, и устанавливается в 0 в противном случае.

test dst, src 

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

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

Таблица 4.1

Логические инструкции

Мнемокод

Флаги

Действие

Код

Операнды

O

S

Z

A

P

C

and

dst, src

0

x

x

u

x

0

логическое И

or

dst, src

0

x

x

u

x

0

логическое ИЛИ

xor

dst, src

0

x

x

u

x

0

логическое исключающее ИЛИ

not

Dst

-

-

-

-

-

-

логическое НЕТ

test

dst, src

0

x

x

u

x

0

логическое И без изменения dst

Примечание:  

-

флажок не модифицируется;

х

Устанавливается или сбрасывается в соответствии с результатом;

u

не определен;

0

Сбрасывается в 0.

  1.  Примеры использования логических команд

Установить 3 и 0 биты в регистре аl, остальные биты не изменять.

or al, 00001001b

Сбросить 4 и 6 битвы в регистре al, остальные биты не изменять.

and al, 10101111b

Инвертировать 2 и 4 биты в регистре al, остальные биты не изменять.

xor al, 00010100b

Перейти на метку LAB, если установлен 4 бит регистра al, в противном случае продолжить выполнение программы.

test al, 00010000b

jnz LAB

продолжаем

. . .

LAB:

Посчитать число единиц в регистре al, рассматривая байт, как набор бит.

mov cx, b   ; число сдвигов

xor bl, bl   ; обнуление BL

LL:  shl al, 1   ; сдвиг влево на один разряд

jnc NO    ; переход, если нет переноса

inc bl    ; иначе увеличить BL

NO:  loop LL   ; возврат, если cx 0


 

А также другие работы, которые могут Вас заинтересовать

37693. Что такое комбинационный сумматор и где сумматоры используются 84.33 KB
  Параллельные многоразрядные сумматоры предназначены для одновременного суммирования двух многоразрядных чисел и характеризуются различными способами передачи сигналов переноса от младших разрядов сумматора к старшим. Принципы построения и работы сумматора вытекают из правил сложения двоичных цифр. Схема сумматора также является регулярной и широко используется в ЭВМ.1 Таблица истинности комбинационного полусумматора Входы Выходы i bi Si Pi 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Логические зависимости: 1.
37694. Моделирование процесса диффузии 187 KB
  Диффузия из ограниченного источника примеси где N0 – приповерхностная концентрация диффузанта; Q см–2 – поверхностная плотность примеси; t – время диффузии; Провести моделирование для Диффузия из бесконечного источника примеси. Диффузия из ограниченного источника примеси...
37696. Структура HTML-документа і Елементи форматування тексту 3.64 MB
  Ознайомитись зі структурою HTML-документів і елементами для керування розміткою Web-сторінки та відображенням символів. Вивчити синтаксис мови HTML. Навчитися першим навичкам роботи з інструментами створення найпростіших Web-сторінок.
37697. Встановлення вимог до функціональності програмного забезпечення із застосуванням засобів UML (Use Case diagram) та вербальних Специфікацій 150 KB
  Поселення відбувається порт’є і далі передається адміністратору для підтвердження внесення даних до БД. Адміністратор виконує всі операції з БД в тому числі: внесення змінення та видалення записів з бази а також внесення службової інформації що передбачає внесення особистих даних адміністратора та портьє. Портьє надає інформацію про поселення клієнтів адміністратору АС у вигляді: Перелік кімнат різних класів у готелі. Основний потік Надання інформації адміністратору.
37698. Визначення параметрів датчиків температури 117 KB
  Установка складається із теплового обєкта ТО резервуар з трансформаторним маслом в якому розміщені робочі гарячі спаї батареї термопар БТ резистори. Батарея термопар складається із трьох послідовно включених термопар завдяки чому її сумарна тсрмое. Холодні кінці термопар заглиблені в рідину що має температуру оточуючого середовища. За допомогою контрольного термометра ТІ вимірять температуру холодних кінців термопар t0.
37700. Критерій Стьюдента 74.92 KB
  Щільність розподілу Графік щільності розподілу Стьюдента за зовнішнім виглядом нагадує нормальні криві. Але вони значно повільніше спадають до осі t якщо особливо за малих значень n Складено таблиці розподілу Ст’юдента здебільшого виду для кількості ступенів волі від 1 до 20. Якщо кількість ступенів волі більша то можна застосовувати нормальний закон розподілу з нульовим математичним сподіванням і одиничною дисперсією. Щільність цього розподілу подається формулою: Щільність розподілу Фішера має графік зображений на Для розподілу Фішера...
37701. Ознайомлення з середовищем програмування. Структура програми. Програмування лінійних та розгалужених алгоритмів 1.24 MB
  Тема: ознайомлення з середовищем програмування. Структура програми. Програмування лінійних та розгалужених алгоритмів. Мета: навчитись програмувати лінійні та розгалужені алгоритми мовою програмування С.