Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #88, АПРЕЛЬ 2006 г.

Прервись на минутку

Weird aka Беренштейн Евгений

Хакер, номер #088, стр. 088-030-4


Например, в процессоре х86 (возьмем его для наглядности) предусмотрена возможность применения 256 программ обработки прерываний, поэтому в инструкции INT операнд имеет длину в один байт (а инструкция INT 3, которая предназначена для вызова отладчика, вся имеет длину один байт). Значение операнда команды INT просто является индексом в таблице из 256 адресов подпрограмм обработки прерываний, один из которых и используется для перехода по команде INT. При использовании команды CALL потребовался бы уже не однобайтовый, а двух- или четырехбайтовый операнд. Другой причиной применения программных прерываний вместо обычных инструкций вызова подпрограмм является возможность смены пользовательского режима на привилегированный одновременно с вызовом процедуры - это свойство программных прерываний поддерживается большинством процессоров.

INFO

Программные прерывания часто используются для выполнения ограниченного количества вызовов функций ядра операционной системы, то есть системных вызовов.

Назад на стр. 088-030-3  Содержание