Prob avec une fonction

marooh Messages postés 122 Date d'inscription vendredi 8 octobre 2010 Statut Membre Dernière intervention 16 novembre 2011 - 21 nov. 2010 à 17:09
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 22 nov. 2010 à 21:12
bonjour,
j'ai un gros probleme
j'ai écrit un code assembleur qui permet de trouver le mot le plus long et de l'afficher mais à l'execution il affiche des lettres et c'est tout..je demande de l'aide pour ce code et merci
voici le code
.model small
.stack 100h
.data
chaine db 10,13,"je veux seulement tester$"
msg3 db 10,13,"la longueur du mot le plus long est:$"
msg6 db 10,13, "le mot le plus long dans votre chaine est:$"

t_max dw 0
taille dw 24
motpl db 80 dup('$')
Mot db ?
moc db 0
lmotpl dw 0
.code
start: 
xor dx,dx
xor bx,bx
xor cx,cx
xor si,si
mov si,offset chaine
mov di,offset mot

mov bx,1
debut_de_boucle: 
mov al,Chaine[si]
cmp taille,bx
jl fin_boucle
mov dx,bx
debut_de_boucle2:
cmp taille,dx
jg fin_boucle2 
cmp al,' '
je fin_boucle2
mov Mot[di], al
inc dx
inc moc

jmp debut_de_boucle2
fin_boucle2:
mov ch,moc 
mov cl,b.t_max
cmp ch,cl
jle finsi
call copy
finsi:
inc si
jmp debut_de_boucle
fin_boucle:

mov ah,9
mov dx,offset msg6
int 21h
mov ah,9
mov dl,motpl
int 21h 
copy proc
LEA SI,mot+2
LEA DI,motpl+2
        
MOV CL,mot+1 
MOV CH,00H
LAB1:   
MOV AL,DS:BYTE PTR[SI]
MOV DS:BYTE PTR[DI],AL
INC DI
INC SI   
LOOP LAB1 
endp
end start

5 réponses

ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
22 nov. 2010 à 18:35
Pas très clair.
Les lettres s'affichent,a la vertical,en zig-zag
avec des espaces....
0
marooh Messages postés 122 Date d'inscription vendredi 8 octobre 2010 Statut Membre Dernière intervention 16 novembre 2011
22 nov. 2010 à 20:48
comment résoudre le probleme???
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 nov. 2010 à 21:06
salut,

peut-être en initialisant ds non ?

@++
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 nov. 2010 à 21:09
il y a un jour, tu comprendras qu'il faut connaître son materiel avant de vouloir le programmer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 nov. 2010 à 21:12
0
Rejoignez-nous