![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
К командам линейного сдвига относятся команды, осуществляющие сдвиг по следующему алгоритму.
1. Очередной «выдвигаемый» бит устанавливает флаг CF.
2. Бит, появляющийся с другого конца операнда, имеет значение 0.
3. При сдвиге очередного бита он переходит во флаг CF, при этом значение предыдущего сдвинутого бита теряется.
Команды линейного сдвига делятся на два подтипа:
команды логического линейного сдвига;
команды арифметического линейного сдвига.
К командам логического линейного сдвига относятся:
shl операнд, счетчик_сдвигов — логический сдвиг влево (Shift Logical Left). Coдержимое операнда сдвигается. Справа в позицию младшего бита вписываются нули
shr операнд, счетчик_сдвигов — логический сдвиг вправо (Shift Logical Right). Содержимое операнда сдвигается. Слева в позицию старшего (знакового) бита вписываются нули.
sal операнд, счетчик_сдвигов — арифметический сдвиг влево (Shift Arithmetic Left). Содержимое операнда сдвигается влево. Справа (в позицию младшего бита) вписываются нули. Не сохраняет знака, но устанавливает флаг CF в случае смены знака очередным выдвигаемым битом.
sar операнд, счетчик_сдвигов — арифметический сдвиг вправо (Shift Arithmet Right). Содержимое операнда сдвигается вправо. Слева в операнд вписываются нули. Команда SAR сохраняет знак, восстанавливая его после сдвига каждого очередного бита.
К командам циклического сдвига относятся команды, сохраняющие значения сдвигаемых битов. Есть два типа команд циклического сдвига:
Дата публикования: 2014-11-03; Прочитано: 282 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!