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
   247   248   249   250   251   252   253   254   255   256   257