MOVSB Move String Byte Flags: not altered
MOVSB
Logic: (ES:DI) (DS:SI)
if DF = 0
SI SI + 1
DI DI + 1
else
SI SI - 1
DI DI - 1
This instruction copies the byte pointed to by DS:SI into 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 byte.
--------------------------------------------------------------------------
Operands Clocks Transfers Bytes Example
- 18 2 1 MOVSB
(repeat) 9+17/rep 2/rep 1 REP MOVSB
-------------------------------- Example ---------------------------------
Assuming BUFFER1 as been defined somewhere as:
BUFFFER1 DB 100 DUP (?)
the following example moves 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,100 ;CX is used by the REP prefix
REP MOVSB ; ...and move it.
Seealso:
This page last updated on Fri Nov 30 10:49:50 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster