Продвижение сайта стоимость самая доступная.
Лучшие книги интернета
Материалы предоставлены только для просмотра. Любое использование материалов в коммерческих целях запрещено

61Робер Журден



    отведена область памяти за пределами головной программы. Функции
    EXEC передается только сегментный адрес, в качестве позиции, куда
    будет загружен оверлей. Когда оверлей загружается в тело головной
    программы, то программа должна вычислить номер параграфа, куда
    будет загружаться оверлей, сама. С другой стороны, при загрузке в
    специально отведенную память MS DOS обеспечивает программу номе-
    ром параграфа.
    В нижеприведенном примере используется загрузка в отведенную
    память. Поскольку DOS отводит программе всю доступную память, то
    сначала необходимо освободить память с помощью функции 4AH. Функ-
    ция 48H отводит блок памяти достаточно большой, чтобы он мог
    принять самый большой из оверлеев. Эта функция возвращает значе-
    ние сегмента блока в AX, и этот номер параграфа определяет куда
    будет загружен оверлей, а также по какому адресу оверлей будет
    вызываться головной программой. Эти функции детально обсуждаются
    в [1.3.1].
    Кроме кода 3, засылаемого в AL, Вы должны установить для этой
    функции еще два параметра. DS:DX должны указывать на строку, даю-
    щую путь к файлу оверлея, завершаемую байтом ASCII 0. Необходимо
    указывать полное имя файла, включая расширение .COM или .EXE,
    поскольку DOS в данном случае не считает, что он ищет программный
    файл.
    Наконец, ES:BX должны указывать на 4-байтный блок параметров,
    который содержит (1) 2-байтный номер параграфа, куда будет загру-
    жаться оверлей и (2) 2-байтный фактор привязки, который будет
    использоваться для привязки адресов в оверлее (привязка объяс-
    няется в [1.3.6]). В качестве номера параграфа надо использовать

Предыдущая страница    61    Следующая страница




338259249