Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-08 - 43,50512/restar.mac
There are no other files named restar.mac in the archive.
;Code to give useful information if NETSPL is restarted after it bombs out

TITLE RESTART

V==1
F==15
P==17
SEARCH JOBDAT,UUOSYM

RESTART::
	MOVEM	17,SAVEAC##+17
	MOVEI	17,SAVEAC		;Save all AC's for later inspection
	BLT	17,SAVEAC+16		; in SAVEAC thru SAVEAC+17

	MOVE	F,.JBREL		;Make a stack to print useful stuff
	MOVE	P,F			;Point the stack at this page
	HRLI	P,-775			;Fill in length of stack
	ADDI	F,1000			;Allocate a page for it
	MOVEM	F,.JBFF			;say it is in use
	CORE	F,			;Get it from the monitor
	 JRST	[OUTSTR [ASCIZ "
Can't do debugging printout.
"]
		 JRST RESCRS]
	MOVEI	F,(P)			;Set up frame pointer
	SETOM	MLEVEL##		;Turn on all kinds of messages
	PUSH	P,[POINT 7,[0]]		;First arg is pointer to (null) cmd string
	PUSH	P,[0]			;Second arg is ignored
	PUSHJ	P,WHAT##		;Call WHAT command
	PUSHJ	P,CURNOD##		;Call CURRENT command

RESCRS:
	OUTSTR [ASCIZ"
NETSPL cannot be re-started.
Type R NETSPL to get NETSPL running again.
"]
	MONRT.				;Go to monitor level
	PUSHJ	P,.CRASH##		;Call SIX12
	MOVSI	17,SAVEAC		;Restore ACs
	BLT	17,17			;
	SKIPE .JBTPC			;Try to continue if we get here
	 JRST @.JBTPC			;Good luck!!!!
	JRST	RESCRS			;nope

IRESTART::
	MOVEI	V,RESTART		;Make this the new starting address
	MOVEM	V,.JBSA			; both the regular one...
	MOVEM	V,.JBREN		; and the REENTER kind
	POPJ	P,			;return
END