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

x86 16-bits Assembleur Discussion :

[Débutant] Afficher une valeur de -127 à 128 après saisie en binaire


Sujet :

x86 16-bits Assembleur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [Débutant] Afficher une valeur de -127 à 128 après saisie en binaire
    Bonjour,
    je fais un programme qui, après avoir saisi un nombre en binaire (8 bits), affiche ce nombre en décimal avec un + devant si le nombre est positif et un - si le nombre est négatif. Je vous mets le code (la partie affichage ne fonctionne pas. Elle se fait à partir de l'étiquette comparaison). L'affichage du signe ne se fait pas non plus, je ne comprend pas pourquoi. Pourriez-vous m'apporter votre aide, merci d'avance.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    Binaire:
    		mov si,0
    		mov cl,0
    		lea dx,messaisie2 
    		mov ah,9		; Appel fonction n°9 pour affichage message de saisie 2
    		int 21h
     
    DebTq:
    		cmp si,8
    		jge affichage
    		mov ah,1		; Appel fonction n°1 pour la saisie d'un caractere (ici la valeur en binaire) 
    		int 21h
     
    		cmp al, '0'
    		je suite
    		cmp al,'1'
    		je suite
    		jmp erreur
     
    suite:
    		sub al,48
    		add cl,al
    		shl cl,1
    		inc si
    		jmp DebTq
     
    comparaison:
    		rol cl,1
    		jnc signePos
    		jmp signeNeg
     
    signePos:
    		mov dl,'+'
    		mov ah,2
    		int 21h
    		jmp affichage
     
    signeNeg:
    		mov dl,'-'
    		mov ah,2
    		int 21h
     
    affichage:
    		lea dx,messresult 
    		mov ah,9		; Appel fonction n°9 pour affichage message 
    		int 21h
     
    		ror cl,1
    		sub cl,100
    		cmp cl,0
    		jle suite1
    		mov dl,'1'
    		mov ah,2
    		int 21h
    		mov bl,0
    		jmp Tq
     
    suite1: 
    		add cl,100
    		mov bl,0
    		jmp Tq
     
    Tq:		
    		sub cl,10
    		cmp cl,10
    		jl suite2
    		inc bl
    		jmp Tq
     
     
     
    suite2:		
    		mov dl,bl
    		mov ah,2
    		int 21h
     
    		mov dl,cl
    		mov ah,2
    		int 21h

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je pense qu'il y a un problème dans la lecture des chiffres binaires : après la lecture du dernier, il y a un shl de trop, ce qui fait que le nombre binaire à analyser est erroné.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. [AC-2003] ne pas afficher une valeur apres selection
    Par chuspyto dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/12/2009, 19h59
  2. Réponses: 2
    Dernier message: 17/03/2009, 14h20
  3. Afficher une information de la bd après la saisie d'une valeur
    Par BILANGA dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/03/2009, 15h09
  4. Réponses: 3
    Dernier message: 28/01/2004, 14h55
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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