Цитата(Sarez @ Oct 19 2006, 12:15)

Программное прерывание позволяет тебе перейти в более привелегированный режим ( Супервизор ) и выполнить оттуда определенный участок кода обработчика. Вызавается командой SWI с определенным читсловым кодом . Происходит переход на обработчик - он анализирует числовой код , определяет какую функцию вызвать и передает ей параметры.
Спасибо. Уже начинает доходить, НО:
Разрешить и запретить прерывания можно ведь и без использования програмного прерывания, тогда чем оно отличается от обычной функции, т.к. вызывается по имени с номером, кроме запрета прерываний и выхода в привелегированный режим?
Цитата(klen @ Oct 19 2006, 12:51)

В ставлю свой пятак.
1. Програмные прерывания отличаются от IRQ/FIQ тем что после выхода из обработчика исаолняется следующая за SWI команда. В IRQ/FIQ та которая была прервана.
2. Вызов как уже сказали исполняется в превелегерованном режиме.
3. По сути это форма вызова функции операционой системы (если она есть).
Если интересует как это делается в GCC, то покажу пример.
Очень интересно взглянуть! Буду очень признателен.