Логические команды.
Информатика и информационные технологии
Все команды сдвига перемещают биты в поле операнда влево или вправо в зависимости от кода операции. Все команды сдвига имеют одинаковую структуру — коп операнд, счетчиксдвигов. Если zf = 0, то в результате логического умножения получился нулевой результат, т. е. один единичный бит маски, который не совпал с соответствующим единичным битом операнд1; Если zf = 1, то в результате логического… Читать ещё >
Логические команды. Информатика и информационные технологии (реферат, курсовая, диплом, контрольная)
Согласно теории, над высказываниями (над битами) могут выполняться следующие логические операции.
- 1. Отрицание (логическое НЕ) — логическая операция над одним операндом, результатом которой является величина, обратная значению исходного операнда.
- 2. Логическое сложение (логическое включающее ИЛИ) — логическая операция над двумя операндами, результатом которой является «истина» (1), если один или оба операнда имеют значение «истина» (1), и «ложь» (0), если оба операнда имеют значение «ложь» (0).
- 3. Логическое умножение (логическое И) — логическая операция над двумя операндами, результатом которой является «истина» (1) только в том случае, если оба операнда имеют значение «истина» (1). Во всех остальных случаях значение операции «ложь» (0).
- 4. Логическое исключающее сложение (логическое исключающее ИЛИ) — логическая операция над двумя операндами, результатом которой является «истина» (1), если только один из двух операндов имеет значение «истина» (1), и ложь (0), если оба операнда имеют значение «ложь» (0) или «истина» (1).
- 4. Логическое исключающее сложение (логическое исключающее ИЛИ) — логическая операция над двумя операндами, результатом которой является «истина» (1), если только один из двух операндов имеет значение «истина» (1), и ложь (0), если оба операнда имеют значение «ложь» (0) или «истина» (1).
Cледующий набор команд, поддерживающих работу с логическими данными:
- 1) and операнд1, операнд2 — операция логического умножения;
- 2) or операнд1, операнд2 — операция логического сложения;
- 3) xor операнд1, операнд2 — операция логического исключающего сложения;
- 4) test операнд1, операнд2 — операция «проверить» (способом логического умножения)
- 5) not операнд — операция логического отрицания.
- а) для установки определенных разрядов (бит) в 1 применяется команда or операнд1, операнд2;
- б) для сброса определенных разрядов (бит) в 0 применяется команда and операнд1, операнд2;
- в) команда xor операнд1, операнд2 применяется:
- — для выяснения того, какие биты в операнд1 и операнд2 различаются;
- — для инвертирования состояния заданных бит в операнд1.
Для проверки состояния заданных бит применяется команда test операнд1, операнд2 (проверить операнд1).
Результатом команды является установка значения флага нуля zf:
- 1) если zf = 0, то в результате логического умножения получился нулевой результат, т. е. один единичный бит маски, который не совпал с соответствующим единичным битом операнд1;
- 2) если zf = 1, то в результате логического умножения получился ненулевой результат, т. е. хотя бы один единичный бит маски совпалс соответствующим единичным битом операнд1.
Все команды сдвига перемещают биты в поле операнда влево или вправо в зависимости от кода операции. Все команды сдвига имеют одинаковую структуру — коп операнд, счетчиксдвигов.