3-7
INSTRUCTION SET REFERENCE
Refer to Section 3.8., Operand-Size and Address-Size Attributes in Chapter 3, Basic
Execution Environment of the Intel Architecture Software Developers Manual, Volume 1,
for general guidelines on how these attributes aredetermined.
StackAddrSizeRepresents the stack address-size attribute associated with the
instruction, which has a value of 16 or 32 bits. For more information, refer to Section
4.2.3., Address-Size Attributes for Stack Accesses in Chapter 4, Procedure Calls,
Interrupts, and Exceptions of the Intel Architecture Software Developers Manual, Volume
1.
SRCRepresents the source operand.
DESTRepresents 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.
SaturateSignedWordToSignedByteConverts 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).
SaturateSignedDwordToSignedWordConverts 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).
SaturateSignedWordToUnsignedByteConverts 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).
SaturateToSignedByteRepresents 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).
SaturateToSignedWordRepresents 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).
SaturateToUnsignedByteRepresents 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).