| 
					阅读:1876回复: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				 | |
 
							
 
				 
				