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 : Afficher un nombre conteu dans un registre [ Archives / Aide a la programmation Windows ] (RootASM)

samedi 28 janvier 2006 à 15:51:31 | Afficher un nombre conteu dans un registre

RootASM

bonjour,

J'aimerais afficher le nombre de caractere d'un chaine de caractere mais je ne sais pas comment m'y prendre. Sur le site il y a des messages mais je ne comprends pas comment faire.

Merci

samedi 28 janvier 2006 à 16:27:22 | Re : Afficher un nombre conteu dans un registre

BruNews

Administrateur CodeS-SourceS

itoa PROC   ;  IN: EAX = INT32, ECX = *psz
   push     edi
   test     eax, eax
   mov      edi, ecx
   jnz      short noZero
   lea      eax, [ecx+1]
   mov      byte ptr[ecx], '0'
   pop      edi
   mov      byte ptr[eax], 0
   ret      0
 noZero:
   jge      short supEgZero
   mov      byte ptr [edi], '-'
   neg      eax
   inc      edi
 supEgZero:
   push     esi
   mov      ecx, eax
   mov      esi, edi
 supZero:
   mov      eax, -858993459
   mul      ecx
   mov      eax, edx
   shr      eax, 3 ; EAX = EAX / 10
   mov      edx, ecx ; EDX = old EAX
   lea      ecx, [eax+eax*4]
   add      ecx, ecx ; ECX = EAX * 10
   sub      edx, ecx ; EDX = EAX % 10
   add      dl, '0'
   mov      [edi], dl
   mov      ecx, eax
   inc      edi
   test     eax, eax
   jnz      short supZero
   mov      byte ptr[edi], 0
   mov      eax, edi
 reverStr:
   cmp      esi, edi
   jae      i32toaExit
   dec      edi
   mov      cl, [esi]
   mov      dl, [edi]
   mov      [edi], cl
   mov      [esi], dl
   inc      esi
   jmp      short reverStr
 i32toaExit:
   pop      esi
   pop      edi
   ret      0
itoa ENDP

mets la valeur dans EAX et l'adresse d'un buffer dans ECX puis
call itoa

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

dimanche 29 janvier 2006 à 01:06:08 | Re : Afficher un nombre conteu dans un registre

BLUEBIBUBBLE

Routine fournie avec MASM32:

C:\MASM32\M32LIB\DWTOA.ASM (Double Word to ASCII)

dimanche 29 janvier 2006 à 15:39:31 | Re : Afficher un nombre conteu dans un registre

BLUEBIBUBBLE

Si c'est la longueur de la chaine (nombre de caractères), voir:

C:\MASM32\M32LIB\STRLEN.ASM

dimanche 29 janvier 2006 à 16:02:55 | Re : Afficher un nombre conteu dans un registre

BruNews

Administrateur CodeS-SourceS
Ma proc au dessus retourne dans EAX le pointeur sur le 0 final ajouté à la chaine, on a donc le strlen ensuite en 1 cycle.

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



Cette discussion est classé dans : nombre, afficher, caractere, registre, conteu


Répondre à ce message

Sujets en rapport avec ce message

affichage du contenu d'un registre général [ par did2604 ] Bonsoir,Quel est le code qui permet d'afficher le contenu d'un registre général (bx par exemple). Exemple, le registre BX contient la valeur 3F8 et j' Afficher valeur registre ? [ par Zootella ] Hello all, dans un programme, celui-çi test la valeur d'un registre : cmp  dword ptr [eax],4550h je voudrais faire des tests et afficher cette vale Afficher le contenu d'un registre [ par Anakinele ] Bonjour !Grand débutant en ASM je cherche 'simplement' (rien ne semble simple en asm !) à afficher dans la console le contenu d'un registre choisi au Afficher un nombre [ par MaxSoldier ] Bonjours, je voudrais afficher un nombre mais j'ai toujours des erreur : J'ai donc 2 questions : Comment déclarer une variable qui contiendra des nomb Comment convertir une chaine de caractere en nombre [ par davidv ] Voila,comment une chaine de caractere "12" par exemplepeut elle etre convertie en nombre 12.merci a tousdavidV GENERATUER NOMBRE ALEATOIRE EN ASM [ par fser ] | -= Fr@nçois =- | (cliquez pour m'envoyer un mail)mon siteMERCI DE FAIRE PARVENIR UN PROGRAMME EN ASSEMBLEUR POUR 68 HC 11 POUR GENER Petite question... [ par did2604 ] Bonsoir,Que signifie exactement la notation crochet en assembleur ? Je m'explique, par exemple : mov cl,[bx], je suppose que ce n'est pas un move ordi Pas de conversion [ par noel70 ] Bonjour à tous.Est-ce que quelqu'un saurait il comment on peut faire pour afficher dans une zone de texte, le contenu d'une adresse memoire.Je m'expli Flags dans le registre INTCON [ par tahiti_bob ] Bonjour,J'ai  trouvé sur cette page une excellente routine de communication RS232 entre un PIC et un PC.http://www.electronic-engineering.ch Sauvegarde d'un nombre [ par clad10 ] Bonsoir, Je cherche en fait, dans un programme en asm, a rentrer un nombre au clavier et qu'il soit considerer comme une valeur. par exemple, si je r


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



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 : 2,324 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é.