operand - ishlov berish ob'ektlarini aniqlash, "nima qilish kerak".
Assembly tilida yozilgan mikroprotsessorli mashina ko'rsatmasi quyidagi sintaktik shaklga ega bo'lgan bitta qatordir:
Assembler tilida yozilgan dastur bir necha qismlardan iborat bo'lishi mumkin, deyiladi modullar ... Har bir modulda bir yoki bir nechta ma'lumotlar, stek va kod segmentlari aniqlangan bo'lishi mumkin. Har qanday to'liq yig'ish dasturi uning bajarilishini boshlash uchun bitta asosiy yoki asosiy modulni o'z ichiga olishi kerak. Modul tegishli direktivalar yordamida e'lon qilingan kod segmentlari, ma'lumotlar segmentlari va stek segmentlarini o'z ichiga olishi mumkin. Segmentlarni e'lon qilishdan oldin siz .MODEL direktivasi yordamida xotira modelini belgilashingiz kerak.
Assembly tilidagi "hech narsa qilmaslik" dasturiga misol:
686P
.MODEL FLAT, STDCALL
.DATA
.KOD
START:
RET
END START
Bu dastur mikroprotsessorning faqat bitta buyrug'ini o'z ichiga oladi. Bu buyruq RET. Bu dasturni to'g'ri tugatishni ta'minlaydi. Umuman olganda, bu buyruq protseduradan chiqish uchun ishlatiladi.
Dasturning qolgan qismi tarjimonning ishi bilan bog'liq.
.686P - Pentium 6 (Pentium II) himoyalangan rejim buyruqlariga ruxsat berilgan. Ushbu ko'rsatma protsessor modelini ko'rsatish orqali qo'llab-quvvatlanadigan assembler yo'riqnomasini tanlaydi. Direktivning oxiridagi P harfi tarjimonga protsessor himoyalangan rejimda ishlayotganligi haqida xabar beradi.
.MODEL FLAT, stdcall yassi xotira modelidir. Ushbu xotira modeli Windows operatsion tizimida qo'llaniladi. stdcall
.DATA - ma'lumotlarni o'z ichiga olgan dastur segmenti.
.CODE - kodni o'z ichiga olgan dastur bloki.
START - bu yorliq. Assembler tilida teglar katta rol o'ynaydi, bu zamonaviy yuqori darajadagi tillarda emas.
END START - dasturning oxiri va tarjimonga dasturni START belgisidan boshlash kerakligi haqida xabar.
Har bir modul yakunni belgilash uchun END direktivasiga ega bo'lishi kerak manba kodi dasturlari. END direktivasiga mos keladigan barcha qatorlar e'tiborga olinmaydi. Agar siz END direktivasini o'tkazib yuborsangiz, xatolik yuzaga keladi.
END direktivasidan keyin belgilangan yorliq tarjimonga dastur boshlanadigan asosiy modul nomini bildiradi. Agar dasturda bitta modul mavjud bo'lsa, END direktivasidan keyingi yorliq o'tkazib yuborilishi mumkin.
Do'stlaringiz bilan baham: |