Kompyuter arxitekturasi”


-§ Makroslar. Makro ta'rifi, makro chaqiruv, makro kengaytirish



Download 138,89 Kb.
bet6/15
Sana29.04.2022
Hajmi138,89 Kb.
#590599
1   2   3   4   5   6   7   8   9   ...   15
Bog'liq
Namuna

1.3-§ Makroslar. Makro ta'rifi, makro chaqiruv, makro kengaytirish
Odatda, assembler tili dasturchilari bir xil buyruqlar zanjirini qayta-qayta takrorlashlari kerak. Kerakli buyruqlarni istalgan vaqtda yozish eng oson bo'lsa-da, zerikarli bo'ladi, ayniqsa ketma-ketlik etarlicha uzun bo'lsa yoki juda tez-tez takrorlanishi kerak bo'lsa.
Albatta, biz ushbu ketma-ketlikni protseduraga kiritishimiz va kerak bo'lganda uni chaqirishimiz mumkin. Biroq, bu strategiyaning ham kamchiliklari bor, chunki bu holda siz har safar maxsus protsedura chaqiruvi buyrug'ini va qaytarish buyrug'ini bajarishingiz kerak bo'ladi. Agar buyruqlar ketma-ketligi qisqa bo'lsa (masalan, faqat ikkita buyruq), lekin tez-tez ishlatilsa, protsedura chaqiruvlari dasturning ishlashiga sezilarli ta'sir ko'rsatishi mumkin. Makroslar bu muammoning oddiy va samarali yechimidir.
Makros - bu kod qismiga nom berish usuli. Makros aniqlangandan so'ng dasturchi kod bo'lagi o'rniga makrosning nomini yozishi mumkin. Asosan, makro bu kod qismining nomi. 1.2 ro'yxati P va Q o'zgaruvchilari qiymatlarini ikki marta almashtiradigan x86 yig'ish dasturini ko'rsatadi. Asosiy operatorlar zanjiri quyidagicha ko'rinadi:
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
Listing 1.3 ushbu ketma-ketlikni SWAP makrosi sifatida belgilaydi. Makros aniqlangandan so'ng, uning nomining har bir ko'rinishi to'rt qatorli kod bilan almashtiriladi.
Ro'yxat 1.2. Makrosdan foydalanmasdan P va Q o'zgaruvchilari qiymatlarini o'zgartirish
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
Ro'yxat 1.3. Makros yordamida P va Q o'zgaruvchilar qiymatlarini o'zgartirish
SWAP MACRO
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
ENDM
SWAP
SWAP
Makroning ta'rifi turli assembler tillarida bir oz boshqacha ko'rinsa-da, barchasi bir xil asosiy qismlardan iborat:
makros sarlavhasi, u aniqlanayotgan makrosning nomini beradi;
makrosning asosiy qismini o'z ichiga olgan matn;
ta'rifni tugatuvchi direktiv (masalan, ENDM).
Assembler dasturda makrosga duch kelganda uni keyinchalik foydalanish uchun makros jadvalda saqlaydi. Makro dasturda opkod sifatida paydo bo'lganda (bizning misolimizda, SWAP), assembler uni makrosning tanasi bilan almashtiradi. Makro nomini opkod sifatida ishlatish so'l qo'ng'iroq deb ataladi va uni so'l tanasi bilan almashtirish makro kengaytirish deb ataladi.
Makro kengaytirish dasturi davomida emas, balki yig'ish paytida sodir bo'ladi. Bu nuqta juda muhim. 1.2 va 1.3 ro'yxatlarida berilgan dasturlar bir xil mashina kodini ishlab chiqaradi. Mashina tilidagi dasturga ko'ra, makrolar uning nasl-nasabida ishlatilganmi yoki yo'qligini aniqlash mumkin emas. Qabul qilingan dasturda makrolarning hech qanday belgisi qolmaydi.
Makrovyzovy tartib muammolari bilan adashtirmaslik kerak emas. Asosiy farq shundaki, makrovizov-bu so'l tanasi bilan so'l nomini almashtirish uchun assembler buyrug'i. Jarayonga qarshi kurash-bu mashina jamoasi ob'ekt dasturiga kiritilgan, keyinchalik protsedurani chaqirish uchun amalga oshirilishi kerak. 1.2-jadvalda makrovyzovy va protseduralar muammolari bilan taqqoslanadi.
1.2-jadval. Makros qo'ng'iroqlar va protsedura chaqiruvlarini solishtirish


Download 138,89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish