delphi 中没有 但可以嵌入汇编.
 程序不是我写的,但已都测试通过.希望对你有帮助//-------------------------------------
{*
* Port Read byte function
*Parameter:port address
*Return: byte value from given port
*}
function PortReadByte(Addr:Word) : Byte; StdCall //assembler; register;
  var Pbyte:Byte;
 begin
   asm
     Mov DX,Addr
     IN AL,DX
     Mov Pbyte,AL
   end;
   Result:=Pbyte;
 end;
{*
* HIGH SPEED Port Read Word function
* Parameter: port address
* Return: word value from given port
* Comment:may problem with some cards and computers that
can't to access whole word, usualy it works.
*}
function PortReadWord(Addr:Word) : Word;StdCall; //assembler; register;
 var PWord:Word;
begin
 asm
  MOV DX,Addr
  IN AX,DX
  Mov PWord,Ax
 end;
 Result:=PWord;
end;
{*
* LOW SPEED Port Read Word function
* Parameter: port address
*Return:word value from given port
*Comment:work in cases,only to adjust DELAY if need
*}
function PortReadWordLS(Addr:Word):Word; Stdcall;//assembler; register;
Const Delay = 150;
 var PWord:Word;
begin
 asm
   MOV DX,Addr
   IN AL,DX
  //read LSB port
  MOV ECX,Delay
 @1:
 LOOP @1 //delay between two reads
 XCHG AH,AL
 INC DX
//port+1
 IN AL,DX //read MSB port
 XCHG AH,AL //restore bytes order
 Mov Pword,Ax
 end;
 Result:=Pword;
end;
{* Port Write byte function*}
procedure PortWriteByte(Addr:Word; Value:Byte);Stdcall;// assembler; register;
 begin
   asm
     MOV DX,Addr//XCHG AX,DX
     MOV AL,Value
     OUT DX,AL //OUT DX,AL
   end;
 end;
{*
* HIGH SPEED Port Write word procedure
* Comment:may problem with some cards and computers that
can't to access whole word, usualy it works.
*}
procedure PortWriteWord(Addr:word; Value:word); Stdcall;//assembler; register;
 begin
   asm
    Mov DX,Addr //XCHG AX,DX
    Mov AX,Value
    OUT DX,AX
   end;
 end;
{*
* LOW SPEED Port Write Word procedure
*}
procedure PortWriteWordLS(Addr:word; Value:word);Stdcall;// assembler; register;
 const Delay = 150;
 begin
   asm
    //XCHG AX,DX
    Mov DX,Addr
    Mov AX,Value
    OUT DX,AL
    MOV ECX,Delay
 @1:
    LOOP @1
    XCHG AH,AL
    INC DX
    OUT DX,AL
   end; 
  End; //------------------------------------------