1.int main()
2.{
3. void iowrite(short int port1,unsigned long value);
4. unsigned long int ioread(short int port);
5. short int Config_Add=0xcf8;
6. short int Config_Dat=0xcfc;
7. unsigned long int bus=0x00,dev=0x00;
8. int fun=0x00,reg=0x00;
9. unsigned long dat;
10. for(reg=0;reg<0x40;reg++){
11. iowrite(Config_Add,(0x80000000 |(bus<<16) |(dev<<11) |(fun<<8) |(reg<<2)));
12. dat=ioread(Config_Dat);
13. printf("%8.8lx",dat);
14. printf(" ");
15. if((reg+1)%4==0){printf("\n");}
16. }
17. return 0;
18. }
19.
20.unsigned long ioread(short int port)
21.{
22. unsigned long valueRet;
23. asm mov dx, port;
24. asm lea bx, valueRet;
25. __emit__(
26. 0x66,0x50,
27. 0x66,0xED,
28. 0x66,0x89,0x07,
29. 0x66,0x58);
30. return valueRet;
31.}
32.
33.void iowrite(short int port1, unsigned long value)
34.{
35. asm mov dx, port1;
36. asm lea bx, value;
37. __emit__(
38. 0x66,0x50,
39. 0x66,0x8B,0x07,
40. 0x66,0xEF,
41. 0x66,0x58);
42. return;
43.}
版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。