Ответ 1
Когда происходит прерывание, CPU выполняет следующие действия:
- Ввести текущий адрес (содержимое указателя инструкций) в стек; также, нажимайте флажки процессора (но не все остальные регистры процессора).
- Перейдите на адрес ISR (Routing Service Routine), который указан в таблице дескрипторов прерываний.
ISR должен сделать следующее:
- Нажмите любые регистры, которые он намеревается изменить (или нажмите все регистры)
- Обработать прерывание
- Повторяющиеся прерывания
- Попасть любые регистры, которые он нажал.
- Используйте инструкции IRET, которые извлекают флаги CPU и значение указателя инструкций из стека (и, таким образом, возвращаются к тому, что выполнялось при возникновении прерывания).