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