From the 'C' language perspective:
eax = A
eax gets a copy of the value of A.
ebx = B
ebx gets a copy of the value of B.
ecx = &X
ecx gets the address (or memory location) of X.
edx = &Y
edx gets the address (or memory location) of y.