Page 107 - 4875
P. 107
call dword ptr old_int_handler ;виклик старого
обробника переривання
– ;власні функції обробника
pop a ;відновлення стану
регістрів
iret ;завершення роботи
обробника
oldint_handler dd ? ;попередньо збережений
адрес
старого обробника
end p
Для встановлення нового значення вектора переривання
використовуються наступні способи:
1 Безпосередня робота з таблицею векторів переривань.
2 Використання функцій DOS для встановлення резидентної
частини.
Найбільш швидкий метод – це робота з таблицею. При його
реалізації обов’язково перед початком зміни таблиці заборонити будь
які переривання Cli і після завершення зміни обов’язково дозволити
роботу переривань Sti.
code segment
ОRG 100h
ASSUME ds:code, cs:code
Start:
JMP install
Old_int_ip dw ?
Old_int_es dw ?
tsr:
- ;код програми обробника
iret
install:
- ;код інсталяції
резидентної частини
mov dx, offset install
106