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 :

[TASM] Problème pour un programme d'addition


Sujet :

Assembleur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 53
    Points
    53
    Par défaut [TASM] Problème pour un programme d'addition
    Bonjour

    je suis débutant en Assembleur (je travaille avec le compilateur TASM)
    j'essaie de faire un programme qui demande à l'utilisateur d'entrer 2 nombres (de 2 chiffres) au clavier et d'afficher la somme

    le problème c'est que je bloque au niveau de l'addition :s, le programme doit savoir gérer la centaine
    (ex :
    1er nombre : 52
    2eme nombre : 69
    somme : 121)
    j'arrive a introduire les 2 nombres, mais pour afficher la somme, il y a des caractères bizarres.

    Merci d'avance de m'aider


    EDIT

    Voici mon code de mon programme ADD.ASM :
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    .386
     
    donnees segment para public use16
      	message1	db 'Entrez la premiere valeur : ', '$'
    	nb1		db 4 dup(0)
    	message2	db 'Entrez la deuxieme valeur : ', '$'
    	nb2		db 4 dup(0)
    	message3	db 'La somme vaut : ', '$'
    	result		dw ?
    donnees ends
     
    code segment para public use16
    	ASSUME ds:donnees, cs:code
     
    debut:
    	mov ax,donnees
    	mov ds,ax
     
    	; Affichage du 1er message
    	mov dx, offset message1
    	call aff_chaine
     
    	; Encodage de nb1
    	call encodage
    	mov dx, offset nb1	
     
            ; Curseur
    	mov ax, 0200h
    	mov dh, 01
    	mov dl, 00
    	mov bh, 00  
    	int 10h
     
    	; Affichage du 2eme message
    	mov dx, offset message2
    	call aff_chaine
     
    	; Encodage de nb2
    	call encodage
    	mov dx, offset nb2
     
    	; Curseur
    	mov ax, 0200h
    	mov dh, 03
    	mov dl, 00
    	mov bh, 00  
    	int 10h
     
    	; Affichage du r‚sultat
    	mov dx, offset message3
    	call aff_chaine
     
    	mov result,0
     
    	;add dx, ax
     
     
    	mov result, [nb1]
    	;mov bx, offset nb2	
     
    	add result, nb2
    	;aaa
     
    	;mov result, cx
     
    	;mov dx, result
     
    	mov dx, offset result
    	call aff_chaine
     
     
    	; Retour au DOS
    	mov ax,4c00h
    	int 21h
     
    ; Affichage des messages
    aff_chaine proc near
    	mov ax,0900h
    	int 21h
    	ret
    endp
     
    ; Encodage des nombres
    encodage proc near
    	mov ah,0ah
    	int 21h
    	ret
    endp
     
    code ends
     
    pile segment para stack use16 'stack'
    	db 2048 dup (?)
     
    pile ends		; fin segment pile
     
    end debut

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour,

    En survolant le code, je vois déjà que vous appelez votre procédure "encodage" avant d'initialiser correctement le registre dx.

    Je n'ai pas regardé la suite, mais en appelant la procédure après initialisation, déjà, ça ira mieux
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Juju_41
    Bonjour,

    En survolant le code, je vois déjà que vous appelez votre procédure "encodage" avant d'initialiser correctement le registre dx.

    Je n'ai pas regardé la suite, mais en appelant la procédure après initialisation, déjà, ça ira mieux

    j'ai déja essayer, et je n'arrive pas alors à encoder, je n'est que les textes qui s'affiche et le programme s'arrete là

Discussions similaires

  1. Réponses: 145
    Dernier message: 15/02/2009, 11h51
  2. une IHM pour mon programme fortran
    Par mehdouchi dans le forum Fortran
    Réponses: 5
    Dernier message: 09/09/2005, 16h00
  3. Sujet pour un programme en POO?
    Par dreamanoir dans le forum Langage
    Réponses: 6
    Dernier message: 28/01/2005, 19h18
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02
  5. [LG]Divers problémes pour un programme.
    Par Horus TCT dans le forum Langage
    Réponses: 14
    Dernier message: 24/05/2003, 23h04

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