arxitektyra / Примеры для выполнения лабораторной работы № 2
.docПримеры для выполнения лабораторной работы № 2
Работа с внешними устройствами с использованием прерываний
1. При нажатии клавиши на клавиатуре программа выводит на OR код символа.
rd #10
wr 100 - установили адрес обработчика прерываний от клавиатуры
EI - разрешили обработку прерывания процессором
rd #103
out 1 - установили режим посимвольного ввода с клавиатуры
(тогда прерывание будет формироваться после ввода каждого символа)
rd #11
out 1 - установили флаг разрешения приема кодов в буфер клавиатуры
и флаг разрешения прерывания от клавиатуры
M: NOP - пустой цикл – основная программа
NOP
JMP M
in 0 - начало обработчика прерывания: ввод кода символа из буфера клав-ры
out - вывод кода символа на OR
IRET - конец обработчика прерывания: команда возврата из прерывания
2. Через 15 секунд после запуска программа выводит на OR число «123».
rd #11
wr 102 - установили адрес обработчика прерываний от таймера
EI - разрешили обработку прерывания процессором
rdi 60111
out 22 - инициализировали таймер (включили, разрешили прерывание
от таймера, задали направление счета, коэффициент деления)
rd #15
out 21 - записали число тиков в таймер
N:nop - пустой цикл – основная программа
nop
jmp N
rd #123 - начало обработчика прерывания
out - вывод на OR
IRET - конец обработчика прерывания: команда возврата из прерывания