         START                                                                  
* -----------------------------------------------------------------             
         DC   C'<< Revive ! Process Trace >> ('                                 
         COPY  RV1#HDR                                                          
         PRINT   GEN                                                            
*-------------------------------------------------------------------            
RV1TRC   CSECT                                                                  
         SAVE  (14,12),T,*                                                      
         BALR  R03,0                                                            
         USING *,R03,R04                   Base Reg. R03,R04                    
         LA    R04,2048(R03)               2 Base Reg                           
         LA    R04,2048(R04)                                                    
         ST    R13,SAVEAREA+4              Save A(OLD SaveArea)                 
         LR    R12,R13                                                          
         LA    R13,SAVEAREA                                                     
         ST    R13,8(R12)                  Save A(NEW SaveArea)                 
*-------------------------------------------------------------------            
         LR    R08,R01                   save parm                              
         LM    R06,R07,0(R08)                                                   
         USING REVIVED,R06               comm dsect                             
         CLC   REVTRC,=CL3'ON '          if trace option not= on                
         BNE   QUIT                        goto quit                            
         MVC   WKMES+10(8),RV1MARK                                              
         LA    R01,A#TRCF                                                       
         CALL  RV1BTH,((R01),WKMES+20,4)                                        
*        TPUT  WKMES,80                                                         
         MVC   MSGID(8),0(R07)           msgid                                  
*-------------------------------------------------------------------            
         CALL  ISPLINK,(VDEFINE,TRCSMSGN,TRCSMSG,CHAR,TRCSMSGL),VL              
         CALL  ISPLINK,(VDEFINE,TRCLMSGN,TRCLMSG,CHAR,TRCLMSGL),VL              
*-------------------------------------------------------------------            
         LA    R08,8(R08)                shift parm                             
         LA    R09,MSGVAR                                                       
         L     R10,0(R08)                                                       
         CALL  ISPLINK,(VREPLACE,(R09),MSGLEN,(R10)),VL                         
         TM    0(R08),X'80'                                                     
         BO    TRCGETM                                                          
         LA    R08,4(R08)                                                       
         LA    R09,L'MSG01(R09)                                                 
TRCLOP1  EQU   *                                                                
         LA    R10,0(R08)                                                       
         L     R10,0(R10)                                                       
         CALL  RV1BTH,((R10),MSGCHAR,4)                                         
         CALL  ISPLINK,(VREPLACE,(R09),MSGLEN,MSGCHAR),VL                       
         TM    0(R08),X'80'                                                     
         BO    TRCGETM                                                          
         LA    R08,4(R08)                                                       
         LA    R09,L'MSG01(R09)                                                 
         CLC   0(R09),=XL8'FFFFFFFFFFFFFFFF'                                    
         BE    END_OF_MSGNO                                                     
         B     TRCLOP1                                                          
TRCGETM  EQU   *                                                                
         CALL  ISPLINK,(GETMSG,MSGID,TRCSMSGN,TRCLMSGN),VL                      
*        TPUT  =CL20'PUT',20                                                    
         OPEN  (TRCF,(OUTPUT))                                                  
*        L     R11,A#TRCF                                                       
*        PUT   (R11),TRCLMSG                                                    
         PUT   TRCF,TRCLMSG                                                     
         CLOSE (TRCF)                                                           
*        TPUT  TRCLMSG,80                                                       
QUIT     EQU   *                                                                
*        TPUT  =CL20'TRC QUIT',20                                               
         L     R13,SAVEAREA+4                                                   
         RETURN (14,12),RC=0                                                    
END_OF_MSGNO EQU *                                                              
         TPUT  =CL80'NO MORE ENOUGH MSGNO.',80                                  
         L     R13,SAVEAREA+4                                                   
         RETURN (14,12),RC=0                                                    
*-------------------------------------------------------------------            
TRCF     DCB   DSORG=PS,MACRF=(PM),DDNAME=REVTRC,                      *        
               RECFM=F,LRECL=80,BLKSIZE=80                                      
*-------------------------------------------------------------------            
SAVEAREA DS    18F                                                              
MSGID    DS    CL8                                                              
MSGCHAR  DS    CL8                                                              
WK       DC    CL8' '                                                           
WK#F     DS    F                                                                
WK2      DC    CL8' '                                                           
MSGVAR   DS    0F                                                               
MSG01    DC    CL8'M1'                                                          
MSG02    DC    CL8'M2'                                                          
MSG03    DC    CL8'M3'                                                          
MSG04    DC    CL8'M4'                                                          
MSG05    DC    CL8'M5'                                                          
MSG06    DC    CL8'M6'                                                          
MSG07    DC    CL8'M7'                                                          
MSG08    DC    CL8'M8'                                                          
MSG09    DC    CL8'M9'                                                          
MSG10    DC    CL8'M10'                                                         
         DC    XL8'FFFFFFFFFFFFFFFF'                                            
MSG_END  EQU   *                                                                
MSGLEN   DC    F'8'                                                             
TRCSMSG  DS    CL20                                                             
TRCSMSGN DC    CL8'TRCSMSG '                                                    
TRCSMSGL DC    F'20'                                                            
TRCLMSG  DS    CL80                                                             
TRCLMSGN DC    CL8'TRCLMSG '                                                    
TRCLMSGL DC    F'80'                                                            
WKMES    DC    CL80' '                                                          
*-------------------------------------------------------------------            
         LTORG                                                                  
         COPY  RV1#ISPC                                                         
         DSECT                                                                  
         COPY  RV1#COMM                                                         
*-------------------------------------------------------------------            
* ------ REVTRC --------                                                        
R00      EQU   00                                                               
R01      EQU   01                                                               
R02      EQU   02                                                               
R03      EQU   03                                                               
R04      EQU   04                                                               
R05      EQU   05                                                               
R06      EQU   06                                                               
R07      EQU   07                                                               
R08      EQU   08                                                               
R09      EQU   09                                                               
R10      EQU   10                                                               
R11      EQU   11                                                               
R12      EQU   12                                                               
R13      EQU   13                                                               
R14      EQU   14                                                               
R15      EQU   15                                                               
         END   RV1TRC                                                           
