*DECK LDPPSET 
          IDENT  LDPPSET
          TITLE  LDPPSET - SET LOADER FOR P-PARSER
 LDPPSET  SPACE  4
**        LDPPSET - LOADS SET OVERLAYS FOR P-PARSER.
* 
*                SINCE (AT PRESENT) SETS 2 THRU 10 RESIDE IN SUB-OVERLAY
*                TO P-PARSER, THIS ROUTINE LOADS THEM INTO CORE ON
*                REQUEST.  SINCE ALL LOADS GO THRU -LOVER- IN 0,0 
*                WE MUST SAVE LOVERS RETURN ADDR.  WE ALSO PROVIDE EASY 
*                RETURN ADDRESSES FROM SYMPL (-SETRTN- AND -PPRTN-).
* 
*         CALLING SEQ (FROM SYMPL): 
*                LDPPSET(SETNMBR);
* 
*                THERE CAN BE A MAX OF MXSETNR SETS.  SET 1 ALWAYS
*                RESIDES IN CORE WITH P-PARSER.  IF WE ARE ASKED TO 
*                LOAD IT, WE JUST RJ TO IT.  IF ANOTHER SET IS REQUESTED
*                WE CHECK TO SEE IF IT IS IN CORE.  IF SO, WE DONT
*                BOTHER TO RELOAD IT, WE JUST JUMP TO IT. 
* 
*                THIS ROUTINE ALSO CONTAINS THE RETURN POINT FROM 
*                EACH SET -SETRTN- AS WELL AS P-PARSERS RETURN POINT
*                -PPRTN-. 
* 
* 
          ENTRY  LDPPSET
          ENTRY  SETRTN 
* 
          EXT    LOVER
          EXT    SETLOAD     SYMPL SERVICE ROUTINE
  
          USE    /FWALWA/ 
 FWA      BSS    1
          USE    *
 LDPPSET  DATA   0
 LDSET1   SA2    X1+0        GET SET NUMBER 
          SA3    CURSET      CURRENT GUY IN CORE
          IX6    X2-X3
  
 LDSET2   ZR     X6,INCORE   ALREADY IN CORE
          BX7    X2 
          SA7    A3          SAVE NEW NUMBER
          SA1    PARAM
          RJ     =XSETLOAD
  
 INCORE   SA2    EADDR       ENTRY POINT ADDR FROM LOVER
          SB2    X2+0 
          JP     B2 
  
 SETRTN   DATA   0
          EQ     LDPPSET
* 
*         WORKING-STORAGE 
* 
 PARAM    CON    CURSET 
          CON    EADDR
          CON    0           END OF *PARAM* LIST
 CURSET   DATA   0           CURRENT SET IN CORE
 EADDR    CON    *+400000B   ENTRY ADDR RETURNED HERE 
* 
          END 
