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


Способы объединения программы с расширителем - часть 2


Компоновка с WDOSX (самый универсальный расширитель):

wlink file lfbfire.obj form os2 le op stub=wdosxle.exe

И так далее.

К сожалению, формат исполнимых файлов DOS (так называемый формат MZ), который по умолчанию создают другие компиляторы, крайне неудобен для объединения с расширителями, хотя универсальный расширитель WDOSX способен обработать и такой файл, и даже просто файл с 32-битным кодом без всяких заголовков (какой можно получить, создав СОМ-файл с директивой org 0), и файл в формате РЕ (см. главу 7), хотя и не во всех случаях такие программы будут работать успешно.

И наконец, третий подход к объединению расширителя и программы можно видеть на примере DOS32, в состав которого входит программа dlink.exe, являющаяся компоновщиком, который вполне подойдет вместо link, tlink или wlink, чтобы получить исполнимый файл, работающий с этим расширителем.

Тем не менее популярность подхода, используемого в Watcom, настолько высока, что подавляющее большинство программ, применяющих идею расширителей DOS, написано именно на Watcom С или на ассемблере для WASM.

Прежде чем мы сможем написать обещанный в главе 4.5.2 пример программы, работающей с линейным кадровым буфером SVGA, познакомимся еще с двумя группами функций DPMI, которые нам потребуются.





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