<<<    Index    >>>
3-8
INSTRUCTION SET REFERENCE
•
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 zero (00H); if it
is greater than 65535, it is represented by the saturated value 65535 (FFFFH).
•
LowOrderWord(DEST * SRC)—Multiplies a word operand by a word operand and
stores the least significant word of the doubleword result in the destination operand.
•
HighOrderWord(DEST * SRC)—Multiplies a word operand by a word operand and
stores the most significant word of the doubleword result in the destination operand.
•
Push(value)—Pushes a value onto the stack. The number of bytes pushed is determined by
the operand-size attribute of the instruction. Refer to the “Operation” section in
“PUSH—Push Word or Doubleword Onto the Stack” in this chapter for more information
on the push operation.
•
Pop() removes the value from the top of the stack and returns it. The statement EAX 
<
Pop(); assigns to EAX the 32-bit value from the top of the stack. Pop will return either a
word or a doubleword depending on the operand-size attribute. Refer to the “Operation”
section in “POP—Pop a Value from the Stack” in this chapter for more information on the
pop operation.
•
PopRegisterStack—Marks the FPU ST(0) register as empty and increments the FPU
register stack pointer (TOP) by 1.
•
Switch-Tasks—Performs a task switch.
•
Bit(BitBase, BitOffset)—Returns the value of a bit within a bit string, which is a sequence
of bits in memory or a register. Bits are numbered from low-order to high-order within
registers and within memory bytes. If the base operand is a register, the offset can be in the
range 0..31. This offset addresses a bit within the indicated register. An example, the
function Bit[EAX, 21] is illustrated in Figure 3-1.
If BitBase is a memory address, BitOffset can range from –2 GBits to 2 GBits. The
addressed bit is numbered (Offset MOD 8) within the byte at address (BitBase + (BitOffset
DIV 8)), where DIV is signed division with rounding towards negative infinity, and MOD
returns a positive number. This operation is illustrated in Figure 3-2.
Figure 3-1.  Bit Offset for BIT[EAX,21]
0
21
31
BitOffset = 21
<<<    Index    >>>