• Assembler dasturni kompilyatsiyalash usullari
  • 17-mavzu: assembler dasturlash tili va uning imkoniyatlari. Reja




    Download 24,12 Kb.
    bet3/4
    Sana18.01.2024
    Hajmi24,12 Kb.
    #140422
    1   2   3   4
    Bog'liq
    17-mavzu assembler dasturlash tili va uning imkoniyatlari. Reja-fayllar.org

    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 24,12 Kb.
    1   2   3   4




    Download 24,12 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    17-mavzu: assembler dasturlash tili va uning imkoniyatlari. Reja

    Download 24,12 Kb.