Программирование на JAVA

Подобно любой подпрограмме программа обработки прерывания может соз­дать для себя временное рабочее пространство, сохранив в стеке значения регист­ров. В этом случае должна быть гарантия того, что перед выполнением команды IRET программы указатель стека ESP будет содержать адрес возврата.

Пример 7.4

На рис. 7.12 вы видите ту же программу, использующую процедуру прерывания для чтения строки символов с клавиатуры для процессора Pentium в реальном режиме работы (MS DOS). Для клавиатуры обрабатывается запрос прерывания с кодом 0А и что соответст­вующая запись в таблице дескрипторов прерываний содержит начальный адрес программы обработки прерывания READ. Для того чтобы разрешить прерыва­ния в процессоре, нужно выполнить команду STI, устанавливающую флаг IF в регистре состояния процессора в 1.

Пользовательская программа

MOV     DX, offset String                     ;Область памяти для строки символов

MOV     AH,0А                                                                      ;Вызов функции ввода строки

INT                   21h                                                                            ;Вызов INTVEC


<< назад вперед >>