Addition ASM [Résolu]

Messages postés
3
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
13 juillet 2010
- - Dernière réponse : GibsonUSA
Messages postés
3
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
13 juillet 2010
- 13 juil. 2010 à 13:53
Bonjour a tous,
je débute en ASM 16bits et je bloque pour faire une addition de deux chiffres saisis par l'utilisateur.

Voila ce que j'ai fais. A l'exécution, le programme me demande bien de saisir les deux nombres, mais dès que le deuxième est saisi, il écrit des une multitude de symboles.

[BITS 16]
[ORG 100h]
[SEGMENT .data]
message1 db "Veuillez saisir un premier nombre: ", 10, 13, '$'
message2 db "Veuillez saisir un second nombre: ", 10, 13, '$'
[SEGMENT .text]
; affichage du message de saisi du nb 1
mov ah, 09h
mov dx, message1
int 21h

saisie du nb1 et stockage sur pile
mov ah, 01h
int 21h
push ax

; affichage du message de saisi du nb 2
mov ah, 09h
mov dx, message2
int 21h

; saisie du nb2
mov ah, 01h
int 21h
pop bx ;dépilage du nb1 et stockage dans bx
add ax, bx ;ax=ax+bx


; affichage du résultat qui doit être mis dans dx
mov ah, 09h
mov dx, ax ;dx =ax (résultat du calcul)
int 21h

;appels fin d'un programme .exe
mov ah, 01h
int 21h
mov ah, 01h
int 21h
mov ax, 4c01h ;Int 21/AH=4Ch - DOS 2+ - EXIT - TERMINATE WITH RETURN CODE
int 21h
ret

Merci
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
3
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
13 juillet 2010
3
Merci
problème résolu avec l'utilisation de:
Int 21/AH=06h
et sum bl, 48

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 146 internautes nous ont dit merci ce mois-ci

Commenter la réponse de GibsonUSA