Assembler tilida dasturlash asoslari va undagi buyruqlarining tuzilishlari bilan tanishish




Download 17.33 Kb.
Sana17.05.2023
Hajmi17.33 Kb.
#60966
Bog'liq
Assembler tilida dasturlash asoslari va undagi buyruqlarining tu
valiyeva Feruza kurs ishi

Assembler tilida dasturlash asoslari va undagi buyruqlarining tuzilishlari bilan tanishish. Ishdan maqsad: Assembler tilida dasturlash asoslari va undagi buyruqlarining tuzilishlari bilan tanishish
1.KIRISH. Assembler tili haqida Assembler tilida dasturlarni yezish uchun kompyuterning barcha tarmoklarning tuzilishlarini bilish kerak. Kompyuterning asosida bit va bayt tushunchalari mavjud. Ular yordamida kompyuterning xotirasidagi komandalar va ma’lumotlar kursatiladi. Dasturlar mashinaviy kodlar kurinishida ma’lumotlarni aniklash segmentlaridan tashkil topgan. Bu segmentlar mashina buyruklari va adreslarini saklovchi steklardir. Arifmetik amallarni, ma’lumotlarni yuborish va adreslash uchun kompyuterda bir necha registrlar mavjud. Birinchi kompyuterlarni yaratilishi davridan boshlab xozirgi kungacha dasturchilarni assambler tili xaqidagi qarashlarini qiziqarli tarzda kuzatish mumkin. Qachonlardir assembler tilini yaxshi bilmasdan kompyuterni biron bir foydali ish qilishga majbur qilib bo’lmas edi. Vaqt o’tishi bilan xolat o’zgarib, kompyuter bilan muloqot qilishning zamonaviy, qulay vositalari vujudga keldi. Lekin boshqa tillardan farqli xolda, assembler tili o’lmadi. Assembler tili - bu mashina tilining simvolik ko’rinishidir. Mashinaning quyi apparat darajasidagi hamma jarayonlar mashina tili buyruqlari yordamida amalga oshiriladi. Bundan ko’rinadiki umumiy nomlanishdan qat’iy nazar, xar bir turdagi kompyuterning assembler tili mavjud. Kompyuter apparat qismiga bog’liq bo’lgan muammolarni assembler tilini bilmasdan hal etish juda qiyin. Dasturchi yoki foydalanuvchi boshqa ixtiyoriy yuqori darajali dasturlash vositalardan foydalanib turli xil vazifalarni bajarishi mumkin. Kompyuter tizimining to’la zaxirasidan foydalanish uchun adreslash rejimini va mikroprotsessor buyruqlarini bilish talab etiladi. Adreslash rejimi shunday usullarni ko’rsatadiki, uning yordamida dastur buyruqlariga va ma’lumotlarga yo’l ochiladi. Xamma yuqori darajali dasturlash tillarining kompilyatorlarida yoki translyatorlarida dasturda assembler muxitiga chiqish uchun o’zining modellari mavjud. Assembler tilida dasturlash uchun kompyuterning ishlash tamoyilini va uning arxitekturasini bilish talab etiladi. Registrlar Registrlar – bu maxsus xotira yacheykasi bo’lib, bevosita protsessorda joylashadi. Registrlar bilan ishlash operativ xotiraga nisbatan sezilarli darajada tez bo’ladi, shuning uchun registrlar assemblerda hamda yuqori darajadagi dasturlash tillari kompilyatorlarida keng foydalaniladi. Registrlarni quyidagi guruhlarga ajratish mumkin: umumiy foydalanish registrlari, buyruqlarni ko’rsatuvchi, bayroq registrlari va segment registrlari. UMUMIY FOYDALANISH REGISTRLARI Umumiy foydalanish registrlariga 8 registrdan tashkil topgan guruh kiradi. Ularni assembler tilidagi dasturlarda foydalanish mumkin. Barcha registrlar 32 bitli bo’lib, ular ikki va undan ortiq bo’laklarga bo’lishi mumkin. Registrlarning nomlanishi ularning vazifasidan kelib chiqqan: • EAX/AX/AH/AL (accumulator register) – akkumulyator; • EBX/BX/BH/BL (base register) –baza registri; • ECX/CX/CH/CL (counter register) – sanagich; • EDX/DX/DH/DL (data register) – ma’lumotlar registri; • ESI/SI (source index register) – manba indeksi; • EDI/DI (destination index register) – qabul qiluvchi indeksi; • ESP/SP (stack pointer register) – stekni ko’rsatuvchi registri; • EBP/BP (base pointer register) – baza stek kadri ko’rsatuvchi registr rasm. 1. Assemblerda buyruqlar Formati Rasm. 2. Direktivalar Formati Rasm. 3. komanda va makrokomandalar Formati * Arifmetik operatorlar. Bular quyidagi: unar “+” va “–”; binar “+” i “–”; ko’paytirish “*”; bo’lish “/”; bo’lishdan qoldiq olish “mod”. Assemblerda ma’lumotlarni zaxiralash va e’lon qilish direktivalari Initsializatsiya Uzunligi (bit) O’qilishi DB 8 Define Byte DW 16 Define Word DD 32 Define Double Word DF 48 Define Six Bytes DP 48 Define Six Bytes DQ 64 Define Quarter Word DT 80 Define Ten bytes • db — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 1 bayt. Direktiva db da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  belgili tipdagi sonlar uchun–128...+127;  belgisiz tipdagi sonlar uchun0...255; • dw — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 2 bayt. Direktiva dw da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  belgili tipdagi sonlar uchun–32 768...32 767;  belgisiz tipdagi sonlar uchun0...65 535; • dd — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 4 bayt. Direktiva dd da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  i8086 uchun:  belgili tipdagi sonlar uchun–32 768...+32 767;  belgisiz tipdagi sonlar uchun0...65 535;  i386 va yuqorilar uchun:  belgili tipdagi sonlar uchun–2 147 483 648...+2 147 483 647;  belgisiz tipdagi sonlar uchun0...4 294 967 295; • df — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 6 bayt; • dp — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 6 bayt. Direktivami df i dp da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  i8086 uchun:  belgili tipdagi sonlar uchun–32 768...+32 767;  belgisiz tipdagi sonlar uchun0...65 535;  i386 va yuqorilar uchun:  belgili tipdagi sonlar uchun–2 147 483 648...+2 147 483 647;  belgisiz tipdagi sonlar uchun0...4 294 967 295; • • dq — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 8 bayt. Direktiva dq da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  MP i8086 uchun:  belgili tipdagi sonlar uchun–32 768...+32 767;  belgisiz tipdagi sonlar uchun0...65 535;  MP i386 va yuqorilar uchun:  belgili tipdagi sonlar uchun–2 147 483 648...+2 147 483 647;  belgisiz tipdagi sonlar uchun0...4 294 967 295; • dt — quyidagi o’lchamdagi ma’lumot uchun xotirani zahiralash 10 bayt. Direktiva dt da da quyidagi qiymatlarni berish mumkin: o o’zgaruvchi yoki konstantani qabul qilish qiymatlari diapozoni:  MP i8086 uchun:  belgili tipdagi sonlar uchun–32 768...+32 767;  belgisiz tipdagi sonlar uchun0...65 535;  MP i386 va yuqorilar uchun:  belgili tipdagi sonlar uchun–2 147 483 648...+2 147 483 647;  belgisiz tipdagi sonlar uchun0...4 294 967 295; Buyruqlar Assembler tili Buyruqlari – bu mashina buyruqlarining simvolli shakli Buyruqlar quyidagi sintaksisga ega: [:] [] [;] Ma’lumotlarni ko’chirish buyruqlari: • MOV , • XCHG , MOV – Ma’lumotlarni ko’chirishning asosiy buyrug’i Foydalanish qoidalari: • Xotiraning bir qismidan boshqasiga ko’chirishda ishlatilmaydi. Bunday holda umumiy foydalanish registrlaridan foydalanish kerak. • Segment registriga xotiradan ko’chirishni amalga oshirib bo’lmaydi. Ma’lumotni ko’chirish Umumiy foydalanish Stek bilan ishlash Ma’lumotlarni o’zgartirish Ikkilik arifmetikasi O’nli arifmetikasi siljitish shartsiz Bitlarni shartli boshqarish Bayroqlar bilan ishlash Tizim registrlari bilan ishlash Арифметик Boshqaruvn i uzatish mantiqiy MP holatini boshqarish Assembler buyruqlari Цепочечные Ассемблер buyruqlari klassifikatsiyasi • Bir segment registrdagi ma’lumotni boshqa bir segment registriga o’tkazib bo’lmaydi • CS segment registrini qabul qiluvchi sifatida ishlatib bo’lmaydi XCHG , XCHG – ma’lumotlarni ikkitomonlama ko’chirish buyrug’i Foydalanish: • Operandlar bir xil tip yoki o’lchamga ega bo’lishi zarur • Xotiraning bir qismidan boshqasiga ko’chirishda ishlatilmaydi. Bunday holda umumiy foydalanish registrlaridan foydalanish kerak MASALAN: xchg eax , ebx xchg eax , dword ptr [ebx]
Download 17.33 Kb.




Download 17.33 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Assembler tilida dasturlash asoslari va undagi buyruqlarining tuzilishlari bilan tanishish

Download 17.33 Kb.