Ztol
Messages postés1Date d'inscriptionsamedi 11 avril 2009StatutMembreDernière intervention11 avril 2009
-
11 avril 2009 à 22:49
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 2014
-
14 avril 2009 à 15:13
Slt a tous .
je bloque sur cette fontion
Ecrire une sequance d'instruction qui affiche le nombre de caractere lus apres execution de la fontion 0ah .(en assembleur bienur )
bofur
Messages postés39Date d'inscriptionlundi 13 novembre 2000StatutMembreDernière intervention 5 juin 2009 13 avril 2009 à 10:36
pour appeler la fonction il faut faire:
mov ax,cs
mov ds,ax ;initialise le bon segment (ici c'est pour un executable .com)
mov dx,offset buffer
mov ah,0Ah
int21h
.......
buffer:
db 20,0," " ;par exemple si on veux pouvoir saisir 20 caractère
la chaine doit etre comme ça:
premier octet la longueur maximal de la chaine
deuxième octet le nombre de caractère entrée par l'uttilisateur (doit etre zero avant l'appel de la fonction,je sui pas sur que ce soit obligatoire mais bon on est jamais trop prudent)
puis ensuit la chaine proprement dite
et après l'execution de ce pti bout de code on a dans l'octet a l'adresse buffer+1 le nombre d'octet entré par l'uttilisateur
section src/stdlib.asm tu as un exemple de fonction printf mais c'est en 32bits. Sinon, cherche un peu ça doit pas être trop dur à trouver un truc tout fait en 16bits.