O`zb kiston R spublikasi Axborot
texnologiyalari va
kommunikatsiyalarini rivojlantirish vazirligi
Toshkent axborot texnologiyalari universiteti
Urganch filiali
“Kompyuter injiniringi” fakult ti
Matyakubov M.Ya, Matyokubov O’.K
“Tizimli dasturlash”
fanidan
(tajriba mashg`ulotlarni o`tkazish bo`yicha)
Uslubiy qo`llanma
Urganch - 2016 y
2
U
U
s
s
h
h
b
b
u
u
u
u
s
s
l
l
u
u
b
b
i
i
y
y
k
k
o
o
`
`
r
r
s
s
a
a
t
t
m
m
a
a
"
"
T
T
e
e
l
l
e
e
k
k
o
o
m
m
m
m
u
u
n
n
i
i
k
k
a
a
t
t
s
s
i
i
y
y
a
a
t
t
e
e
x
x
n
n
o
o
l
l
o
o
g
g
i
i
y
y
a
a
l
l
a
a
r
r
i
i
"
"
t
t
a
a
’
’
l
l
i
i
m
m
y
y
o
o
’
’
n
n
a
a
l
l
i
i
s
s
h
h
i
i
t
t
a
a
l
l
a
a
b
b
a
a
l
l
a
a
r
r
i
i
u
u
c
c
h
h
u
u
n
n
m
m
o
o
`
`
l
l
j
j
a
a
l
l
l
l
a
a
n
n
g
g
a
a
n
n
b
b
o
o
`
`
l
l
i
i
b
b
,
,
"
"
T
T
i
i
z
z
i
i
m
m
l
l
i
i
d
d
a
a
s
s
t
t
u
u
r
r
l
l
a
a
s
s
h
h
"
"
f
f
a
a
n
n
i
i
d
d
a
a
n
n
t
t
a
a
j
j
r
r
i
i
b
b
a
a
m
m
a
a
s
s
h
h
g
g
`
`
u
u
l
l
o
o
t
t
l
l
a
a
r
r
i
i
n
n
i
i
o
o
`
`
t
t
k
k
a
a
z
z
i
i
s
s
h
h
b
b
o
o
`
`
y
y
i
i
c
c
h
h
a
a
b
b
a
a
r
r
c
c
h
h
a
a
y
y
o
o
`
`
r
r
i
i
q
q
n
n
o
o
m
m
a
a
l
l
a
a
r
r
n
n
i
i
v
v
a
a
t
t
a
a
j
j
r
r
i
i
b
b
a
a
i
i
s
s
h
h
i
i
v
v
a
a
r
r
i
i
a
a
n
n
t
t
l
l
a
a
r
r
i
i
n
n
i
i
o
o
`
`
z
z
i
i
c
c
h
h
i
i
g
g
a
a
o
o
l
l
g
g
a
a
n
n
.
.
Uslubiy ko`rsatmadan Assembler dasturlash tilini mustaqil o`rganuvchi
talabalar va professor o`qituvchilar foydalanishi mumkin.
Tuzuvchilar: M. Matyakubov -TATU Urganch filiali «Dasturiy
injiniring» kaf drasining assistenti.
O’.Matyokubov
-TATU Urganch filiali «Telekommunikatsiya
injiniringi» kaf drasining assistenti.
Taqrizchilar: O. Xo’jayev
TATU Urganch filiali «Dasturiy injiniring»
kaf drasi mudiri.
Gandjayev T. X “O’zbektelekom” AK “Uzmobile” filiali Xorazm
bog’lamasi boshlig’i
Uslubiy ko’rsatma TATU Urganch filiali «Dasturiy injiniring»
kafedrasining umumiy majlisida ko`rib chiqilgan va ma`qullangan.
(Bayonnoma
1 « 28 » avgust 2016 yil)
Uslubiy ko’rsatma TATU Urganch filiali ilmiy-uslubiy k ngashida
muxokama qilingan va chop etishga tavsiya etilgan.
(Bayonnoma
1 «29 » avgust 2016 yil)
3
Kirish
Assembler tilida dasturlarni yozish uchun komp’yuterning barcha
tarmoqlar-
ning tuzilishlarini bilish kerak. Kompyuterning asosida bit va bayt tushunchalari
mavjud. Ular yordamida kompyuterning xotirasidagi komandalar va ma’lumotlar
ko’rsatiladi.
Dasturlar mashinaviy kodlar ko’rinishida ma’lumotlarni aniqlash
segmentlaridan tashkil topgan. Bu segmentlar mashina buyruqlari va adreslarini
saqlovchi steklardir. Arifmetik amallarni, ma’lumotlarni yuborish va adreslash
uchun kompyuterda bir necha registrlar mavjud.
Birinchi kompyuterlarni yaratilishi davridan boshlab xozirgi kungacha
dasturchilarni assambler tili haqidagi qarashlarini qizikarli tarzda kuzatish
mumkin.
Qachonlardir assembler tilini yaxshi bilmasdan kompyuterni biron bir
foydali ish kilishga majbur qilib bo’lmas edi. Vaqt o’tishi bilan xolat uzgarib,
kompyuter bilan mulokot qilishning zamonaviy, qulay vositalari vujudga keldi.
Lekin boshqa tillardan farqli xolda, assembler tili o’lmadi.
Assembler tili - bu mashina tilining simvolik ko’rinishidir. Mashinaning quyi
apparat darajasidagi hamma jarayonlar mashina tili buyruklari yordamida amalga
oshiriladi.
Bundan ko’rinadiki umumiy nomlanishdan qat’iy nazar, xar bir turdagi
kompyuterning assembler tili mavjud.
Kompyuter apparat qismiga bog’lik bo’lgan muammolarni assembler tilini
bilmasdan hal etish juda qiyin. Dasturchi yoki foydalanuvchi boshqa ixtiyoriy
yuqori darajali dasturlash vositalardan foydalanib turli xil vazifalarni bajarishi
mumkin. Kompyuter tizimining to’la zaxirasidan foydalanish uchun adreslash
rejimini va mikroprotsessor buyruqlarini bilish talab etiladi.
Adreslash rejimi shunday usullarni ko’rsatadiki, uning yordamida dastur
buyruqlariga va ma’lumotlarga yo’l ochiladi. Xamma yuqori darajali dasturlash
tillarining kompilyatorlarida yoki translyatorlarida dasturda assembler muxitiga
chiqish uchun o’zining modellari mavjud.
Assembler tilida dasturlash uchun kompyuterning ishlash tamoyilini va uning
arxitekturasini bilish talab etiladi.
Shaxsiy kompyuterlar quyidagi komponentlardan tuzilgan.
4
1.1-rasm. Shaxsiy kompyuter va uning perefirik qurilmalari.
Zamonaviy kompyuterni inson darajasiga yetishiga albatta ancha bor.
Lekin kompyuter bilan yuqori darajada muloqat qilishimizdan qat’iy nazar oxirgi
xolatda xammasi mashina buyruqlari ketma – ketligidan iborat bo’ladi.
Xar bir buyruq biror bir shartli refleksni keltirib chiquvchi o’ziga xos
xususiyatga ega. Bu buyruqlar mikropragrammalar ko’rinishida bo’ladi.
Mikroprogrammalar kompyuterning mantiqiy sxemalariga uzatiluvchi, o’z
navbatida kompyuterning turli tizimlarini boshqaruvchi signal darajasida bo’lib,
mashina buyrug’i sifatida aniq biror bir vazifalarni bajaradi. Shuning uchun
mikroprogrammali boshqarish tamoyili deb yuritiladi. Kompyuterni unumli
ishlashi uchun operatsion sistemalar, dasturlash tillari va dasturiy ta’minotlar
yaratildi. Bu dasturlarni kompyuter qayta ishlashda xar bir berilgan axborotlarni,
buyruqlarni anik bir tilda 0 va 1 larning kombinatsialaridan iborat bo’lgan holda
qayta ishlaydi va bu kombinatsiyalar mashina tilini tashkil etadi. Yukoridagilarga
asosan kompyuter faqat bir tilni taniydi xolos, ya’ni mashina tilini. Albatta
kompyuter bilan muloqot qilishda mashina tilini bilish shart emas, lekin amaliy
jixatdan professional dasturchilar ertami kechmi uni o’rganishga to’g’ri keladilar.
50 – yillarda dasturchilar programmalar tuzish uchun mashina tilining simvolik
ko’rinishni yaratishdi va uni assembler deb atadilar. Bu til, mashina tilini xamma
xususiyatlarini o’zida aniq namoyon qilgan. Shuning uchun assembler tilini yukori
darajali tillarga nisbatan farqi xar bir turdagi kompyuterning o’z assembleri bor.
Samarali programmalarni bu til orqali yozish mumkin, faqat kuchli
dasturchilar tomonidan. Assembler tili quyi darajali til hisoblanib, asosan bu
tildan kompyuterning apparat qismidan unumli foydalanishda bu tilga murojaat
etiladi.
Ayrim xollarda programmani bajarilishi vaqtini tezlashtirish va xotiradan
samarali foydalanish uchun assembler tilida programmalar tuziladi. So’ng bu
programmalarni qism programmalar ko’rinishida tasvirlab, yuqori darajali tilda
yozilgan programmalarga bog’lanadi.
Assembler tilida yozilgan programma boshqa yuqori darajali tilda yozilgan
ekvivalent programmaga nisbatan samarali, ya’ni xotirada kam joy egallaydi va
tez bajariladi.
Xulosa qilib shuni aytish mumkinki assembler tilida programmalash uchun
kompyuter arxitekturasini, mikroprotsessorning funktsional tuzilishini, registrlar
va ularni vazifalarini, kiritish chikarish portlarini bilish talab etiladi. Yuqori
Tizimli blok
Monitor
Chop etish qurilmasi
)
kkumulyator
Klaviatura
5
darajali tillarda programma tuzishda, apparat darajasidagi jarayonlarni
boshqarishda, rezident dasturlar tuzishda assembler tili yordamida qism
programmalarini yaratish va bu qism programmalarini modellar ko’rinishida
tashkil etib yuqori darajali tillarda tuzilgan programmalarda foydalanish yanada
samara beradi. Assemblerda tuzilgan dasturlar tez bajariladi va xotiradan kam joy
egallaydi.