|
Программа 2 длиннее на 4 команды (не считая ячейки возврата), чем программа 14.2.1, и соответственно больше время ее работы. Кроме того, для нее необходимы две заготовки гх и г2. Но зато обращение к ней можно написать в виде (обозначения те же, что в программе 1). Здесь уже заготовки не нужны, тогда как в программе 1 потребовались две заготовки, к тому же зависящие от параметров обращения. Следует учесть, что подпрограмма составляется один раз, а обращения к ней пишутся после этого многократно. Поэтому небольшое усложнение подпрограммы и еще менее существенное, на первый взгляд, упрощение команд обращения на деле оборачиваются большой экономией общего труда программистов — тем большей, чем чаще применяется данная подпрограмма в разных программах. На тех машинах семейства М-20, на которых есть операции И <:К и И ^ К у программа 2 может быть сокращена. Надобность в командах рн + 2 и рн+3, формирующих команду р2, а также в заготовке г2 отпадает, так каш команду р2 можно записать в виде р2 1 И<К пг fH 1 Итак, мы несколько обогатили чересчур примитивную схему связи модулей, описанную в § 4, Теперь в ячейки х{, xjk модуля My, выделенные для засылки в них параметров обращения, эти параметры могут засылаться в одном из трех видов. В случае параметра-значения вид его произволен и для его засылки по-преж-нему .применяется команда о пч ^ 0 4 (2) Параметр-адрес засылается в ячейку xf, как правило, в виде о АИ о хд о (3) Для этого используется команда вида 2 АИ хд 0 х^ Из этого общего правила пересылки пар аметров - ад р есов целесообразно сделать исключение, если параметр хд является адресом передачи управления. Такой параметр, как мы отмечали уже в § 4, естественно передавать в виде кода команды о пв о хд о (4) используя для этого команду засылки г О ПВ xq r+l xfq
|