Пластиковые карты с открытой памятью. Востриков А.А - 82 стр.

UptoLike

82
Процедура инициализации СОМ-порта
Function COMInit(Num: Byte): Boolean;
{Процедура инициализации COM-порта}
Begin
COMInit:=False;
If (Num>4) or (Num=0) Then Exit; 1,2,3,4
Case Num of {Базовые адреса в зависимости от номера порта}
1: COMBase:=$3F8;
2: COMBase:=$2F8;
3: COMBase:=$3E8;
4: COMBase:=$2E8;
End; { of Case } В ассемблере
asm
mov dx,COMBase Адрес порта в DX
add dx, 3
in al,dx
or al,$80
out dx,al {Установить бит DLAB}
mov ax,$0C
{Коэффициент для скорости 9600}
mov dx,COMBase
out dx,ax {Установить скорость}
mov dx,COMBase
add dx, 1
xor ax, ax
out dx,ax {Установить скорость}
mov al,$03
mov dx,COMBase
add dx, 3
out dx,al {Установить параметры: без
бита четности, 1 топ-бит}
mov al,$00
mov dx,COMBase
add dx, 1
out dx,al {Запретить прерывания}
mov dx,COMBase
in al,dx {Прочитать состояние
регистра данных}
end; { of asm }
CurCOM:=Num;
COMInit:=True;
End; { of COMInit }