阅读:2470回复:6
如何在Dos下访问PCI设备?
我想用turbo c试写一些dos驱动程序用作测试用,但由于turbo c好象不支持mov ax,80000001h 这样的混合汇编,请问在turbo c下我有甚么办法去访问PCI设备读到Vender ID ,Class ID,SubsystemID等相关信息?谢谢了!
Note:由于刚起步且仅对c语言熟一点,所以才提出这种’无理’要求,敬请原谅 |
|
沙发#
发布于:2002-03-05 21:59
可在TASM 中使用 32汇编 :MOV EAX, 80000000H 即可!
|
|
|
板凳#
发布于: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 |
|
|
地板#
发布于: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规范 |
|
|
地下室#
发布于:2002-03-06 21:38
虽然turbo c 支持asm mov dx,0cf8h,但不支持
asm mov eax,80000001h, 这就是我遇到的问题所在 |
|
5楼#
发布于:2002-03-07 14:59
amcc 5933
provide amcclib.c (borland c 3.1 source code) download from WWW ,please |
|
6楼#
发布于:2002-03-08 10:03
dos下可以cf8里的东西一个字节一个子介的读写,
不知道你为什么必须要用mov ax,80000001h 还有如果你知道PIDVID,可以调用BIOS中断访问Pci config |
|
|