112
4.ASSEMBLER TILIDA DASTURLASH ASOSLARI
4.1. Assembler tushunchasi va uning vazifalari
Yuqori sath tillari hisoblangan
C, C+
va
Java
kabi dasturlash tillarida
yozilgan bitta operatorni amalga oshirish uchun, bir nechta mashina
buyruqlarini bajarish kerak bo‘ladi. Har bir operatorga bittadan mashina
buyrug‘i to‘g‘ri keladigan til esa –
assembler tili
deb ataladi. Har bir
assembler tili yoki assemblerlar, mashina buyruqlarining nomlari
qisqartirib yozilgan –
mnemonikalarga
,
ya’ni ma’noga ega qiskartirilgan
so‘zlarga asoslanadi [1,16,18]. 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. Assembler tilida yozilgan dasturni
assemblerlash yoki translyasiya (kompilyasiya) qilish natijasida, real
apparat muhitda - Pentium 4, Motorola, UltraSPARC yoki 8051
protsessorlaridan biri o‘rnatilgan kompyuterda bajarilishga tayyor
ikkilik
sonlarda ifodalangan
dastur hosil bo‘ladi. Ushbu xolatni УМПК-80M
o‘quv mikroprotsessorli komplekti uchun yozilgan, 4.1-rasmda keltirilgan
dastur yordamida tushuntirish mumkin. Bu dastur tezkor xotira
qurilmasining
0B00
adresi bo‘yicha yozilgan sonni o‘qiydi, uning inkorini
aniqlaydi, hamda natijani
0B01
adresi bo‘yicha tezkor xotira qurilmasiga
qaytib yozib qo‘yadi.
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.
Buni
4.1-rasmdagi
dasturni
assemblerlagandan
keyingi
holatini
ko‘rsatuvchi 4.2 va 4.3- rasmlar asosida tushunib olish mumkin.
Buyruqlarning formatlari qanday ekanligini tushinib olish uchun,
dasturni 4.4-rasmdagi bitta qatorda, bitta buyruq keltirilgan ko‘rinishda
yozib olamiz. Bunda har bir buyruqning boshlang‘ich adresi ko‘rsatiladi va
buyruqning uzunligiga qarab (