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 rsultat
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 |
Partager