EasyManuals Logo

Xerox Alto I User Manual

Xerox Alto I
82 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #18 background imageLoading...
Page #18 background image
Alto Hardware Manual
EffAddrO =
[
E+-
(
if
elseif
elseif
elseif
)
Section 3: Emulator
liThe
symbol
"E"denotes
effective address
I IValues
of
I,X,
and
DISP
are from the instruction
x =
0 then
DISP
x=l
then SignExtend(DIsP)+PC
x = 2 then SignExtend(DIsP) +
AC(2)
x=3
then SignExtend(DIsP)+AC(3)
I/"page 0 addressing"
I I"relative addressing"
I
/"base
register addressing"
I
/"base
register addressing"
13
if
I
;t:
a then
E+-rv(E)
].
IINow do single-level indirection
The notation for these addressing modes
is
demonstrated below. The
DISP
value is always specified first; .
the x value
is
not
given explicitly,
but
is
determined either by the address
of
the label
or
by
a modifier
",2" or ",3" which specifies base register indexing:
JMP
LABEL2
JMP
15,3
JMP
@3
;
If
LABEL2
is
in
page 0,
X=O;
otherwise
X=l.
;
OISP=15; 3 means use
AC3
as
base
register.
;
The
character
@
causes
I
to
be
1.
Note that instructions which compute an effective address always do so before
any
other
operations.
Thus
JSR
1,3
computes the effective address
of
1 + Ac(3) before saving
PC+
1
in
AC3.
MEMORY
GROUP
OPERATIONS
The
DestA.C
field specifies one
of
the four accumulators
(DestA.C
= a for
ACO,
DestAC
= 1 for Ac1, etc.).
The MFunc field specifies one
of
two operations:
Mnemonic MFunc Action
LDA
STA
1
2
This operation loads an accumulator from memory.
This operation stores an accumulator into memory.
AC(DeStAc)+-rv(E).
rv(E)+-
AC(DeStAc).
These instructions are written by giving the mnemonic, followed by
the
accumulator
number
(DeStAC),
followed by an effective address notation:
STA
3 .+4
LOA
0
4,2
LOA
0
@.+2
Store
AC3
in
the
fourth
location
following
here
Load
ACO
from address=4+AC(2)
Load
ACO
from
address
contained
in
second
location
following
here
JUMP
AND
MODIFY
GROUP
OPERATIONS
The
JFunC
field specifies one
of
four operations:
Mnemonic JFunc
1MP a
JSR
1
ISZ
2
DSZ
3
Action
This operation causes a
"jump"
by changing the value
of
the
PC.
PC+-E.
This operation
is
useful when calling subroutines because it saves a return
address in Ac3.
AC(3)+-pc+1;
PC+-E.
This operation increments
the
contents
of
a memory cell
and
skips
if
the
new contents are zero.
rv(E)+-rv(E)+ 1;
if
rv(E) = 0
then
PC+-PC+
1.
This
instruction does not alter the C bit.
This instruction decrements the contents
of
a memory cell
and
skips
if
the
new contents are zero.
rv(E)+-rv(E)-l;
if
rv(E) = 0
then
PC+-PC+1. This
instruction does not alter the C bit.

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Xerox Alto I and is the answer not in the manual?

Xerox Alto I Specifications

General IconGeneral
BrandXerox
ModelAlto I
CategoryDesktop
LanguageEnglish

Related product manuals