Skip to content
This repository has been archived by the owner on Feb 19, 2019. It is now read-only.

Lab 6 [Осипик Иван] #273

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

Fuza1999
Copy link

Лабораторная работа 6

Необходимо перекрыть указанный в задании обработчик прерывания и заставить его выполнять нужные действия. В большинстве случаев необходим вызов предыдущего обработчика. Также должна быть отдельная небольшая программа, демонстрирующая работу перекрытого обработчика.

Программа должна состоять из резидентной части и инсталяционной части. Первая из них отвечает за работу с перекрываемым прерыванием. А инсталяционная часть должна вызываться при старте программы и отвечать за установку обработчиков.

Инсталяционная часть должна уметь прочитать командную строку:

а) если нам не передается параметров:

  • если обработчик уже установлен: выдать сообщение об этом и выйти из программы

  • если обработчик еще не установлен: сохранить адрес старого обработчика, установить наш обработчик, выйти из программы, оставив активной резидентную часть.

б) если нам передается параметр "-d":

  • если обработчик уже установлен: поставить вместо нашего обработчика заглушку и выйти

  • если обработчик еще не установлен: выдать сообщение об ошибке и выйти

в) любой другой параметр: сообщение об ошибке и выход

В простейшем случае проверку на активность нашей программы можно реализовать при помощи флага. Для более высокой оценки необходимо использовать мультиплексорное прерывание.

Перекрыть девятую функцию прерывания 21h таким образом, чтобы в выводимой строке все гласные буквы были удалены.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant