|
|
|
|
Прерывание 2Eh(46). "Черный ход" для командного процессора
Обычно для обработки команды с помощью командного процессора
COMMAND.COM используется функция EXEC (функция 4Вh прерывания
"int 21h"). Однако, альтернативный, быстрый и "грубый" метод выполнения той же функции обеспечивает прерывание "int 2Eh". Чтобы
выполнить какую-либо команду операционной системы MS-DOS, вначале
уплотняется память с целью выделения места для новой программы
(как и в случае функции 4Вh прерывания "int 21h" ), затем заносят
в регистр DS:SI указатель на строку параметров данной команды и в
конце обрабатывается прерывание "int 2Eh". Первый байт в строке
параметров данной команды - это длина строки, за ней следует сама
строка (например, CHKDSK C:), которая заканчивается символом
"возврат каретки" (0Dh).
Этот завершающий символ считается частью длины строки. После
того как прерывание "int 2h" обработано, важным моментом является
обнуление стека, поскольку в результате прерывания "int 2h" содержимое регистров SS и SP может не сохраниться.
|
|