12-guruhi. Styok buyrug’i.
Mashina kodlarining ko’pshilik dasturlarida mashina styokidan: dasturchi tomonidan ma’lumotlarni saqlash, mikroprotsessor tomonidan qaytish manzillarini saqlash uchun aktiv foydalaniladi. Bu guruhni tashkil qiluvchi buyruqlarni foydalanuvchi uchun ikki qismguruhga va mikroprotsessor uchun uch qismguruhga ajratish mumkin.
А- qismguruhi. PUSH va POP
Bu buyruqlar dasturchiga PUSH bo’yicha mashina styokida 2 baytni saqlash, POP bo’yicha mashina styokidan 2 nusxalashga imkon beradi. Bu ma’lumotlarning ikki bayti qat’iy aniqlangan registrlar juftligiga nusxalanishi kerak, registrlardan qaysi biriga ma’lumotlarning qaysi bayti tegishli ekanligi xaqidagi yozuv bajarilmasligini bilish lozimdir. PUSH buyrug’i bajarilganda, styok ko’rsatgichi, bosh manzilni ko’rsatish uchun oldindan kichiklashadi va styokga katta registrning ichidagilari nusxalanadi. So’ng styok ko’rsatgichi ikkinchi marta kichiklashadi va kichik registrdagi miqdor styokga nusxalanadi. POP buyrug’i bajarilishi vaqtida qarama-qarshi harakatlar bo’lishi mumkin.
B-qismguruh. CALL.
CALL buyruqlari quyidagicha bajariladi:
1.Styokda buyruqlar hisoblagichining joriy qiymati, ya’ni ADDRdan keyiln birinchi yacheyka manzili saqlanadi. Styok ko’rsatgichi PUSH buyrug’ida o’zgaradi. Buyruqlar hisoblagichining katta bayti styokda kichik bayt ustida saqlanadi.
2. ADDR manzili buyruqlar hisoblagichiga yoziladi va dastur bajariladi.
3. RET buyrug’i bo’yicha dasturdan qaytish amalga oshiriladi.
C-qismguruh. RET-buyruqlari.
RET buyrug’ida mashina styokidagi qaytish manzili buyruqlar hisoblagichida baytlab qayta tiklanadi. Biroq bunda styok ko’rsatgichi kattalashish tomonga ikki marta modifikatsiyalanadi. Mashina styokidan qayta tiklangan qaytish manzili, bunda unga CALL buyrug’i tomonidan joylashtirilgani bo’lishi shart emasligini bilish muhimdir.
Do'stlaringiz bilan baham: |