请教如何访问ISA BUS和I/O SPACE
我知道通过0CF8和0CFC可以访问PCI DEVICE
unsigned long AccessPci(unsigned long address)
{
unsigned long readdata=0;
__asm{
mov eax,address
mov dx,0cf8h
out dx,eax
mov dx,0cfch
in eax,dx
mov readdata,eax
}
return readdata;
}
请问如何请教如何访问ISA BUS和I/O SPACE
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
能不能描述清楚一点
例如我知道USB 的Bus:00 DEV:02 Fun :07 REG:00
就可以通过下列程序得到此USB控制器的32位信息
/******************************************************************************
*countaddress:count the PCI device's address
*Input:
* bust,devt,funt,regt
*Output:
* address
*******************************************************************************/
unsigned long countaddress(unsigned long bust,unsigned long devt,unsigned long funt,unsigned long regt)
{
unsigned long address=0x00000000,bus,dev,fun,reg;
bus=bust<<16;
dev=devt<<11;
fun=funt<<8;
reg=regt<<2;
address=bus+dev+fun+reg;
address=address|0x80000000;
return address;
}
/*******************************************************************************
*accesspci: Access PCI device to Read info of device
*Input:
* address
*Output
* PCI info
********************************************************************************/
unsigned long AccessPci(unsigned long address)
{
unsigned long readdata=0;
__asm{
mov eax,address
mov dx,0cf8h
out dx,eax
mov dx,0cfch
in eax,dx
mov readdata,eax
}
return readdata;
}
那么我应该怎样才能得到ISA BUS上的设备信息,或者我知道此USB controler 的IO SPACE 为0x3020,应该怎样才能得到此usb controler 的设备信息。