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



Download 12,06 Mb.
Pdf ko'rish
bet144/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   140   141   142   143   144   145   146   147   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

 Цепочка-источник, адресуемая операндом адрес_источника,
может находиться в текущем сегменте данных, определяемом регистром DS. Це-
почка-приемник, адресуемая операндом адрес_приемника, должна быть в дополни-
тельном сегменте данных, адресуемом сегментным регистром ES. Важно отметить,


252 Глава
Цепочечные команды
что допускается замена (с помощью префикса замены сегмента) только регистра
DS, регистр ES подменять нельзя. Вторые части адресов (смещения цепочек) также
находятся в строго определенных местах. Для цепочки-источника это регистр ESI/SI
(Source Index register — индексный регистр источника). Для цепочки-получателя
это регистр
(Destination Index register — индексный регистр приемника).
Таким образом, полные физические адреса для операндов цепочечных команд сле-
дующие:
— пара ds:esi/si;

— пара
Кстати, вспомните команды LDS и LES, которые мы рассматривали в главе 7. Эти
команды позволяют получить полный указатель (сегмент плюс смещение) на ячей-
ку памяти. Применение их в данном случае очень удобно в силу жесткой регла-
ментации использования регистров для адресации операндов источника и прием-
ника в цепочечных командах.
Вы, наверное, обратили внимание на то, что все семь групп команд, реализую-
щих цепочечные операции-примитивы, имеют похожий по структуре набор ко-
манд. В каждом из этих наборов присутствуют одна команда с явным указанием
операндов и три команды, не имеющие операндов. На самом деле набор команд
процессора имеет соответствующие машинные команды только для цепочечных
команд ассемблера без операндов. Команды с операндами транслятор ассемблера
задействует только для определения типов операндов. После того как выяснен тип
элементов цепочек по их описанию в памяти, генерируется одна из трех машин-
ных команд для каждой из цепочечных операций. По этой причине все регистры,
адреса цепочек, должны быть инициализированы заранее, в том чис-
ле и для команд, допускающих явное указание операндов. В силу
что цепоч-
ки адресуются однозначно, нет особого смысла применять команды с операндами.
Главное, что вы должны запомнить, — правильная загрузка регистров указателя-
ми обязательно требуется до выдачи любой цепочечной команды. Также на прак-
тике могут встретиться случаи, когда транслятор потребует явно переопределить
ES: для соответствующего операнда в команде с явным указанием опе-
рандов.
Последний важный момент, касающийся всех цепочечных команд, — это на-
правление обработки цепочки. Есть две возможности:
от начала цепочки к ее концу, то есть в направлении возрастания адресов;
от конца цепочки к началу, то есть в направлении убывания адресов.
Как мы увидим позже, цепочечные команды сами выполняют модификацию
регистров, адресующих операнды, обеспечивая тем самым автоматическое продви-
жение по цепочке. Количество байтов, на которые эта модификация осуществля-
ется, определяется кодом команды. А вот знак этой модификации определяется
значением флага направления
(Direction Flag) в регистре EFLAGS/FLAGS:
т если DF = 0, то значения индексных регистров ESI/SI и EDI/DI будут автомати-
чески увеличиваться (операция инкремента) цепочечными командами, то есть
обработка будет осуществляться в направлении возрастания адресов;


Пересылка цепочек 253
в если DF = 1, то значения индексных регистров ESI/SI и EDI/DI будут автомати-
чески уменьшаться (операция декремента)
то есть
обработка будет идти в направлении убывания адресов.
Состоянием флага DF можно управлять с помощью двух команд, не имеющих
операндов:
CLD (Clear Direction Flag) — очистить флаг направления (команда сбрасывает
флаг направления DF в 0);
(Set Direction Flag) — установить флаг направления (команда устанавли-
вает флаг направления DF в 1).
Это вся информация, касающаяся общих свойств цепочечных команд. Далее
мы более подробно рассмотрим каждую операцию-примитив и команды, которые
ее реализуют. При этом одну из команд в каждой группе цепочечных команд (ко-
манду с операндами) мы будем рассматривать подробнее, поскольку это более об-
щая команда в смысле ограничений, накладываемых на типы операндов.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   140   141   142   143   144   145   146   147   ...   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