Контрольная работа: Регистры микропроцессора

Немаскируемые прерывания

Немаскируемые прерывания обеспечивают обслуживание прерываний очень высокого уровня. Одним из примеров немаскируемых (NMI) прерываний может служить прерывание по сбою питания. Когда активизируется контакт NMI, происходит прерывание по вектору 2. В отличие от обычных прерываний, для NMI не выполняется последовательность подтверждения приема прерывания. Во время процедуры обслуживания NMI, 80386 не будет обслуживать ни дальнейший запрос NMI, ни запросы INT, до тех пор, пока не будет выполнена команда возврата из прерывания (IRET) или пока процессор не будет сброшен. Если NMI произойдет во время обслуживания NMI, присутствие прерывания будет сохранено для обработки после обработки текущего NMI, т.е. после первой же команды IRET. Бит IF очищается в начале NMI для блокировки дальнейших INTR команд.

Программные прерывания

Третьим типом прерываний/исключений для 80386 являются программные прерывания. Команда INT n заставляет процессор выполнять программу обслуживания, на которую указывает вектор n в таблице прерываний.

Приоритетность прерываний

В случае одновременных прерываний, они будут обрабатываться согласно приоритету, представленному в таблице:

Приоритет обработки Прерывание / исключение

1 (высший) Ошибка исключения

2 Команда TRAP

3 Ловушка отладки для данной команды

4 Ошибка отладки для следующей команды

5 NMI прерывание

6 INTR прерывание

Листинг программы

Программа выполняет прерывание, по которому происходит возврат в систему.

Program prerivanie;

var

a,b,c: integer;

begin

Writeln( 'Введите значение 1');

Readln(a);

Writeln( 'Введите значение 2');

Readln(b);

c:=a+b;

Writeln(' Ответ:',c);

Writeln(' Нажмите Ente:');

Readln;

asm

int 21h

К-во Просмотров: 259
Бесплатно скачать Контрольная работа: Регистры микропроцессора