Re: Segmented or Flat model
Brian Raiter <[email protected]> Wed, 23 May 2007 19:12:29 -0700
| Newsgroups | org.kernel.vger.linux-assembly |
|---|---|
| Message-ID | <[email protected]> |
> I need clarification to a particular gnu assembly question. When i > write a code: > > .section .data > output: > .int 1 > > .section .text > .globl _start > _start: > movl $output, %ebx > .... > > here what type of memory model is used for movl statement(flat or > segmented)? I suppose that depends on your target platform. Since you sent this to linux-assembly, I'm going to assume that the answer is "flat". For all practical purposes, there is no "segmented" memory model on 32-bit x86 linux. > Also how does movl knows which logical address to use? I mean how do > variables get their logical address? The linker is generally responsible for assigning actual addresses. (The assembler can't do this because it doesn't know what other object files will go into the final executable.) b