Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Conversion [ Archives / Newbii ] (noel70)

dimanche 6 février 2005 à 15:17:33 | Conversion

noel70

Membre Club
Bonjour a tous.
Voila le programme sous Masm32, et sous Masm32, il existe une procedure pour convertir des valeurs numeriques en des valeurs ascii, et ceci pour que ces valeurs puisse être lu par l'utilisateur dans une EDITBOX par exemple.
Cette procedure est appelle dwtoa.

Mais voila je me demandais s'il existait une procedure qui fait l'inverse, c 'est a dire que convertit une valeur ascii en des valeurs numeriques.
Car ce que je voudrais recupere dans une EDITBOX, c'est ceci:

Exemple: Dans l' EDITBOX, l'utilisateur ecrit 123
Apres qu'on es utilise l'API GetDlgItemTextA, pour recuperer ce qu'il est ecrit dans cette EDITBOX, on recupere dans notre adresse memoire utilise avec l'API GetDlgItemTextA les valeurs suivantes 31 32 33, ce qui correspond a la valeur hexadecimal des caractere ascii 1 2 3,

Voila, moi ce que voudrais pouvoir recupere c 'est ce qui est ecrit la EDITBOX mais sous la meme forme, c'est a dire l'utilisateur ecrit 123, je voudrais recuperer la valeur 123 et non 31 32 33.

Si quelqu'un pourrait m'aider, Merci. 

dimanche 6 février 2005 à 16:38:32 | Re : Conversion

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !

atoi PROC  ; IN: EAX = *psz
   push     ebx
   mov      ecx, eax
   xor      ebx, ebx
   xor      eax, eax
   xor      edx, edx
   cmp      byte ptr[ecx], '-'
   jne      short nbrLoop
   inc      ecx
   mov      edx, -1
 nbrLoop:
   mov      bl, [ecx]
   cmp      bl, '0'
   jb       short nbrStop
   cmp      bl, '9'
   ja       short nbrStop
   lea      eax, [eax+eax*4] ; eax = eax * 5
   sub      bl, '0'
   add      eax, eax
   inc      ecx
   add      eax, ebx
   jmp      short nbrLoop
 nbrStop:
   add      eax, edx
   pop      ebx
   xor      eax, edx
   ret      0
atoi ENDP


ciao...
BruNews, MVP VC++

dimanche 6 février 2005 à 17:09:12 | Re : Conversion

noel70

Membre Club
Merci, tu es trop fort

lundi 7 mars 2005 à 06:24:48 | Re : Conversion

CoreBreaker

Juste à titre d'information j'ai posté un source qui s'appelle MENU DE CONVERSION: http://www.asmfr.com/code.aspx?ID=19287

Il y a les conversions:
Caractère -> code ASCII
code ASCII -> Caractère
HEXA -> Décimal
Décimal -> HEXA

Il y a des saisies et des affichage, il y a donc l'équivalent des fonctions atoi et itoa

Core Breaker

samedi 13 août 2005 à 03:14:58 | Re : Conversion

xpert1337

Voila moi c'est le mem cas mais je ne comprend pa ta procedure moi je programme en MASM32 mais ta procedue je ne la comprend pa commen fonctionne -t- elle ou alors commente un peu plus ton code merci quand meme ;)

samedi 13 août 2005 à 09:34:41 | Re : Conversion

BruNews

Administrateur CodeS-SourceS
"en MASM32" n'a pas de sens, c'est asm ou non, ma procédure atoi est aussi assemblée sur MASM32.

On met l'adresse de la chaine dans ECX avant le call:
mov ecx, offset chaine
call atoi
comme normal le résultat est dans EAX en sortie.
Au début on met ECX = EAX et on met EAX à zéro pour le retour.
Tant qu'on n'atteint pas le terminateur NULL de fin de chaine et que ECX pointe sur un octet compris entre '0' et '9', EAX = EAX*10 + val(ECX) - val('0') et puis on pousse ECX.
Enfin rien que du normal, juste qu'il faut remlacer la multiplication trop couteuse en cycles par un LEA suivi d'un ADD.

ciao...
BruNews, MVP VC++

samedi 29 octobre 2005 à 15:17:19 | Re : Conversion

bios4c44

Merci pour le code il va bien me servir ;-) Et à part ça je regrette mais "en MASM32" a du sens désolé (bien que pour être plus correct il eut fallu dire "sous MASM32") car des langages d'assemblages il en existe des tas (autant que d'architectures de processeurs...), tu me répondras que le x86 est l'asm dont on parle sur ce site mais le pb est que le code dépends aussi du compilateur utilisé donc un code TASM ou NASM peuvent être différents et non portables même si ils réalisent les mêmes opérations. voili voilou je "m'offusquai" :-) un peu quand tu as répliqué c'est asm ou non si violemment au pauvre xpert1337...

samedi 29 octobre 2005 à 15:57:24 | Re : Conversion

BruNews

Administrateur CodeS-SourceS
MASM définit qlqs macros mais en aucun cas un sabir particulier, c'est du pur standard Intel tel qu'on le voit dans les manuels Intel.

ciao...
[ Lien ]
BruNews, MVP VC++



Cette discussion est classé dans : valeurs, ascii, ecrit, editbox, procedure


Répondre à ce message

Sujets en rapport avec ce message

exercice [ par susur2002 ] afficher le contenu du registre du didact 68000 sous forme de 1 et de 0 sur l'ecran du pc en utilisant le port 3 du didact.on utilisera ce registre di EditBox [ par Bros ] SalutJ'ai une fenetre avec un editbox.Mon programme ouvre un fichier et va afficher dans l'édit box: "Fichier ouvert..."En suite a la ligne en dessous transformer un fichier ascii en format texte afin de pouvoir imprimer correctement sur une imprimante laser [ par kamie ] KamieBonjour à tous,j'ai un petit problème et je ne sais pas comment faire.j'ai un fichier qui est de format ascii.lorsque nous imprimons ce fichier s Delphi (6) + ASM en ligne ... Problème !!! [ par Robbby ] Voici un problème concernant un programme tres simple utilisant l'Assembleur en ligne sousDelphi 6.Dans l'exemple n°1, "gogo" et "toto" sont incrément probleme de conversation de hexa en ascii [ par wapiti ] voici le programme qui converti du binaire en ascii.model small.stack;-------------------------------------------------------------------------------- Conversion hexa vers ascii [ par Cygace ] Bonjour voici un code asm qui convertit un nombre binaire vers de l'ascii. Mais je dois modifiier ce code pour qu'il convertisse de l'hexadecimal vers Conversions (clarifications) [ par Gandalfthewhite ] salut à tous et toutes, je débute en programmation assembleur et on me demande un programme qui effectue différentes conversions avec procédures et pa convertion binaire vers ascii [ par MUSICMANIAC ] bonjour,comment fait on pour convertir un fichier binaire 16 bitsen plusieurs caracteres ascii?language assaembleurmicro pic16f84 macro avec parametre [ par mat74 ] salut a ts , voila j'essaie de créer une fonction , un macro en fait qui permetrait d'afficher le msg passer en parametre j'ai fait qqs essaies et sa Besion info importante assembleur/desassembleur [ par PatSW ] Bonjour,je suis présentement en train de modifier un fichier execute que jai décompiler avec W32Dasm et toute mes modifications jusqu'a présent sont p


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.