IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Conversion d'un décimal vers sa représentation ASCII


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Conversion d'un décimal vers sa représentation ASCII
    Bonjour,

    J'ai besoin de créer une procédure (sous nasm) nommée Proc_convert, qui va me permettre de convertir un nombre décimal positif (ex:2012) vers sa représentation ASCII, pourriez-vous m'aider ?

    Sachant que j'avais déjà créé la même procédure mais pour les nombres positifs<100, comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Proc_convert:
     
    		; l'entrée sera chargée en var
     
    		mov ax,[var]       
    		mov bx, 10   ;dissocier les unités des dizaines
    		div bx
     
    		add ah,30h
    		add al,30h
     
    		mov [tmp], al   
    		mov [tmp+1], ah
    		;la sortie sera stockée en [tmp] et [tmp+1]
     
    		ret

  2. #2
    Membre confirmé Avatar de bifur
    passe le balais et l'aspirateur
    Inscrit en
    Mars 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : Mars 2008
    Messages : 314
    Points : 550
    Points
    550
    Par défaut
    il te suffit d'uttiliser une boucle de ce que tu as déja uttilisé et de stocker les résultat dans une pile (LIFO)

    comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    mov cx,"$$"  ;on empile pour signaler que l'on est arrivé a la fin de la chaine
    push cx
    mov cx,10
     
    boucle1:
    xor dx,dx             ;pas oublier de mettre dx a zéro, la division l'uttilise aussi
    div cx
    add dl,"0"        ;ou 30h (le code ascii du zéros)
    push dx                           
    cmp ax,0
    jne boucle1:
    il suffit alors de dépiler et d'afficher les caractère jusqu'a arriver sur le symbole $ (qui a été empilé en premier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    boucle2:
    pop dx
    cmp dx,"$$"
    je fin
    ;insérer ici une procédure pour affichier le caractère ascii stocké dans dl
    jmp boucle2
     
    fin:
    au lieux d'uttiliser la pile tu peut très bien uttiliser un buffer situé ou tu le souhaite

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/01/2012, 15h19
  2. conversion décimal vers flottant
    Par ben83 dans le forum Programmation système
    Réponses: 0
    Dernier message: 29/12/2011, 18h11
  3. Réponses: 0
    Dernier message: 24/06/2011, 17h54
  4. [Conversion] Décimal vers caractère (Ascii)
    Par Hokage dans le forum Débuter
    Réponses: 2
    Dernier message: 01/10/2007, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo