Interruption 21h |
Fonction 08h |
Entrée de caractères sans sortie |
CP/M, DOS 1.0.+, OS/2, Windows NT |
Description
Cette fonction permet d'entrée de caractères sur l'entrée standard sans absolument aucune écho vers la sortie standard.
Si aucun caractère n'est prêt, la fonction attend jusqu'à ce qu'un caractère soit disponible. L'entrée peut être redirigée. Si l'entrée a été redirigée, il n'y a aucun moyen de détecter
le EOF.
Entrée
Registre |
Valeur ou description |
AH |
08h |
Sortie
Registre |
Valeur ou description |
AL |
Ce registre contient le caractère lu |
Remarques
- Il est possible que la sortie de caractères soit intercepté par un Ctrl+C (Code ASCII 3), et si cela se produit, un appel à l'interruption 23h sera effectué.
- Pour lire les codes ASCII étendus (tels que les touches de fonction spéciales F1 à F10) sur le
IBM PC et compatibles, vous devez appeler cette fonction deux fois. Le premier appel renvoie la valeur 00h pour signaler la présence d'un code étendu.
- Vous devriez utiliser les fonctions 01h, 06h et 07h de l'interruption 21h, si vous souhaitez
entrée des caractères avec diverses combinaisons d'écho et/ou de détection Ctrl+C.
- A partir de la version 2.0 du système d'exploitation DOS, vous pouvez également lire le clavier en émettant une lecture
(Interruption 21h, Fonction 3Fh) en utilisant l'identificateur de descripteur Handle prédéfinie pour l'entrée standard (0000H), si l'entrée n'a pas été
redirigée, ou un identificateur de descripteur Handle obtenue en ouvrant le périphérique logique «CON».
- Quand un caractère de touche est étendu est entrée, un code 0 est d'abord envoyé, ensuite il faut appeler immédiatement cette même fonction pour en connaître le code étendu (Scan Code) :
Scan Code |
Description |
01h |
Touche Esc |
02h |
Touche Alt+Space |
04h |
Touche Ctrl+Insert |
05h |
Touche Shift+Insert |
06h |
Touche Ctrl+Delete |
07h |
Touche Shift+Delete |
08h |
Touche Alt+BackSpace |
0Fh |
Touche Shift+Tab |
10h |
Touche Alt+Q |
11h |
Touche Alt+W |
12h |
Touche Alt+E |
13h |
Touche Alt+R |
14h |
Touche Alt+T |
15h |
Touche Alt+Y |
16h |
Touche Alt+U |
17h |
Touche Alt+I |
18h |
Touche Alt+O |
19h |
Touche Alt+P |
1Eh |
Touche Alt+A |
1Fh |
Touche Alt+S |
20h |
Touche Alt+D |
21h |
Touche Alt+F |
22h |
Touche Alt+G |
23h |
Touche Alt+H |
24h |
Touche Alt+J |
25h |
Touche Alt+K |
26h |
Touche Alt+L |
2Ch |
Touche Alt+Z |
2Dh |
Touche Alt+X |
2Eh |
Touche Alt+C |
2Fh |
Touche Alt+V |
30h |
Touche Alt+B |
31h |
Touche Alt+N |
32h |
Touche Alt+M |
3Bh |
Touche F1 |
3Ch |
Touche F2 |
3Dh |
Touche F3 |
3Eh |
Touche F4 |
3Fh |
Touche F5 |
40h |
Touche F6 |
41h |
Touche F7 |
42h |
Touche F8 |
43h |
Touche F9 |
44h |
Touche F10 |
47h |
Touche Home |
48h |
Touche ↑ |
49h |
Touche Page Up |
4Bh |
Touche de flèche vers la gauche ← |
4Dh |
Touche de flèche vers la droite → |
4Fh |
Touche End |
50h |
Touche de flèche vers le bas ↓ |
51h |
Touche Page Down |
52h |
Touche Insert |
53h |
Touche Delete |
54h |
Touche Shift+F1 |
55h |
Touche Shift+F2 |
56h |
Touche Shift+F3 |
57h |
Touche Shift+F4 |
58h |
Touche Shift+F5 |
59h |
Touche Shift+F6 |
5Ah |
Touche Shift+F7 |
5Bh |
Touche Shift+F8 |
5Ch |
Touche Shift+F9 |
5Dh |
Touche Shift+F10 |
5Eh |
Touche Ctrl+F1 |
5Fh |
Touche Ctrl+F2 |
60h |
Touche Ctrl+F3 |
61h |
Touche Ctrl+F4 |
62h |
Touche Ctrl+F5 |
63h |
Touche Ctrl+F6 |
64h |
Touche Ctrl+F7 |
65h |
Touche Ctrl+F8 |
66h |
Touche Ctrl+F9 |
67h |
Touche Ctrl+F10 |
68h |
Touche Alt+F1 |
69h |
Touche Alt+F2 |
6Ah |
Touche Alt+F3 |
6Bh |
Touche Alt+F4 |
6Ch |
Touche Alt+F5 |
6Dh |
Touche Alt+F6 |
6Eh |
Touche Alt+F7 |
6Fh |
Touche Alt+F8 |
70h |
Touche Alt+F9 |
71h |
Touche Alt+F10 |
72h |
Touche Ctrl+PrintScreen |
73h |
Touche Ctrl+← |
74h |
Touche Ctrl+→ |
75h |
Touche Ctrl+End |
76h |
Touche Ctrl+PageDown |
77h |
Touche Ctrl+Home |
78h |
Touche Alt+1 |
79h |
Touche Alt+2 |
7Ah |
Touche Alt+3 |
7Bh |
Touche Alt+4 |
7Ch |
Touche Alt+5 |
7Dh |
Touche Alt+6 |
7Eh |
Touche Alt+7 |
7Fh |
Touche Alt+8 |
80h |
Touche Alt+9 |
81h |
Touche Alt+0 |
82h |
Touche Alt+- |
83h |
Touche Alt+= |
84h |
Touche Ctrl+PageUp |
Références
La Bible du PC: Programmation système - Sixième Edition, Edition Micro-Application, Michael Tischer, 1996, ISBN: 2-7429-0544-8, page 1497.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 129 à 130.
Quick Reference: Programmer avec les fonctions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04061-8, page 18.
Dernière mise à jour : Jeudi, le 3 mars 2016