OS ning uzulishlarini qayta ishlash moduli 16v
M:OS ning uzulishlarini qayta ishlash moduli . Opertsion sistemaning yuqori bosqich (32-63 10 ) uzulishlarini qo’llash. Programmalash tizimining translyatori maxsus protsedura (funksiya) yordamida OSning uzulishlari murojaat qilish imkoniyatini beradi. Bu proseduralar parametrlari uzulish nomerini ko`rsatadi va mikroprosessor asosiy registrlarini qiymatini aniqlaydi. Masalan, TPasda MSDOS modulining Intr prosedurasini qaraymiz. Uning umumiy ko`rinishi procedure Intr( InrNo:Byte; var Regs: Registers); Bu yerda IntNo-uzulish nimeri; Regs-Registers tipli o`zgaruvchi va uning umumiy ko`rinishi variantli yozuv shaklida tasvirlanadi. Type Registers=recora Case integer of 0: (Ax,Bx,Cx,Dx,BP,SI,DI,DS,ES,Flags:word); 1: (AL,AH,BL,BH,CL,CH,DL,DH:Byte) End; Bu prosedurani ishlashini oddiy misol yordamida ko`ramiz. Faraz qilaylik, Manitor ekranidagi ma`lumotni printerga chop etish kerak bo`lsin. Bu ishni Shift+PrtScr klavishalarni birgalikda bosish yordamida bajarish mumkin yoki uzulishlardan foydalanib ham ijro etish yo`llari mavjid. Programmaning umumiy ko`rinishi quyidagicha bo`ladi. Uses dos; Procedure PrintScreen; Var r:registers;
Begin intr($05,r) end. {Tizim uzulishi nomeri 16 lik sanoq sistemasi} Begin Write(`ekranni chop etish uchun ENTERni bosing’); Readln; PrintScreen End. Programma 5-uzulishni (ekranni grafik nusxasini chop etish) ishlatadi va ekrandagi ma`limotni printerdan chiqaradi. Uzulishlardan drayverlarni ishlab chiqishda , assembler-programma tuzushda yoki operatsion tizimning funksiyalarini o`zgartirishda ko`p foydalanadilar. 3. Ikkinchi usulni qo`llab quyibosqich, ya`ni BIOS murojaat qiladigan uzulishlarni ham ishlatish mumkin. Ammo apparaturaga murojaat qilish SHEHM turi bilan bog`liq, shuning uchun programmalar umumiy emas xususiy, SHEHMning konkret turi bilan bog`liq bo`lib qolishi mumkin. Shunday qilib, birinchi usul konkret programmalash tili bilan, ikkinchi usul esa SHEHM arxitekturasi bilan bog`liq bo`lgan holda uzulishlarni ishlatishga imkon beradi. Endi uzulishlarni assembler-programma tuzish paytida qo`llanishi va xususiyatlarini ko`rib chiqamiz. Accembler-programma tuzish jarayonida operatsion sitema va uning qismsistemasi BIOS yordamchi funksiyalari ishlatish maxsus qoidalar bo`yicha tashkil qilinadi. Shu uzulishlardan biri 21 16 nomerli uzulish bo`lib birnechta funksiyalarini qo`llashimiz mumkin. Funksiya nomeri AH registrida joylashtiriladi. Masalan, mov AH,1 komandalari programma uchun kiritilishi Int 21h kerak bo`lgan simvolni klaviaturadan kiritishni kutib turadi. Bu yerda 1 funksiya nomeri va u 21 16 nomerli uzulish tarkibiga kiradi. Shundan foydalanib programmani dialog (so`rov-javob) shaklida tashkil qilish mumkin. Ma`limotni kiritish uchun “yes” nishoniga yoki kiritmaslik uchun “no” nishoniga o`tish kerak bo`lsa u holda quyidagi fragmentni yozish mumkin.
Wodsim: mov AH,1 ; simvolni o`qish (kiritish) Int 21h ; simvol AL da kiritiladi. Cmp AL,’4’ ; simvol=’yes’ Je YES ; agar ‘yes’ u holda yes nishoniga o`ting. Cmp AL,‘N’ ; agar ‘NO’ bo`lsa No nishoniga o`ting. Je NO Jne wodsim ; ‘y’ yoki ‘N’ bo`lmasa simvolni kiritishni kutish. YES: : NO: : Yuqori darajali dasturlash tillar Dastlab 1950-yillarda yuqori darajadagi dasturlash tillarining yangi avlodi paydo bo'ldi. Yuqori darajadagi til bizga qudratli va murakkab dasturlarni yaratishga imkon beradi. Bundan tashqari, aksariyat yuqori darajadagi dasturlash tillarida oson tushuniladigan so'zlardan foydalaniladi. 1950- yillarda yaratilgan eng yuqori darajadagi tillardan biri COBOL dasturlash tili hisoblanadi. Ushbu dasturlash tilida monitorda "Salom dunyo!" xabarini aks ettirish uchun dasturchi quyidagi ko'rsatmalarni yozish kerak bo'lgan. Masalan DISPLAY "Salom dunyo!" Hozirgi kunda bunday dasturlash tillariga ko'plab misollar keltirishimiz mumkin. Ada, BASlC, FORTRAN, COBOL, Pascal, С , С ++, С #, Java, Python, Visual Basic v boshqa tillar shular jumlasidandir. Endi, Ushbu dasturlash tillariga qisqacha izoh berib o'tamiz: ADA. 1970-yillarda asosan Amerika Qo'shma Shtatlarining mudofa vazirligi tomonidan qo'llaniladigan dasturlar uchun yaratilgan dasturlash tili hisoblanadi. Til nufuzli tarixiy shaxs grafinya Ada Lavlasning nomi berilgan. BASIC. 1960 yillarning boshlarida yangi boshlovchilar o'rganishi uchun juda oson dasturlash tili hisoblanib, universal ramziy kodlash tizimi (Beginners Allpurpose Symbolic Instruction Code) hisoblanadi.
FORTRAN. Matematik hisob-kitoblar uchun 1950-yillarda ishlab chiqilgan Formulali tarjimon (FORmula TRANslator) birinchi yuqori darajadagi dasturlash tili hisoblangan . C++ dasturlash tilining kelib chiqishi tarixi C++ tilini 80 yillarda AT&T Bell Labs korxonasi ishchisi Byarnom Straustrup tuzgan. Avtorning aytishicha, bu tilni tuzishda u hech qanday qog'ozlarni qoralamagan va hamma ishni yo'l yo'lakay, ketma-ketlikda tuzib chiqqan. Uning asosiy maqsadi, o'zi va do'stlari uchun qulay dasturlash tili yaratishdan iborat edi. C++ dasturlash tilining asosi C hisoblanadi va shu tilni(C) misolida C++ tilini tuzib chiqdi. C dasturlash tilini mukammalashtirgan eng asosiy narsa bu – ob'yektga mo'ljallangan dasturlashni olib kirgani hisoblanadi. Chunki dasturlashda, tez, qulay , tartibli va ixcham yozish uchun ob'yektga mo'ljallangan dasturlash tillaridan foydalanish lozim bo'ladi. Dastlabki C++ dasturlash tilidan foydalanganlar, bu albatta Bell Labs korxonasi hodimlari hisoblanadi. 1993 yilda bu til ommaga taqdim etildi va C++ nomini oldi. Dastlabki C++ ga oid kitob " The C++ Programming Language (Addison-Wesley, 1985)" nomi bilan mashhur bo'ldi va bu kitob 1991 yil " Язык программирование C++ " tarjimasi bilan rus tiliga tarjima qilindi va bu til( С ++) rivojlanishi boshlanib ketdi. ANSI-ISO (ANSI X3J16; ISO WG21/N0836) birlashmasi 1989 yilda, birlashga holda ish boshladi. Bu korxonaning dastlabki ishi C++ dasturlash tiliga va uning kutubxonasiga standart ishlab chiqishdan boshlandi. Buning uchun 1990 yildagi C++ tili asos qilib olindi. 1990 yilda C++ standarti ishlab chiqildi va bu standart hozir ANSI C nomi bilan mashxur. Bu til juda kengayib ketdi va hozirgi kunda bu tilning hamma detallarini biladigan dasturchi bo'lmasa kerak. C++ funksiya va ob'yektlarning boy kutubxonasiga ega. Bundan kelib chiqadiki C++ dasturlash tilini o'rganish 2 qismga bo'linadi: dastlab, C++ tili sintaksisi o'rganiladi vv shundan so'ng uning asosiy kutubxonalari birma-bir ko'rib chiqib, yodlash lozim bo'ladi. Bundan ko'rinib turibdiki, bu til juda katta hajmni o'z qamroviga oladi.
C++ tilining egasi yo'q u hech kimga tegishli emas. Bu til С tilidan kelib chiqgani uchun bosh harf С , ++ esa bu tildagi qiymatni bittaga ko'tarish belgisi hisoblanadi va bu belgi C++ dasturlash tilida paydo bo'ldi. C++ dasturlash tili kompilyatsiya qilinadigan til hisoblanadi bu degani yozilgan kod oldin mashina tiliga o'giriladi va keyin ishga tushiriladi. C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan bq`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun keng qo'llaniladi. C ++ dasturlash tili 1980-yillarning boshlarida Bell Laboratories firmasi xodimi Byorn Stroustrup tomonidan yaratilgan. Byorn Stroustrup o'zining ehtiyojlari uchun C dasturlash tiliga bir qator yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash imkoniyatini qo'shdi va shu bilan C sintaksisi asosida yangi dasturlash tili uchun zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili "C ++ dasturlash tili" deb o'zgartirildi. C+ + Cga ob'ektga yo'naltirilganlik xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini mavjud:, meros (nasledovaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan funktsiyadir. Usullar sinf tanasida e'lon qilinadi. C++ tilidagi programma tuzilishi va uning kompilyatsiyasi:[2(11-13), 3(7-9)] C++ tilida programma yaratish bir nechta bosqichlardan iborat bo‘ladi. Dastlab, matn tahririda (odatda programmalash muhitining tahririda) programma matni teriladi, bu faylning kengaytmasi «.cpp» bo‘ladi. Keyingi bosqichda programma matni yozilgan fayl kompilyatorga uzatiladi, agarda programmada xatoliklar bo‘lmasa, kompilyator «.obj» kengaytmali obyekt modul faylini hosil qiladi. Oxirgi qadamda komponovka (yig‘uvchi) yordamida «.exe» kengaytmali bajariluvchi fayl programma hosil bo‘ladi. Bosqichlarda yuzaga keluvchi fayllarning nomlari boshlang‘ich matn faylining nomi bilan bir xil bo‘ladi. Kompilyatsiya jarayonining o‘zi ham ikkita bosqichdan tashkil topadi. Boshida preprotsessor ishlaydi, u matndagi kompilyatsiya direktivalarini bajaradi, xususan #include direktivasi bo‘yicha ko‘rsatilgan kutubxonalardan C++ tilida yozilgan modullarni programma tarkibiga kiritadi. Shundan so‘ng kengaytirilgan programma