Assembler для начинающих


         

Функции DOS - часть 2


    программе нужно обрабатывать их иначе, то она может изменить вектор
    прерывания.
 
      В качестве примера рассмотрим прерывание 24H - обработку
    неустранимой ошибки. Всякий раз обнаруживая ошибку система
    инициирует прерывание. Обычно соответствующий вектор указывает на
    программу в DOS, которая выводит на дисплей сообщение об ошибке. В
    случае ошибки, связанной с диском, DOS выводит сообщение о дисковой
    ошибке. Пользователь может по своему усмотрению сделать повторную
    попытку выполнения операции, вызвавшей ошибку, либо закончить
    выполнение, либо пропустить операцию, вызвавшую ошибку.
    Предположим, например, что вы пишите программу форматирования
    дискет. Это операция, в ходе которой на поверхности дискеты
    происходит физическая разметка дорожек и секторов. Вместе с
    форматированием дискеты проверяется отсутствие сбойных участков.
    Последняя операция называется верификацией дискеты. Так как при
    верификации допускается присутствие на дискете одно-двух сбойных
    участков, то вы специальным образом помечаете эти участки, чтобы в
    дальнейшем их случайно не использовать. Данная программа
    форматирования заменяет обработку неустранимых ошибок. Вам не
    нужно, чтобы DOS выводила для пользователя сообщение об ошибке.
    Вместо этого вы хотите, чтобы обработка ошибки верификации
    происходила в самой программе, и соответствующий участок на диске
    помечался как сбойный. Для этого вы заменяете вектор прерывания в
    ячейке 0:0090H(24H*4) указателем на свою подпрограмму обработки
    ошибок. Когда DOS зафиксирует дисковую ошибку, ваша подпрограмма
    может пометить это место как сбойный участок, никак не уведомляя об
    этом пользователя.
 
      Прерывания 25H и 26H связывают между собой две части системы. С
    точки зрения своей файловой структуры DOS фактически состоит из
    двух компонент. Одна из них, IBMBIO.COM, включает программы
    непосредственного доступа к аппаратным средствам. Другая,



Содержание  Назад  Вперед