Intel 210200-002 Baby Furniture User Manual


 
INTRODUCTION
interrupt return addresses), the BP register
is
available to the programmer for whatever use
he
desires. The BP register can contain an old
stack pointer value, or it can mark a place in
the subroutine stack independent of the
SP
register. Using the separate BP register to
mark the stack saves the juggling of a single
stack pointer to reference subroutine parame-
ters and addresses.
The two
index registers are the SI (source
index) register and the
DI
(destination index)
register (Fig.
1-8).
These are both 16-bits
wide and are used by string manipulation
instructions and in building some of the more
powerful
8088
data structures and addressing
modes. Both the SI and
DI
registers have
auto-incrementing and auto-decrementing capa-
bilities. All base and index registers have
general arithmetic and logical capabilities in
addition to their special functions.
Control Registers
Figure
1-9
shows two l6-bit control registers.
First
is
the
IP
or instruction pointer which
points to the next instruction the bus inter-
face unit
will
fetch. (The instruction pointer
is
similar to a Program Counter used in other
microprocessors, except that the
IP
points to
the next instruction being
fetched, whereas
the traditional program counter points to the
next instruction to be
executed). The second
l6-bit control register (Fig.
1-9)
contains flags
or condition codes that reflect the results of
arithmetic or logical operations as they are
performed by the execution unit.
Segment Registers
The fourth group of registers, called the seg-
ment registers, are used
by
the
8088
in the
formulation of memory addresses. Segment
register usage
is
described in the following
section on memory addressing.
THE iAPX
88
MEGABYTE MEMORY
ADDRESSING MEANS
QUICK
ACCESS
TO
COMPLEX
DATA
STRUCTURES
As
mentioned, the
8088
generates a 20-bit
memory
address during every memory refer-
ence operation, to address one million
(1,048,576) bytes of memory. These bytes are
stored sequentially starting from byte
0 to
byte
FFFFF
in hexidecimal or base
16
nota-
tion. The
8088
has three uses for the memory
it addresses:
programs, data and stack. The
8088
may separate data i]lto "local data" used
by a particular program segment and
"global
data"
accessible to
all
program segments.
Al-
ternately, you may have two data areas acces-
sible to a given program at any point
in
time.
Every
20-bit memory address points either to
program code, data, or stack area in memory
(Fig.
1-10).
For
each of the four different
memory spaces, the
8088
has a segment base
register.
Each segment register points to the
base address of the corresponding area in
INSTRUCTION I IP I
POINTER
~--------------------------------------~
FLAGS I
Figure 1-9. Control Registers
1-5