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

如何向硬盘IO端口发IDENTIFY命令? ECH什么意思? 在哪里得到相应字节的信息?

楼主#
更多 发布于:2002-05-30 20:43
可查阅本站ATA7的资料,向硬盘IO端口发IDENTIFY命令,可取回一个256字(512字节)的数据包,硬盘的基本物理信息都在这个数据包里。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-01 18:26
while(inp(0x3f6)!=0x50);//BUSY?
outp(0x1f6,0xa0);
outp(0x1f7,0xec);
while(inp(0x3f6)!=0x58);//Data Ready?
for(int i=0;i<256;i++)
   data=inpw(0x1f0);//Read the data

你很容易在各类驱动中改写上面代码。
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-02 22:21
\"如何向硬盘IO端口发IDENTIFY命令? ECH什么意思? 在哪里得到相应字节的信息? \"

大概,是接口的手册?
[color=red]大头鬼! :P[/color]
wuqixuan
驱动牛犊
驱动牛犊
  • 注册日期2002-05-25
  • 最后登录2002-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-05 21:59
inpw读取的是 256个字的哪一个字信息?
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-06 07:59
inpw读取的是 256个字的哪一个字信息?
-----------------------------------------------------------------------
仔细看看,上段程序是一个循环将所有256字都读出。
wuqixuan
驱动牛犊
驱动牛犊
  • 注册日期2002-05-25
  • 最后登录2002-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-06 15:15
你这段代码什么都不会执行,就是死在那里了.
好像一直在执行 while语句.死循环.
还有一点,0xa0什么指令?
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-06 21:43
唉,你的硬盘是在第一个IDE接口主盘位置?你没看ATA规范?你运行的环境?先到DOS下去试。然后“你很容易在各类驱动中改写上面代码。”
游客

返回顶部