-2,3
MODULE RMONFB,VERSION=6902,COMMENT=<FB/XM Resident Monitor>
-21
.SBTTL Post-Release Edit History
;+
;
; SLP patches Copyright (c) 2000 Megan Gentry, All Rights Reserved
;
; This file contains source code modifications which were distributed
; through use of a Source Language Patch (SLP) file. These modifications
; are unofficial changes. They were not developed, reviewed or tested
; by, and have not been approved by Digital Equipment Corporation, Compaq
; Computer Corporation, or Mentec, Ltd, and they are not supported by
; these organizations.
;
; These modifications may only be used with the inclusion of both the
; above copyright notice and the full text of these comments.
;
; The author has used best efforts in the preparation of these
; modifications. These efforts include research, development and
; testing. The author makes no warranty of any kind, expressed or
; implied, with regard to these changes. The author shall not be liable
; in any event for incidental or consequential damages in connection
; with, or arising out of, the use or performance of these changes. Use
; of these modifications constitutes acceptance of these terms.
;
; The author is interested in any comments or reports of problems and
; will make a best effort at determining if a problem is a result of
; these modifications or if it exists in the distributed code. Please
; report any problems to <
[email protected]>
;
; (01) 10-Jan-2000 Megan Gentry
; o When the system is not built with rollover support, the day
; field of the system date word can become zero, which is
; patently invalid. This has been corrected.
; o The comparison for end of year (examining the month field)
; used too large a field for the month. This has been corrected.
; o Rollover from 2003 would have affected the day field. This has
; been corrected.
; o Code to support epoch rollover has been included.
;
; (02) 11-Jan-2000 Megan Gentry
; o The SDTTM code incorrectly rejected any dates with the high
; order epoch bit set. This has been corrected. A flag of
; "-1" is now required to indicate to .SDTTM that the system
; date should not be altered.
;
;-
-3964,3964
32$:
ADD #40,$DATE
BIT #<31.*40>,$DATE ;Is the day field now zero?
BEQ 32$ ;Yes, patently invalid, bump again...
-3994,3997
MOV @SP,-(SP) ;Stack the current date
BIC #^C<15.*2000>,@SP ;Isolate the month field
CMP (SP)+,#<13.*2000> ;Time for year-end roll-over?
BLO 4$
BIC #<15.*2000>,@SP ;Reset the month field
ADD #<1*2000>,@SP ; and bump it to January
MOV @SP,-(SP) ;Stack the current date
INC @SP ;Bump the year
BIC #^C<37>,(SP)+ ;Isolate the year field and check it
BEQ 39$ ;We're into a new epoch...
INC @SP ;Same epoch, new year...
BR 4$
39$: BIC #37,@SP ;Reset the year field
ADD #<1*40000>,@SP ; and move us into the next epoch
-4081,4081
CMP R1,#-1 ;Flag to leave date alone?
BEQ 1$ ;Yes...
/