EasyManua.ls Logo

Apple Lisa - Process Stack

Apple Lisa
79 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...
Confidential
Lisa
Hardware Reference Manual
The
Limit
Register
of a
particular
segment
is
found
at
the
address:
where
SSSSSSSxlOxxxxxxxxxxOxxx
(in
Special
I/O
space)
SSSSSSS
x
selects
the
segment
ignored
The
limit
register
is
divided
into
three
regions:
15
12
11
8 7
o
iIII________
..
I
ignored
access
control
segment
length
I
+---------.~~------------~~----------------------+
Bits
0
to
7
of
the
limit
register
set
the
length
of
the
segment.
The
value
in
these
bits
is
interpreted
as
the
segment
length
in
two's
complement form. A
length
of
0
(SLIM7
-
SLIMO
- $00),
'indicates
that
any
access
is
allowed.
A
length
of
255
(SLIM7
-
SLlMO
- $FF)
indicates
that
the
segment
contains
512
bytes.
Bits
8
to
11
of
the
limit
register
are
the
access
control
bits.
ACCESS
CONTROL
BITS
CNTRL
Address Space and Access
11
10
9 8
----------------------------------------
--~~-
0 1 0
0
Main
memory
-
Read
only
stack
0 1 0 1
Main
memory
-
Read
only
0 1 1 0
Main
memory
-
Read/Write
stack
0 1
1
1
Main
memory
-
Read/Write
1 0 0 0
I/o
space
1
1
0 0
Page
invalid
(segment not
present)
1 1
1
1
Special
I/O space
any
other
Not
allowed
(t.mpredictable
results)
THE
PROCESS
STACK
Before
the
68000 pushes
data
on
the
stackĀ·,
the
value
of
the
stack
pointer
is
decremented.
The
'top
of
the
stack
is
actually
at
a lower
address
than
the
bottom
of
the
stack.
To
permit
a segment
to,
start
at
the
segment top and grow downward, one of
the
control
bits
(8)
is
used
to
reverse
the
map's
limit
check.
It
is
assumed
that
the
stack
pointer
1s
initialized
to
all
ones + 1
in
the
segment. That
is,
it
"starts"
at
the
bottom
(Q-th
word) of
the
neighboring
segment. Since
its
value
is
first
de~remented,
the
first
actual
location
accessed
is
the
top word of
the
segment.
Page 14
7-Jul-81

Related product manuals