Команда LEA позволяет загрузить в регистр адрес, вычисленный по смещению, заданному во втором операнде. Отличается от использования директивы offset тем, что позволяет вычислить адрес на этапе исполнения программы. Также иногда используется для умножения целых чисел, например команда LEA EAX, [ECX+ECX*4] загрузит в регистр EAX значение ECX * 5.

 

Команда LEA
Синтаксис: LEA op1,op2
Операнды: op1 - r16/32
op2 - m16/32
Назначение: Загрузка исполнительного адреса
Процессор: 8086+
Флаги: Не изменяются
Комментарий: Команда LEA вычисляет исполнительный адрес (смещение) второго операнда и записывает его в регистр, заданный первым операндом
Ограничения: Нет
Примеры: lea ax,[bx+8]
lea bx,buf[si]