6.4. Расширители DOS

Расширитель DOS (DOS Extender) - это средство разработки (программа, на­бор программ, часть компоновщика или просто объектный файл, с которым нужно компоновать свою программу), позволяющее создавать 32-битные приложения, которые запускаются в защищенном режиме с моделью памяти flat и с работаю­щими функциями DPMI. Расширитель сам выполняет переключение в защищен­ный режим, причем, если в системе уже присутствует DPMI, VCPI или другие средства переключения в защищенный режим из V86, он пользуется ими, а если программа запускается в настоящем реальном режиме, DOS-расширитель пере­водит процессор в защищенный режим и осуществляет все необходимые действия для поддержания его работы. Кроме полного или частичного набора функций

DPMI, расширители DOS обычно поддерживают некоторые функции прерыва­ния 21h, за что и получили свое название. В частности, практически всегда под­держивается функция DOS 09h вывода строки на экран: в DS:EDX помещают се-лектор:смещение начала строки, и расширитель это правильно интерпретирует (многие DPMI-серверы, включая встроенный сервер Windows 95, тоже эмулиру- •

ют данную функцию DOS).

Так как при старте программы расширитель должен первым получить управ­ление, для выполнения переключения режимов его код нужно объединить с на­шей программой на стадии компиляции или компоновки.