Programming Note
Bit position39 of the CCW, which pres
ently must be set to zero, may in the
future be assigned to the control of new
functions. It is recommended,
therefore, that this bit position not be
set to one for the purpose of obtaining
an intentional program-check indication.COMMAND CODE The command code, bit positions 0-7 of
theCCW, specifies to the channel and
theI/O device the operation to be
performed. A detailed description of
each command appears under"Commands." The two rightmost bits or, when these
bits are00, the four rightmost bits of
the command code identify the operation
to the channel. The channel distin
guishes among the following four oper
ations:
Output forward (write, control)
Input forward(read, sense)
Input backward (read backward)
Branching (transfer in channel)
The channel ignores the leftmost bits of
the command code.Commands that initiate I/O operations
(write, read,read backward, control,
sense, and sense ID) cause all eight
bits of the command code to be trans
ferred to theI/O device. In these
commandcodes, the leftmost bit posi
tions contain modifier bits. The
modifier bits specify to the device how
the command is to be executed. Theymay, for example, cause the device to
compare data received during a write
operation with data previouslyrecorded, and they may specify such information as
recording density and parity. For the
control command, the modifier bits may
contain the order code specifying the
control function to be performed. The
meaning of the modifier bits depends on
the type ofI/O device and is specified
in theSL publication for the device.
The command-code assignment is listed in
the following table. The symbol X indi
cates that the bit position is ignoredi
M identifies a modifier bit.Code Command XXXX 0000 Invalid
MMMMMM01 Write
MMMMMMIO Read MMMM 1100 Read Backward
MMMM MM11Control MMMM 0100 Sense 1110 0100 Sense ID
XXX X1000 Transfer in Channel Whenever the channel detects an invalid
command code during the initiation of a
command, a program check is generated.
When the firstCCW designated by the CAW contains an invalid command code, the
status portion of theCSW with the
program-check indication is stored
during execution of STARTI/O or START I/O FAST RELEASE being executed as START I/O. When the invalid code is detected
during command chaining or subsequent to
the execution of STARTI/O FAST RELEASE,
the new operation is not initiated, and
an interruption condition is generated.
The command code is ignored during data
chaining, unless it specifies transfer
in channel.
DESIGNATIONOF STORAGE AREA
The storage area associated with anI/O operation is defined by one or more CCWs. A CCW defines an area by specify
ing the address of the first byte to be
transferred and the number of consec
utive bytes contained in the area. The
address of the first byte appears in the
data-address field of theCCW, except
when channel indirect data addressing is
specified.(See the section "Channel Indirect Data Addressing" later in this
chapter.) The number of bytes contained
in the storage area is specified in the
count field.
In write, read, control, and sense oper
ations, storage locations are used in
ascending order of addresses. As infor
mation is transferred to or from
storage, the address from the address
field is incremented, and the count from
the count field is decremented. The
read-backward operation places data in
storage in a descending order of
addresses, and both the count and the
address are decremented. When the count
reaches zero, the storage area defined
by theCCW is exhausted.
Some channels do not perform address
wraparound. Depending on the model, a
program check may be generated if an
address by the channel to
transfer data 1S incremented past
16,777,215 or is decremented past o.
Any available storage location canbe used in the transfer of data to or from Chapter 13. Input/Output Operations 13-39
Bit position
ently must be set to zero, may in the
future be assigned to the control of new
functions. It is recommended,
therefore, that this bit position not be
set to one for the purpose of obtaining
an intentional program-check indication.
the
the
performed. A detailed description of
each command appears under
bits are
the command code identify the operation
to the channel. The channel distin
guishes among the following four oper
ations:
Output forward (write, control)
Input forward
Input backward (read backward)
Branching (transfer in channel)
The channel ignores the leftmost bits of
the command code.
(write, read,
sense, and sense ID) cause all eight
bits of the command code to be trans
ferred to the
command
tions contain modifier bits. The
modifier bits specify to the device how
the command is to be executed. They
compare data received during a write
operation with data previously
recording density and parity. For the
control command, the modifier bits may
contain the order code specifying the
control function to be performed. The
meaning of the modifier bits depends on
the type of
in the
The command-code assignment is listed in
the following table. The symbol X indi
cates that the bit position is ignoredi
M identifies a modifier bit.
MMMM
MMMM
MMMM MM11
XXX X
command code during the initiation of a
command, a program check is generated.
When the first
status portion of the
program-check indication is stored
during execution of START
during command chaining or subsequent to
the execution of START
the new operation is not initiated, and
an interruption condition is generated.
The command code is ignored during data
chaining, unless it specifies transfer
in channel.
DESIGNATION
The storage area associated with an
ing the address of the first byte to be
transferred and the number of consec
utive bytes contained in the area. The
address of the first byte appears in the
data-address field of the
when channel indirect data addressing is
specified.
chapter.) The number of bytes contained
in the storage area is specified in the
count field.
In write, read, control, and sense oper
ations, storage locations are used in
ascending order of addresses. As infor
mation is transferred to or from
storage, the address from the address
field is incremented, and the count from
the count field is decremented. The
read-backward operation places data in
storage in a descending order of
addresses, and both the count and the
address are decremented. When the count
reaches zero, the storage area defined
by the
Some channels do not perform address
wraparound. Depending on the model, a
program check may be generated if an
address
transfer data 1S incremented past
16,777,215 or is decremented past o.
Any available storage location can