ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »
