Инструкция (команда) процессора SHLD op1, op2, op3.

SHLD op1, op2, op3 — двойной сдвиг влево.

Инструкция применяется для сдвига длинных последовательностей битов. SHLD сдвигает синхронно влево два операнда: op1 и op2. Причем операнд op1 от этого меняется, а op2 служит только источником битов для op1, но сам не меняется. Например, после инструкций

mov ax.1000000000000000b

mov bx.1000000000000000b

shld ax. bx. 1

АХ будет равен 0000000000000001 (старший бит АХ будет вытолкнут из регистра, а старший бит ВХ будет втянут в АХ справа), в то время как ВХ останется прежним: 1000000000000000.

Бит, только что покинувший op1, попадает во флаг С. Число сдвигов определяет операнд ор3, который может быть регистром CL или явным числом. Процессор использует только 5 младших битов в операнде ор3, поэтому число сдвигов не превышает 31. Op1 может быть как регистром (16- или 32-битным), так и ячейкой памяти, а op2 — только регистром. Если число сдвигов больше размера операнда op1, результат инструкции не определен.

Меняет флаги SZP. Флаги 0 и А не определены.

 

Вернуться к разделу Основные инструкции процессора >>

 

 

Другие новости



Счетчики





Яндекс.Метрика