Pole1 dd 521187f5h


Data

Команды сдвига двойной точности

shld операнд1, операнд2, счетчик_сдвигов – сдвиг влево двойной точности. Команда сдвигает влево биты первого операнда и заполняет его справа значениями битов из второго операнда. Значение счетчика сдвигов может быть указано непосредственно или в регистре CL. Максимальное число сдвигов-31. Значение второго операнда не меняется!

 
 

 


CF Операнд1 Операнд2

 

 

shrd операнд1,операнд2, счетчик_сдвигов – сдвиг вправо двойной точности. Сдвиг происходит в первом операнде. Свободные разряды заполняются битами из второго операнда. Состояние операнда 2 при этом не меняется.

           
   
 
   
 
 

 


Операнд2 Операнд1 CF

 

Пример двойного сдвига поля из 64 бит на 16 бит.

С помощью команд сдвига заместить в pole1 2 младших байта старшими байтами из pole2. (Пересылка из памяти в память запрещена!)