Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Управление селектором

Прикладной программе обычно не требуется манипулировать се-

лекторами, но в отдельных ситуациях полезно использовать следую-

щие подпрограммы обслуживания селектора:

Подпрограммы API управления селектором Таблица 17.5

------------------------T---------------------------------------

¦ Функция ¦ Описание ¦

+-----------------------+---------------------------------------+

¦ AllocDStoCSAlias ¦ Отображает селектор сегмента данных на¦

¦ ¦ селектор сегмента кода. ¦

+-----------------------+---------------------------------------+

¦ AllocSelector ¦ Выделяет новый селектор. ¦

+-----------------------+---------------------------------------+

¦ ChangeSelector ¦ Генерирует селектор кода, соответству-¦

¦ ¦ щий заданному селектору данных, или¦

¦ ¦ генерирует заданный селектор, соот-¦

¦ ¦ ветствующий селектору кода. ¦

+-----------------------+---------------------------------------+

¦ FreeSelector ¦ Освобождает селектор, первоначально¦

¦ ¦ выделенный функциями AllocDStoCSAlias¦

¦ ¦ или AllocSelector. ¦

+-----------------------+---------------------------------------+

¦ GetSelectorBase ¦ Дает базовый адрес селектора. ¦

+-----------------------+---------------------------------------+

¦ GetSelectorLimit ¦ Возвращает предельное значение для за-¦

¦ ¦ данного селектора. ¦

+-----------------------+---------------------------------------+

¦ PrestoChangoSelector¦ Генерирует селектор кода, соответству-¦

¦ ¦ ющий заданному селектору данных, либо¦

¦ ¦ генерирует селектор данных, соответс-¦

¦ ¦ твующий селектору кода. ¦

+-----------------------+---------------------------------------+

¦ SetSelectorBase ¦ Устанавливает базовый адрес селектора.¦

+-----------------------+---------------------------------------+

¦ SetSelectorLomit ¦ Устанавливает предельное значение се-¦

¦ ¦ лектора. ¦

L-----------------------+----------------------------------------

Другие подпрограммы api

Администратор этапа выполнения поддерживает следующие допол-

нительные подпрограммы API:

Прочие подпрограммы API Таблица 17.6

--------------------T-------------------------------------------

¦ Функция ¦ Описание ¦

+-------------------+-------------------------------------------+

¦ DOS3Call ¦ Вызывает функцию прерывания DOS 21h; вызы-¦

¦ ¦ вается только из подпрограмм ассемблера. ¦

+-------------------+-------------------------------------------+

¦ FatalExit ¦ Передает отладчику текущее состояние опе-¦

¦ ¦ рационной среды защищенного режима и вы-¦

¦ ¦ выводит подсказку для ввода инструкций о¦

¦ ¦ продолжении работы. ¦

+-------------------+-------------------------------------------+

¦ GetDOSEnviroment¦ Определяет текущую строку операционной¦

¦ ¦ среды задачи. ¦

+-------------------+-------------------------------------------+

¦ GetVersion ¦ Дает текущую версию операционной среды¦

¦ ¦ Windows или операционной системы DOS. ¦

+-------------------+-------------------------------------------+

¦ GetWinFlags ¦ Дает используемые Windows флаги конфигура-¦

¦ ¦ ции памяти. ¦

+-------------------+-------------------------------------------+

¦ MessageBox ¦ Создает, выводит на экран и обслуживает¦

¦ ¦ окно сообщений. ¦

L-------------------+--------------------------------------------

Совместно используемая DLL, чтобы определить, выполняется ли

она в защищенном режиме DOS или под Windows, может использовать

функцию GetWinFlags, например:

if GetWinFlags and wf_DPMI <> 0 then

Message('Работа в защищенном режиме DOS')

else

Message('Работа в среде Windows');

Соседние файлы в предмете Программирование на Pascal