Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- iAPx86 - <b>lods load string flags: not altered</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
LODS            Load String                          Flags: Not altered

LODS source_string

        Logic   accumulator . [DS:eSI]
                if DF = 0
                   eSI . eSI + n        ; n = 1 for byte, 2 for word,
                else                    ;     4 for dword (386+)
                   eSI . eSI - n
                endif

    This instruction loads the AL, AX, or EAX register with the memory
    byte, word, or doubleword pointed to by DS (default) and the
    source-index register (SI or ESI). After the transfer is made,
    eSI is automatically incremented (if the direction flag is
    cleared) or decremented (if the direction flag is set), in
    preparation for loading the next element of the string.

    If the address-size attribute of LODS is 16 bits, SI is used for
    the source-index register; otherwise the the address-size
    attribute is 32 bits, and the ESI register will be used.

    The source segment can be changed with a segment override.


    Note:       This instruction is always translated by the
                assembler into LODSB, Load String Byte, LODSW, Load
                String Word, or LODSD, Load String Dword, depending
                upon whether source refers to a string of bytes, words
                or doublewords. In either case, you must explicitly
                load the eSI register with the offset of the source
                string.

                LODSB, LODSW, and LODSD are synonyms for the byte,
                word, and doubleword LODS instructions that do not
                require an operand. They are simpler to use but
                provide no type or segment checking.


    LODS can be preceded with a REP prefix, but this will continually
    overwrite the contents of the accumulator; LODS is typically used
    within a LOOP construct.


    Opcode      Format
    AC          LODS m8                 ; = LODSB
    AD          LODS m16                ; = LODSW
    AD          LODS m32                ; = LODSD


    Length and timing
    Variations  Bytes   8088    186     286     386     486     Pentium
    lodsb        1      16      10       5       5       5       2   NP
    lodsw        1      16      10       5       5       5       2   NP
    lodsd        1       -       -       -       5       5       2   NP

See Also: LOOP REP MOVS INS CLD Flags

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson