La Clavier Et Sa Programmation

 
IV- Obtenir une chaine de caractères

Cette fonction vous permet d'obtenir une chaine de caratères saisie par l'utitlisateur. En fait, il faut avoir au préalable une valeur maximale possible de cette chaine car la fonction nécessite un emplacement mémoire où elle pourra renvoyer la chaine obtenue.

Par exemple, si vous voulez obtenir le nom de l'utilisateur avec au maximum 30 lettres:

 
ETAPES
CODE
REMARQUES
Déclaration du buffer
NomUti   db   30 dup (?)
Il faut réserver dans le segment de données 30 octets pour le nom.
Appel de fonction
mov ds,@data
mov dx,offset NomUti
call GetString
Normallement le registre DS
sera surement déjà initialisé ou rétabli avec l'adresse de segment de votre segment de données
 
Il est important de noter que si l'entrée standard (le clavier), ou la sortie standard (l'écran) sont redirigés, alors cette fonction concernera les nouveaux périphériques assignés.
 
 
            public GetString
 ;in        DS Adresse de segment de la chaine de caracteres 
 ;           DX Adresse d'offset de la chaine de caracteres 
 GetString: 
            push ax 
            mov ax,0A00h 
            int 21h 
            pop ax 
            ret