<<<    Index    >>>
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 Developer’s Manual, Volume 1,
for general guidelines on how these attributes aredetermined.
•
StackAddrSize—Represents 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 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).
<<<    Index    >>>