Электрон дарсликлар яратишнинг ызига хос хусусиятлари ща+ида



Download 1,23 Mb.
Pdf ko'rish
bet69/76
Sana22.02.2022
Hajmi1,23 Mb.
#94621
1   ...   65   66   67   68   69   70   71   72   ...   76
Bog'liq
tizimli dastur taminoti

3. ДАСТУР СЕГМЕНТ ПРЕФИКСИ. 
Дастур сегмент префикси (PSP) 256 (16-ли 100) байтларни олади ва хотирада хар 
доим хар бир бажарилган булик керак СОМ еки ЕХЕ дастурдан олин туради. PSP 
куйидаги майдонларни саклайди: 
00 
INT 20H команда (16-ли CD20) 
02 
хххх0 форматдаги кириш мумкин булган хотирани
умумий катталиги. 512 16-ли 8000 дек (16-ли 80000
урнига) курсатилади.
04 
Резервланган 
05 
DOS ни функциялар бошкаришни узун чакириши 
0А 
Тамомлаш кичик дастурни адреси 
0Е 
Ctrl/Break реакцияни кичик дастурни адреси 
12 
Тузатилмаган хатога реакция кичик дастурни адреси 
16 
Резервланган 
2С 
ASCIIZ сатрларни саклаш атрофини сегмент адреси 
50 
DOS функцияларни чакириш (INT 21H ва RETF) 


87 
5С 
Стандарт очилмаган файл билан бошкариш блок
(FCB №2) дек форматланган 1 параметрик атрофи. 
6С 
Стандарт очилмаган файл билан бошкариш блок
(FCB №2) дек форматланган 2 параметрик атрофи;
агар FCB №1 блок очик булса, жойи олинади. 
80-FF
Маълумотларни юбориш буфери (DTA). 
Маълумотларни юбориш буфери (DTA). 
PSP ни берилган кисми 16-ли 80 адресидан брошлайди ва одатдаги дисковод учун 
киритиш/чикариш буфер атрофидир. У биринчи байтда бевосита дастур номини 
киритгандан кейин клавиатурада клавишаларни босилган сонини саклайди. Иккинчи 
байтдан бошлаб, киритилган символлар туради (агар булса). Кейин олдинги дастурдан 
колганлар. Куйидаги мисоллар DTA буферни вазифасини курсатишади: 
Мисол 1. Операндсиз команда. CALCIT.EXE дастурни бажариш учун CALCIT 
(return) команда ердамида чикаришни тахмин килайлик. Бу дастур усун DOS PSP ни 
тузгандан кейин, у буферда 16-ли 80 адресидан 16-ли 000D кийматни урнатиб куйяди.
Биринчи байтда CALCIT номдан кейин киритилган символлар сонини булади (“кареткани 
кайтариш” символдан ташкари). Return клавишадан ташкари бошка клавишалар 
босилмаган булган учун символлар сони 0 га тенг. Иккинчи байт “кареткани кайтариш” 
символини (16-ли 0D) саклайди. Шундай килиб, 16-ли 80 ва 81 адресларда 000D туради. 
Мисол 2. Матн операндли команда. Командадан кейин матн (лекин файл номи 
эмас), масалан, COLOR дастурни чакирадиган ва бу дастурга “BY” параметрни (сарик 
фонда оч кук рангни урнатиш учун) бериш COLOR BY ни киритилганини тахмин 
килайлик. Бу холда, 16-ли 80 адресдан бошлаб DOS байтларни куйидаги кийматларни 
урнатиб куйяди: 
80: 
03 20 42 59 0D 
Бу байтлар 3 узунликни, пробел, “BY” ва кареткани кайтаришни билдиришади.
Мисол 3. Операндда файл номи билан команда. DEL турдаги команда (файлни 
учириш) дастурдан кейин параметрн сифатида файл номини киритганини тахмин 
килишади. Агар, масалан, DEL B:CALCIT.OBJ (return) киритилган булса, PSP да 16-ли 
5С ва 16-ли 80 адреслардан бошлаб куйидагисини саклайди: 
5С: 
02 43 41 4С 43 49 54 20 20 4F 42 4А 
С А L C I T O B J 
80: 
0D 20 42 3A 43 41 4C 43 49 54 2E 4F 42 4A 0D 
B : C A L C I T . O B J 
16-ли 5С адресдан бошлаб, параметрда курсатилган CALCIT.OBJ файл номини 
саклайдиган (лекин, бажариладиган дастутр номини эмас) очилмаган FCB блок туради. 
Биринчи символ дисковод номерига курсатади (бу холда 02=В). CALCIT дан кейин икта 
пробеллар ва OBJ файл тури туради. Бу пробеллар файл номини 8 символгача тулдириб 
кушишади. Агар икта параметрларни киритсак, масалан: 
progname 
A:FIKLEA,B:FILEB 
шунда DOS FILEA учун 16-ли силжитишдан FCB ни тузади ва FILEB учун 16-ли 
6С сиогитишдан FCB ни тузади.


88 
16-ли 80 адресдан бошлаб бу холда киритилган символар сони (параметр узунлиги) 
- 16, пробел (16-ли 20), А:FILEA, В:FILEB ва каретка кайтариш символни (0D) nehbiflb/
Чунки PSP бевосита сизнинг дастурингиздан олдин туради, PSP атрофга 
курсатилган файлларни ишлов бериш учун еки баъзи харакатлдарни бажариш учун, 
кириш мумкин булади. DTA буфер жойини аниклаш учун COM дастур 16-ли 80 ни SI 
регистрга куйиб, куйидаги усулда кириш йулини олиш мумкин: 
MOV SI,80H
;DTA адреси 
CMP
BYTE PTR[SI],0 
; Буферда ноль-ми? 
JE 
EXIT 
ЕХЕ дастур учун код сегменти хар доим бевосита PSP дан кейин турмайди. Лекин, 
бу ерда инициаллаштиришда DS ва ES регистрлар PSP адресини саклайдилар. Шунинг 
учун ES регистрни ичидагисини DS регистрни юклашидан кейин саклаш мумкин: 
MOV AX,DSEG 
MOV DS,AX 
MOV SAVESP,ES 
Кейинрок сакланган адресни PSP буферга кириш учун ишлатиш мумкин: 
MOV SI,SAVEPSP 
CMP
BYTE PTR [SI+80H],0 
;буферда ноль-ми? 
JE 
EXIT 

Download 1,23 Mb.

Do'stlaringiz bilan baham:
1   ...   65   66   67   68   69   70   71   72   ...   76




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