title: how C compiler treats a struct return value from a function, in ASM
body: <p>When speaking about C function's return value, the return value is stored in the <code>EAX</code> register. Suppose we are speaking about 32 bit register, integers are welcomed, but what happens when we return these types:
  <code>long long</code>, <code>long double</code>, a <code>struct</code>/<code>union</code> that is larger than 32bit.      </p>