Move String                                 

86/88

Y

186

Y

286

Y

386

Y

486

Y

MOVS/MOVSB/MOVSW/MOVSD dest, source

Ovfl

N

Dir

N

Int

N

Trap

N

Sign

N

Zero

N

Aux

N

Prty

N

Carry

N

    This instruction copies the byte or word 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 element of the string.

       Note:          This instruction is always translated by the
                      assembler into either MOVSB, Move String Byte; or
                      MOVSW, Move String Word, depending upon whether
                      source-string refers to a string of bytes or words.
                      In either case, you must explicitly load the SI and
                      DI registers with the offset of the source and
                      destination strings.

------------------------------------ Timing ----------------------------------

OpCode          Instruction             386     286     86
A4              MOVS m8, m8             7       5       18
A5              MOVS m16, m16           7       5       18
A5              MOVS m32, m32           7
A4              MOVSB                   7       5       18
A5              MOVSW                   7       5       18
A5              MOVSD                   7

------------------------------------ Logic -----------------------------------

        (ES:DI) = (DS:SI)
        If DF = 0 then
                SI = SI + n
                DI = DI + n
        else
                SI = SI - n
                DI = DI - n

See Also MOV CMPS LODS SCAS STOS REP REPE REPNE CLD STD MOVSX


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .