CDQ
Usage: CDQ Modifies flags: None
Converts signed DWORD in EAX to a signed quad word in EDX:EAX by extending the high order bit of EAX throughout EDX.
Sign Extensions
CBW ; o16 98 [8086]
CWDE ; o32 98 [386]
CWD ; o16 99 [8086]
CDQ ; o32 99 [386]
All these instructions sign-extend a short value into a longer one, by replicating the top bit of the original value to fill the extended one.
CBW extends AL into AX by repeating the top bit of AL in every bit of AH. CWDE extends AX into EAX. CWD extends AX into DX:AX by repeating the top bit of AX throughout DX, and CDQ extends EAX into EDX:EAX.
EXAMPLE:
mov eax 00_1111_1111_1111_1111_1111_1111_1111_1111
xor edx edx
mov ax 001110
cdq ; edx=FFFF FFFF eax=FFFF 000E