Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1387

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

CWD/CDQ—Convert Word to Doubleword/Convert Doubleword to
Quadword
Opcode
99
99
Description
Doubles the size of the operand in register AX or EAX (depending on the operand size)
by means of sign extension and stores the result in registers DX:AX or EDX:EAX,
respectively. The CWD instruction copies the sign (bit 15) of the value in the AX register
into every bit position in the DX register. The CDQ instruction copies the sign (bit 31) of
the value in the EAX register into every bit position in the EDX register.
The CWD instruction can be used to produce a doubleword dividend from a word before
a word division, and the CDQ instruction can be used to produce a quadword dividend
from a doubleword before doubleword division.
The CWD and CDQ mnemonics reference the same opcode. The CWD instruction is
intended for use when the operand-size attribute is 16 and the CDQ instruction for
when the operand-size attribute is 32. Some assemblers may force the operand size to
16 when CWD is used and to 32 when CDQ is used. Others may treat these mnemonics
as synonyms (CWD/CDQ) and use the current setting of the operand-size attribute to
determine the size of values to be converted, regardless of the mnemonic used.
Operation
IF OperandSize = 16 (* CWD instruction *)
THEN DX  SignExtend(AX);
ELSE (* OperandSize = 32, CDQ instruction *)
EDX  SignExtend(EAX);
FI;
Additional Itanium System Environment Exceptions
Itanium Reg Faults NaT Register Consumption Abort.
Flags Affected
None.
Exceptions (All Operating Modes)
None.
Volume 4: Base IA-32 Instruction Reference
Instruction
Description
DX:AX  sign-extend of AX
CWD
EDX:EAX  sign-extend of EAX
CDQ
4:85

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents