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


 

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

52298. Із німецької літератури. Г. Белль. Творчість. Оглядово 71.5 KB
  Тема заняття: Із німецької літератури. Епіграф заняття: Важливо не те чи довго а чи правильно прожив. Мета заняття: дослідити життєвий і творчий шлях німецького письменника Г.
52299. Величини та їх значення 51.5 KB
  Актуалізація опорних знань Учитель. Учитель. Учитель. Розвязування вправ Учитель.
52300. Сценарий конкурсно - развлекательной программы для учащихся 9-11классов «Посвящение в старшеклассники» или «Старшеклассники вместе с Бендеровичем» 58 KB
  Беспризорник Дядя дай 10 копеек Ну дядя ну дай 10 копеек Бендер Может быть тебе еще и ключ от квартиры где деньги лежат Голос Молодой человек солгал: У него на сегодня не было ни денег ни квартиры где они могли бы лежать ни ключа которым можно было эту квартиру открыть. Входит Киса в камуфляже с табличкою Охрана Бендер А что отец в вашем уездном городе достопримечательности есть Киса Кому и 9 класс достопримечательность Бендер Больше вопросов не имею Голос И тут же задал другой вопрос. Бендер А не порекомендуете...
52301. Свято 8 березня 33 KB
  Ми як справжні джентльмени Будем вас вітати 5й хлопчик: І своїх дівчаток славних Сьогодні привітаєм Тож ви їм поаплодуйте А ми їх зустрічаєм. Під музику заходять дівчата. Виконують пісню 1ша дівч.З днем 8го березня Із весняним святом З пролісками першими В цей чудовий час Мами наші рідні І бабусі милі Від усього серця Ми вітаєм вас 2га дівч.
52302. Berlin 69.5 KB
  Das Pergamonmuseum befindet sich auf der Museumsinsel. Viele Berliner und Gäste der Hauptstadt besuchen es. Im Pergamonmuseum könnt ihr die schönsten archäologischen Sammlungen der Welt sehen. Eine der bedeutenden Sehenswürdigkeiten des Museums ist das Pergamonaltar. Hier könnt ihr auch das Vorderasiatische Museum und das Museum für Islamische Kunst besichtigen. Die Besucher dieser Museen gehen durch 6000 Jahre Geschichte der alten Hochkulturen der Welt.
52303. Berühmte Menschen unseres Landes 58.5 KB
  Das war unter der Regierung des Fürsten Wolodymyr und seines Sohnes Jaroslaw. Wolodymyr der Große ging zum byzantinischer Christentum über. Von Kyiv aus breitete sich das Christentum in der ganzen Rus aus.
52304. Бешенство и его профилактика 139 KB
  Цель: познакомить учащихся с симптомами диагностикой бешенства научить оказывать неотложную помощь проинформировать о способах профилактики бешенства. Симптомы Инкубационный период бешенства длится обычно 13 месяца но может варьироваться от менее 1 недели до более одного года. Первоначальными симптомами бешенства являются высокая температура и во многих случаях боль или необычные необъяснимые ощущения покалывания пощипывания или жжения в месте раны. Эта форма бешенства протекает менее драматично и обычно дольше чем буйная форма.