Interruption 13h |
Fonction 05h |
Formate de disque |
---|---|---|
PC, XT, PC Junior, XT/286, AT, PS/2 |
Description
Cette fonction permet d'effectuer le formatage de pistes ou de cylindres.
Entrée
Registre | Description | ||
---|---|---|---|
AH | 05h | ||
AL | Ce registre indique le facteur d'entrelacement (disque dur PC/XT) | ||
CH | Ce registre indique le nombre de cylindre | ||
CL | Ce registre indique le nombre de secteur pour le bit 0 à 5, et les bits 7 et 8 correspondent au bits 8 et 9 du nombre de cylindre. | ||
DH | Ce registre indique la tête | ||
DL | Ce registre indique l'unité (00h à 7Fh: lecteur de disquette; 80h à FFh pour les disques durs) | ||
ES:BX | Cette paire de registre indique l'adresse de la liste des champs (sauf pour le PC/XT) : | ||
Déplacement | Description | ||
0 | Ce champ contient le cylindre | ||
1 | Ce champ contient la tête | ||
2 | Ce champ contient le secteur | ||
3 | Ce champ contient le code de taille du secteur: | ||
Valeur | Description | ||
00h | 128 octets | ||
01h | 256 octets | ||
02h | 512 octets (standard) | ||
03h | 1024 octets | ||
04h | 2048 octets | ||
05h | 4096 octets |
Sortie
Drapeau | Valeur | Description | ||
---|---|---|---|---|
CF | 1 | Erreur, dans ce cas: | ||
Registre | Description | |||
AH | 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 | Tous va bien: | |||
Registre | Description | |||
AH | 00h |
Remarques
- Sur les disquettes, le nombre de secteurs par piste est extrait de la table des paramètres de disquette du BIOS dont l'adresse est entreposée dans le vecteur pour l'interruption 1Eh.
- Lorsque cette fonction est utilisée pour les disquettes sur PC/AT ou PS/2, elle doit être précédée d'un appel à l'interruption 13h, fonction 17h pour sélectionner le type de support à formater.
- Sur les disques durs, les 2 bits supérieurs du numéro de cylindre à 10 bits sont placés dans les 2 bits supérieurs du registre CL.
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 68 à 71.
Dernière mise à jour : Jeudi, le 3 mars 2016