Вы находитесь на странице: 1из 2

org 100h

again:

mov dx,offset fnumber
mov ah,09
int 21h

mov ah,01
int 21h
mov bh,al

mov ah,01
int 21h
mov bl,al

mov dx,offset snumber
mov ah,09
int 21h

mov ah,01
int 21h
mov ch,al

mov ah,01
int 21h
mov cl,al


cmp bh,ch
jl mensahe
jge sus
sus:
cmp bl,cl
jl barrow
jge notbarrow




notbarrow:
mov dx,offset msg44
mov ah,09
int 21h

sub bh,ch
add bh,30h
mov ah,02
mov dl,bh
int 21h



sub bl,cl
add bl,30h
mov ah,02
mov dl,bl
int 21h
jmp continue


barrow:
mov dx,offset msg44
mov ah,09
int 21h


mov dh, '1'
sub bh,dh
add bh,30h

sub bh,ch
add bh,30h
mov ah,02
mov dl,bh
int 21h



mov dl, ':'
add bl,dl
sub bl,30h

sub bl,cl
add bl,30h
mov ah,02
mov dl,bl
int 21h
jmp sum

mensahe:
mov dx,offset msg77
mov ah,09
int 21h

jmp sunod

sum:

mov dh, '1'
add bh,dh
sub bh,30h

add bh,ch
sub bh,30h


mov dl, ':'
sub bl,dl
add bl,30h

add bl,cl
sub bl,30h
jmp sunod

continue:
add bh,ch
sub bh,30h

add bl,cl
sub bl,30h

sunod:





mov dx,offset sum1
mov ah,09
int 21h

add bl,cl
sub bl,30h
cmp bl,'9'
ja above9

add bh,ch
sub bh,30h
cmp bh,'9'
ja above99

mov ah,02
mov dl,bh
int 21h

mov ah,02
mov dl,bl
int 21h

jmp again

above9:
add bh,ch
sub bh,2Fh
cmp bh,'9'
ja above99
mov ah,02
mov dl,bh
int 21h

sub bl,0Ah
mov ah,02
mov dl,bl
int 21h

jmp again

above99:
mov dx, offset a99
mov ah,09
int 21h
jmp again

ret
fnumber db 10,10,13, "Enter two two-digit
numbers to be added (00-99)",10,13,"
",10,13," $"
snumber db 10,13, "+ $"
sum1 db 10,10,13, "sum: $"
a99 db 13,"The digit is greater than
99.",10,13,"Please try again...$"
msg44 db 10,10,13,"Difference: $"
msg77 db 10,10,13,"Difference: Cannot Be$"
a db ?
b db ?

Вам также может понравиться