Основы программирования микропроцессоров


Способы размещения подпрограмм



Download 1,87 Mb.
bet72/119
Sana23.02.2022
Hajmi1,87 Mb.
#139915
TuriКонтрольные вопросы
1   ...   68   69   70   71   72   73   74   75   ...   119
Bog'liq
Системное программирование

Способы размещения подпрограмм. Размещать подпрограммы разрешено в любом месте основной программы, однако управление подпрограмме никогда не должно быть самопроизвольно передано. Несколько подпрограмм обычно группируют вместе. Подпрограммы целесообразно размещать либо в конце сегмента команд, либо в самом начале сегмента – перед командой, с которой должно начаться выполнение. Также подпрограммы нередко размещают в отдельном сегменте команд.
Способы оформления подпрограмм. В языке ассемблера подпрограммы принято оформлять следующим образом:


<имя процедуры> PROC <параметр>
<тело процедуры>
<имя процедуры> ENDP

Имя подпрограммы считается меткой, идентифицирующей первую команду. В директивах PROC и ENDP имя должно быть одним и тем же. Параметр у директивы PROC может равен NEAR или FAR. При параметре NEAR или при его отсутствии процедура будет ближней, а при параметре FAR – дальней. К ближней процедуре можно обращаться только из сегмента команд, в котором она была определена, а к дальней – из любых сегментов команд. Следует также иметь ввиду, что имена и метки, описанные в процедуре, не локализуются внутри нее, поэтому должны быть уникальными.


Способы вызова подпрограмм. Для выполнения подпрограммы достаточно выполнить команду перехода на ее первую команду. Обращаться к подпрограмме можно из разных мест основной программы. После своего выполнения подпрограмма должна передать управление на команду, следующую за командой вызова – адрес возврата. Поэтому при обращении к подпрограмме основная программа обязана сообщить ей этот адрес.
Сообщить адрес возврата подпрограмме можно по-разному:

  • Передать адрес через регистр. Основная программа сохраняет в некотором регистре адрес возврата, а процедура извлекает его оттуда и выполняет по нему переход.

  • Передать адрес через стек. До вызова процедуры основная программа сохраняет адрес возврата в стеке, а процедура извлекает его и использует для перехода. Для микропроцессора 8086 и выше принято передавать адрес возврата через стек.

Команды САLL и RET позволяют упростить реализацию переходов между основной программой и процедурами. Адрес команды, следующей за инструкцией CALL, сохраняется в стеке. После этого происходит переход на первую команду вызываемой процедуры, адрес которой задан операндом инструкции CALL (табл. 71). Флаги команда не изменяет.
Табл. 71. Команда CALL.


Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   68   69   70   71   72   73   74   75   ...   119




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