Составители:
63 
2.5. Подпрограммы и параметры 
  Достаточно  часто  встречается  ситуация,  когда  отдельные  части 
программы  должны  выполнять  одни  и  те  же  действия  по  обработке 
данных  (например,  вычисление  тригонометрической  функции).  В 
подобных  случаях  повторяющиеся  части  программы  выделяют  в 
подпрограмму,  а  в  соответствующие  места  программы  заносят  лишь 
команды обращения к этой подпрограмме. В базовой ЭВМ для этой цели 
используется команда JSR ("Обращение к подпрограмме"). 
  На  рис.  2.6  показана  часть  основной  программы,  содержащая  две 
команды  JSR  300,  с  помощью  которых  осуществляется  переход  к 
выполнению команд подпрограммы. 
JSR 300
JSR 300
24
25
26
71
72
73
...
300
301
326
Ячейка, используемая для размещения 
адреса возврата из подпрограммы
Первая ко-
манда под-
программы
Команда 
выхода из 
подпрог-
раммы
Подпрограмма
Основная 
программа
Обращения к 
подпрограмме, 
расположенной 
в ячейках с 
300 по 326
BR (300)
...
Рис. 2.6. Обращение к подпрограмме из основной программы 
По  команде  JSR  300,  расположенной  в  ячейке  25,  выполняются 
запись  числа  25+1=26  в  ячейку  с  адресом  300  и  переход  к  первой 
исполняемой команде подпрограммы, расположенной в ячейке 301. Далее 
начинается  процесс  выполнения  команд  подпрограммы,  который 
завершается  на  команде  BR  (300),  расположенной  в  ячейке  326.  Это 
команда  безусловного  перехода  с  косвенной  адресацией.  Она 
предписывает  ЭВМ  выполнить  переход  к  команде,  расположенной  по 
адресу,  сохраняемому  в  ячейке  300.  Так  как  в  эту  ячейку  ранее  было 
занесено число 26, то будет исполняться команда, записанная в ячейке 26, 
т. е. следующая за обращением к подпрограмме. 
По  команде  JSR  300,  расположенной  в  ячейке  72,  осуществляется 
запись  числа 72+1=73  в ячейку  с  адресом 300 и начинается  выполнение 
подпрограммы  (с  ячейки  301).  При  исполнении  последней  команды 
подпрограммы  BR  (300)  будет  осуществлен  переход  к  команде, 
расположенной по адресу 73, т. е. адресу, хранимому в ячейке 300. 
Таким  образом,  при  оформлении  подпрограммы  перед  первой  ее 
командой следует разместить ячейку, в которую будет пересылаться адрес 
возврата  из  подпрограммы.  В  обращении  к  подпрограмме  указывается 
адрес  именно  этой  ячейки,  и  команда  JSR  М  выполняет  следующие 
действия: 
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »
