INT: различия между версиями
Nil (обсуждение | вклад) м |
Nil (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
'''INT''' — Interrupt, то есть прерывание, а также команда процессора Intel x86. | '''INT''' — Interrupt, то есть прерывание, а также команда процессора Intel x86. | ||
− | Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 | + | Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 длинных указателей (сегмент::смещение). При наступлении команды INT# происходит сохранение адреса текущей команды в стеке и переход по адресу, находящемуся в таблице под номером #. Прерывания могут быть как программными, так и аппаратными, к примеру, исключениями являются попытка деления на ноль и выполнение комманд сопроцессора без наличия сопроцессора. В последнем случае в обработчике прерывания зачастую находился эмулятор сопроцессора. |
В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы. | В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы. | ||
Версия 14:42, 12 октября 2011
INT — Interrupt, то есть прерывание, а также команда процессора Intel x86. Прерывание — это особое событие (начиная с процессора Intel 80386 прерывание и является частью множества особых событий, то есть exception, исключений), заставляющее процессор прерывать текущие вычисления и перейти на выполнение кода — обработчика прерываний. В реальном режиме работы процессора intel x86 адреса, по которым надлежит переходить в случае наступления прерываний, хранятся в таблице векторов прерываний, располагающийся с нулевого адреса памяти, хранящая 256 длинных указателей (сегмент::смещение). При наступлении команды INT# происходит сохранение адреса текущей команды в стеке и переход по адресу, находящемуся в таблице под номером #. Прерывания могут быть как программными, так и аппаратными, к примеру, исключениями являются попытка деления на ноль и выполнение комманд сопроцессора без наличия сопроцессора. В последнем случае в обработчике прерывания зачастую находился эмулятор сопроцессора. В intel 80386 процессоре(и в более новых) в защищённом режиме используются другие методы.