8191
t
8191
10
PROTECTION
65535
t
OFFSET
~>,-_
....
o !
65535
• OFFSET
~
...... _ ... o +
TASK A PRIVATE ADDRESS SPACE
65535
+
OFFSET
...-."'-_-11)
I
,65535
t
OFFSET
'--1
.......
_
....
0
+
TASK C PRIVATE ADDRESS SPACE
8191
L
8191
L
65535
+
OFFSET
,.--0
......
_
....
0
~
65535
I
OFFSET
~,.I.-_
....
o I
TASK
B PRIVATE ADDRESS SPACE
65535
t
OFFSET
,.--0
.......
_
....
0 I
65535
r::loFlsET
LJol
SHARED ADDRESS SPACE
TASK
B ADDRESS SPACE
Figure
7-3.
80286
Virluai
Address
Space
7.2.3
Type Validation
G30108
After checking
that
a selector reference
is
within the bounds of a descriptor table and refers to a non-
empty descriptor,
the
type of segment defined by the descriptor
is
checked against the destination
reglster.
Since each segmt:I1L n;gisit;'-
ha.5
plcdcfin~d
f~nctic!'!e,
e2.ch
!!1l!st
!'~f~r
to
certain
types
of
segments (see section 7.4.1). An attempt to load a segment register
in
violation of the protection rules
causes an exception.
The
"null" selector
is
a special type of segment selector.
It
has an index field of all zeros and a table
indicator of
O.
The null selector appears to refer to
GDT
descriptor entry #0 (see
GDT
in figure 7-3).
This selector value may be used as a place holder in the
DS or ES segment registers;
it
may be loaded
into them without causing an exception. However, any attempt to use the null segment registers to
reference memory will cause an exception and prevent any memory cycle from occurring.
7-6