Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Логические команды OR, AND и XOR.

Режимы адресации данных | Команды общего назначения | Команды ввода-вывода | Индивидуальное задание. | Форматы арифметических данных. | Команда сложения ADD и команда сложения с добавлением переноса ADC. | Команда вычитания SUB и вычитания с заемом SBB. | Индивидуальное задание. | Индивидуальное задание. | Программа типа СОМ |


Читайте также:
  1. C2. Участвующие команды
  2. Nbsp;   2 Команды LINDO
  3. АНАТОМО-ФИЗИОЛОГИЧЕСКИЕ ОСОБЕННОСТИ ПЕРИОДОНТА
  4. Археологические данные
  5. Археологические свидетельства древней истории
  6. Базовый модуль № 10. Экологические преступления.
  7. Биологические активы по группам, зрелые и незрелые активы

Операндами команд AND, OR и XOR могут быть байты или слова. В этих коман­дах можно сочетать два регистра, регистр с ячейкой памяти или непосредственное значение с регистром или ячейкой памяти.

Команда AND маскирует (обнуляет) некоторые биты, после чего можно выпол­нить дальнейшую обработку остальных битов. Как уже упоминалось, в каждой позиции бита, где оба операнда содержат 1, операнд-приемник также будет содер­жать 1. В тех же позициях, где операнды имеют любую другую комбинацию значе­ний, операнд-приемник будет содержать 0. Запомните, что при исполнении коман­ды AND биты операнда-приемника становятся, равны 0 всюду, где операнд-источ­ник содержит 0, и сохраняются там, где операнд-источник содержит 1.

Приведем несколько примеров команд AND:

AND АХ,ВХ;Выполнить AND над двумя регистрами

AND AL,MEM_BYTE;Выполнить AND над регистром и ячейкой памяти

AND MEM_BYTE; или наоборот

AND BL,1101В;Выполнить AND над константой и регистром

AND TABLE[BX],MASK3; или ячейкой памяти

 

Рассмотрим следующий пример применения команды AND. Пусть порт 200 соединен с 16-битовым регистром состояния внешнего устройства системы и бит 6 показывает, включено (1) или выключено (0) устройство. Если Ваша программа может продолжать работу только в случае, когда устройство включено, то она должна содержать следующий цикл:

 

CHK_PWR: IN AХ,200;Прочитать состояние устройства

AND AX,1000000B;Изолировать индикатор включения

JZ CHK_PWR;Подождать включения питания,...; а затем продолжить работу

 

Команда JZ (jump if zero - перейти если нуль), которая нами еще не рассматрива­лась, заставляет микропроцессор 8x86 вернуться к команде IN с меткой CHK_PWR, если флаг нуля ZF равен 1, и перейти к следующей команде в противном случае. В нашем примере флаг ZF равен 1 только в том случае, когда индикатор включения (бит 6) равен 1, так как команда AND обнуляет все остальные биты регистра АХ.

Команда OR полагает равным 1 те биты операнда-приемника, в позициях которых хотя бы один из операндов содержит 1. Эта команда обычно используется для принудительного присваивания 1 заданным битам. Например, команда

OR BX,OCOOH

полагает два старших бита (14 и 15) регистра ВХ равными 1 и оставляет другие биты не измененными.

Команда XOR используется, если надо выяснить, в каких битах значения операндов различаются, или если надо обратить состояния заданных битов. Команда XOR полагает равным 1 все те биты приемника, в позициях которых операнды имеют различные значения, иначе говоря, те биты, в позициях которых один из операндов имеет значение-0, а другой - 1. Если оба операнда содержат в данной позиции либо 0, либо 1, то команда XOR обнуляет этот бит приемника.

Например, команда

XOR BX,0C000H

обращает состояния двух старших битов регистра ВХ (14 и 15) и сохраняет осталь­ные биты неизмененными.


Дата добавления: 2015-11-13; просмотров: 48 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Команда коррекции деления для представления в кодах ASCII (команда AAO )| Команды сдвига

mybiblioteka.su - 2015-2024 год. (0.005 сек.)