begin process at 2010 02 10 00:46:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

Afficher un nombre conteu dans un registre


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

Afficher un nombre conteu dans un registre

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

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,265 sec (4)

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