| ▲ | pwg 2 hours ago | |
It (LEA) does all the work of a memory access (the address computation part) without actually performing the memory access. Instead of reading from memory at "computed address value" it returns "computed address value" to you to use elsewhere. The intent was likely to compute the address values for MOVS/MOVSB/MOVSW/MOVSD/MOVSQ when setting up a REP MOVS (or other repeated string operation). But it turned out they were useful for doing three operand adds as well. | ||