5-Amaliy ish Mavzu: Assembler tilida asosiy operatorlar bilan tanishish: Ishdan maqsad




Download 256,89 Kb.
Pdf ko'rish
bet3/4
Sana20.05.2024
Hajmi256,89 Kb.
#244817
1   2   3   4
Bog'liq
5-Amaliy ish Mavzu Assembler tilida asosiy operatorlar bilan ta

tahlil qiladi
manba kodini dasturning ma'nosini o'z 
ichiga olgan tuzilishga aylantiradi. Bu struktura odatda tekshirilgan va dekodlangan 
mavhum sintaksis daraxtidir. Bundan tashqari, dekodlash barcha identifikatorlar 
tayinlanganligini bildirishini unutmang. 
Ushbu strukturadan biz mos keladigan kodni ham olishimiz mumkin 
hosil qilish
boshqa 
tilda, maqsadli tilda. Kod ishlab chiqaruvchisi shunday qiladi. 
Ba'zi kompilyatorlar ikki marta ishlab chiqaradilar: avval SIL, LLVM IR, HIR, MIR, 
CIL va boshqalar kabi "oraliq tilda" kod ishlab chiqaradilar. Keyin ular virtual mashina 
kodi, assembler tili yoki mashina tili kabi to'g'ridan-to'g'ri bajarishimiz mumkin bo'lgan 
maqsadli tilda "haqiqiy" kod ishlab chiqarishni amalga oshiradilar. 
Kod yaratish maqsadlari 
Bular yaxshi kod ishlab chiqaruvchining uchta maqsadi: 

U to'g'ri kodni ishlab chiqishi kerak. 

Jeneratör samarali kod yaratishi kerak. 

U samarali kod ishlab chiqishi kerak. 
O'rganish uchun boshqa narsalar 
Dasturni tayyorlash va ko'chirish sohasidagi yangi g'oya - a tushunchasi 
virtual mashina
 . 
Masalan, Java dasturlash tili yordamida til ko'rsatmalari bayt kod deb nomlanuvchi 
mashina tilining umumiy shakliga tuzilgan bo'lib, uni virtual mashina bajarishi mumkin, 
bu kompyuterning aksariyat operatsiyalariga yaqin keladigan nazariy mashina turi. Keyin 
bayt kodi Java virtual mashinasiga oldindan yuklangan yoki o'rnatilgan har qanday 
hisoblash platformasiga yuborilishi mumkin. Virtual mashina platformaning o'ziga xos 
ko'rsatmalari va boshqa xususiyatlarini biladi va Java bayt kodini ishga tushirishga 
imkon beradi. 
Ba'zi tillar mavjud, agar ular haqida biron bir narsani bilsak, biz ko'p narsani qila olamiz. 
Python va Ruby shunga o'xshashdir, biz ular haqida biron bir foydali narsani qurish 
uchun hafta oxiri etarlicha ma'lumot olishimiz mumkin. Assambleya tili bunday emas. 
Biz hech qachon assembler tilini o'z-o'zidan emas, balki har doim ma'lum bir platformada 
ishlatamiz. Assambleyerni bilishi kerak bo'lgan muhandis turi, ehtimol siz samarali 
bo'lish uchun boshqa ko'nikmalarni ham bilishingiz kerak bo'lgan joyda ishlaydi. Bunga 
quyidagilar kiradi: 

VHDL va Verilog kabi apparat tillari, shuningdek mikroprotsessorlar va 
elektrotexnika haqida tushuncha. 

C va uning hosilalari kabi past darajadagi operatsion tizim tillari: C ++, C # va D 

Fortran va kabi qadimiy tillar 
Kobol


Java va Objective-C kabi platforma tillari. 

Algoritmlar. 
Programmalash tillari sun’iy tillar hisoblanadi, ularda sintaksis va semantik qoidalar 
qat’iy aniqlangan bo‘ladi. SHu sababli Programmalash tillari tabiiy tillardan farqli 
ravishda jumlalarni ko‘pmazmunli va erkin talqin etishga yo‘l qo‘ymaydi. Buning asosiy 
sababi tildagi xar bir ko‘rsatma mashina tilidagi aniq bir buyruqqa o‘tadi.


Sintaksis-bu qoidalar to‘plami bo‘lib, Programmalash tilida ruxsat etilgan belgilarning 
ketma-ketligi va asosiy ichki tuzilishni aniqlaydi.
Semantika-til birliklariga (so‘z, so‘z birikmalari, jumlalariga) beriladigan qiymatlardir.
EHMlar endi yuzaga kelgan paytda programma tuzishda, faqat mashina tillarida, ya’ni 
sonlar yordamida EHM bajarishi kerak bo‘lgan amallarning kodlarida kiritilgan. Bu 
holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq 
sistemalari bo‘lgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan.
YUqori bosqichli programmalashda, mashina tillariga qaraganda mashinaga moslashgan 
(yo‘naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar kodlashtirilgan tillarning 
asosiy tamoyillari shundaki, unda mashina kodlari ularga mos belgilar bilan belgilanadi, 
hamda xotirani avtomatik taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday 
mashina moslashgan til -
ASSEMBLER tili nomini oldi.
EHM faqat mashina tilini-buyruqlar, operand va sonlarning ikkilik sanok, sistemasidagi 
ko‘rinishini «tushinadi». SHu sababli, Assembler tilida yozilgan programmalar uchun 
ularni mashina tiliga o‘tkazuvchi «tarjimon» kerak bo‘ladi.
Assembler tilidagi programmani mashina tiliga 
o‘tkazuvchi 
maxsus programma 
translyator deyiladi, ayrim hollarda uni assembler deb ham atashadi.
Mashinaga moslashgan tillarning asosiy kamchiligi bir turdagi mashina uchun tuzilgan 
programma boshqa mashinalarda bajarilmaydi, ya’ni bunday tillar mashinaning apparat 
tuzilishiga bog‘liq qilib yaratiladi. Masalan, Pravets mashinasi uchun tuzilgan 
programma IBM yoki YAMANA turidagi mashinalar uchun o‘tmaydi va aksincha.
Programmalash tillarining keyingi bosqichida protsedurali tillar joylashadi. Bu tillaring 
asosiy xususiyati shundaki, ularning sintaksis va semantikasi konkret EHM (protsessor) 
buyruqlari tarkibiga bog‘liq, emas. Tuzilgan programmani konkret EHM ga bog‘lashni 
translyator amalga oshiradi.
Programmaning boshlang‘ich matni Operativ xotiraga kiritilgandan keyin u translyasiya 
qilinadi. Natijada, aynan shu mashina «tushinadigan» buyruqlar ketma-ketligi hosil 
bo‘ladi va ularni bajarish asosida EHM masalani echadi. Programmani tarjimasi va uni 
bajarish jarayoni ikki usulda amalga oshirilishi mumkin:
Birinchi usul-komplilyator deb nomlanuvchi usulda programmani EHMda bajarilishi-
tarjima jaryoni to‘liq, tugagandan keyin amalga oshiriladi. Bunda tarjima programmasini 
operativ xotirada saqlab turishga hojat yuq, shu sababli xotirani tejashga erishiladi.
Ikkinchi usul – interpretatsiya - programmadagi ayrim operatorlar ular tarjima qilingan 
zahoti bajariladi, shundan keyin navbatdagi operator tarjima qilinadi, bajariladi va 
xokazo. Bu rejimda xotirada interpretator programmasi ham bo‘lishi kerak, natijada 
qo‘shimcha xotira ishlatiladi va programmaning ishlashi kompilyasiya qilinganga 
nisbatan sekin ishlaydi. Interpretatorning afzallik tomonlari programmalarni sozlash 
paytida ko‘rinadi, ya’ni yo‘l qo‘yilgan xatolar tuzatilishi mumkin.
Kompilyatorda
bunday
imkoniyat
yuk.
Protsedurali tillarning umumiy xususiyatlarini ko‘raylik. Bu tillarda programmadagi 
yozuvlar umumiy qabul qilingan matematik yozuvlarga juda yaqin va tushunish uchun 
engildir. Masalan, 7 va 5 sonlaring yig‘indisini hisoblash amalini programmalash tillarida 
yozilishini ko‘raylik:


mashina tilida
Buyruq 
Operand adresi 
0011 1111 
1101 0001 
0000 0101 
1101 0010 
0000 0110 
1101 00111 
0000 0111 
1101 0100 
1000 0000 
1101 0101 
Java tili kompyuter tarmoqlarida amal qiladigan programmalarni yaratishga 
mo‘ljallangan, ya’ni Java tilida yozilgan programmalar global tarmoqlarda 
dinamik reklamalarni (animatsiya, teletayp lentalari) global tarmoqda joylashtirish 
uchun ishlatiladi, Java tilining afzalligi shundaki, u turli operatsion sistemalarda 
ham birdek amal qilaveradi. Java programmasi bir paytda Windows, UNIX va 
Macintosh operatsion sistemalarida ishlashi mumkin.
Quyidagi jadvalda programmalash tillari xaqida ma’lumotlar keltirilgan.

Download 256,89 Kb.
1   2   3   4




Download 256,89 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



5-Amaliy ish Mavzu: Assembler tilida asosiy operatorlar bilan tanishish: Ishdan maqsad

Download 256,89 Kb.
Pdf ko'rish