;+ ; #.#.# ; ; ; Write system message to system message device (SYSMSG) ; ; ; FUNCTION: ; This subroutine is a utility that allows ; date, time, text and variables to be output to the system terminal ; (ST0:) without FORTRAN i/o. ; ; ; CALLING SEQUENCE: ; CALL SYSMSG( sysmsg [,ERRNUM] [,ERRNUM] ) ; ; WHERE: ; ARGUMENT = DESCRIPTION ACCESS ; ; SYSMSG = Error message to be printed PA ; on the system terminal. ; ; ERRNUM = Error number to follow error message PA ; (optional). ; -9999 <= NUMBER <= 32767 ; ; Note that a variable number of ERRNUM ; arguments can be passed to this subroutine ; for printing in integer format. ; ; ; SUBROUTINES REFERENCED: ; ; ALUN$S GLUN$S BUGMSG ; ; ; DESCRIPTION: ; SYSMSG saves the current assignment of lun 4 then assigns it ; to the system terminal device (ST0:). SYSMSG then calls ; BUGMSG to print the message. ; SYSMSG then returns lun 4's assignment to what it was before ; calling SYSMSG. ; ; SPECIAL CONSIDERATIONS: ; 1. This subroutine requires lun 4. ; ;- .TITLE SYSMSG .IDENT /V1.0/ .MCALL GLUN$S,ALUN$S .PSECT ELF$D,RW,D,LCL,REL,CON BUF: .BLKW 6 .PSECT ELF$I,RO,I,LCL,REL,CON SYSMSG:: ; ; Get LUN 4's assignment; ; assign it to ST0: ; call BUGMSG to do the output; ; assign 4 back to what it was. ; GLUN$S #4,#BUF ; Get LUN 4 information ALUN$S #4,#"ST,#0 ; Assign it to ST0: CALL BUGMSG ; call bugmsg with called environment ALUN$S #4,BUF,BUF+2 ; restore lun 4's assignment RETURN .END