Google
 

Trailing-Edge - PDP-10 Archives - tops10and20_integ_tools_v9_3-aug-86 - tools/crc/ind/inderr.mac
There are no other files named inderr.mac in the archive.
;	Altered version of ERSUB to suit IND.
;
;	ERSUB.MAC - ERROR ROUTINE
;
;
;	now amended to print PC of failing JSYS, and JSYS number
;	also short message about whot to notify in case of probs
;
;
;	amended 15-jul-81 to have a second entry point - errmes, which
;	prints out the jsys error message, but returns to inline code
;
;	Amended 13-aug-81 to also include checking the link status word of
;	a DECNET link and printing the appropriate error message (these things
;	are not JSYS errors).
;
;
;	neterr also now has an entry point netnes similar to errmes, in that
;	it does not crash on errors. Also, both routines have now been amended
;	to do shadow recording to a file. If the contents of ERRJFN (internal)
;	are non-zero, all text is written to that also.
;
;
;	Add name of failing JSYS as assembly-time option
;
;	Amended 22-jan-82 to have capability to save all of memory
;	to a file if crsdmp is non-zero
;
	TITLE	inderr
	SEARCH	MONSYM,MACSYM
	ENTRY	ERROR,prver,errmes
	external	tstcol
	internal errjfn,crsdmp
	T1==1
	T2==2
	T3==3
	T4==4
	q1==5
	p==17
	jnam==1			;undefine to prevent inclusion of JSYS table
;
;	this macro types a message, and also writes to shadow file if need be.
;
	define 	msg (text),<
	hrroi	t1,[asciz/text/]
	psout%
	skipe	errjfn		;;shadow recording ?
	 jrst	[move	t1,errjfn
		hrroi	t2,[asciz/text/]
		setzb	t3,t4		;;yes, write to file also
		sout%
		 erjmp	[setzm	errjfn
			jrst .+1]		;;on error, cease recording
		jrst	.+1]
	>				;;end of recording
;
;	define local if installed at CRC site, else comment it out
;

;	local==0

errjfn::	0			;shadow recording file
crsdmp::	0			;non-zero means save on fatal errors
acdmp:	block 17		;space to save acs
dmpnam:	block	^d10		;name of dump file

ERRMES:	call	ierr		;print message
	msg	<
>
	ret			;and let user continue

ERROR:	move	0,[1,,acdmp]		;point to start and end of acs
	blt	0,acdmp+16		;dump acs to memory
	call	ierr			;get internal routine to print JSYS emes
	msg	<

[JSYS error occured at (octal) PC >	;prefix for traceback
	pop	p,t4			;get PC of problem
	hrrzs	t4,t4			;mask off flag bits
	subi	t4,2			;make it the PC of the real error
	movei	t1,.priou
	move	t2,t4
	movei	t3,4+4			;type out in octal
	nout%
	 trn				;ignore errors
	move	t1,errjfn
	skipe	t1				;shadow recording ?
	nout%				;yes
	 trn
IFNDEF	jnam,<	msg	<  
 Offending JSYS was number >		;also type out JSYS number
	movei	t1,.priou
	move	t2,(t4)			;retireve instruction pointed to by PC
	hrrzs	t2,t2			;mask off instruction, etc
	movei	t3,^d8			;type this out in octal
	nout%
	 trn				;ignore errors
	move	t1,errjfn
	skipe	t1			;shadow recording ?
	nout%				;yes
	 trn
>			;END of IFNDEF JNAM
IFDEF	jnam,<
	push	p,t4			;save INstruction
	msg	<
 Offending JSYS was >
	pop	p,t4
	hrrz	t2,(t4)			;get JSYS number
	hrro	t1,jnams(t2)		;point to name
	psout%				;type it
	hrroi	t2,jnams(t2)		;point again
	setzb	t3,t4
	move	t1,errjfn
	skipe	t1			;shadow recording ?
	sout%				;yes
	 trn>				;end IFDEF JNAM
	msg	<  ]
>
 IFDEF local,	<
;
;	error message for local users
;
	msg	< Please report this problem, with a record of the error,
 to KEVIN on X2259
>
	>		;end of local conditional
 IFNDEF	local,	<
;
;	error message for remote users
;
	msg	< Please report this problem, with a record of the error,
 and any pertinent information about your system, to KEVIN @CRC-HARROW
	(01-864-5311 X2259).
		Thankyou.
>
	>		;end of remote conditional
	skipe	crsdmp			;save memory ?
	jrst	dump			;save memory
	HALTF%
;
;	this is the internal error routine to print out the JSYS error
;
ierr:		call	tstcol		;move to new line if necessary
	msg	<?>
	MOVEI	T1,.PRIOU
	HRLOI	T2,.FHSLF
	SETZM	T3
	ERSTR%
	 jfcl
	 jfcl
	skipn	errjfn			;shadow recording ?
	 ret				;no
	move	t1,errjfn		;yes, write to shadow file
	hrloi	t2,.fhslf
	setzm	t3
	erstr%				;write the message
	 setzm	errjfn			;on error, cease shadow recording
	 setzm	errjfn
	ret
PRVER:	RET
;
;	This is the JSYS name table
;
IFDEF jnam,<
jnams:
[ASCIZ/Unknown/]
[ASCIZ/LOGIN%/]
[ASCIZ/CRJOB%/]
[ASCIZ/LGOUT%/]
[ASCIZ/CACCT%/]
[ASCIZ/EFACT%/]
[ASCIZ/SMON%/]
[ASCIZ/TMON%/]
[ASCIZ/GETAB%/]
[ASCIZ/ERSTR%/]
[ASCIZ/GETER%/]
[ASCIZ/GJINF%/]
[ASCIZ/TIME%/]
[ASCIZ/RUNTM%/]
[ASCIZ/SYSGT%/]
[ASCIZ/GNJFN%/]
[ASCIZ/GTJFN%/]
[ASCIZ/OPENF%/]
[ASCIZ/CLOSF%/]
[ASCIZ/RLJFN%/]
[ASCIZ/GTSTS%/]
[ASCIZ/STSTS%/]
[ASCIZ/DELF%/]
[ASCIZ/SFPTR%/]
[ASCIZ/JFNS%/]
[ASCIZ/FFFFP%/]
[ASCIZ/RDDIR%/]
[ASCIZ/CPRTF%/]
[ASCIZ/CLZFF%/]
[ASCIZ/RNAMF%/]
[ASCIZ/SIZEF%/]
[ASCIZ/GACTF%/]
[ASCIZ/STDIR%/]
[ASCIZ/DIRST%/]
[ASCIZ/BKJFN%/]
[ASCIZ/RFPTR%/]
[ASCIZ/CNDIR%/]
[ASCIZ/RFBSZ%/]
[ASCIZ/SFBSZ%/]
[ASCIZ/SWJFN%/]
[ASCIZ/BIN%/]
[ASCIZ/BOUT%/]
[ASCIZ/SIN%/]
[ASCIZ/SOUT%/]
[ASCIZ/RIN%/]
[ASCIZ/ROUT%/]
[ASCIZ/PMAP%/]
[ASCIZ/RPACS%/]
[ASCIZ/SPACS%/]
[ASCIZ/RMAP%/]
[ASCIZ/SACTF%/]
[ASCIZ/GTFDB%/]
[ASCIZ/CHFDB%/]
[ASCIZ/DUMPI%/]
[ASCIZ/DUMPO%/]
[ASCIZ/DELDF%/]
[ASCIZ/ASND%/]
[ASCIZ/RELD%/]
[ASCIZ/CSYNO%/]
[ASCIZ/PBIN%/]
[ASCIZ/PBOUT%/]
[ASCIZ/PSIN%/]
[ASCIZ/PSOUT%/]
[ASCIZ/MTOPR%/]
[ASCIZ/CFIBF%/]
[ASCIZ/CFOBF%/]
[ASCIZ/SIBE%/]
[ASCIZ/SOBE%/]
[ASCIZ/DOBE%/]
[ASCIZ/GTABS%/]
[ASCIZ/STABS%/]
[ASCIZ/RFMOD%/]
[ASCIZ/SFMOD%/]
[ASCIZ/RFPOS%/]
[ASCIZ/RFCOC%/]
[ASCIZ/SFCOC%/]
[ASCIZ/STI%/]
[ASCIZ/DTACH%/]
[ASCIZ/ATACH%/]
[ASCIZ/DVCHR%/]
[ASCIZ/STDEV%/]
[ASCIZ/DEVST%/]
[ASCIZ/MOUNT%/]
[ASCIZ/DSMNT%/]
[ASCIZ/INIDR%/]
[ASCIZ/SIR%/]
[ASCIZ/EIR%/]
[ASCIZ/SKPIR%/]
[ASCIZ/DIR%/]
[ASCIZ/AIC%/]
[ASCIZ/IIC%/]
[ASCIZ/DIC%/]
[ASCIZ/RCM%/]
[ASCIZ/RWM%/]
[ASCIZ/DEBRK%/]
[ASCIZ/ATI%/]
[ASCIZ/DTI%/]
[ASCIZ/CIS%/]
[ASCIZ/SIRCM%/]
[ASCIZ/RIRCM%/]
[ASCIZ/RIR%/]
[ASCIZ/GDSTS%/]
[ASCIZ/SDSTS%/]
[ASCIZ/RESET%/]
[ASCIZ/RPCAP%/]
[ASCIZ/EPCAP%/]
[ASCIZ/CFORK%/]
[ASCIZ/KFORK%/]
[ASCIZ/FFORK%/]
[ASCIZ/RFORK%/]
[ASCIZ/RFSTS%/]
[ASCIZ/SFORK%/]
[ASCIZ/SFACS%/]
[ASCIZ/RFACS%/]
[ASCIZ/HFORK%/]
[ASCIZ/WFORK%/]
[ASCIZ/GFRKH%/]
[ASCIZ/RFRKH%/]
[ASCIZ/GFRKS%/]
[ASCIZ/DISMS%/]
[ASCIZ/HALTF%/]
[ASCIZ/GTRPW%/]
[ASCIZ/GTRPI%/]
[ASCIZ/RTIW%/]
[ASCIZ/STIW%/]
[ASCIZ/SOBF%/]
[ASCIZ/RWSET%/]
[ASCIZ/GETNM%/]
[ASCIZ/GET%/]
[ASCIZ/SFRKV%/]
[ASCIZ/SAVE%/]
[ASCIZ/SSAVE%/]
[ASCIZ/SEVEC%/]
[ASCIZ/GEVEC%/]
[ASCIZ/GPJFN%/]
[ASCIZ/SPJFN%/]
[ASCIZ/SETNM%/]
[ASCIZ/FFUFP%/]
[ASCIZ/DIBE%/]
[ASCIZ/FDFRE%/]
[ASCIZ/GDSKC%/]
[ASCIZ/LITES%/]
[ASCIZ/TLINK%/]
[ASCIZ/STPAR%/]
[ASCIZ/ODTIM%/]
[ASCIZ/IDTIM%/]
[ASCIZ/ODCNV%/]
[ASCIZ/IDCNV%/]
[ASCIZ/NOUT%/]
[ASCIZ/NIN%/]
[ASCIZ/STAD%/]
[ASCIZ/GTAD%/]
[ASCIZ/ODTNC%/]
[ASCIZ/IDTNC%/]
[ASCIZ/FLIN%/]
[ASCIZ/FLOUT%/]
[ASCIZ/DFIN%/]
[ASCIZ/DFOUT%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/CRDIR%/]
[ASCIZ/GTDIR%/]
[ASCIZ/DSKOP%/]
[ASCIZ/SPRIW%/]
[ASCIZ/DSKAS%/]
[ASCIZ/SJPRI%/]
[ASCIZ/STO%/]
[ASCIZ/ARCF%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/ASNDP%/]
[ASCIZ/RELDP%/]
[ASCIZ/ASNDC%/]
[ASCIZ/RELDC%/]
[ASCIZ/STRDP%/]
[ASCIZ/STPDP%/]
[ASCIZ/STSDP%/]
[ASCIZ/RDSDP%/]
[ASCIZ/WATDP%/]

[ASCIZ/GTNCP%/]
[ASCIZ/GTHST%/]
[ASCIZ/ATNVT%/]
[ASCIZ/CVSKT%/]
[ASCIZ/CVHST%/]
[ASCIZ/FLHST%/]
[ASCIZ/GCVEC%/]
[ASCIZ/SCVEC%/]
[ASCIZ/STTYP%/]
[ASCIZ/GTTYP%/]
[ASCIZ/BPT%/]
[ASCIZ/GTDAL%/]
[ASCIZ/WAIT%/]
[ASCIZ/HSYS%/]
[ASCIZ/USRIO%/]
[ASCIZ/PEEK%/]
[ASCIZ/MSFRK%/]
[ASCIZ/ESOUT%/]
[ASCIZ/SPLFK%/]
[ASCIZ/ADVIS%/]
[ASCIZ/JOBTM%/]
[ASCIZ/DELNF%/]
[ASCIZ/SWTCH%/]
[ASCIZ/TFORK%/]
[ASCIZ/RTFRK%/]
[ASCIZ/UTFRK%/]
[ASCIZ/SCTTY%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/SETER%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/RSCAN%/]
[ASCIZ/HPTIM%/]
[ASCIZ/CRLNM%/]
[ASCIZ/INLNM%/]
[ASCIZ/LNMST%/]
[ASCIZ/RDTXT%/]
[ASCIZ/SETSN%/]
[ASCIZ/GETJI%/]
[ASCIZ/MSEND%/]
[ASCIZ/MRECV%/]
[ASCIZ/MUTIL%/]
[ASCIZ/ENQ%/]
[ASCIZ/DEQ%/]
[ASCIZ/ENQC%/]
[ASCIZ/SNOOP%/]
[ASCIZ/SPOOL%/]
[ASCIZ/ALLOC%/]
[ASCIZ/CHKAC%/]
[ASCIZ/TIMER%/]
[ASCIZ/RDTTY%/]
[ASCIZ/TEXTI%/]
[ASCIZ/UFPGS%/]
[ASCIZ/SFPOS%/]
[ASCIZ/SYERR%/]
[ASCIZ/DIAG%/]
[ASCIZ/SINR%/]
[ASCIZ/SOUTR%/]
[ASCIZ/RFTAD%/]
[ASCIZ/SFTAD%/]
[ASCIZ/TBDEL%/]
[ASCIZ/TBADD%/]
[ASCIZ/TBLUK%/]
[ASCIZ/STCMP%/]
[ASCIZ/SETJB%/]
[ASCIZ/GDVEC%/]
[ASCIZ/SDVEC%/]
[ASCIZ/COMND%/]
[ASCIZ/PRARG%/]
[ASCIZ/GACCT%/]
[ASCIZ/LPINI%/]
[ASCIZ/GFUST%/]
[ASCIZ/SFUST%/]
[ASCIZ/ACCES%/]
[ASCIZ/RCDIR%/]
[ASCIZ/RCUSR%/]
[ASCIZ/MSTR%/]
[ASCIZ/STPPN%/]
[ASCIZ/PPNST%/]
[ASCIZ/PMCTL%/]
[ASCIZ/PLOCK%/]
[ASCIZ/BOOT%/]
[ASCIZ/UTEST%/]
[ASCIZ/USAGE%/]
[ASCIZ/WILD%/]
[ASCIZ/VACCT%/]
[ASCIZ/NODE%/]
[ASCIZ/ADBRK%/]
[ASCIZ/SINM%/]
[ASCIZ/SOUTM%/]
[ASCIZ/SWTRP%/]
[ASCIZ/GETOK%/]
[ASCIZ/RCVOK%/]
[ASCIZ/GIVOK%/]
[ASCIZ/SKED%/]
[ASCIZ/MTU%/]
[ASCIZ/XRIR%/]
[ASCIZ/XSIR%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/SNDIM%/]
[ASCIZ/RCVIM%/]
[ASCIZ/ASNSQ%/]
[ASCIZ/RELSQ%/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/Unknown/]
[ASCIZ/METER%/]
[ASCIZ/SMAP%/]
[ASCIZ/THIBR%/]
[ASCIZ/TWAKE%/]
[ASCIZ/MRPAC%/]
[ASCIZ/SETPV%/]
[ASCIZ/MTALN%/]
[ASCIZ/TTMSG%/]
[ASCIZ/Unknown/]
[ASCIZ/MDDT%/]
		>
;
;	This routine saves our memory image on disk
;
dump:	hrroi	t1,dmpnam		;point to area to receive name of dump
	hrroi	t2,[asciz/PS:<SYSTEM>/]	;directory for dump
	setzb	t3,t4
	sout%				;write prefix
	 erjmp	dumpe			;on error, stop
	movem	t1,t3			;save output pointer
	getnm%				;read our process name
	move	t2,[point 6,t1]		;byte pointer to SIXBIT program name
	movei	t4,6			;loop count
dumpl:	ildb	q1,t2			;get a byte of input
	cain	q1," "			;space ?
	 jrst	dmpl1			;yes, ignore
	addi	q1,40			;no, turn to ASCII
	idpb	q1,t3			;and dump into filename
dmpl1:	sojn	t4,dumpl		;loop for 6 chars
	move	t1,t3			;get output pointer back in sensible ac
	hrroi	t2,[asciz/-CRASH.EXE/]
	setzb	t3,t4
	sout%
	 erjmp	dumpe
	hrroi	t2,dmpnam
	movx	t1,gj%sht!gj%new!gj%fou
	gtjfn%
	 erjmp	dumpe
	hrli	t1,.fhslf		;process to save
	move	t2,[fld(-777,ss%nnp)!ss%rd!ss%wr!ss%exe!ss%uca!fld(0,ss%fpn)]
	setz	t3,
	ssave%				;save
	 erjmp	.+1
dumpe:	haltf%
	END