All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Kotler <fbkotler@verizon.net>
To: A D <a_d_249@hotmail.com>
Cc: linux-assembly@vger.kernel.org
Subject: Re: Segment override and lldt instruction
Date: Wed, 30 May 2007 20:45:58 -0400	[thread overview]
Message-ID: <465E1AC6.2020906@verizon.net> (raw)
In-Reply-To: <BAY133-F19BE8DCF3804887322DF21F52E0@phx.gbl>

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 
> how can i
> override say ds register? can segment register be overriden to my preferred
> memory address location?
> 
> mov $0xf800, %ax
> mov %ax, %es
> mov %ds, %bx
> 
> 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

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

> 
> Also I was looking at the function of lldt instruction. The manual says 
> that:
> "The source operand (a general-purpose register or a memory location)
> contains a segment selector that points to a local descriptor table (LDT)."
> 
> How can one make segment selector point to ldt?

"lldt ax" or "lldt [mem]" (16-bits)... I guess. But why? The limit is 
0xffffffff and the base is 0. (Windows uses fs in a way that might be 
"interesting"..._

If you're developing your own OS (using Linux), starting from a 
bootsector - or GRUB - these instructions might be useful, but for 
"Linux assembly", forget that segment registers exist! (and be glad! :)

Best,
Frank


  reply	other threads:[~2007-05-31  0:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-30 22:31 Segment override and lldt instruction A D
2007-05-31  0:45 ` Frank Kotler [this message]
2007-05-31  1:21   ` A D
2007-06-04 23:52   ` Hendrik Visage
2007-06-11  0:33     ` A D
2007-06-11  1:14       ` Frank Kotler
2007-06-11  5:30       ` Brian Raiter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=465E1AC6.2020906@verizon.net \
    --to=fbkotler@verizon.net \
    --cc=a_d_249@hotmail.com \
    --cc=linux-assembly@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.