Микропроцессорные устройства систем управления. Иванов В.Э - 23 стр.

UptoLike

Составители: 

23
ЛАБОРАТОРНАЯ РАБОТА 12
КОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Цель работы: ознакомление с командами логических операций и
получение навыков работы с битами.
Основные сведения
Логические операции в системе команд ВМ86 представлены булевыми
операторами NOT (инверсия), AND (конъюнкция), OR (дизъюнкция) XOR
(исключающее ИЛИ). К логическим командам можно отнести и команду
неразрушающей проверки TEST. Все логические операции являются
поразрядными,
т. е. выполняются независимо для всех битов операндов.
На флаги микропроцессора бинарные логические операции влияют
следующим образом:
флаги OF (переполнение) и CF (перенос) всегда переводятся в
нулевое состояние;
состояние флагов SF (знак), ZF (нуль) и PF (четность) зависят от
полученного результата;
состояние флага AF (вспомогательный перенос) не определено.
Следует отметить, что операция NOT на флаги не
влияет.
При работе с битами команда AND применяется для перевода
конкретного бита (группы битов) в нулевое состояние. Сбрасываемые
биты задаются "маской", т. е. вторым операндом команды. Маска должна
содержать нули в сбрасываемых битах и единицы в остальных:
MOV AL,00111101b ; AL=00111101b
AND AL,00001111b ; AL=00001101b
Обратную операцию установки бита в единицу можно осуществить с
помощью команды OR. В этом случае
неизменяемым битам должны
соответствовать нули в маске, а на месте устанавливаемого бита (группы
битов) – единицы:
MOV AL,00001101b ; AL=00001101b
OR AL,10000000b ; AL=10001101b
Команду XOR можно использовать для инвертирования состояния
определенных битов. В маске инвертируемым битам соответствуют
единицы, а прочимнули:
MOV AL,00000101b ; AL=00000101b
XOR AL,00001111b ; AL=00001010b