Mavzu: Steklar va Nimdasturlar




Download 162 Kb.
bet7/8
Sana22.12.2023
Hajmi162 Kb.
#126984
1   2   3   4   5   6   7   8
Bog'liq
raqamli(oraliq)(1-39)

Mavzu: Steklar va Nimdasturlar.
Ishning maqsadi: Oqimlarni boshqarishni o’rganish.
Nazariy qism:
"Stek - bu vaqti-vaqti bilan ma'lumotlarni saqlashga imkon beradigan bir qisqich mekhanizmdir va uning amaliyoti LIFO (Last Input First Output) prinsipi asosida amalga oshiriladi. Stekni to'ldirish komandasi PUSH R - R o'zini (R -> STACK) STEKga joylashni ifodalaydi. Ma'lumotlarni olish komandasi esa POP R (R <- STACK).

Shuningdek, stek - bu dasturlarni bajarish uchun kerak bo'lgan mekhanizmdir, chunki stek mekhanizmi dastur bajarilayotgan vaqtda dastur ko'rsatgichini (PC) vaqtincha saqlash imkonini beradi. Shu tufayli, CALL va RET kabi komandalar ham ma'lumotlarni STEKdan joylash va olib tashlash uchun ishlatiladi. Stek mekhanizmi RAM xotirasi va ko'rsatgichli registr SP (Stack Pointer) asosida amalga oshiriladi. SP, RAM ga yozish uchun joriy manzilni ko'rsatadi.

SP, 16-bitli ikkiqlik registr (16-bit) bo'lib [ SPH:SPL] shaklida ishlatiladi. PUSH R komandasini bajarish uchun registrning tarkibini STEKga yozishdan so'ng SP kamaytiriladi:

• PUSH R
1. RAM[SP] = R


2. SP = SP - 1

POP R komandasini bajarish uchun SP o'sib, keyin R registriga joriy manzilning qiymati yoziladi:

• POP R
1. SP = SP + 1
2. R = RAM[SP]

Elementlarni stekka qo'shish stekni o'sishiga olib keladi. Ko'rsatilgan narsadan ko'ra, stekning manzillarini kamaytirishni ifodalaydi.

Podprogramma - bu belgilangan komandalardan iborat ketma-ketlik va RET komandasi orqali podprogrammadan chiqish amalga oshiriladi. Metka, xotiradagi manzil bilan birga nom berilgan dastur.

MULL:
;


Podprogrammaning boshlanishi bilan bog'liq metka
Podprogrammaning tanasi
Podprogramma chaqirish mexanizmi, podprogramma bajarilayotgan vaqtda bajarilayotgan komandalarni saqlash uchun joriy manzilni STEKda saqlashni o'z ichiga oladi. Podprogramma chaqirish komandasi CALL:

Podprogrammani chaqirganda, dastur ko'rsatgichini STEKda saqlash va podprogrammadan chiqqandan so'ng uni qaytarish imkoniyatini berish uchun:

1. PC -> STACK - joriy manzilni STEKda saqlash
2. jmp MULL - MULL metkasi bo'yicha o'tish

Podprogrammadan chiqish RET komandasi orqali bajariladi, odatda podprogramma oxirida joylashgan bo'lishi mumkin. Misol uchun:

1. PC <- STACK - manzilni STEKdan olish
2. PC <- PC + 1 - chiqqandan so'ng keyingi komandaga o'tish

PC ko'rsatgichining 16-bitlik registr ekanligini unutmang, u STEKda 2 joyga joylashtirilgandan keyin STEKni saqlash uchun 2 operatsiyani amalga oshiradi."



Download 162 Kb.
1   2   3   4   5   6   7   8




Download 162 Kb.