Google
 

Trailing-Edge - PDP-10 Archives - cuspjul86upd_bb-jf24a-bb - 10,7/galaxy/galkil.mac
There are 7 other files named galkil.mac in the archive. Click here to see a list.
	TITLE	GALKIL
	SEARCH	GLXMAC
	PROLOG	(GALKIL)

STACK:	BLOCK	100
PPN:	BLOCK	1
FILE:	1000,,0
	BLOCK	^D99			;SAVE SPACE FOR TEMP FILE
KILL:	SIXBIT/SYS/
	SIXBIT/KILL/
	SIXBIT/EXE/
	EXP	0,0,0

	FN.KIL==4
	FN.RUN==13


PROGS:	SIXBIT/QUASAR/
	SIXBIT/ORION/
	SIXBIT/CATLOG/
	SIXBIT/BATCON/
	SIXBIT/LPTSPL/
	SIXBIT/CDRIVE/
	SIXBIT/PULSAR/
	SIXBIT/SPROUT/
	SIXBIT/SPRINT/
	SIXBIT/IBMSPL/
	SIXBIT/NEBULA/
	SIXBIT/FAL/
	SIXBIT/OPR/

	PGMLEN==.-PROGS

FRCBLK:	.TOTYP
	0,,0
	REST


REST:	ASCIZ/
LOG
ORION
LOG
QUASAR
LOG
CATLOG
LOG
PULSAR
LOG
LPTSPL
LOG
BATCON
LOG
CDRIVE
LOG
SPROUT
LOG
SPRINT
LOG
FAL
LOG
IBMSPL
/


GO:	JRST	GALKIL
	JRST	RESTART

GALKIL:	RESET
	MOVE	P,[IOWD	100,STACK]

	MOVSI	T1,-^D200			;CREATE THE SEARCH AOBJN AC.

	PJOB	S1,			;GET OUR JOB NUMBER.
	HRLS	S1			;MOVE RIGHT TO LEFT
	HRRI	S1,.GTPPN		;PPN GETTAB
	GETTAB S1,			;GET OUT PPN.
	 JRST	ERROR			;NO GOOD,,END IT.
	MOVEM	S1,PPN			;SAVE OUT PPN.
	OUTSTR	[ASCIZ/*Killing all GALAXY jobs*/]
	OUTSTR	[BYTE(7) 15,12,12,0,0]
	MOVEI	P1,FILE+1		;GET THE TEMP FILE ADDRESS.
	MOVEI	P2,1			;SET TABLE LENGTH TO 1

GETINF:	MOVX	S1,.GTPRG		;GETTAB JOBNAME TABLE #
	HRLM	T1,S1			;GETTAB JOB #
	GETTAB	S1,			;GET THE JOB NAME
	 JRST	NEXT			;ERROR,,SKIP THIS JOB
	MOVSI	T2,-PGMLEN		;IS THE PROGRAM 'QUASAR'
CHECK:	CAME	S1,PROGS(T2)		;  OR 'LPTSPL' OR 'OPR'
	JRST	[AOBJN T2,CHECK		;  OR 'BATCON' OR 'ORION' ???
		 JRST  NEXT  ]		;NO,,SKIP THIS JOB

	MOVX	S1,.GTPPN		;GETTAB PPN PARAMETER
	HRL	S1,T1			;GETTAB JOB NBR PARM
	GETTAB	S1,			;GET THE JOBS [PPN]
	 JRST	ERROR			;NO GOOD,,END IT.
	CAME	S1,PPN			;IS THIS OUR JOB ???
	JRST	NEXT			;NO,,GET THE NEXT ONE.
	MOVX	S1,FN.KIL		;GET THE FUNCTION CODE
	MOVEM	S1,0(P1)		;SAVE IT.
	HRRZM	T1,1(P1)		;SAVE THE JOB NBR
	MOVE	S1,PPN			;GET MY PPN
	MOVEM	S1,2(P1)		;SAVE IT
	ADDI	P1,3			;POINT TO THE NEXT BLOCK
	ADDI	P2,3			;BUMP THE FILE LENGTH

NEXT:	AOBJN	T1,GETINF		;TRY THE NEXT JOB.
	MOVX	S1,FN.RUN		;WANT TO RUN THIS AGAIN
	MOVEM	S1,0(P1)		;SAVE THE FCN CODE
	MOVEI	S1,1			;WANT CCL ENTRY POINT
	MOVEM	S1,1(P1)		;SAVE IT
	MOVSI	S1,'SYS'		;FROM SYS
	MOVEM	S1,2(P1)		;SAVE IT
	MOVE	S1,[SIXBIT/GALKIL/]	;GET PROG NAME
	MOVEM	S1,3(P1)		;SAVE IT
	MOVSI	S1,'EXE'		;WANT GALKIL.EXE
	MOVEM	S1,4(P1)		;CREATE IT
	SETZM	5(P1)			;WANT A ZERO (I DON'T KNOW WHY !!)
	MOVE	S1,[1,,4]		;WANT PPN 1,4
	MOVEM	S1,6(P1)		;SAVE IT
	SETZM	7(P1)			;ANOTHER NULL
	MOVEI	P1,10(P1)		;POINT TO THE END OF THE BLOCK
	MOVEI	P2,10(P2)		;BUMP WORD COUNT

	MOVE	P1,[SIXBIT/KIL/]	;GET THE FILE NAME
	MOVNS	P2			;GET A NEGATIVE LENGTH
	HRLS	P2			;MOVE LENGTH LEFT TO RIGHT
	HRRI	P2,FILE-1		;GET THE FILE ADDRESS
	MOVE	S1,[.TCRWF,,P1]		;GET TMPCOR PARM LIST
	TMPCOR	S1,			;WRITE THE FILE
	 JRST	TMPERR			;ERROR,,END IT.
	MOVSI	S1,1			;GET RUN OFFSET
	HRRI	S1,KILL			;GET PARM BLOCK
	RUN	S1,			;GET KILL
	 JRST	RUNERR			;NO GOOD,,END IT

RESTAR:	RESET
	MOVE	P,[IOWD	100,STACK]
	OUTSTR	[ASCIZ/Do you want GALAXY restarted (Y or N) ?/]
	INCHRW	S1
	CAIE	S1,"n"
	CAIN	S1,"N"
	JRST	LEAVE
	CAIE	S1,"Y"
	CAIN	S1,"y"
	SKIPA
	JRST	RESTAR
	MOVX	S1,%CNFLN		;GET FRCLIN TTY #
	GETTAB	S1,			;ASK MONITOR
	 JRST	FRCERR			;NOT THERE,,WIERD!!!!
	TXO	S1,.UXTRM		;ADD UDX
	MOVEM	S1,FRCBLK+1		;SAVE IT
	MOVE	S1,[3,,FRCBLK]		;GET TRMOP ARGS
	TRMOP.	S1,			;RESTART US
	 JRST	TRMERR			;DIDN'T WORK !!!
	JRST	LEAVE

TRMERR:	OUTSTR	[ASCIZ/TRMOP. to FRCLIN failed, GALAXY not restarted/]
	JRST	LEAVE

FRCERR:	OUTSTR	[ASCIZ/GETTAB to get FRCLIN TTY number failed/]
	JRST	LEAVE

TMPERR:	OUTSTR	[ASCIZ/Cannot Write Temp File./]
	JRST	LEAVE

RUNERR:	OUTSTR	[ASCIZ/Cannot Get Kill Program./]
	JRST	LEAVE

ERROR:	OUTSTR	[ASCIZ/Gettab Error Occured./]

LEAVE:	OUTSTR	[BYTE(7) 12,15,0,0,0]
	EXIT

TEMFDB:: 0

	END 	GO