
Big toto
merci de la réponse.
mais une autre erreur subsiste puisque le résultat de l'addition n'apparaît pas. merci de trouver la réponse.
-------------------------------
Réponse au message :
-------------------------------
> Pour afficher 3 ou 2, il faut écrire:
>
> Valeur_A db "3$"
> Valeur_B db "2$"
>
> si tu écris:
>
> Valeur_A db 3
>
> C'est le code ASCII 3 (ou 2) qui sera affiché, et non pas le caractère "3" qui correspond au caractère ASCII 51
>
>
> En espérant t'avoir aidé...
>
> Nemesis
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >

Big toto
> >
> > Je n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.
> >
> >
> > ;-----------------------------------------------;
> > ; Pour Compiler: tasm32 tlink ;
> > ;-----------------------------------------------;
> >
> > ; SEGMENT DE DATA-------------------------------
> > data16 segment public ; déclaration du segment de data
> > titre db 10,10
> > db " **********************************************",10,13
> > db " * *",10,13
> > db " * OPERATION SIMPLE *",10,13
> > db " * ADDITION DE 2 NOMBRES *",10,13
> > db " * *",10,13
> > db " **********************************************",10,10,13,'$'
> >
> > message_A db 10,13," Soit A = ",'$'; une variable
> > message_B db 10,13," Soit B = ",'$'; une variable
> > message_AB db 10,10,13," A + B = ",'$'; le résultat de l'addition
> >
> > Valeur_A db 3
> > Valeur_B db 2
> >
> > data16 ends
> >
> > ; SEGMENT DE CODE----------------------------
> > code16 segment public ; déclaration du segment de code
> > assume cs:code16, ds:data16, ss:stack16
> >
> > start16:
> > ; Adapte le segment de data: ds
> > mov ax, data16 ; ax = data16
> > mov ds, ax ; ds = ax
> >
> > ; Saisie de l'identifiant et du passe
> > debut:
> >
> > mov dx, offset titre ; offset de titre
> > mov ah, 09h ; Afficher un texte à l'écran
> > int 21h ; Interruption DOS
> >
> > ; Affiche la valeur de A
> > mov dx, offset message_A
> > int 21h ; Interruption DOS
> > mov dx,offset Valeur_A
> > int 21h ; Interruption DOS
> >
> > ; Affiche la valeur de B
> > mov dx, offset message_B
> > int 21h ; Interruption DOS
> > mov dx, offset Valeur_B
> > int 21h ; Interruption DOS
> >
> > ; Calcule A + B
> > add dx, offset valeur_A ; Ajoute dans Valeur_B la Valeur_A
> > push dx ; Empile (Valeur A+B)
> >
> > ; Affiche le résultat de A + B
> > mov dx, offset message_AB
> > int 21h ; Interruption DOS
> > pop dx ; Dépile (Valeur A+B)
> > int 21h ; Interruption DOS
> >
> >
> > ; Quitte le programme
> > mov al, 00h ; pas de problèmes
> > mov ah, 4ch ; quitter le programme
> > int 21h ; Interruption DOS
> >
> > code16 ends ; fin de text
> >
> > ; SEGMENT DE STACK----------------------------
> > stack16 segment stack
> > db 200h dup (?)
> > stack16 ends
> >
> > end start16 ; fin du programme
> > ; débute à 'start16'
>