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



Download 12,06 Mb.
Pdf ko'rish
bet126/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   122   123   124   125   126   127   128   129   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Процедуры
До сих пор мы рассматривали примеры программ, предназначенные для одно-
кратного выполнения. Но, приступив к программированию достаточно серь-
езной задачи, вы наверняка столкнетесь с тем, что у вас появятся повторяющиеся
фрагменты кода. Одни из них могут состоять всего из нескольких команд, другие
занимать и достаточно много места в исходном коде. В последнем случае эти фраг-
менты существенно затруднят чтение текста программы, снизят ее
усложнят отладку и послужат неисчерпаемым источником ошибок. В языке ас-
семблера есть несколько средств, решающих проблему дублирования фрагментов
программного кода. К ним относятся:
процедуры;
макроподстановки (макроассемблер);
генерация и обработка программных прерываний.
В данной главе рассматриваются только основные понятия, относящиеся к вы-
зову процедур. Ввиду важности этого вопроса мы продолжим его изучение в гла-
ве 15 в контексте темы модульного программирования на ассемблере. Актуальная
для программирования под Windows проблема разработки библиотек DLL на ас-
семблере описана в [8]. Макроассемблеру посвящена глава 14.
Процедура, или подпрограмма, — это основная функциональная единица деком-
позиции (разделения на части) некоторой задачи. Процедура представляет собой
группу команд для
конкретной подзадачи и обладает средствами получе-
ния управления из точки вызова задачи более высокого уровня и возврата управ-
ления в эту точку. В простейшем случае программа может состоять из одной про-
цедуры. Другими словами, процедуру можно определить как правильным образом
оформленную совокупность команд, которая, будучи однократно описана, при не-
обходимости может быть вызвана в любом месте программы.
Для описания последовательности команд в виде процедуры в языке ассембле-
ра используются две директивы: PROC и ENDP.
Синтаксис описания процедуры таков (рис. 10.3).
Из рисунка видно, что в заголовке процедуры (директиве PROC) обязательным
является только задание имени процедуры. Среди большого количества операн-
дов директивы PROC следует особо выделить [расстояние]. Этот атрибут может при-
нимать значения NEAR или FAR и характеризует возможность обращения к проце-
дуре из другого сегмента кода. По умолчанию атрибут [расстояние] принимает
значение NEAR.
Процедура может размещаться в любом месте программы, но так, чтобы на нее
случайным образом не попало управление. Если процедуру просто вставить в об-
щий поток команд, то процессор воспримет команды процедуры как часть этого



Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   122   123   124   125   126   127   128   129   ...   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