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

Справочник программиста на персональном компьютере фирмы IBM62



    число, возвращаемое в AX, для номера параграфа отведенного блока
    памяти. Фактор привязки дает смещение, по которому могут быть
    вычислены адреса требующих привязки параметров в оверлее. Исполь-
    зуйте номер параграфа, куда загружается оверлей. После того как
    он установлен, вызовите функцию и оверлей будет загружен. Просто
    изменяя путь к оверлейному файлу, можно вновь и вновь вызывать
    эту функцию, загружая все новые и новые оверлеи. Если при возвра-
    те установлен флаг переноса, то была ошибка и ее код будет возв-
    ращен в AX. Код равен 1, если указан неверный номер функции, 2 -
    если файл не найден, 5 - при дисковых ошибках и 8 - при отсутст-
    вии достаточной памяти.
    После того как оверлей загружен в память, к нему можно полу-
    чить доступ как к далекой (far) процедуре. В сегменте данных
    должен быть установлен двухсловный указатель, определяющий этот
    вызов. Сегментная часть указателя просто равна текущему кодовому
    сегменту. Смещение оверлея должно быть вычислено нахождением
    разницы между сегментами кода и оверлея и умножением результата
    на 16 (переводя величину из параграфов в байты). В нижеприведен-
    ном примере две переменные OVERLAY_OFFSET и CODE_SEG помещены
    одна за другой для правильной установки указателя. Однажды загру-
    женный, оверелей затем можем вызываться инструкцией CALL DWORD
    PTR OVERLAY_OFFSET.
    Оверлей может быть полной программой со своими сегментами
    данных и стека, хотя как правило используется стековый сегмент
    вызывающей программы. При вызове оверлея значение сегмента его
    собственного сегмента данных должно быть помещено в DS.
    ;-завершаем программу фиктивным сегментом (см. [1.3.1]):

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




1401708186