4893

Применение логических инструкций

Доклад

Информатика, кибернетика и программирование

Применение логических инструкций Логические команды служат для сброса или установки отдельных бит в байте или слове. Они включают булевы операторы НЕ, И, ИЛИ, исключающее ИЛИ и операцию тестирования, которая устанавливает флаги, но не изменяет значе...

Русский

2012-11-28

43 KB

2 чел.

Применение логических инструкций

Логические команды служат для сброса или установки отдельных бит в байте или слове. Они включают булевы операторы НЕ, И, ИЛИ, исключающее ИЛИ и операцию тестирования, которая устанавливает флаги, но не изменяет значения своих операндов.

Логические инструкции

not dst

Инструкция not инвертирует все биты байта или слова.

and dst, src

Инструкция and выполняет операции логическое И двух операндов (байтов или слов) и возвращает результат в операнд-приемник. Бит результата устанавливается в 1, если установлены в 1 оба соответствующих ему бита операндов, и устанавливаются в 0 противном случае.

or dst, src

Инструкция or выполняет операции логическое ИЛИ двух операторов (байтов или слов) и помещает результат на место операнда-приемника. Бит результата устанавливается в 1, если равен 1 хотя бы один из двух соответствующих ему битов операндов и устанавливается в 0 в противном случае.

xor dst, src

Инструкция xor выполняет операцию логическое исключающее ИЛИ двух операндов и помещает результат на место операнда-приемника. Бит результата устанавливается в 1, если соответствующие ему биты операндов имеют противоположные значения, и устанавливается в 0 в противном случае.

test dst, src 

Инструкция test выполняет логическое И двух операндов (байтов или слов), модифицирует флаги, но результат не возвращает, т.е. операнды не изменяются.

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

Таблица 4.1

Логические инструкции

Мнемокод

Флаги

Действие

Код

Операнды

O

S

Z

A

P

C

and

dst, src

0

x

x

u

x

0

логическое И

or

dst, src

0

x

x

u

x

0

логическое ИЛИ

xor

dst, src

0

x

x

u

x

0

логическое исключающее ИЛИ

not

Dst

-

-

-

-

-

-

логическое НЕТ

test

dst, src

0

x

x

u

x

0

логическое И без изменения dst

Примечание:  

-

флажок не модифицируется;

х

Устанавливается или сбрасывается в соответствии с результатом;

u

не определен;

0

Сбрасывается в 0.

  1.  Примеры использования логических команд

Установить 3 и 0 биты в регистре аl, остальные биты не изменять.

or al, 00001001b

Сбросить 4 и 6 битвы в регистре al, остальные биты не изменять.

and al, 10101111b

Инвертировать 2 и 4 биты в регистре al, остальные биты не изменять.

xor al, 00010100b

Перейти на метку LAB, если установлен 4 бит регистра al, в противном случае продолжить выполнение программы.

test al, 00010000b

jnz LAB

продолжаем

. . .

LAB:

Посчитать число единиц в регистре al, рассматривая байт, как набор бит.

mov cx, b   ; число сдвигов

xor bl, bl   ; обнуление BL

LL:  shl al, 1   ; сдвиг влево на один разряд

jnc NO    ; переход, если нет переноса

inc bl    ; иначе увеличить BL

NO:  loop LL   ; возврат, если cx 0


 

А также другие работы, которые могут Вас заинтересовать

11026. Сетевые платы 25 KB
  Сетевые платы Сетевая плата устройство канального уровня. Каждая плата соединяет компьютер с отдельной сетью или с различными сегментами одной сети. По стандарту Ethernet в компьютер можно поставить до 4 сетевых плат включая встроенные. Сетевая плата может быть и дескрет
11027. Модели построения компьютерных сетей 90 KB
  Модели построения компьютерных сетей. Открытыми называются системы построенные из компонентов различных производителей по принципу конструктора. В таких системах стандартизируются правила взаимодействия блоков и соединения между ними. Конкретное устройство отд...
11028. Модемы. Примеры технологий в которых используются модемы 100 KB
  Модемы. Модем устройство канального уровня соединяющее компьютеры с линией связи которая изначально не предназначалась для передачи данных. Примеры технологий в которых используются модемы: Подключение через городские телефонные линии Dial Up По те...
11029. Функции отдельных уровней модели OSI 26.5 KB
  Функции отдельных уровней модели OSI. Программный уровень Прикладной отвечает за пользовательский интерфейс в виде графической оболочки или командной строки. Пример Сетевое окружения окна ввода паролей и.т.д. Представительский отвечает за пре...
11030. Методы доступа. Примеры методов доступа 28 KB
  Методы доступа В большинстве сетевых технологий используется метод разделяемой среды передачи при котором множество узлов сети по очереди используют одну и ту же линию связи. Передавать данные при этом необходимо по очереди иначе пакеты от разных узлов смешаются и
11031. Управление ресурсами одноранговой сети 156.5 KB
  Практическая работа Управление ресурсами одноранговой сети Для работы необходимо наличие 2х виртуальных компьютеров под управлением Windows98 Windows2000 или Windows XP. Также необходимо присутствие дистрибутива Windows98. Целью работы является создание одноранговой сети ...
11032. Сетевые протоколы 559 KB
  Практическая работа Сетевые протоколы Для работы необходимо наличие неских виртуальных компьютеров под управлением Windows98 Windows2000 или Windows XP. Также необходимо присутствие дистрибутива Windows98. Целью работы является настройка сетевых протоколов на виртуальны...
11033. Сети с централизованным управлением (ЦУ) 330 KB
  Сети с централизованным управлением ЦУ Более сложная форма организации сети по сравнению с одноранговыми. Эта модель хорошо походит для крупных корпоративных сетей. Другое название сети на основе выделенного сервера. Основные различия: ...
11034. Одноранговые сети 45 KB
  Одноранговые сети 1 занятие Любая сеть в конечном счете должна обеспечивать обмен полезными данными. В локальных сетях простейшим способом является использование сетевого окружения. Оно позволяет работать с общими сетевыми папками и принтерами. При этом некотор