INT: различия между версиями
Nil (обсуждение | вклад) (Новая страница: «'''INT''' — Interrupt, то есть прерывание, а также команда процессора Intel x86. Прерывание — это особо…») |
Nil (обсуждение | вклад) м |
||
Строка 2: | Строка 2: | ||
Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 пар длинных указателей (сегмент::смещение). При наступлении команды INT# происходит сохранение адреса текущей команды в стеке и переход по адресу, находящемуся в таблице под номером #. Прерывания могут быть как программными, так и аппаратными, к примеру, исключениями являются попытка деления на ноль и выполнение комманд сопроцессора без наличия сопроцессора. В последнем случае в обработчике прерывания зачастую находился эмулятор сопроцессора. | Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 пар длинных указателей (сегмент::смещение). При наступлении команды INT# происходит сохранение адреса текущей команды в стеке и переход по адресу, находящемуся в таблице под номером #. Прерывания могут быть как программными, так и аппаратными, к примеру, исключениями являются попытка деления на ноль и выполнение комманд сопроцессора без наличия сопроцессора. В последнем случае в обработчике прерывания зачастую находился эмулятор сопроцессора. | ||
В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы. | В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы. | ||
+ | |||
+ | == См. также == | ||
+ | *[[DOS]] | ||
+ | *[[IRQ]] | ||
== Ссылки == | == Ссылки == | ||
* [http://ru.wikipedia.org/wiki/Таблица_векторов_прерываний Википедия о таблице прерываний] | * [http://ru.wikipedia.org/wiki/Таблица_векторов_прерываний Википедия о таблице прерываний] |
Версия 14:06, 11 октября 2011
INT — Interrupt, то есть прерывание, а также команда процессора Intel x86. Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 пар длинных указателей (сегмент::смещение). При наступлении команды INT# происходит сохранение адреса текущей команды в стеке и переход по адресу, находящемуся в таблице под номером #. Прерывания могут быть как программными, так и аппаратными, к примеру, исключениями являются попытка деления на ноль и выполнение комманд сопроцессора без наличия сопроцессора. В последнем случае в обработчике прерывания зачастую находился эмулятор сопроцессора. В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы.