Delphi能不能处理这个问题?

hfyun 2001-04-06 11:32:00
我要对华远公司的HK1232A/D D/A及HK6220卡进行数据采集,由于其提供的接口不方便,想自己写一些操作函数(写入控制信号,读出发送过来的数据).这样涉及到读写内存的问题.如其分配的内存基地址为$280h,我怎么能进行操作呢?
Delphi5下嵌入汇编应注意哪些问题呢?
asm


in EAX,XXXX
end
我发现,XXXX是具体的数字且<256,编译可以通过,否则编译这一关就过不去.
是不是我什么地方写错了吗?
请各位救求急,分数可以加到500以上.
...全文
110 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hfyun 2001-04-17
  • 打赏
  • 举报
回复
win95/98下可以用该方法对物理地址直接操作,但NT下不行.
hfyun 2001-04-17
  • 打赏
  • 举报
回复
这个问题我早已解决,与whoo(谁)的方法一样,以前我没有注意到地址必须用dx,edx等寄存器,谢谢大家的关心,我会给分的.
windindance 2001-04-09
  • 打赏
  • 举报
回复
另外,in EAX,XXXX只能是字节传输。
windindance 2001-04-09
  • 打赏
  • 举报
回复
9x下可以直接插入上面的汇编,NT,2000下必须用控件。
gxdq 2001-04-08
  • 打赏
  • 举报
回复
guan zhu
getit911 2001-04-08
  • 打赏
  • 举报
回复
win9x下没问题,可以找控件解决
whoo 2001-04-08
  • 打赏
  • 举报
回复
in, out 应该是端口,不是内存地址.

不过确实有问题,9x下凑获得用吧.NT,2000就不行了.
严黎斌 2001-04-08
  • 打赏
  • 举报
回复
win32下好像不能对内存直接读写的。别说编译通不过,就算运行时,程序所指向的内存地址12345,也是虚拟的,不是实际的物理地址12345,所谓的虚拟内存嘛。
要读写物理地址,是要编写驱动程序的。应用层不能。
whoo 2001-04-07
  • 打赏
  • 举报
回复
read from address 12345
mov dx ,12345
in al ,dx

write i to address 34567
mov dx ,34567
mov al ,i
out dx ,al
wangxd1976 2001-04-07
  • 打赏
  • 举报
回复
guanzhu

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧