goback macro mov ah,4ch int 21h endm ; .MODEL SMALL .STACK .DATA msg db 'input number ?$' msg1 db 'the add result=$' odoa db 0dh,0ah,'$' t1 dw ? t2 dw ? op1 dw ? tt db 1024 dup(?) ten dw 10 len1 dw ? len2 dw ? tmp db ? .CODE public t1,t2 MOV AX,@DATA MOV DS,AX ; lea dx,msg mov ah,09 int 21h ; call inpnumber mov ax,t1 mov op1,ax mov ax,t2 mov len1,ax lea dx,msg mov ah,09 int 21h ; call inpnumber mov ax,t1 mov bx,t2 mov len2,bx add ax,op1 ; mov cx,t1 cmp cx,t2 jl cg mov cx,t2 cg: xor si,si mov tmp,cl ; total length & push digit ll: xor dx,dx div ten push dx loop ll ; lea dx,msg1 mov ah,09 int 21h ; mov cl,tmp ; output result l1: pop ax add al,30h mov dl,al mov ah,02 int 21h loop l1 goback ; inpnumber proc xor bx,bx ; inp: mov ah,01 int 21h cmp al,0dh je inpcomp mov tt[bx],al inc bx jmp inp ; inpcomp: mov t2,bx lea dx,odoa mov ah,09 int 21h ; mov cx,bx xor si,si xor dx,dx xor ax,ax chg: mov bl,tt[si] sub bl,30h mul ten add ax,bx inc si loop chg mov t1,ax ret inpnumber endp END