Ma’ruza: Assemblerning ikkita o’tishli translyatori Reja
Download 98.36 Kb.
|
maruza 5 (1)
- Bu sahifa navigatsiya:
- Nazorat savollar.
Programmada SO‘M/QV imkoniyatlaridan to‘la foydalanish maqsadida ma’lum bir o‘zgarishlar kiritilgan. START qiymati 0 bo‘lishi bu programmani ko‘chuvchi programma ekanligini bildiradi. Programmada registr – registr, xotira – registr formatidagi buyruqlardan keng foydalanilgan. Registrga murojaat tez bajarilishi hisobiga programma bajarilish samaradorligi oshirilgan. Endi ob’ekt kod qurilishini tahlil qilaylik. Programmadagi registr – registr buyruqlari –– CLEAR uchun COMPR ob’ekt kodni ko‘rish biror qiyinchilik tug‘dirmaydi (ular ORTAV jadvalida beriladi). Xotira – registr buyruqlari – nisbiy adreslashdan foydalaniladi (buyruq hisoblagichi yoki baza registri bo‘yicha). Har qanday holda ham assembler siljish adresini hisoblashi kerak. Nisbiy adres qanday aniqlanishini ko‘raylik. Assembler maqsad adresni hisoblash uchun teskari ish qiladi. Misol uchun Rs registriga nisbatan hisoblanuvchi buyruq . 10 0000 FIRST STL RETADR 17202D Protsessor tamonidan STL buyrug‘ini bajarishda Rs navbatdagi buyruq adresini (0003) ko‘rsatib turadi. RETADR adresi 0030 (assembler bu ma’lumotni SYMTAB jadvalidan oladi). Biz uchun kerak bo‘lgan siljish 30 –3q2D bo‘ladi. Programma bajarilishida Disp+(Pc) orqali kerakli adres (0030) topiladi. Buyruqda r ni razryadi 1 bo‘ladi. Misol uchun, 40 0017 J CLOOP 3F2FEC Bu buyruqda operand adresi 0006. Protsessor tamonidan buyruqni qayta ishlash paytida Rsq0001A qiymatga teng bo‘ladi. Siljish 6 – 1Aq-14. Bu sonni qo‘shimcha kodi FEC ko‘rinishida bo‘ladi. Xuddi shu usulda V registr uchun siljish topiladi. Farqi shundan iboratki, Rs registri qiymati avtomatik ravishda aniqlasa, V registr qiymati programma tuzuvchi tamonidan beriladi (BASE va NOBASE kalit so‘zlari orqali boshqariladi). Programmada disp maydoniga siljish qiymati sig‘magan xollar uchun 4-format buyrug‘idan foydalanilgan. Bu buyruqlarda operand adresi 20 – razryadlik maydonga to‘liq yozilgan (absolyut adres). Bu format buyruqni ishlatishni programma tuzuvchining o‘zi aniqlashi va buyruq oldiga «+» belgisini qo‘yish kerak. 15 0006 CLOOP JSUB RDREC 4B101036 Bevosita operandlardan foydalanuvchi buyruqlar translyasiyada xotiraga murojaat bo‘lmaydi (CLEAR, buyrug‘i ). 55 0020 LDA #3 010003 Bevosita adreslashga boshqa misol 12 003 # LENGTN 69202D Bu buyruq bevosita operand LENGTN nomi bilan berilgan va uning qiymati adres bo‘lgani uchun V registrga LENGTN adresi yuklanadi. Nazorat savollar. 1.Kodni generasiyalash jarayoni haqida ma'lumot bering. 2. Kodni generasiyalashni sintaksis daraxtdava identifikatorlar jadvalida saqlanuvchi ma'lumotdan aniqlangan iunksiya deb hisoblanishining sabablarini ayting. 3. Sintaksis-boshqaruvchi-tarjima nima? 4.Sintaksis boshqaruvchi -kom pilyator nima? 5.TetradaIar nima? 6.Generasiya qilinayotgan kodni ic h k i ifodalanishida tetrada qanday bo’ laklardan tashkil topadi? 7.Kodni generasiyalashda tetradani qo’ llashning yutuqlari nimalarda ko’ rinadi? 8.Triada!ardan foydalanishning yutuq va kamchiliklari haqida ma'lumot bering. Download 98.36 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling