Search code examples
assemblyx86gnu-assembleraddressing-mode

How does this x86 addressing mode work?


Something like al will contain the address of esi + ecx + 1 ?

movb (%esi, %ecx, 1), %al

Solution

  • It loads the byte at memory address esi + ecx into al.

    In general, in AT&T syntax,

    (base, offset, multiplier)
    

    refers to the datum located at memory address base + offset*multiplier.