Documente Academic
Documente Profesional
Documente Cultură
model small
.stack 100h
.data
num1 dw 0
num2 dw 0
mesaj1 db "Introduceti numarul unu:$"
mesaj2 db "Introduceti numarul doi:$"
mesaj_da db "Produsul este un patrat perfect.$"
mesaj_nu db "Produsul nu este un patrat perfect.$"
.code
start:
mov ax, @data
mov ds, ax
numarul1:
mov ah, 01
int 21h
mov ah,0
cmp al, 13
je m2
sub al, 48
mov bx, ax
mov ax, num1
mov dx, 10
mul dx
add bx, ax
mov num1, bx
jmp numarul1
m2:
mov dx, offset mesaj2
mov ah, 09
int 21h
numarul2:
mov ah, 01
int 21h
mov ah,0
cmp al, 13
je inmultire
sub al, 48
mov bx, ax
mov ax, num2
mov dx, 10
mul dx
add bx, ax
mov num2, bx
jmp numarul2
inmultire:
mov ax, num1
mov bx, num2
mul bx
mov cx, ax
mov bx, 0
verificare:
inc bx
cmp bx, cx
jg nu_e_patrat_perfect
mov dx, bx
mov ax, dx
mul dx
cmp ax, cx
je patrat_perfect
jmp verificare
patrat_perfect:
mov dx, offset mesaj_da
mov ah, 09
int 21h
jmp gata
nu_e_patrat_perfect:
mov dx, offset mesaj_nu
mov ah, 09
int 21h
gata:
mov ah, 4ch
int 21h
end start