Page 252 - 4503
P. 252
Рисунок 8.3 — Рівні вкладених підпрограм
З цього робимо висновок, що, по–перше, задля
забезпечення багаторівневого принципу вкладених
підпрограм, буфер повинен бути багато–комірковим і, по–
друге, він повинен бути побудований за принципом магазину
– коли виклик підпрограм відбувається у напрямку
наростання: n, n+1, n+2…, а повернення в програму є
спадним: … , n+2, n+1, n. Зверніть увагу! Цей принцип
сповідує тезу: хто перший зайшов у магазин (n), той вийшов
із нього останнім (n).
Зауважте, що принцип магазину окрім у
мікропроцесорах, застосовується і в інших видах техніки,
наприклад для амуніції автоматичної вогнепальної зброї —
хто, хоч раз стежив, як заряджають патронами ріжок автомата
Калашнікова, той усвідомлює, що першим у дуло зброї
потрапить набій, що був заряджений останнім.
8.3.2 Принцип LIFO. Запис у стек і видобуванні зі
стеку
Англійською мовою принцип магазину називається
принципом LIFO — Last Input First Output (якщо останнім
зайшов, то першим вийдеш). Альтернативою є принцип
черги, або FIFO — First Input First Output (першим зайшов —
першим вийдеш).
В англомовній літературі апаратні засоби, що
забезпечують принцип LIFO, прийнято називати stack, що у
перекладі означає — дровітня, або скирда. Адже ж зрозуміло,
що першим у піч потраплять поліна, які розміщені у верхній
частині дровітні. Сама ж дровітня формувалася, очевидно
252