when I have the the operation
IDIV ecx
in assembly, then i have read that the that the value in edx:eax is divided by the operand ecx. I also
What is it? It's the value you put there because you want to divide it...
The CDQ instruction takes a 32-bit value in EAX and converts it into a 64-bit value in EDX:EAX (by copying the sign bit of EAX into every bit of EDX). You use it if (as is usual) the value you want to divide is 32-bit to begin with.