DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦d6b846c18⟧ s3xseg

    Length: 3302 (0xce6)
    Types: s3xseg
    Names: »STIME«

Derivation

└─⟦811594a0b⟧ Bits:30009185 5702-sc1.V16.pgm
    └─⟦8223a6838⟧ 
        └─⟦this⟧ »STIME« 
└─⟦990ba7470⟧ Bits:30009182 5702-PP1
    └─⟦efad88270⟧ 
        └─⟦this⟧ »STIME« 

TextSegment

*      DATE LAST CHANGED 02/13/74                                                               
       MACRO                                                                                    
&NAME  TIME  &DAY-,&TIME-,&TYPE-                                                                
       GBLB  &NTRD,&NTR2                                                                        
       TEXT                                                                                     
*      GET THE TIME AND DATE.                                                                   
       AIF   (T'&NAME EQ 'O').A                                                                 
&NAME  EQU   *                          GENERATE USER LABEL.                                    
.A     ANOP                                                                                     
       AIF   (T'&DAY EQ  T'&TIME).REG                                                           
       AIF   (T'&DAY NE 'O').TTIM                                                               
       MNOTE 08,'NO DATE SPECIFIED'                                                             
       MEXIT                                                                                    
.TTIM  ANOP                                                                                     
       AIF   (T'&TIME NE 'O').REG                                                               
       MNOTE 08,'NO TIME SPECIFIED'                                                             
       MEXIT                                                                                    
.REG   ANOP                                                                                     
       AIF   (T'&TIME EQ 'O').RONLY                                                             
       LA    &DAY,1                     LOAD XR1 & XR2 WITH ADDRESS                             
       LA    &TIME,2                    *  OF DAY AND TIME FIELD.                               
       AGO   .RSET                                                                              
.RONLY ANOP                                                                                     
       LA    5(,2),1                    POINT TO DATE.                                          
       AIF   (&TYPE NE 'TU').FUL                                                                
       LA    9(,2),2                    POINT TO TIMER UNITS.                                   
       AGO   .RSET                                                                              
.FUL   ANOP                                                                                     
       LA    11(,2),2                   POINT TO TIME                                           
.RSET  ANOP                                                                                     
       AIF   (T'&TYPE EQ 'O').TIM                                                               
       AIF   (&TYPE EQ 'DEC').TIM                                                               
       AIF   (&TYPE EQ 'TU').TIM                                                                
       MNOTE 08,'INVALID TYPE SPECIFIED'                                                        
       MEXIT                                                                                    
.TIM   ANOP                                                                                     
       ST    $TIV1,1                    SAVE ADDRESS OF DATE.                                   
       ST    $TIV2,2                    SAVE ADDRESS OF TOD.                                    
       AIF   (&NTRD).FOUND                                                                      
$TIF   JC    $TIEND,X'80'               A FIRST TIME SWITCH,SET NOT TO JUMP                     
       MVI   $TIF+1,X'87'               SET SWITCH TO SKIP.                                     
       L     X'11',1                    GET SCA ADDRESS.                                        
       L     1(,1),1                    POINT TO PLCA.                                          
       L     X'16'(,1),1                POINT TO START OF PL1.                                  
       A     $TIN1,1                    SUBTRACT ONE.                                           
       ST    $TIOM,1                    SAVE ADDR OF PTR TO START OF COMMON                     
       ST    $TIADD,1                   SET SEARCH ADDRESS.                                     
$TILUP EQU   *                                                                                  
       CLC   $TIADD(2),$TIEN            LAST BYTE ?                                             
       BE    $TISUP                     IF YES, THEN TIMER NOT SUPPORTED                        
       ALC   $TIADD(2),$TIN1            NO, DECREMENT ADDRESS.                                  
       CLC   $TIUP,0                    COMMON CONSTANT FOUND.                                  
$TIADD EQU   *-1                                                                                
       BNE   $TILUP                     NO, KEEP TRYING.                                        
       MVC   0(2,1),$TIADD              POINT TO ENTRY POINT.                                   
       SLC   0(2,1),$TICL               POINT TO START OF COMMON.                               
$TIEND EQU   *                                                                                  
.FOUND ANOP                                                                                     
       L     $TIOM,2                    POINT TO POINTER TO COMMON.                             
       L     0(,2),2                    POINT TO COMMON.                                        
       ST    $TI&SYSNDX+3,2             STORE ENTRY ADDRESS.                                    
       ALC   $TI&SYSNDX+3,$TIG4(2)      STORE ENTRY POINT.                                      
       L     $TIV2,1                    RESTORE REGISTER.                                       
       L     $TIV1,2                    RESTORE REGISTER.                                       
$TI&SYSNDX B 0                          GOTO RESIDENT CODE.                                     
       AIF   (&TYPE EQ 'TU').LEV                                                                
       L     $TIV2,1                    POINT TO TIME.                                          
       B     $TIVT                      CONVERT TIMER UNITS TO HMS.                             
       AIF   (&NTR2).LEV                                                                        
       J     $TIUT1                     SKIP OVER CONSTANTS.                                    
$TIVT  EQU   *                                                                                  
       ST    $TIRT+3,8                  SAVE ARR TO RETURN.                                     
       L     $TIOM,2                    POINT TO COMMON POINTER.                                
       L     0(,2),2                    POINT TO COMMON.                                        
       LA    X'6B'(,2),2                POINT TO CONVERT ENTRY POINT.                           
       ST    $TIVXT+3,2                 SET BRANCH.                                             
       LA    $TIWK-5,2                  POINT TO ADDRESS OF HHMMSS.                             
$TIVXT B     0                          GO.                                                     
       L     $TIV2,2                    POINT TO DATE FIELD.                                    
       MVC   0(6,2),$TIWK               MOVE DATE.                                              
$TIRT  B     0                          ADDRESS FILLED IN FOR RETURN.                           
$TIWK  DS    CL6                                                                                
&NTR2  SETB  1                                                                                  
$TIUT1 EQU   *                                                                                  
.LEV   ANOP                                                                                     
       AIF   (&NTRD).XIT                                                                        
       J     $TIUT                      SKIP OVER CONSTANTS.                                    
$TISUP EQU   *                                                                                  
       HPL   X'3C',X'3C'                HALT FF                                                 
       HPL   X'7D',X'6F'                HALT 06                                                 
       LA    $TIALT,2                   POINT TO HALT PARM LIST.                                
       B     4                          GO HALT.                                                
       DC    XL1'85'                    HALT/SYSLOG.                                            
$TIALT EQU   *                                                                                  
       DC    XL1'DA'                    HALT FROM ASSM.                                         
       DC    CL3'Q05'                   SUBCOMPONENT, HALT CODE.                                
       DC    XL1'01'                    OPTION 3 ONLY.                                          
       DC    CL2'NS'                    SUBMESSAGE.                                             
$TIN1  DC    XL2'FFFF'                  *                                                       
$TIV1  DC    XL2'0'                     REGISTER SAVE AREA.                                     
$TIG4  DC    XL2'73'                    *                                                       
$TICL  DC    IL2'104'                   *                                                       
$TIUP  DC    CL6'O$TIME'                MODULE NAME.                                            
$TIOM  DS    XL2                        *                                                       
$TIV2  DS    XL2                        *                                                       
$TIV3  DS    XL2                        *                                                       
$TIEN  DC    XL2'0400'                  *                                                       
$TIUT  EQU   *                          *                                                       
.XIT   ANOP                                                                                     
&NTRD  SETB  1                                                                                  
       MEND