ЭВМ Систем 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) двоичные позиции |