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