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 :

Calculatrice avec NASM


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Calculatrice avec NASM
    Bonjour,

    Je suis un débutant en ASM(j'utilise NASM),j'ai créer un petit programme qui demande à l'utilisateur de saisir deux nombre(numa,numb) et le type d’opération(1 pour add,2 pour sub)

    Mon problème ce que le programme de permet pas de faire la sustraction (je pense que j'ai un erreur dans la partie de comparaison)
    voila le code :
    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
    section .data
    	msga db 'Saisir A : '
    	la equ $ - msga
    	msgb db 'Saisir B : '
    	lb equ $ - msgb
    	op db 'Operation 1-Add 2-Sub : '
    	lop equ $ - op
    	resv db 'resultat : '
    	lr equ $ - resv
     
    section .bss
    numa resb 2
    numb resb 2
    numop resb 2
    res resb 1
    section .text
    global _start
    _start:
    	;Saisir A
    	mov eax,4
    	mov ebx,1
    	mov ecx,msga
    	mov edx,la
    	int 80h
     
    	;Lire A
    	mov eax,3
    	mov ebx,2
    	mov ecx,numa
    	mov edx,2
    	int 80h
     
    	;Saisir B
    	mov eax,4
    	mov ebx,1
    	mov ecx,msgb
    	mov edx,lb
    	int 80h
     
    	;Lire B
    	mov eax,3
    	mov ebx,2
    	mov ecx,numb
    	mov edx,2
    	int 80h
     
    	;Saisir op
    	mov eax,4
    	mov ebx,1
    	mov ecx,op
    	mov edx,lop
    	int 80h
     
    	;Lire po
    	mov eax,3
    	mov ebx,2
    	mov ecx,numop
    	mov edx,1
    	int 80h
     
    	;Afficher le resultat
    	mov eax,[numa]
    	sub eax,'0'
    	mov ebx,[numb]
    	sub ebx,'0'
     
    	cmp ecx,'1'
    	je op_add
     
    	cmp ecx,'2'
    	je op_sub
     
    	op_add:
    	add eax,ebx
    	jmp _exit
    	op_sub:
    	sub eax,ebx
    	jmp _exit
    	_exit:
    	;mov [res],ecx
    	add eax,'0' ;convertir vers ASCII
    	mov [res],eax
     
    	mov eax,4
    	mov ebx,1
    	mov ecx,res
    	mov edx,2
    	int 80h
     
    	mov eax,1
    	int 80h

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Bonjour,

    Tu nous dis:
    "Mon problème ce que le programme de permet pas de faire la sustraction"
    Sans nous préciser qu'elle erreur tu obtiens.

    Mais sinon, passe ton code au debugger.
    T'en as pour 30 secondes pour voir où ça bloque.

    Comme debugger il y a "edb", qui est un debugger avec gui.
    En ligne de commande, il y a "gdb", et aussi "fdbg" qui est vraiment pas mal.

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup n5Rzn1D9dC
    j'ai trouvé l'erreur.
    je doit ajouter la ligne mov ecx,[numop] juste avant la comparaison.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calculatrice avec vb2008
    Par asmar dans le forum VB.NET
    Réponses: 1
    Dernier message: 14/04/2009, 16h53
  2. calculatrice avec php
    Par mams1 dans le forum Langage
    Réponses: 1
    Dernier message: 13/04/2009, 14h56
  3. calculatrice avec gridBagLayout
    Par erox44 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 30/10/2008, 20h23
  4. Calculatrice avec deux Fenetres ?
    Par marven dans le forum Débuter
    Réponses: 2
    Dernier message: 04/10/2008, 14h34
  5. Calculatrice (avec fonctions)
    Par Fur1ous dans le forum C
    Réponses: 4
    Dernier message: 07/11/2007, 10h21

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