cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 20142 24 nov. 2005 à 22:04
salut,
dans le premier cas,
invoke GetDlgItemText,hWin, IDC_EDT1, ADDR tempo, 512
ecrase la valeur de eax pour retourner la taille du texte copié et donc eax n'as pas du tout la meme valeur dans le cas 1 et dans le cas 2.
dans le cas 1, le test devrait etre:
invoke GetDlgItemText,hWin, IDC_EDT1, ADDR tempo, 512
.if eax==512
invoke MessageBox,0,"Waooo, le buffer est plein !!!","infos",MB_OK
.endif
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 nov. 2005 à 20:41
BN_CLICKED vaut 0
donc en asm test de nullité s'écrit
test dx, dx
je VautZero
Comment se fait-il que tu travailles sur des registres 16 bits dans un prog Win ???
Depuis le pentium tout accès 16 bits souffre de cycle de pénalité, registres 32 et 8 non alors évite ce code.
Comme tu as l'air de commencer, évite aussi ce sabir, pas ainsi que tu connaitras l'asm. Ne pas oublier que l'asm est employé pour optimisation maxi et pas avec ça que tu l'auras, un compilo C moderne te battra sans problème à tout coup. Si tu veux te mettre à l'asm alors écris de l'asm, c'est tout à fait possible sur MASM32.