读写指定的地址,该如何编程?(35分)

  • 主题发起人 主题发起人 xzs
  • 开始时间 开始时间
X

xzs

Unregistered / Unconfirmed
GUEST, unregistred user!
倾巢出动,以后有机会再补上。
本人有一AD/DA数模板,其基地址为280H,现须读出该地址上的内容,该如何
做,请给出算法和实例,最好有各语句的注释!(限Delphi)我用D3;
另:
1、VxD如何做,(就象在Windows添加新硬件那样插入一张盘,可更改IQR、
DMA、Addr之类的)。请给出算法,有程序更好!
2、还有什么更好的方法,请说明并给出算法+注释。
 
如果只是要读取端口可以安装TVicHw32 version 3.0控件
该控件有几个属性专用于读取端口:
port
portw
portl
该软件适用于Delphi2,3,4,bcb1,3
还可以直接读写物理内存.
 
嵌入汇编
 
procedure WritePort(PortAdress:word;Value:byte);
pascal;
begin
asm
mov al,Value
mov dx,PortAdress
out dx,al
end;
end;

function ReadPort(PortAdress:word) : byte;
pascal;
begin
asm
mov dx,PortAdress
in al,dx
mov @result,al
end;
end;
 
对,就象LSS所示,在TURBO PASCAL中就有相同功能。
 
在NT下如果使用In,out这种汇编指令
是不能读出指定地指出的内容的
还是使用TVicHw32比较通用.
 
读端口,用控件比较合理,
VXD那不是DELPHI干的,找VC++吧
 
1998年计算机世界报上有类似的文章!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部