Nisbiy indeksli adreslash.
Ba’zi mashinalarda adreslashda adres ikkita registr qiymati va ko’chirishni yig’indisidan olinadi. Bunday yondashuv nisbiy indeksli adreslash deyiladi. 1-registr baza, 2-registr indeks. Uning qulayligi sikldan tashqarida R5 registrida A elementi adresini saqlab, R6 da B elementini saqlab, LOOP siklining dastlabki 2 komandasini quyidagicha o’zgartirisimiz mumkin
LOOP: MOV R4,(R2+R5)
AND R4,(R2+R6)
Stekli adreslash.
Yuqorida aytilganidek, mashina komandalarini iloji boricha qisqa yozish kerak. Uning oxirgi chegarasi adressiz yozilgan komandadir. Adrsssiz komandalarstekbo’lganda ishlatish mumkin.
Teskari yozuv
Matematik yozuvda operator operandlar orasiga yoziladi (x+y), oxirida emas (xy+). 1-xolat infiks yozuv deyiladi, 2-xolat postfiks yozuv deyiladi. Postfiks yozuv algebraik formulalarni yozishda qo’l keladi. 1-dan qavssiz yozish mumkin, 2-dan stekli mashinalar uni oson hisoblaydi. Masalan axb+c yozuvi (axb)+c ni bildiradi, ax(b+c) ni yoki boshqa kombinatsiyani emas, chunki ko’paytirishning prioriteti yuqori. Ko’chirish amali VA amalidan yuqorimi? Teskari yozuv shunday tushunmovchiliklarni bartaraf etadi. Har ikkala yozuvda operandlarning yozilish ketma-ketligi bir xil. Amallarning yozilishi esa teskari yozuvda qaysi tartibda bajarilsa, shu tartibda yoziladi. Teskari yozuvda formulalar hisob-kitobi
Bu yozuv stekli kompyuterlar uchun juda qulay hisoblanadi. Formula n ta belgidan iborat bo’lib, har bir belgi yoki operand, yoki amal. O’qilishi tartibi quyidagicha: formula chapdan o’ngga qarab o’qib boriladi. Agar operand uchrasa u stekka joylashtiriladi, agar amal uchrasa u amalni stekdagi operandlar bilan bajariladi.
Stek cho’qqisidagi son o’ng tarafdagi operand (chapdagi emas, chunki chapdagi operand keyingi operand kelishi bilan bir pastga surilgan). Bu ayirish va bo’lish amallari uchun juda muhim, chunki operandlarning stekda joylashish tartibi bu yerda muhimdir. Bo’lish amali quyidagicha hisoblanadi. Dastab stekka surat joylashadi, keyin maxraj.
Stekda bajariladigan amallarni grafik ifodasi
Teskari yozuvni matematik yozuvga o’zgartirish oson. Buning uchun teskari yozuvni chapdan o’qib borish va har bir operanddan keyin bir amal belgisini qo’yib borish lozim. Agar kelgan simvol konstanta yoki o’zgaruvchi bo’lsa, uni stekka joylashtirish lozim. Agar simvol arifmetik amal bo’lsa, stekning yuqorigi 2 elementi bilan shu amalni bajarish lozim.
Do'stlaringiz bilan baham: |