Команды операций сдвига

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



Команда ЛОГИЧЕСКИЙ СДВИГ сдвигает слово и обнуляет освободившиеся биты. На рис. 3.13 показано, как логический сдвиг на один разряд воздействует на 8-битное слово, если старший бит слова перемещается в разряд ПЕРЕНОС.

Если, например, старший знак десятичной цифры в 8-битном слове необходимо поместить в младшие разряды, то это можно сделать четырехкратным логическим сдвигом вправо. Тогда, если первоначально код слова был равен 10010110, то после сдвига он будет равен 00001001, т. е. старшие четыре двоичных разряда переместились на место младших.



Команда ARITHMETIC SHIFT (АРИФМЕТИЧЕСКИЙ СДВИГ) обнуляет освободившийся разряд справа (если сдвиг влево), но сохраняет слева содержимое знакового разряда. На рис. 3.14 показано выполнение команд арифметического сдвига 8-битного числа. При арифметическом сдвиге вправо значение знакового разряда записывается в соседний разряд. Эта процедура называется расширением числа и используется для нормализации и масштабирования чисел в дополнительном коде. Арифметический сдвиг влево производит умножение на два числа в дополнительном коде, а арифметический сдвиг вправо — деление числа на два.

Команда ROTATE (ЦИКЛИЧЕСКИЙ СДВИГ) (рис. 3.15) интерпретирует данные как содержимое кольцевого сдвигающего регистра, в котором старший и младший разряды соединены между собой. Эта команда (иногда ее называют CIRCULAR SHIFT) сохраняет значения разрядов слова, но изменяет положение разрядов и, как правило, содержимое разряда ПЕРЕНОС.



Команда ROTATE WITH CARRY (ЦИКЛИЧЕСКИЙ СДВИГ С ПЕРЕНОСОМ) аналогичен команде ROTATE с той разницей, что в состав кольцевого сдвигающего регистра включен разряд ПЕРЕНОС.

Следовательно, при сдвиге все разряды исходного слова сохраняются, за исключением разряда ПЕРЕНОС. Эта команда используется при выполнении операций умножения и деления на ЭВМ, которые не имеют соответствующих команд. 



Аренда и продажа складов ответственного хранения www.skladovka.ru. . http://victorysport.ru/ йога в екатеринбурге для начинающих - тадасана студия йоги.