LEA transfers the offset of the source operand, rather than its value, to the destination register. The source must be a memory reference and the destination must be a general register.
The operand-size attribute of the instruction is determined by the destination register. The address-size attribute is determined by the USE attribute of the segment containing the second operand. The operand-size and address-size attributes affect the action performed by LEA as follows:
Operand Address Action size size performed 16 16 16-bit effective address is calculated and stored in 16-bit destination 16 32 32-bit effective address is calculated. The lower 16 bits of the address are stored in 16-bit destination 32 16 16-bit effective address is calculated. The 16-bit address is zero-extended and stored in 32-bit destination 32 32 32-bit effective address is calculated and stored in 32-bit destination