2.3.4. Логические операции

Команда

Назначение

Процессор

AND приемник.источник

Логическое И

зове

Команда выполняет побитовое «логическое И» над приемником (регистр или переменная) и источником (число, регистр или переменная; источник и прием­ник не могут быть переменными одновременно) и помещает результат в прием­ник. Любой бит результата равен 1, только если соответствующие биты обоих операндов были равны 1, и равен 0 в остальных случаях. Наиболее часто AND применяют для выборочного обнуления отдельных битов. Например, команда

and      al,00001111b

обнулит старшие четыре бита регистра AL, сохранив неизменными четыре младших.

Флаги OF и CF обнуляются, SF, ZF и PF устанавливаются в соответствии с ре­зультатом, AF не определен.

Команда

Назначение

Процессор

OR приемник.источник

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

вове

Выполняет побитовое «логическое ИЛИ» над приемником (регистр или пере­менная) и источником (число, регистр или переменная; источник и приемник ШИВЯЦЩЦ!       Процессоры Intel в реальном режиме

могут быть переменными одновременно) и помещает результат в приемник. Любой бит результата равен 0, только если соответствующие биты обоих операндов были равны 0, и равен 1 в остальных случаях. Команду OR чаще всего используют для выборочной установки отдельных битов. Например, команда

or al,00001111b

приведет к тому, что младшие четыре бита регистра AL будут установлены в 1.

При выполнении команды OR флаги OF и CF обнуляются, SF, ZF и PF уста­навливаются в соответствии с результатом, AF не определен.

Команда

Назначение

Процессор

XOR приемник.источник

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

вове

Выполняет побитовое «логическое исключающее ИЛИ» над приемником (ре­гистр или переменная) и источником (число, регистр или переменная; источник и приемник не могут быть переменными одновременно) и помещает результат в приемник. Любой бит результата равен 1, если соответствующие биты операн­дов различны, и нулю - в противном случае. ХОЯ используется для самых раз­ных операций, например:

хог ах, ах ; Обнуление регистра АХ.

или

хог ах.Ьх

хог Ьх.ах

хог ах.Ьх ;  Меняет местами содержимое АХ и ВХ.

Оба примера могут выполняться быстрее, чем соответствующие очевидные команды

пш       ах, 0

или

хспд      ах, Ьх

Команда Назначение Процессор

NOT приемник Инверсия 8086

Каждый бит приемника (регистр или переменная), равный нулю, устанавли­вается в 1, и каждый бит, равный 1, сбрасывается в 0. Флаги не затрагиваются.

Команда Назначение Процессор

TEST приемник, источник Логическое сравнение 8086

Вычисляет результат действия побитового «логического И» над приемником (регистр или переменная) и источником (число, регистр или переменная; источник и приемник не могут быть переменными одновременно) и устанавливает флаги SF, ZF и PF в соответствии с полученным показателем, не сохраняя результата (фла­ги OF и CF обнуляются, значение AF не определено). TEST, так же как и СМР, используется в основном в сочетании с командами условного перехода (Jcc), условной пересылки данных (CMOVcc) и условной установки байтов (SETcc).тштж