Interruption 13h |
Fonction 0Ch |
Déplacement |
|---|---|---|
| PC, XT, PC Junior, XT/286, AT, PS/2 | ||
Description
Cette fonction permet d'effectuer le déplacement de la tête de lecture/écriture.
Entrée
| Registre | Description | ||
|---|---|---|---|
| AH | 0Ch | ||
| CH | Ce registre permet d'indiquer les 8 bits de poids faible du cylindre | ||
| CL | Ce registre permet d'indiquer les 2 bits de poids fort du cylindrer dans les bits 6 à 7 | ||
| DH | Ce registre permet d'indiquer la tête | ||
| DL | Ce registre permet d'indiquer l'unité (80h à FFh pour les disques durs) | ||
Sortie
| Drapeau | Valeur | Description | ||
|---|---|---|---|---|
| CF | 1 | Erreur, 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 | Le déplacement c'est correctement effectué, tous va bien: | |||
| Registre | Description | |||
| AH | 00h | |||
Remarques
- Cette fonction n'est prise en charge que 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.
- Les fonctions Read Sector, Read Sector Long, Write Sector et Write Sector Long incluent une opération de recherche implicite et n'ont pas besoin d'être précédées d'un appel explicite à cette fonction.
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 75 à 76.
Dernière mise à jour : Jeudi, le 3 mars 2016
