Надеюсь, что резидентную программу для MS DOS вы написали как и положено, в виде исполняемого *.com файла.
MyInt: ;точка входа в обработчик
push ax
mov word ptr cs:StkPtr,sp ;сохранение указателя на системный стек
mov ax,ss
mov word ptr cs:StkPtr+2,ax ;сохранение сегментной части адреса системного стека
mov ax,cs ;установка сегментной части собственного стека
mov ss,ax
mov sp,MyStkPtr ;установка указателя на собственный стек
pusha
;Здесь ваш обработчик что-то делает
popa
lss sp,cs:StkPtr ;Восстановление системного стека (сегментной части и указателя)
pop ax
iret ;выход из обработчика
StkPtr dd ? ;Здесь сохраняется адрес системного стека
MyStk dw 80h dup (?) ;Область собственного стека обработчика
MyStkPtr equ offset $ ;Адрес указателя на свой стек
end start