Специальные программы — драйверы — взаимодействуют прежде всего с устройствами, используя различные адреса портов. Драйвер должен знать, какие порты использует устройство, чтобы работать с ним. Обычно это не составляет проблемы, поскольку и драйвер и устройство, как правило, поставляются одним и тем же производителем.
Системная плата и набор микросхем системной логики обычно используют адреса портов ввода-вывода от ОЬ до ЕЕЬ, а все другие устройства — от 1ООЬ до ЕЕЕЕЬ. В табл. 4.58 приведены адреса портов ввода-вывода, обычно используемые системной платой и набором микросхем системной логики.
Таблица 4.58. Адреса портов, используемые устройствами системной платы и набором микросхем системной логики
000-000F
|
16 байт
|
Набор микросхем системной логики — 8237 DMA 1
|
0020-0021
|
2 байт
|
Набор микросхем системной логики — контроллер прерываний 8259 (1)
|
002E-002F
|
2 байт
|
Регистры контроллера конфигурации Super I/O
|
0040-0043
|
4 байт
|
Набор микросхем системной логики — счетчик/таймер 1
|
0048-004B
|
4 байт
|
Набор микросхем системной логики — счетчик/таймер 2
|
0060
|
1 байт
|
Байт контроллера клавиатуры и мыши — Reset IRQ
|
0061
|
1 байт
|
Набор микросхем системной логики — NMI, динамик
|
0064
|
1 байт
|
Байт CMD/STAT контроллера клавиатуры и мыши
|
0070, бит 7
|
1 бит
|
Набор микросхем системной логики — Enable NMI
|
0070, биты 6:0
|
7 бит
|
MC146818 — часы реального времени, адрес
|
0071
|
1 байт
|
MC146818 — часы реального времени, данные
|
0078
|
1 байт
|
Зарезервирован — конфигурирование платы
|
0079
|
1 байт
|
Зарезервирован — конфигурирование платы
|
0080-008F
|
16 байт
|
Набор микросхем системной логики — регистры страниц
|
00A0-00A1
|
2 байт
|
Набор микросхем системной логики — контроллер прерываний 8259 (2)
|
00B2
|
1 байт
|
Порт управления APM
|
00B3
|
1 байт
|
Порт состояния APM
|
00C0-00DE
|
31 байт
|
Набор микросхем системной логики — 8237 DMA 2
|
00F0
|
1 байт
|
Восстановление при ошибках сопроцессора
|
Чтобы выяснить, какие адреса порта используются в вашей системной плате, загляните
|
в прилагаемую к ней документацию или же воспользуйтесь диспетчером устройств Windows.
|
Устройства на шине, как правило, используют адреса, начиная с 100h. В табл. 4.59 приве-
|
дены адреса, обычно используемые устройствами на шине и адаптерами.
|
Таблица 4.59. Адреса портов устройств на шине
|
Адрес (шестнадцатеричный) Размер
|
Описание
|
0130-0133
|
4 байт
|
Адаптер Adaptec SCSI (альтернативный)
|
0134-0137
|
4 байт
|
Адаптер Adaptec SCSI (альтернативный)
|
0168-016F
|
8 байт
|
Четвертый разъем IDE
|
0170-0177
|
8 байт
|
Вспомогательный разъем IDE
|
01E8-01EF
|
8 байт
|
Третий разъем IDE
|
01F0-01F7
|
8 байт
|
Первичный контроллер жестких дисков IDE/AT (16 бит)
|
0200-0207
|
8 байт
|
Адаптер игрового порта или джойстика
|
0210-0217
|
8 байт
|
IBM XT Expansion Chassis
|
0220-0233
|
20 байт
|
Creative Labs Sound Blaster 16 Audio (по умолчанию)
|
0230-0233
|
4 байт
|
Адаптер Adaptec SCSI (альтернативный)
|
0234-0237
|
4 байт
|
Адаптер Adaptec SCSI (альтернативный)
|
0238-023B
|
4 байт
|
Мышь MS (альтернативный)
|
023C-023F
|
4 байт
|
Мышь MS (по умолчанию)
|
Окончание табл. 4.59
Адрес (шестнадцатеричный)
|
Размер
|
Описание
|
0240-024Р
|
16 байт
|
Адаптер SMC Ethernet (по умолчанию)
|
0240-0253
|
20 байт
|
Звуковая плата Creative Labs Sound Blaster 16 (альтернативный)
|
0258-025Е
|
8 байт
|
Intel Above Board
|
0260-026Р
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0260-0273
|
20 байт
|
Звуковая плата Creative Labs Sound Blaster 16 (альтернативный)
|
0270-0273
|
4 байт
|
Порты ввода-вывода (для чтения) Plug and Play
|
0278-027Р
|
8 байт
|
Параллельный порт 2 (LPT2)
|
0280-028Р
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0280-0293
|
19 байт
|
Звуковая плата Creative Labs Sound Blaster 16 (альтернативный)
|
02Л0-02ДР
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
02С0-02СР
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
02Е0-02ЕР
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
02Е8-02ЕЕ
|
8 байт
|
Последовательный порт 4 (COM4)
|
02ЕС-02ЕЕ
|
4 байт
|
Стандартные порты видеоадаптера, 8514 или ATI
|
02Е8-02ЕЕ
|
8 байт
|
Последовательный порт 2 (COM2)
|
0300-0301
|
2 байт
|
Порт MPU-401 MIDI (вторичный)
|
0300-030Е
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0320-0323
|
4 байт
|
Контроллер жесткого диска XT (8 бит)
|
0320-032Е
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0330-0331
|
2 байт
|
Порт MPU-401 MIDI (по умолчанию)
|
0330-0333
|
4 байт
|
Адаптер Adaptec SCSI (по умолчанию)
|
0334-0337
|
4 байт
|
Адаптер Adaptec SCSI (альтернативный)
|
0340-034Е
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0360-036Е
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0366
|
1 байт
|
Четвертый порт IDE (управление)
|
0367, биты 6:0
|
7 бит
|
Четвертый порт IDE (статус)
|
0370-0375
|
6 байт
|
Вторичный контроллер гибких дисков
|
0376
|
1 байт
|
Вторичный порт IDE (управление)
|
0377, бит 7
|
1 бит
|
Вторичный контроллер гибких дисков (изменение)
|
0377, биты 6:0
|
7 бит
|
Вторичный порт IDE (состояние)
|
0378-037Е
|
8 байт
|
Параллельный порт 1 (LPT1)
|
0380-038Е
|
16 байт
|
Адаптер SMC Ethernet (альтернативный)
|
0388-038В
|
4 байт
|
FM-синтезатор
|
03В0-03ВВ
|
12 байт
|
Стандартные порты видеоадаптера, Mono/EGA/VGA
|
03ВС-03ВЕ
|
4 байт
|
Параллельный порт 1 (LPT1) в некоторых системах
|
03ВС-03ВЕ
|
4 байт
|
Параллельный порт 3 (LPT3)
|
03С0-03СЕ
|
16 байт
|
Стандартные порты видеоадаптера, EGA/VGA
|
03й0-03йЕ
|
16 байт
|
Стандартные порты видеоадаптера, CGA/EGA/VGA
|
03Е6
|
1 байт
|
Третий порт IDE (команды)
|
03Е7, биты 6:0
|
7 бит
|
Третий порт IDE (статус)
|
03Е8-03ЕЕ
|
8 байт
|
Последовательный порт 3 (COM3)
|
03Е0-03Е5
|
6 байт
|
Первичный контроллер гибких дисков
|
03Е6
|
1 байт
|
Первичный порт IDE (команды)
|
03Е7, бит 7
|
1 бит
|
Первичный контроллер гибких дисков (изменение)
|
03Е7, биты 6:0
|
7 бит
|
Состояние первичного порта IDE
|
03Е8-03ЕЕ
|
8 байт
|
Последовательный порт 1 (COM1)
|
04й0-04й1
|
2 байт
|
Контроллер уровня прерываний PCI
|
0530-0537
|
8 байт
|
Звуковая система Windows (по умолчанию)
|
0604-060В
|
8 байт
|
Звуковая система Windows (альтернативный)
|
0678-067Е
|
8 байт
|
LPT2 в режиме ECP
|
0778-077Е
|
8 байт
|
LPT1 в режиме ECP
|
0Л20-0Л23
|
4 байт
|
Адаптер IBM Token Ring (по умолчанию)
|
0Л24-0Л27
|
4 байт
|
Адаптер IBM Token Ring (альтернативный)
|
0СЕ8-0СЕВ
|
4 байт
|
Регистры конфигурации адресов PCI
|
0СЕ9
|
1 байт
|
Turbo и регистр сброса управления (Reset Control Register)
|
0СЕС-0СЕЕ
|
4 байт
|
Регистры данных конфигурации PCI
|
ЕЕ00-ЕЕ07
|
8 байт
|
Регистры Bus Master IDE
|
ЕЕ80-ЕЕ9Е
|
32 байт
|
Universal Serial Bus (USB)
|
ЕЕЛ0-ЕЕЛ7
|
8 байт
|
Регистры первичного Bus Master IDE
|
ЕЕЛ8-ЕЕЛЕ
|
8 байт
|
Регистры вторичного Bus Master IDE
|
Чтобы точно выяснить, какие адреса используют ваши устройства, настоятельно рекомендую обратиться к документации или просмотреть информацию об устройстве в диспетчере устройств Windows.