1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
4 <TITLE>80386 Programmer's Reference Manual -- Section
14.1</TITLE>
7 <B>up:
</B> <A HREF=
"c14.htm">
8 Chapter
14 --
80386 Real-Address Mode
</A><BR>
9 <B>prev:
</B> <A HREF=
"c14.htm">Chapter
14 --
80386 Real-Address Mode
</A><BR>
10 <B>next:
</B> <A HREF=
"s14_02.htm">14.2 Registers and Instructions
</A>
14 <H1>14.1 Physical Address Formation
</H1>
15 The
80386 provides a one Mbyte +
64 Kbyte memory space for an
8086 program.
16 Segment relocation is performed as in the
8086: the
16-bit value in a
17 segment selector is shifted left by four bits to form the base address of a
18 segment. The effective address is extended with four high order zeros and
19 added to the base to form a linear address as
20 <A HREF=
"#fig14-1">Figure
14-
1</A>
22 linear address is equivalent to the physical address, because paging is not
23 used in real-address mode.) Unlike the
8086, the resulting linear address
24 may have up to
21 significant bits. There is a possibility of a carry when
25 the base address is added to the effective address. On the
8086, the carried
26 bit is truncated, whereas on the
80386 the carried bit is stored in bit
27 position
20 of the linear address.
29 Unlike the
8086 and
80286,
32-bit effective addresses can be generated (via
30 the address-size prefix); however, the value of a
32-bit address may not
31 exceed
65535 without causing an exception. For full compatibility with
80286
32 real-address mode, pseudo-protection faults (interrupt
12 or
13 with no
33 error code) occur if an effective address is generated outside the range
0
37 <IMG align=center
SRC=
"fig14-1.gif" border=
0>
41 <B>up:
</B> <A HREF=
"c14.htm">
42 Chapter
14 --
80386 Real-Address Mode
</A><BR>
43 <B>prev:
</B> <A HREF=
"c14.htm">Chapter
14 --
80386 Real-Address Mode
</A><BR>
44 <B>next:
</B> <A HREF=
"s14_02.htm">14.2 Registers and Instructions
</A>