*DECK EXECUTE 
USETEXT TCMMDEF 
USETEXT TENVIRN 
USETEXT TEXPRES 
USETEXT TXSTD 
      PROC EXECUTE; 
  
#----------------------------------------------------------------------#
#                                                                      #
#  THE FOLLOWING PROCS ARE XDEF"D WITHIN THIS DECK:                    #
#                                                                      #
#     LODXEQ                       LOAD AND EXECUTE RELOCATABLE ROUTINE#
#     STOREPN                      STORE PROCEDURE NAME                #
#     STORLFN                      STORE LFN FOR LOAD FILE             #
#     STORPAR                      STORE PARAMETER                     #
#                                                                      #
#----------------------------------------------------------------------#
  
      BEGIN 
  
          BASED ARRAY ADDR [0];  ITEM PARADDR;
      XREF ITEM CURREG B;          # TRUE IF CURRENT-REGISTER          # QU3A334
      ITEM IX           I;         # SCRATCH TEMPORARY                 #
      ITEM JX           I;         # SCRATCH TEMPORARY                 #
      BASED ARRAY PAR;             # USED FOR STORING PARAMETERS       #
        BEGIN 
        ITEM PARAM        I(00,00,60);
        END 
      COMMON SORTBL ; 
     BEGIN
      ITEM SORTLOC ;
     END
  
      XREF PROC CMOVE;             # CHARACTER MOVE ROUTINE            #
      XREF PROC LOADREL;           # LOAD AND EXECUTE THE RELOCATABLE  #
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
          XDEF PROC LODXEQ; 
      PROC  LODXEQ; 
     BEGIN
      IF NOT RECORDFLAG            # IF NOT RECORDING                  #
      THEN
        BEGIN 
        LOADREL;                   # LOAD AND EXECUTE THE RELOCATABLE  #
        END 
  
      STDYES; 
     END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
      XDEF PROC STORLFN ; 
      PROC STORLFN ;
     BEGIN
      BASED ARRAY X ;;
      P<X>=SORTLOC+1 ;
      CMOVE(CURWORD,0,CURLENG,X,0) ;
      STDNO ;                # RETURN                                  #
     END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
      XDEF PROC STOREPN;
      PROC STOREPN ;
     BEGIN
      SORTLOC = CMM$ALF(212,0,0); 
      P<ADDR>=SORTLOC ; 
      P<PAR>=P<ADDR>+66 ; 
      JX=0 ;
      CMOVE(CURWORD,0,CURLENG,ADDR,0) ; 
      P<ADDR>=P<ADDR>+2 ; 
      IX=0 ;
      STDNO ;                # RETURN # 
     END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
      XDEF PROC STORPAR ; 
      PROC STORPAR ;
     BEGIN
      IF NOT RECORDFLAG            # IF NOT RECORDING                  # QU3A334
      THEN                                                               QU3A334
        BEGIN                                                            QU3A334
        IF CURREG                  # IF CURRENT-REGISTER               # QU3A334
          OR NOT (FIGLITDATA EQ 1  # IF NEITHER LIT NOR DEFINED        # QU3A334
            OR FIGLITDATA EQ 2)                                          QU3A334
        THEN                                                             QU3A334
          BEGIN                                                          QU3A334
          STDNO;                                                         QU3A334
          END                                                            QU3A334
        END                                                              QU3A334
      IF FIGLITDATA EQ 1 THEN GOTO LITORNUM ; 
      CMOVE(CURWORD,0,CURLENG,PAR,0) ;
      PARADDR[IX]=DATAWORDADDR ;
      GOTO FIN ;
FINISH:  #   #
      PARADDR[IX]=P<PAR> ;
FIN:  #      #
      P<PAR>=P<PAR>+CURLENW ; 
      IX=IX+CURLENW ; 
      JX=JX+CURLENW ; 
      STDYES;                                                            QU3A334
LITORNUM:  #    # 
      IF DATATYPE EQ 0 THEN GOTO LIT ;
      PARAM[0]=ICW[5] ; 
      IF DATATYPE NQ 5 THEN GOTO FINISH ; 
      PARAM[1]=ICW[6] ; 
      GOTO FINISH ; 
LIT:   #     #
      CMOVE(CURWORD,0,CURLENG,PAR,0) ;
      GOTO FINISH ; 
     END
  
  
  
  
#----------------------------------------------------------------------#
  
  
      END 
      TERM
