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: