Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 7/ft3/monitor/stanford/datime.dif
There are no other files named datime.dif in the archive.

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 1



LINE 1, PAGE 1
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>DATIME.MAC.5,  8-May-88 17:31:45, Edit by A.ALDERSON
1)	; Change "CALL BOUTA" to "CALLX (MSEC1,BOUTA)" at SOUTA1+2
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>DATIME.MAC.4,  8-May-88 16:38:32, Edit by A.ALDERSON
1)	; Fix placement of INTERNs (broken by placement of table of contents)
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>DATIME.MAC.3,  8-May-88 16:35:52, Edit by A.ALDERSON
1)	; Re-do following (lost in FT1 merge)
1)	;;[MACBETH.STANFORD.EDU]SRC:<6.1.MONITOR.STANFORD>DATIME.MAC.4,  6-Aug-87 12:31:41, Edit by A.ALDERSON
1)	;; Install Crispin's daylight savings time code to improve handling
1)	;[MACBETH]SRC:<7.FT2.MONITOR.STANFORD>DATIME.MAC.2,  4-Apr-88 23:02:18, Edit by A.APPLEHACKS
1)	; FT7.2 Fieldtest Merge
1)	; UPD ID= 8500, RIP:<7.MONITOR>DATIME.MAC.6,   9-Feb-88 14:51:35 by GSCOTT
1)	;TCO 7.1218 - Update copyright notice.
1)	; UPD ID= 8394, RIP:<7.MONITOR>DATIME.MAC.5,  27-Jan-88 11:09:59 by GSCOTT
1)	;More of TCO 7.1183 - Bad optimization of a JRST .+3 at ODB5-4.
1)	; UPD ID= 8363, RIP:<7.MONITOR>DATIME.MAC.4,  21-Jan-88 19:22:21 by GSCOTT
1)	;More of TCO 7.1183 - Remove extra SWAPCD, EA.ENT, etc.
1)	; UPD ID= 8351, RIP:<7.MONITOR>DATIME.MAC.3,  19-Jan-88 13:52:48 by GSCOTT
1)	;TCO 7.1183 - Monitor needs more section 0/1 space, move this to XCDSEC.
1)	;[MACBETH]SRC:<7.FT1.MONITOR.STANFORD>DATIME.MAC.2, 22-Jan-88 16:53:41, Edit by A.APPLEHACKS
1)	; FT7 Merge
1)	;
1)	; *** Edit 7482 to DATIME.MAC by RASPUZZI on 18-May-87
1)	; Fix problem with edit 7110 (mainly when first of April is on a Sunday). Done
1)	; for Brian Lilja who did the work.
1)	; *** Edit 7388 to DATIME.MAC by WONG on 10-Nov-86 (TCO NONE)
1)	; Implement new DST law for 1987 (1st Sunday in April) and maintain the old law
1)	; for date from 1975 to 1986. 
1)	;------------------------- Autopatch Tape # 13 -------------------------
LINE 1, PAGE 1
2)	;[SRI-NIC]SRC:<6-1-MONITOR>DATIME.MAC.7,  9-Nov-88 16:03:10, Edit by MKL
2)	; v7 merge
2)	
2)	;[SRI-NIC]PS:<MKL.TEMP>DATIME.NIC.2, 27-Aug-87 15:56:33, Edit by MKL
2)	; add MRC OT%822 format bit
2)	;[SRI-NIC]SRC:<6-1-MONITOR>DATIME.MAC.5, 19-May-87 16:17:55, Edit by MKL
2)	; add fix from MRC to previous edit
2)	;[SRI-NIC]SRC:<6-1-MONITOR>DATIME.MAC.3, 23-Mar-87 15:26:23, Edit by MKL
2)	; add hacks from MRC to handle new daylight savings time changes
2)	;[SRI-NIC]XS:<SU-61SU>DATIME.MAC.2,  5-Dec-86 13:33:07, Edit by MKL
2)	;;SS:<6-1-MONITOR>DATIME.MAC.3, 28-Oct-85 16:42:15, Edit by KNIGHT
2)	;; Cosmetic change:  AM and PM are displayed in lowercase.
2)	
2)	;------------------------- Autopatch Tape # 13 -------------------------

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 2



LINE 80, PAGE 1
1)	;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
1)	;	ALL RIGHTS RESERVED.
1)	;
1)	;	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
1)	;	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
1)	;	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
1)	;	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
1)	;	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
1)	;	TRANSFERRED.
1)	;
1)	;	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
1)	;	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
1)	;	CORPORATION.
1)	;
1)	;	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
1)	;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
1)	
1)	^L	SEARCH PROLOG
LINE 1, PAGE 2
2)	;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
2)	;OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2)	;
2)	;COPYRIGHT  (C)  DIGITAL  EQUIPMENT  CORPORATION  1976, 1985.
2)	;ALL RIGHTS RESERVED.
2)	
2)	
2)		SEARCH PROLOG


LINE 1, PAGE 3
1)	^L	Subttl	Table of Contents
1)	
1)	;		     Table of Contents for DATIME
1)	;
1)	;				  Section		      Page
1)	;
1)	;
1)	;    1. Parameters . . . . . . . . . . . . . . . . . . . . . .   4
1)	;    2. ODTIM JSYS . . . . . . . . . . . . . . . . . . . . . .   6
1)	;    3. IDTIM JSYS . . . . . . . . . . . . . . . . . . . . . .   9
1)	;    4. ODTNC JSYS . . . . . . . . . . . . . . . . . . . . . .  12
1)	;    5. IDTNC JSYS . . . . . . . . . . . . . . . . . . . . . .  21
1)	;    6. ODCNV JSYS . . . . . . . . . . . . . . . . . . . . . .  42
1)	;    7. IDCNV JSYS . . . . . . . . . . . . . . . . . . . . . .  47
1)	;    8. Subroutines  . . . . . . . . . . . . . . . . . . . . .  50
1)	;    9. End of DATIME  . . . . . . . . . . . . . . . . . . . .  57
1)	^L	SUBTTL Parameters
1)	

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 3


1)		XSWAPCD			;[7.1183] 
1)	
1)		INTERN .ODTIM,.IDTIM,.ODTNC,.IDTNC,.ODCNV,.IDCNV ;JSYS'S
1)		INTERN ODTIMS,IDTIMS,ODTNCS,IDTNCS  ;SUBR ENTRIES TO JSYS'S
1)	
1)	;PARAMETERS
LINE 25, PAGE 2
2)		INTERN .ODTIM,.IDTIM,.ODTNC,.IDTNC,.ODCNV,.IDCNV ;JSYS'S
2)	;INTERN ODTIMS,IDTIMS,ODTNCS,IDTNCS	;SUBR ENTRIES TO JSYS'S
   {Skipped 1 page and 2 lines}
2)		XSWAPCD
2)	;PARAMETERS


LINE 26, PAGE 5
1)	IFE STANSW,<
1)	DSTBGN::^D1975
1)	DSTB87::^D1987			;[7388]Year Congress change DST to 1st Sunday
1)	DSTO87:	^D<31+29+31+7>-1	;[7388][7482] First Sunday in April after 1987
1)					;  (+1 in leap years)
1)	DSTON::	^D<31+29+31+30>-1	;[7388][7482] Last Sunday in April before 1987
1)					;  (+1 in leap years)
1)	DSTOFF:^D<31+29+31+30+31+30+31+31+30+31>-1 ;[7482] (+1 in leap years)
1)					;LAST SUNDAY IN OCTOBER
1)	>;IFE STANSW
1)	
1)	IFN STANSW,<
1)	;;; This represents an attempt to make it easier to change the summer time
1)	;;; rules to reflect the latest games Congress chooses to play with when summer
1)	;;; time starts and ends.  In theory, you should be able to make an appropriate
1)	;;; addition to the RULES macro.  Of course, if your country doesn't play along
1)	;;; by US law, you will have to make some additional modifications.
1)	;;;
1)	;;; Note that VAX/VMS doesn't have any algorithm for summer time!
LINE 23, PAGE 3
2)	IFE NICSW,<
2)	DSTBGN::^D1975
2)	DSTON::	^D<31+28+31+30>-1	;LAST SUNDAY IN APRIL (+1 in leap years)
2)	DSTOFF:^D<31+28+31+30+31+30+31+31+30+31>-1	;(+1 in leap years)
2)					;LAST SUNDAY IN OCTOBER
2)	>;IFE NICSW
2)	IFN NICSW,<
2)	;;;  This represents an attempt to make it easier to change the
2)	;;; summer time rules to reflect the latest games Congress chooses
2)	;;; to play with when summer time starts and ends.  In theory, you
2)	;;; should be able to make an appropriate addition to the RULES
2)	;;; macro.  Of course, if your country doesn't play along by US law,
2)	;;; you will have to make some additional modifications.
2)	;;;  Note that VAX/VMS doesn't have any algorithm for summer time!

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 4



LINE 66, PAGE 5
1)	;;; Prior to 1967 there was no uniform application of DST in the USA, although
1)	;;; many areas used the "last Sunday in April until last Sunday in October"
1)	;;; rule.  These entries cannot be taken seriously.
1)		DST 1946,LSTAPR,LSTOCT	;; assumes you had DST
LINE 58, PAGE 3
2)	;;;  Prior to 1967 there was no uniform application of DST in the USA,
2)	;;; although many areas used the "last Sunday in April until last Sunday
2)	;;; in October" rule.  These entries cannot be taken seriously.
2)		DST 1946,LSTAPR,LSTOCT	;; assumes you had DST


LINE 91, PAGE 5
1)	>;IFN STANSW
1)	
1)	DWFUDG==2			;CONSTANT TO NORMALIZE DAY OF WEEK
LINE 83, PAGE 3
2)	>;IFN NICSW
2)	
2)	DWFUDG==2			;CONSTANT TO NORMALIZE DAY OF WEEK


LINE 1, PAGE 7
1)	^L	SUBTTL ODTIM JSYS
1)	
1)	REPEAT 0, <
LINE 1, PAGE 4
2)	REPEAT 0, <


LINE 1, PAGE 11
1)	^L	SUBTTL IDTIM JSYS
1)	
1)	REPEAT 0, <
LINE 1, PAGE 7
2)	REPEAT 0, <


LINE 5, PAGE 14
1)		 JRST [	CALLX (MSEC1,TSTERJ) ;[7.1183] ERJMP/ERCAL PRESENT?
1)			 UMOVEM B,B	;NO, RETURN CODE IN B
LINE 5, PAGE 9
2)		 JRST [	CALLX (MSEC1,TSTERJ)	;ERJMP/ERCAL PRESENT?
2)			 UMOVEM B,B	;NO, RETURN CODE IN B

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 5



LINE 1, PAGE 15
1)	^L	SUBTTL ODTNC JSYS
1)	
1)	;ODTNC
LINE 1, PAGE 10
2)	;ODTNC


LINE 22, PAGE 17
1)		MOVE AA,D		;TIME STUFF TO AA
LINE 22, PAGE 11
2)	IFN NICSW,<
2)		TXNE F,OT%822		;RFC 822 FORMAT DESIRED?
2)		 MOVX F,OT%DAY!OT%SPA!OT%TMZ!OT%SCL!OT%822 ;YES, SET UP THESE FLAGS
2)	>
2)		MOVE AA,D		;TIME STUFF TO AA


LINE 32, PAGE 18
1)		MOVEI B," "		;ALWAYS A SPACE AFTER WEEKDAY
LINE 32, PAGE 12
2)	IFN NICSW,<
2)		MOVEI B,","		;RFC 822 REQUIRES THE COMMA
2)		TXNE F,OT%822		;RFC 822 FORMAT DESIRED?
2)		CALLX (MSEC1,BOUTA)	;[7.1183] (A,B/A) Output the space
2)	>
2)		MOVEI B," "		;ALWAYS A SPACE AFTER WEEKDAY


LINE 1, PAGE 20
1)	;[7.1183] ODTNCS...
1)	;MONTH AS CONCISE OR VERBOSE TEXT
LINE 30, PAGE 13
2)	;MONTH AS CONCISE OR VERBOSE TEXT


LINE 28, PAGE 22
1)		CALLX (MSEC1,NOUTXX)	;[7.1183] (A,B,C/A) Output the minutes
1)		TLNE F,B10
LINE 28, PAGE 15
2)		CALLX (MSEC1,NOUTXX)	;[7.1183] (A,B,C/A) Output the hours
2)		TLNE F,B10

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 6



LINE 5, PAGE 23
1)		HRROI B,[ASCIZ /AM/]	;YES, PRINT AM, PM, N, OR M.
1)		CAIL BB,^D<12*3600>
1)		HRROI B,[ASCIZ /PM/]
1)		CAIN BB,^D<12*3600>
LINE 5, PAGE 16
2)	IFE NICSW,<HRROI B,[ASCIZ /AM/]>;NIC019 YES, PRINT AM, PM, N, OR M.
2)	IFN NICSW,<HRROI B,[ASCIZ /am/]>;NIC019
2)		CAIL BB,^D<12*3600>
2)	IFE NICSW,<HRROI B,[ASCIZ /PM/]>;NIC019
2)	IFN NICSW,<HRROI B,[ASCIZ /pm/]>;NIC019
2)		CAIN BB,^D<12*3600>


LINE 15, PAGE 23
1)		LDB E,[POINT 6,AA,17]	;TIME ZONE
1)		JUMPE E,[HRROI B,[ASCIZ /-GMT/]
1)			TLNE AA,B1	;B1 OF ARG FROM D ON FOR DAYLIGHT
1)			HRROI B,[ASCIZ /-GDT/] ;"GREENWICH DAYLIGHT TIME" !?
1)			JRST OTT5A]
1)		CAIG E,^D11		;IS TIME ZONE IN RANGE FOR WHICH WE HAVE TEXTS?
1)		CAIGE E,^D4
1)		JRST OTT6		;If time zone is unprintable, don't print it
1)		HRROI B,[ASCIZ /-AST/	;ATLANTIC
1)			ASCIZ /-EST/	;EASTERN
1)			ASCIZ /-CST/	;CENTRAL
1)			ASCIZ /-MST/	;MOUNTAIN
1)			ASCIZ /-PST/	;PACIFIC
1)			ASCIZ /-YST/	;YUKON
1)			ASCIZ /-HST/	;ALASKA-HAWAII
1)			ASCIZ /-BST/]-4(E) ;BERING
1)	
1)		TLNE AA,B1		;DAYLIGHT SAVINGS IN EFFECT FOR THIS DATE?
1)		HRROI B,[ASCIZ /-ADT/	;ATLANTIC
1)			ASCIZ /-EDT/	;EASTERN
1)			ASCIZ /-CDT/	;CENTRAL
1)			ASCIZ /-MDT/	;MOUNTAIN
1)			ASCIZ /-PDT/	;PACIFIC
1)			ASCIZ /-YDT/	;YUKON
1)			ASCIZ /-HDT/	;ALASKA-HAWAII
1)			ASCIZ /-BDT/]-4(E) ;BERING
1)	OTT5A:	CALL SOUTA
LINE 17, PAGE 16
2)	IFN NICSW,<
2)		TXNE F,OT%822		;RFC 822 FORMAT DESIRED?
2)		 SKIPA B,[" "]		;YES, OUTPUT LEADING SPACE
2)		  MOVEI B,"-"		;OUTPUT LEADING HYPHEN
2)		CALL BOUTA
2)	>;IFN NICSW (and killed all dashes in time zone names below)

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 7


2)		LDB E,[POINT 6,AA,17]	;TIME ZONE
2)		JUMPE E,[HRROI B,[ASCIZ /GMT/]
2)			TLNE AA,B1	;B1 OF ARG FROM D ON FOR DAYLIGHT
2)			HRROI B,[ASCIZ /GDT/] ;"GREENWICH DAYLIGHT TIME" !?
2)			JRST OTT5A]
2)		CAIG E,^D11		;IS TIME ZONE IN RANGE FOR WHICH WE HAVE TEXTS?
2)		CAIGE E,^D4
2)		jrst ott6		;if time zone is unprintable, don't print it
2)		HRROI B,[ASCIZ /AST/	;ATLANTIC
2)			ASCIZ /EST/	;EASTERN
2)			ASCIZ /CST/	;CENTRAL
2)			ASCIZ /MST/	;MOUNTAIN
2)			ASCIZ /PST/	;PACIFIC
2)			ASCIZ /YST/	;YUKON
2)			ASCIZ /HST/	;ALASKA-HAWAII
2)			ASCIZ /BST/]-4(E) ;BERING
2)	
2)		TLNE AA,B1		;DAYLIGHT SAVINGS IN EFFECT FOR THIS DATE?
2)		HRROI B,[ASCIZ /ADT/	;ATLANTIC
2)			ASCIZ /EDT/	;EASTERN
2)			ASCIZ /CDT/	;CENTRAL
2)			ASCIZ /MDT/	;MOUNTAIN
2)			ASCIZ /PDT/	;PACIFIC
2)			ASCIZ /YDT/	;YUKON
2)			ASCIZ /HDT/	;ALASKA-HAWAII
2)			ASCIZ /BDT/]-4(E) ;BERING
2)	OTT5A:	CALL SOUTA


LINE 34, PAGE 24
1)	;SOUTA
1)	;MONITOR TO CALLER'S ADDRESS SPACE STRING OUTPUT SUBROUTINE
1)	;FOR ODTNCS
1)	;B POINTS TO SOURCE STRING; LH -1 =) 440700
1)	;CALLERS A IS DESTINATION. BOTH ARE UPDATED.
1)	
1)	SOUTA:	PUSH P,C
1)		HLRZ C,B
1)		CAIN C,-1
1)		HRLI B,<POINT 7,0,-1>B53
1)		MOVE C,B
1)	SOUTA1:	ILDB B,C
1)		JUMPE B,[MOVE B,C
1)			POP P,C
1)			RET]
1)		CALLX (MSEC1,BOUTA)
1)		JRST SOUTA1
   {Skipped 1 page and 1 line}
1)	REPEAT 0, <
LINE 1, PAGE 18
2)	REPEAT 0, <

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 8




LINE 1, PAGE 28
1)	;IDTNCS...
1)	
1)	;DATE MUST BEGIN WITH A NUMBER
LINE 27, PAGE 20
2)	;DATE MUST BEGIN WITH A NUMBER


LINE 13, PAGE 28
1)	;SECOND FIELD OF DATE MUST ALSO BE A NUMBER
LINE 1, PAGE 21
2)	;IDTNCS...
2)	;SECOND FIELD OF DATE MUST ALSO BE A NUMBER


LINE 1, PAGE 31
1)	;IDTNCS...
1)	;COMBINE HOURS, MINUTES, SECONDS INTO C.
LINE 42, PAGE 23
2)	;COMBINE HOURS, MINUTES, SECONDS INTO C.


LINE 37, PAGE 33
1)			SETOB B,C	;[7.1183] No - return -1 for date
1)			JRST .+1]	;NOW  GIVE TIME IN SECONDS
LINE 37, PAGE 25
2)			SETOB B,C	;NO - RETURN -1 FOR DATE
2)			JRST .+1]	;NOW  GIVE TIME IN SECONDS


LINE 1, PAGE 34
1)	;IDTNCS...
1)	
1)	;ERROR RETURN STUFF
LINE 44, PAGE 25
2)	;ERROR RETURN STUFF


LINE 1, PAGE 46
1)	^L	SUBTTL ODCNV JSYS
1)	
1)	;ODCNV
LINE 1, PAGE 37
2)	;ODCNV

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 9



LINE 1, PAGE 50
1)	;ODCNV...
1)	
1)	;EXCEPTION FOR THE LAST YEAR OF MOST CENTURIES IS HANDLED BY
LINE 49, PAGE 39
2)	;EXCEPTION FOR THE LAST YEAR OF MOST CENTURIES IS HANDLED BY


LINE 14, PAGE 50
1)	;FOR NON-LEAP YEARS INCREMENT DAY OF YEAR IF AFTER FEB 28
LINE 1, PAGE 40
2)	;ODCNV...
2)	;FOR NON-LEAP YEARS INCREMENT DAY OF YEAR IF AFTER FEB 28


LINE 1, PAGE 51
1)	;[7.1183] ODCNV...
1)	
1)	ODC7:
LINE 29, PAGE 40
2)	ODC7:


LINE 1, PAGE 52
1)	^L	SUBTTL IDCNV JSYS
1)	
1)	;IDCNV
LINE 1, PAGE 41
2)	;IDCNV


LINE 1, PAGE 56
1)	^L	SUBTTL Subroutines
1)	
1)	;SUBROUTINES FOR IDCNV, ODCNV, ETC
LINE 1, PAGE 44
2)	;SUBROUTINES FOR IDCNV, ODCNV, ETC


LINE 1, PAGE 59
1)	;SUBROUTINE TO DETERMINE WHETHER DAYLIGHT SAVING TIME SHOULD BE
LINE 16, PAGE 45
2)	;SOUTA
2)	;MONITOR TO CALLER'S ADDRESS SPACE STRING OUTPUT SUBROUTINE
2)	;FOR ODTNCS
2)	;B POINTS TO SOURCE STRING; LH -1 =) 440700
2)	;CALLERS A IS DESTINATION. BOTH ARE UPDATED.
2)	
2)	SOUTA:	PUSH P,C

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 10


2)		HLRZ C,B
2)		CAIN C,-1
2)		HRLI B,<POINT 7,0,-1>B53
2)		MOVE C,B
2)	SOUTA1:	ILDB B,C
2)		JUMPE B,[MOVE B,C
2)			POP P,C
2)			RET]
2)		CALLX (MSEC1,BOUTA)	;[7.1183] (A,B/A) Output the colon
2)		JRST SOUTA1
   {Skipped 1 page and 1 line}
2)	;SUBROUTINE TO DETERMINE WHETHER DAYLIGHT SAVING TIME SHOULD BE


LINE 14, PAGE 59
1)	;THE DAY IN DSTON IF THE YEAR IS GREATER THEN DSTBGN AND LESS THEN DSTB87.  IF
1)	;THE YEAR IS GREATER THEN DSTB87, DST IS PUT INTO EFFECT AT 2:AM ON THE SUNDAY
1)	;PRECEEDING THE DAY IN DSTO87.  IN BOTH CASES DST ENDS AT 2AM (STANDARD TIME)
1)	;ON THE SUNDAY PRECEEDING THE DAY IN DSTOFF.  HOWEVER IF THE YEAR IS LESS THEN
1)	;DSTBGN THEN DST IS NOT APPLIED.
1)	
1)	ODAYL:	SAVEAC	<T1>		;save an AC
LINE 15, PAGE 46
2)	;THE DAY IN DSTON AND ENDS IT AT 2AM (STANDARD TIME) ON THE SUNDAY
2)	;PRECEEDING THE DAY IN DSTOFF, BUT ONLY IF THE YEAR IS GE
2)	;THE YEAR IN DSTBGN.
2)	
2)	ODAYL:	SAVEAC	<T1>		;save an AC


LINE 25, PAGE 59
1)		CALL	DSTCHK		;Get DST flag
1)		CAIN	T1,.DSTAL	;DST always in use?
1)		JRST 	ODAY8		;Yes
1)		CAIN	T1,.DSTNV	;DST never in use?
1)		JRST	ODAY9		;Yes
1)					;user normal method (fall thru)
1)		HLRZ E,B		;GET YEAR
1)	IFE STANSW,<
1)		CAMGE E,DSTBGN		;AFTER CURRENT LAW WENT INTO EFFECT?
1)		JRST ODAY9		;NO, NO DST
1)	>;IFE STANSW
1)	IFN STANSW,<
1)		MOVSI F,-NRULES		;INDEX INTO RULES TABLE
LINE 24, PAGE 46
2)		CALL	DSTCHK		;get DST flag
2)		CAIN	T1,.DSTAL	;DST always in use?
2)		JRST 	ODAY8		;yes
2)		CAIN	T1,.DSTNV	;DST never in use?
2)		JRST	ODAY9		;yes
2)					;user normal method (fall thru)

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 11


2)		HLRZ E,B		;GET YEAR
2)	IFE NICSW,<
2)		CAMGE E,DSTBGN		;AFTER CURRENT LAW WENT INTO EFFECT?
2)		JRST ODAY9		;NO, NO DST
2)	>;IFE NICSW
2)	IFN NICSW,<
2)		MOVSI F,-NRULES		;INDEX INTO RULES TABLE


LINE 44, PAGE 59
1)	>;IFN STANSW
1)		CALL NLSS		;GET DST ON DAY TO E, OFF DAY TO F
LINE 43, PAGE 46
2)	>;IFN NICSW
2)		CALL NLSS		;GET DST ON DAY TO E, OFF DAY TO F


LINE 12, PAGE 60
1)		CALL	DSTCHK		;Get DST flag
1)		CAIN	T1,.DSTAL	;DST always in use?
1)		JRST 	ODAY8		;Yes
1)		CAIN	T1,.DSTNV	;DST never in use?
1)		JRST	ODAY9		;Yes
1)					;user normal method (fall thru)
1)		HLRZ E,B		;GET YEAR
1)	IFE STANSW,<
1)		CAMGE E,DSTBGN		;AFTER LAW WENT INTO EFFECT?
1)		JRST ODAY9		;NO, NO DST
1)	>;IFE STANSW
1)	IFN STANSW,<
1)		MOVSI F,-NRULES		;INDEX INTO RULES TABLE
LINE 12, PAGE 47
2)		CALL	DSTCHK		;get DST flag
2)		CAIN	T1,.DSTAL	;DST always in use?
2)		JRST 	ODAY8		;yes
2)		CAIN	T1,.DSTNV	;DST never in use?
2)		JRST	ODAY9		;yes
2)					;user normal method (fall thru)
2)		HLRZ E,B		;GET YEAR
2)	IFE NICSW,<
2)		CAMGE E,DSTBGN		;AFTER CURRENT LAW WENT INTO EFFECT?
2)		JRST ODAY9		;NO, NO DST
2)	>;IFE NICSW
2)	IFN NICSW,<
2)		MOVSI F,-NRULES		;INDEX INTO RULES TABLE

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 12



LINE 31, PAGE 60
1)	>;IFN STANSW
1)		CALL NLSS
LINE 31, PAGE 47
2)	>;IFN NICSW
2)		CALL NLSS


LINE 4, PAGE 61
1)	;THIS ROUTINE IS CALLED AFTER IT HAS BEEN DETERMINED THAT ONE OF THE DST LAW
1)	;DOES APPLY.  BASED ON THE YEAR IT WILL CALCULATE WHETHER IT IS THE FIRST OR
1)	;LAST SUNDAY IN APRIL WHICH DST STARTS.
1)	
1)	;DATE OF LAST OR FIRST SUNDAY IN APRIL THIS YEAR (NLSAPR) TO E
1)	;DATE OF LAST SUNDAY IN OCTOBER THIS YEAR (NLSAPR) TO F
1)	
1)	; ACCEPTS - E/YEAR TO DETERMINE WHICH OF THE DST LAW APPLIES.
1)	
1)	IFE STANSW,<
1)	NLSS:	MOVE A,E		;[7388]Save the year
1)		MOVE E,BB		;DATE TODAY
1)		SUB E,D			;-DAY OF YEAR TODAY = BEG OF YEAR
1)		CAMGE A,DSTB87		;[7388]Is the year before 1987?
1)		IFSKP.
1)		  ADD E,DSTO87		;[7388]No, use first Sunday in April
1)		ELSE.
1)		  ADD E,DSTON		;[7388]Else use last Sunday in April
1)		ENDIF.
1)		ADDI E,DWFUDG+^D701	;+1 TO MAKE SUNDAY, NOT MONDAY, =0.
LINE 4, PAGE 48
2)	;DATE OF LAST SUNDAY IN APRIL THIS YEAR (NLSAPR) TO E
2)	
2)	IFE NICSW,<
2)	NLSS:	MOVE E,BB		;DATE TODAY
2)		SUB E,D			;-DAY OF YEAR TODAY = BEG OF YEAR
2)		ADD E,DSTON		;LAST POSS. DAY DST START (EXCEPT IN LEAP YEAR)
2)		CALL NLEAP		;LEAP YEAR?
2)		 ADDI E,1		;YES, ADD THE EXTRA DAY FOR POSSIBLE DST START
2)		ADDI E,DWFUDG+^D701	;+1 TO MAKE SUNDAY, NOT MONDAY, =0.

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 13



LINE 36, PAGE 61
1)		ADDI F,DWFUDG+^D701
LINE 25, PAGE 48
2)		CALL NLEAP		;LEAP YEAR?
2)		 ADDI F,1		;YES, ADD THE EXTRA DAY FOR POSSIBLE DST STOP
2)		ADDI F,DWFUDG+^D701


LINE 41, PAGE 61
1)	>;IFE STANSW
1)	
1)	IFN STANSW,<
1)	NLSS:	MOVE E,BB		;DATE TODAY
1)		SUB E,D			;-DAY OF YEAR TODAY = BEG OF YEAR
1)		ADD E,DSTON(F)		;LAST POSSIBLE DAY FOR DST START
1)		CALL NLEAP		;IS IT A LEAP YEAR?
LINE 32, PAGE 48
2)	>;IFE NICSW
2)	IFN NICSW,<
2)	NLSS:	MOVE E,BB		;DATE TODAY
2)		SUB E,D			;-DAY OF YEAR TODAY = BEG OF YEAR
2)		ADD E,DSTON(F)		;LAST POSSIBLE DAY FOR DST START
2)		txne aa,ic%jud
2)		 CALL NLEAP		;IS IT A LEAP YEAR?


LINE 73, PAGE 61
1)		CALL NLEAP		;IS IT A LEAP YEAR?
LINE 64, PAGE 48
2)		txne aa,ic%jud
2)		 CALL NLEAP		;IS IT A LEAP YEAR?


LINE 81, PAGE 61
1)	>;IFN STANSW
   {Skipped 1 page and 1 line}
1)	;TIME ZONE SUBR FOR IDCNV, ODCNV
LINE 73, PAGE 48
2)	>;IFN NICSW
   {Skipped 1 page and 1 line}
2)	;TIME ZONE SUBR FOR IDCNV, ODCNV

; DATIME.MAC.1 & <MONITOR>DATIME.MAC.3 24-Feb-89 1710	PAGE 14



LINE 10, PAGE 63
1)	DSTCHK::MOVE T1,DSTFLG		;[7.1183] Get DST flag
1)		CAIL T1,.DSTAU		;[7.1183] Is it
1)		CAILE T1,.DSTAL		;[7.1183]  in range?
1)		JRST	[BUG.(INF,ILDSTF,DATIME,SOFT,<Illegal Daylight Saving Time flag>,<<T1,DSTFLG>>,<
LINE 48, PAGE 49
2)	;
2)	DSTCHK::MOVE	T1,DSTFLG	;get DST flag
2)		CAIL	T1,.DSTAU	;
2)		CAILE	T1,.DSTAL	;in range?
2)		JRST	[BUG.(INF,ILDSTF,DATIME,SOFT,<Illegal Daylight Saving Time flag>,<<T1,DSTFLG>>,<


LINE 19, PAGE 63
1)	Action: If this BUGINF occurs, the Daylight Saving Time flag is reset
1)		to zero, using the default system in the monitor.  Patch DSTFLG
1)		to a legal value in your monitor to avoid this BUGCHK.
1)	
1)	Data:   DSTFLG - Daylight savings time flag
1)	
1)	>)				;[7.1183] No, issue a BUGINF
1)			SETZB T1,DSTFLG ;[7.1183] use default method
1)			RET]		;[7.1183] Continue
1)		RET			;return
1)	^L	SUBTTL End of DATIME
1)		TNXEND
1)		END
LINE 58, PAGE 49
2)	Action: None. If this BUGINF occurs, the Daylight Saving Time flag is reset
2)		to zero.  Use the default system in the monitor.
2)	
2)	Data:   DSTFLG - Daylight savings time flag
2)	
2)	>)				;no, issue a BUGINF
2)			SETZB	T1,DSTFLG ;use default method
2)			JRST	.+1]	;continue
2)		RET			;return
2)	
2)		END