русс | укр

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

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

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

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


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

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


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


Группа сдвигов и логических команд служит для реализации ряда функций, связанных с преобразованием и анализом опе­рандов, которые размещаются как в регистре, так и в памяти.

Команды сдвига.Обеспечивают прежде всего удвоение чисел и деление пополам. Для удвоения числа без знака достаточно сдвинуть все его разряды на один влево, заполнив младший бит нулем. Поскольку старший бит при сдвиге передается в разряд CF, анализ значения этого флага позволяет судить о точности результата. Например, удвоение числа 65 (01000001) путем сдвига влево дает точный результат 130 (10000010), что определяется значением CF=0. Дальнейшее удвоение даст не­правильный результат 4 (00000100), что определяется значением CF=1. Аналогично, используя сдвиг вправо, осуществляется деление числа без знака пополам. Например, сдвигая число 13 (00001101), получаем 6 (00000110) и CF=1, что свидетельствует о неточном результате.

Команды, выполняющие удвоение и деление пополам чисел без знака, имеют мнемокоды SHL (логический сдвиг влево) и SHR (логический сдвиг вправо) соответственно. Аналогичные операции для чисел со знаком реализуются с помощью команд SAL (арифметический сдвиг влево) и SAR (арифметический сдвиг вправо).

Длина сдвигаемого операнда, как обычно, опре­деляется полем w первого байта (w = 0- 8-разрядный операнд, w = 1- 16-разрядный операнд). С помощью любой из перечис­ленных команд сдвига операнд может сдвигаться на произволь­ное число разрядов до 8 или 16 включительно.

Значение флага OF устанавливается равным «1», если окончательное значение бита знака при последнем сдвиге отли­чается от его предыдущего значения.

Логические команды.Служат для реализации четырех буле­вых функций: AND (поразрядное логическое И), OR (поразряд­ное логическое ИЛИ), XOR (поразрядная логическая сумма по модулю 2) и NOT (поразрядное логическое НЕ). Сюда также от­носится команда TEST (проверка), которая состоит в поразряд­ном логическом умножении (И) операндов без занесения резуль­тата умножения в место назначения и служит для анализа со­держимого источника по значениям флагов.



Все двухоперандные команды AND, OR, XOR и TEST имеют по три одинаковых формата и совпадают по времени исполне­ния. Однооперандная команда NOT осуществляет инвертирова­ние операнда и имеет один формат. Следует отметить, что при выполнении логических команд флаги CF и OF не изменяют сво­их значений, а в соответствии с результатом операции устанав­ливаются флаги PF, SF и ZF. Флаг AF после выполнения логи­ческих команд имеет неопределенное значение.



<== предыдущая лекция | следующая лекция ==>
Арифметические команды | Команды обработки строк данных


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


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

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

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


 


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

 
 

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

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