Interruption 13h |
Fonction 01h |
État disque ? |
---|---|---|
PC, XT, XT/286, PC Junior, AT, PS/2 |
Description
Cette fonction permet d'effectuer la lecture de l'état du disque.
Entrée
Registre | Description | ||
---|---|---|---|
AH | 01h | ||
DL | Ce registre permet d'indiquer l'unité : | ||
Valeur | Description | ||
00h | Cette valeur permet d'indiquer l'unité de disquette 0 (A:) | ||
01h | Cette valeur permet d'indiquer l'unité de disquette 1 (B:) | ||
02h | Cette valeur permet d'indiquer l'unité de disquette 2 | ||
03h | Cette valeur permet d'indiquer l'unité de disquette 3 | ||
80h | Cette valeur permet d'indiquer l'unité de disque dur 0 | ||
81h | Cette valeur permet d'indiquer l'unité de disque dur 1 | ||
82h | Cette valeur permet d'indiquer l'unité de disque dur 2 | ||
83h | Cette valeur permet d'indiquer l'unité de disque dur 3 |
Sortie
Drapeau | Valeur | Description | ||
---|---|---|---|---|
CF | 1 | Cette valeur permet d'indiquer qu'une erreur c'est produite, dans ce cas : | ||
Registre | Description | |||
AH | Ce registre permet d'indiquer le code d'erreur : | |||
Valeur | Description | |||
01h | Cette valeur indique le numéro de la fonction est invalide | |||
02h | Cette valeur indique la marque d'adresse introuvable | |||
03h | Cette valeur indique une tentative d'écriture sur l'unité de disque protégée contre l'écriture | |||
04h | Cette valeur indique un secteur appelé introuvable | |||
05h | Cette valeur indique un échec de réinitialisation | |||
06h | Cette valeur indique une disquette absente | |||
07h | Cette valeur indique une mauvaise table de paramètres | |||
08h | Cette valeur indique un débordement DMA | |||
09h | Cette valeur indique un transfert de données par-delà la limite de segment | |||
0Ah | Cette valeur indique un secteur défectueux | |||
0Bh | Cette valeur indique une piste défectueux | |||
0Ch | Cette valeur indique un type de média introuvable | |||
0Dh | Cette valeur indique un nombre de secteur invalides | |||
0Eh | Cette valeur indique une marque de contrôle détectée | |||
0Fh | Cette valeur indique un niveau de DMA interdit | |||
10h | Cette valeur indique une erreur de lecture ou d'ECC | |||
11h | Cette valeur indique une erreur CRC corrigée | |||
20h | Cette valeur indique une erreur sur le contrôleur de disque | |||
40h | Cette valeur indique une piste introuvable | |||
80h | Cette valeur indique une erreur de dépassement de délai ou de lecture ne réagissant pas | |||
AAh | Cette valeur indique une unité pas prête | |||
BBh | Cette valeur indique une erreur indéfinie | |||
CCh | Cette valeur indique une erreur d'écriture | |||
E0h | Cette valeur indique une erreur dans le registre d'état | |||
FFh | Cette valeur indique une échec de l'opération demandant l'état | |||
0 | Cette valeur permet d'indiquer que tous va bien : | |||
Registre | Description | |||
AH | 00h |
Remarque
- Sur les disques durs, le code d'erreur 11h (erreur de données ECC) indique qu'une erreur récupérable a été détectée lors d'une fonction de lecture précédente (interruption 13h, fonction 02h).
Exemple
L'exemple suivant permet de vérifier l'état de l'unité de disque dur C:, il vous restera donc à remplacer les commentaires par le code approprié :
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 60 à 61.
Dernière mise à jour : Jeudi, le 3 mars 2016