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