Команды сдвига
•LSL – Logical Shift Left , логический сдвиг влево. Равносилен умножению числа на 2 для каждого сдвига.
•LSR – Logical Shift Right, логический сдвиг вправо; Грубое деление на 2.
•ASR – Arithmetic Shift Right , арифметический сдвиг вправо;
•ROR – Rotate Right , циклический сдвиг вправо.
Форма записи и примеры команд сдвига
•LSL Rd, Rn, count
•Rd – приемник, Rn – источник, count – счетчик количества сдвигов, может быть как содержимым регистра, так и непосредственной величиной.
•ASR R5, R4, #4 – R4 не меняется (ASR R4,#4)
•LSR R3, R2, R6
Аппаратное описание процесса.
•1. Состояние источника (Rn) копируется в регистр сдвига. В счетчик загружается начальное состояние (count).
•2. На регистр сдвига подаются синхроимпульсы в количестве, заданном count.
•3. При обнулении счетчика происходит копирование состояния регистра сдвига в приемник (Rd).