При запуске в работу операционной системы компьютера модуль начальной загрузки BIOS тестирует имеющиеся порты RS-232-C и инициализирует их. В зависимости от версии BIOSинициализирует первые два или четыре порта. Их базовые адреса записываются в области данных BIOS начиная с адреса 0040:000h.
Адреса COM-портов из нашего примера являются своего рода стандартом. Первый адаптер COM1 обычно имеет базовый адрес 3F8h и занимает диапазон адресов от 3F8h до 3FFh. Второй адаптер COM2 имеет базовый адрес 2F8h и занимает адреса 2F8h...2FFh. Третий адаптер COM3 имеет базовый адрес 3F8h и занимает диапазон адресов от 3E8h до 3EFh. Четвертый адаптерCOM4 имеет базовый адрес 2E8H и занимает адреса 2E8h...2EFh. Тем не менее для некоторых компьютеров, например с шиной MCA-PS/2, адреса COM-портов могут иметь другие значения.
Порты асинхронного адаптера могут вырабатывать прерывания:
· COM1, COM3 – IRQ4 (соответствует INT 0Ch;
· COM2, COM4 – IRQ3 (соответствует INT 0Bh).
Порты COM1 и COM3 асинхронного последовательного адаптера используют линию IRQ4 и вырабатывают прерывание INT 0Ch, а порты COM2 и COM4 используют линию IRQ3 и вырабатывают прерывание INT 0Bh.
Некоторые платы последовательного асинхронного адаптера позволяют присвоить COM-портам другие линии IRQ, например IRQ5 или IRQ7.
Как видите, порты COM1, COM3 и COM2, COM4 используют одинаковые прерывания. Поэтому, как правило, нельзя одновременно использовать порты COM1 и COM3, так же как порты COM2 и COM4. Например, если к портуCOM1 подключен модем, то мышь можно подключить только к порту COM2 или COM4.
Каждый из СОМ-портов имеет в своем составе восемь отдельных портов, называемых регистрами. При этом в каждом регистре имеется восемь ячеек, в которые записывается команда, которая представляет собой шестнадцатеричное число. В программах командное число зачастую записывается, для наглядности, в двоичном виде, при этом каждой ячейке регистра соответствует один элемент командного числа, выраженного в двоичном виде.
Номера ячеек регистра располагаются справа налево, в соответствии с записью чисел в двоичном формате. На рис. П3.5 схематично изображено расположение ячеек регистра.
D7
D6
D5
D4
D3
D2
D1
D0
Рис. П3.5. Схема расположения ячеек регистра
Далее перейдем к подробному рассмотрению регистров (портов), используемых COM-портами.