SHARED VARIABLE TABLE ENTRIES
Use
the shared variable table entries
to
find
the
10CBs,
I/O buffers, and control vectors when using APL shared
variables for I/O operations. See
How
To
Find
the
I/O
Buffer
for an example of how
to
use this information.
The shared variable table entries are found
by
adding hex
0184
to
the address
of
the start
of
the user workspace. The
address
of
the
start
of
the
user workspace
is
a 4-byte address
and
is
stored
at
location hex
01
BO.
There are eight table entries, each 8 bytes long. The first
4-byte address
is
an I/O
buffer
area address and
the
second
4-byte address
is
a control vector address. These addresses
are displacements from the start of the user workspace.
Any of
the
eight entries can be active at any time.
If
any
entry contains
all
hex zeros, it
is
inactive.
Hex
Displacement
Length Form
0-3 4 Address
displacement
4-7
4 Binary
8-9 2 Address
displacement
A-B
2
Address
displacement
CoD
2 Address
displacement
E-F
2
Address
displacement
10-21 18 (decimal) Variable
22-variable Variable Variable
Variable Variable Variable
(pointed
to
by
bytes C and
D)
Variable
Variable Variable
(pointed
to
by
bytes E and
F)
6-6
I/O BUFFER AREA
The I/O Buffer area
is
found by adding the I/O buffer area
displacement address, found
in
the table entry.
to
the address
at
location hex01BO (the
start
of
the user workspace). The
I/O buffer area contains
the
following information:
Description
Displacement from the beginning
of
the
user workspace
pointing
to
the table entry containing the displacement
address for this I/O buffer area.
Number
of
bytes
in
this I/O buffer area.
Displacement from the beginning of this I/O buffer area
pointing
to
the first byte
of
the I/O buffer.
Displacement from
the
beginning
of
this area pointing
to
the current position
of
the I/O buffer.
Displacement from the beginning
of
this area pointing
to
the start of the I/O workspace
(1
byte past the end
of
the
I/O buffer).
Displacement from the beginning
of
this I/O buffer area
pointing
to
the logical record buffer (interchange input
only).
10CB (see
Input/Output
Control Blocks).
I/O buffer (see
I/O
Buffer).
I/O work area.
Logical record buffer.
~-
/~
\'-.
->
'"
/
J