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

UptoLike

93
Dump: tDump;
Function COMInit(Num: Byte): Boolean;
{ Проинициализировать COM-порт}
Begin
COMInit:=False;
If (Num>4) or (Num=0) Then Exit;
Case Num of {Базовые адреса в зависимости от номера
порта}
1: COMBase:=$3F8;
2: COMBase:=$2F8;
3: COMBase:=$3E8;
4: COMBase:=$2E8;
End; { of Case }
asm
mov dx,COMBase
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 }
Продолжение прил.