O’ O`zbekiston respublikasi


Protsessor registrlari bilan bog‘langan funksiyalar



Download 7,69 Mb.
bet98/232
Sana29.12.2021
Hajmi7,69 Mb.
#79575
1   ...   94   95   96   97   98   99   100   101   ...   232
Bog'liq
Algoritm

Protsessor registrlari bilan bog‘langan funksiyalar
Protsessor registr Turbo-Paskal funksiyasi
CS Cseg

DS Dseg


SS Sseg

SP Sptr


TP programma kodining bajarilishida xotira taqsimoti.


MS DOS xotirasining yuqori chegarasi

Dinamik obyektlar uchun xotira qismi

UYUM

6




Overley buferi (zarur bo‘lsa)

5

Sseg:Sptr

Stekning to‘ldirilgan qismi («pastga» to‘ldiriladi)

Ctek (lokal o‘zgaruvchilar va parametrlarni

saqlash uchun)

4


Sseg:0000

Stekning bo‘sh qismi




Global o‘zgaruvchilar

Ma’lumotlar segmenti 3

Dseg:0000

Turlangan konstantalar







Sistema modulining (SYSTEM) ishchi kodi

Bu yerda EXE –fayl






Birinchi modulning (UNIT) ishchi kodi

nusxasi joylashadi

2


Agar kiritilgan bo‘lsa

Boshqa modullarning (UNIT) ishchi kodlari







Oxirgi modul (UNIT) ishchi kodi







Programma asosiy blokining ishchi kodi




PrefixSeg:0000

Programma prefiks segmenti (PSP 256 bayt)

1


Pointer turi. TPda maxsus adres turi Pointer–ko‘rsatgich aniqlangan Bu tur orqali xotira katagi adresini aniqlovchi o‘zgaruvchilarni e’lon qilishi mumkin.

Var p: pointer; uzunligi 4 Kbayt.


Adreslar bilan ishlash vositalari


Funksiya: tur

Qaytaradigan qiymati

Addr (x): Pointer

Seg(x): Word

Ofs(x): Word

Ptr(S,O:Word): Pointer


@x:

x obyektning xotiradagi adresi

x obyekt joylashgan segment

x obyekt uchun segmentdagi siljish

S segment O siljish bilan berilgan xotira katagiga ko‘rsatgich

x obyektning xotiradagi adresi

Addr(x), Seg(x), Ofs(x) va @ operatori X obyekt aniqlab beradi. Bu yerda X sifatida ixtiyoriy turdagi o‘zgaruvchi, obyektlar, protsedura va funksiyalar bo‘lishi mumkin (konstantalardan tashhari).


Misol:

Var x:string;

p, r:Pointer;

. . .


p:Addr(x);

q:@x; { pºq }


Pointer turidagi qiymatni ekranga chiqarib bo‘lmaydi, lekin segment va siljishlarni alohida chiqarish mumkin:

Writeln(‘Segment -’,Seg(p), ‘ Siljish - ’ , Ofs(p));

Ptr(Seg, Ofs : Word) – funksiyasi Addr funksiyasiga nisbatan teskari ish qiladi, ya’ni segment va siljish ko‘rsatadigan joyga ko‘rstagich hosil qiladi. Odatda bu funksiya dinamik strukturalarni xotiraning rezerv qilingan joylariga bog‘lash uchun ishlatiladi. Quyida ko‘rsatgichni videoxotiraga bog‘lashni ko‘rishimiz mumkin.

Type


VideoArray  Array [0..3999] of byte;

Var


V:^VideoArray;

Begin


V:Ptr($B000,0);

...


{ V^[i] – bevosita videoxotira katagiga murojaat }

...


End;
26-Mavzu: Turbo-Paskal tilining maxsus vositalari
Reja:

  1. Buyruq satri bilan ishlash

  2. SHEHM xotirasiga murojaat

  3. Ma’lumotlarni ko‘chirish protseduralari


Buyruq satri bilan ishlash. Buyruq satri deganda ishga tushi-rilayotgan fayl nomidan keyin keluvchi va bo‘sh joy («probel») bilan ajratiluvchi parametrlar ro‘yxati tushiniladi.

Misol.


c:g‘> copy a:g‘*.pas b:g‘*.pas

Turbo-Paskal tilidagi standart Paramcount va Paramstr funksiyalar ishchi fayllarni (exe-fayllarni) buyruq satrlari bilan ishlashi uchun xizmat qiladi.

Paramcount funksiyasi buyruq satrida fayl nomidan keyingi parametrlar sonini qaytaradi. Satrda faqat fayl nomi bo‘lgan holda funksiya 0 qiymat qaytaradi. Parametrlar soni aniqlangandan keyin ularning ixtiyoriy bittasini ParamStr(N) funksiyasi yordamida satr qiymat sifatida olishimiz mumkin (bu yerda N – parametrning tartib nomeri).

Misol.


Var s : String;

Begin


If Paramcount>1 Then s:Paramstr(1) Else Writeln(‘Fayl nomini kiriting’)

. . .


TP tilida programmani sozlashda parametrlarni Options rejimida Paramters qiymati sifatida berish mumkin.

SHEHM xotirasiga murojaat. Turbo-Paskal xotiraning ixtiyoriy fizik katagiga murojaat qilish uchun uchta massivni aniqlagan: Mem, MemW, MemL. Bu massivlar sistema tomonidan quyidagicha aniqlangan deb hisoblashimiz mumkin.

Var


Mem : Array of Byte absolute 0:0;

MemW : Array of Word absolute 0:0;

Mem L : Array of LongInt absolute 0:0;

Bu massivlar indekslarning berilishi bilan oddiy massivlardan farq qiladi. Indekslar xotira katagining Segment:Siljish formatida qiymat bo‘ladi.



Misol:

Mem[$B000:$0000]– ko‘rsatilgan adresdagi bayt qiymati;

MemW[$B000:$0000]- ko‘rsatilgan adresdagi so‘z qiymati;

MemL[$B000:$0000]-ko‘rsatilgan adresdagi ikkilangan so‘z qiymati;

Ishlatishga misol.

Mem[$50:0] xor1{Shift-PrtScr bosilishiga aks ta’sirni o‘chirish - yoqish}

Odatda Mem, MemW, MemL massivlari xotiraning sistemaviy sohasiga murojaat qilishda ishlatiladi.

Ma’lumotlarni ko‘chirish protseduralari. Bu Move protsedurasi bo‘lib, u o‘z mohiyati bo‘yicha mashina buyrug‘i darajasidagi amaldir.

Yozilishi.

Move (Var Sourse, Dest, Nbytes : Word);

Protsedura uchta parametrga ega bo‘lib, operativ xotiradagi Nbytes – bayt o‘lchamidagi ma’lumotlarni ko‘chirish uchun xizmat qiladi. Sourse – ixtiyoriy turdagi o‘zgaruvchi bo‘lib, ko‘chiriladigan xotira bo‘lagining adresi (uning birinchi bayti), Dest – xotiradagi ko‘chirish joyi (birinchi bayti).



Misol:

1) A massiv boshiga V massiv nusxasini olish uchun Move(B,A, SizeOf(B)) ko‘rinishidagi murojaatni yozishimiz kerak.

2) A massivdagi 1000 haqiqiy qiymatni 1-o‘rindan boshlab 100 ta o‘ringa o‘ngga siljitish kerak bo‘lsin.

Buning uchun

oddiy holda - For i:1000 Downto 1 Do A[i100] : A[i];

Move orqali - Move (A[1], A[100], 1000*SizeOf(Real));



Bu yerda nusxa olish yo‘nalishi Move tomonidan avtomatik tarzda aniqlanadi.


Download 7,69 Mb.

Do'stlaringiz bilan baham:
1   ...   94   95   96   97   98   99   100   101   ...   232




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish