Команда INT отличается от команды CALL.
Команда
INT n работает следующим образом:
· запоминает в стек регистр флагов (здесь и ниже будет предполагаться, что при запоминании в стек указатель SP предварительно уменьшается на 2, как в команде PUSH);
· очищает флаги TF и IF;
· запоминает в стек регистр CS;
· запоминает в стек регистр IP;
· передает управление на подпрограмму обработки прерывания n, адрес сегмента которой будет находиться по адресу 4n+2, а смещение – по адресу 4n.
Передача управления производится с помощью передачи в пару регистров CS:IP сегмента и смещения, которые находятся по адресу 4n. Подпрограмма обработки прерывания выполняет необходимые действия и возвращает управление на команду, следующую за командой INT. Управление передается с помощью команды IRET, которая не только восстанавливает значения CS и IP, но и восстанавливает регистр флагов.