Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet118/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   114   115   116   117   118   119   120   121   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Циклический сдвиг
К командам циклического сдвига относятся команды, сохраняющие значения сдви-
гаемых битов. Есть два типа команд циклического сдвига:
' - команды простого циклического сдвига (рис. 9.4);
команды циклического сдвига через флаг переноса CF (рис. 9.5).
Далее перечислены команды простого циклического сдвига:
— циклический сдвиг влево (Rotate Left). Содержи-
мое операнда сдвигается влево на количество битов, определяемое операндом
Сдвигаемые влево биты записываются в тот же операнд
справа.
— циклический сдвиг вправо (Rotate Right). Содер-
жимое операнда сдвигается вправо на количество битов, определяемое операн-
дом счетчик_сдвигов. Сдвигаемые вправо биты записываются в тот же операнд
слева.


202 Глава 9. Логические команды и команды сдвига
Сдвиг влево циклический го!
' V V
У
4
V
3
У
2
V
1
0
Флаг cf
Сдвиг вправо циклический
 У
7 6
V
5
У
4
У
3
У
2
V
1 0
Флаг cf
Рис. 9.4. Схема работы команд простого циклического сдвига
Сдвиг влево циклический
V
7 6
V
5
У
У
V
V
V
4 3 2
Флаг cf
Сдвиг вправо циклический
V
V
7 6 б
V
4
rf
V
V
V
Флаг cf
Рис. 9.5. Схема работы команд циклического сдвига через флаг переноса CF
Как видно из рис. 9.4, команды простого циклического сдвига в процессе своей
работы осуществляют одно полезное действие: циклически сдвигаемый бит не толь-
ко вдвигается в операнд с другого конца, но и одновременно его значение стано-
вится значением флага CF. К примеру, для того чтобы обменять содержимое двух
половинок регистра ЕАХ, достаточно выполнить следующую последовательность
команд:
mov
Команды циклического сдвига через флаг переноса CF отличаются от команд
простого циклического сдвига тем, что сдвигаемый бит не сразу попадает в опе-
ранд с другого его конца, а сначала записывается во флаг переноса CF. Лишь следу-


Команды сдвига 203
ющее исполнение данной команды сдвига (при условии, что она выполняется
в
приводит к помещению выдвинутого ранее бита в другой конец операнда
(рис. 9.5). Команды циклического сдвига через флаг переноса CF перечислены
далее:
rcl
— циклический сдвиг влево через перенос (Rotate
through Carry Left). Содержимое операнда сдвигается влево на количество би-
тов, определяемое операндом
Сдвигаемые биты поочередно
становятся значением флага переноса
rcr
— циклический сдвиг вправо через перенос (Rotate
through Carry Right). Содержимое операнда сдвигается вправо на количество
битов, определяемое операндом
Сдвигаемые биты поочередно
становятся значением флага переноса CF.
Из рис. 9.5 видно, что при сдвиге через флаг переноса появляется промежуточ-
ный элемент, с помощью которого можно производить подмену циклически сдвига-
емых битов, в частности, выполнять рассогласование битовых последовательностей.
Под рассогласованием битовой последовательности здесь и далее подразумевает-
ся действие, которое позволяет некоторым образом локализовать и извлечь нуж-
ные участки этой последовательности и записать их в другое место. Например,
рассмотрим, как переписать в регистр ВХ старшую половину регистра ЕАХ с одно-
временным ее обнулением в регистре ЕАХ:
сдвигов для еах
ml:
;сброс флага cf в 0
rcl
;сдвиг крайнего левого бита из еах в cf
1
бита из cf справа в Ьх
16 раз
правую часть еах
Команды простого циклического сдвига можно использовать для операций дру-
гого рода. К примеру, подсчитаем количество единичных битов в регистре ЕАХ:
хог
;очистка
для подсчета единичных битов
mov
;число циклов подсчета
;метка цикла
сдвиг вправо на 1 бит
jnc not_one ;переход, если очередной бит в cf
равен единице
inc dx
счетчика цикла
loopcycl ;переход на метку cycl, если
;значение в сх не равно 0
Этот фрагмент не требует особых пояснений, единственное, что нужно по-
мнить, — особенности работы команды цикла ШОР (глава 10). Команда ШОР срав-
нивает значение регистра ЕСХ/СХ с нулем и, если оно не равно нулю, выполняет
уменьшение ЕСХ/СХ на единицу и передает управление на метку в программе, ука-
занную в этой команде в качестве операнда.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   114   115   116   117   118   119   120   121   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish