Анализ стека
Для определения номера функции MS-DOS, в которой произошла критическая ошибка, программа-обработчик может выполнить анализ стека. Когда обработчик получает управление, стек имеет следующую структуру:
Адрес возврата в DOS для команды IRET | |
IP | |
CS | |
FLAGS | |
Содержимое регистров программы перед вызовом INT 21h | |
AX, BX, CX, DX, SI, DI, BP, DS, ES | |
Адрес возврата в программу, вызвавшую функцию DOS | |
IP | |
CS | |
FLAGS |
Выполнив анализ регистра AH, можно определить номер функции MS-DOS, при вызове которой произошла ошибка, а зная содержимое остальных регистров - и все параметры этой функции.