мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?
no way to compare when less than two revisions

Различия

Показаны различия между двумя версиями страницы.


asm:interrupts [21/02/2012 20:01] (текущий) – создано arabusov
Строка 1: Строка 1:
 +===== Прерывания ===== 
 +Для обработки событий, происходящих асинхронно по отношению к выполнению программы, лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое событие в системе, которое нужно проанализировать сразу же, как только оно произошло (например: нажатие клавиши). Как только происходит это событие, вызывается процедура обработки прерывания, которая по завершении своей работы возвращает управление прерванной программе. 
 +Кроме асинхронных событий прерывание может быть вызвано из программы командой 
 +    int   номер_прерывания 
 +где номер_прерывания - число от нуля до 255 (в компьютере IBM PC возможны лишь 256 различных процедур обработки прерываний). Каждому номеру сопоставляется адрес обработчика прерывания и внешнее событие, которое это прерывание вызывает. 
 +В Linux прерывания используются для выполнения системных функций. Для того, чтоюы вызвать функцию Linux, нужно заполнить регистры общего назначения и выполнить команду int 0x80. К сожалению, русской документации по прерываниям Linux найти практически невозможно. Документацию на английском языке можно найти на http://asm.sourceforge.net