This is like (vdkc) except upon memory traps the domain's instruction address {right four bytes of PSW} would be stored at locations 12 through 15 and the 4 bytes at location 8 would be loaded into the domain's instruction address. The 6 byte trap code would be placed at location 16 through 21 and the domain's trap code set to 0.
Because only the low 4 bytes of the PSW are exchanged, the code at the new instruction address would have to be prepared to use the high bytes of the PSW as they are left by the instruction{s} accessing the segment.
This facility allows a program to retain control when it accesses an untrusted segment without having to pay the cost of a private domain keeper until it is needed.
Implementation Note:
It is OK for the VDK to be shared until the occurrence of a memory exception. This event is presumably rare enough so that a private keeper can then be afforded and established.