[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
MOVSW Move String Word Flags: not altered
MOVSW
Logic: (ES:DI) . (DS:SI)
if DF = 0
SI . SI + 2
DI . DI + 2
else
SI . SI - 2
DI . DI - 2
This instruction copies the word pointed to by DS:SI to the location
pointed to by ES:DI. After the move, SI and DI are incremented (if the
direction flag is cleared) or decremented (if the direction flag is
set), to point to the next word.
--------------------------------------------------------------------------
Operands Clocks Transfers Bytes Example
- 26 2 1 MOVSW
(repeat) 9+25/rep 2/rep 1 REP MOVSW
-------------------------------- Example ---------------------------------
Assuming BUFFER1 as been defined somewhere as:
BUFFFER1 DB 100 DUP (?)
the following example moves 50 words (100 bytes) from BUFFER1 to
BUFFER2:
CLD ;Move in the forward direction
LEA SI, BUFFER1 ;Source address to SI
LEA DI, BUFFER2 ;Destination address to DI
MOV CX,50 ;Used by REP; moving 50 words
REP MOVSW ; ...and move it.
See Also:
MOV
MOVS
MOVSB
CMPS
LODS
SCAS
STOS
REP
CLD
STD
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson