在Delphi中对端口的直接操作 
你可以通过以下两种方式完成对端口的操作: 
        (1)使用端口预定义数组 
    Delphi仍然保留了Turbo Pascal的两个预定义数组Port和 
PortW。这两个一维数组的每个元素代表一个数据端口,它们的 
端口地址同它们的下标是相对应的。下标的类型为整型字。 
Port数组成员是Byte类型的,PortW数组的成员是Word类型的。 
    下面举例说明: 
Port[$20]:=$20;      {将$20写入$20端口} 
PortData:=Port[$20];  {将$20端口的数据读入Byte变量 
PortData} 
    这种操作方式在Delphi的帮助文件中没有提及,但它确实 
可以很好地工作。 
        (2)另一种方法是采用直接嵌入汇编语言 
    Delphi中仍然可以像以往一样,在Turbo Pascal中使用嵌 
入汇编语言。 
    语法如下: 
  asm 
    AssemblerStmt <Separator AssemblerStmt> 
  end 
   下面举一个用于测试的同样例子: 
Var 
  PortData:Byte; 
ASM 
  MOV AL,$20; 
  MOV DX,$20; 
  OUT AL,DX;   {将$20写入$20端口} 
  MOV DX,$20; 
  IN   AL,DX; 
  MOV PortData,AL;   {将$20端口的数据放入Byte变量 
PortData} 
END;