Orders
that
are
executed
by a
specific
type
of
device
are
listed
and
described in
the
appropriate
Xerox
peripheral
equi pment
reference
manua
I.
When an
operational
10CD
is
fetched
by
the
lOP,
the
con-
tent
of
the
order
field,
if
required,
is loaded into an
order
register
within
the
device
controller/device.
If two or
more
10CDs
are
required to
define
a logical record (as
de-
scribed
under
"Data
Chain
Flag"),
the
order
obtained
from
the
first
10CD
prevai
Is
for
all
subsequent
10CDs
within
that
logical
record
and
any
orders
contained
within
the
subsequent
10CDs
are
ignored.
MEMORY
BYTE
ADDRESS
This
22-bit
field
(bit positions
10-31),
if
required,
is
coded
with
the
initial
memory
byte
address for the
I/o
op-
eration
that
wi
II
be performed when
the
current
10CD
is
executed.
When
the
10CD
is
fetched
by the
lOP,
the
con-
tent
of
the
memory
byte
address
field
is loaded
into
a
memory
byte
address
register
within
the
appropriate
I/O
subchannel of
the
lOP.
Thereafter,
the
content
of
the
memory
byte
address
register
is
incremented
(or
decremented
during Read Backward operations) by
one
for
each
byte
of
data
or information transmitted,
even
though
access
to main
memory may be
inhibited
(as
described
under "Skip Flag")
or
the
data
is
rejected
by a memory unit (as
described
under
ItWrite Keylt).
Depending upon the
characteristics
of
the
I/O
device,
the
content
of
bit
positions 10-31 may
either
be ignored (e.
g.,
HRewind"
order
for
magnetic
tape
units) or
specify
memory
byte
locations
that
contain
supplemental control information
(e.
g.,
starting address for a disk
seek
operation).
Refer to
an
appropriate
Xerox
peripheral
equipment
reference
man-
ual for further
detai
Is.
FLAGS
Each
operational
IOCD
contains
eight
control flogs (bif
positions
32-39).
As
described
below,
each
control flag
is
coded
to specify a
particular
control function
that
may
be
performed by the
lOP
either
during or
at
the
end
of
the
current
10CD.
Data
Chain Flag (Bit Position 32). Coding
of
the
data
chain
flag is
dependent
upon
the
number
of
10CDs
required
to
defi ne
the
data
transfers for a logi
ca
I record. If two
or
more
10CDs
are
required
(e.
g.
, to perform a
"gather-write"
or
a
"scatter-read
It
operation),
the
data
chain
flag
of
each
operational
IOCD,
except
the
last
10CD,
must be
coded
as
a
i.
The
data
chain
fiag
of
the iast
iOCD
or
the
oniy
10CD
(if
the
record is
defined
by a single
10CD)
is
coded
as
O.
If
data
chaining
is
specified
and
no
error conditions
are
encountered,
the
lOP
wi
II
automatically
fetch
the
next
operational
10CD
when
the
byte
count
(described
later)
of
the
current
10CD
is
reduced
to zero. {Note: The
lOP
may
also fetch and
execute
a control
10CD
containing
a Transfer
144
Input/Output
Processor (IO
P)
Fundamenta
Is
in
Channel
command, as described
later,
before
fetching
the
next
operational
10CD.)
As
a result
of
fetching
the
next
operational
10CD,
all parameters,
except
the
I/o
order,
are
updated
and
the
device
controller/device
con-
tinue
to
operate
as
if
the
I/o
operation
were
defined
by
a
single
10CD
(i.
e.,
the
data
chain
operation
is
transparent
to
the
device
controller/device).
If
data
chaining
is not
specified,
the
lOP
wi
II
generate
a
"count
done"
signal when
the
byte
count
of
the
current
10CD
is
reduced
to
zero.
The
"count
done
ll
signal
indicates
that
the
lOP
has
completed
all
data
transfers for
the
current
logical record. However,
as
described
under
II
Interrupt on
Channel
End
Flag
ll
, the
I/o
order
is
not
completed
until the
device
signals a IIchan-
nel
end".
Interrupt
at
Zero Byte
Count
Flag (Bit Position
33).
If
an
I/o
interrupt
is
to be requested when the
byte
count
of
the
current
10CD
is
reduced
to
zero,
the
Interrupt
at
Zero
Byte Count (IZC) flag must be coded as a 1.
If
the
I/o
interrupt
level
within
the
interrupt
system (location XISC')
is armed,
enabled,
and
not
inhibited,
the request will be
processed by
the
BP
in
accordance
with
the
priority
that
prevai
Is
within the
interrupt
system, the lOPs, and
the
I/o
subchannels within an MIOP. The
occurrence
of
an
I/o
interrupt
because
of
a zero
byte
count
condition
is reported
as status information (bit position 10
of
register
R)
when the
BP
executes
an
AIO instruction (normally
part
of
the
I/o
interrupt
handling routine).
The
I/O
interrupt
request may
be processed
without
interfering
with the
I/o
operation.
(Note:
An
I/O
interrupt
may be requested
at
"channel
end"
or
on "unusual end
lt
condition,
as described
later.)
Command Chain Flag (Bit Position 34). Command
chaining
permits an
I/O
device
to
execute
a multiple number
of
orders
relating
to the same
I/o
operation
in a
consecutive
manner (e.
g.,
when reading a
multi-record
file,
the
I/o
device
may
automatically
receive
a new Read
order
upon
completing
the
current
Read order
without
the
BP
execut-
ing
another
SIO
instruction). Command
chaining,
if
re-
quired,
is
specified
by coding the command
chain
flag as
a 1 in the
10CD
of
each
record,
except
the
last.
If
command
chaining
is
specified,
the
lOP
wi
II
fetch
the
next
operational
10CD
when
the
devi'ce signals a
"channel
end"
unless
terminated
by an lIunusual
end"
condition.
As
a result, new
parameters
are
stored in
the
appropriate
registers
within
the
I/O
subchannel
and
a new
I/O
order
is
received
by
the
device
controller/device.
Thus, an
lOP
wi
II
automatically
access
main memory and
fetch the
next
operational
10CD
if
either
data
chaining
or
command
chaining
is
specified.
If
data
chaining
and
com-
mand
chaining
are
both
specified
in
the
same command
doubleword, a
data
chaining
operation
wi"
be performed
if
the
byte
count
is
reduced
to
zero
before the devi
ce
si
gna
Is
a
"channel
end"
and
a command
chaining
operation
will be
performed
if
a
"channel
end"
occurs before
the
byte
count
is
reduced
to
zero.
If
neither
data
chaining
or command
chaining
is
specified,
the
I/o
operation
is completed when
the
device
signals a
"channel
end".
Note
that
command
chaining
is
inhibited
by "unusual
end".