Из «Руководства разработчика программного обеспечения для архитектуры Intel 64 и IA-32: Том 2»:
LEA <em>r16</em>, <em>m</em> ; Store effective address for <em>m</em> in register <em>r16</em>.
LEA <em>r32</em>, <em>m</em> ; Store effective address for <em>m</em> in register <em>r32</em>.
LEA <em>r64</em>, <em>m</em> ; Store effective address for <em>m</em> in register <em>r64</em>.
Вычисляет эффективный адрес второго операнда (операнд-источник) и сохраняет его в первом операнде (операнд-адресат). Операндом-источником является адрес памяти (часть смещения), заданная одним из режимов адресации процессора; целевой операнд является регистром общего назначения.
Примеры:
; indirect addressing mode
MOV EBX, label1 ; copy the address of label1 to EBX
MOV [EBX], 100 ; store 100 at the location pointed to by EBX
; using LEA
LEA EBX, [label1] ; stores the effective address of label1 in EBX
MOV [EBX], 100 ; store 100 at the location pointed to by EBX
Разница между ними заключается в том, что LEA
вычисляет эффективный адрес во время выполнения, тогда как версия MOV
разрешает эффективный адрес во время сборки.