"Архитектура ввода-вывода персональных ЭВМ IBM PC" - читать интересную книгу автора (Лукач Ю.С.)

установлен, то биты 0-3 содержат младшую тетраду колодки
DIP-переключателей SW2, если сброшен, то старшую:

7 6 5 4 3 2 1 0
+——+——+——+——+——+——+——+——+
| | | | | | Биты:
++—++—++—++—+——+——+——+——+ —————
| | | | +————> 0-3: DIP-ключи SW2 (см. ниже)
| | | +————————————> 4: ввод данных с касетного магнитофона
| | +———————————————> 5: выход OUT 2-го канала таймера
| +——————————————————> 6: 1=ошибка в платах расширения
+—————————————————————> 7: 1=ошибка паритета ОЗУ


Колодка SW2 содержит следующие ключи:

7 6 5 4 3 2 1 0
+——+——+——+——+——+——+——+——+
| | | Биты:
+——+——+——+——+——+——+——+——+ —————
| +—————> 0-3: общий размер ОЗУ
+—————————————————> 4-7: всегда равны нулю


6. Клавиатура

6.1. Клавиатура IBM PC/XT

Связь с клавиатурой осуществляется через порты ППИ 60h и
61h (см. 5.2). При нажатии клавиши происходит аппаратное
прерывание IRQ1, связанное с вектором Int 9. Если Вы хотите
обрабатывать это прерывание сами, то программа обработки
прерывания должна иметь следующий вид:

Int_09h:
push ax
push di
push es
in al,60h ;скан. код клавиши из РА
les di,buffer ;адрес буфера
stosb ;сохранить код в буфере
pop es
pop di
in al,61h ;ввод порта РВ
mov ah,al
or al,80h ;установить бит "подтверждения ввода"
out 61h,al
xchg ah,al ;вывести старое значение РВ
out 61h,al
mov al,20h ;послать сигнал EOI