/// Μονογράψτε το σύστημα δίσκων \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* Σύστημα δίσκων αναστοιχειοθέτησης */
regs.h.dl = 0x00; /* Δισκέτα α: */
int86(0x13, ®s, ®s);
}
result = _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
{
gotoxy(10,14);
cprintf("Ο δίσκος γράφει τη θέση :successful.\n");
}
else
{
gotoxy(10,14);
cprintf("Μην μπορέστε να διαβάσετε να οδηγήσει το Α, status = 0x%02x\n",
result);
gotoxy(10,16);
switch(result)
{
case 0x00:
cprintf("\n\n ΘΕΣΗ: Κανένα λάθος!!");
break;
case 0x01:
cprintf("\n\n ΘΕΣΗ:Κακή εντολή");
break;
case 0x02:
cprintf("\n\n ΘΕΣΗ:Σημάδι διευθύνσεων που δεν βρίσκεται");
break;
case 0x03:
cprintf("\n\n ΘΕΣΗ:Προσπάθεια να γράψει για να γράψει - προστατευμένος δίσκος");
break;
case 0x04:
cprintf("\n\nΘΕΣΗ: Που δεν βρίσκεται τομέας");
break;
case 0x06:
cprintf("\n\n ΘΕΣΗ: Ο δίσκος άλλαξε από την τελευταία λειτουργία");
break;
case 0x08:
cprintf("\n\n ΘΕΣΗ: Υπέρβαση πρόσβασης άμεσης μνήμης (DMA)");
break;
case 0x09:
cprintf("\n\n STATUS: Προσπάθεια να εκτελεσθεί το DMA πέρα από το όριο 64K");
break;
case 0x0C:
cprintf("\n\nΘΕΣΗ: Τύπος MEDIA που δεν βρίσκεται");
break;
case 0x10:
cprintf("\n\n ΘΕΣΗ:Κακά κέντρο ανίχνευσης και ελέγχου/ecc σε δίσκο που διαβάζεται");
break;
case 0x20:
cprintf("\n\n ΘΕΣΗ: Ο ελεγκτής έχει αποτύχει");
break;
|