Intel 253666-024US User Manual

Page 54

Advertising
background image

3-8 Vol. 2A

INSTRUCTION SET REFERENCE, A-M

address contained in register SI relative to the SI register’s default segment (DS)
or the overridden segment.

Parentheses around the “E” in a general-purpose register name, such as (E)SI,
indicates that the offset is read from the SI register if the address-size attribute
is 16, from the ESI register if the address-size attribute is 32. Parentheses
around the “R” in a general-purpose register name, (R)SI, in the presence of a
64-bit register definition such as (R)SI, indicates that the offset is read from the
64-bit RSI register if the address-size attribute is 64.

Brackets are used for memory operands where they mean that the contents of
the memory location is a segment-relative offset. For example, [SRC] indicates
that the content of the source operand is a segment-relative offset.

A ← B indicates that the value of B is assigned to A.

The symbols

=

,

,

>

,

<

, ≥, and ≤ are relational operators used to compare two

values: meaning equal, not equal, greater or equal, less or equal, respectively. A
relational expression such as A ← B is TRUE if the value of A is equal to B;

otherwise it is FALSE.

The expression “<< COUNT” and “>> COUNT” indicates that the destination
operand should be shifted left or right by the number of bits indicated by the
count operand.

The following identifiers are used in the algorithmic descriptions:

OperandSize and AddressSize — The OperandSize identifier represents the
operand-size attribute of the instruction, which is 16, 32 or 64-bits. The
AddressSize identifier represents the address-size attribute, which is 16, 32 or
64-bits. For example, the following pseudo-code indicates that the operand-size
attribute depends on the form of the MOV instruction used.

IF Instruction ← MOVW

THEN OperandSize ← 16;

ELSE

IF Instruction ← MOVD

THEN OperandSize ← 32;

ELSE

IF Instruction ← MOVQ

THEN OperandSize ← 64;

FI;

FI;

FI;

See “Operand-Size and Address-Size Attributes” in Chapter 3 of the Intel® 64
and IA-32 Architectures Software Developer’s Manual, Volume 1
, for guidelines
on how these attributes are determined.

StackAddrSize — Represents the stack address-size attribute associated with
the instruction, which has a value of 16, 32 or 64-bits. See “Address-Size

Advertising