Операция - арифметический сдвиг - Большая Энциклопедия Нефти и Газа, статья, страница 1
Когда-то я думал, что я нерешительный, но теперь я в этом не уверен. Законы Мерфи (еще...)

Операция - арифметический сдвиг

Cтраница 1


Операция арифметического сдвига заключается в перемещении влево или вправо двоичных разрядов с одних позиций на другие с сохранением порядка их следования относительно друг друга за исключением знакового разряда. Операции сдвига выполняются командами: SLA ( SHIFT LEFT SINGLE ALGEBRAIC) - СДВИГ ВЛЕВО АРИФМЕТИЧЕСКИЙ, SRA ( SHIFT RIGHT SINGLE ALGEBRAIC) - СДВИГ ВПРАВО АРИФМЕТИЧЕСКИЙ, SLDA ( SHIFT LEFT DOUBLE ALGEBRAIC) - СДВИГ ВЛЕВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ, SLDA ( SHIFT RIGHT DOUBLE ALGEBRAIC) - СДВИГ ВПРАВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ. Эти команды применяются для изменения или уравнивания масштабов, так как они обеспечивают умножение или деление операндов на 2, где k есть число двоичных сдвигов.  [1]

Операция арифметического сдвига, заключается в перемещении влево или вправо двоичных разрядов с одних позиций на другие с сохранением порядка их следования относительно друг друга за исключением знакового разряда. Операции сдвига выполняются командами: SLA ( SHIFT LEFT SINGLE ALGEBRAIC) - СДВИГ ВЛЕВО АРИФМЕТИЧЕСКИЙ, SRA ( SHIFT RIGHT SINGLE ALGEBRAIC) - СДВИГ ВПРАВО АРИФМЕТИЧЕСКИЙ, SLDA ( SHIFT LEFT DOUBLE ALGEBRAIC) - СДВИГ ВЛЕВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ, SRDA ( SHIFT RIGHT DOUBLE ALGEBRAIC) - СДВИГ ВПРАВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ. Эти команды применяются для изменения или уравнивания масштабов, так как они обеспечивают умножение или деление операндов на 2ft, где k есть число двоичных сдвигов.  [2]

Операции арифметического сдвига влево SLA ( Left Algebraic) и арифметического сдвига вправо SRA ( Right Algebraic) производят сдвиг влево или вправо значащей части дополнительного кода числа. При сдвиге вправо пропадает значение из разряда тридцать один, а в разряд один поступает код знакового разряда. Разряд знака при этом не изменяется. Сдвигаемый код находится в регистре RI, а величина сдвига указывается шестью младшими двоичными разрядами адреса второго операнда. Операции SLDA и SRDA производят двойной ( Double) арифметический сдвиг соответственно влево и вправо. Сдвигаемый код состоит из 64 битов и занимает два общих регистра. Старшая часть находится в регистре с четным номером Ri, а младшая - в регистре со следующим нечетным номером.  [3]

Операция арифметического сдвига эквивалентна умножению числа с фиксированной запятой, находящегося на сумматоре, на 2 или 2 - п, в зависимости от направления сдвига.  [4]

Запуск операции арифметического сдвига ( логического сдвига) происходит при записи числа сдвигов по адресу 777316 ( 777314) При этом знак числа сдвигов определяет направление сдвигов. Tlpt выполнении этих операций 32-разрядное содержимое регистров АК и МЧ сдвигается на соответствующее число разрядов.  [5]

Использование операций арифметического сдвига при программировании достаточно очевидно.  [6]

Различие между операциями логического и арифметического сдвига заключается в обработке знакового разряда - первого разряда слова. При логическом сдвиге первый разряд сдвигается вместе с другими разрядами, поскольку ему не приписывается особый смысл. При арифметическом сдвиге знаковый разряд должен рассматриваться отдельно. В случае арифметического сдвига вправо освобождаемые разряды с левой стороны накапливающего сумматора заполняются с учетом значения знакового разряда, сохраняя таким образом алгебраический знак содержимого сумматора.  [7]

8 Условное графическое обозначение К1800ВР8. [8]

Микросхема PS состоит из дешифраторов вида сдвига ОСТ и выбора величины сдвига и знака DCF, входного MUXI и выходного MUXO мультиплексоров, блока выбора знака и блока знакового разряда. Вход S / используется для определения знака операций арифметического сдвига и распространения знакового разряда.  [9]

В связи с этим для более эффективной реализации указанных действий в машине предусмотрены две операции арифметического сдвига, используемые в командах формата RS. При выполнении этих команд преобразуемое число х выбирается из регистра ль а в качестве значения k принимается исполнительный адрес 5з, заданный в команде, - этот адрес является непосредственным операндом. Результат выполнения операции помещается в регистр г; регистр г2 в этих операциях не используется, и поэтому в записи команды на автокоде он не указывается. При выполнении этих операций новое значение ш не вырабатывается.  [10]

Однако в некоторых арифметических операциях байтами можно манипулировать прямо, применяя байтовые инструкции. В двойные ( длинные) слова помещается произведение ( при умножении) или делимое - при выполнении операции деления. Над двойными словами допустимы операции прямого арифметического сдвига, сложения или вычитания слова посредством команд сложения / вычитания слов. Набор команд, обеспечивающий условный переход по знаку, позволяет в программе передавать управление в зависимости от результатов арифметических операций. Заметим, что самый старший бит в числе с дополнением до двух всегда указывает знак числа.  [11]

12 Регистр флагов. [12]

Бит 11, флаг переполнения OF ( overflow flag), в первую очередь служит индикатором ошибки при выполнении операций над числами со знаком. Флаг OF равен 1, если результат сложения двух чисел с одинаковым знаком или результат вычитания двух чисел с противоположными знаками выйдет за пределы допустимого диапазона значений операндов. Кроме того, OF 1, если старший, ( знаковый) бит операнда изменился в результате операции арифметического сдвига.  [13]



Страницы:      1