中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-19 13:25
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » DOS下如何用INT13检测移动硬盘是否准备好? 查看 1,637 回复 3
楼 主 DOS下如何用INT13检测移动硬盘是否准备好? 发表于 2006-11-03 02:59 ·  中国 河北 石家庄 电信
初级用户
积分 98
发帖 34
注册 2006-11-03 02:31
UID 69366
性别 男
状态 离线
DOS下如何用INT13检测移动硬盘是否准备好?
2 检测移动硬盘 发表于 2006-11-03 04:12 ·  中国 河北 石家庄 电信
初级用户
积分 98
发帖 34
注册 2006-11-03 02:31
UID 69366
性别 男
状态 离线
我用的驱动是DUSE,用以下程序段检测硬盘可以,但不能检测移动硬盘,请大家指点

/***********************************************************/
void IoSector(BYTE act,BYTE driver,BYTE *buffer)
{
REGS regs;
SREGS sregs;
regs.h.ah=act;
regs.h.al=1;
regs.h.ch=0;
regs.h.cl=1;
regs.h.dh=0;
regs.h.dl=driver;
regs.x.bx=FP_OFF(buffer);
sregs.es=FP_SEG(buffer);
int86x(0x13,&regs,&regs,&sregs);
}
/**************************************************************/
int CheckSector(BYTE driver)
{
REGS regs;
SREGS sregs;
int i;
unsigned char temp;
for(i=0;i<3;i++)
IoSector (0x02,driver,temp);
for (i=0;i<3;i++)
{
regs.h.ah=3;
regs.h.al=1;
regs.x.bx=FP_OFF(temp);
sregs.es=FP_SEG(temp);
regs.h.ch=0;
regs.h.cl=1;
regs.h.dh=0;
regs.h.dl=driver;
int86x(0x13,&regs,&regs,&sregs);
}
if (regs.x.cflag)
return regs.h.ah;
return 0;
}
3 发表于 2006-11-03 07:48 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
楼主强人啊~
第一高手 第二高手

4 感谢大家的关心,问题解决了 发表于 2006-11-03 21:20 ·  中国 河北 石家庄 电信
初级用户
积分 98
发帖 34
注册 2006-11-03 02:31
UID 69366
性别 男
状态 离线
感谢大家的关心,经过一夜奋斗问题解决了,config.sys中加载DUSE时设置INT参数就可以了
论坛跳转: