; programul calculeaza c.m.m.d.c. al numerelor a si b ; folosind algoritmul lui Euclid ; toate numerele sunt reprezentate pe 16 biti fara semn _DATA segment a dw 225 b dw 25 d dw ? ; cmmdc _DATA ends assume ds:_DATA assume cs:_TEXT _TEXT segment start: mov ax, _DATA mov ds, ax mov ax, a mov bx, b bucla: cmp bx, 0 je final mov dx, 0 ; dx:ax deimpartitul, bx impartitorul div bx mov ax, bx mov bx, dx jmp bucla final: mov d, ax mov ax, 4C00h int 21h _TEXT ends _STACK segment stack db 512 dup (?) _STACK ends end start