Работа с портами процессора
|
Модуль для работы с портами микропроцессора с сохранением синтаксиса. Работает под Win9x. НЕ работает под WinNT. //Copyright(c) 1998 Zolotarenko P.V
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
unit Ports; interface Type
TPort=class private procedure Set_(index_:word;value:byte);register; function Get_(index_:word):byte;register; public property Element[index_ :word]:byte read Get_ write Set_ ;default; end;
TPortW=class private procedure Set_(index_:word;value:Word);register; function Get_(index_:word):word;register; public property Element[index_ :word]:word read Get_ write Set_ ;default; end;
Var Port :TPort; PortW :TportW; implementation procedure TPort.Set_(index_:word;value:byte); begin asm mov dx,index_ mov al,value out dx,al end; end; function TPort.Get_(index_:word):byte; begin asm mov dx,index_ in al,dx mov @Result,al end; end;
asm mov dx,index_ mov ax,value out dx,ax end; end; function TPortW.Get_(index_:word):word; begin asm mov dx,index_ in ax,dx mov @Result,ax end; end;
initialization Port:=TPort.Create; PortW:=TPortW.Create; finalization Port.free; PortW.free; end. |