CWD
Usage: CWD Modifies flags: None
Extends sign of word in register AX throughout register DX forming a doubleword quantity in DX:AX.
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 ax 0ffff
xor edx edx ; edx = 0
cwd ; edx = 0000 FFFF