Elektrotexnika“ fakulteti «elektrotexnika, elektromexanika va elektrotexnologiyalar» kafedrasi


Assembler tilida dastur ishlab chiqish


Download 442.92 Kb.
bet8/10
Sana13.12.2022
Hajmi442.92 Kb.
#1000196
1   2   3   4   5   6   7   8   9   10
Bog'liq
oooo

Assembler tilida dastur ishlab chiqish.
Assembler tilida dasturlarni ishlab chiqish yuqori darajadagi tillardagi yozish dasturlaridan farq qiladi, chunki xotira va registrlarning mazmunini kuzatishda ko'p e'tibor va tartiblilikni talab etiladi. Shu bilan birga, dasturni ishlab chiqishning keyingi bosqichlarini kuzatish kerak:
• vazifani belgilash va dasturni tuzish;
• har qanday matn muharriri yordamida dasturning matni bilan fayl yaratish;
• Assemblerdan foydalanib dasturni tarjima qilish, xatolar aniqlanganda - ularni matn muharririda to'g'rilab, yana tarjima qilish;
• assemblerning natijasini dasturchi modul yordamida bajariladigan modulga aylantirish;
• ijro etuvchi dasturni ishga tushirish;
• natijalarni tekshirish. Hech narsa topilmasa, xatoni tuzatuvchidan foydalanib, xato topishingiz kerak.
Assembler kodlari bilan yozilgan dasturga manba dasturi deyiladi va uning aylantirilgan shakli mikroprotsessor buyruqlar qatoriga ob'ekt yoki dastur moduli kiradi. Yig’uvchi fayl yoki bajariladigan modul yaratishga imkon beradi. Otladchik - ekranda kerakli o'zgaruvchilar qadriyatlarini ko'rishga, dasturni bosqichma-bosqich bajarishda, barcha registrlarni va xotiralarining holatini olishni, dasturga o'zgartirishlar kiritishni, to’xtash nuqtalarini belgilashni va yana ko'p narsalarni beradigan dasturdir.
Assembler tilida dasturlarni yaratish uchun Borland Int. firmasidan olingan dasturiy mahsulot Turbo Assembler. Turbo Assembler kompilyatori TASM.EXE faylida joylashgan yig’uvchi dastur bo'lib, TLINK.EXE faylida joylashgan. Otladchik tuzuvchisi TD.EXE faylida joylashgan. Assembler tili dasturini kompilyatsiya qilish va ishlash jarayoni quyidagicha.


5.2 - rasm. Dasturni Assembler tilidagi dastur yaratish bosqichlari




Assambler tilida dasturlar tuzishni o’rganish.
Assembler tili.
Sintaksis-bu qoidalar to‘plami bo‘lib, dasturlasg 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.
Dasturlashda 2 daraja bor.
1. Yuqori daraja
2. Quyi daraja
1. Yuqori daraja = Bu darajada manba kodi to'g'rirog'i "dasturlash tili" insonga (yani bizga yaqinroq til) yanayam to'g'rirog'i bu "Ingliz" tilida ekanligi. Qisqasi biz tushuna oladigan tilda dastur yoziladi.
1. Quyi daraja = buni manimcha chunib yettila, kompyuterga yaqinroq til.
Nega "Assembler" quyi daraja dasturlash tili hisoblanishini sababi bu dastur "0" va "1" simvollaridan foydalanadi ya'ni kompyuter faqat "0" bilan "1" tushunadi.
Misolda tushuntaraman:
Siz assemblerda ishlashni boshladizmi? Siz "bit", "byte", "kbyte", "mbyte", "gbyte", "tbyte" lani nimaligini tushunishish kerak.
Assemblerda xamma procedura umuman kod mana mashi o'lchov (kompyuter o'lchov birligi) birliklaridan keng foydalaniladi.
Masalan "bit": Kompyuter "0" va "1" tushuniladi, misol uchun komputerni xotirasini olinsa:
----------------------------------------
0FD1:0000 mov ax,043 ...?o.!2dsc..dse..-
FD02:0001 mov bx,ax ?df..rd.se..2.fs..-
FDC1:0003 jmp start >//>..defs..edsf..-
----------------------------------------
Shu xotirani qaysidir joyi bu biz insonlar tushunadigan ko'rinishi bu xotirani kompyuter mana shunday ko`rinishda ko`radi:
10011110100100111000011100101001.
Birinchi o'rinda assemblerni o'rganishdan oldin "sanoq sistemalarini" o'rganila. "ikkilik sanoq sistemasi","sakkizlik sanoq sistemasi", "o'nlik sanoq sistemasi","o'n oltilik sanoq sistemasi" bularni ustida ammalarni bajarib ko'riladi. Buning uchun birinchi o'rinda sonlarni darajasini yodlash kerak.
2 darajasi 2 = 4
3 darajasi 2 = 8
kamida 100 gacha yoddan bilishi shart.
Boshqacharoq qarasangiz,bu asosiy til.
.MODEL SMALL
.STACK 100h
.DATA HelloMessage
DB'Hello, World! No warand bomb!
Let us live friendly and learn assembler language ',13,10,'$'
.CODESTART:
mov ax,@data
mov ds,ax
mov ah,9
mov dx,
OFFSET HelloMessage int 21h
mov ah,4ch int 21h
END START

Nazorat savollari



  1. Assambler tilida qanday darajalar mavjud.

  2. Assambler tilidagi yuqori daraja nima?

  3. Assambler dastrulash tilida kodlash qanday boshlanadi?

  4. Assambler tili include nimani anglatadi?

  5. Assembler tilida dastur yaratish bosqichlarini tushuntirib bering?

  6. Ijro etuvchi dastur qanday ishga tushuriladi?

6-Amaliy mashg’ulot





Download 442.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling