Assembler - язык неограниченных возможностей

         

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


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

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



Содержание раздела