Re: Displacement def in as

Robert Plantz <[email protected]> Wed, 22 Nov 2006 16:04:27 -0800
Newsgroups org.kernel.vger.linux-assembly
Message-ID <1164240267.5308.10.camel@ubuntu>
If you are using the gnu assembler, gas, you should
become familiar with the info for it. The command
is
    info as

Go to Machine Dependencies, then i386-Dependent,
then i386-Memory. There you will see that the AT&T
syntax is
    DISP(BASE, INDEX, SCALE)

DISP is an integer. An example is
    movl   $0, -4(%ebp)
which would store 32 bits of zero at the
memory location starting 4 bytes negative
from the address in the ebp register. (This
instruction does not use INDEX or SCALE.)

Linux uses a flat memory model, so you don't
need to worry about the segmentation registers
if you run your program under Linux.


On Wed, 2006-11-22 at 18:44 -0500, A D wrote:
> I am a newbie and i have question. What does
> displacement mean according to segmented
> memory model? Does it mean anything  in terms
> of Segment Descriptor? Thanks.
> 
> Offset = Base + (Index * Scale) + displacement
>