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

Распознавание сопроцессора 80x87 в программе Windows

Операционная среда Windows и библиотека эмуляции WIN87EM.DLL

автоматически распознает наличие в системе платы сопроцессора

80x87. Если сопроцессор 80x87 имеется, то программа будет его ав-

томатически использовать. В случае же его отсутствия программа

будет использовать эмуляцию с помощью WIn87EM.DLL. Чтобы опреде-

лить наличие в системе сопроцессора 80х87, вы можете использовать

функцию GetWinFlags (которая определена в модуле WinProcs) и би-

товую маску wf_80x87 (определенную в модуле WinTypes). Например:

if GetWinFlags and wf_80x87 <> 0 then

Writeln('80x87 присутствует') else

Writeln('80x87 отсутствует');

Использование эмуляции сопроцессора 80x87 на языке ассемблера

Когда компоновка объектных файлов выполняется с директивой

{$L имя_файла}, необходимо обеспечить, чтобы эти файлы компилиро-

вать с разрешением эмуляции сопроцессора 80x87. Например, если вы

используете инструкции сопроцессора 80x87 во внешних процедурах

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

нии файлов .ASM в файлы .OBJ эмуляция разрешена. В противном слу-

чае инструкции сопроцессора 80x87 не могут эмулироваться на маши-

нах без сопроцессора 80x87. Для разрешения эмуляции используйте

параметр командной строки Турбо Ассемблера /E.

Глава 16. Модуль Dоs

С помощью модулей Dos и WinDos реализуется целый ряд прог-

рамм операционной системы и программ обработки файлов. Ни одна из

программ модуля Dos не определена в стандартном Паскале, поэтому

они помещаются в отдельный модуль.

Более полное описание операций DOS приведено в руководствах

по DOS фирмы IBM.

Основное различие модулей Dos и WinDos состоит в том, что

процедуры и функции модуля Dos используют стандартные строки Пас-

каля, а процедуры и функции модуля WinDos - строки с завершающим

нулем. Стандартная строка Паскаля - это байт длины, за которым

следует последовательность символов. Строка с завершающим нулем -

это последовательность ненулевых символов с завершающим символом

NULL (#0).

Примечание: Подробнее о различии этих строк рассказы-

вается в Главе 18.

Если вы разрабатываете только программы Windows, используйте

модуль WinDos.

Если вы разрабатываете только программы DOS, то желательно

пользоваться в программах модулем Dos, так как большинство прог-

рамм Паскаля традиционно работают со строками Паскаля. Однако,

если вы разрабатываете приложения для среды Windows, то можете

написать программу, используемую в обеих платформах - DOS и

Windows, применяя для этого модули WinDos и Strings. Windows тре-

бует использования строк с завершающим нулем. Вы можете также

воспользоваться данными модулями, если у вас есть файл данных Си,

и вы хотите его конвертировать. В языке Си используются строки с

завершающим нулем.

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