Cтраница 2
В начале выполнения оверлейной программы в память загружается корневой сегмент. Выполнение программы осуществляется без участия оверлейного супервизора до тех пор, пока не встретится передача управления сегменту, расположенному ниже по пути. В этом случае, поскольку адресная константа разрешена относительно какого-то входа в ENTAB, управление передается по адресу этого входа в ENTAB. В этом поле таблицы ENTAB находится команда передачи управления к последней строке данной таблицы ENTAB. Там, в первом поле, расположена команда SVC 45, которая вызывает супервизор для выполнения. Супервизор по третьему полю входа в ENTAB определяет номер сегмента, в который должно быть передано управление, и далее работает с таблицей сегментов. [16]
При запросе на память для оверлейной программы следует учесть, что она складывается из объема самого длинного пути дерева, 1 К - супервизор, ( 4 п 24) - таблица SEGTAB, где п - число сегментов, 12 ( х 1) - таблица входов, где х - число элементов в таблице входов, и ( 4 п 8) - для примечаний. [17]
При выполнении макрокоманды SEGWT в оверлейной программе была указана загрузка исключающего сегмента. [18]
Для указания Редактору связей конкретной структуры создаваемой оверлейной программы в задании на редактирование необходимо сообщить расположение сегментов оверлейной структуры и порядок включения секций в сегменты. [19]
При оценке памяти, необходимой для выполнения оверлейных программ, необходимо учитывать и присутствие самого Супервизора перекрытий, и наличие специальных оверлейных таблиц, формируемых Редактором связей. Именно этими таблицами пользуется Супервизор перекрытий при управлении сегментами оверлейных программ. [20]
Оператор OVERLAY определяет начало и указывает имя сегмента или области оверлейной программы. [21]
При выполнении макрокоманды LINK, XCTL, ATTACH или LOAD в оверлейной программе недостаточно памяти для вызываемой программы и оверлейного супервизора. [22]
Если программные сегменты связаны посредством оператора OVERLAY ( в так называемых оверлейных программах), то в общей структуре программы выделяют главный ( или корневой) сегмент и сегменты модификации. [23]
В оверлейной программе запрашивается несовместимый сегмент. [24]
Оверлейные таблицы бывают двух видов: Таблица сегментов SECTAB и Таблицы входов ENTAB. Каждая таблица оформляется как секция оверлейной программы. В оверлейной программ содержится только одна Таблица сегментов, которая оформлена как первая секция корневого сегмента. В этой таблице имеются сведения обо всех сегментах программы, областях программы, в ней же Супервизор перекрытий отмечает, какие сегменты в каждый момент находятся в основной памяти и какие необходимо загружать. Таблица входов оформляется как последняя секция каждого сегмента, кроме сегментов, являющихся в дереве структуры вершинами. В таблице входов формируется указатель для ссылки из данного сегмента к сегменту или сегментам, расположенным дальше по цепочкам от корневого сегмента. На рис. 11.7 представлена структура программы, изображенной на рис. 11.6, с учетом оверлейных таблиц. [25]
При оценке памяти, необходимой для выполнения оверлейных программ, необходимо учитывать и присутствие самого Супервизора перекрытий, и наличие специальных оверлейных таблиц, формируемых Редактором связей. Именно этими таблицами пользуется Супервизор перекрытий при управлении сегментами оверлейных программ. [26]
Директива ORG используется для указания адресов и указания пространства памяти и отображения изменений. ORG также может обозначать неявный переключатель режима счетчика в ассемблере и служить как механизм для инициализации оверлейных программ. [27]
Приведен один из наиболее привлекательных для пользователя персональных ЭВМ язык программирования БЕЙСИК, который имеет удобный редактор текстов, встроенные средства отладки программ, нетребователен к базовым знаниям программиста. В то же время язык БЕЙСИК полезен опытным специалистам, так как среди его достоинств выделяются наличие средств структурирования программ, организация оверлейных программ, возможность обращения к программам, написанным на других языках, развитые звуковые и графические средства. [28]
Здесь на помощь приходит сочетание возможностей БЕЙСИК-системы при работе с файлами данных последовательного доступа и с файлами программ. Достаточно условиться ( внутри самой программы), что один и тот же файл будет сначала использован в качестве файла последовательного доступа для записи данных, а затем его строки будут интерпретироваться как строки программного сегмента для оверлейной программы. [29]
Существует возможность в некоторых случаях реализовывать перекрытие секций, находящихся в одной цепочке структуры программы. Пусть три секции А, В к С, как показано на рис. 11.8, аг расположены последовательно в одной цепочке. Тогда при соблюдении некоторых условий программист может создать оверлейную программу с перекрывающимися сегментами В и С. [30]