CEEVRONU — run on upward-growing stack

This CWI is invoked from an XPLINK routine running on the downward-growing stack. It is used to invoke a non-XPLINK routine that runs on the upward-growing stack. It performs stack swapping, moves the parameter list, and stores appropriate parameters from registers before invoking the routine. After the routine returns, it will adjust the return value and swap the stacks back.
Input/Output Register Used for
Input Registers R0 Not used
R1 - R3 Parameters
R4 Caller's stack pointer
R4 + 2112 Parameter list
R5 Function descriptor
R6 Entry point (CEEVRONU)
R7 Return address
R8 - R11 Not used
R12 CAA address
R13- R15 Not used
Output Registers R0 Not preserved
R1 - R3 Return value
R4 Unchanged
R5 - R6 Not preserved
R7 - R15 Unchanged
CEEVRONU
Call this CWI interface as follows:
L       6,CEECAALEOV-CEECAA(,12)
L       6,272(,6)
BASR    7,6
DC      X'4700'
DC      Y(signed offset/8 to entry marker or call descriptor)
This CWI will return control to its invoker at the return address:
BR      7
Function descriptor
A function descriptor that contains the entry point and writable static area address for the non-XPLINK routine to be invoked, or the actual function entry point.
Parameter List
The parameter list for the routine to be invoked.
Note: CEEVRONU has a stub called @@RONU.