In IBM mainframe operating systems, Execute Channel Program in Real Storage (EXCPVR) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a list of device-specific CCWs, that is, a channel program, to be executed by I/O channels, control units and devices.
EXCPVR can in some situations provide improved performance compared to EXCP.
In the later instances of the OS, support was added for Format 1 CCWs, and, hence, for access to data areas which are "above the line" (Format 0 CCWs may only access data areas which are "below the line").
In MVS/370 and subsequent instances of the OS, EXCPVR invokes STARTIO to schedule execution of the channel program, hence EXCPVR's back-end is always in SRB mode, but the back-end contains emulation code which allows the appendages developed for earlier, pre-MVS instances of the OS to function largely as before and thereby to appear to be in TCB mode, for which these appendages were originally designed.
This distinction can complicate conversion of certain "roll-your-own" access methods and applications to MVS.