Arguments are passed in General Purpose Registers (GR) 26–23, Single-Precision Floating-Point Registers (FR) 4–7, Double-Precision
               Floating-Point Registers (FR) 5 and 7, and in the parameter area of the stack, according to the Open PL/I standard calling
               conventions.
               	 
            
 
            	 
             
               		
               - If the function returns a value in a temporary storage area, a pointer to that area is passed in GR28.
                  		
               
- The argument list contains addresses of the actual arguments in order or their appearance. If any arguments have the BYVALUE
                  attribute, the actual argument is passed.
                  		
               
- If OPTIONS(VARIABLE) is used, any missing arguments are replaced by null pointers.
                  		
               
- If any of the function's parameters have variable extents, for example, asterisks(*), the addresses of dope vectors describing
                  the arguments are appended to the explicit argument list.