<<<    Index    >>>
3-436
INSTRUCTION SET REFERENCE
MOVS/MOVSB/MOVSW/MOVSD—Move Data from StringtoString 
(Continued)
The MOVS, MOVSB, MOVSW, and MOVSD instructions can be preceded by the REP prefix
(refer to “REP/REPE/REPZ/REPNE /REPNZ—Repeat String Operation Prefix” in this chapter)
for block moves of ECX bytes, words, or doublewords.
Operation
DEST 
<
SRC;
IF (byte move)
THEN IF DF = 0
THEN 
(E)SI 
(E)SI + 1; 
(E)DI 
(E)DI + 1; 
ELSE 
(E)SI 
<
 (E)SI – 1; 
(E)DI 
<
 (E)DI – 1; 
FI;
ELSE IF (word move)
THEN IF DF = 0
(E)SI 
(E)SI + 2; 
(E)DI 
(E)DI + 2; 
ELSE 
(E)SI 
<
 (E)SI – 2; 
(E)DI 
<
 (E)DI – 2; 
FI;
ELSE (* doubleword move*)
THEN IF DF = 0
(E)SI 
(E)SI + 4; 
(E)DI 
(E)DI + 4; 
ELSE 
(E)SI 
<
 (E)SI – 4; 
(E)DI 
<
 (E)DI – 4; 
FI;
FI;
Flags Affected
None.
<<<    Index    >>>