Студопедия
Главная страница | Контакты | Случайная страница

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

Команды логических операций

Читайте также:
  1. I. Решение логических задач средствами алгебры логики
  2. III. Основные методы биологических исследований.
  3. IV. Психические расстройства при соматических и неврологических заболеваниях
  4. VI. БИОГЕОЦЕНОТИЧЕСКИЙ И БИОСФЕРНЫЙ УРОВНИ ОРГАНИЗАЦИИ БИОЛОГИЧЕСКИХ СИСТЕМ
  5. АВТОМАТИЗАЦИЯ ХИМИКО-ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ
  6. Активные операции коммерческих банков. Оценка структуры активных операций банка с позиции ликвидности, доходности и риска банка. (20 баллов).
  7. Актуальность изучения социально-экологических проблем
  8. Алгоритм, содержащий одно или несколько логических условий
  9. Анализ лизинговых операций.
  10. АНАЛИЗ ЭФФЕКТИВНОСТИ ЭКСПОРТНЫХ ОПЕРАЦИЙ

Логические операции являются важным элементом в проектировании микросхем. Они используются для сброса и установки битов и для арифметических операций в коде ASCII. Формат команд:

 

Имя-команды операнд1, операнд2

 

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

Имена логических команд:

AND - если оба из сравниваемых битов равны 1, то результат равен 1; во всех остальных случаях результат – 0

OR - если хотя бы один из сравниваемых битов равен 1, то результат равен 1; если сравниваемые биты равны 0, то результат – 0

XOR - если один из сравниваемых битов равен 0, а другой равен 1, то результат равен 1; если сравниваемые биты одинаковы (оба – 0 или оба – 1), то результат – 0

TEST – сравнивает два значения, не изменяя их

NOT операнд – устанавливает обратное значение битов в байте или в слове, в регистре или в памяти: нули становятся единицами, а единицы – нулями.

 

Команды сдвига и циклического сдвига

Формат команд:

 

Имя-команды операнд1, операнд2

 

Операнд1 – значение, которое сдвигается; операнд2 – значение сдвига. Значение сдвига на 1 может быть закодировано как непосредственный операнд; значение больше 1 должно находиться в регистре CL. При выполнении команд сдвига флаг CF во флаговом регистре всегда содержит значение последнего выдвинутого бита.

Команды сдвига:

SHR - логический (беззнаковый) сдвиг вправо

SHL - логический (беззнаковый) сдвиг влево

SAR - арифметический сдвиг вправо

SAL – арифметический сдвиг влево

Арифметический сдвиг вправо отличается от логического тем, что для заполнения левого бита используется знаковый бит. Таким образом, положительные и отрицательные величины сохраняют свой знак. При сдвигах влево правые биты заполняются нулями, поэтому результат арифметического и логического сдвигов идентичен. Сдвиг влево часто применяется для удваивания чисел, а сдвиг вправо – для деления на 2. Эти операции выполняются значительно быстрее, чем команды умножения или деления.

Команды циклического сдвига:

ROR - циклический сдвиг вправо

ROL - циклический сдвиг влево

RCR - циклический сдвиг вправо с переносом

RCL - циклический сдвиг влево с переносом

Циклический сдвиг представляет собой операцию сдвига, при которой выдвинутый бит занимает освободившийся разряд. В командах циклического сдвига с переносом участвует флаг CF. Выдвигаемый из регистра бит заносится в флаг CF, а значение CF при этом поступает в освободившуюся позицию.




Дата добавления: 2014-12-19; просмотров: 126 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.107 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав