.MCALL .MODULE .MODULE ISDTTM,VERSION=04,COMMENT=,IDENT=No,LIB=Yes ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .SBTTL Module Declaration .NLIST .ENABL LC .DSABL GBL .NLIST CND .LIST ; ++ ; FACILITY: ; ; RT-11 System Subroutine Library ; ; CALLABLE ENTRIES: ; ; ISDTTM ; ; ENVIRONMENT: ; ; This routine can be used by any job running in a single-job ; or multi-job environment. ; ; ; INCLUDE FILES: ; ; SYSMAC.SML ; RT-11 system macro library. .MCALL .SDTTM ; SDTTM programmed request. ; ; EXTERNAL REFERENCES: ; .GLOBL $ERRM0 ; Entry point to EMT error conversion routine. .GLOBL $SYSLB ; Include system library work area. .WEAK $MSARG ; Trap code for missing argument .SBTTL ISDTTM - Fortran-callable Routine ; ++ ; FUNCTIONAL DESCRIPTION: ; ; The ISDDTM routine sets the system date and time. An argument of -1 ; leaves a corresponding value unchanged. ; ; CALLING SEQUENCE: ; ; CALL ISDDTM( date, hitime, lotime ) ; ; INPUT PARAMETERS: ; ; R5 - address of ISDTTM's argument block ; ; 0(R5) - argument count of ISDTTM call ; 2(R5) - address of new system date ; 4(R5) - address of high-order time of day, (in ticks past midnight) ; 6(R5) - address of low-order time of day, (in ticks past midnight) ; ; -- .SBTTL ISDTTM - Fortran-callable Routine .PSECT SYS$I SDTTM:: ISDTTM:: ; Entry point to ISDTTM routine. CMPB #3,@R5 ; all arg present ? BNE ERR ; no, then err ADD #10,R5 ; R5 -> past third argument MOV SP,R1 ; store stack pntr MOV @-(R5),-(SP) ; Insrt new low-order time in SDTTM prmtr blk MOV @-(R5),-(SP) ; Insrt new high-order time in SDTTM prmtr blk MOV @-(R5),-(SP) ; Insrt new date in SDTTM prmt blk MOV SP,R2 ; R4 -> addr of three-word arg blk CMP -(SP),-(SP) ; Allocate space for SDTTM's argument block. .SDTTM SP,R2 MOV R1,SP ; restore stack CALLR $ERRM0 ; Get and convert any errors (status in R0). ERR: TRAP $MSARG ; Handle any missing arguments in call RETURN .END