Cтраница 4
При составлении библиотечной подпрограммы удобно ее команды, числовые константы, константы переадресации, константы восстановления и рабочие ячейки считать расположенными в виде сплошных массивов. Из дальнейшего читатель увидит, что и для автоматического включения подпрограммы в состав основной программы такое распределение адресов подпрограммы представляет большие удобства. Будем поэтому предполагать, что в библиотечной подпрограмме команды, константы каждого вида ( числовые, переадресации, восстановления) и рабочие ячейки представлены в виде массивов. [46]
По макрокоманде PRTOV проверяется наличие пробивки в указанной дорожке ( 9 - й или 12 - й) на управляющей перфоленте АЦПУ. Если же в макрокоманде указан адрес подпрограммы, то при наличии пробивки в данной дорожке происходит переход по адресу подпрограммы, которая обрабатывает конец страницы. [47]
Для управления режимом обработки прерываний используется сигнал на выводе AVEC. При нулевом значении этого сигнала младший байт данных на 32-разрядной шине в момент возникновения прерывания интерпретируется как указатель элемента таблицы адресов подпрограмм обработки прерываний. При единичном значении сигнала на выводе AVEC значение указателя генерируется автоматически в соответствии с уровнем приоритета возникшего прерывания. [48]
В третьем разделе технического руководства PC особое внимание уделяется различным векторам, содержащим специальную информацию. Их содержимое определяет адрес записи в памяти ПК ( в ОЗУ или ПЗУ), где помещен или куда будет загружен адрес подпрограммы, которая выполняется при заданных условиях. То есть при возникновении прерывания ПК использует содержимое этого вектора, чтобы узнать, что делать дальше. Чтобы быть более точным, после возникновения прерывания содержимое этого вектора определяет адрес передачи управления процедуре, обрабатывающей данное прерывание. [49]
![]() |
Оформление программы в виде подпрограммы. [50] |
К первой ячейке подпрограммы обращаются косвенно по команде БП при выходе из подпрограммы. Таким образом, для того чтобы участок программы превратить в подпрограмму, необходимо одну ячейку перед началом этого участка выделить для адреса возврата ( адрес этой ячейки будет в дальнейшем - являться адресом подпрограммы), а в конце участка добавить команду БП е косвенным адресованием по начальному адресу. [51]
![]() |
Структурная схема подключения контроллера прерываний к МПВУ. [52] |
С приходом каждого из двух оставшихся сигналов ППР ведомая микросхема, запрограммированный номер которой совпал с кодом, находящимся на шине КАС2 - КАСО, выдает на ШД второй и третий байты команды CALL, содержащие адрес подпрограммы обслуживания прерывания. [53]
Поля расширения базового сегмента заполняют. Операнд EODAD задает адрес подпрограммы обработки конца данных для входного набора, операнд EXLST - адрес списка выходов ( разд. [54]