;***********************************
;
; DAYTIM - return date and time
;
;***********************************
;1.0 15-Jan-84 DFP written by D. Pallmann
;
; Calling Format: XCALL DAYTIM, D$, T$
;
; Where: D$ = 8-byte string variable to receive current date
; T$ = 8-byte string variable to receive current time
;
; Date is returned in the format "mm/dd/yy"
; Time is returned in the format "hh:mm xM"
VMAJOR=1
OBJNAM DAYTIM.SBR
SEARCH SYS
SEARCH SYSSYM
COPY XCALL
START: PHDR -1,0,PH$REE!PH$REU ;program header
DATE: GDATES @A4 ;get the date
MOV XC.AD1(A3),A2 ;A2 := index to D$
CLR D1 ;clear D1
MOVB @A4,D1 ;D1 := month
DCVT 2,OT$MEM ;store month in D$
MOVB #'/,(A2)+ ;append "/" to D$
MOVB 1(A4),D1 ;D1 := day
DCVT 2,OT$MEM ;append day to D$
MOVB #'/,(A2)+ ;append "/" to D$
MOVB 2(A4),D1 ;D1 := year
DCVT 2,OT$MEM ;append year to D$
TIME: GTIMES @A4 ;get the time
MOV XC.AD2(A3),A2 ;A2 := index to T$
MOVB @A4,D1 ;D1 := hours
CLRW D2 ;clear D2 (AM/PM flag)
CMPB D1,#12. ;is the hour>12 noon?
BLE 10$ ; no
SUBW #12.,D1 ; yes - adjust for 12 hour time
SETW D2 ; and set PM flag
10$: DCVT 2,OT$MEM!OT$ZER ;store hours in T$
MOVB #':,(A2)+ ;append ":" to T$
MOVB 1(A4),D1 ;D1 := minutes
DCVT 2,OT$MEM ;append minutes to T$
MOVB #40,(A2)+ ;append space to T$
MOVB #'A,D1 ;D1 := "A"
TSTW D2 ;AM or PM?
BEQ 20$ ; AM
MOVB #'P,D1 ;D1 := "P"
20$: MOVB D1,(A2)+ ;append D1 to T$
MOVB #'M,(A2)+ ;append "M" to T$
RTN ;return to program