Alto Hardware Manual
Section
3:
Emulator
20
BLT
BLKS
SIT
If
bit 0
of
ACO
is
1,
and
if
an Ethernet board is plugged into the Alto, the machine will boot,
just
as
if
the "boot button" were pressed (see sections
3.4,
S.4,
and 9.2.2 for discussions
of
bootstrapping).
SIO
also returns a result in
ACO.
If
the Ethernet hardware
is
installed, the serial number
and/or
Ethernet host address
of
the machine
(0-377B)
is
loaded into
AcO[S-lS].
(On Alto I, the serial
number and Ethernet host address are equivalent; on Alto II, the value loaded into
ACO
is
the
Ethernet host address only.)
If
Ethernet hardware
is
missing,
AcO[S-lS]
=
377B.
Microcode
installed after June 1976, which this manual describes, returns
ACO[O]=O.
Microcode installed
prior to June 1976 returns
ACO[O]
= 1; this
is
a quick
way
to acquire the approximate vintage
of
a
machine's microcode.
.
6100SB
61006B
Block transfer:
Block store:
These instructions use tight microcode loops to move a block
of
memory from one place
to
another
(BLT)
or to store a constant value into a block
of
memory
(BLKS).
Block transfer
and
block store take the following arguments:
ACO:
Address
of
the first source word-1
(BLT),
or
data to
be
stored
(BLKS).
Ac1:
Address
of
the last word
of
the destination area.
Ac3:
Negative word count.
Because these instructions are potentially time consuming,
and
keep their state in the
AC'S,
they
are interruptable.
If
an interrupt occurs, the
PC
is
decremented by one,
and
the
AC'S
contain the
intermediate state.
On
return, the instruction continues.
On
completion, the
AC'S
are:
ACO:
Address
of
last source word + 1
(BLT),
or unchanged
(BLKS).
Ac1:
Unchanged.
Ac2:
Unchanged.
Ac3:
O.
The first word
of
the destination area
(Ac1
+
Ac3
+ 1) is the first to
be
stored into.
61007B
Start interval timer:
The microcode implements an interval timer which has a resolution
of
3S.0S
microseconds,
and
a
maximum period
of
10 bits. Because the principal application for this timer is to do bit sampling
for a serial
EIA-RS232
compatible communications line, the timer is specialized for this purpose.
It
uses three dedicated locations in page
1:
ITTIME
S2SB
Contains the time at which the next timer interrupt should
be
caused.
On
mBITS
ITQUAN
Alto
I,
the lO-bit time
is
stored in
ITTIME[0-9],
and the remaining bits must
be zero.
On
Alto II, the time
is
stored in
ITTIME[4-13],
and
the remaining
bits must be zero.
423B
This word contains one or more bits specifying the channel or channels
on
which the timer interrupt
is
to occur.
422B
When the interval timer interrupt
is
caused, the microcode stores a quantity
in this location which depends
on
the mode.
The
SIT
instruction
ORS
the contents
of
ACO
into
R37.
The high
14
bits should be
0;
the low-
order 2 bits determine the interval timer mode: