EXCP (Execute Channel Program) Macro

The macro requests physical IOCS to start an input/output operation for a particular I/O device.

Physical IOCS determines the device from the CCB or IORB control block that is specified by blockname. Physical IOCS places the block in a queue and returns control to the problem program. Physical IOCS causes the channel program to be executed as soon as the channel and device are available. I/O interruptions are used to process I/O completion and to start I/O requests if the channel or device was busy at the time the EXCP was executed.

Format

Read syntax diagramSkip visual syntax diagramnameEXCPccb_name(1),REAL

Requirements for the caller

AMODE:
24 or 31
RMODE:
24 or ANY
ASC Mode:
Primary

Parameters

ccbname | (1)
Is the virtual address of the control block that is established for the device. It can be given as a symbol or in register notation.

The address of the CCB or IORB must be a 24-bit address.

REAL
Indicates that the addresses in the CCWs and the address in the control block pointing to the first CCW have already been translated into real addresses. The operand causes the CCW translation routine to be skipped. (For a program running in real mode, the operand is ignored.)
In your program, the EXCP macro with the REAL operand must be preceded by the PFIX macro that causes the system to:
  • Page in those program pages that contain the associated control block, channel program, I/O areas, and IDA (indirect address) words (if used).
  • Fix these pages in storage.
Note:
  1. With option REAL, if the I/O area being used crosses page boundaries, the data address in your CCWs must point to the required indirect data address words within your program. In addition, bit 37 (the IDA bit) of these CCWs must be set to 1. If REAL is not specified, the IDA bit must be set to 0.
  2. A channel program must start with:
    • A long seek command in the case of a CKD disk.
    • A define extent command in the case of an FBA disk.

    The data chaining must be set to zero for these commands.