DOS modullari Reja: 1. Xotira va registrlar 2. dasturni intsializatsiyalash 3. dasturni assemblerlashtirish. 4. dasturni komponovkalashtirish. Tayanch so'zlar va iboralar: ASSUME- assembler direktivasi, initsiallashtirish, asseblerlashtirish, komponovkalashtirish, yo'nalgan dalil, dastlabki mat, RSR, Komandalar registrlari, AX. 1. XOTIRA VA RYeGISTRLAR. Komandlarda nomlarni, kvadrat qavsdagi nomlarni va sonlarni foydalanish xususiyatlarni ko'raylik, quyidagi masalalarda WORDA xotirada so'zni aniqlaydi: MOV AX, BX ; BX ning ichidagi bor narsalarni AX ni registrga yubrish. MOV AX, WORDA; WORDA ni ichidagilarni AX ga yuborish. MOV AX, [BX] ; AX ga VX registrini adredagi xotirani ;ichidagi narsalarni yuborishga. Bu yerda kvadrat qavslar bilan foydalanish yangidir. 2. dasturNI INTSIALIZATSIYALASh. Yuklash dasturlani ikkita asosiy turlari bor: EXE va COM. EXE dasturni intsializatsiyalashtirish uchun DOS da 4 ta talab bor: 1) Qaysi segment registralr segmentlarga mos bo'lishi assemblerga ko'rsatish; 2) Dastur bajarishni boshlaganda, DS registrdagi adresni stekda saqlaydi; 3) stekka nolli adresni yozish; 4) DS registrga ma'lumotlar segmentini adresini yuklash. Quyida initsializatsiyalashtirish va dasturdan chiqishga tialablar tasdiklangan. 1. ASSUME- assembler direktivasi. Assembler uchun aniq segmentlar va segment registrlari orasilagi moslikni (To'g'ri kelishini) aniqlaydi, shu holda, CODEGS- SS, DATASG- DS va STACKSG- SS . Shu misolda DATA SG va STACK SG aniqlamaganlar, lekin ular shunday ko'rsatiladi. STACKSG SEGMENT PARA STACK Stask 'Stask' DATASG SEGMENT PARA 'Data' cegmentlarni va segment registrlarini assotsiyalanib, assembler har xil segmentda alohida atroflarni siljishlarini aniqlashni kila oladi. Masalan, kodlar segmentida har bir komanda aniq uzunligiga ega: birinchi komandasi 0 siljishiga ega, agar bu 2- baytli komanda bo'lsa, ikkinchi komandasi 2 siljishiga ega va xokazo. 2. Xotirada yuklashtirish modulidan oldin 286- baytli (16-li 100) atrof bo'ladi. Bu atrof RSR dastur segmentini prefiksi deb nomlanadi. RSR boshlang'ich nuqtani adresini aniqlash uchun yuklashtirish dasturi DS registrini ishlatadi . Foydalanuvchini dasturi shu adresini saqlashi kerak . Shuning uchun u shu adresni stekga qo'yadi. Keyinroq, RET komandasi DOS ga qaytish uchun shu adres bilan foydalanadi. 3. Sistemada quyidagi stek qiymati nolli adres (aniqroi, siljish) bo'lishi kerak. Shuning uchun SUB komandasi AX registrni tozalaydi. PUSH komandasi esa bu qiymatini stekga kiritadi. 4. DOS yuklovchi SS registrda To'g'ri stek adresni va CS registrda kodlar segment adresini aniqlab qo'yadi. Maolumki yuklashtirish dasturi DS registrini boshqa maqsad uchun ishlatadi, DS registrini ikkita MOV komandalar bilan initsializatsiyalashtirish kerak. RET komandasi foydalanuvchi dasturidan chiqish va DOS ga qaytishni ta'minlaydi. Shuning uchun RET komandasi PUSH DS komanda bilan dasturni boshigacha stekka yozilagan adresni ishlatadi. Boshqa odatan foydalanayotgan chiqish- INT 20H komandasidir. Umumiy ko'rinishda sizning har bir EXE- dasturingiz shunday bo'lishi kerak ...

Joylangan
05 Jun 2024 | 16:17:56
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
19.9 KB
Ko'rishlar soni
93 marta
Ko'chirishlar soni
5 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 00:27
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 16:17 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
19.9 KB
Ko'rishlar soni
93 marta
Ko'chirishlar soni
5 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 00:27 ]
Arxiv ichida: doc