Re: Is it catachrestial as 'Effective Addresses' in NASM documentation?



pzgyuanf@xxxxxxxxxxxx wrote:
In both cases, whatever is between the square brackets is an effective address.
I agree, and that is what I meant.

mov evaluates the expression and then reads the contents from the resulting address
what's this:
mov eax, mem; so, in our context, mem is an effective address, but
[mem] isn't, [mem] is the content of the effective address(mem).

In "mov eax,mem", mem isn't an effective address; it just copies a
value that happens to be an address.

Now back to my question, the '3.3 Effective Addresses' section of Nasm
document need to
detail that what there so-called 'Effective Address' is the content of
'effective address' of LEA instruction.

I don't see where the NASM manual is incorrect or even ambiguous. It
says very clearly that: "An effective address is any operand to an
instruction which references memory", which is correct. You're trying
to see things with lea being the norm, but lea is actually the
exception. Compare section 3.3 with section B.4.135. If the section on
effective addresses seems inconsistent with lea, the section on lea at
least makes it clear that the inconsistency was intended.

.