Выполнение подпрограммы младшей ступени

22-08-2013, 20:40
Просмотров: 621
Однако в случае, когда для выполнения подпрограммы младшей ступени требуется получение параметра из подпрограммы старшей ступени, при каждой замене адреса значение счетчика TSHC уменьшается на единицу (таких последовательных замен, а значит, и уменьшений значения счетчика, может быть несколько, пока дело не дойдет до действительного выполнения операции). После действительного выполнения операции содержимое TSHC устанавливается равным значению счетчиков PSHC.

Выполнение подпрограммы младшей ступени


Теперь вычислительная машина в состоянии автоматически выполнять все передачи управления на подпрограммы, выход с подпрограмм и операции по пересылке параметров. Все изменения адресов и косвенная адресация выполняются автоматически, и все это описывается очень простой системой правил.
В качестве примера допустим, что с основной программы (MP) должно быть произведено обращение к подпрограмме SRI, с которой управление должно быть передано на подпрограмму SRII, а с нее на третью подпрограмму SRIII, с которой управление передается на SRI. Этот цикл может повторяться бесконечно, если не будет включен какой-либо критерий его прекращения.
Команда вида «trneg» (передача управления по минусу в сумматоре) в ячейке 101 может служить для этой цели, поскольку, если проверяемое число отрицательно, начинается обратное движение («вверх») по цепочке подчиненных друг другу подпрограмм. По мере движения по этой цепочке подпрограмм «вниз» основная программа задает параметр Р0 для SRI, SRI задает параметр Pi для второй подпрограммы SRII и далее для третьей SRIII; вторая подпрограмма SRII - параметр Р2 для подпрограммы, младшей по отношению к SRIII (которая в данном случае будет SRI) и т. д.
Предположим, что счетчик команд имеет адрес 001. Это означает, что в команде со знаком «штрих» в качестве ее полуадреса может быть записана ячейка 001 (счетчик команд).

Источник: delete-it
Автор: Николай Максименко
Опубликовано пользователем: 805 (смотреть все)
Комментарии:
» » » Выполнение подпрограммы младшей ступени