bulletDi solito sulla scheda madre sono presenti 2 porte seriali, ma con poca spesa è possibile acquistare delle schede di espansione da inserire sugli slot liberi del computer.
bulletIl Sistema Operativo e i nostri programmi sono sempre in grado di conoscere il numero di porta seriali presenti nel sistema, consultando le variabili di sistema caricate dal BIOS nelle fasi preliminari che seguono l'accensione del computer.
               
Suggerimento Non appena il nostro computer viene acceso il processore è obbligato a saltare alla locazione FFFF0H posto nella memoria BIOS ospitata dalla scheda madre; da questo indirizzo mette in esecuzione la procedura di POST (Power-On-Self-Test). Il compito di questa procedura è quello di verificare lo stato del computer, ispezionando con meticolosità ogni dispositivo disponibile (tra cui le eventuali porte seriali) e annotando tutto in una zona RAM riservata di grande importanza, detta Area di Comunicazione BIOS, di solito allocata nelle prime 260 (circa)  locazioni della Ram convenzionale, certamente a partire dall'indirizzo 00400H
Tra l'altro la procedura
POST provvede a scrivere il valore 1234H nella locazione 00472H (detta Reset State Flag) per evitare di ripetere l'indagine in caso di ripartenza a caldo (warm boot), cioè dopo un reset software prodotto dalla pressione simultanea dei tasti Ctrl-Alt-Del
               
bulletNaturalmente non c'è niente di magico: la procedura POST riconosce la presenza dei circuiti di una porta seriale semplicemente cercando di scrivere nei suoi Registri; è quindi necessario conoscere l'indirizzo di I/O di ciascuna di esse.
bulletIl Sistema riserva, per le porte seriali, 4 intervalli di 8 indirizzi di I/O ciascuno:
     
03F8H ÷ 03FFH Porta Seriale n°1
02F8H ÷ 02FFH Porta Seriale n°2
03E8H ÷ 03EFH Porta Seriale n°3
02E8H ÷ 02EFH Porta Seriale n°4

 

bulletLa procedura POST verifica la presenza delle porte seriali applicando in stretta sequenza i 4 intervalli di indirizzi di I/O della tabella; al primo gruppo trovato viene associato il numero 0, al secondo il numero 1, e così via.
bulletLa prova consiste nello scrivere il byte 0AAH nel primo indirizzo di ciascuna serie, leggendolo di ritorno dal medesimo indirizzo; naturalmente solo se il dato ricevuto è ancora 0AAH la porta è presente nel sistema.
bulletDa notare che la particolare scelta rende minime le probabilità d'errore: 0AAH  è infatti 10101010 in binario, una alternanza di bit altamente improbabile.

 

bullet In seguito il DOS riconosce la porta 0 come COM1, la 1 come COM2, e così via...
bulletOggi la porta seriale è, di norma, integrata nella scheda madre; poiché di solito sono ne presenti almeno 2, l'indagine sul primo gruppo di indirizzi (03F8H ÷ 03FFH) darà certamente esito positivo e sarà associato alla porta 0 (per il BIOS) o COM1 (per il DOS).

 

bulletIn conclusione possiamo ritenere che l'indirizzo Base (il primo della serie) sia 03F8H per la porta0 (COM1),  02F8H per la porta1 (COM2),  03E8H per la porta2 (COM3) e 02E8H per la porta3 (COM4).