Прерывания

Для обработки событий, происходящих асинхронно по отношению к выполнению программы, лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое событие в системе, которое нужно проанализировать сразу же, как только оно произошло (например: нажатие клавиши). Как только происходит это событие, вызывается процедура обработки прерывания, которая по завершении своей работы возвращает управление прерванной программе. Кроме асинхронных событий прерывание может быть вызвано из программы командой

int номер_прерывания

где номер_прерывания - число от нуля до 255 (в компьютере IBM PC возможны лишь 256 различных процедур обработки прерываний). Каждому номеру сопоставляется адрес обработчика прерывания и внешнее событие, которое это прерывание вызывает. В Linux прерывания используются для выполнения системных функций. Для того, чтоюы вызвать функцию Linux, нужно заполнить регистры общего назначения и выполнить команду int 0x80. К сожалению, русской документации по прерываниям Linux найти практически невозможно. Документацию на английском языке можно найти на http://asm.sourceforge.net