Re: Segmented or Flat model

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies]     [Security]     [Linux C Programming]     [Linux for Hams]     [DCCP]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux