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



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

Код

Инструкция

Описание

9A cd

CALL ptr16:16

Дальний переход к подпрограмме.

E8 cw

CALL rel16

Ближний переход к подпрограмме.

FF /2

CALL r/m16

Ближний косвенный переход к подпрограмме.

FF /3

CALL m16:16

Дальний косвенный переход к подпрограмме.

Команда CALL используется для выполнения как ближних (внутрисегментных), так и дальних (межсегментных) переходов. При ближнем переходе в стеке сохраняется только смещение следующей инструкции (содержимое регистра IP), при дальнем переходе сохраняется полный адрес – сначала содержимое регистра CS, а затем регистра IP.
Команда RET выполняет действия, обратные команде CALL, т.е. обеспечивает возврат из процедуры (табл. 72). Флаги команда не изменяет. Адрес возврата должен храниться в вершине стека. Для ближнего возврата он занимает два байта, для дальнего – четыре байта. Процессор извлекает адрес возврата и заносит его в регистры CS (при дальнем возврате) и IP, при этом содержимое указателя стека SP увеличивается на 2 или 4.
Табл. 72. Команда RET.

Код

Инструкция

Описание

C3

RET

Ближний возврат из процедуры.

CB

RET

Дальний возврат из процедуры.

C2 iw

RET imm16

Ближний возврат из процедуры с очисткой стека.

CA iw

RET imm16

Дальний возврат из процедуры с очисткой стека.

Команды CALL и RET действуют согласованно: при ближнем вызове процедуры возврат из нее должен быть ближним, а при дальнем вызове возврат должен быть дальним. Мнемоники обеих команд одинаковы. Типы переходов между основной программой и процедурой определяет ассемблер.
Однако ассемблер выберет правильный вариант команды CALL, если процедура была описана раньше команды ее вызова. Если процедура будет определена позже, то ассемблер, встретив команду CALL и не зная тип процедуры (ближняя или дальняя), будет предполагать, что она ближняя (так чаще всего и случается), и сформирует машинную команду ближнего вызова.
Если процедура окажется дальней, то будет зафиксирована ошибка. Чтобы ее избежать, при обращении к дальней процедуре, которая определена после вызова команды CALL, с помощью оператора PTR необходимо явно указать тип процедуры: CALL FAR PTR P.

Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   69   70   71   72   73   74   75   76   ...   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