Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1594

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

MOVS/MOVSB/MOVSW/MOVSD—Move Data from String to String
Opcode
A4
A5
A5
A4
A5
A5
Description
Moves the byte, word, or doubleword specified with the second operand (source
operand) to the location specified with the first operand (destination operand). The
source operand specifies the memory location at the address DS:ESI and the
destination operand specifies the memory location at address ES:EDI. (When the
operand-size attribute is 16, the SI and DI register are used as the source-index and
destination-index registers, respectively.) The DS segment may be overridden with a
segment override prefix, but the ES segment cannot be overridden.
The MOVSB, MOVSW, and MOVSD mnemonics are synonyms of the byte, word, and
doubleword versions of the MOVS instructions. They are simpler to use, but provide no
type or segment checking. (For the MOVS instruction, "DS:ESI" and "ES:EDI" must be
explicitly specified in the instruction.)
After the transfer, the ESI and EDI registers are incremented or decremented
automatically according to the setting of the DF flag in the EFLAGS register. (If the DF
flag is 0, the ESI and EDI register are incremented; if the DF flag is 1, the ESI and EDI
registers are decremented.) The registers are incremented or decremented by 1 for
byte operations, by 2 for word operations, or by 4 for doubleword operations.
The MOVS, MOVSB, MOVSW, and MOVSD instructions can be preceded by the REP
prefix (see "REP/REPE/REPZ/REPNE/REPNZ—Repeat Following String Operation" on
"REP/REPE/REPZ/REPNE /REPNZ—Repeat String Operation Prefix" on page
block moves of ECX bytes, words, or doublewords.
Operation
DEST SRC;
IF (byte move)
THEN IF DF = 0
THEN (E)DI  1;
ELSE (E)DI  -1;
FI;
ELSE IF (word move)
THEN IF DF = 0
4:292
Instruction
MOVS ES:(E)DI, DS:(E)SI
MOVS ES:DI,DS:SI
MOVS ES:EDI, DS:ESI
MOVSB
MOVSW
MOVSD
THEN DI  2;
ELSE DI  -2;
Description
Move byte at address DS:(E)SI to address ES:(E)DI
Move word at address DS:SI to address ES:DI
Move doubleword at address DS:ESI to address ES:EDI
Move byte at address DS:(E)SI to address ES:(E)DI
Move word at address DS:SI to address ES:DI
Move doubleword at address DS:ESI to address ES:EDI
Volume 4: Base IA-32 Instruction Reference
4:337) for

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents