对硬盘进行操作的常用端口是1f0h~1f7h号端口

来源:互联网 发布:2016it企业排名 编辑:程序博客网 时间:2024/05/16 20:28
对硬盘进行操作的常用端口是1f0h~1f7h号端口,各端口含义如下:  
  端口号           读还是写       具体含义  
  1F0H               读/写             用来传送读/写的数据(其内容是正在传输的一个字节的数据)  
  1F1H               读                   用来读取错误码  
  1F2H               读/写             用来放入要读写的扇区数量  
  1F3H               读/写             用来放入要读写的扇区号码  
  1F4H               读/写             用来存放读写柱面的低8位字节  
  1F5H               读/写             用来存放读写柱面的高2位字节(其高6位恒为0)  
  1F6H               读/写             用来存放要读/写的磁盘号及磁头号  
                                            第7位           恒为1  
                                            第6位           恒为0  
                                            第5位           恒为1  
                                            第4位           为0代表第一块硬盘、为1代表第二块硬盘  
                                            第3~0位         用来存放要读/写的磁头号  
  1f7H               读                   用来存放读操作后的状态  
                                            第7位           控制器忙碌  
                                            第6位           磁盘驱动器准备好了  
                                            第5位           写入错误  
                                            第4位           搜索完成  
                                            第3位           为1时扇区缓冲区没有准备好  
                                            第2位           是否正确读取磁盘数据  
                                            第1位           磁盘每转一周将此位设为1,  
                                            第0位           之前的命令因发生错误而结束  
                      写                   该位端口为命令端口,用来发出指定命令  
                                            为50h           格式化磁道  
                                            为20h           尝试读取扇区  
                                            为21h           无须验证扇区是否准备好而直接读扇区  
                                            为22h           尝试读取长扇区(用于早期的硬盘,每扇可能不是512字节,而是128字节到1024之间的值)  
                                            为23h           无须验证扇区是否准备好而直接读长扇区  
                                            为30h           尝试写扇区  
                                            为31h           无须验证扇区是否准备好而直接写扇区  
                                            为32h           尝试写长扇区  
                                            为33h           无须验证扇区是否准备好而直接写长扇区  
  注:当然看完这个表你会发现,这种读写端口的方法其实是基于磁头、柱面、扇区的硬盘读写方法,不过大于8G的硬盘的读写方法也是通过端口1F0H~1F7H来实现的^_^  
原创粉丝点击