/// Μονογράφοντας δίσκος με την επαναρύθμιση του συστήματος δίσκων \\\
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;
|