Cамоучитель по Assembler

         

П11. Действие команды shr.




В качестве операнда можно указывать любой регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово. Не допускается использовать в качестве операнда непосредственное значение. Команда воздействует на флаги CF, OF, PF, SF и ZF.

Пример


mov AL,7
shr AL,1 ;AL=3, CF=1

Пример


mov AX, lFF0h
mov CL,4
shr AX,CL ;AX=01FFh, CF=0

Пример


mov DX,9513h
mov CL,8
shr DX,CL ;DX=0095h, CF=0

Пример



mov ESI,0FFFF0009h
shr ESI,8 ;ESI=00FFFF00h, CF=0

Пример


; В полях данных
mem dd 11111111h
;B программном сегменте
shr mem,12 ;mem=00011111h, CF=0

386+ SHRD Логический сдвиг вправо с двойной точностью


Трехоперандная команда shrd с операндами opl, ор2 и орЗ осуществляет сдвиг вправо первого из своих операндов opl. Число битов сдвига определяется третьим операндом орЗ. По мере сдвига операнда opl вправо выдвигаемые из него младшие биты, пройдя через флаг CF, теряются, а на освобождающиеся места со стороны его старших битов поступают младшие биты второго операнда ор2, как если бы он вдвигался своим правым (младшим) концом в opl. Однако после завершения сдвига значение операнда ор2 не изменяется (Рисунок П12). Во флаге CF остается последний выдвинутый из операнда opl бит. Максимальное число битов сдвига составляет 31.
В качестве первого операнда opl можно указывать 16- или 32-разрядный регистр общего назначения или 16- или 32-битовую ячейку памяти. Вторым операндом ор2 может служить только 16- или 32-разрядный регистр общего назначения.



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий