Content deleted Content added
Peter Flass (talk | contribs) chg link |
Peter Flass (talk | contribs) →Channel programs: more description plus reference |
||
Line 24:
==Channel programs==
System/360 channel programs are a sequence of commands which are executed by the channel and the I/O device. Channel programs can be locaed anywhere in main storage. The channel program is a sequence of ''Channel Command Words'' (CCWs), which
<pre>
bit 0 7 8 31
+--------+-----------------------+
Line 35:
+------+---+--------+------------+
Six commands are defined, in the low-order bits of the command field (0-7). The high-order four (or six) bits are ''modifiers'' for some commands, or are ignored. The commands are:
0100 - Sense
1000 - Transfer in Channel (TIC)
Line 42:
--10 - Read
--11 - Control
</pre>
The data address (8-31) is the 24-bit address of a main storage buffer area to or from which the data is to be transferred.
The flag bits (32-36) are defined as follows:
{| class="wikitable"
|-
! Bit !! ID !! Name !! Description
|-
| 32 || CD || Chain data || Use the storage area specified in the next CCW to continue this command
|-
| 33 || CC || Chain command || Execute the next sequential CCW when this command completes<br> if CC or CD are not set, the channel program terminates after executing this command
|-
| 34 || SLI || Suppress length indication || Ignore incorrect length for this command
|-
| 35 || SKIP || Skip || Suppress data transfer for this command
|-
| 36 || PCI || Program controlled interruption || Generate an interrupt when this command starts executing
|}
The count field (48-63) indicate the number of bytes to be transferred by this command.
==References==
|