rendered paste bodymodel small
.Stack 100h
.Data
op1 db 256 dup(0),'$'
op2 db 256 dup(0),'$'
ats db 256 dup('0'), '$'
eil1 db '1-as operandas: $'
eil2 db '2-as operandas: $'
eil3 db 'Atsakymas: $'
nauja_eil db 13,10,'$'
.Code
ivesti proc
mov cl, 10h
xor bx, bx;
iv_cikl:
mov ah, 01h
int 21h
cmp al, 0dh
je iv_baigti
mov dl, al
xor ah, ah
div cl
cmp dl, 3ah
jl iv_toliau
add ah, 09h
iv_toliau:
inc bl
mov [si][bx], ah
cmp bl, 0ffh
jb iv_cikl
iv_baigti:
mov [si], bl
lea dx, nauja_eil
call irasyti
ret
endp ivesti
irasyti proc
mov ah, 09h
int 21h
ret
endp irasyti
atimti proc
xor bx, bx
mov dl, op1
lyginti:
cmp op1, bl
je at_toliau
cmp dl, op2[bx]
jne at_toliau
inc bl
mov dl, op1[bx]
jmp lyginti
at_toliau:
cmp dl, op2[bx]
jb at_sukeisti
xor dl, dl
lea si, op1
lea di, op2
jmp at_atimti
at_sukeisti:
mov dl, '-'
lea si, op2
lea di, op1
at_atimti:
xor bh, bh
mov bl, [si]
add si, bx
mov ch, bl
mov bl, [di]
add di, bx
mov dh, bl
xor cl, cl
xor ah, ah
mov bx, 00ffh
at_cikl:
cmp ch, cl
je at_4
mov al, [si]
add al, ah
cmp dh, cl
jbe at_1
sub al, [di]
dec di
at_1:
cbw
cmp ah, 00h
je at_2
add al, 10h
at_2:
cmp al, 0ah
jb at_3
add al, 07h
at_3:
add ats[bx], al
dec bl
dec si
inc cl
jmp at_cikl
at_4:
cmp ats[bx], '0'
jne at_5
cmp bx, 00ffh
je at_6
inc bx
jmp at_4
at_5:
cmp dl, '-'
jne at_6
dec bx
mov ats[bx], dl
at_6:
lea cx, ats[bx]
ret
endp atimti
pradzia:
mov ax, @data
mov ds, ax
lea dx, eil1
call irasyti
lea si, op1
call ivesti
lea dx, eil2
call irasyti
lea si, op2
call ivesti
call atimti
lea dx, eil3
call irasyti
mov dx, cx
call irasyti
mov ah, 4ch
int 21h
end pradzia