ВУЗ:
Составители:
155
5.7 Заключительные замечания
В заключение дадим некоторые рекомендации, к которым стоит
прислушаться при написании и отладке драйверов.
• Для отладки и проверки драйверов всегда следует пользоваться
тестовым загрузочным диском. Это:
− изолирует проверку от стандартной рабочей среды
− предотвращает "зависание" ЭВМ при загрузке DOS
• Драйвер должен начинаться с 0, а не с 100h
• Драйвер должен быть COM-программой.
− в момент загрузки драйвера DOS еще не загрузила файл
COMMAND.COM, который занимается загрузкой ЕХЕ-программ в
память для преобразования ЕХЕ-программы, полученной после
работы TLINK, в СОМ-программу следует использовать утилиту
EXE2BIN
• Следует тщательно следить за структурой данных заголовка запроса
− многих ошибок можно избежать, используя понятие
структуры
данных (struc)
• В поле связи заголовка устройства должна быть -1 – DOS заменит
значение этого поля на соответствующее значение
− если в этом поле будет не -1, DOS поймет это как наличие второго
драйвера. Если на самом деле его нет, возможны неприятности.
• Следует тщательно устанавливать биты атрибутов в заголовке
устройства
− по значению
поля атрибутов DOS определяет тип устройства. При
неправильной установке битов атрибутов могут не отрабатываться
функции, имеющиеся в данном драйвере, а также возможны попытки
реагировать на функции, отсутствующие в драйвере.
• Основная процедура должна быть дальней (far)
− в противном случае возможны неприятности со стеком (со всеми
вытекающими из этого последствиями).
• Все переменные
должны адресоваться в сегменте кода (CS)
− по умолчанию транслятор ассемблера относит переменные к
сегменту данных (DS). Для отнесения переменных к сегменту кода
следует
o либо использовать префикс (cs:)
o либо определить значение DS:
push cs mov ax,cs
pop ds mov ds,ax
• Правильно ли содержимое регистров ES:BX при формировании слова
состояния
155 5.7 Заключительные замечания В заключение дадим некоторые рекомендации, к которым стоит прислушаться при написании и отладке драйверов. • Для отладки и проверки драйверов всегда следует пользоваться тестовым загрузочным диском. Это: − изолирует проверку от стандартной рабочей среды − предотвращает "зависание" ЭВМ при загрузке DOS • Драйвер должен начинаться с 0, а не с 100h • Драйвер должен быть COM-программой. − в момент загрузки драйвера DOS еще не загрузила файл COMMAND.COM, который занимается загрузкой ЕХЕ-программ в память для преобразования ЕХЕ-программы, полученной после работы TLINK, в СОМ-программу следует использовать утилиту EXE2BIN • Следует тщательно следить за структурой данных заголовка запроса − многих ошибок можно избежать, используя понятие структуры данных (struc) • В поле связи заголовка устройства должна быть -1 – DOS заменит значение этого поля на соответствующее значение − если в этом поле будет не -1, DOS поймет это как наличие второго драйвера. Если на самом деле его нет, возможны неприятности. • Следует тщательно устанавливать биты атрибутов в заголовке устройства − по значению поля атрибутов DOS определяет тип устройства. При неправильной установке битов атрибутов могут не отрабатываться функции, имеющиеся в данном драйвере, а также возможны попытки реагировать на функции, отсутствующие в драйвере. • Основная процедура должна быть дальней (far) − в противном случае возможны неприятности со стеком (со всеми вытекающими из этого последствиями). • Все переменные должны адресоваться в сегменте кода (CS) − по умолчанию транслятор ассемблера относит переменные к сегменту данных (DS). Для отнесения переменных к сегменту кода следует o либо использовать префикс (cs:) o либо определить значение DS: push cs mov ax,cs pop ds mov ds,ax • Правильно ли содержимое регистров ES:BX при формировании слова состояния
Страницы
- « первая
- ‹ предыдущая
- …
- 153
- 154
- 155
- 156
- 157
- …
- следующая ›
- последняя »