         START                                                                  
* -----------------------------------------------------------------             
         DC   C'<< Revive ! : Binary Code to Hexa Character >> ('               
         COPY RV1#HDR                                                           
         PRINT NOGEN                                                            
* --- Start of Process --------------------------------------------             
RV1BTH   CSECT                                                                  
         SAVE  (14,12),T,*                                                      
         BALR  R03,0                                                            
         USING *,R03                       Base Reg. R03                        
         ST    R13,SAVEAREA+4              Save A(OLD SaveArea)                 
         LR    R12,R13                                                          
         LA    R13,SAVEAREA                                                     
         ST    R13,8(R12)                  Save A(NEW SaveArea)                 
* --- from characher ---                                                        
*        LM    R07,R09,0(R01)              R07 : From Address                   
*                                          R08 : To Address                     
*                                          R09 : length                         
         L     R07,0(R01)                                                       
* --- to character ---                                                          
         L     R08,4(R01)                                                       
* --- convert length ---                                                        
         L     R09,8(R01)                                                       
*-------------------------------------------------------------------            
****     RV1#TRCC BASE=3,COMM=6                                                 
*-------------------------------------------------------------------            
@CO_HEX  EQU   *                               CONVERT HEX-CHARACTER            
         LA    R15,5                                                            
@CO_HC   EQU   *                                                                
         LTR   R09,R09                                                          
         BZ    @CO_EXIT                                                         
         BCT   R15,@CO_SKIP                                                     
*                                                                               
         MVI   0(R08),X'40'                                                     
         LA    R08,1(R08)                                                       
         LA    R15,4                                                            
@CO_SKIP EQU   *                                                                
         XR    R01,R01                   First 4 Bit                            
         IC    R01,0(R07)                                                       
         SRL   R01,4                                                            
         A     R01,A_TR                                                         
         ICM   R02,B'0010',0(R01)                                               
         IC    R01,0(R07)                Last 4 Bit                             
         N     R01,=XL4'0000000F'                                               
         A     R01,A_TR                                                         
         ICM   R02,B'0001',0(R01)                                               
         STCM  R02,B'0011',0(R08)                                               
         LA    R07,1(R07)                                                       
         LA    R08,2(R08)                                                       
         BCTR  R09,0                                                            
         B     @CO_HC                                                           
@CO_EXIT EQU   *                                                                
         L     R13,SAVEAREA+4                                                   
         RETURN (14,12),RC=0                                                    
*                                                                               
SAVEAREA DS    18F                               WORK SAVEAREA                  
TR       DC    C'0123456789ABCDEF'               CHAR TRUNC TABLE               
A_TR     DC    A(TR)                                                            
         LTORG                                                                  
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   RV1BTH                                                           
