Linux assembly list
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox