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


 

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

74032. Специфика процессов национального объединения Германии и Италии во второй половине XIX века 35 KB
  Специфика процессов национального объединения Германии и Италии во второй половине XIX века Образование Германской империи. В ходе революции в Германии был выдвинут вопрос о национальном объединении страны об устройстве единой Германии. Большая часть германской буржуазии поддерживала план создания Малой Германии т. Бисмарк приступил к объединению Германии железом и кровью.
74033. Основные тенденции политического и социально-экономического развития стран Запада на рубеже XIX-XX 42.5 KB
  Концентрация производства и капитала дошедшая до такой высокой ступени развития что она создала монополии играющие решающую роль в хозяйственной жизни; слияние банкового капитала с промышленным и создание на базе этого финансового капитала финансовой олигархии; вывоз капитала в отличие от вывоза товаров приобретает особо важное значение...
74034. Международные отношения в Европе во второй половине XIX – начале XX века. Первая Мировая война 42 KB
  Достаточно быстрыми темпами развивались остальные сферы национального хозяйства Германии наука образование и т. В то же время геополитическое положение Германии не соответствовало растущей мощи ее монополий амбициям государства. В частности колониальные владения Германии были весьма скромными в сравнении с другими индустриальными странами. усиливается экспансия Германии на Ближнем Востоке в связи с постройкой Багдадской железной дороги; в Китае в связи с аннексией порта Цзяочжоу 1897 и установлением ее протектората над Шаньдунским...
74035. Кризис традиционной китайской цивилизации при династии Цин 45 KB
  Во время правления династии Цин упрочились контакты Китая с Западом и в страну стали проникать западные религия культура и технические достижения. С помощью европейских астрономов был разработан китайский календарь европейские географы создали карты Китая. Коррупция в правительстве достигла невероятного размаха; неспокойная обстановка в обществе находила выход в восстаниях Ухудшилось международное положение Китая. Характер деятельности европейцев в Индии Малайе и на Филиппинах а также вероломное поведение первых португальских и...
74037. Основные тенденции и этапы в развитии отечественной культуры в IX – XX веках 42 KB
  Основные тенденции и этапы в развитии отечественной культуры в IX XX вв. Следующий виток развития культуры связан с крещением Руси. В течение длительного времени до XIX века христианство останется доминантой культуры. В основе этих достижений успехи в развитии материальной и духовной культуры предшествующего периода.
74038. Основные тенденции развития Руси в удельный период 49 KB
  Переход от Киевской Руси к Руси Московской тяжелый период. на Руси начинаются новые процессы характеризующиеся в первую очередь распадом пусть и весьма непрочного но в целом единого до сих пор государства на отдельные фактически самостоятельные земли. Однако вышеназванные причины не слишком удачно объясняют распад Руси.
74039. Монголо-татарское нашествие на Русь. Его последствия. Русь и Орда 44 KB
  Благодаря тому обстоятельству, что большинство окружающих их соседей к этому времени уже преодолели стадию первичной агрессивности, свойственную молодым государствам, и, находясь на стадии политического раздробления, утратили в значительной степени свои способности противостоять сильному и единому противнику
74040. Становление Руси XIV- XV вв. Становление единого российского государства 38 KB
  Успех Дмитрия Донского предопределил основы политики последующих московских князей на третьем этапе (XV в.), которую можно охарактеризовать как собирание русских земель Москвой уже в качестве единоличного лидера, не имеющего себе равных противников.