Skip to content

16. Команда вычисления эффективного адреса

Natasha Gurova edited this page Jun 23, 2022 · 2 revisions
Clone this wiki locally

Эффективный адрес - адрес, по которому с точки зрения программиста происходит обращение к памяти.

LEA <приемник>, <источник> 

Вычисляет эффективный адрес источника и помещает его в приемник. Под адресом здесь тоже нужно понимать смещение.

Используется для

  • Вычисления адресов на лету (позволяет вычислять адреса, описанные сложными методами адресации)

  • Быстрых вычислений

    lea bx, [bx + bx * 4]
    lea bx, [ax + 12]

    Такие вычисления занимают меньше памяти, чем соответствующие MOV и ADD, не изменяют флаги (поддерживается сложение с константой и сложение/умножение какого-то регистра)