Флаг прерывания
С помощью функции 33h программа может проверить или установить флаг прерывания при помощи комбинации клавиш <Ctrl+Break> и, кроме того, узнать номер диска, с которого выполнялась загрузка операционной системы:
На входе: | AH | 33h |
AL | Код операции: 0 - Проверить текущее состояние флага прерывания при помощи комбинации клавиш <Ctrl+Break> ; 1 - Установить флаг прерывания при помощи комбинации клавиш <Ctrl+Break>; 5 - Определить номер диска, который был использован для загрузки операционной системы |
|
DL | Значение флага прерывания при помощи комбинации клавиш <Ctrl+Break> операции с кодом 1:0 - запретить прерывание,1 - разрешить прерывание | |
На выходе: | DL | Текущее состояние флага прерывания при помощи комбинации клавиш <Ctrl+Break> для операции с кодом 0; Номер диска, использованного для загрузки операционной системы для операции 5 (1 - А:, 2 - В:, и т. д.) |
Сведения о диске, который был использован для загрузки операционной системы, могут понадобиться вам, например, для поиска файла командного интерпретатора.
Состояние флага прерывания при помощи комбинации клавиш <Ctrl+Break> влияет на возможность прервать выполнение программы. Если прерывание запрещено, MS-DOS проверяет эту комбинацию клавиш только при вызове функций стандартного ввода/вывода на консоль, принтер и последовательный порт. Если же прерывание разрешено, указанная комбинация клавиш проверяется и при вызове других функций MS-DOS. Если пользователь нажал комбинацию клавиш <Ctrl+Break>, операционная система выполняет прерывание INT23h , которое завершает работу текущей программы.