Register interface

This is a S/370 platform-specific extension. Upon entry, GPR1 contains the address of the first argument, GPR2 contains the address of the second argument, and GPR3 contains the address of the third argument for functions with three arguments as shown in the following figure. The result is returned in the register or registers as shown in Table 2.

Table 1. CWI register interface format
One Input Parameter Two Input Parameters Three Input Parameters
R1 = @(parm 1) R1 = @(parm 1) R1 = @(parm 1)
  R2 = @(parm 2) R2 = @(parm 2)
    R3 = @(parm 3)

Upon return, registers 4-14 contain the same values as they did when the routine was entered. Registers 2 and 3 are preserved by routines of one input parameter. Register 3 is preserved by routines of two input parameters.

Table 2. Result registers for scalar routines (CWI register interface)
Result Data Type Real Part Imaginary Part
R*S FPR0  
R*L FPR0  
R*E FPR0,2  
C*S FPR0 FPR2
C*L FPR0 FPR2
C*E FPR0,2 FPR4,6
I*S GPR0