   [ASM] Lea
  Hi guys,i'm learning a little of reverse engineering these days, but i can't understand a thing.....what's "lea"?it's like a mov but i can't understand the difference....   
  LEA, unlike MOV, doesn't actually access memory. Instead, it allows you to use any of the normal addressing modes, and store the result of the addressing itself (the calculated Effective Address) into a register for direct use.   ;  ehm, i can't understand :(   ;  You'll probably have better results if you try to learn to program in assembler, rather than reverse engineering.   ;  maybe i understood :Pit's like & in c++ uh? :)   ;  If you want to load the value at the address [ebx + 8*edx], you write:mov eax, [ebx + 8*edx]What this instruction does is it calculates the address by multiplying edx by eight and then add that to ebx, and then look at that address and receives the value and stores it into eax. If you just want to calculate the address and store the address, you write:lea eax, [ebx + 8*edx]If you will, this is just a common shortcut for writing:mov eax, edxshl eax, 3add eax, ebxmov eax, [eax];Quote:Original post by roby65it's like & in c++ uh? :)No, not really.   ;  It's like & in C/C++ when you use it in certain MSVC inline assembly statements that reference C/C++ variables.   ;Quote:Original post by SneftelYou'll probably have better results if you try to learn to program in assembler, rather than reverse engineering.Yeah it's like trying to read a Spanish book if you don't know the language by looking up each work in a dictionary first. Theoretically it might work but just image how much faster you can read the book and understand it if you actually learned Spanish first!I wouldn't waste any more time before learning Assembly first like Sneftel said.