загрузка...
загрузка...
На головну

Виклик процедури і повернення з неї

  1.  B. Процес, при якому для повернення системи в початковий стан потрібні витрати енергії.
  2.  Int 21h; Виклик функції
  3.  Адаптивні перетворення генома в відповідь на виклик середовища
  4.  АЛГОРИТМИ ОБСЛУГОВУВАННЯ ВИКЛИКІВ
  5.  Квиток 39. Граматична протиставлення особистих і неособистої займенників. Схиляння особистих і поворотного займенників.
  6.  Блокуються, що не блокуються і асинхронні системні виклики.
  7.  Божа дівчина за викликом. Спогади жінки, що пройшла шлях від монастиря до панелі

Загальноприйнятим методом управління викликами процедур і поверненнями з них є використання стека. при обробці виклику процесор поміщає в стек адреса повернення. При поверненні з процедури процесор використовує адресу з вершини стека. На ріс.1.26 і 1.27 показано використання стека при роботі з вкладеними процедурами.





Часто разом з викликом процедури буває необхідно передати їй деякі параметри. Це можна зробити за допомогою регістрів; іншою можливістю є збереження параметрів в пам'яті відразу після команди виклику. У цьому випадку повернення повинен здійснюватися до комірки пам'яті, розташованої відразу після параметрів. Обидва ці підходи мають свої недоліки. При використанні передачі параметрів в регістрах необхідно узгодження викликає і викликається процедур, що гарантує однакове розподіл параметрів по регістрах. При збереженні параметрів в пам'яті ускладнюється передача змінного числа параметрів.

Велику гнучкість при передачі параметрів забезпечує стік. При обробці виклику процесор заносить в стек не тільки адресаповернення, але і параметри, що передаються викликається процедурою, яка легко може отримати доступ до них. При поверненні з процедури повернені значення також можна занести в стек, розташовуючи їх під адресою повернення. Набір всіх параметрів (включаючи адресу повернення), який зберігається при зверненні до процедури, називається кадром стека(Stack frame).

Розглянемо приклад програми, в якій використовуються процедури Р і Q. У процедурі Р оголошені локальні змінні х1 і х2, а в Q - локальні змінні у1 і у2. Процедура Q може бути викликана з Р. Схема роботи стека при виконанні такої програми показана на рис. 1.28. На цьому малюнку точка повернення з кожної процедури є першою осередком відповідного стекового кадру. Наступним зберігається покажчик на початок попереднього кадру. Це необхідно на випадок, якщо кількість або розмір заносяться в стек параметрів є змінними.




 Огляд комп'ютерних систем |  ОСНОВНІ ЕЛЕМЕНТИ |  РЕГІСТРИ ПРОЦЕСОРА |  Регістри, доступні користувачеві |  Керуючі регістри і регістри стану |  ВИКОНАННЯ КОМАНД |  Вибірка і виконання команди |  Функції вводу-виводу |  Переривання і цикл команди |  множинні переривання |

загрузка...
© um.co.ua - учбові матеріали та реферати