Случайное
Старые записи

Команды подпрограммы

Команды подпрограммыСвязь между основной программой и подпрограммой осуществляется в приведенном примере с помощью команды BALR, яв — ляющейея командой безусловного перехода. По этой команде выполняется переход по адресу, содержащемуся в регистре, номер которого задается вторым операндом. Перед выполнением перехода в регистр, указанный первым операндом, помещается адрес команды, следующей за командой BALR. В приведенной программе в регистр 14, используемый в команде BALR для адреса перехода, загружается адрес первой команды подпрограммы. Для сохранения адреса возврата в основную программу используется регистр 13. Таким образом, по команде BALR выполнится безусловный переход на первую команду подпрограммы, а в регистре 13 сохранится адрес возврата. Для перехода к подпрограмме можно было использовать и команду BAL формата RX: BAL 13,РР. Но при этом необходимо проследить, чтобы для базирования адреса РР существовал доступный регистр базы. В описываемом случае перед командой BAL 13, РР необходимо было бы поместить команду USING РР, 14, а команду USING*, 14 из подпрограммы убрать.

После выполнения подпрограммы безусловный переход по адресу в регистре 13 обеспечивает выход в ту точку основной программы, откуда выполнялось обращение к подпрограмме. С помощью команды условного перехода выход из подпрограммы можно организовать в разные точки основной программы.

Новое на сайте
Интересные записи
7c7cf2addf7598dc