Студопедия — Зсуви та циклічні зсуви
Студопедия Главная Случайная страница Обратная связь

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

Зсуви та циклічні зсуви






У процесорах 8086 існує множина способів, за допомогою яких можна зсувати біти регістра чи змінної у пам’яті вліво чи вправо. Найпростішим з них є логічний зсув.

Інструкція SHL (зсув ліворуч, синонім – SAL) переміщує кожний біт операнда-приймача на один розряд вліво, у напрямку до самого значущого біту. Наприклад значення 10010110b (96h чи 150 у десятковій уяві) записане у AL, зсувається вліво за допомогою інструкції SHL AL,1. В результаті виходить значення 00101100b (24Ch чи 44 у десятковій уяві), яке записується назад у регістр AL. Флаг переносу встановлюється в значення 1.

Інструкція SAR (арифметичний зсув праворуч) аналогічна інструкції SHR, тільки при її виконанні найбільш значущий біт операнда зсувається праворуч у наступний біт, а потім копіюється назад. Наприклад значення 10010110b (96h чи –106 у десятковій уяві зі знаком), записане у регістрі AL зсувається праворуч за допомогою інструкції SAR AL,1. В результаті виходить значення 11001011b (0CBh чи –53 у десятковій уяві зі знаком), яке записується назад у регістр AL. Флаг переносу встановлюється у значення 0.

Операція ROL має дію, зворотну дії операції ROR. Операнд також зсувається циклічно, але зсув виконується ліворуч. При цьому найбільш значущий біт зсувається у найменш значущий. Інструкції ROR та ROL корисно використовувати для пере упорядковування біт у байті чи у слові. Наприклад, в результаті виконання інструкцій:

 

mov si,49F1h

mov cl,4

ror si,cl

у регістр SI буде записано значення 149Fh: біти 3-0 перемістяться в біти 15-12, біти 7-4 – в біти 3-0 і т.д.

Інструкції RCR та RCL працюють трохи по-іншому. Інструкція RCR аналогічно інструкції зсуву праворуч, при цьому найбільш значущий біт зсувається з флага переносу. Наприклад значення 10010110b (96h чи 150 у десятковій уяві), записане у регістрі AL, циклічно зсувається праворуч через флаг переносу, початкове значення якого дорівнює 1, за допомогою інструкції RCR AL,1. В результаті отримуємо значення 1100101b (0CBh чи 203 у десятковій уяві), яке записується назад у регістр AL. Флаг переносу встановлюється у значення 0.

Інструкція RCL аналогічно, відповідно, лівому зсуву. При виконанні цієї інструкції найменш значущий біт зсувається з флага переносу. Інструкції RCR та RCL корисно використовувати для зсуву операнда, який складається з декількох слів. Наприклад, наступні інструкції виконують множення значення у DX:AX, розміром у подвійне слово на 4:

 

shl ax,1; біт 15 регістру AX зсувається у флаг переносу

rcl dx,1; флаг переносу зсувається у біт 0 регістру DX

shl ax,1; біт 15 регістру AX зсувається у флаг переносу

rcl dx,1; флаг переносу зсувається у біт 0 регістру DX.

 

Інструкції циклічного зсуву, аналогічно інструкціям зсуву, можуть зсовувати операнд на 1 біт чи на число біт, заданих регістром CL.







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



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия