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 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 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 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 afficher une chaine de caractere dans le sens inverse [ par Orlyn ] Bonjour, Je suis depsuis hier aprem sur un prog et ca fait des heures que je cherche (en changeant le prog et en cherchant sur google et partout) mai microcontroleur [ par sam20 ] Salut a tous.Je voudrai faire une videotech.A partir d'un circuit imprimé,disque dur ,microcontroleur.  lire des video,jpg et mp3 sur ma tv.J'ai trouv impaire/paire [ par longchamp ] bonjour,je voudrai écrire un petit programme simple en assembleur qui permet d'enregistrer une valeur ,de compter le nombre de 1 et de 0 dans son écri


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

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,28 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é.