3-8
INSTRUCTION SET REFERENCE
SaturateToUnsignedWordRepresents 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
PUSHPush 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 POPPop a Value from the Stack in this chapter for more information on the
pop operation.
PopRegisterStackMarks the FPU ST(0) register as empty and increments the FPU
register stack pointer (TOP) by 1.
Switch-TasksPerforms 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