EasyManua.ls Logo

Rabbit 2000 - Page 16

Rabbit 2000
45 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
12 Rabbit
2000
Microprocessor
Extended
Code—Instructions
not
in
root
that
often
require
20-bit
addressing
for
access.
These
are
accessed
via
the
extended
code
segment,
which
is
an
8K
page
for
executing
code.
Up
to
a
megabyte
of
code
can
be
executed
by
moving
the
mapping
of
the
8K
window
using
special
instructions
(long
call,
long
jump
and
long
return)
that
are
designed
for
this
purpose.
Extended
Constants—Constant
data
not
in
root
that
requires
20-bit
addressing
for
access.
This
is
mixed
together
with
the
extended
code.
Extended
Bulk
Memory—Data
items
stored
in
multimegabyte
memory
and
accessed
using
special
functions
using
32-bit
addressing.
Code
may
be
placed
in
either
extended
memory
or
root
memory.
Code
executes
slightly
more
efficiently
in
root
memory.
In
large
programs
the
bulk
of
code
is
stored
in
extended
code
memory.
Since
root
constants
and
root
variables
share
the
memory,
space
needed
for
root
code,
and
as
the
memory
needed
for
constants
or
variables
increases,
the
amount
of
code
that
can
be
stored
in
root
must
decline
by
moving
code
to
extended
memory.
The
rel-
ative
size
of
the
root
and
data
segments
can
be
adjusted
in
4K
steps.
Figure
2.
Schematic
Map
of
16-bit
Addressing
Space
It
should
be
clear
from
the
above
Dynamic
C
memory
types
that
the
Rabbit
does
not
have
a
“flat”
memory
space.
The
advantage
of
the
Rabbit’s
memory
organization
is
that
the
use
of
16-bit
addresses
and
pointers
is
retained,
ensuring
that
the
code
is
compact
and
executes
quickly.
4.1.1
The
Root
(or
Base)
Segment
The
root
segment
has
a
typical
minimum
size
of
8K
and
a
maximum
size
of
48K.
The
larger
the
root
segment,
the
smaller
the
data
segment
and
vice-versa.
Root
segment
address
zero
is
always
mapped
to
20-bit
address
zero.
Usually
the
root
segment
is
mapped
64K
56k
52K
0k
Extended
Code
Segment
Stack
Segment
Data
Segment
Root
Segment
1-megabyte
Typical
mapping
16-bit
to
20-bit
address
space
RAM
Flash
quadrant
0
quadrant
3
quadrant
1
quadrant
2
flash
RAM
RAM

Other manuals for Rabbit 2000