HELP ! :'(

cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 29 août 2004 à 18:43
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 31 août 2004 à 16:50
Salut j'ai un probleme: voici mon code, il fonctionne correctement, activer le programme vous verres qu'a la fin i laffiche un MessageBox avec marqué "Hello My Na", j'aimerais cependant afficher "Hello David" par exemple, en fait j'ai une "variable" avec "Hello " a l'interieur le prog demande ensutie d'entrer un nom et j'aimerais qu'il affiche "Hello" + le nom qui a été entré, mais j'arrive aps a l'afficher, voila si qqun peut lm'aider ca serait sympa ! voici le code:

.386
.model flat, stdcall
option casemap: none

include \masm32\Include\Irvine32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\Irvine32.lib
.data
var3 BYTE "My name's David",0
var2 BYTE "Hello World",0
var1 BYTE 13,10,"Entrer un nom: ",0
buffer DWORD 128 DUP(0),0
buffer2 DWORD 128 DUP(0),0
hdesk DWORD ?

.code
main proc
;********* Récupération du Handle du desktop
call GetDesktopWindow
mov hdesk,eax
call WriteDec ;ecrit le handle qu iest dans eax
;invoke MessageBoxA,NULL,addr hdesk, offset var2,NULL
;*********** Récupération d'un nom tapé et stockage dans edx
mov edx,offset var1
Call WriteString
mov ecx,128
Call ReadString
;************* Boucle pour transférer le nom et Salut dnas le tableau
mov esi,0
mov ecx,6
Call Concatenation

mov buffer2,edx
mov esi,0
mov ecx,5
Boucle2:
movzx eax,var3[esi]
mov buffer[esi+6],eax
inc esi
loop Boucle2

invoke MessageBoxA,NULL, offset buffer, buffer2,NULL
call ExitProcess
main endp
;************Concatenation
Concatenation Proc
pushad
Boucle:
movzx eax,var2[esi]
mov buffer[esi],eax
inc esi
loop Boucle
popad
ret
Concatenation endp
end main
*********
******
**********
TheHacker :-p

6 réponses

ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
30 août 2004 à 19:23
salut,
masm32 fornit GetTextInput pour récupérer une chaine sans se casser la tete.szcatstr dans la même librairie ,concatene des chaines.
Pour couper la phrase,rajouter un zero a l'endroit de la coupure voulue et faire la concaténation de la chaine obtenue au clavier .
ToutEnMasm
0
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
30 août 2004 à 20:27
ok merci j'vias voir cke j'peux faire avec ca, encor euen question.

quelle est la différence entre la section
<.data> et <.data ?> ?
TheHacker :-p
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
30 août 2004 à 23:45
dans la section .data, tu dois initialiser tes variables, alors ke .data?, non. Je crois ke c ca, j'en suis kasiment sur...
0
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
31 août 2004 à 00:26
ok merci c bien cke j'avais constaté dans les exemples,mais j'en etait pa ssur nn plus, cela dit, je crois que meme en "mélangeant" les 2 sections ca marche .

voila merci @+
TheHacker :-p
0

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

Posez votre question
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
31 août 2004 à 09:10
Salut,
Sur les data (?) ce sont des datas non initialisés a la compilation, alors que les autres doivent avoir un contenu déclaré.
Les datas non initialisés doivent être utilisés avec beaucoup de méfiance.Le déroulement d'un programme rencontrant une data non initialisé (dans la section data ou en pile) donne des résultats incertains.
On peut remplacer tous les points d'interrogations par des zéros et suprimer la section data? sans problème.Celle ci n'est fourni que pour compatibilité avec un vieux truc obscur.
ToutEnMasm
0
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
31 août 2004 à 16:50
ok merci pour ce petit eclaircicement !

@+
TheHacker :-p
0
Rejoignez-nous