Защищенный режим процессоров Intel 80286,80386,80486.1993


Phar Lap DOS-экстендер


В состав Phar Lap DOS-экстендера входят транслятор для языка Си hc386.exe, ассемблер 386asm.exe, редактор связей 386link.exe, отладчик minibug.exe и программа загрузки run386.exe.

С помощью транслятора языка Си или ассемблера получаются объектные модули, которые компонуются редактором связей 386link.exe в загрузочный модуль. Этот загрузочный модуль имеет расширение "exp" и запускается при помощи программы загрузки run386.exe. Полученный загрузочный модуль может работать только на процессорах i80386 или i80486. Версия 2.2 Phar Lap DOS-экстендера не поддерживает интерфейс DPMI, поэтому разработанные с использованием экстендера этой версии программы не будут работать на виртуальной машине WINDOWS в режиме "Enhanced 386 Mode".

Phar Lap DOS-экстендер предоставляет программе, которая получает управление сразу в защищённом режиме, возможность использовать документированные прерывания MS-DOS и BIOS. Кроме того, в рамках прерывания INT 21h DOS-экстендером реализуются дополнительные функции, связанные с работой в защищённом режиме.

Для того, чтобы у вас было представление о возможностях Phar Lap DOS-экстендера, приведём таблицу дополнительных функций, реализованных в рамках прерывания INT 21h:

Таблица 13. Функции Phar Lap DOS-экстендера.

Регистр AXВыполняемая функция
2501hУстановка в исходное состояние структур данных DOS-экстендера.
2502hПолучить вектор прерывания защищённого режима.
2503hПолучить вектор прерывания реального режима.
2504hУстановить вектор прерывания защищённого режима.
2505hУстановить вектор прерывания реального режима.
2506hУстановить режим, при котором прерывание будет всегда обрабатываться в защищённом режиме.
2507hУстановить вектора прерываний реального и защищённого режима.
2508hУстановить линейный базовый адрес сегмента.
2509hПреобразовать линейный адрес в физический
250AhОтобразить физическую память в конце сегмента.
250ChПолучить вектора аппаратных прерываний.
250DhПолучить информацию связи с реальным режимом.
250EhВызвать процедуру реального режима.
250FhПреобразовать адрес защищённого режима в адрес реального режима.
2510hВызвать процедуру реального режима с заданным содержимым регистров.
2511hВызвать прерывание реального режима с заданным содержимым регистров.
2512hЗагрузить программу для отладки.
2513hСоздать алиасный дескриптор сегмента (т.е. для заданного дескриптора создаётся ещё один, указывающий на тот же сегмент).
2514hИзменить атрибуты сегмента.
2515hПолучить атрибуты сегмента.
2516hОсвободить всю память, распределённую при помощи LDT.
2517hПолучить информацию о буферах данных DOS.
2518hОпределить драйвер для обработки перемещения сегмента.
2519hПолучить дополнительную информацию об ошибке памяти.
251AhЗафиксировать страницы в памяти.
251BhРасфиксировать страницы.
251ChОсвободить страницы физической памяти.
251DhПрочитать элемент таблицы страниц.
251EhЗаписать элемент таблицы страниц.
251FhОбменять элементы таблицы страниц.
2520hПолучить статистическую информацию о памяти.
2521hМаксимальный размер доступной программам расширенной памяти.
2522hОпределить альтернативный драйвер, обрабатывающей ситуацию отсутствия страницы в памяти.
2525hМаксимальный размер доступной программам стандартной памяти.
25C0hПолучить блок стандартной памяти MS-DOS.
25C1hОсвободить блок стандартной памяти MS-DOS.
25C2hИзменить размер блока стандартной памяти MS-DOS.
25C3hВыполнить программу.



Начало  Назад  Вперед



Книжный магазин