Различия

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

Ссылка на это сравнение

asm:interrupts [21/02/2012 20:01] (текущий)
arabusov создано
Строка 1: Строка 1:
 +===== Прерывания ===== 
 +Для обработки событий,​ происходящих асинхронно по отношению к выполнению программы,​ лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое событие в системе,​ которое нужно проанализировать сразу же, как только оно произошло (например:​ нажатие клавиши). Как только происходит это событие,​ вызывается процедура обработки прерывания,​ которая по завершении своей работы возвращает управление прерванной программе. 
 +Кроме асинхронных событий прерывание может быть вызвано из программы командой 
 +    int   ​номер_прерывания 
 +где номер_прерывания - число от нуля до 255 (в компьютере IBM PC возможны лишь 256 различных процедур обработки прерываний). Каждому номеру сопоставляется адрес обработчика прерывания и внешнее событие,​ которое это прерывание вызывает. 
 +В Linux прерывания используются для выполнения системных функций. Для того, чтоюы вызвать функцию Linux, нужно заполнить регистры общего назначения и выполнить команду int 0x80. К сожалению,​ русской документации по прерываниям Linux найти практически невозможно. Документацию на английском языке можно найти на http://​asm.sourceforge.net
asm/interrupts.txt · Последние изменения: 21/02/2012 20:01 — arabusov
CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0