Академический Документы
Профессиональный Документы
Культура Документы
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 ?