bonjour a tous,
je suis en train de réaliser un compilateur et je suis un peu bloquer par la lecture d'une chaine.
en effet, mon compilo ne gere que les entiers, et je voudrais faire une fonction de ce style : lire(n); ou n et un entier(dans un premier temps, on n'aura qu'un seul parametre...
cependant, le probleme et de bien recevoirun entier dans n...
j'avais penser a quelque chose utilisant :
l'interruption dos 21h en utilisant la fonction 0Ah
seulement, il ne faupas accepter autre chose qu'un entier...
donc est ce possible, ou y a t'il une meilleur solution
sinon, pour le printf, je pense avoir une structure comme ca :
message db "la chaine reconue par le compilo",'$'
push AX
push DX
mov AH,09h
mov DX,offset message
int 21h
pop DX
pop AX
Euh je suis pas sûr à 100% que ce soit la fonction 01h
C'est peut être la 10h
L'une des deux se contente de scruter la queue du clavier alors que l'autre attend la pression d'une touche
Slt, je pense que si tu veux tester la présence d'un entier, il faut vérifier chaque caratère de la chaîne 'n' (lire(n)) en faisant une soustraction ex: code ascii de "5" - 30h = 05h et tu as alors la valeur numérique du caractère. Tu vérifies aussi la présence des caratères "," et "." . Je sais pas si ya plus simple (je débute en asm). @+