Cтраница 2
При выполнении одной из макрокоманд LINK, LOAD, XCTL или DELETE указан неверный адрес списка параметров, неверный адрес имени или элемента справочника либо неверно указана длина для элемента справочника. [16]
А или LA выходит за границы памяти или не кратен 4; в регистре 1 неверный адрес списка параметров. [17]
Параметры передаются программе, вызываемой макрокомандой XCTL, через регистр 1, куда должен быть помещен адрес списка адресов параметров. Сам список должен находиться в той части основной памяти, которая расположена вне загрузочного модуля, выдавшего XCTL, так как он может быть исключен из памяти до того, как вызываемый модуль будет использовать параметры. [18]
Если требуется дождаться выполнения нескольких событий ( окончания нескольких операций обмена), то в WAIT кодируется адрес списка ЕСВ, описывающего события, которые должны завершаться до продолжения выполнения программы. Этот список должен быть сформирован самим программистом. [19]
Почтовые списки обеспечивают: а) организацию службы: подписки; б) ведение списка рассылки; в) автоматическую посылку сообщения по всем адресам списка. [20]
Регистры ссязей ( см. 2.6) - регистры, которые используются для связей между модулями: регистры 0 и 1-для передачи параметров, регистр 1-для передачи адреса списка параметрои; регистр 13 - адрес области сохранения; регистр 14-адрес возврата; регистр 15-содержит адрес точки входа при передаче управления вызываемому модулю и код возврата при возврате управления вызывающему модулю. [21]
Функции регистра 15: при передаче управления любой другой программе в него помещается адрес входа; при передаче управления из управляющей программы в нем находится адрес точки входа; при получении макрорасширений системных макрокоманд в него засылается адрес списка параметров для управляющей программы; при возврате управления из вызываемой программы он может содержать код возврата. [22]
Адрес списка параметров не кратен 4 или список параметров выходит за границы области памяти пункта задания. [23]
![]() |
Вставка узла на нужное место в списке. [24] |
Символы вставляются в список в алфавитном порядке. Функции insert передаются адрес списка и символ, который необходимо вставить. Адрес списка необходим, когда значение должно быть вставлено в начало списка. Передача адреса списка позволяет модифицировать список ( т.е. указатель на первый узел списка) через вызов по ссылке. [25]
Исполнительная форма макрокоманды OPEN использует список параметров, построенный по макрокоманде OPEN в списковой форме. В этой макрокоманде операнд адрес списка параметров означает символический адрес соответствующей макрокоманды в списковой форме. [26]
В первом операнде этой макрокоманды адрес выходного списка не кратен 4 или длина списка выходит за пределы памяти, отведенной пункту задания. [27]
![]() |
Пример межпрограммных связей ( Банк-ОС. [28] |
В среде Ассемблера оператор LIST является исполнительным и должен выполняться после OPENB в головной программе и LINKB в подчиненных программах, но перед вызовом подпрограммы. Оператор LIST выдает на РГ1 адрес списка параметров, предназначенного для операторов LINKB и FREEB в подпрограмме. [29]
Для процедур, реализующих специальные встроенные функции ( класса FSUBR-у них, как было сказано в разд. Ему при обращении к этой процедуре присваивается адрес списка аргументов обращения к данной встроенной функции. [30]