mykeyboard proc far sti mov al, 20h out 20h, al iret mykeyboard endp
В вектор 9 необходимо записать адрес процедуры.
irqt segment at 0 org 9*4 myIP dw? myCS dw? mov ax, offset mykeyboard push 0 pop ds mov ds:myIP, ax mov ax, seg mykeyboard mov ds:myCS, ax
Рис. 5.8. Прохождение прерывания от клавиатуры
Рис. 5.9. Прохождение прерывания от клавиатуры
В обработчик клавиатуры поступает сигнал IRQ1. На ЦП идет INT, ЦП выдает два сигнала INT A, по второму КП выставляет номер (в нашем примере 9). Этот номер программируется BIOS при включении МПС. ЦП считывает?9?, умножает на 4 получается смещение в таблице векторов. Там храниться адрес процедуры (mykeyboard). Этот вектор считывается.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2025) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление