Vladimir A. Reznichenko wrote: > So the question is why the call instruction drops register values? The call instruction doesn't drop anything, it just does a call. What is happening is the rotateLeft function is using ECX for something else. The EAX, ECX, and EDX registers are (by convention) not preserved across function calls.