阅读:1714回复:13
IDE设备256个字中间哪些字可以算出硬盘的总容量?
IDE设备256个字中间哪些字可以算出硬盘的总容量?
|
|
沙发#
发布于:2002-06-09 08:45
字1:逻辑柱面数
字3:磁头数 字6:每道扇区数 |
|
板凳#
发布于:2002-06-09 09:04
54-----56也是,57~58双字是前三者乘积。这些都比较老了,有点问题。
你应从60~61这双字中获得LBA模式下可定位的扇区总量,这个值是准确的。 |
|
地板#
发布于:2002-06-09 15:33
那容量=(字1 逻辑柱面数)*(字3:磁头数)*(字6:每道扇区数)?
|
|
地下室#
发布于:2002-06-09 16:00
你应从60~61这双字中获得LBA模式下可定位的扇区总量,这个值是准确的。
----------------------------------------------------------------------- 512*扇区总量 |
|
5楼#
发布于:2002-06-09 19:52
通过61,61两字如何算总扇区数?
我的基础不太好.是不是 capacity=512*((pw[62]*0xf*0xf*0xf*0xf)+pw[61])? |
|
6楼#
发布于:2002-06-09 20:01
呵呵,谁要你算了,60、61里的值就是LBA模式下扇区总数。
比如字60为 0xFFFF,61字为0x003A,扇区数就为0x3AFFFF |
|
7楼#
发布于:2002-06-09 20:22
假如60为 0xFFFF,61字为0x003A,扇区数就为0x3AFFFF
0x3affff也要有个公式算吧. 不然我怎么得到那个数. 我不知道如何得到 3affff |
|
8楼#
发布于:2002-06-09 21:23
61:3A,60:0xFFFF
连起来不就是0x3AFFFF吗?哪里需要算了? 这是一个双字DWORD呀,它就是一个数-----扇区数。 事急也不要急晕了头么,hehe |
|
9楼#
发布于:2002-06-09 21:47
word pw[256];
pw[61]=0x1bf; pw[60]=0xa500; dword sq,capacity; sq=? //求总扇区,我就是问你这个表达式如何写? //不要告诉我 :\" 就是 1bfa500 拼起来,我ft. capacity=sq*512; //总容量 |
|
10楼#
发布于:2002-06-09 22:06
_asm{
mov ax,pw[61] shl eax,0xf mov ax,pw[60] mov sq,eax } capacity=sq*512; 我试过了,不行,你说错在哪里? [编辑 - 6/9/02 by wuqixuan] |
|
11楼#
发布于:2002-06-10 13:00
你算一算15G字节的值是多少?你的变量是long型的吧?超过了。
|
|
12楼#
发布于:2002-06-27 23:53
_asm{ 好象应该是 shl eax, 16 你只移了15位 |
|
|
13楼#
发布于:2002-07-04 22:52
以前我也遇咿╋做法是以G
|
|