Студопедия

КАТЕГОРИИ:

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


Линейный сдвиг




К командам этого типа относятся команды, осуществляющие сдвиг по следующему алгоритму:

- очередной «выдвигаемый» бит устанавливает флаг cf;

- бит, вводимый в операнд с другого конца, имеет значение 0;

- при сдвиге очередного бита он переходит во флаг cf, при этом значение предыдущего сдвинутого бита теряется!

Команды линейного сдвига делятся на два подтипа:

- команды логического линейного сдвига;

- команды арифметическом линейного сдвига.

К командам логического линейного сдвига относятся следующие:

shl операнд, счетчик_сдвигов (Shift Logical Left) — логический сдвиг влево. Содержимое операнда сдвигается влево па количество битов, определяемое знамением счетчик_сдвигов. Справа (в позицию младшего бита) вписываются нули;

shr операнд, счетчик^ сдвигов (Shift Logical Right) — логический сдвиг вправо. Содержимое операнда сдвигается вправо на количество битов, определяемое значением счетчик_сдвигов. Слева (в позицию старшего, знакового бита) вписываются нули.

Команды арифметического линейного сдвига отличаются от команд логического сдвига тем, что они особым образом работают со знаковым разрядом операнда:

sal операнд, счетчик_сдвигов (Shift Arithmetic Left) — арифметический сдвиг влево. Содержимое операнда сдвигается влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) вписываются нули. Команда sal не сохраняет знака, но устанавливает флаг cf в случае смены знака очередным выдвигаемым битом. В остальном команда sal полностью аналогична команде shl;

sar операнд, счетчик_сдвигов (Shift Arithmetic Right) — арифметический сдвиг вправо. Содержимое операнда сдвигается вправо на количество битов, определяемое значением счетчик_сдвигов. Слева в операнд вписываются нули. Команда sar сохраняет знак, восстанавливая его после сдвига каждого очередного бита.

Команды арифметического сдвига позволяют выполнить умножение и деление операнда на степени двойки. Посмотрите па двоичное представление чисел 75 и 150:

75 – 01001011 150 – 10010110

Сдвигая вправо операнд, мы осуществляем операцию деления на степени двойки 2, 4, 8 и т. д. Преимущество этих команд, по сравнению с командами умножения и деления, — в скорости их исполнения микропроцессором.

 


Поделиться:

Дата добавления: 2015-09-14; просмотров: 140; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты