.model small .stack .data msg db "Sum of 2 integer values.","$" msg1 db 13,10, " Input a valid integer value : ","$" msg2 db 13,10, " Input an other integer, please : ","$" msg3 db 13," The sum is : ","$" acc dw 0 dix dw 10 .code main proc mov ax,@data mov ds,ax MOV AX,0 mov ah,09 lea dx,msg int 21h mov ah,09 lea dx,msg1 int 21h mov ah,1 int 21h add al,-48 mov ah,0 mov bx,ax @1: mov ah,1 int 21h mov ah,0 cmp al,13 je @3 add al,-48 mov cx,9 mov dx,bx @2: add dx,bx loop @2 mov bx,dx add bx, ax jne @1 @3: mov ah,2 mov dl,10 int 21h mov ah,09 lea dx,msg2 int 21h mov ah,1 int 21h add al,-48 mov ah,0 mov dx,ax @4: mov ah,1 int 21h mov ah,0 cmp al,13 je @5 add al,-48 mov cx,ax mov ax,dx mul dix mov dx,ax add dx,cx jne @4 @5: add bx,dx mov ah,2 mov dl,10 int 21h cmp bl,0 jne @6 add bl,48 mov ah,2 mov dl,bl int 21h jmp fin @6: mov ax,bx @7: cmp ax,0 je @8 mov dx,0 div dix push dx inc acc jmp @7 @8: mov cx,acc mov ah,09 lea dx,msg3 int 21h @9: pop bx add bl,48 mov ah,0 mov ah,2 mov dx,bx int 21h loop @9 fin: mov ax,4c00h int 21h main endp end main