Cтраница 1
![]() |
Употребление оператора ENTRY. [1] |
Библиотечная подпрограмма сокращает время, затрачиваемое на составление программ. От пользователя готовой подпрограммой, вообще говоря, не требуется той квалификации, которая необходима ее составителю. [2]
Библиотечная подпрограмма состоит из ряда команд ( собственно подпрограммы) и ряда относящихся к ней чисел. Числа, относящиеся к подпрограмме, называют ее константами и делят на три группы: числовые константы, константы переадресации и константы восстановления. [3]
Замкнутые библиотечные подпрограммы составлены в окончательном конкретном виде и должны быть введены в определенное место памяти. Включение их в основную программу состоит в том, что в основной программе ставится несколько команд для переноса исходных для подпрограмм данных во входные ячейки подпрограммы и, кроме того, ставится команда, передающая управление первой из команд подпрограммы. В конце подпрограммы ставится команда возврата к основной программе. Результаты работы подпрограммы получаются в выходных ячейках подпрограммы. В машинах, имеющих команды условного или безусловного перехода с возвратом ( вроде команды 27 Стрелы), библиотечная подпрограмма оканчивается холостой командой, занимающей ячейку, предназначенную для автоматической записи в нее команды возврата к основной программе. В этом случае подпрограмма не содержит ни одной заранее неизвестной команды. [4]
Библиотечные подпрограммы периода выполнения языка Си, работающие на этапе запуска процессов, помещают копию envp в глобальный символ environ, который используется системными вызовами execv и execl. Это позволяет автоматически передавать параметры среды всем запускаемым процессам. [5]
Некоторые библиотечные подпрограммы имеют в себе часть, проверяющую работу определенных устройств. Например, подпрограммы вывода в ИС-22 ( интерпретирующей системе для БЭСМ) содержат тестовые части, проверяющие работу печатающих устройств. [6]
Включение библиотечной подпрограммы в состав основной программы заключается в том, что после изменения внутренних адресов ( в соответствии с размещением подпрограммы в оперативной памяти машины) внешние адреса подпрограммы заменяются номерами ячеек, хранящих отвечающие им команды и числа основной программы. Таким образом, для включения библиотечной подпрограммы в основную программу необходимо знать распределение ее адресов. [7]
Метод библиотечных подпрограмм и метод символических адресов обладают значительно меньшими возможностями. Эти методы охватывают лишь отдельные этапы работы универсальной программирующей программы. В частности, блок присвоения действительных адресов выполняет, по существу, ту же работу, что и программа в методе символических адресов. Стандартные программы могут применяться при работе программирующей программы в качестве нестандартных операторов. [8]
Список библиотечных подпрограмм ограничен 55 функциями. [9]
Достоинство открытых библиотечных подпрограмм состоит в возможности составления их в общем виде, а также в том, что любые две или несколько открытых подпрограмм могут быть совместно включены в общую основную программу. Недостаток их состоит в необходимости затраты труда на переписку на бланк основной программы и на присвоение буквенным номерам ячеек и адресам команд конкретных числовых значений. [10]
Всем библиотечным подпрограммам присвоены четырехзначные восьмеричные номера. [11]
![]() |
Соответствие формальных и фактических параметров-меток. а - подпрограмма. б - обращение к ней. [12] |
В библиотечных подпрограммах использование областей COMMON не рекомендуется. [13]
При этом библиотечные подпрограммы следует считать обобщенными операторами ( их обозначают буквой С), принадлежащими к классу стандартных операторов. [14]
Рассмотреть две библиотечные подпрограммы FACTOR ( А) и SOLVE ( A, X, В), в которых для простоты различные аргументы, специфицирующие размеры А или системы, опущены. Подпрограмма FACTOR вычисляет треугольное разложение на месте матрицы А. Подпрограмма SOLVE решает систему АхЬ в предположении, что матрица А представлена своим треугольным разложением. [15]