available
to
a program. The
register
block
pointer
can
be
changed
when
the
basic processor
is
in the master mode or
the
master-protected
mode.
Only
the
first
16
general
reg-
isters
of
a
register
block
may
be
used by programs;
the
last
e i gh
tare
reserved.
Each
of
the
first
16
general
registers
in
a register
block
is
identified
by a
4-bit
code
in
the
range
00002 through 11112
(0
through
15
in
decimal
notation,
or
XIO
I
through XIF
I
in
hexadecimal
notation).
Any
of
these
16
registers
can
be
used
as
a
fixed-point
temporary
data
storage
location,
or
to
contain
control information such as a
data
address,
count,
pointer,
etc.
General
registers 1 through 7
can
be
used
as index registers
and
registers
12
through
15
can
be
used
as a
decimal
accumulator
capable
of
containing
a
decimal
number
of
31
digits plus
sign.
Registers 12 through 15
are
always used when a
decimal
instruction
is
executed.
MEMORY
CONTROL
STORAGE
The memory control
storage
for
the
memory map
and
the
associated
memory
access
protection
codes
are
contained
in
the
Memory
Interface
(MI). Memory control
storage
for
the
4-bit
write
locks
are
contained
in
the
memory
units.
Memory control
storage
can
be
modified when
the
basic
processor
is
in
the
master mode or
the
master-protected
mode.
MEMORY MAP
Two
terms
are
essential in understanding
the
memory
map-
ping
concept:
actual
(i
.e.,
absolute
or real) address
and
vi rtua I address.
An
actual
address
is
used
within
the
memory
unit
(memory
address registers)
to
access
a
specific,
physical memory
lo-
cation
for
storage
or
retrieval
of
information as
required
by
the
execution
sequence
of
an
instruction.
Actual
addresses
are
fixed
and
are
dependent
on
the
wired-in
hardware.
A virtual address refers to a logical
location
as
required
by
an
individua I program. Like
an
actual
address, a
virtual
address may
designate
a
location
that
contains
a program
instruction,
an
element
of
data,
a
data
address
(indirect
address), or
it
may
also
be
an
explicit
quantity.
Normally,
virtua
I addresses
are
derived
from programmer-suppl ied
labels through
an
assembly (or compi lation) process followed
by
a loading process. Virtual addresses may
also
be
com-
puted
during a program
IS
execution.
Virtual addresses
in-
clude
all
instruction addresses,
indirect
addresses,
and
addresses used as counts within a stored program, as well as
those instructions computed by
the
program. (See "Virtual
and
Real Memory",
later
in this
chapter.)
Memory mapping transforms virtual addresses as seen by
the
individual
program into
actual
addresses as
seen
by
the
memory system. Thus, when
the
memory map
is
i n
effect,
any program
can
be
broken
into
512-word
pages
and
dy-
namically
relocated
throughout memory in
whatever
pages
of
space
are
available.
When
the
memory map
is
not
in
effect,
all
virtual address
values
above
1510
are
used by
the
memory as
actual
ad-
dresses. Virtual addresses 0 through
15
are
alwayst
used by
the
basic
processor as
general
register
addresses
rather
than
as memory
addresses.
For
example,
if
an
instruction
uses
virtual
address 5
to
address
the
location
where
a result is
to
be
stored,
the
basic
processor stores
that
result in
gen-
eral
register
5 in
the
current
register
block
instead
of
in
memory
location
5.
When
the
basic
processor
is
operating
with
the
memory map
in
effect,
virtual
addresses 0 through
15
are
still
used
as
general
register
addresses.
Virtual addresses
above
15
are
transformed
into
actual
addresses by
replacing
the
high-
order
portion
of
the
virtual
address
with
a
value
obtained
from
the
memory
map.
(The memory map address
replace-
ment process
is
described
in "Memory Address Control
",
later
in this
chapter.)
MEMORY ACCESS PROTECTION
When
the
basic
processor
is
operating
with
the
memory map
in
the
slave
mode
or
the
master-protected
mode,
the
access
protection
codes
determine
whether
the
program may
access
instructions from,
read
from,
or
write
into
specific
regions
of
the
virtual address continuum (virtual memory).
If
the
slave
mode or
master-protected
mode program
attempts
to
access
a
protected
region
of
virtual
memory, a
trap
occurs
(see "Memory Address Control
",
"Virtual
and
Real
Mem-
ory",
and
"Trap System",
later
in this
chapter).
MEMORY
WRITE
PROTECTION
The memory
write-protection
feature
operates
independently
of
access
protection
and
the
memory
map.
The
4-bit
write
lock
operates
in
conjunction
with a
4-bit
field,
called
the
write
key,
in bits
32-35
of
the
Program Status Words (PSWs).
The lock
and
the
key
determine
whether
any
program may
alter
any
word
of
main memory. The
write
key
can
be
changed
when
the
basic
processor
is
in
the
master mode
or
the
master-protected
mode.
(The functions
of
the
write
lock
and
key
are
described
in "Memory Address Control
II,
later
in this
chapter.)
COMPUTER
MODES
The basic processor
operates
in
one
of
three
modes: master,
master-protected,
or
slave.
The
operation
mode
is
deter-
mined by
the
setting
of
three
bits (bits
8,
9,
and
61)
of
the
Program Status Words (PSWs). (See IIProgram Status Words",
later
in this
chapter.)
Additionally,
the
basic
processor
operates
in a mapped mode or
an
unmapped
mode.
t Except for
the
READ
DIRECT
(RD)/WRITE
DIRECT
(WD)
in-
structionswhich
can
read from
and
store into
these
locations.
Basic Processor
11