/// 磁盘光盘系统的重新着手 \\\
gotoxy(10,2); printf("Initializing The Disk...");
for(i=0;i<3;i++)
{
inregs.h.ah=0x00; //一些功能
inregs.h.dl=0x00; // 软碟
int86(0x13,&inregs,&outregs);
}
gotoxy(10,2);
printf("The Status of the Disk is as....\n");
/* 扫描软碟上0至79(共80个方面) */
for(track=0;track<=79;track++)
for(head=0;head<=1;head++)
for(sector=1;sector<=18;sector++)
{
inregs.h.ah = 0x04; /// 一些功能
inregs.h.al = 1; /// 一些部门
inregs.h.dl = 0x00; /// 软碟
inregs.h.ch = track;
inregs.h.dh = head;
inregs.h.cl = sector;
inregs.x.bx = FP_OFF(buf);
sregs.es = FP_SEG(buf);
int86x(0x13,&inregs,&outregs,&sregs);
//// 印刷界的地位扫描 \\\\
switch(outregs.h.ah)
{
case 0x00:
cprintf("地位:没有错误!!");
break;
case 0x01:
cprintf("地位:指挥坏");
break;
case 0x02:
cprintf("身份:地址标记没有找到");
break;
case 0x03:
cprintf("身份:写尝试写保护的磁盘");
break;
|