Page 251 - 4503
P. 251
У більшості мікроконтролерів РІС передбачена
можливість так званих вкладених підпрограм. Розглянемо
ситуацію, котра показана на рисунку 8.2, коли основна
програма викликає підпрограму першого рівня, а та — у свою
чергу викликає підпрограму другого рівня. Тож, аби
звернутися до підпрограми 2–го рівня слід спочатку передати
на збереження у буфер адресу повернення у програму, а далі
записати у інший регістр буфера адресу команди із
підпрограми першого рівня, у яку слід повернутися після
виконання підпрограми другого рівня.
Рисунок 8.2 — Два рівні вкладених підпрограм
Тож як бачимо, чим більше маємо вкладених
підпрограм, тим більша кількість регістрів стане необхідною.
Що цікаво! Повернення назад із підпрограми n+3-рівня,
передбачає поетапне повернення спочатку на рівень n+2, далі
n+1 … і нарешті — в основну програму (рисунок 8.3).
251