1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| ;------------------------- entrée des données du fichier -----------------------
entreF: mov ch,[id10] ;récupère la position du pointeur d'écriture
entreC: mov ah,0
int 16h ;entrée d'un caractère au clavier
mov [bx],al ;place le code ascii du caractère dans id1
suite2: cmp ah,01h ;compare le scan code avec la touche [ESC]
jnz suite3 ;si vrai entrée d'un caractére
jmp entreF
suite3: cmp ah,1ch ;compare le scan code de la touche avec [enter]
jnz suite4 ;si comparaison vraie crée le fichier
jmp creeF
suite4: cmp ah,0eh ;compare le scan code avec [back space]
jnz suite5a ;si comparaison vraie efface le caractére
jmp effC
suite5a:cmp ah,0fh ;compare le scan code avec la touche TAB
jnz suite5 ;si comparaison vraie entrée d'un caractère
jmp entreF
suite5: cmp ch,41 ;compare le nombre de caractères entré
jnz suite6 ;si vrai attente de la touche [enter]
jmp entreC
suite6: mov [id5],bx ;sauve bx à l'adresse id5
add bx,+1 ;additionne bx avec +1
mov dl,al
mov ah,02h ;affiche le caractère entré au clavier
int 21h
add ch,+1 ;additionne ch (nombre de caractères entré + 1)
mov [id10],ch ;sauve la position du pointeur d'écriture
mov ah,01h
mov ch,6
mov cl,7 ;modifie le curseur = (_)
int 10h
jmp entreF ;entrée d'un nouveau caractère
;------------------------------------------------------------------------------- |
Partager