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-разрядный регистр общего назначения.









Начало  Назад  Вперед