z=((a*x*x) div (b*y*y)) div ( a+b )

Код
asm
    push a
    mov  ax,y
    mul  ax
    mov  bx,b
    mov  cx,bx
    mul  bx
    push ax       { сохранили b*y*y }
    mov  ax,x
    mul  ax
    mov  bx,a
    add  cx,bx       { в CX = a+b }
    mul  bx
    pop  bx       { восстановили b*y*y }
    xor  dx,dx
    div  bx       { (a*x*x) div (b*y*y) }
    xor  dx,dx
    div  cx
    mov  z,ax       { в AX = ((a*x*x)div(b*y*y)) div (a+b) }
    pop  a
end;


какую функцию выполняет команда xor dx,dx в данной задаче?