| Interruption 10h |
Fonction 02h |
Position du curseur |
| MDA, CGA, PC Junior, EGA, MCGA, VGA, IBM 8514/AI, SVGA |
Description
Cette fonction permet le positionnement du curseur dans la page vidéo spécifié.
Entrée
| AH |
02h |
| BH |
Ce registre permet d'indiquer la page |
| DH |
Ce registre permet d'indiquer la ligne (Coordonnnée Y) |
| DL |
Ce registre permet d'indiquer la colonne (Coordonnnée X) |
Sortie
Aucune
Remarques
-
La coordonnée (x,y)=(0,0) représente le point en haut à gauche de l'écran.
La valeur maximale de chaque coordonnée texte dépend de la carte vidéo et du mode d'affichage, voici un tableau récapitulatif:
| 00h |
39 |
24 |
|
| 01h |
39 |
24 |
|
| 02h |
79 |
24 |
|
| 03h |
79 |
24 |
|
| 04h |
39 |
24 |
|
| 05h |
39 |
24 |
|
| 06h |
79 |
24 |
|
| 07h |
79 |
24 |
|
| 08h |
19 |
24 |
PC Junior |
| 08h |
131 |
24 |
Graphics Solution (Super CGA d'ATI) |
| 09h |
39 |
24 |
|
| 0Ah |
79 |
24 |
|
| 0Bh |
Réservé |
Réservé |
|
| 0Ch |
Réservé |
Réservé |
|
| 0Dh |
39 |
24 |
|
| 0Eh |
79 |
24 |
|
| 0Fh |
79 |
24 |
|
| 10h |
79 |
24 |
|
| 11h |
79 |
29 |
|
| 12h |
79 |
29 |
|
| 13h |
39 |
24 |
|
| ... |
... |
... |
... |
Pour les autres modes, il suffit de soustraire 1 au nombre de colonne texte et d'également soustraire 1 au nombre
de ligne texte.
Voici l'algorithme de cette fonction d'interruption en Turbo Pascal:
Procedure SetCursorPos;
Var
Offset:Word;
Begin
Offset:=DH*MemW[$0040:$4A]+DL;
Port[MemW[$0040:$63]]:=$0E; Port[MemW[$0040:$63]+1]:=Hi(Offset);
Port[MemW[$0040:$63]]:=$0F; Port[MemW[$0040:$63]+1]:=Lo(Offset);
MemW[$0040:$50+(BH shl 1)]:=DX;
End;
|
Exemple
L'exemple suivant permet de position le curseur au coordonnées de colonne 7, ligne 8:
Ligne DB 8
Colonne DB 7
...
MOV DH,Ligne ; Met la ligne dans le registre
MOV DL,Colonne ; Met la colonne dans le registre
MOV AH,02h ; Fixe le numéro de la fonction
MOV BH,0 ; Fixe le numéro de la page, soit 0
INT 10h ; Appelle l'interruption vidéo (10h)
|
Voir également
Interruption 10h, Fonction 03h: Demander la position du curseur,
Interruption 10h, Fonction 05h: Sélection de la page affichée
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 37 à 38.
The Undocumented PC: A programmer's Guide to I/O, CPUs, and Fixed Memory Areas - Second Edition, Edition Addison-Wesley, Frank van Gilluwe, 1997, ISBN: 0-201-47950-8, page 399.
|