|
Amaliy ish № Mashina kodlarida kompyuterning ishlash tamoyillarini o'rganish
|
bet | 9/9 | Sana | 16.01.2024 | Hajmi | 65,57 Kb. | | #138870 |
Bog'liq 2-Amaliy ishManzil
|
Jamoa
|
Dekodlash
|
Izoh
|
0
|
5545
|
(5) * (4) ==> (5)
|
n! * k ==> n!
|
1
|
1474
|
(4) + (7) ==> (4)
|
k + 1 ==> k
|
2
|
6640
|
agar (6)>(4), 0 ga o'ting
|
k < n+1 uchun o'tish
|
3
|
7555
|
STOP; chiqish (5), (5), (5)
|
chiqish n!
|
4
|
k [1-to'plam]
|
|
ish xujayrasi
|
5
|
n! [1-to'plam]
|
|
natija
|
6
|
n + 1 [to'plam]
|
|
doimiy
|
7
|
0001
|
1
|
doimiy 1
|
Ushbu jadvalning ikkinchi ustunidan dasturimiz ekranda ko'rsatadigan yig'ish natijalarini tekshirish uchun foydalanish mumkin.
Tajribamizning davomi sifatida biz o'quvchilarni mustaqil ravishda teskari dastur - sekizlik 4 bitli koddan foydalanib, buyruqlar yig'ish mnemonikasini tiklaydigan qismlarga ajratuvchi dastur yozishni taklif qilamiz. Muammoni hal qilish uchun jadvalga o'xshash jadvaldan foydalanishni tavsiya etamiz, agar kerak bo'lsa, uni qismlarga bo'linadi. Albatta, yorliqlarning asl nomlarini kod yordamida tiklash mumkin emas, shuning uchun siz ularga lotin alifbosidagi harflarning ketma-ket ma'nolarini ular paydo bo'lishi bilan belgilashingiz mumkin.
Endi o'rganganlarimizni umumlashtiramiz.
Dasturni yig'ish jadvaldagi identifikator nomlarini tegishli kodlar bilan almashtirishning nisbatan oddiy g'oyasiga asoslanadi. Shu bilan birga, ushbu g'oyani amalga oshirish ajoyib oqibatlarga olib keladi: dasturdagi barcha manzillar yo'qoladi va uni tuzatish matn muharriridagi matnni tuzatishdan qiyinroq bo'lmaydi: endi o'zgaruvchilar va buyruqlar manzillari avtomatik ravishda taqsimlanganligi sababli, ularning o'zgarishlarini kuzatishning umuman hojati yo'q. Yana bir bor ta'kidlab o'tamizki, assemblerning haqiqiy kuchi opkodlar va registrlarni harfli mnemonika bilan almashtirishda emas, balki bundadir. Asosan tayyor dasturni disk raskadrovka qilish uchun mo'ljallangan disk raskadrovka yorlig'i mexanizmini qo'llab-quvvatlamaydi.
Biz shuni ta'kidlaymizki, assembler juda past darajada bo'lsa ham, u mo'ljallangan protsessorning ko'rsatmalar tizimiga qat'iy yo'naltirilgan dasturlash tilidir. Shuni ta'kidlash kerakki, montaj matnining har bir bajariladigan satri bir mashina ko'rsatmasiga to'liq mos keladi, bu assemblerga xos xususiyatdir. Ushbu cheklovdan voz kechish va dastur qatorini bir qator buyruqlar bilan avtomatik almashtirishga ruxsat berish (makros assembler deb ataladigan dastur orqali) eng oddiy yuqori darajadagi tillarga yo'l ochadi. Ikkinchisida, dastur matni endi protsessor ko'rsatmalariga to'g'ridan-to'g'ri havolalarni o'z ichiga olmaydi, shuning uchun tilning o'zi mashinadan mustaqil bo'ladi. Muayyan mashina ko'rsatmalarini yaratish to'liq dasturiy ta'minot - an'anaviy dasturlarda mashinaga bog'liq bo'lgan til tarjimoni tomonidan qabul qilinadi.
Nazorat savollari.
Kompyuterda axborot qanday saqlanadi va qayta ishlanadi?
Mnemonika nima?
Direktiv nima?
Dastur yig'ilishining asosi nima?
|
| |