Иллюстрированный самоучитель по Assembler

R

RCR Циклический сдвиг вправо через бит переноса

Команда rсl осуществляет сдвиг вправо всех битов операнда. Если команда записана в формате:

rcl операнд,1

Сдвиг осуществляется на 1 бит. В старший бит операнда заносится значение флага CF; младший бит операнда загружается в CF. Если команда записана в формате:

rcl операнд,CL

Сдвиг осуществляется на число бит, указанное в регистре-счетчике CL, при этом в процессе последовательных сдвигов младшие биты операнда поступают сначала в CF, а оттуда – в старшие биты операнда (Рис. П5).

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › R
Рис. П.5. Действие команды rcl.

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

Пример 1:

clc; Сбросим флаг CF
mov AX, 2
rcr АХ,1; АХ=1, CF=0

Пример 2:

stc; Установим флаг CF
mov DL,8
rcr DL,1; DL=84h, CF=0

Пример 3:

clc; Сбросим флаг CF
mov BX,OFh
rcr BX,1; BX=7, CF=1

Пример 4:

clc; Сбросим флаг CF
mov DH,80h
mov CL,5; Счетчик сдвигов
rcr DH,CL; DH=4, CF=0

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › R Допустим сдвиг 32-битовых операндов. Допустимо указание числа бит сдвига как с помощью регистра CL, так и непосредственным значением. Максимальная величина сдвига составляет 31 бит.

Пример:

mov ESI,0FFFF000lh
clc; Сбросим флаг CF
rcr ESI,8; ESI=02FFFF00h, CF=0

Pentium+P RDMSR Чтение особого регистра модели

Команда читает содержимое внутреннего регистра, специфического для конкретной модели процессора.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.