Interruption 21h |
Fonction 0Ch |
Vider le tampon d'entrée et appeler la fonction d'entrée |
---|---|---|
CP/M, DOS 1.0+, OS/2, Windows NT |
Description
Cette fonction permet de vider complètement le tampon d'entrée et d'appeler une des fonctions d'entrée standard du système d'exploitation.
Entrée
Registre | Valeur ou description | |
---|---|---|
AH | 0Ch | |
AL | Ce registre permet d'indiquer le numéro de la fonction d'appel: | |
Valeur | Description | |
01h | Cette fonction permet d'entrée de caractères sur l'entrée standard avec un écho vers la sortie standard. Voir Interruption 21h, fonction 01h | |
06h | Cette fonction permet l'entrée ou la sortie directe de caractère vers l'entrée ou la sortie standard. Interruption 21h, fonction 06h | |
07h | Cette fonction permet d'entrée de caractères directe sur l'entrée standard sans absolument aucune écho vers la sortie standard. Interruption 21h, fonction 07h | |
08h | Cette fonction permet d'entrée de caractères sur l'entrée standard sans absolument aucune écho vers la sortie standard. Interruption 21h, fonction 08h | |
0Ah | Cette fonction permet d'entrée d'une chaîne de caractères à partir de l'entrée standard. Ainsi la paire de registre DS:DX contienne l'adresse du tampon d'entrée. Interruption 21h, fonction 0Ah | |
... | ... |
Sortie
Pour les fonctions 01h, 06h, 07h et 08h :
Registre | Valeur ou description |
---|---|
AL | Le caractère entrée |
Remarques
- La fonction existe pour permettre à un programme de déjouer la fonctionnalité de saisie anticipée du système d'exploitation DOS. Il supprime tous les caractères attendant dans le tampon de saisie anticipée interne du système d'exploitation DOS, forçant la fonction d'entrée spécifiée à attendre un caractère (généralement une entrée de clavier) étant vraiment entré après la demande du programme.
- La présence ou l'absence de vérification Ctrl+C lors de l'exécution de cette fonction dépend du numéro de fonction placé dans le registre AL.
- Un numéro de fonction dans AL autre que 01h, 06h, 07h, 08h ou 0Ah vide simplement le tampon d'entrée et renvoie le contrôle au programme appelant.
- 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 1499.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 135 à 136.
Quick Reference: Programmer avec les fonctions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04061-8, page 21 à 22.
Dernière mise à jour : Jeudi, le 3 mars 2016