русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Команды манипулирования битами


Дата добавления: 2015-01-16; просмотров: 1519; Нарушение авторских прав


Команды этой группы сведены в таблицу 3.

Мнемокод Формат
Логические команды AND   AND приемник, источник
OR OR приемник, источник
ХOR ХOR приемник, источник
NOT NOT приемник
TEST TEST приемник, источник
Команды сдвига SAL, SHL   SAL, SHL приемник, источник
SAR SAR приемник, источник
SHR SHR приемник, источник
Команды циклического сдвига ROL   ROL приемник, источник
ROR ROR приемник, источник
RCL RCL приемник, источник
RCR RCR приемник, источник

 

Логические команды выполняют побитовые операции по приведенным ниже правилам:

Бит источника Бит приемника AND OR XOR NOT TEST

 

Логические операции, кроме NOT, устанавливают флаги SF (знака), ZF (нуля) и PF(четности), флаг переноса устанавливается в 0. Все команды, за исключением TEST, сохраняют результат логической операции в приемнике. Команда TEST выполняет такую же операцию, что и AND. Различие только в том, что результат операции TEST не сохраняется в приемнике, а используется для следующей команды перехода по нулю.

Логические команды хороши тем, что выполняются быстро, быстрее “коротких” команд сложения и вычитания, однако студенты редко ими пользуются в своих программах. Приведу некоторые полезные приемы применения этих команд.

Часто встречающийся в программах прием – использование логической команды “исключающее или” (XOR) для обнуления регистра:

XOR AX,AX.

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



OR DX,DX ;проверить значение в регистре.

Следует отметить, что эта команда не изменит значения в регистре DX, но при этом, если в регистре хранится нулевое значение, будет установлен в 1 флаг ZF, если старший 15-ый бит в регистре единичный (что свидетельствует об отрицательном значении при представлении его как числа со знаком), то будет установлен в 1 флаг знака SF).

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

AND DX,1H ;выделить младший бит,

учитывая, что двоичное представление четных чисел имеет нулевой последний бит. Следует отметить, что при использовании команды AND значение в регистре будет этой командой изменено. Если необходимо оставить значение в регистре DX без изменений, то следует воспользоваться командой TEST, например, таким образом:

TEST DX,00000001B ;проверить младший бит.

В разделе “команды передачи управления” приводится более подробный фрагмент программы с использованием логических команд.



<== предыдущая лекция | следующая лекция ==>
Команды пересылки данных | Команды сдвига


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.073 сек.