Шаг 9.
Основные логические команды

    На этом шаге мы познакомимся с основными логическими командами.

    При программировании на Ассемблере очень часто приходится изменять значения отдельных битов. Для этого можно использовать следующие логические команды.

Таблица 1. Основные логические команды
Команда
Назначение
AND (Логическое И)
Выполняет поразрядное умножение двух операндов.
OR (Логическое ИЛИ)
Выполняет поразрядное сложение двух операндов.
XOR (Исключающее ИЛИ)
Выполняет логическую операцию исключающего ИЛИ над битами двух операндов.

    Рассмотрим более подробно перечисленные команды.

    1. Команда AND(Логическое И) выполняет поразрядное умножение двух операндов, которые могут находиться в регистре или в памяти. Второй операнд также может быть представлен константой. Общий вид:

    AND <1-й операнд>, <2-й операнд>

    Если два проверяемых бита равны 1, то в первом операнде устанавливается единичное значение бита, в остальных случаях - нулевое.


    Пример. Пусть регистр CX содержит слово 02F7H. После выполнения команды AND CX,F300H регистр CX будет иметь значение 0200H:
    регистр  CX:     02F7H     0000 0010 1111 0111;
    2-й операнд:     F300H     1111 0011 0000 0000;
      результат:     0200H     0000 0010 0000 0000.

    Флаги, затрагиваемые операцией: OF, SF, ZF, PF, CF.

    К оглавлению

    2. Команда OR (Логическое ИЛИ) выполняет поразрядное сложение двух операндов, которые могут находиться в регистре или в памяти. Второй операнд также может быть представлен непосредственными данными. Общий вид:

    OR <1-й операнд>, <2-й операнд>

    Если любой из проверяемых битов равен 1, то в первом операнде устанавливается единичное значение бита, в противном случае значение бита не изменяется.


    Пример. Пусть регистр CX содержит слово 02F7H. После выполнения команды OR CX,F300H регистр CX будет иметь значение F3F7H:
    регистр  CX:    02F7H    0000 0010 1111 0111;
    2-й операнд:    F300H     1111 0011 0000 0000;
      результат:    F3F7H     1111 0011 1111 0111.

    Флаги, затрагиваемые операцией: OF, SF, ZF, PF, CF.

    К оглавлению

    3. Команда XOR выполняет логическую операцию исключающего ИЛИ над битами двух операндов, которые могут находиться в регистре или в памяти. Второй операнд также может быть представлен константой. Общий вид:

    XOR <1-й операнд>, <2-й операнд>

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


    Пример. Пусть регистр CX содержит слово 02F7H. После выполнения команды XOR CX,F300H регистр CX будет иметь значение F1F7H:
    регистр  CX:    02F7H    0000 0010 1111 0111;
    2-й операнд:    F300H     1111 0011 0000 0000;
      результат:    F1F7H     1111 0001 1111 0111.

    Флаги, затрагиваемые операцией: OF, SF, ZF, PF, CF.

    К оглавлению

    На следующем шаге мы начнем говорить о прерываниях.


Предыдущий шаг Содержание Следующий шаг