Реферат Курсовая Конспект
Процес виклику підпрограми. Програмний стек - раздел Компьютеры, Процедури без параметрів Під Час Виклику Підпрограми Їй Передається Керування. По Завершенні Роботи Во...
|
Під час виклику підпрограми їй передається керування. По завершенні роботи вона повертає керування програмі, що її викликала, у ту точку, із якої виклик було здійснено. Перша команда підпрограми називається точкою входу, а адреса такої команди - адресою точки входу. Оператор, що продовжує виконання програми по завершенні роботи підпрограми, називається точкою повернення із підпрограми.
Коли здійснюється виклик підпрограми, точка повернення з неї запам'ятовується і зберігається до завершення роботи цієї підпрограми. Для збереження точки повернення використовується ділянка оперативної пам'яті. Крім того, під час виклику підпрограми певні ділянки пам'яті зіставляються з її параметрами та локальними змінними. Сукупність усіх цих ділянок пам'яті називається локальною пам'яттю підпрограми. Якщо підпрограма є функцією, то до її локальної пам'яті додається ділянка для збереження значення, яке функція повертає. Ця ділянка ставиться у відповідність до імені функції.
Сформулюємо алгоритм виклику підпрограми.
1. Для підпрограми виділяється локальна пам'ять.
2. В локальній пам'яті обчислюється й запам'ятовується точка повернення з підпрограми.
3. Обчислюються значення аргументів, що відповідають параметрам-значенням, і адреси аргументів, що відповідають параметрам-змінним. Здійснюється підстановка аргументів.
4. Виконуються оператори тіла підпрограми. Якщо підпрограма є функцією, то у локальній пам'яті запам'ятовується значення, яке функція повертає.
5. Здійснюється повернення з підпрограми. Якщо підпрограма є функцією, то з локальної пам'яті підпрограми до сегмента даних копіюється значення, яке функція повергає. Управління передається команді, що адресується точкою повернення з підпрограми.
6. Ділянка оперативної пам'яті, що була задіяна під локальну пам'ять, вважається вільною.
Виконання основної програми починається після завантаження її коду в оперативну пам'ять комп'ютера. При цьому відбувається виділення пам'яті для її змінних. Ці змінні доступні з програми протягом усього часу її виконання, і тому називаються статичними. Область пам'яті, що виділяється під програму та її змінні, також називається статичною. Під час виконання викликів підпрограм пам'ять виділяється та звільняється автоматично, без явних вказівок у програмі.
Виділення та звільнення ділянок пам'яті під час виконання викликів підпрограм відбувається за принципом «останнім прийшов — першим пішов». Якщо складати книжки в стопку і брати їх тільки зверху, то книжка, що потрапила у стопку останньою, забирається першою. Така стопка називається стеком (stack). Тому автоматична пам'ять, що виділяється для підпрограм, програм називається ще програмним стеком.
– Конец работы –
Эта тема принадлежит разделу:
Підпрограми їх різновиди та способи використання... Процедури користувача... Процедури без параметрів...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процес виклику підпрограми. Програмний стек
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов