Programmlarni kuchirish Reja: Programmani tezkor xotiraga yuklash. Boshqaruv seksiyalari va programmalarni bog'lash. Assemblerda adresni uzatish buyruqlari. Assemblerda arifmetik amallar. Programmani tezkor xotiraga yuklash. Ko'p hollarda bir vaqtda bir nechta programmani bajarish imkoniyatiga ega va bu pogrammalar operativ xotira va mashinaning boshqa qurilmalaridan o'zaro taqsimlangan holda ishlatish maqsadga muvofiq bo'ladi. Buning uchun programmani operativ xotiraning ixtiyoriy joyiga yuklash imkoniyati bo'lishi kerak va bu holda programma adresi u xotiraga yuklangunga qadar nomalum bo'ladi. Yuqorida keltirilgan 1-programma absolyut programmaga misol bo'ladi. Bu programma to'g'ri ishlashi uchun u xotiraning 100 adresidan yuklanishi shart, aks holda operandlar adresi pogramma chegarasidan tashqariga chiqib ketadi. Misol uchun, 55 101 LDA THREE 00102D Bu buyruqdagi operand adresi 102 D. Faraz qilaylik, programma 200 adresdan yuklansin, u holda 102D adresidan kutilgan qiymat bo'lmaydi. quyida programmani ko'chirishga misol keltirilgan. Ko'rinib turibdiki, bu programma tug'ri ishlashi uchun buyuqlarning adreslar maydoniga o'zgartirishlar qilish kerak. Shu bilan birgalikda ayrim buyruqlar (bevosita operand buyruqlar) o'zgarmasdan qolishi zarur. Assemblerga pogrammani yuklanishi adresi oldindan nomalum bo'lsa ham, u yuklagichga programma xotiraga yuklanyotgan paytda programmaning qaysi qismlariga o'zgartirish qilish zarurligini ko'rsatishi mumkin. Bunday malumatga ega obyekt programmaga ko'chuvchi programma deyiladi. SO'MqV uchun tuzilgan 2-programmada START qiymati 0 qilib olinganligi va 30- format buyruqlarini asosan Rs registriga nisbatan aniqlanganligi xotiraning ixtiyoriy joyiga yuklanishidan qatiy nazar bu buyruqlar to'g'ri bajarilishini kafolatlaydi, faqat 4-format buyruqlarining adres maydoniga o'zgartirish qilish zarur. SO'MQV uchun tuzilgan 2-programma misolida ko'chuvchi programma obyekti programmani hosil qilishda assembler amal qilishi kerak bo'lgan ishlarni keltiramiz. JSUV buyrug'i uchun obyekt kodni hosil qilishda adres maydoniga RDREC nishonining programma boshiga nisbatan siljishini joylashtiradi. Assembler yuklagich uchun JSUV adres maydoniga programma boshlang'ich adresi qo'shilishi kerakligi haqida buyruq tayyorlaydi. Shu maqsadda programma obyekt kodiga yangi yozuv - modifikator yozuvi qo'shiladi. Ustunlar. Misol uchun, JSUV buyrug'i uchun modifikator yozuv M^007^05 Bu buyruq programma boshiga nisbatan 007 adresdan boshlanuvchi va uzunligi 5 yarim baytli adres maydoniga programma boshlanish adresini (qiymatini) qo'shish kerakligin bildiradi: 4V101036 buyrug'ining 01036 maydoniga programma boshlang'ich adresi qo'shiladi. Boshqaruv seksiyalari va programmalarni bog'lash. Boshqaruv seksiyasi (BS) -programma qismi bo'lib, u assembler jarayonidan keyin o'z alohidaligini saqlab qoladi va boshqalarga bog'liqmas ravishda xotiraga yuklanishi va ko'chirilishi mumkin. Odatda BS qism programma bo'ladi. BS lar birorta programmaning mantiqiy bog'langan qism programmalar bo'lganligi sababli ularni bog'lashni amalga oshirish vositalari bo'lishi kerak. Misol uchun BSdagi buyruqlar ikkinchi BSdagi buyruq yoki berilganlar sohasiga murojaat qila olish kerak. Bunday murojaatlarni oddiy usulda amalga oshirib bo'lmaydi, chunki assembler jarayonini amalga oshirish paytda har bir BSning o'rtasidagi bog'lanishlari ...

Joylangan
05 Jun 2024 | 16:14:04
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
18.4 KB
Ko'rishlar soni
80 marta
Ko'chirishlar soni
6 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 00:24
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 16:14 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
18.4 KB
Ko'rishlar soni
80 marta
Ko'chirishlar soni
6 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 00:24 ]
Arxiv ichida: doc