Assembler tili operatorlari va ularni qo‘llash

|
Assembler tili operatorlari va ularni qo‘llash
|
bet | 2/3 | Sana | 14.02.2024 | Hajmi | 0,52 Mb. | | #156606 |
Bog'liq 22-ma\'ruzaAssembler tili operatorlari va ularni qo‘llash
Assembler tilidagi buyruqlar protsessor buyruqlariga birma-bir mos keladi. Aslida, ular odamlarga ko'proq mos keladigan ramziy belgi shaklini - mnemonik kodlarni - buyruqlar va ularning argumentlarini aks ettiradi. Bunday holda, bitta assembler tili buyrug’I bir nechta protsessor buyruqlarining variantlariga mos kelishi mumkin.
Protsessorlarning har bir modeli (yoki oilasi) o'ziga xos buyruqlar to'plamiga va tegishli yig'ilish tiliga ega. Amaldagi mnemonika odatda bir xil me'morchilik yoki arxitektura oilasining barcha protsessorlari uchun bir xildir (keng tanilganlar qatoriga x86, ARM, PIC, SPARC, PowerPC, M68k va boshqalar protsessorlari va boshqaruvchilari mnemonikalari kiradi).
Misol uchun:
«Hello, world!» Dasturi x86 arxitekturali protsessorlar uchun quyidagicha mashina kodida aks etadi:
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
Assembler tilini nima uchun o’rganish kerak?
Kompyuter dasturlari qanday ishlashini tushunish.
Tafsilotlarni barcha darajalarda, mashina kodiga qadar tushunish.
Ko'pgina xavfsizlik nuqsonlari faqat mashina kodlari darajasida paydo bo'ladi va ularni faqat shu darajada hal qilish mumkin.
Boshqa dasturlarni tezlashtirish
Qanday dasturlani assembler tilida yozib bo’lmaydi?
Bunday yo'q. Kompyuterda bajarilishi mumkin bo'lgan hamma narsani assemblerda ham bajarish mumkin.
Assembler - bu kompyuterda ishlaydigan barcha dasturlar tarjima qilinadigan xom mashina kodining matnli tasviri.
Agar xohlasangiz, hatto veb-saytni assemblerda yozishingiz mumkin.
Dasturchiga qanday imkoniyatlar beradi assembler?
Assambleyerni o'zlashtirganingizdan so'ng, siz yuqori darajadagi tillar qopqog'i ostida nima yuz berayotganini, kompyuter o'z ishini qanday bajarayotganini va nima uchun yuqori darajadagi kompilyator ba'zida siz kutgandek ishlamayotganini tushunasiz.
Buning sababini ko'rishingiz va uni qanday yo'q qilishni tushunishingiz mumkin bo'ladi.
Ba'zi ish beruvchilar rezyumeingizda "assembler" so'zini ko'rishni xohlashadi.
Har bir assembler tili yoki assemblerlar, mashina buyruqlarining nomlari qisqartirib yozilgan – mnemonikalarga, ya’ni ma’noga ega qiskartirilgan so‘zlarga asoslanadi.
Masalan: qo‘shish – ADD, ayrish – SUB, ko‘chirib yozish – MOV, bir qiymatga orttirish – INC va boshqa mashina buyruqlari kabi. Assembler tilida ham – konstantalarni, o‘zgaruvchilarni, xotira adreslarini ifodalovchi metkalarni tavsiflash uchun, simvollardan iborat nomlar qo‘llaniladi.
Dasturlarni yozishda barcha sonlar o‘n oltilik sanoq sistemasida ifodalanadi. Dasturdagi buyruqlar - bir, ikki yoki uch baytli bo‘lib, mos holda hotiraning bitta, ikkita yoki uchta yacheykasini egallashlari mumkin.
Buyruqlarning formatlari qanday ekanligini tushinib olish uchun, dasturni bitta qatorda, bitta buyruq keltirilgan ko‘rinishda yozib olamiz. Bunda har bir buyruqning boshlang‘ich adresi ko‘rsatiladi va buyruqning uzunligiga qarab (1, 2 yoki 3 baytli buyruq), u xotiraning ketma-ket joylashgan 1, 2 yoki 3-ta yacheykasini egallaydi.
Dasturni bitta qatorda, bitta buyruq keltirilgan ko‘rinishda yozilgan holati:
|
| |