ASMB,R,Q,C
      HED TIME PRINT SUBROUTINE 
*     NAME:   ACLTM 
*     SOURCE: XXXXX-18XXX 
*     RELPC:  92067-16361 
*     PGMR:   G.A.A.,C.M.M.,J.M.N 
* 
*  ***************************************************************
* 
*     SOURCE PART NUMBER :92067-18397 
* 
*     RELOCATABLE PART NUMBER : 92067-16361 
* 
*     PROGRAMER(S)   : J.M.N. 
* 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
      NAM ACLTM,7 92067-16361 REV.1940 780823 
      ENT ACLTM 
      EXT .ENTR 
*      CALLING SEQUENCE:
* 
*C     PUT THE DOUBLE PRECISION INTEGER IN ARRAY
*      CALL FTIME(ITIME,IBUF) 
* 
      SUP 
* 
*     GET TIME AND BUILD HEADER MESSAGE 
* 
A     EQU 0 
B     EQU 1 
O13   OCT 13
N1900 DEC -1900 
D12   DEC 12
B77   OCT 77
MD60  DEC -60 
DM12  DEC -12 
O30K  OCT 30000     ASCII 0 IN HIGH WORD
D1978 DEC 1978      YEAR OFFSET 
M1    OCT -1
"AM"  ASC 1,AM
"PM"  ASC 1,PM
O3    OCT 3 
* 
* 
P1    NOP 
P2    NOP 
ACLTM NOP 
      JSB .ENTR 
      DEF P1
* 
* 
      LDA P1,I      GET SECONDS MINUTES AND YEAR
      STA IYEAR 
      AND B77       SRTIP OFF MINUTES AND YEAR
      STA ISEC
      LDA IYEAR 
      ALF,ALF 
      RAL,RAL       POSITION MINUTES
      AND B77 
      STA IMIN
      LDA IYEAR 
      ALF           POSITION YEAR 
      AND B17 
      ADA D1978     ADD OFFSET
      STA IYEAR 
      ISZ P1
      LDA P1,I      GET HOURS AND DAYS
      AND B37       SRTIP OFF DAYS
      STA IHOUR 
      XOR P1,I
      ALF,ALF 
      ALF,RAR 
      ADA DM366     CHECK THE NUMBER OF DAYS
      SSA,RSS 
      CLA           IF TO MANY MAKE 366 
      ADA D366
* 
      STA IDAY
* 
* 
      LDA ISEC      GET SECONDS 
      JSB PD00
      IOR O30K      DON'T SUPPRESS LEADING ZEROS HERE 
      STA TMSG+3    PUT SECONDS IN MESSAGE
* 
      LDA IMIN      GET MINUTES 
      JSB PD00
      LDB "::"
      IOR O30K      DON'T SUPPRESS LEADING ZEROS HERE 
      RRR 8         B=1'S ":"  ,A= ":"  , 10'S
      DST TMSG+1    SET IN MESSAGE
      LDA IHOUR     GET HOURS 
      LDB "PM"      ASSUME PM FOR NOW 
      ADA DM12      IS IT 
      SSA,RSS       TEST AND ADJUST 
      JMP PM        YES 
* 
      LDB "AM"      NO USE AM 
      LDA IHOUR     RESTORE THE CORRECT HOUR
PM    SZA,RSS       IF ZERO USE 
      LDA D12       TWELVE
      STB TMSG+5    SET THE AM PM 
      JSB PD00
      STA TMSG      HOURS 
* 
      LDA IYEAR     GET YEAR
      ADA N1900     SUBTRACT THE HUNDREDS 
      JSB PD00      CONVERT THE YEAR
      STA TMSG+16   YEARS 
      LDB IDAY
      ADB MD60      -60 
      LDA IYEAR 
      AND O3
      SZA           SKIP IF LEAP YEAR 
      SSB 
      ADB M1        ADJUST FOR LEAP YEAR
      SSB 
      ADB D366
      ADB B37       DEC 31
      LDA B 
      RAL,RAL 
      ADA B         *5
      CLB 
      DIV D153
      STA ITIME     QUOTIENT=MONTH. 
      LDA B 
      CLB 
      DIV O5
      INA           GET DAY OF MONTH. 
      JSB PD00
      STA TMSG+10 
      LDB ITIME     RECOVER MONTH 
      BLS 
      ADB MOTBA 
      DLD B,I 
      DST TMSG+12 
      CCA           CALCULATE DAY OF WEEK.
      ADA IYEAR 
      ARS,ARS 
      ADA IYEAR 
      ADA IDAY
      CLB 
      DIV O7
      BLS 
      ADB DAYWK 
      DLD B,I 
      DST TMSG+7
      LDB DM17      SET WORD COUNT
      STB COUNT 
      LDA TMSGA     AND THE TIME ARRAY
OLOOP LDB A,I       MOVE IT 
      STB P2,I
      INA 
      ISZ P2
      ISZ COUNT 
      JMP OLOOP 
* 
      JMP ACLTM,I   RETURN
* 
* 
* 
PD00  NOP           CONVERT TO 2 ASCII DIGITS 
      CLB 
      DIV D10       DIVIDE BY 10  A=HIGH ,B=LOW 
      SZA           SUPPRESS
      ADA "0"       LEADING ZEROS 
      ALF,ALF       PUT HIGH TO HIGH
      ADA B         ADD IN THE LOW
      IOR "0"       ADD ASCII BLANK 0 
      JMP PD00,I    RETURN
* 
"0"   ASC 1, 0
"::"  ASC 1,::
D10   DEC 10
DM17  DEC -17 
COUNT BSS 1 
O5    OCT 5 
O7    OCT 7 
B17   OCT 17
B37   OCT 37
D100  DEC 100 
D153  DEC 153 
D366  DEC 366 
DM366 DEC -366
* 
      SPC 1 
* 
ITIME NOP           TENS OF MSEC
IHOUR NOP 
IDAY  NOP 
IYEAR NOP 
IMIN  NOP 
ISEC  NOP 
* 
      SPC 1 
*    MESSAGE FORMAT:  ASC 17,10:03:22  AM  MON., 29  DEC., 1975 
*                            0011223344556677889900112233445566 
* 
TMSGA DEF *+1 
TMSG  ASC 17,12:01:00  PM  MON., 29  DEC., 1975 
* 
DAYWK DEF *+1 
      ASC 14,FRI.SAT.SUN.MON.TUE.WED.THU. 
* 
MOTBA DEF *-1 
      ASC 2,MAR.
      ASC 6,APR.MAY JUNE
      ASC 6,JULYAUG.SEPT
      ASC 6,OCT.NOV.DEC.
      ASC 4,JAN.FEB.
* 
      END 
                                                                                                                                                                              