• Assembler dasturni kompilyatsiyalash usullari
  • O‘zbekiston Respublikasi Raqamli texnalogiyalar vazirligi Muhammad al-Xorazmiy nomidagi Toshkent axborot texnalogiyalari universiteti




    Download 1,06 Mb.
    bet3/4
    Sana16.05.2024
    Hajmi1,06 Mb.
    #237088
    1   2   3   4
    Bog'liq
    kom tash mustaqil ish

    Assemblerda makroslar yaratish

    Makroslar. Dasturlarda ba’zi buyruqlar ketma-ketligi, bir-necha marta qaytarilish hollari ko‘p uchraydi. Assembler tilida bunday ketma- ketliklarni biron-bir nom bilan belgilab, ularni keyingi qaytarilish joylarida, o‘sha nom bilan yana ishlatish mumkin bo‘ladi. Ana shunday nomlangan buyruqlar ketma-ketligi - makros deb ataladi. Quyida Pentium 4 protsessori uchun yozilgan assembler dasturi keltirilgan. Unda P va Q o‘zgarnvchilar qiymatlari joylarini o‘zaro, ikki marotaba almashtirish talab etiladi. Bunda buyruqlaming asosiy ketma-ketligi quyidagicha bo'ladi:


    MOV EAX.P


    MOV EBX.Q
    MOV Q.EAX
    MOV P.EBX
    P va Q o‘zgaruvchilar qiymatlari joylarini o‘zaro, makrossiz ikki marotaba almashtirish quyidagicha amalga oshiriladi:
    MOV EAX.P
    MOV EBX.Q
    MOV Q.EAX
    MOV P.EBX
    MOV EAX.P
    MOV EBX.Q
    MOV Q,EAX
    MO.V P. EBX
    Ushbu ketma-ketlikni SWAP nomli makros deb belgilasak, P va Q o‘zgaruvchilar qiymatlari joylarini o‘zaro, ikki marotaba almashtirish dasturini quyidagicha yozish mumkin:
    SWAP MACRO
    MOV EAX.P
    MOV EBX.Q
    MOV Q.EAX
    MOV P.EBX
    ENDM
    SWAP
    SWAP
    Makroslar - makrosning nomi, makros tarkibiga kirgan buyruqlar va makrosning tugash joyini bildiruvchi ENDM, direktivasidan iborat.


    Assembler dasturni kompilyatsiyalash usullari
    Assemblerda tuziladigan dasturlar mikroprotsessor imkoniyati va resurslarini to‘liq hisobga olgan holda amalga oshiriladi, masalan, 16-bit, 32-bit va hk. Dasturlarning tabiatiga bog‘liq ravishda ularni assemblerlash va bog‘lanish muharrirlari yordamida exe-faylga yig‘ish uchun turli kompilyatorlar ishlab chiqilgan. Masalan:
    MASM (Macro Assembler) - Microsoft firmasining paketi. DOS bilan bir vaqtda Windows 9x/NT uchun assembler dasturlarini kompilyatsilashda ishlatiladi. Yangi versiyasi paketi MASM32 deb nomlanadi;
    TASM (Turbo Assembler) - Borland firmasining mahsuloti. DOS dasturlarini kompilyatsiya qilishda qo‘llaniladi. Yangi versiyasi TASM5 yoki TASM5+ (TASM5Plus) deb ataladi;
    WASM (Watcom Assembler) - Watcom firmasi tomonidan ishlab chiqilgan. DOS va Windows uchun tuzilgan dasturlarni kompilyatsiyalashda juda sodda interfeysga ega; Lazy Assembler - TASM ning rivojlantirilgan versiyasi, yangi buyruq protsessorini o‘zida mujassamlashtirgan;
    FASM (Flat Assembler) - MSDOS, Windows, Linux kabi operatsion tizimlarda ishlay oladigan, 16-, 32- hatto 64-razryadli protsessorlar uchun ham qulay ish muhitiga ega bo‘lgan kompilyator.
    NASM (Netwide Assembler) - bu ham LINUX/BSD asosida ishlaydi;
    YASM (Yet another assembler) – bu kompilyator ham NASM ning takomillashtirilgan versiyasi sanaladi.
    Yuqoridagi paketlar ichida eng ko‘p tarqalgani va foydalanishda qulay interfeysni taqdim etuvchi kompilyatorlardan asosiylari TASM, WASM hamda MASM lar sanaladi. Hamma kompilyatorlarning ham deyarli o‘ziga xos kamchiliklari mavjud. Shunday bo‘lsa-da, biz ushbu laboratoriya ishida TASM va MASM32 paketlari bilan ish yiritishni o‘rganamiz. Chunki, ular dasturga ilova qilinadigan kutubxona fayllarining boyligi, ishlashda ravon va tezlik samaradorligining yuqoriligi, turli modullardan foydalanish imkonoyatining mavjudligi bilan boshqalaridan ajralib turadi.
    Demak, quyida berilgan dastur matnini biror matn muharriri orqali kompyuterga kiritib, unga add16.asm deb nom beramiz va TASM katalogida saqlaymiz.
    Dastur matni quyidagicha:

    Download 1,06 Mb.
    1   2   3   4




    Download 1,06 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O‘zbekiston Respublikasi Raqamli texnalogiyalar vazirligi Muhammad al-Xorazmiy nomidagi Toshkent axborot texnalogiyalari universiteti

    Download 1,06 Mb.