ASMB,L,C      ** PRTN TO RETURN PARAMETERS TO SCHEDULING PROG **
      HED PRTN  TO RETURN PRAMETERS TO THE SCHEDULING PROGRAM 
*     NAME:   PRTN
*     SOURCE: 92067-18039 
*     RELOC:  PART OF 92067-16035 
*     PGMR:   G.A.A.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
      NAM PRTN,6 92067-16035 REV.1805 771005
      ENT PRTM
      ENT PRTN
      EXT $LIBR,$LIBX 
      SPC 2 
*  THIS ROUTINE IS USED TO PASS FIVE PARAMETERS TO THE PROGRAM
*  THAT SCHEDULED THE CALLER WITH WAIT.  IT DOES NOT HONOR THE
*  NO PARAMETERS BIT. 
* 
*  THE SCHEDULING PROGRAM MAY RECOVER THESE PARAMETERS WITH RMPAR.
* 
*  THE WAIT FLAG IS CLEARED SO THE CALLER SHOULD HAVE HIGHER
*  PRIORITY THAN THE SCHEDULER TO PREVENT A SWAP. 
* 
*  CALLING SEQUENCE:
* 
*     JSB PRTN
*     DEF *+2       STANDARD FORTRAN SEQUENCE 
*     DEF PRAM      ADDRESS OF THE FIVE RETURN PRAMATERS
*     JSB EXEC      PROGRAM SHOULD COMPLETE 
*     DEF *+2 
*     DEF SIX 
      SPC 3 
PRTN  NOP           ENTRY POINT 
      JSB $LIBR     GO DO PRIVLEDGE THING 
COUNT NOP 
      LDA PRTN      GET THE ADDRESS OF THE CALL PRAMS 
      LDB A,I       GET RETURN ADDRESS
      STB RTN       SAVE IT 
      INA           STEP TO PRAM ADDRESS
      LDA A,I       GET PRAM ADDRESS
      RAL,CLE,SLA,ERA  REMOVE POSSIBLE INDIRECT 
      JMP *-2       IF INDIRECT TRY AGAIN 
      STA PRTN      SAVE THE PRAM ADDRESS 
      LDA KEYWD     GET HEAD OF THE KEY WORD LIST 
      STA PRTM      SAVE IT LOCALLY 
      JMP NEXT1+1   GO SCAN THE LIST
      SPC 1 
NEXT  CLB,INB       ADD ONE 
      ADB A         TO IT TO GET THE WAIT ID ADDRESS
      STB ID        ALSO THE PRAM SAVE ADDRESS SAVE IT
      XLB B,I       GET THE WORD
      CPB XEQT      THIS THE SCHEDULING PROGRAM?
      JMP FOUND     LOOKS GOOD  GO CHECK THE STATUS 
NEXT1 ISZ PRTM      STEP KEYWORD ADDRESS
      XLA PRTM,I    GET NEXT ENTRY
      SZA           IF END OF LIST EXIT 
      JMP NEXT      NOT END  TRY NEXT ID
      SPC 1 
EXIT  LDA OP1       RESET THE OPTION FOR PRTN ENTRY 
      STA OPTIN 
      JSB $LIBX     EXIT TO THE SYSTEM EXIT ROUTINE 
      DEF RTN       RETURN ADDRESS
      SPC 1 
RTN   NOP 
ID    NOP 
STAT  NOP 
      SPC 2 
FOUND LDB D5        CACULATE LAST PRAM ADDRESS
      ADB A         TO B
      STB LAST      SAVE IT FOR TESTING 
      ADB D10       CALCULATE THE STATUS ADDRESS
      STB STAT      SAVE IT 
      XLB B,I       GET STATUS OF SCHEDULER 
      BLF,SLB       IS HE WAITING?
OPTIN CCE,RSS       (OR CLE,INA,RSS FOR PRTM) 
      JMP NEXT1     NO TRY NEXT PGM 
      ERB,CLE,ELB   CLEAR WAIT BIT(SAVE E-REG.) 
      BLF,BLF       ROTATE B THE REST 
      BLF           OF THE WAY AROUND 
OVER  SEZ,CLE,INA,RSS   ADVANCE POINTER.
      JMP PRSPR 
      XSB STAT,I    SAVE STATUS WITHOUT WAIT BIT IF PRTN. 
PRSPR LDB PRTN,I    GET FIRST PRAM
      XSB A,I       SET PRAM
      ISZ PRTN      STEP ADDRESS
      CPA LAST      LAST PRAMETER?
      CLB,INB,RSS   YES B_1 AND SKIP
      JMP OVER      NO GO DO NEXT ONE 
      ADA D5        YES SET TO B REG ADDRESS
      LDB ID        GET ADDRESS OF PRAM AREA
      XSB A,I       SET BREG SAVE TO POINT TO PRAMS 
      JMP EXIT      DONE RETURN TO PGM
      SPC 3 
OP1   CCE,RSS 
INARS CLE,INA,RSS   PRTM ENTRY A OPTION 
LAST  NOP 
D5    OCT 5 
D10   DEC 10
      SPC 2 
PRTM  NOP           OPTIONAL ENTRY FOR FOUR 
      JSB $LIBR     PRAMETER PASS WITH OUT CLEARING 
      NOP           THE WAIT BIT
      LDA INARS     GET THE OPTIONAL INSTRUCTION
      STA OPTIN     SET IT IN THE CODE
      LDA PRTM      GET THE RETURN ADDRESS
      STA PRTN      SET IT IN THE MAIN ENTRY POINT
      JMP COUNT+1   GO TO MAIN LINE AND DO THE JOB
      SPC 2 
A     EQU 0 
B     EQU A+1 
KEYWD EQU 1657B 
XEQT  EQU 1717B 
      END 
                                                                                                                                          