Kompyuter dasturchilari o'z hunarlarini o'rganayotgan paytda montaj dasturlash ko'pincha hal qiluvchi boshlang'ich nuqtadir. Assambleya tili (ASM deb ham ataladi)-bu kompyuterlar va boshqa qurilmalar uchun dasturlash tili bo'lib, qo'shimcha funktsiyalarni taklif etuvchi rivojlangan tillar bilan taqqoslaganda, odatda past darajali variant hisoblanadi. Kodni yozganingizdan so'ng, montajchi uni mashina kodiga o'zgartiradi (1s va 0s). Protsessorlarning murakkabligi oshib borayotganligi sababli montaj dasturlari uchun ilovalar cheklangan bo'lsa-da, Assambleya bir qator maqsadlarda, shu jumladan, mustaqil bajariladigan fayllar yoki qurilma drayverlari uchun kod yozishda foydali bo'lib qolmoqda.
Qadamlar
3dan 1 qism: Assambleya tili bilan tanishish
Qadam 1. Assambleyaning tili haqida o'qing
Kod yozishga urinishdan oldin, avval tilni o'zi tushunish yaxshidir. Darsliklardan tortib onlayn qo'llanmalargacha bo'lgan bir qancha mavjud manbalar mavjud.
2 -qadam. Asosiy atamalarni bilib oling
Masalan, IDE (integratsiyalashgan ishlab chiqish muhiti) matnni tahrirlash, disk raskadrovka qilish va kompilyatsiya qilish kabi ishlarni bajaradigan kodlash interfeysini taqdim etishini bilishni xohlaysiz. Siz, shuningdek, "registrlar" dastur kodi bilan bog'liq raqamlarni saqlaydigan faktlar kabi, yig'ilishning aslida qanday ishlashini yaxshiroq tushunishni xohlashingiz mumkin. Terminologiyani yaxshiroq tushunish kod yozish jarayonini o'rganishni osonlashtiradi.
Qadam 3. Assambleyalar sizga mos keladimi -yo'qligini hal qiling
Esda tutingki, bir nechta dasturlash tillari mavjud, shu jumladan montajdan ko'ra ko'proq funktsiyalarni ta'minlaydigan. Shunday bo'lsa-da, telefon dasturlari va konditsionerlarni boshqarish tizimlari uchun mustaqil bajariladigan fayllarni yaratishdan tortib, protsessor uchun maxsus ko'rsatmalarni ishlab chiqarishgacha yig'ish foydali bo'lgan bir qator ilovalar mavjud.
Qadam 4. Qaysi montajchidan foydalanmoqchi ekanligingizni aniqlang
A86, NASM yoki GNU kabi montajchilar odatda kamroq murakkab funktsiyalarni bajaradilar va yangi boshlanuvchilar uchun mos boshlang'ich nuqtalar bo'lishi mumkin. Har bir montajchi biroz boshqacha ishlaydi, shuning uchun keyingi ko'rsatma siz Windows operatsion tizimlari bilan ishlaydigan asosiy assambleya MASM (Microsoft Macro Assembler) dan foydalangan holda ishlaydi. U x86 yig'ish tili va Intel sintaksisidan foydalanadi.
3 -qismning 2 -qismi: Assembler va IDE -ni yuklab olish va o'rnatish
Qadam 1. Assambleyani o'zi yuklab oling
Siz Visual Studio Enterprise 2015 -da mavjud bo'lgan MASM -ning so'nggi versiyasini (bir qator vositalarni o'z ichiga olgan keng qamrovli IDE), lekin asl nusxasini (MASM 8.0) topishingiz mumkin. MASM 8.0 bepul yuklab olish mumkin. E'tibor bering, Flat Assembler kabi ba'zi montajchilar Windows, DOS va Linux kabi bir nechta operatsion tizimlarda ishlatilishi mumkin. Boshqa montajchilar, jumladan Netwide Assembler (NASM) yoki GNU Assembler (GAS) Mac operatsion tizimlari bilan ishlaydi.
- MASM 8.0 -ni yuklab olish uchun ushbu bosqichda ko'rsatilgan sahifaning yuqori qismidagi Yuklab olish tugmasini bosish kifoya.
- Tizim talablari siz tanlagan montajchiga qarab o'zgaradi, lekin MASM 8.0 uchun Windows 2000 Service Pack 3, Windows Server 2003 yoki Windows XP Service Pack 2 talab qilinadi.
- MASM 8.0 -ni o'rnatish uchun siz ilgari Visual C ++ 2005 Express Edition -ni yuklab olishingiz va o'rnatishingiz kerak bo'ladi.
Qadam 2. IDE -ni yuklab oling
Odatda "MASM" bilan yaxshi ishlaydigan WinAsm IDE -ni topish va o'rnatish uchun "WinAsm -ni yuklab olish" qidiruvini bajaring. Qaysi dasturlash tilidan foydalanayotganingizga qarab, boshqa IDElar mosroq bo'lishi mumkin. Eng mashhur variantlardan biri bu RadAsm.
3 -qadam. MASM 8.0 ni o'rnating
Dastur yuklab olingandan so'ng, "Ishga tushirish" tugmasini bosish orqali o'rnatishni boshlashingiz mumkin. Shu bilan bir qatorda, uni keyinroq o'rnatishni xohlashingiz mumkin, bu holda Saqlash -ni bosing. "Ishga tushirish" tugmachasini bosgandan so'ng, MASM 8.0 "[Visual C ++ Express] bin" katalogiga o'rnatiladi va ml.exe deb etiketlanadi.
Qadam 4. IDE -ni o'rnating
WinAsm yuklab olingandan so'ng, siz shunchaki fayllarni chiqarib, ularni "c: / program files \" jildiga ko'chirasiz. Siz ham osonroq kirish uchun ish stoliga yorliq qo'yishingiz mumkin.
Qadam 5. IDE -ni sozlang
Birinchidan, WinAsm dasturini ishga tushiring. Agar siz ish stoliga yorliq qo'ygan bo'lsangiz, uni ikki marta bosing. E'tibor bering, agar siz boshqa assembler yoki IDE dan foydalanayotgan bo'lsangiz, bu jarayon boshqacha bo'ladi.
Qadam 6. WinAsmni MASM 8.0 bilan birlashtirish
Ishni WinAsm asboblari yorlig'ini bosishdan boshlang, ushbu oynada "Variantlar" ni tanlang va nihoyat "Fayllar va yo'llar" yorlig'ini tanlang. Keyin MASM o'rnatish papkasidagi birinchi uchta yozuvni (yo'llarga havola) o'zgartiring. Ish tugagach, OK ni bosing.
"Fayllar va yo'llar" yorlig'i ostidagi ma'lumotlarni sozlashda, dastlabki uchta yozuv quyidagicha o'qilishi kerak. Ikkilik yo'l C: / Masm32 / Bin bo'lishi kerak; Include Path C: / Masm32 / Include bo'lishi kerak; va kutubxona yo'li C: / Masm32 / Bin bo'lishi kerak
3dan 3 qism: Kod yozish
Qadam 1. Kod yozishni boshlang
WinAsm -ni ishga tushirish va Fayl yorlig'ini bosishdan boshlang. Keyin "Yangi loyihalar" ni tanlang va siz bir nechta variantni ko'rasiz. Bu variantlarga Console Application va Standard EXE kiradi. Agar siz GUI (grafik foydalanuvchi interfeysi) ga asoslangan dastur yaratmoqchi bo'lsangiz, masalan, ikkinchisini tanlaysiz.
Qadam 2. O'rnatish dasturi tuzilmasidan foydalaning
Odatiy tuzilishga arxitekturani belgilaydigan chiziq, ma'lumotlar bo'limi (bo'lim ma'lumotlari), shu jumladan boshlangan ma'lumotlar yoki doimiylar, o'zgarmaydiganlarni e'lon qiladigan bss bo'limi (section.bss) va o'zingiz joylashtirgan matn bo'limi (section.text) kirishi mumkin. dastur kodi. Bu oxirgi bo'lim har doim global_start deklaratsiyasi bilan boshlanadi. Har bir ketma -ketlik kod bloki sifatida tanilgan.
3 -qadam. Asosiy buyruqlarni tushunish
O'rnatish tilida uchta turdagi bayonotlar mavjud: bajariladigan ko'rsatmalar yoki ko'rsatmalar (bu protsessorlarga operatsion kod orqali nima qilish kerakligini aytadi), montajchi ko'rsatmalari yoki psevdooplar (montajchilarga yig'ish jarayonlarini tavsiflaydi) va makroslar (ular matn sifatida xizmat qiladi) almashtirish mexanizmi).
Maslahatlar
- Samarali kodni yig'ish tilida (yoki boshqa tilda) yozish, odatda, birmuncha o'rganishni talab qiladi. Ayniqsa, yig'ilish tili bayonotlari uchun kerakli sintaksisni va montaj dasturini qanday tuzish va bog'lashni o'rganishni xohlaysiz.
- Agar siz ma'lum bir montajchini o'rnatishda qiyinchiliklarga duch kelsangiz, muayyan savollarga javob beradigan forumga qo'shilganingiz ma'qul.
- Ba'zi dasturlash tillarida C va C ++ da ASM ("") funktsiyasi kabi yig'ilishni aralashtirish imkoniyatlari mavjud. Bu boshlash uchun yaxshi usul.
- Agar siz yangi MASM versiyalari bilan ishlaydigan IDE bilan qiziqsangiz, Visual MASM -ni www.visualmasm.com/ saytida tekshiring.