русс | укр

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

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

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

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


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

Команды двойного сдвига.


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


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

  • Берутся два операнда длиной в слово и получается результат длиной в слово (32-разрядный сдвиг).
  • Берутся два операнда длиной в двойное слово и получается результат длиной в двойное слово (64-разрядный сдвиг).

Из двух операндов, операнд-источник должен быть регистром, в то время как операнд назначения может быть как регистром, так и ячейкой памяти. Количество битов, на которое выполняется сдвиг, может быть задано в регистре CL или непосредственно значением байта в команде. Биты, вытесненные за границу операнда-источника, заполняют пустые биты в операнде назначения, который тоже сдвигается. Сохраняется значение только операнда назначения.

Когда выполняется сдвиг на ноль позиций, ни один из флагов не подвергается изменениям. В противном случае, флагу CF присваивается значение последнего бита, вытесненного из операнда назначения, и изменяются значения флагов SF, ZF и PF. При сдвиге на один разряд флаг OF получает значение "единица", если знак операнда изменяется, в противном случае флаг OF очищается. При сдвигах более чем на один бит состояние флага AF не определено.

SHLD (Двойной сдвиг влево) сдвигает биты операнда назначения влево, заполняя пустые биты значениями битов, вытесняемых из операнда-источника (см. Рисунок 3-9). Результат запоминается в операнде назначения. Операнд-источник не изменяется.

SHRD (Двойной сдвиг вправо) сдвигает биты операнда назначения вправо, заполняя пустые биты значениями битов, вытесняемых из операнда-источника (цм. Рисунок 3-10). Результат запоминается в операнде назначения. Операнд-источник не изменяется.



+-------------------------------------------------------------+| 31 0 || +--+ +--------------------------------------+ || |CF| -------- | Приемник (память или регистр) |-+ || +--+ +--------------------------------------+ | || | || +------------------------------------------------+ || | 31 0 || | +--------------------------------------+ || +------| Источник (регистр) | || +--------------------------------------+ || |+-------------------------------------------------------------+ Рисунок 3-9. Команда SHLD. +-------------------------------------------------------------+| 31 0 || +--------------------------------------+ || | Источник (регистр) |----+ || +--------------------------------------+ | ||+------------------------------------------------+

31 0

Gt;| Приемник (память или регистр) |-------->|CF| || +--------------------------------------+ +--+ || |+-------------------------------------------------------------+ Рисунок 3-10. Команда SHRD.



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


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


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

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

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


 


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

 
 

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

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