*DECK SMOWN 
          IDENT  SMOWN
          TITLE  SMOWN -  GATHER PARAMETERS ABOUT OWNCODE PROCEDURES
          COMMENT  GATHER PARAMETERS ABOUT OWNCODE PROCEDURES 
          SPACE  4
**        SMOWN -  GATHER PARAMETERS ABOUT OWNCODE PROCEDURES 
* 
*     CALLING SEQUENCE: 
*         CALL SMOWN(<OWN-NUM>,<OWN-LOC>,...,<OWN-NUM>,<OWN-LOC>) 
* 
*     GIVEN:  
*         <OWN-NUM> = OWNCODE NUMBER (1, 2, 3, 4 OR 5)
*         <OWN-LOC> = ADDRESS (NAME) OF OWNCODE PROCEDURE.
* 
*     DOES: 
*         SETS NPARMS = NUMBER OF PARAMETERS SPECIFIED. 
*         SETS ARRY = ARRAY OF VALUES OF PARAMETERS.
*         CALLS S$OWN(NPARMS, ARRY);
  
  
          ENTRY  SMOWN
 SMOWN    SUBR
          SB1    1           CONSTANT 1 
          SB7    -1          COUNT OF PARAMETERS
 SMOWN1   SB7    B7+B1       INCREMENT COUNT OF PARAMETERS
          SA2    A1+B7       GET ADDRESS OF NEXT PARAMETER
          NZ     X2,SMOWN1   IF MORE PARAMETERS, LOOP 
  
          SB6    MAXPARMS 
          IFTHEN B7>B6       IF TOO MANY GIVEN PARAMETERS,
            SB7    MAXPARMS    KEEP ONLY SOME 
            ENDIF.
  
          SB6    0           INDEX TO PARAMETERS
 SMOWN2   SA2    A1+B6       GET ADDRESS OF NEXT PARAMETER
          SA3    X2          GET VALUE OF NEXT PARAMETER
          BX6    X3 
          SA6    ARRY+B6     STORE VALUE IN *ARRY*
          SB6    B6+B1       INCREMENT INDEX
          IFTHEN B6<B7       IF ANOTHER VALUE 
            SA2    A1+B6               *GET ADDR OF PROCEDURE 
            BX6    X2 
            SA6    ARRY+B6             *STORE VALUE IN *ARRY* 
            SB6    B6+B1               *INCREMENT INDEX 
            ENDIF.
          LT     B6,B7,SMOWN2  IF MORE VALUES TO MOVE, LOOP 
  
          SX6    B7          STORE NUMBER OF PARAMETERS 
          SA6    NPARMS 
  
          SA1    APLIST 
          CALL   S$OWN
          EXIT
  
  
 APLIST   VFD    42/,18/NPARMS
          VFD    42/,18/ARRY
  
 NPARMS   BSS    1           NUMBER OF PARAMETERS IN *ARRY* 
  
 MAXPARMS EQU    2*5+1       (+1 SO S$OWN CAN DETECT TOO MANY PARAMS) 
 ARRY     BSS    MAXPARMS 
  
  
          END 
