Побитовая обработка

ЭВМ Систем 360 и 370 ориентированы на работу с байтами в том смысле, что минимальной адресуемой единицей информации является байт. Существуют также машины, в которых допустима адресация отдельных битов, однако это скорее исключения.

В данном разделе рассматриваются возможности работы с отдельными битами внутри байтов или более крупных единиц информации. Эти возможности обеспечиваются главным образом существованием логических команд И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ. После краткого обзора символической логики, в которой данные операции играют центральную роль, мы рассмотрим машинные команды, реализующие эти операции.

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

Команды арифметических и логических сдвигов

SLL R1,D2(B2)

Shift Left_Logical

Сдвиг (R1) влево на D2 + (В2) двоичные позиции

SRL R1,D2(B2)

Shift Right Logical

Сдвиг (R1) вправо на D2 + (В2) двоичные позиции

SLDL R1,D2(B2)

Shift Left Double Logical

Сдвиг (R1,R1+1) влево на D2 + (В2) двоичные позиции

SRDL R1,D2(B2)

Shift Right Double Logical

Сдвиг (R1,R1+1) влево на D2 + (В2) двоичные позиции

SLA R1,D2(B2)

Shift Left Arithmetic

Сдвиг (R1) влево на D2 + (В2) двоичные позиции

SRA R1,D2(B2)

Shift Right Arithmetic

Сдвиг (R1) вправо на D2 + (В2) двоичные позиции

SLDA R1,D2(B2)

Shift Left Double Arithmetic

Сдвиг (R1,R1+1) влево на D2 + (В2) двоичные позиции

SRDA R1,D2(B2)

Shift Right Double Arithmetic

Сдвиг (R1,R1+1) вправо на D2 + (В2) двоичные позиции

 

 

Это интересно