.TITLE DIRTRP .IDENT /V2.0/ ; FORMERLY SRDTRP .NLIST BEX ; ;+ ;***** ; ; DIRTRP-- MODIFICATION FROM SRDTRP INCLUDES ADDITION OF SEVERAL ERROR ; MESSAGES, REMOVING THE WRITING OF ERROR MESSAGES TO ; AN OUTPUT FILE, AND OUPUTTING THE MCR TASK NAME IN ; THE PREAMBLE TO ERROR MESSAGE. ; ; PAUL SORENSON ; PULMONARY RESEARCH ; S3, MAYO CLINIC ; ROCHESTER, MN 55904 ; ;***** ; ; UPDATE 8/80--PRS; ORIGINAL EDIT ; UPDATE 3/27/82 -- PRS; ADD MORE ERROR MESSAGES ; ;***** ; UPDATE AUDIT CONTROL-13 NOV 1979 12:10:12 ;**V5.0 ; EDIT # 0015 31 OCT 1979 13:41:34 DR1:[300,3]SRDTRP.MAC;21 ;**V5.0 ; PREVIOUS EDIT 31 OCT 1979 13:32:56 DR1:[300,3]SRDTRP.MAC;20 ;**V5.0 ;- ; .MCALL QIO$S,WTSE$S,CLOSE$,PUT$S ;**V5.0 .MACRO MESG$ STRING .ASCIZ \STRING\ .ENDM .PSECT $IDATA,RW,D,LCL,CON,REL MESG: .ASCII /DIR -- */ SERV: .BLKB 4 .ASCII /* / MES1: .BLKB 80. ;**V5.0 .EVEN ;**V5.0 R0SAV: +0 ;**V5.0 R1SAV: +0 ;**V5.0 R2SAV: +0 ;**V5.0 .PSECT $CODE1,RO,I,LCL,CON,REL TRAP0:: ;**V5.0 MOV R0,R0SAV ;**V5.0 MOV R1,R1SAV ;**V5.0 MOV R2,R2SAV ;**V5.0 ; *** NEW FOR DIR, OUTPUT TASK NAME MOV CMDNAM,R1 ;FETCH COMMAND NAME MOV #MESG,R0 ;AND PLACE TO PUT IT CALL $C5TA ;CONVERT IT TO ASCII MOV #SERV,R1 ;POINT AT SEVERITY INDICATOR ; *** NEW FOR DIR, DEFINE A STATUS STATE FOR FINAL TASK EXIT WITH STATUS MOV #EX$WAR,EXSTAT ;SET STATUS TO WARNING (0) ON DIAGNOSTIC MOV #"DI,(R1)+ ;ASSUME DIAGNOSTIC MOV #"AG,(R1) ; ASRB 1(SP) ;IS THIS FATAL OR DIAGNOSTIC? BCS 10$ ;BR IF DIAGNOSTIC MOV #EX$ERR,EXSTAT ;RESET ERROR STATUS TO ERROR ON FATAL MOV #"TL,(R1) ;SET FATAL HEADER MOV #"FA,-(R1) ; MOV #RESTR$,2(SP) ;FIX UP RETURN 10$: ADD #ERRTAB,(SP) ;COMPUTE MESSAGE ADDRESS MOV @(SP)+,R1 ;GET DESCRIPTOR MOV #MES1,R2 ;START OF VARIABLE AREA 20$: MOVB (R1)+,(R2)+ ;FILL OUT MESSAGE BNE 20$ ;THE WHOLE THING MOV #MESG,R1 ;START OF MESSAGE SUB R1,R2 ;R2 GETS LENGTH ;**V5.0 40$: QIO$S #IO.WVB,#TILUN,#TIEFN,,,, BCC 50$ ;BR IF A-OK CALL $ALERR ;DIAGNOSE ERR BR 40$ ;RETURN IF NO POOL-TRY AGAIN 50$: WTSE$S #TIEFN ;WAIT FOR I-O TO STOP BIS #FLSW,SWMSK$ ;MARK SOMETHING GONE OUT ; ;**V5.0 ; PUT IT ALSO ON THE LISTING FILE ;**V5.0 ; *** NEW FOR DIR, COMMENT THIS SECTION OUT--DON'T PUT IT ON THE LISTING FILE ; BIT #OUTFSW,SWMS1$ ; ONLY IF ONE WAS SPECIFIED ;**V5.0 ; BEQ 70$ ;**V5.0 ; MOV #LSTFDB,R0 ;**V5.0 ; TST F.BDB(R0) ; LISTING FILE OPEN ? ;**V5.0 ; BEQ 70$ ; BR IF NO ;**V5.0 ; PUT$S ,R1,R2 ;**V5.0 ; MOV #LINBUF,F.NRBD+2(R0) ;**V5.0 70$: MOV R0SAV,R0 ;**V5.0 MOV R1SAV,R1 ;**V5.0 MOV R2SAV,R2 ;**V5.0 RTT ;RETURN CONTROL ;**V5.0 ; ;**V5.0 ; ;**-2 ; ERRTAB:: .WORD 0 ; .WORD 1$, 2$, 3$, 4$, 5$, 6$, 7$ .WORD 10$,11$,12$,13$,14$,15$,16$,17$ .WORD 20$,21$,22$,23$,24$,25$,26$,27$,30$,31$ .WORD 32$,33$,34$,35$,36$,37$,40$,41$,42$ .ENABL LC 1$: MESG$ 2$: MESG$ ;***** ; ; WITH NEW PREPROCESSED FORM OF COMMAND, INPUT FILE SPEC ERRORS WILL ; BE PICKED UP BY CSI$1, MOST LIKELY ERROR RETURN FROM CSI$2 WILL BE ; AN INVALID SWITCH -- PRS ; ;***** 3$: MESG$ 4$: MESG$ 5$: MESG$ 6$: MESG$ 7$: MESG$ 10$: MESG$ 11$: MESG$ 12$: MESG$ 13$: MESG$ 14$: MESG$ 15$: MESG$ 16$: MESG$ 17$: MESG$ 20$: MESG$ 21$: MESG$ 22$: MESG$ 23$: MESG$ 24$: MESG$ 25$: MESG$ 26$: MESG$ 27$: MESG$ 30$: MESG$ 31$: MESG$ 32$: MESG$ 33$: MESG$ 34$: MESG$ 35$: MESG$ 36$: MESG$ 37$: MESG$ 40$: MESG$ 41$: MESG$ 42$: MESG$ .EVEN ;*** MAKE SURE ITS AN EVEN NUMBER *** .DSABL LC .END