Page 251 - 4503
P. 251

У  більшості  мікроконтролерів  РІС  передбачена
           можливість  так  званих  вкладених  підпрограм.  Розглянемо
           ситуацію,  котра  показана  на  рисунку  8.2,  коли  основна
           програма викликає підпрограму першого рівня, а та — у свою
           чергу  викликає  підпрограму  другого  рівня.  Тож,  аби
           звернутися до підпрограми 2–го рівня слід спочатку передати
           на збереження у буфер адресу повернення у програму, а далі
           записати  у  інший  регістр  буфера  адресу  команди  із
           підпрограми  першого  рівня,  у  яку  слід  повернутися  після
           виконання підпрограми другого рівня.















                      Рисунок 8.2  —  Два рівні вкладених підпрограм

                  Тож  як  бачимо,  чим  більше  маємо  вкладених
           підпрограм, тим більша кількість регістрів стане необхідною.
                Що цікаво! Повернення назад із підпрограми n+3-рівня,
           передбачає поетапне повернення спочатку на рівень n+2, далі
           n+1  … і нарешті — в основну програму (рисунок 8.3).










                                         251
   246   247   248   249   250   251   252   253   254   255   256