Re: Segment override and lldt instruction

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

 



On 5/31/07, Frank Kotler <fbkotler@xxxxxxxxxxx> wrote:
A D wrote:
> Hi! I have couple of questions regarding gnu assembly. I've heard the word
> segment override. Where segment register can be manually overriden. so
<snip>
> But I get segmentation fault error. How can i do it without error?

Use a valid selector. You appear to have "heard about" some 16=bit real
mode stuff that is not true in protected mode. Take a look here:

http://my.execpc.com/~geezer/johnfine/segments.htm

Nice technical discussions ;)

In "Linux assembly", there is no reason you'd *want* to use a segment
override, or alter a segment register.

Not while your program and/or data space  fits in 4GB of memory space ;)

Okay, a "perhaps" easier explanation on the differences between
protected and real mode segment registers (Strange I don't recall this
term in SPARC assembly...)

In Realmode, a segment register basically points to the "bottom"/base
of a 2^16 address space. The actuall address is/was calculated as
Segment register*4+register. This does allow for fancy/interesting
wrap around sitautions at the top of memory.

In Protected mode, the Segment Registers are misnommers to be bland,
they should be called Descriptor Table Indeces... ie. the memory
mapping info in inthe Descriptor Table, the Segment REgister just
points to the entry inside the Descriptor table.

--
Hendrik Visage
-
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