热情软件屋

 

如何获取某软盘现在的面数/磁道数/扇区数


编号:QA003088
建立日期: 2000年7月1日 最后修改日期:2000年7月1日
所属类别:

zhoujie:
    操作系统:dos
    编程工具:qb/tc/tp
    问题:使用TC/QB/Tp,如何获取某软盘现在的面数/磁道数/扇区数?(注:该软盘可能因被Hdcopy格式化而采用了非标准的格式)
    水平: 高手

回答:

    你可用INT13读入软盘的0面0道1扇,其意义如下:
    

 

    引导扇区(Boot Area):
    BPB表:
     保留扇区数 ━━━━━━━━━┓
     每簇扇区数 ━━━━━━━┓ ┃
     每扇区字节数 ━━━━━┓ ┃ ┃
     ━┻ ┻ ┻━
    0B75:0000 EB 3C 90 4D 53 44 4F 53-35 2E 30 00 02 08 01 00
    0B75:0010 02 00 02 00 00 F8 97 00-39 00 0F 00 39 00 00 00
     ┏ ┳━ ┳━┏ ┳━ ━┳ ━┳ ━┳
    FAT表数 ┛ ┃ ┃ ┃ ┃ ┃ ┃ ┃
    根目录项数━━┛ ┃ ┃ ┃ ┃ ┃ ┃
    逻辑扇区数━━━━━┛ ┃ ┃ ┃ ┃ ┃
    磁盘介质说明━━━━━━┛ ┃ ┃ ┃ ┃
    FAT表占用扇区数━━━━━━━┛ ┃ ┃ ┃
    每道扇区数━━━━━━━━━━━━━┛ ┃ ┃
    磁头数━━━━━━━━━━━━━━━━━━┛ ┃
    隐藏扇区数━━━━━━━━━━━━━━━━━━━┛
    0B75:0020 1F B2 04 00 80 00 29 D4-0D 17 18 4E 4F 20 4E 41
    0B75:0030 4D 45 20 20 20 20 46 41-54 31 36 20 20 20 FA 33
     ━┳━ ┳━
    FAT(ASC源码) ━━━━━━━━━┛ ┃
    FAT每项位数(ASC源码)━━━━━━━━━┛
    

    根目录表占扇区数=根目录表项数×每项字节数÷每扇区字节数
    系统占用扇区数=引导扇区数+FAT表数×FAT表占用扇区数+根目录表占扇区数
    某簇第一逻辑扇区号=(簇号-2)?每簇扇区数+系统占用扇区数
    如果你看不清上面的表格,可以通过kvdvm@263.net向我要上表的WPS文档(我学这些内容时正在用WPS)。

此问题由kvdvm回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio