Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Навигация
Такой регистр называется регистром связи. Когда работа подпрограммы завершается, команда Return возвращает управление вызывающей программе, выполняя неявный переход через регистр связи.
Особой разновидностью команды перехода является команда Call, выполняющая такие операции, как сохранение содержимого регистра PC в регистре связи и переход по указанному в команде целевому адресу. Команда Return также является разновидностью команды перехода, но она выполняет переход по адресу, заданному в регистре связи. Этот процесс проиллюстрирован на рис. 6.5.

Рис. 6.5. Связывание подпрограммы через регистр связи
Вложенность подпрограмм и стек процессора
В программировании очень распространена практика вызова одних подпрограмм из других. Такие подпрограммы, вызываемые друг из друга, называются вложенными. Если вложенные вызовы будут реализованы по описанной выше технологии, вторая команда Call сохранит адрес возврата в регистре связи, уничтожив его текущее содержимое, после чего возврат в исходную программу станет не возможным. Поэтому перед вызовом очередной подпрограммы нужно где-то сохранять содержимое регистра связи.
<< назад вперед >>