begin process at 2010 03 19 09:26:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

divers

 > CONVERSION CHAINE / NOMBRE

CONVERSION CHAINE / NOMBRE


 Information sur la source

Note :
Aucune note
Catégorie :divers Niveau :Débutant Date de création :23/02/2003 Date de mise à jour :23/02/2003 15:55:34 Vu :6 774

Auteur : Nemesis

Ecrire un message privé
Site perso
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Avec cette petite routine pour NASM, vous pourrez convertir un nombre sous forme de chaine de caractères au format hexadécimal en valeur numérique. Par exemple:

       "5A"  devient  5Ah
       "FF"   devient FFh
       etc...

Pour l'utiliser, il faut lui mettre dans EBX l'adresse de la chaine (2 caractères). En sortie, AL contiendra le nombre.

Source

  • ; ebx contient l'adresse de la chaine (2 caractères)
  • ; al contiendra le nombre
  • ; pour comprendre on prend la chanie "5A"
  • Hex2Int:
  • push dword ecx ; sauve le registre ECX
  • mov ch, byte[ebx] ; ah <- "5"
  • mov cl, byte[ebx+1] ; al <- "A"
  • mov ah, ch
  • sub ah, "0" ; ah <- 5 ("5"-"0")
  • mov al, cl
  • sub al, "0" ; al <- 0Ah ("A"-"0")
  • shl ah, 4 ; ah <- 0101 0000
  • or al, ah ; al <- 0101 1010 = 5A (al or ah)
  • pop ecx ; récupère ECX
  • ret ; quitte la sous-routine
  • ; al contient donc bien le nombre sous forme numérique
; ebx contient l'adresse de la chaine (2 caractères)
; al contiendra le nombre

; pour comprendre on prend la chanie "5A"

Hex2Int:

push dword ecx               ; sauve le registre ECX

mov ch, byte[ebx]             ; ah <- "5"
mov cl, byte[ebx+1]           ; al <- "A"

mov ah, ch
sub ah, "0"                   ; ah <- 5      ("5"-"0")

mov al, cl
sub al, "0"                   ; al <- 0Ah    ("A"-"0")

shl ah, 4                     ; ah <- 0101 0000

or al, ah                     ; al <- 0101 1010 = 5A (al or ah)

pop ecx                     ; récupère ECX

ret                              ; quitte la sous-routine

; al contient donc bien le nombre sous forme numérique

 Conclusion

Cette routine à été écrite pour NASM, mais bon ,je compte sur vous pour la transformer pour les autres assembleurs...


Nemesis


 Sources de la même categorie

Source avec une capture DESSIN DE RECTANGLES (POSITION, TAILLE, COULEUR, ÉPAISSEUR) par macsou01
RECHERCHE DES PALINDROMES D'UN TEXTE SAISI. par PCBill
Source avec Zip LIBRAIRIE GRAPHIQUE (ET PLUS) EN MODE RÉEL par epineurien
Source avec Zip Source avec une capture LIB PROGRESSBAR (PERSONNALISABLE , DÉGRADÉ DE COULEUR,POURCE... par knetus
Source avec Zip Source avec une capture AFFICHE COULEUR par knetus

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,390 sec (3)

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