Pour lire un caractere :
fonction 01 de l´int 0x21
dans al tu auras le code ascii du caractere entree
( cette fonction est bloquante)
fonction 0A int 0x21
DX offset buffer reception
DS Segment buffer reception
[DS:DX] doit avoir une taille +2 pcq dans le 1er octet tu dois mettre le nb d octet max a lire, dans le 2eme il y aura le nb d octets lus et a partir du 3eme commence la chaine de caractere. Je crois que ca va compter aussi la touche entree.
sinon si tu veux tu peux lire directement dans le buffer du clavier, c´est un buffer circulaire.
ca va de 0x0040:0x001e a 0x0040:0x003d
avec 0x0040:0x001a offest du prochain caractere a lire ( 2octets)
0x0040:0x001c offset du dernier caractere a lire.
Quand un caractere est tape, 0x0040:0x001c est augmente de 2, et si la difference entre tete et fin du buffer fait 32, ca fait bip ; )
Si tu lis un caractere avec cette methode, faut penser a faire avancer la tete a chaque lecture.