ccw. The content of the command-code field of the
new ccw is ignored, unless it specifies transfer in
channel.
Data chaining is considered to occur immediately
after the last byte of data designated by the current
ccw has been transferred to or from the device. When
the last byte has been placed in main storage or ac
cepted by the device, the new ccw takes over the con
trol of the operation and replaces the pertinent in
formation in the subchannel. If the device sends chan
nel end after exhausting the count of the current ccw
but before transferring any data to or from the storage
area designated by the new ccw, the csw associated
with the termination identifies the new ccw.
If programming errors are detectedh ... the new ccw
or during its fetching, the program-check condition is
generated, and the device is signaled to terminate the
operation when it attempts to transfer data designatcd
by the new ccw. If the device signals the channel-end
condition before transferring any data designated by
the new ccw, program check is indicated in the csw
associated with the termination. Unless the address of
the new ccw is invalid or programming errors are de
tected in an intervening transfer-in-channel command,
the content of the csw pertains to the new ccw. A
data address referring to a nonexistent area or, on
reading, to a protected area causes an error indication
only after theI/O device has attempted to transfer
data to or from the invalid location, but an address
exceeding the addressing capacity of the model is de
tected immediately upon fetching the ccw.
Data chaining during an input operation causes the
new ccw to be fetched when all data designated by
the current ccw have been placed in main storage.On an output operation, the channel may fetch the new
ccw from main storage ahead of the time data chain
ing occurs. The earliest such prefetching may occur
is when 16 bytes still remain to be transferred under
the control of the current ccw. Any programming
errors in the prefetched ccw, however, do not affect
the execution of the operation until all data desig
nated by the current ccw have been transferred to theI/O device. If the device terminates the operation be
fore all data designated by the current ccw have been
transferred, the conditions associated with the pre
fetched ccw are not indicated to the program.Only one ccw describing a data area may be pre
fetched and buffered in the channel. If the prefetched
ccw specifies transfer in channel, only one more ccw
is fetched before the exhaustion of the current ccw.
Programming Notes
Data chaining permits information to be rearranged
as it is transferred between main storage and theI/O device. Data chaining also permits a block of informa
tion to be transferred to or from noncontiguous areas
of storage, and, when used in conjunction with the
skipping function, it permits the program to place in
storage selected portions of a block of data.
When during an input operation, the program
specifies data chaining to a location into which data
have been placed under the control of the current
ccw, the channel fetches the new contents of the lo
cation, even if the location contains the last byte
transferred under thc control of the current ccw.
The program, therefore, can use self-describing rec
ords; that is, it can chain to a ccw that has been read
under the control of the current ccw. However,
since the program is not notified of any data errors
until the end of the operation, there is no assurance
that the ccw is correct. The ccw in main storage may
be invalid even though its parity is good.
Command Chaining
During command chaining, the new ccw fetched by
the channel specifies a newI/O operation. The chan
nel fetches the new ccw and initiates the new oper
ation upon the receipt of the device-end signal for the
current operation. When command chaining takes
place, the completion of the current operation does
not cause anI/O interruption, and the count indicat
ing the amount of data transferred during the current
operation is not made available to the program. For
operations involving data transfer, the new command
always applies to the next block at the device.Command chaining takes place and the new oper
ation is initiated only if no unusual conditions have
been detected in the current operation. If a condition
such as unit check, unit exception, or incorrect lengthhas occurred, the sequence of operations is termi
nated, and the status associated with the current op
eration causes an interruption condition to be gener
ated. The new ccw in this case is not fetched. The
incorrect-length condition does not suppress command
chaining if the current ccw has theSLI Hag on.
An exception to sequential chaining of ccw's occuts
when theI/O device presents the status-modifier con
dition with the device-end signal. When command
chaining is specified and no unusual conditions have
been detected, the combination of status-modifier and
device-end bits causes the channel to fetch and chain
to the ccw whose main-storage address is 16 higher
than that of the current ccw.
When both command and data chaining are used,
the first ccw associated with the operation specifies
the operation to be executed, and the last ccw indi
cates whether another operation follows.
Input/OutputOperations 99
new ccw is ignored, unless it specifies transfer in
channel.
Data chaining is considered to occur immediately
after the last byte of data designated by the current
ccw has been transferred to or from the device. When
the last byte has been placed in main storage or ac
cepted by the device, the new ccw takes over the con
trol of the operation and replaces the pertinent in
formation in the subchannel. If the device sends chan
nel end after exhausting the count of the current ccw
but before transferring any data to or from the storage
area designated by the new ccw, the csw associated
with the termination identifies the new ccw.
If programming errors are detected
or during its fetching, the program-check condition is
generated, and the device is signaled to terminate the
operation when it attempts to transfer data designatcd
by the new ccw. If the device signals the channel-end
condition before transferring any data designated by
the new ccw, program check is indicated in the csw
associated with the termination. Unless the address of
the new ccw is invalid or programming errors are de
tected in an intervening transfer-in-channel command,
the content of the csw pertains to the new ccw. A
data address referring to a nonexistent area or, on
reading, to a protected area causes an error indication
only after the
data to or from the invalid location, but an address
exceeding the addressing capacity of the model is de
tected immediately upon fetching the ccw.
Data chaining during an input operation causes the
new ccw to be fetched when all data designated by
the current ccw have been placed in main storage.
ccw from main storage ahead of the time data chain
ing occurs. The earliest such prefetching may occur
is when 16 bytes still remain to be transferred under
the control of the current ccw. Any programming
errors in the prefetched ccw, however, do not affect
the execution of the operation until all data desig
nated by the current ccw have been transferred to the
fore all data designated by the current ccw have been
transferred, the conditions associated with the pre
fetched ccw are not indicated to the program.
fetched and buffered in the channel. If the prefetched
ccw specifies transfer in channel, only one more ccw
is fetched before the exhaustion of the current ccw.
Programming Notes
Data chaining permits information to be rearranged
as it is transferred between main storage and the
tion to be transferred to or from noncontiguous areas
of storage, and, when used in conjunction with the
skipping function, it permits the program to place in
storage selected portions of a block of data.
When during an input operation, the program
specifies data chaining to a location into which data
have been placed under the control of the current
ccw, the channel fetches the new contents of the lo
cation, even if the location contains the last byte
transferred under thc control of the current ccw.
The program, therefore, can use self-describing rec
ords; that is, it can chain to a ccw that has been read
under the control of the current ccw. However,
since the program is not notified of any data errors
until the end of the operation, there is no assurance
that the ccw is correct. The ccw in main storage may
be invalid even though its parity is good.
Command Chaining
During command chaining, the new ccw fetched by
the channel specifies a new
nel fetches the new ccw and initiates the new oper
ation upon the receipt of the device-end signal for the
current operation. When command chaining takes
place, the completion of the current operation does
not cause an
ing the amount of data transferred during the current
operation is not made available to the program. For
operations involving data transfer, the new command
always applies to the next block at the device.
ation is initiated only if no unusual conditions have
been detected in the current operation. If a condition
such as unit check, unit exception, or incorrect length
nated, and the status associated with the current op
eration causes an interruption condition to be gener
ated. The new ccw in this case is not fetched. The
incorrect-length condition does not suppress command
chaining if the current ccw has the
An exception to sequential chaining of ccw's occuts
when the
dition with the device-end signal. When command
chaining is specified and no unusual conditions have
been detected, the combination of status-modifier and
device-end bits causes the channel to fetch and chain
to the ccw whose main-storage address is 16 higher
than that of the current ccw.
When both command and data chaining are used,
the first ccw associated with the operation specifies
the operation to be executed, and the last ccw indi
cates whether another operation follows.
Input/Output