Vol. 2A 3-9
INSTRUCTION SET REFERENCE, A-M
Attribute for Stack” in Chapter 6, “Procedure Calls, Interrupts, and Exceptions,” of
the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1.
• SRC — Represents the source operand.
• DEST — Represents the destination operand.
The following functions are used in the algorithmic descriptions:
• ZeroExtend(value) — Returns a value zero-extended to the operand-size
attribute of the instruction. For example, if the operand-size attribute is 32, zero
extending a byte value of –10 converts the byte from F6H to a doubleword value
of 000000F6H. If the value passed to the ZeroExtend function and the operand-
size attribute are the same size, ZeroExtend returns the value unaltered.
• SignExtend(value) — Returns a value sign-extended to the operand-size
attribute of the instruction. For example, if the operand-size attribute is 32, sign
extending a byte containing the value –10 converts the byte from F6H to a
doubleword value of FFFFFFF6H. If the value passed to the SignExtend function
and the operand-size attribute are the same size, SignExtend returns the value
unaltered.
• SaturateSignedWordToSignedByte — Converts a signed 16-bit value to a
signed 8-bit value. If the signed 16-bit value is less than –128, it is represented
by the saturated value -128 (80H); if it is greater than 127, it is represented by
the saturated value 127 (7FH).
• SaturateSignedDwordToSignedWord — Converts a signed 32-bit value to a
signed 16-bit value. If the signed 32-bit value is less than –32768, it is
represented by the saturated value –32768 (8000H); if it is greater than 32767,
it is represented by the saturated value 32767 (7FFFH).
• SaturateSignedWordToUnsignedByte — Converts a signed 16-bit value to an
unsigned 8-bit value. If the signed 16-bit value is less than zero, it is represented
by the saturated value zero (00H); if it is greater than 255, it is represented by
the saturated value 255 (FFH).
• SaturateToSignedByte — Represents the result of an operation as a signed
8-bit value. If the result is less than –128, it is represented by the saturated value
–128 (80H); if it is greater than 127, it is represented by the saturated value 127
(7FH).
• SaturateToSignedWord — Represents the result of an operation as a signed
16-bit value. If the result is less than –32768, it is represented by the saturated
value –32768 (8000H); if it is greater than 32767, it is represented by the
saturated value 32767 (7FFFH).
• SaturateToUnsignedByte — Represents the result of an operation as a signed
8-bit value. If the result is less than zero it is represented by the saturated value
zero (00H); if it is greater than 255, it is represented by the saturated value 255
(FFH).
• SaturateToUnsignedWord — Represents the result of an operation as a signed
16-bit value. If the result is less than zero it is represented by the saturated value