"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора

Микросхема интерфейса с периферией Intel 8255 - лучшее место,
с которого надо начинать, чтобы получить информацию об имеющемся
оборудовании. Эта микросхема предназначена для многих целей. Она
сообщает об установке переключателей на системной плате. Она
принимает для компьютера ввод с клавиатуры. Она управляет рядом
периферийных устройств, включая микросхему таймера 8253. Из машин
семейства IBM PC только AT не использует микросхему 8255; он
хранит информацию об оборудовании вместе с часами реального вре-
мени в специальной микросхеме с независимым питанием. Однако AT
использует те же адреса портов, что и 8255, для работы с клавиа-
турой и управления микросхемой таймера.
Микросхема 8255 имеет три однобайтных регистра, называемых от
порта A до порта C. Адреса этих портов от 60H до 62H сответствен-
но. Все три порта можно читать, но писать можно только в порт B.
Для PC, установка бита 7 порта B в 1 изменяет информацию, содер-
жащуюся в порте A. Аналогично для PC установка бита 2 определяет
содержимое четырех младших битов порта C, а установка бита 3
делает то же самое для XT. Содержимое этих регистров следующее:

Порт A (60H)

когда в порте B бит 7=0 - биты 0-7 PC,XT,PCjr,AT: 8-битные скан-коды
с клавиатуры

когда в порте B бит 7=1 для PC
бит 0 PC: 0 = нет накопителей на дискетах
1 PC: не используется
2-3 PC: число банков памяти на системной плате
4-5 PC: тип дисплея (11 = монохромный,
10 = цветной 80*25
01 = цветной 40*25)
6-7 PC: число накопителей на дискетах

Порт B (61H)

бит 0 PC,XT,PCjr: управляет каналом 2 таймера 8253
1 PC,XT,PCjr: вывод на динамик
2 PC : выбор содержимого порта C
PCjr : 1 = символьный режим, 0 = графический
3 PC,PCjr : 1 = кассетный мотор выключен
XT : выбор содержимого порта C
4 PC,XT : 0 = разрешение ОЗУ
PCjr : 1 = запрет динамика и мотора кассеты
5 PC,XT : 0 = разрешение ошибок щелей расширения
6 PC,XT : 1 = разрешение часов клавиатуры
5-6 PCjr : выбор динамика (00 = 8253
01 = кассета
10 = ввод/вывод
11 = микросхема 76496)
7 PC : выбор содержимого порта A