Kompyuter arxitekturasi
Buyruqlarni shakllantirish mavzusida bajarilgan INDIVIDUAL LOYIHA ga
T A Q R I Z
Ishning mazmuni. __________________________________________
_______________________________________________________
Ishning bo`limlariga tavsif ___________________________________ _________________________________________________________
Ishning ijobiy tomonlari _____________________________________
_______________________________________________________
Ishning salbiy tomonlari _____________________________________
_______________________________________________________
Xulosalar ________________________________________________
_______________________________________________________
Taqrizchi ________________________________________________
_______________________________________________________
(imzo, familiyasi, ismi, sharifi)
“___” ______________ 20__ yil.
MUNDARIJA
Kirish. ………………..………………………………………..……...5
Bob. Assembler darajalari ………………………………………..7
1.1-§ Assembler tili bilan tanishish ……………..................................7
1.2-§ Assemblerda operator formati …………………………………10
1.3-§ Makroslar. Makro ta'rifi, makro chaqiruv, makro kengaytirish..14
Bob. Assembrlash jarayoni …….………………………………...17
2.1-§ Ikki o'tishda yig'ish ………………………………………….17
2.2-§ Qurish va yuklash. Bog'lovchi vazifalari …………...………26
2.3-§ Qurilish vaqti va dinamik xotirani qayta taqsimlash ………..28
Xulosa…………………………………………………………………30
Foydalanilgan adabiyotlar……………………………………...........31
Kirish
Mashina kodi - to'g'ridan-to'g'ri protsessor tomonidan talqin qilinadigan ma'lum bir kompyuterning (protsessorning) buyruqlar tizimi. Ko'rsatma odatda protsessor registriga yozilgan butun sondir. Protsessor ushbu raqamni o'qiydi va ushbu ko'rsatma bilan mos keladigan amalni bajaradi. Bu "Qanday qilib dasturchi bo'lish kerak" kitobida keng tarqalgan. Past darajadagi dasturlash tili (past darajadagi dasturlash tili) - bu mashina kodlarida dasturlashga imkon qadar yaqin bo'lgan dasturlash tili. Mashina kodlaridan farqli o'laroq, past darajadagi tilda har bir buyruq raqamga emas, balki qisqartirilgan buyruq nomiga (mnemonic) mos keladi. Masalan, ADD buyrug'i ADDITION uchun qisqa. Shuning uchun, past darajadagi tildan foydalanish dasturlarni yozishni va o'qishni ancha osonlashtiradi (mashina kodlarida dasturlash bilan taqqoslaganda). Past darajadagi til protsessorga xosdir. Masalan, agar siz PIC protsessori uchun past darajadagi dastur yozgan bo'lsangiz, u AVR protsessori bilan ishlamasligiga amin bo'lishingiz mumkin. Yuqori darajadagi dasturlash tili Inson tiliga iloji boricha yaqinroq bo'lgan dasturlash tili (odatda ingliz tiliga, lekin milliy tillarda dasturlash tillari mavjud, masalan, 1C tili rus tiliga asoslangan). Yuqori darajadagi til amalda ma'lum bir protsessorga yoki operatsion tizimga bog'lanmagan (agar aniq ko'rsatmalar ishlatilmasa). Assambleya tili Siz dasturlaringizni yozadigan past darajadagi dasturlash tili. Har bir protsessorning o'ziga xos yig'ish tili mavjud. Yig'uvchi Assambleya tilida yozilgan dasturingizning manba kodini bajariladigan faylga (EXE yoki COM kengaytmasi bo'lgan fayl) o'zgartiradigan (kompilyatsiya qiladigan) maxsus dasturdir. Aniqroq aytganda, faqat montajchini emas, balki bajariladigan dasturni yaratish uchun qo'shimcha dasturlar talab qilinadi. Keyinchalik bu haqda ko'proq ... Aksariyat hollarda, ular "assembler" deyishadi, lekin "assambleya tili" degan ma'noni anglatadi. Endi bilasizki, bular turli xil narsalar va buni aytish umuman to'g'ri emas. Garchi barcha dasturchilar sizni tushunishadi. MUHIM! Paskal, BASIC va boshqalar kabi yuqori darajadagi tillardan farqli o'laroq, har bir assambleyerning o'ziga xos yig'ish tili mavjud. Ushbu qoida assambleya tilini yuqori darajadagi tillardan tubdan ajratib turadi. Yuqori darajadagi tilda yozilgan dasturning manba kodlari (yoki oddiygina "manba kodi"), siz ko'p hollarda turli xil protsessorlar va turli xil operatsion tizimlar uchun turli xil kompilyatorlar bilan kompilyatsiya qilishingiz mumkin. Assambleyer manbalari bilan bu juda qiyin bo'ladi. Albatta, bu farq bir xil protsessorga mo'ljallangan turli xil montajchilar uchun deyarli sezilmaydi. Ammo masalaning haqiqati shundan iboratki, har bir protsessor uchun o'z montajchisi va o'ziga xos montaj tili mavjud. Shu ma'noda yuqori darajadagi tillarda dasturlash ancha osonlashadi. Biroq, siz barcha zavqlarni to'lashingiz kerak. Yuqori darajadagi tillarga nisbatan biz bajariladigan fayl hajmi kattaroq bo'lishi, yomon ishlashi va h.k.
Assembler (asm, assembler ingliz tilidan assemble - yig'ish, yig'ish) - past darajadagi dasturlash tili, kompyuterda bajariladigan manba dasturni mashina tiliga avtomatik tarjima qilish uchun operatsion tizim tarkibidagi yordamchi dastur; tarjimon turi. Assembler tushunchalari elektron kompyuterning arxitekturasini aks ettiradi. Assembler - bu mashina dasturining yozilishini osonlashtiradigan mashina tilining ramziy yozuvidir. Xuddi shu kompyuter uchun turli xil assambleya tillari ishlab chiqilishi mumkin. Algoritmlarni amalga oshirish muammolari ishlab chiquvchilardan yashiringan yuqori darajadagi tillardan farqli o'laroq, yig'ilish tili kompyuterning ko'rsatmalar to'plami bilan chambarchas bog'liqdir. Assambleyer registrlarga kirishni, adreslash usullarini ko'rsatishni va protsessor ko'rsatmalari bo'yicha operatsiyalarni tavsiflashni ta'minlaydi. U yuqori darajadagi vositalarni o'z ichiga olishi mumkin: bir nechta mashina ko'rsatmalariga mos keladigan o'rnatilgan va aniqlangan makroslar, operandlar turiga qarab avtomatik buyruq tanlash, ma'lumotlar tuzilmalarini tavsiflash vositalari.
Do'stlaringiz bilan baham: |