.TITLE SRDTRP .IDENT /V5.0/ ; 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,CALLR,CLOSE$,PUT$S ;**V5.0 .MACRO MESG$ STRING ;**-2 .ASCIZ \STRING\ .ENDM MESG: .ASCII /SRD -- */ SERV: .BLKB 4 .ASCII /* / MES1: .BLKB 80. ;**V5.0 .EVEN ;**V5.0 TRAP0:: ;**V5.0 MOV R0,R0SAV ;**V5.0 MOV R1,R1SAV ;**V5.0 MOV R2,R2SAV ;**V5.0 MOV #SERV,R1 ;POINT AT SEVERITY INDICATOR ;**-3 MOV #"DI,(R1)+ ;ASSUME DIAGNOSTIC MOV #"AG,(R1) ; ASRB 1(SP) ;IS THIS FATAL OR DIAGNOSTIC? BCS 10$ ;BR IF DIAGNOSTIC MOV #"TL,(R1) ;SET FATAL HEADER MOV #"FA,-(R1) ; MOV #LSTNX$,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,#1,#17,,,, ;**-1 BCC 50$ ;BR IF A-OK CALL $ALERR ;DIAGNOSE ERR BR 40$ ;RETURN IF NO POOL-TRY AGAIN 50$: WTSE$S #17 ;WAIT FOR I-O TO STOP BIS #FLSW,SWMSK$ ;MARK SOMETHING GONE OUT ; ;**V5.0 ; PUT IT ALSO ON THE LISTING FILE ;**V5.0 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 R0SAV: +0 ;**V5.0 R1SAV: +0 ;**V5.0 R2SAV: +0 ;**V5.0 ; ;**-2 ; ERRTAB::.WORD 999$ .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$ ;**V5.0 999$: MESG$ ;**V5.0 1$: MESG$ ;**-2 2$: MESG$ 3$: MESG$ 4$: MESG$ 5$: MESG$ ;**V5.0 6$: MESG$ ;**V5.0 7$: MESG$ ;**-2 10$: MESG$ 11$: MESG$ 12$: MESG$ 13$: MESG$ 14$: MESG$ 15$: MESG$ 16$: MESG$ 17$: MESG$ ;**V5.0 20$: MESG$ ;**-1 21$: MESG$ 22$: MESG$ 23$: MESG$ 24$: MESG$ 25$: MESG$ ;**V5.0 26$: MESG$ ;**V5.0 27$: MESG$ ;**V5.0 30$: MESG$
;**V5.0 .EVEN ;*** MAKE SURE ITS AN EVEN NUMBER *** .END