Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Возврат из процедуры прерывания

Читайте также:
  1. II. МЕТОДЫ, ПОДХОДЫ И ПРОЦЕДУРЫ ДИАГНОСТИКИ И ЛЕЧЕНИЯ
  2. II. МЕТОДЫ, ПОДХОДЫ И ПРОЦЕДУРЫ ДИАГНОСТИКИ И ЛЕЧЕНИЯ
  3. III. Административные процедуры
  4. X. Возврат денег, уплаченных за проезд в поездах дальнего следования
  5. XI. Возврат денег, уплаченных за проезд в поездах пригородного сообщения
  6. Административные процедуры.
  7. Аудиторские процедуры, используемые при аудите кассовых операций
  8. Б) инстанции и процедуры, обеспечивающие соблюдение (в том числе принудительное) этих правил.
  9. Безвозмездные и безвозвратные перечисления в местные бюджеты.
  10. Вектора прерывания

Процедура прерывания отличается от обычной процедуры способом выхода из процедуры. Для выхода из процедуры прерывания служит команда IRЕТ. Команда IRЕТ аналогична команды RET за исключением того, что она инкрементирует содержимое регистра SP (регистра указателя стека) на 4 лишние байта и восстанавливает сохраненные флаги и регистр FLAGS.

Схема обработки прерывания:

1 - в стеке сохраняется адрес текущей команды.

2-регистр флагов сохраняется в стеке,

3- флаг отладки сбрасывается.

4- запрещаются прерывания,

5- процессор извлекает из таблицы векторов прерываний IP=(N*4] и СS=[N*4+2],

6-команда IRET

Особенности:

1) процедура прерывания должна отработать быстро, иначе не во время обработаются

другие прерывания, что может привести к неправильной работе программ и устройств (например перехватив прерывание таймера и выполняя медленную процедуру)

2) процедура прерывания должна следить чтоб не было повторных вхождений (т.е. отключить прерывания в начале выполнения процедуры)

3) если нужно, то процедура прерывания должна передавать управление после себя старому обработчику прерывания.

INT 13H дисковые операции ввода-вывода – обеспечивает операции ввода-вывода для дискет и винчестера.

INT 14H управление коммуникационным адаптером - Обеспечивает последовательный ввод-вывод через коммуникационный порт RS232. Четыре типа операции, определяемые регистром АН выполняют прием и передачу символов и возвращают в регистре АХ байт состояния коммуникационного порта.

INT 16Н Ввод с клавиатуры.

INT 17Н Вывод на принтер - Обеспечивает вывод данных на печатающее устройство

Преревания DOS. располагаются в модуле IO.SYS и загружаются в память при загрузке DOSa (прерывания BIOS расположены в ПЗУ). Так как прерывания DOS обеспечивают большое количество разных дополнительных проверок, поэтому они проще в использовании и менее машинно-зависимы, чем их BIOS аналогии.

Прерывания DOS:

INT 20h завершение программы – завершает выполнение программы и передает управление в DOS.

INT 21h запрос функций DOS - основная операция DOS? Вызывающая определенную функцию в соответствии с кодом в регистре АН.

INT 27h завершение проги оставляющее её резидентной. Позволяет сохранить программу в памяти(резидентная прога)

Ниже приведены базовые функции для прерывания DOS INT 21h. Код функции устанавливается в регистре АН: 00 завершение проги (аналогично INT 20h);01 Ввод символа с клавиатуры с эхом на экран; 03 Ввод символа из асинх. коммуникационного канала; 04 Вывод символа на асинхронный коммуникационный канал.




Дата добавления: 2014-12-19; просмотров: 52 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав