当前位置:  技术问答>linux和unix

扩展磁盘中等Int 13h

    来源: 互联网  发布时间:2014-10-20

    本文导语: 大家好,我想在DOS下获得硬盘的参数,但老版本的Int 13H不支持8.4G以上的硬盘, 请问那位知道扩展Int13H的定义,或者那本书上有介绍。谢谢!|Get Drive Parameters Entry:           AH - 48h           DL - Drive number      ...

大家好,我想在DOS下获得硬盘的参数,但老版本的Int 13H不支持8.4G以上的硬盘, 请问那位知道扩展Int13H的定义,或者那本书上有介绍。谢谢!
|
Get Drive Parameters Entry:           AH - 48h           DL - Drive number           DS:SI - address of result buffer. Exit:           carry clear                     AH - 0                     DS:SI - result buffer           carry set                     AH - error code Return physical device characteristics. This function is mandatory regardless of the interface subset which is supported. Bit Description           0 DMA boundary errors are handled transparently           1 The geometry supplied in bytes 8-12 is valid           2 Device is removable           3 Device supports write with verify           4 Device has change line support (bit 2 must be set)           5 Device is lockable (bit 2 must be set).           6 Device geometry is set to maximum, no media is present (bit 2 must be set). This bit is turned off when media is present in a removable media device.           7-15 Reserved, must be 0 Result Buffer           Offset       Type          Description                0          Word         Buffer Size, must be 26 or greater. The  caller sets this value to the                                                  maximum buffer size. If the length of this buffer is less than 30, this                                                 functions does not return the pointer to the Enhanced Disk Drive                                                structure (EDD). If the Buffer Size is 30 or greater on entry, it is set to                                                 exactly 30 on exit. If the Buffer Size is between 26 and 29, it is set to                                                 exactly 26 on exit. If the Buffer Size is less than 26 on entry an error is                                                returned.                2          Word          Information Flags In the following table, a 1 bit indicates that the feature                                                 is available, a 0 bit indicates the feature is not available and will operate                                                 in a manner consistent with the conventional Int 13h interface.                4  Double Word    Number of physical cylinders. This is 1 greater than the maximum                                                 cylinder number. Use Int 13h Fn 08h to find the logical number of                                                 cylinders.                 8 Double Word    Number of physical heads. This is 1 greater than the maximum head                                                  number. Use Int 13h Fn 08h to find the logical number of heads.               12 Double Word     Number of physical sectors per track. This number is the same as the                                                  maximum sector number because sector addresses are 1 based. Use Int                                                  13h Fn 08h to find the logical number of sectors per track.                16 Quad Word       Number of physical sectors. This is 1 greater than the maximum sector                                                   number.                24       Word            Number of bytes in a sector.                26 Double Word    Pointer to Enhanced Disk Drive (EDD) configuration parameters. This                                                   field is only present if Int 13h, Fn 41h, CX register bit 2 is enabled. This                                                   field points to a temporary buffer which the BIOS may re-use on                                                   subsequent Int 13h calls. A value of FFFFh:FFFFh in this field means                                                   that the pointer is invalid.
|
#include  #include  #include  #include  struct HARDISK { unsigned cyln; unsigned head; unsigned sect; unsigned cache; unsigned char s[21]; unsigned char v[9]; unsigned char t[40]; }; HARDISK hdinfor() { unsigned int i,j; unsigned char p; HARDISK xhdd; i=0;j=0;p=0; while (p!=0x40) {j++;if (j==0xffff) break; p=inportb(0x1f7); p&=0xc0; } outportb(0x3f6,0); for(i=0;i8); xhdd.v[i*2+1]=(unsigned char)j; } for (i=0;i>8); xhdd.t[i*2+1]=(unsigned char)j; } for(i=0;i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php安装完成后如何添加mysql扩展
  • 对chrome os的panelize扩展的一点困惑。。(就是那个能打开多个窗口的扩展)
  • CentOS下PHP安装完成后继续安装GD扩展库
  • android 获取文件的扩展名和去掉文件扩展名的小例子
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 请教:什么叫扩展字符集,什么又是不扩展阿?
  • 扩展jQuery对象时如何扩展成员变量具体怎么实现
  • 安装Red lnuix9.0的问题,两块硬盘,一块分成一个dos分区,三个dos扩展分区,安装win2000,另一块40G硬盘分成一个dos分区,两个dos扩展分
  • Linux下的文件类型有几种?扩展名分别是什么?可执行文件有扩展名吗,若有的话是什么?
  • 文件的扩展属性问题
  • 扩展逻辑卷,在线急急急。。。
  • PHP 扩展模块 PECL
  • 安装linux时,能否将linux swap分区划在扩展分区中?
  • Symbian图像处理扩展库 NokiaCV
  • 请问用VI命令建立的文件扩展名是什么?
  • PHP的开源扩展 WinBinder
  • jQuery Mobile 图表扩展 JQMCharts
  • 代码覆盖率统计工具gcov的扩展 lcov
  • .net/c#/asp.net iis7站长之家
  • 中文分词PHP扩展 MFSOU
  • jquery easyui表单重置扩展思路


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3