/// 디스크 체계를 다시 놓아서 초기화 디스크 \\\
gotoxy(10,2); printf("디스크 초기화…");
for(i=0;i<3;i++)
{
inregs.h.ah=0x00; // 기능 수
inregs.h.dl=0x00; // 기능 수
int86(0x13,&inregs,&outregs);
}
gotoxy(10,2); printf("디스크의 상태는 이다 것과 같이….\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;
|