Порты асинхронного адаптера
На этапе инициализации системы модуль процедуры начальной загрузки BIOS тестирует асинхронные порты компьютера и инициализирует их. В зависимости от версии BIOS, он инициализирует первые два или четыре порта. Их базовые адреса записываются в области данных BIOS начиная с адреса 0040:0000h.
Чтобы просмотреть значения, записанные в области данных BIOS вашего компьютера, можно воспользоваться программой Debug, поставляемой вместе с операционной системой MS-DOS. Таким образом, можно определить, какие COM-порты установлены на компьютере.
Запустите программу Debug. Для этого введите в строке системного приглашения MS-DOS команду DEBUG.EXE. Программа Debug выведет на экран приглашение в виде черточки '-'. Чтобы просмотреть содержимое оперативной памяти по адресу 0040:0000h введите команду d40:0 и нажмите клавишу <Enter>. На экране появится дамп памяти:
-d40:0 0040:0000 F8 03 F8 02 E8 03 00 00-78 03 00 00 00 00 00 00 ........x....... 0040:0010 61 C6 00 80 02 80 00 20-00 00 38 00 38 00 E0 50 a...... ..8.8..P
Нас будут интересовать только первые восемь байт из этого дампа. Первые два байта содержат базовый адрес порта COM1. Поменяв местами два этих байта, получаем адрес 3F8h. Следующие два байта содержат адрес порта COM2 - 2F8h, затем COM3 - 3E8h. Два байта, соответствующие порту COM4, содержат нулевые значения. Это означает, что асинхронный последовательный адаптер компьютера не имеет порта COM4 или BIOS компьютера не может или не пытается его обнаружить.
Теперь вы можете завершить работу программы Debug. Для этого введите команду q и нажмите клавишу <Enter>.
Адреса COM-портов из нашего примера являются своего рода стандартом. Первый адаптер COM1 обычно имеет базовый адрес 3F8h и занимает диапазон адресов от 3F8h до 3FFh. Второй адаптер COM2 имеет базовый адрес 2F8h и занимает адреса 2F8h...2FFh. Третий адаптер COM3 имеет базовый адрес 3E8h и занимает диапазон адресов от 3E8h до 3EFh. Четвертый адаптер COM4 имеет базовый адрес 2E8h и занимает адреса 2E8h...2EFh.
Тем не менее, для некоторых компьютеров адреса COM-портов могут иметь другие значения.
Порты асинхронного адаптера могут вырабатывать прерывания:
COM-порт | Номер аппаратного прерывания |
COM1, COM3 | IRQ4 |
COM2, COM4 | IRQ3 |