
The programs
in
nonexecutable
ROS
are
the
APL and
BASIC interpreters.
The microprograms
in
executable and nonexecutable ROS
function
the
same
in
serial I/O operations as they
do
in
normal APL
or
BASIC language operations.
The serial I/O microprograms
in
read/write storage are
loaded from
the
serial I/O adapter tape cartridge.
The serial I/O microprogram sets the device characteristics
and the request
to
send and clear to send controls as speci-
fied by the user. (See the
IBM
5100
Serial
I/O
Adapter
Feature User's Manual for
an
explanation
of
how these de-
vice characteristics are set., This microprogram aiso controis
the data flow into and
out
of
the I/O buffer
in
read/write
storage. The size
of
the
I/O buffer
is
set by the serial I/O
microprogram as specified
by
the
user. (See
the
IBM
5100
Serial
I/O
Adapter Feature User's Manual for more
information
on
the I/O buffer.)
During a transmit operation, the serial I/O microprogram
takes
the
data from
the
I/O buffer when the device (output
file)
is
closed
or
when
the
buffer becomes full. This micro-
program also adds control and function characters if neces-
sary, such
as
upper shift function characters, and end-of-
block and end-of-buffer control characters; and sends
the
data
to
the
serial I/O
input/output
microprogram one
character
at
a time.
During a receive operation, the serial I/O microprogram
puts
the
data
in
the I/O buffer
as
it
is
received from
the
I/O device.
Transmit Operation
During a transmit operation, data
is
supplied by
the
user's
APL
or
BASIC program. (During
BASIC
language opera-
tions, the user can transmit a BASIC program
to
the
I/O
device with
the
SAVE command.) The serial I/O
input/
output
microprogram converts
the
data
to
the specified
code (5-,6-,
7-,
or
8-bit). adds
the
start and stop bits,
serializes each character, and sends
the
character
to
the
expansion feature card one bit
at
a time.
The operating sequence
of
the microprograms and the data
flow during a transmit operation is:
1.
A data character
is
entered from
the
keyboard
or
read from tape.
2.
2-4
The keyboard
or
tape microprogram passes
the
data
character
to
the
I/O supervisor.
3.
4.
5.
The I/O supervisor passes
the
data character
to
the
I/O buffer
in
read/write storage
via
the
APL
or
BASIC microprogram subroutines, which use
the
programs
in
the
APL
or
BASIC interpreters.
When
the
user's program specifies
output,
the
serial
I/O microprogram removes the data from the I/O
buffer
via
the
I/O supervisor and APL
or
BASIC
microprogram subroutines; adds any necessary func-
tion and control characters; and passes
the
data
to
the
serial I/O
input/output
microprogram.
The serial I/O
input/output
microprogram converts
the character
to
the
specified code, serializes
the
character, adds start and stop bits, and sends the char-
acter, bit by bit,
to
the
expansion feature card. The
bits sent
to
the
card are transmitted
to
the
serial I/O
device on
the
transmitted data line.
Note: Steps 1, 2, and 3 are
the
same
as
a normal APL
or
BASIC language operation. The data could also be supplied
by
the
user's APL
or
BASIC program, such
as
the
result
of
calculations.
Receive Operation
DUring
a receive operation, data received from an I/O device
is
sent
to
the
user's APL or BASIC program by
the
serial
I/O microprograms;
the
user's program may use
the
data
or
send it
to
the
5100
output
devices. (In BASIC language
operations,
the
user can receive a BASIC program from
the
I/O device with
the
LOAD
command.)
The operating sequence
of
the microprograms and
the
data
flow during a receive operation
is:
1.
2.
3.
4.
5.
The
5100
receives
the
data from
the
I/O device on
the received data line
via
the
expansion feature card.
The card sends
the
data, bit by bit,
to
the
serial I/O
input/output
microprogram on bus in.
The serial I/O input/output microprogram deserializes
each character, removes
the
start and stop bits, con-
verts
the
character
to
5100 code, and sends
the
char-
acter
to
the
serial I/O microprogram.
The serial I/O microprogram places the character
in
the
I/O buffer via the APL or BASIC microprogram
subroutines and
the
I/O supervisor.
The user's program uses
the
data
or
sends it
to
the
5100
I/O devices
via
the
APL
or
BASIC micropro-
gram subroutines and
the
I/O supervisor as
in
a normal
APL
or
BASIC operation.
"