AFFICHER UNE CHAINE DE CARACTERE MASM32

Signaler
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Messages postés
8
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
8 mars 2004
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19794-afficher-une-chaine-de-caractere-masm32

Messages postés
8
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
8 mars 2004

Salut,Je vois ce que tu veux dire.Tu m'as mis sur le chemin de la
raison!
J'ai deja rencontré ce probleme pour generer un nom au hazard avec
une procedure..
Mais moi tant que le compilateur n'affiche pas d'erreur,c'bon,
Hors ce n'est surement pas comme ca que je vais m'ameliorer!
J'aurais du la mettre dans une procedure.
J'ai reglé le probleme maintenant regarde..
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
mov byte ptr[edx], 0
n'est pas la pour ajouter une ligne, aucun rapport.
Ton code ne marche qu'1 SEULE fois, recommence sous le messagebox une boucle qui n'ecrirait que 10 octets pour tester.
Win32 attend des chaines de style C (terminateur NULL), ici tu l'as d'entree par init du segment data mais ne se produira pas ensuite.

Comme tu as 'raison' par decision unilaterale, j'eviterai donc de t'ennuyer avec code et/oui explications a l'avenir.
Messages postés
8
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
8 mars 2004

Bonjour a tous!
il y a du code en trop ,c'est corrigé:
Juste pour afficher les lettres de l'aphabet:


xor ebx,ebx
mov al,64
initialisation:
inc al
mov byte ptr[table+ebx],al
inc ebx
cmp ebx,26
jnz initialisation

Conclusion:
Mon code marche trés bien,puisque je l'ai testé et en plus
je le pense trés fort.On ne peut me contredire sur une fonction qui
marche! ;)
mov byte ptr[edx], 0 <--- cette fonction n'est pas obligatoire
c'est juste pour ajouté une ligne en plus,comme une guirlande
en plus que l'on accroche a un sapin de noel.
Ou comme un enfant que l'on oublie d'enseigner la politesse..
La taille de la variable table est fait pour recevoir 26 "octet",ma
"Fonction" lui en donne aussi 26...Donc...
__Je n'ai pas tort et je n'ai pas raison__

Bon Coding.a+
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
mov edx, offset table
mov al, 65
Lloop:
mov byte ptr[edx], al ; instruction + courte en taille
inc al
inc edx
cmp al, 90
jbe short Lloop
mov byte ptr[edx], 0 ; OBLIGATOIRE !!!