gdsdzrb
驱动牛犊
驱动牛犊
  • 注册日期2002-02-21
  • 最后登录2002-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2470回复:6

如何在Dos下访问PCI设备?

楼主#
更多 发布于:2002-03-05 21:41
我想用turbo c试写一些dos驱动程序用作测试用,但由于turbo c好象不支持mov ax,80000001h 这样的混合汇编,请问在turbo c下我有甚么办法去访问PCI设备读到Vender ID ,Class ID,SubsystemID等相关信息?谢谢了!

Note:由于刚起步且仅对c语言熟一点,所以才提出这种’无理’要求,敬请原谅
sdyuan
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2004-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-05 21:59
可在TASM 中使用 32汇编 :MOV EAX, 80000000H 即可!
sdyuan
WindThruEars
驱动老牛
驱动老牛
  • 注册日期2002-11-17
  • 最后登录2004-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-06 09:18
I don\'t know if the tasm shipped with turbo c can compile 32bit instructions. But tasm with BC31 can.

If you can use BC31, you can embed code like:
asm {
mov eax, 0Xxxxxxxxx
...
any 32 bit instructions
}

BC compiler doesn\'t know how to compile inline 32bit assembly, you have to set compiler option under menu
Options|Compiler|Code Generation...
Select \"Compile via assembler\"

That should work
我是假耳朵
kais
驱动牛犊
驱动牛犊
  • 注册日期2001-09-27
  • 最后登录2002-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-03-06 10:55
  获得PCI Device 的VenderID SystemID等的方法是访问I/O(CF8,CFC),
可在TubroC2.0嵌入汇编语言
  asm{
     mov dx,cf8
     ...
     }

或 asm  mov dx,cf8
   ....
详细参阅turboC帮助及PCI规范
kais
gdsdzrb
驱动牛犊
驱动牛犊
  • 注册日期2002-02-21
  • 最后登录2002-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-06 21:38
虽然turbo c 支持asm mov dx,0cf8h,但不支持
asm mov eax,80000001h, 这就是我遇到的问题所在
thp
thp
驱动牛犊
驱动牛犊
  • 注册日期2002-01-26
  • 最后登录2002-04-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-07 14:59
amcc 5933
provide  amcclib.c (borland c 3.1 source code)
download from WWW ,please
Snare
驱动小牛
驱动小牛
  • 注册日期2002-01-31
  • 最后登录2002-08-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-08 10:03
dos下可以cf8里的东西一个字节一个子介的读写,
不知道你为什么必须要用mov ax,80000001h

还有如果你知道PIDVID,可以调用BIOS中断访问Pci config
我就是我,没什么可说的。
游客

返回顶部