I have two simple, but maybe complex questions. Let's say I have an assembler instruction: MOV EAX, [ebx + 6 * 7] - I'm curious if this instruction really translates to the operation code, because the calculation of the code in brackets is encoded in the operation code or is it just a pseudo instruction for the compiler, not CPU, so the compiler uses add mul, etc. before calculating the value in brackets, etc. Save the result in some reg, and then use MOV EAX, reg with the calculated value? To be clear, I know that the output will be the same. I'm interested in performing.
Secondly, this is the LEA instruction. I know what he does, but I'm more interested in his real instruction, so compilations don't change it anymore, just turn it into an operation code as it is, or just a pseudo code for the compiler to calculate the address again and save it,
source
share