REAL ADDRESS MODE
Since the CS register contains
FOOO
(thus specifying a code segment starting at physical address
FOOOO)
and the instruction pointer contains
FFFO,
the processor
will
execute its first instruction at physical
address FFFFOH. The uppermost
16
bytes of physical memory are therefore reserved for initial startup
logic. Ordinarily, this location contains an intersegment direct
JMP
instruction whose target
is
the
actual beginning of a system initialization or restart program.
Some of the steps normally performed by a system initialization routine are as
follows:
Allocate a stack.
Load programs and data from secondary storage into memory.
Initialize external devices.
Enable interrupts (i.e., set the
IF
bit of the FLAGS register). Set any other desired FLAGS bit
as
well.
Set the appropriate MSW flags if a processor extension
is
present,
or
if processor extension functions
are to be emulated by software.
Set other registers,
as
appropriate, to the desired initial values.
Execute. (Ordinarily, this last step
is
performed
as
an intersegment
JMP
to the main system
program.)
5-8