begin process at 2012 02 08 05:05:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

Conversion


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conversion

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ée 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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,168 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales