The SAM ICB, used by BAM, contains channel programs and status information when using chained scheduling. Chained scheduling is used only on tape and unit record devices. The ICB is pointed to by the DCBIOBA field of the DCB.
Offset |
Bytes and |
Field Name |
Description |
---|---|---|---|
0 (X'00') | * | ICB | SAM interrupt control block. |
0 (X'00') | 1 | ICBNFLG1 | Flag byte. |
X'80' | ICBPRTOV | PRTOV has occurred. | |
X'40' | ICBWRITE | Write operation in process. | |
X'20' | ICBREAD | Read operation in process. | |
X'10' | ICBUPDAT | Block is to be updated. | |
X'08' | ICBBKSPC | ICB being used for backspace, CNTRL, NOTE, or POINT. | |
X'04' | ICBSPAN | This record is a spanned record. | |
.... ..x. | Reserved. | ||
X'01' | ICBFIRST | This is first ICB on chain. | |
1 (X'01') | 3 | ICBNICBB | Address of next ICB on chain. |
4 (X'04') | 4 | ICBNECB | Event control block. |
8 (X'08') | 1 | ICBFLAG1 | Flag byte. |
X'80' | ICBDATCH | Data chaining used in channel program. | |
X'40' | ICBCMDCH | Command chaining used in channel program. | |
X'20' | ICBERRTN | Error routine is in control. | |
X'10' | ICBRPSTN | Device is to be repositioned. | |
X'08' | ICBCYCCK | Cyclic redundancy check (tape only). | |
X'04' | ICBIOERR | I/O error has occurred. | |
X'02' | ICBUNREL | This I/O request is unrelated (nonsequential). | |
X'01' | ICBRSTRT | Restart address in ICB to be used. | |
9 (X'09') | 1 | ICBFLAG2 | Flag byte. |
X'80' | ICBHALT | Halt I/O has been issued by SVC purge routine. | |
X'40' | ICBSENSE | Issue sense command after device end occurs. | |
X'20' | ICBPURGE | ICB has been purged; allow I/O to quiesce. | |
X'02' | ICBSTATO | Device end status has been ORed with channel end status; graphics device. | |
X'01' | ICBPNCH | Turned on by QSAM when error recovery is to be provided for the 2540 card punch. | |
10 (X'0A') | 1 | ICBSENS0 | First sense byte. |
11 (X'0B') | 1 | ICBSENS1 | Second sense byte. |
12 (X'0C') | 1 | ICBECBCC | Completion code for this I/O request. |
13 (X'0D') | 3 | ICBECBPB | Address of ECB to be posted on I/O completion. |
16 (X'10') | 1 | ICBFLAG3 | Error routine flag byte. |
17 (X'11') | 7 | ICBCSW | Low order seven bytes of CSW at channel end. |
24 (X'18') | 4 | ICBSTART | Address of channel program. |
24 (X'18') | 1 | ICBSIOCC | Bits 2 and 3 = condition code from SIO. |
28 (X'1C') | 2 | ICBINCAM | Value used to increment block count on tape. |
28 (X'1C') | 1 | ICBCRDCC | Optical reader; data check error count. |
29 (X'1D') | 1 | ICBCRILC | Optical reader; incorrect length error. |
30 (X'1E') | 1 | ICBINDIC | Special count indicators. |
X'80' | ICBVOLFL | End of volume with read/write error. | |
.xxx xxxx | Reserved. | ||
31 (X'1F') | 1 | Reserved. |