Ma’ruza: Assemblerning ikkita o’tishli translyatori Reja


Download 98.36 Kb.
bet8/8
Sana10.02.2023
Hajmi98.36 Kb.
#1186799
1   2   3   4   5   6   7   8
Bog'liq
maruza 5 (1)

Ob’ekt kodi

Izoh

5
10
12
13
15
20
25
30
35
40
45
50
55
60
65
70
80
95
100
105

0000
0000
0003

0006
000A


000D
0010
0013
0017
001A
001D
0020
0023
0026
002A
002D
0030
0033
0036

COPY
FIRST
CLOOR

ENDFIL

EOF
RETADR
LENGTH
BUFFER



START
STL
LDB
BASE
JSUB
LDA
COMB
JEQ
JSUB
J
LDA
STA
LDA
STA
JSUB
J
BYTE
RESW
RESW
RESB

0
RETADR
#LENGTN
LENGTN
RDRES
LENGTN
#0
ENDFIL
WRREC
CLOOR
EOF
BUFFER
#3
LENGTN
WRREC
@RETADR
C’EOF’
1
1
4096

17202D
69202D


4B101036
032026


290000
332007
4B10105D
3F2FEC
032010
0F200D
010003
0F200D
4B10105D
3E2003
454F46

Fayldan nusxa olish
qaytish adresini saqlash.

Baza registrini o‘rnatish.


YOzuvni o‘qish.
Ma’lumot tugashini aniqlash.
Oxiri bo‘lsa,chiqish
Berilganlarni chiqari
Takrolash uchun o‘tish
Fayl oxiri belgisini yuklash
LENGTN 3
Programmadan chiqish.
Yozuv uzunligi
Bufer uzunligi–4096 bayt.

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:
1   2   3   4   5   6   7   8




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