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



Download 12,06 Mb.
Pdf ko'rish
bet199/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   195   196   197   198   199   200   201   202   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

логом модуля (процедуры). Фрагмент, вставляемый перед командами передачи
управления вызывающему модулю, называется эпилогом модуля (процедуры). Его
назначение — восстановление состояния вычислительной среды на момент вызо-
ва данного модуля.


350 Глава
Модульное программирование
Оперативная память
Оперативная память
ss:sp
kol
У
X
ch
Дно стека
1
bp
IP
kol
У
X
ch
Дно стека
Г
ss:sp
+4
+6
+8
+10
.
'P
kol
.
ch
Дно стека
Старшие адреса
оперативной памяти
а
Старшие адреса
оперативной памяти
б
Старшие адреса
оперативной памяти
в
Рис.
Изменение содержимого стека при передаче управления в связке
Рассмотрим действия, выполняемые кодами пролога и эпилога при организа-
ции связи
Действия, выполняемые кодом пролога.
1. Сохранить значение Ьр в стеке. Это делается с целью запоминания контекста вы-
зывающего модуля. Стек при этом будет выглядеть, как показано
рис.
 б.
2. Записать содержимое SP в ВР. Тем самым ВР теперь тоже будет указывать на
вершину стека (рис.
в).
После написания кода пролога все обращения к аргументам в стеке можно орга-
низовывать относительно содержимого регистра ВР. Из рис.
 в видно, что для
обращения к верхнему и последующим аргументам в стеке содержимое Ьр необхо-
димо откорректировать. Нетрудно посчитать, что величина корректировки будет
различаться для процедур дальнего (far) и ближнего (near) типов. Причина понят-
на: при вызове процедуры типа near в зависимости от установленного режима
адресации
или use32) в стек записывается 2(4) байта в качестве адреса
возврата (содержимое
а при вызове процедуры типа far в стек записы-
вается 4(8) байта (содержимое IP/EIP и
Таким образом, коды пролога для процедур ближнего и дальнего типа соответ-
ственно будут выглядеть следующим образом:
procnear
пролог для процедуры типа near
push bp
прологу можно добавить команду
bp на 4 с тем, чтобы регистр
на верхний из передаваемых аргументов в стеке
add
указывает на kol
asmproc proc
Если действует режим адресации
то в стек записываются двойные слова. По этой причине
запись 16-разрядного регистра cs также производится четырьмя байтами, при этом два старших бай-
та этого значения нулевые.


Связь ассемблера с языками высокого уровня
для процедуры типа far
push bp
raov
прологу можно добавить команду
bp на 6 с тем, чтобы регистр
на верхний из
аргументов в стеке
add
указывает на
Далее доступ к переданным в стеке данным
как показано в ли-
стинге 15.7.
Как видите, все довольно просто. Но если мы вдруг решили изменить тип на-
шей процедуры ассемблера с far на near или наоборот, то нужно явно изменить
и код пролога. Это не совсем удобно. TASM предоставляет выход в виде директи-
вы ARG, которая служит для работы с аргументами процедуры. Синтаксис дирек-
тивы ARG иллюстрирует рис. 15.2.
ARG
Аргумент
Аргумент:

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   195   196   197   198   199   200   201   202   ...   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