Справочник по языку Ассемблера IBM PC


Логические команды


В системе команд микропроцессора есть следующий набор команд, поддерживающих работу с логическими данными:

операнд_1,операнд_2 — операция логического умножения.


Команда выполняет поразрядно логическую операцию И (конъюнкцию) над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.

операнд_1,операнд_2 — операция логического сложения.


Команда выполняет поразрядно логическую операцию ИЛИ (дизъюнкцию) над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.

операнд_1,операнд_2 — операция логического исключающего сложения.


Команда выполняет поразрядно логическую операцию исключающего ИЛИ над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.

операнд_1,операнд_2 — операция “проверить” (способом логического умножения).


Команда выполняет поразрядно логическую операцию И над битами операндов операнд_1 и операнд_2. Состояние операндов остается прежним, изменяются только флаги zf, sf, и pf, что дает возможность анализировать состояние отдельных битов операнда без изменения их состояния.

операнд — операция логического отрицания.


Команда выполняет поразрядное инвертирование (замену значения на обратное) каждого бита операнда. Результат записывается на место операнда.

Для представления роли логических команд в системе команд микропроцессора очень важно понять области их применения и типовые приемы их использования при программировании.


С помощью логических команд возможно выделение

отдельных битов в операнде с целью их установки, сброса, инвертирования или просто проверки на определенное значение.


Для организации подобной работы с битами операнд_2

обычно играет роль маски. С помощью установленных в 1 битов этой маски и определяются нужные для конкретной операции биты операнд_1. Покажем, какие логические команды могут применяться для этой цели:

  • Для установки определенных разрядов (бит) в 1

    применяется команда


  • or операнд_1,операнд_2.


    В этой команде операнд_2, выполняющий роль маски, должен содержать единичные биты на месте тех разрядов, которые должны быть установлены в 1 в операнд_1.




    Начало  Назад  Вперед



    Книжный магазин