O’zbekiston Respublikasi Raqamli Texnologiyalari vazirligi Muhammad Al-Xorazmiy Nomidagi Toshkent Axborot Texnologiyalari Universititi Fan: Kompyuter Tashkillashtirish Amaliy ish N: 5 Mavzu: Buyruqlar Tizimining arxitekturasi


esp / sp (Stack Pointer registri) - stek ko'rsatgich registri. Joriy stek segmentida stek tepasiga ko‘rsatgichni o‘z ichiga oladi


Download 149.81 Kb.
bet15/25
Sana29.06.2023
Hajmi149.81 Kb.
#1657463
1   ...   11   12   13   14   15   16   17   18   ...   25
esp / sp (Stack Pointer registri) - stek ko'rsatgich registri.
Joriy stek segmentida stek tepasiga ko‘rsatgichni o‘z ichiga oladi.

ebp / bp (Base Pointer registri) - stek ramkasi asosi ko'rsatkichining registridir.
Stack ichidagi ma'lumotlarga tasodifiy kirishni tashkil qilish uchun mo'ljallangan.

Stack - bu o'zboshimchalik bilan ma'lumotlarni vaqtincha saqlash uchun dastur maydoni. Albatta, ma'lumotlar ma'lumotlar segmentida saqlanishi mumkin, ammo bu holda, vaqt uchun saqlangan har bir ma'lumot uchun alohida nomlangan xotira katakchasi yaratilishi kerak, bu dastur hajmini va foydalaniladigan nomlar sonini oshiradi. Stekning qulayligi shundaki, uning qamrovi qayta ishlatilishi mumkin va ma'lumotlar stekda saqlanadi va u erdan hech qanday nom ko'rsatmasdan samarali push va pop buyruqlari yordamida olinadi.
Stek an'anaviy tarzda, masalan, dastur tomonidan qo'llaniladigan registrlar tarkibini pastki dasturni chaqirishdan oldin saqlash uchun ishlatiladi, bu esa o'z navbatida protsessor registrlarini "o'z maqsadlari uchun" ishlatadi. Registrlarning asl mazmuni pastki dasturdan qaytgandan so'ng stekdan chiqariladi. Yana bir keng tarqalgan usul - kerakli parametrlarni stek orqali pastki dasturga o'tkazish. Subprogramma parametrlarni stekga surilish tartibini bilgan holda, ularni u yerdan olib, ularni bajarish jarayonida foydalanishi mumkin. Stackning o'ziga xos xususiyati - bu o'z ichiga olgan ma'lumotlarni olish tartibining bir turi: istalgan vaqtda stekda faqat yuqori element mavjud, ya'ni. stekga surilgan oxirgi element. Yuqori elementni stekdan tushirish keyingi elementni mavjud qiladi. Stek elementlari stek uchun ajratilgan xotira maydonida stekning pastki qismidan (ya'ni uning maksimal manzilidan) boshlab ketma-ket kamayib borayotgan manzillarda joylashgan. Yuqori kirish mumkin bo'lgan elementning manzili SP stek ko'rsatgich registrida saqlanadi. Dastur xotirasining boshqa sohalari singari, stek ham segmentga kiritilishi yoki alohida segmentni tashkil qilishi kerak. Ikkala holatda ham ushbu segmentning segment manzili SS stek segmenti registriga joylashtiriladi. Shunday qilib, SS: SP juft registrlari mavjud stek katakchasi manzilini tavsiflaydi: SS stekning segment manzilini, SP esa stekda saqlangan oxirgi ma’lumotlarning ofsetini saqlaydi (4-rasm, a). E'tibor bering, boshlang'ich holatda stek ko'rsatkichi SP stekning pastki qismida joylashgan va unga kiritilmagan hujayraga ishora qiladi.

4-rasm. Stackni tashkil qilish: a - dastlabki holat, b - bitta elementni yuklagandan keyin (bu misolda - AX registrining mazmuni), c - ikkinchi elementni yuklagandan keyin (DS registrining mazmuni), d - bittasini tushirgandan keyin element, e - ikkita elementni tushirgandan so'ng va asl holatiga qayting.
Stakka yuklash stek bilan ishlash, surish (surish) uchun maxsus buyruq bilan amalga oshiriladi. Bu buyruq avval stek ko'rsatkichi tarkibini 2 ga kamaytiradi, so'ngra operandni SP dagi manzilga qo'yadi. Agar, masalan, AX registrining mazmunini stekda vaqtincha saqlamoqchi bo'lsak, biz buyruqni bajarishimiz kerak.
Stack rasmda ko'rsatilgan holatga o'tadi. 1.10, b. Ko'rish mumkinki, stek ko'rsatkichi ikki bayt yuqoriga (pastki manzillar tomon) siljiydi va push buyrug'ida ko'rsatilgan operand bu manzilga yoziladi. Quyidagilar stack buyrug'iga yuklanadi, masalan,
stekni shaklda ko'rsatilgan holatga qo'yadi. 1.10, c. Endi stek ikkita elementni saqlaydi va faqat stek ko'rsatkichi SP ko'rsatadigan yuqori element mavjud bo'ladi. Agar bir muncha vaqt o'tgach, biz stekda saqlangan registrlarning asl tarkibini tiklashimiz kerak bo'lsa, biz pop buyruqlarini bajarishimiz kerak:

Download 149.81 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   25




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